pulumi-alicloud 3.84.0a1756507491__py3-none-any.whl → 3.85.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-alicloud might be problematic. Click here for more details.
- pulumi_alicloud/__init__.py +172 -0
- pulumi_alicloud/_inputs.py +635 -0
- pulumi_alicloud/ackone/membership_attachment.py +122 -0
- pulumi_alicloud/actiontrail/__init__.py +1 -0
- pulumi_alicloud/actiontrail/advanced_query_template.py +311 -0
- pulumi_alicloud/actiontrail/trail.py +303 -149
- pulumi_alicloud/actiontrail/trail_deprecated.py +131 -23
- pulumi_alicloud/alb/a_script.py +170 -0
- pulumi_alicloud/alb/get_rules.py +206 -0
- pulumi_alicloud/alb/listener.py +240 -0
- pulumi_alicloud/alb/listener_acl_attachment.py +180 -0
- pulumi_alicloud/alb/listener_additional_certificate_attachment.py +314 -0
- pulumi_alicloud/alb/load_balancer_access_log_config_attachment.py +136 -0
- pulumi_alicloud/alb/load_balancer_common_bandwidth_package_attachment.py +122 -0
- pulumi_alicloud/alb/load_balancer_zone_shifted_attachment.py +124 -0
- pulumi_alicloud/alb/rule.py +202 -0
- pulumi_alicloud/alikafka/sasl_user.py +2 -2
- pulumi_alicloud/amqp/get_instances.py +49 -20
- pulumi_alicloud/amqp/outputs.py +20 -20
- pulumi_alicloud/amqp/virtual_host.py +46 -20
- pulumi_alicloud/apig/environment.py +86 -0
- pulumi_alicloud/arms/__init__.py +6 -0
- pulumi_alicloud/arms/addon_release.py +174 -0
- pulumi_alicloud/arms/env_feature.py +158 -0
- pulumi_alicloud/arms/env_pod_monitor.py +206 -0
- pulumi_alicloud/arms/env_service_monitor.py +204 -0
- pulumi_alicloud/arms/environment.py +150 -0
- pulumi_alicloud/arms/get_addon_releases.py +354 -0
- pulumi_alicloud/arms/get_env_custom_jobs.py +268 -0
- pulumi_alicloud/arms/get_env_features.py +342 -0
- pulumi_alicloud/arms/get_env_pod_monitors.py +390 -0
- pulumi_alicloud/arms/get_env_service_monitors.py +388 -0
- pulumi_alicloud/arms/get_environments.py +282 -0
- pulumi_alicloud/arms/outputs.py +620 -0
- pulumi_alicloud/arms/prometheus_monitoring.py +190 -0
- pulumi_alicloud/cen/transit_router_multicast_domain_member.py +118 -0
- pulumi_alicloud/cen/transit_router_multicast_domain_source.py +160 -0
- pulumi_alicloud/cfg/aggregate_delivery.py +100 -0
- pulumi_alicloud/cfg/delivery_channel.py +54 -0
- pulumi_alicloud/cloudauth/face_config.py +48 -0
- pulumi_alicloud/cloudfirewall/nat_firewall_control_policy.py +236 -0
- pulumi_alicloud/cloudmonitor/__init__.py +1 -0
- pulumi_alicloud/cloudmonitor/get_service_metric_alarm_rules.py +333 -0
- pulumi_alicloud/cloudmonitor/outputs.py +696 -0
- pulumi_alicloud/cloudsso/__init__.py +1 -0
- pulumi_alicloud/cloudsso/access_configuration.py +12 -12
- pulumi_alicloud/cloudsso/access_configuration_provisioning.py +84 -0
- pulumi_alicloud/cloudsso/access_management.py +90 -0
- pulumi_alicloud/cloudsso/delegate_account.py +218 -0
- pulumi_alicloud/cloudsso/group.py +60 -0
- pulumi_alicloud/cloudsso/user.py +66 -0
- pulumi_alicloud/cloudsso/user_attachment.py +82 -0
- pulumi_alicloud/cloudstoragegateway/express_sync.py +154 -0
- pulumi_alicloud/cloudstoragegateway/express_sync_share_attachment.py +160 -0
- pulumi_alicloud/cloudstoragegateway/gateway.py +0 -13
- pulumi_alicloud/cloudstoragegateway/gateway_block_volume.py +132 -0
- pulumi_alicloud/cloudstoragegateway/gateway_cache_disk.py +92 -0
- pulumi_alicloud/cloudstoragegateway/gateway_file_share.py +130 -0
- pulumi_alicloud/cloudstoragegateway/gateway_logging.py +120 -0
- pulumi_alicloud/cloudstoragegateway/gateway_smb_user.py +92 -0
- pulumi_alicloud/cms/alarm.py +4 -4
- pulumi_alicloud/cms/get_site_monitors.py +20 -20
- pulumi_alicloud/cms/hybrid_monitor_fc_task.py +24 -24
- pulumi_alicloud/cms/hybrid_monitor_sls_task.py +164 -0
- pulumi_alicloud/cms/site_monitor.py +20 -20
- pulumi_alicloud/cms/sls_group.py +80 -0
- pulumi_alicloud/compute/nest_service_instance.py +10 -10
- pulumi_alicloud/cs/_inputs.py +565 -0
- pulumi_alicloud/cs/autoscaling_config.py +260 -35
- pulumi_alicloud/cs/get_cluster_credential.py +30 -0
- pulumi_alicloud/cs/get_kubernetes_addon_metadata.py +78 -0
- pulumi_alicloud/cs/get_kubernetes_addons.py +72 -0
- pulumi_alicloud/cs/get_kubernetes_node_pools.py +124 -0
- pulumi_alicloud/cs/kubernetes.py +296 -0
- pulumi_alicloud/cs/kubernetes_addon.py +108 -0
- pulumi_alicloud/cs/kubernetes_permission.py +162 -0
- pulumi_alicloud/cs/managed_kubernetes.py +583 -14
- pulumi_alicloud/cs/node_pool.py +423 -0
- pulumi_alicloud/cs/outputs.py +374 -0
- pulumi_alicloud/dataworks/data_source_shared_rule.py +116 -0
- pulumi_alicloud/dataworks/dw_resource_group.py +82 -0
- pulumi_alicloud/dataworks/network.py +100 -0
- pulumi_alicloud/ddos/bgp_ip.py +57 -48
- pulumi_alicloud/ddos/ddos_bgp_instance.py +246 -106
- pulumi_alicloud/ddos/domain_resource.py +6 -6
- pulumi_alicloud/directmail/mail_address.py +62 -0
- pulumi_alicloud/directmail/receivers.py +40 -0
- pulumi_alicloud/dms/__init__.py +1 -0
- pulumi_alicloud/dms/enterprise_workspace.py +354 -0
- pulumi_alicloud/dns/access_strategy.py +152 -0
- pulumi_alicloud/dns/address_pool.py +4 -4
- pulumi_alicloud/dns/ddos_bgp_instance.py +246 -106
- pulumi_alicloud/dts/job_monitor_rule.py +228 -0
- pulumi_alicloud/dts/migration_job.py +238 -0
- pulumi_alicloud/dts/synchronization_job.py +266 -14
- pulumi_alicloud/ebs/disk_replica_pair.py +112 -0
- pulumi_alicloud/ecs/ecs_network_interface_permission.py +84 -0
- pulumi_alicloud/ecs/image_import.py +2 -2
- pulumi_alicloud/ecs/ram_role_attachment.py +28 -28
- pulumi_alicloud/edas/k8s_application.py +124 -0
- pulumi_alicloud/edas/k8s_cluster.py +104 -0
- pulumi_alicloud/edas/k8s_slb_attachment.py +152 -0
- pulumi_alicloud/eflo/__init__.py +2 -0
- pulumi_alicloud/eflo/_inputs.py +94 -0
- pulumi_alicloud/eflo/er.py +487 -0
- pulumi_alicloud/eflo/node.py +54 -7
- pulumi_alicloud/eflo/node_group_attachment.py +604 -0
- pulumi_alicloud/eflo/outputs.py +75 -0
- pulumi_alicloud/emr/cluster.py +64 -64
- pulumi_alicloud/emr/get_clusters.py +16 -16
- pulumi_alicloud/emrv2/cluster.py +16 -16
- pulumi_alicloud/emrv2/get_cluster_instances.py +16 -16
- pulumi_alicloud/esa/__init__.py +7 -0
- pulumi_alicloud/esa/kv_account.py +145 -0
- pulumi_alicloud/esa/origin_ca_certificate.py +441 -0
- pulumi_alicloud/esa/origin_client_certificate.py +564 -0
- pulumi_alicloud/esa/origin_protection.py +290 -0
- pulumi_alicloud/esa/routine_related_record.py +226 -0
- pulumi_alicloud/esa/site_origin_client_certificate.py +515 -0
- pulumi_alicloud/esa/url_observation.py +352 -0
- pulumi_alicloud/eventbridge/rule.py +102 -0
- pulumi_alicloud/fc/_inputs.py +77 -3
- pulumi_alicloud/fc/custom_domain.py +14 -14
- pulumi_alicloud/fc/function.py +14 -14
- pulumi_alicloud/fc/function_async_invoke_config.py +48 -48
- pulumi_alicloud/fc/get_service.py +2 -2
- pulumi_alicloud/fc/outputs.py +63 -2
- pulumi_alicloud/fc/trigger.py +100 -100
- pulumi_alicloud/fc/v3_async_invoke_config.py +154 -0
- pulumi_alicloud/fc/v3_function.py +189 -3
- pulumi_alicloud/fc/v3_function_version.py +30 -2
- pulumi_alicloud/fnf/execution.py +14 -14
- pulumi_alicloud/fnf/flow.py +14 -14
- pulumi_alicloud/ga/additional_certificate.py +236 -0
- pulumi_alicloud/gpdb/hadoop_data_source.py +16 -16
- pulumi_alicloud/gpdb/streaming_job.py +4 -4
- pulumi_alicloud/gwlb/listener.py +172 -0
- pulumi_alicloud/gwlb/load_balancer.py +96 -0
- pulumi_alicloud/gwlb/server_group.py +160 -0
- pulumi_alicloud/hbr/ecs_backup_plan.py +4 -4
- pulumi_alicloud/hbr/ots_backup_plan.py +28 -28
- pulumi_alicloud/hbr/restore_job.py +4 -4
- pulumi_alicloud/hologram/instance.py +35 -0
- pulumi_alicloud/imm/project.py +14 -14
- pulumi_alicloud/kms/get_aliases.py +6 -6
- pulumi_alicloud/kms/get_instances.py +178 -0
- pulumi_alicloud/kms/instance.py +470 -16
- pulumi_alicloud/kms/policy.py +96 -0
- pulumi_alicloud/log/dashboard.py +40 -40
- pulumi_alicloud/log/ingestion.py +38 -38
- pulumi_alicloud/log/log_tail_attachment.py +20 -20
- pulumi_alicloud/log/log_tail_config.py +20 -20
- pulumi_alicloud/log/oss_export.py +6 -0
- pulumi_alicloud/log/project.py +20 -20
- pulumi_alicloud/log/resource.py +22 -22
- pulumi_alicloud/log/resource_record.py +40 -40
- pulumi_alicloud/maxcompute/get_service.py +2 -2
- pulumi_alicloud/message/__init__.py +1 -0
- pulumi_alicloud/message/_inputs.py +141 -0
- pulumi_alicloud/message/outputs.py +120 -0
- pulumi_alicloud/message/service_event_rule.py +490 -0
- pulumi_alicloud/message/service_subscription.py +48 -1
- pulumi_alicloud/mongodb/__init__.py +1 -0
- pulumi_alicloud/mongodb/global_security_ip_group.py +304 -0
- pulumi_alicloud/mongodb/instance.py +47 -0
- pulumi_alicloud/mongodb/sharding_instance.py +385 -0
- pulumi_alicloud/msc_sub_webhook.py +44 -0
- pulumi_alicloud/mse/cluster.py +47 -0
- pulumi_alicloud/mse/gateway.py +62 -0
- pulumi_alicloud/nas/access_group.py +46 -18
- pulumi_alicloud/nas/access_rule.py +28 -0
- pulumi_alicloud/nas/data_flow.py +114 -0
- pulumi_alicloud/nlb/listener_additional_certificate_attachment.py +328 -0
- pulumi_alicloud/nlb/server_group.py +28 -21
- pulumi_alicloud/oos/execution.py +30 -30
- pulumi_alicloud/oos/get_parameters.py +10 -10
- pulumi_alicloud/oos/get_secret_parameters.py +10 -10
- pulumi_alicloud/oos/template.py +28 -28
- pulumi_alicloud/oss/bucket.py +634 -0
- pulumi_alicloud/oss/bucket_replication.py +56 -56
- pulumi_alicloud/outputs.py +489 -0
- pulumi_alicloud/pai/flow_pipeline.py +70 -70
- pulumi_alicloud/pai/workspace_datasetversion.py +108 -0
- pulumi_alicloud/pai/workspace_run.py +62 -0
- pulumi_alicloud/polardb/cluster.py +7 -7
- pulumi_alicloud/privatelink/vpc_endpoint.py +21 -7
- pulumi_alicloud/privatelink/vpc_endpoint_service.py +11 -11
- pulumi_alicloud/pulumi-plugin.json +1 -1
- pulumi_alicloud/pvtz/endpoint.py +96 -0
- pulumi_alicloud/pvtz/rule.py +122 -0
- pulumi_alicloud/pvtz/rule_attachment.py +150 -0
- pulumi_alicloud/ram/get_policies.py +18 -18
- pulumi_alicloud/ram/get_policy_document.py +2 -2
- pulumi_alicloud/ram/get_role_policy_attachments.py +34 -34
- pulumi_alicloud/ram/get_users.py +32 -32
- pulumi_alicloud/ram/group_membership.py +74 -0
- pulumi_alicloud/ram/group_policy_attachment.py +18 -18
- pulumi_alicloud/ram/policy.py +18 -18
- pulumi_alicloud/ram/role.py +16 -16
- pulumi_alicloud/ram/role_attachment.py +14 -14
- pulumi_alicloud/ram/role_policy_attachment.py +34 -34
- pulumi_alicloud/ram/user_policy_attachment.py +18 -18
- pulumi_alicloud/rds/get_instance_classes.py +6 -4
- pulumi_alicloud/rds/outputs.py +4 -0
- pulumi_alicloud/rds/rds_clone_db_instance.py +8 -1
- pulumi_alicloud/resourcemanager/__init__.py +1 -0
- pulumi_alicloud/resourcemanager/auto_grouping_rule.py +24 -24
- pulumi_alicloud/resourcemanager/control_policy.py +18 -18
- pulumi_alicloud/resourcemanager/control_policy_attachment.py +18 -18
- pulumi_alicloud/resourcemanager/delegated_administrator.py +22 -50
- pulumi_alicloud/resourcemanager/folder.py +106 -29
- pulumi_alicloud/resourcemanager/get_accounts.py +35 -18
- pulumi_alicloud/resourcemanager/get_shared_resources.py +64 -0
- pulumi_alicloud/resourcemanager/message_contact.py +572 -0
- pulumi_alicloud/resourcemanager/outputs.py +31 -20
- pulumi_alicloud/resourcemanager/policy.py +16 -16
- pulumi_alicloud/resourcemanager/policy_attachment.py +82 -0
- pulumi_alicloud/resourcemanager/policy_version.py +32 -32
- pulumi_alicloud/resourcemanager/resource_directory.py +137 -46
- pulumi_alicloud/resourcemanager/role.py +14 -14
- pulumi_alicloud/resourcemanager/shared_resource.py +81 -45
- pulumi_alicloud/resourcemanager/shared_target.py +60 -24
- pulumi_alicloud/rocketmq/qos_policy.py +70 -0
- pulumi_alicloud/ros/_inputs.py +70 -18
- pulumi_alicloud/ros/outputs.py +59 -12
- pulumi_alicloud/ros/stack.py +14 -14
- pulumi_alicloud/ros/stack_group.py +342 -223
- pulumi_alicloud/ros/template.py +2 -2
- pulumi_alicloud/sag/qos_policy.py +70 -0
- pulumi_alicloud/sddp/data_limit.py +148 -0
- pulumi_alicloud/sddp/rule.py +10 -10
- pulumi_alicloud/servicecatalog/principal_portfolio_association.py +16 -16
- pulumi_alicloud/servicecatalog/product_portfolio_association.py +54 -0
- pulumi_alicloud/sls/__init__.py +5 -0
- pulumi_alicloud/sls/_inputs.py +128 -0
- pulumi_alicloud/sls/collection_policy.py +276 -0
- pulumi_alicloud/sls/get_etls.py +294 -0
- pulumi_alicloud/sls/get_logtail_configs.py +395 -0
- pulumi_alicloud/sls/get_machine_groups.py +229 -0
- pulumi_alicloud/sls/logtail_config.py +692 -0
- pulumi_alicloud/sls/machine_group.py +502 -0
- pulumi_alicloud/sls/oss_export_sink.py +134 -0
- pulumi_alicloud/sls/outputs.py +449 -0
- pulumi_alicloud/sslcertificatesservice/__init__.py +9 -0
- pulumi_alicloud/sslcertificatesservice/pca_certificate.py +646 -0
- pulumi_alicloud/star_rocks_instance.py +1425 -0
- pulumi_alicloud/tag/policy.py +2 -2
- pulumi_alicloud/tag/policy_attachment.py +2 -2
- pulumi_alicloud/threatdetection/__init__.py +1 -0
- pulumi_alicloud/threatdetection/_inputs.py +183 -0
- pulumi_alicloud/threatdetection/anti_brute_force_rule.py +50 -1
- pulumi_alicloud/threatdetection/attack_path_sensitive_asset_config.py +218 -0
- pulumi_alicloud/threatdetection/image_event_operation.py +191 -90
- pulumi_alicloud/threatdetection/oss_scan_config.py +257 -65
- pulumi_alicloud/threatdetection/outputs.py +147 -0
- pulumi_alicloud/vod/editing_project.py +8 -8
- pulumi_alicloud/vpc/_inputs.py +87 -54
- pulumi_alicloud/vpc/common_bandwith_package.py +28 -0
- pulumi_alicloud/vpc/dhcp_options_set.py +97 -58
- pulumi_alicloud/vpc/flow_log.py +117 -25
- pulumi_alicloud/vpc/gateway_endpoint.py +12 -12
- pulumi_alicloud/vpc/gateway_endpoint_route_table_attachment.py +12 -12
- pulumi_alicloud/vpc/ha_vip_attachment.py +41 -60
- pulumi_alicloud/vpc/ha_vipv2.py +100 -88
- pulumi_alicloud/vpc/ipam_ipam_pool.py +54 -0
- pulumi_alicloud/vpc/network_acl.py +34 -23
- pulumi_alicloud/vpc/outputs.py +58 -36
- pulumi_alicloud/vpc/route_entry.py +6 -2
- pulumi_alicloud/vpc/vbr_ha.py +100 -0
- pulumi_alicloud/vpc/vpc_network_acl_attachment.py +48 -0
- pulumi_alicloud/vpn/get_gateways.py +98 -0
- pulumi_alicloud/vpn/ssl_vpn_client_cert.py +82 -0
- pulumi_alicloud/vpn/ssl_vpn_server.py +76 -0
- pulumi_alicloud/wafv3/__init__.py +1 -0
- pulumi_alicloud/wafv3/_inputs.py +1318 -182
- pulumi_alicloud/wafv3/defense_rule.py +806 -0
- pulumi_alicloud/wafv3/defense_template.py +87 -124
- pulumi_alicloud/wafv3/domain.py +136 -35
- pulumi_alicloud/wafv3/outputs.py +925 -123
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/METADATA +1 -1
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/RECORD +283 -251
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/WHEEL +0 -0
- {pulumi_alicloud-3.84.0a1756507491.dist-info → pulumi_alicloud-3.85.0.dist-info}/top_level.txt +0 -0
|
@@ -97,6 +97,45 @@ def get_kubernetes_addon_metadata(cluster_id: Optional[_builtins.str] = None,
|
|
|
97
97
|
|
|
98
98
|
> **NOTE:** Available in 1.166.0+.
|
|
99
99
|
|
|
100
|
+
## Example Usage
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
import pulumi
|
|
104
|
+
import pulumi_alicloud as alicloud
|
|
105
|
+
import pulumi_std as std
|
|
106
|
+
|
|
107
|
+
config = pulumi.Config()
|
|
108
|
+
name = config.get("name")
|
|
109
|
+
if name is None:
|
|
110
|
+
name = "terraform-example"
|
|
111
|
+
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
112
|
+
default_network = alicloud.vpc.Network("default",
|
|
113
|
+
vpc_name=name,
|
|
114
|
+
cidr_block="10.4.0.0/16")
|
|
115
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
116
|
+
vswitch_name=name,
|
|
117
|
+
cidr_block="10.4.0.0/24",
|
|
118
|
+
vpc_id=default_network.id,
|
|
119
|
+
zone_id=default.zones[0].id)
|
|
120
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
121
|
+
name_prefix=name,
|
|
122
|
+
cluster_spec="ack.pro.small",
|
|
123
|
+
worker_vswitch_ids=[default_switch.id],
|
|
124
|
+
new_nat_gateway=False,
|
|
125
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
126
|
+
newbits=8,
|
|
127
|
+
netnum=36).result,
|
|
128
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
129
|
+
newbits=4,
|
|
130
|
+
netnum=7).result,
|
|
131
|
+
slb_internet_enabled=True)
|
|
132
|
+
cluster_id = default_managed_kubernetes.id
|
|
133
|
+
default_get_kubernetes_addon_metadata = alicloud.cs.get_kubernetes_addon_metadata_output(cluster_id=cluster_id,
|
|
134
|
+
name="nginx-ingress-controller",
|
|
135
|
+
version="v1.1.2-aliyun.2")
|
|
136
|
+
pulumi.export("addonConfigSchema", default_get_kubernetes_addon_metadata.config_schema)
|
|
137
|
+
```
|
|
138
|
+
|
|
100
139
|
|
|
101
140
|
:param _builtins.str cluster_id: The id of kubernetes cluster.
|
|
102
141
|
:param _builtins.str name: The name of the cluster addon. You can get a list of available addons that the cluster can install by using data source `cs_get_kubernetes_addons`.
|
|
@@ -124,6 +163,45 @@ def get_kubernetes_addon_metadata_output(cluster_id: Optional[pulumi.Input[_buil
|
|
|
124
163
|
|
|
125
164
|
> **NOTE:** Available in 1.166.0+.
|
|
126
165
|
|
|
166
|
+
## Example Usage
|
|
167
|
+
|
|
168
|
+
```python
|
|
169
|
+
import pulumi
|
|
170
|
+
import pulumi_alicloud as alicloud
|
|
171
|
+
import pulumi_std as std
|
|
172
|
+
|
|
173
|
+
config = pulumi.Config()
|
|
174
|
+
name = config.get("name")
|
|
175
|
+
if name is None:
|
|
176
|
+
name = "terraform-example"
|
|
177
|
+
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
178
|
+
default_network = alicloud.vpc.Network("default",
|
|
179
|
+
vpc_name=name,
|
|
180
|
+
cidr_block="10.4.0.0/16")
|
|
181
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
182
|
+
vswitch_name=name,
|
|
183
|
+
cidr_block="10.4.0.0/24",
|
|
184
|
+
vpc_id=default_network.id,
|
|
185
|
+
zone_id=default.zones[0].id)
|
|
186
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
187
|
+
name_prefix=name,
|
|
188
|
+
cluster_spec="ack.pro.small",
|
|
189
|
+
worker_vswitch_ids=[default_switch.id],
|
|
190
|
+
new_nat_gateway=False,
|
|
191
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
192
|
+
newbits=8,
|
|
193
|
+
netnum=36).result,
|
|
194
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
195
|
+
newbits=4,
|
|
196
|
+
netnum=7).result,
|
|
197
|
+
slb_internet_enabled=True)
|
|
198
|
+
cluster_id = default_managed_kubernetes.id
|
|
199
|
+
default_get_kubernetes_addon_metadata = alicloud.cs.get_kubernetes_addon_metadata_output(cluster_id=cluster_id,
|
|
200
|
+
name="nginx-ingress-controller",
|
|
201
|
+
version="v1.1.2-aliyun.2")
|
|
202
|
+
pulumi.export("addonConfigSchema", default_get_kubernetes_addon_metadata.config_schema)
|
|
203
|
+
```
|
|
204
|
+
|
|
127
205
|
|
|
128
206
|
:param _builtins.str cluster_id: The id of kubernetes cluster.
|
|
129
207
|
:param _builtins.str name: The name of the cluster addon. You can get a list of available addons that the cluster can install by using data source `cs_get_kubernetes_addons`.
|
|
@@ -114,6 +114,42 @@ def get_kubernetes_addons(cluster_id: Optional[_builtins.str] = None,
|
|
|
114
114
|
> **NOTE:** Available since v1.150.0.
|
|
115
115
|
**NOTE:** From version v1.166.0, support for returning custom configuration of kubernetes cluster addon.
|
|
116
116
|
|
|
117
|
+
## Example Usage
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
import pulumi
|
|
121
|
+
import pulumi_alicloud as alicloud
|
|
122
|
+
import pulumi_std as std
|
|
123
|
+
|
|
124
|
+
config = pulumi.Config()
|
|
125
|
+
name = config.get("name")
|
|
126
|
+
if name is None:
|
|
127
|
+
name = "terraform-example"
|
|
128
|
+
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
129
|
+
default_network = alicloud.vpc.Network("default",
|
|
130
|
+
vpc_name=name,
|
|
131
|
+
cidr_block="10.4.0.0/16")
|
|
132
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
133
|
+
vswitch_name=name,
|
|
134
|
+
cidr_block="10.4.0.0/24",
|
|
135
|
+
vpc_id=default_network.id,
|
|
136
|
+
zone_id=default.zones[0].id)
|
|
137
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
138
|
+
name_prefix=name,
|
|
139
|
+
cluster_spec="ack.pro.small",
|
|
140
|
+
worker_vswitch_ids=[default_switch.id],
|
|
141
|
+
new_nat_gateway=False,
|
|
142
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
143
|
+
newbits=8,
|
|
144
|
+
netnum=36).result,
|
|
145
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
146
|
+
newbits=4,
|
|
147
|
+
netnum=7).result,
|
|
148
|
+
slb_internet_enabled=True)
|
|
149
|
+
default_get_kubernetes_addons = alicloud.cs.get_kubernetes_addons_output(cluster_id=default_managed_kubernetes.id)
|
|
150
|
+
pulumi.export("addons", default_get_kubernetes_addons.addons)
|
|
151
|
+
```
|
|
152
|
+
|
|
117
153
|
|
|
118
154
|
:param _builtins.str cluster_id: The id of kubernetes cluster.
|
|
119
155
|
:param Sequence[_builtins.str] ids: A list of addon IDs. The id of addon consists of the cluster id and the addon name, with the structure <cluster_ud>:<addon_name>.
|
|
@@ -143,6 +179,42 @@ def get_kubernetes_addons_output(cluster_id: Optional[pulumi.Input[_builtins.str
|
|
|
143
179
|
> **NOTE:** Available since v1.150.0.
|
|
144
180
|
**NOTE:** From version v1.166.0, support for returning custom configuration of kubernetes cluster addon.
|
|
145
181
|
|
|
182
|
+
## Example Usage
|
|
183
|
+
|
|
184
|
+
```python
|
|
185
|
+
import pulumi
|
|
186
|
+
import pulumi_alicloud as alicloud
|
|
187
|
+
import pulumi_std as std
|
|
188
|
+
|
|
189
|
+
config = pulumi.Config()
|
|
190
|
+
name = config.get("name")
|
|
191
|
+
if name is None:
|
|
192
|
+
name = "terraform-example"
|
|
193
|
+
default = alicloud.get_zones(available_resource_creation="VSwitch")
|
|
194
|
+
default_network = alicloud.vpc.Network("default",
|
|
195
|
+
vpc_name=name,
|
|
196
|
+
cidr_block="10.4.0.0/16")
|
|
197
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
198
|
+
vswitch_name=name,
|
|
199
|
+
cidr_block="10.4.0.0/24",
|
|
200
|
+
vpc_id=default_network.id,
|
|
201
|
+
zone_id=default.zones[0].id)
|
|
202
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
203
|
+
name_prefix=name,
|
|
204
|
+
cluster_spec="ack.pro.small",
|
|
205
|
+
worker_vswitch_ids=[default_switch.id],
|
|
206
|
+
new_nat_gateway=False,
|
|
207
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
208
|
+
newbits=8,
|
|
209
|
+
netnum=36).result,
|
|
210
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
211
|
+
newbits=4,
|
|
212
|
+
netnum=7).result,
|
|
213
|
+
slb_internet_enabled=True)
|
|
214
|
+
default_get_kubernetes_addons = alicloud.cs.get_kubernetes_addons_output(cluster_id=default_managed_kubernetes.id)
|
|
215
|
+
pulumi.export("addons", default_get_kubernetes_addons.addons)
|
|
216
|
+
```
|
|
217
|
+
|
|
146
218
|
|
|
147
219
|
:param _builtins.str cluster_id: The id of kubernetes cluster.
|
|
148
220
|
:param Sequence[_builtins.str] ids: A list of addon IDs. The id of addon consists of the cluster id and the addon name, with the structure <cluster_ud>:<addon_name>.
|
|
@@ -114,6 +114,68 @@ def get_kubernetes_node_pools(cluster_id: Optional[_builtins.str] = None,
|
|
|
114
114
|
|
|
115
115
|
> **NOTE:** Available since v1.246.0.
|
|
116
116
|
|
|
117
|
+
## Example Usage
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
import pulumi
|
|
121
|
+
import pulumi_alicloud as alicloud
|
|
122
|
+
import pulumi_std as std
|
|
123
|
+
|
|
124
|
+
config = pulumi.Config()
|
|
125
|
+
name = config.get("name")
|
|
126
|
+
if name is None:
|
|
127
|
+
name = "terraform-example"
|
|
128
|
+
enhanced = alicloud.vpc.get_enhanced_nat_available_zones()
|
|
129
|
+
cloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id,
|
|
130
|
+
cpu_core_count=4,
|
|
131
|
+
memory_size=8,
|
|
132
|
+
kubernetes_node_role="Worker",
|
|
133
|
+
system_disk_category="cloud_efficiency")
|
|
134
|
+
default_network = alicloud.vpc.Network("default",
|
|
135
|
+
vpc_name=name,
|
|
136
|
+
cidr_block="10.4.0.0/16")
|
|
137
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
138
|
+
vswitch_name=name,
|
|
139
|
+
cidr_block="10.4.0.0/24",
|
|
140
|
+
vpc_id=default_network.id,
|
|
141
|
+
zone_id=enhanced.zones[0].zone_id)
|
|
142
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
143
|
+
name_prefix=name,
|
|
144
|
+
cluster_spec="ack.pro.small",
|
|
145
|
+
vswitch_ids=[default_switch.id],
|
|
146
|
+
new_nat_gateway=True,
|
|
147
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
148
|
+
newbits=8,
|
|
149
|
+
netnum=36).result,
|
|
150
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
151
|
+
newbits=4,
|
|
152
|
+
netnum=7).result,
|
|
153
|
+
slb_internet_enabled=True,
|
|
154
|
+
enable_rrsa=True)
|
|
155
|
+
default_key_pair = alicloud.ecs.KeyPair("default", key_pair_name=name)
|
|
156
|
+
default_node_pool = alicloud.cs.NodePool("default",
|
|
157
|
+
node_pool_name="spot_auto_scaling",
|
|
158
|
+
cluster_id=default_managed_kubernetes.id,
|
|
159
|
+
vswitch_ids=[default_switch.id],
|
|
160
|
+
instance_types=[cloud_efficiency.instance_types[0].id],
|
|
161
|
+
system_disk_category="cloud_efficiency",
|
|
162
|
+
system_disk_size=40,
|
|
163
|
+
key_name=default_key_pair.key_pair_name,
|
|
164
|
+
scaling_config={
|
|
165
|
+
"min_size": 1,
|
|
166
|
+
"max_size": 10,
|
|
167
|
+
"type": "spot",
|
|
168
|
+
},
|
|
169
|
+
spot_strategy="SpotWithPriceLimit",
|
|
170
|
+
spot_price_limits=[{
|
|
171
|
+
"instance_type": cloud_efficiency.instance_types[0].id,
|
|
172
|
+
"price_limit": "0.70",
|
|
173
|
+
}])
|
|
174
|
+
default = alicloud.cs.get_kubernetes_node_pools_output(ids=[default_node_pool.node_pool_id],
|
|
175
|
+
cluster_id=default_managed_kubernetes.id)
|
|
176
|
+
pulumi.export("alicloudCsKubernetesNodePoolExampleId", default.nodepools[0].node_pool_id)
|
|
177
|
+
```
|
|
178
|
+
|
|
117
179
|
|
|
118
180
|
:param _builtins.str cluster_id: The id of kubernetes cluster.
|
|
119
181
|
:param Sequence[_builtins.str] ids: A list of Nodepool IDs.
|
|
@@ -145,6 +207,68 @@ def get_kubernetes_node_pools_output(cluster_id: Optional[pulumi.Input[_builtins
|
|
|
145
207
|
|
|
146
208
|
> **NOTE:** Available since v1.246.0.
|
|
147
209
|
|
|
210
|
+
## Example Usage
|
|
211
|
+
|
|
212
|
+
```python
|
|
213
|
+
import pulumi
|
|
214
|
+
import pulumi_alicloud as alicloud
|
|
215
|
+
import pulumi_std as std
|
|
216
|
+
|
|
217
|
+
config = pulumi.Config()
|
|
218
|
+
name = config.get("name")
|
|
219
|
+
if name is None:
|
|
220
|
+
name = "terraform-example"
|
|
221
|
+
enhanced = alicloud.vpc.get_enhanced_nat_available_zones()
|
|
222
|
+
cloud_efficiency = alicloud.ecs.get_instance_types(availability_zone=enhanced.zones[0].zone_id,
|
|
223
|
+
cpu_core_count=4,
|
|
224
|
+
memory_size=8,
|
|
225
|
+
kubernetes_node_role="Worker",
|
|
226
|
+
system_disk_category="cloud_efficiency")
|
|
227
|
+
default_network = alicloud.vpc.Network("default",
|
|
228
|
+
vpc_name=name,
|
|
229
|
+
cidr_block="10.4.0.0/16")
|
|
230
|
+
default_switch = alicloud.vpc.Switch("default",
|
|
231
|
+
vswitch_name=name,
|
|
232
|
+
cidr_block="10.4.0.0/24",
|
|
233
|
+
vpc_id=default_network.id,
|
|
234
|
+
zone_id=enhanced.zones[0].zone_id)
|
|
235
|
+
default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
|
|
236
|
+
name_prefix=name,
|
|
237
|
+
cluster_spec="ack.pro.small",
|
|
238
|
+
vswitch_ids=[default_switch.id],
|
|
239
|
+
new_nat_gateway=True,
|
|
240
|
+
pod_cidr=std.cidrsubnet(input="10.0.0.0/8",
|
|
241
|
+
newbits=8,
|
|
242
|
+
netnum=36).result,
|
|
243
|
+
service_cidr=std.cidrsubnet(input="172.16.0.0/16",
|
|
244
|
+
newbits=4,
|
|
245
|
+
netnum=7).result,
|
|
246
|
+
slb_internet_enabled=True,
|
|
247
|
+
enable_rrsa=True)
|
|
248
|
+
default_key_pair = alicloud.ecs.KeyPair("default", key_pair_name=name)
|
|
249
|
+
default_node_pool = alicloud.cs.NodePool("default",
|
|
250
|
+
node_pool_name="spot_auto_scaling",
|
|
251
|
+
cluster_id=default_managed_kubernetes.id,
|
|
252
|
+
vswitch_ids=[default_switch.id],
|
|
253
|
+
instance_types=[cloud_efficiency.instance_types[0].id],
|
|
254
|
+
system_disk_category="cloud_efficiency",
|
|
255
|
+
system_disk_size=40,
|
|
256
|
+
key_name=default_key_pair.key_pair_name,
|
|
257
|
+
scaling_config={
|
|
258
|
+
"min_size": 1,
|
|
259
|
+
"max_size": 10,
|
|
260
|
+
"type": "spot",
|
|
261
|
+
},
|
|
262
|
+
spot_strategy="SpotWithPriceLimit",
|
|
263
|
+
spot_price_limits=[{
|
|
264
|
+
"instance_type": cloud_efficiency.instance_types[0].id,
|
|
265
|
+
"price_limit": "0.70",
|
|
266
|
+
}])
|
|
267
|
+
default = alicloud.cs.get_kubernetes_node_pools_output(ids=[default_node_pool.node_pool_id],
|
|
268
|
+
cluster_id=default_managed_kubernetes.id)
|
|
269
|
+
pulumi.export("alicloudCsKubernetesNodePoolExampleId", default.nodepools[0].node_pool_id)
|
|
270
|
+
```
|
|
271
|
+
|
|
148
272
|
|
|
149
273
|
:param _builtins.str cluster_id: The id of kubernetes cluster.
|
|
150
274
|
:param Sequence[_builtins.str] ids: A list of Nodepool IDs.
|
pulumi_alicloud/cs/kubernetes.py
CHANGED
|
@@ -2008,6 +2008,154 @@ class Kubernetes(pulumi.CustomResource):
|
|
|
2008
2008
|
> **NOTE:** From version 1.212.0, `exclude_autoscaler_nodes`,`worker_number`,`worker_vswitch_ids`,`worker_instance_types`,`worker_instance_charge_type`,`worker_period`,`worker_period_unit`,`worker_auto_renew`,`worker_auto_renew_period`,`worker_disk_category`,`worker_disk_size`,`worker_data_disks`,`node_port_range`,`cpu_policy`,`user_data`,`taints`,`worker_disk_performance_level`,`worker_disk_snapshot_policy_id`,`kube_config`,`availability_zone` are removed.
|
|
2009
2009
|
Please use resource **`cs.NodePool`** to manage your cluster worker nodes.
|
|
2010
2010
|
|
|
2011
|
+
## Example Usage
|
|
2012
|
+
|
|
2013
|
+
```python
|
|
2014
|
+
import pulumi
|
|
2015
|
+
import json
|
|
2016
|
+
import pulumi_alicloud as alicloud
|
|
2017
|
+
import pulumi_std as std
|
|
2018
|
+
|
|
2019
|
+
config = pulumi.Config()
|
|
2020
|
+
name = config.get("name")
|
|
2021
|
+
if name is None:
|
|
2022
|
+
name = "tf-kubernetes-example"
|
|
2023
|
+
# Existing vpc id used to create several vswitches and other resources.
|
|
2024
|
+
vpc_id = config.get("vpcId")
|
|
2025
|
+
if vpc_id is None:
|
|
2026
|
+
vpc_id = ""
|
|
2027
|
+
# The cidr block used to launch a new vpc when 'vpc_id' is not specified.
|
|
2028
|
+
vpc_cidr = config.get("vpcCidr")
|
|
2029
|
+
if vpc_cidr is None:
|
|
2030
|
+
vpc_cidr = "10.0.0.0/8"
|
|
2031
|
+
# List of existing vswitch id.
|
|
2032
|
+
vswitch_ids = config.get_object("vswitchIds")
|
|
2033
|
+
if vswitch_ids is None:
|
|
2034
|
+
vswitch_ids = []
|
|
2035
|
+
# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.
|
|
2036
|
+
vswitch_cidrs = config.get_object("vswitchCidrs")
|
|
2037
|
+
if vswitch_cidrs is None:
|
|
2038
|
+
vswitch_cidrs = [
|
|
2039
|
+
"10.1.0.0/16",
|
|
2040
|
+
"10.2.0.0/16",
|
|
2041
|
+
"10.3.0.0/16",
|
|
2042
|
+
]
|
|
2043
|
+
# List of existing vswitch ids for terway.
|
|
2044
|
+
terway_vswitch_ids = config.get_object("terwayVswitchIds")
|
|
2045
|
+
if terway_vswitch_ids is None:
|
|
2046
|
+
terway_vswitch_ids = []
|
|
2047
|
+
# List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.
|
|
2048
|
+
terway_vswitch_cidrs = config.get_object("terwayVswitchCidrs")
|
|
2049
|
+
if terway_vswitch_cidrs is None:
|
|
2050
|
+
terway_vswitch_cidrs = [
|
|
2051
|
+
"10.4.0.0/16",
|
|
2052
|
+
"10.5.0.0/16",
|
|
2053
|
+
"10.6.0.0/16",
|
|
2054
|
+
]
|
|
2055
|
+
cluster_addons = config.get_object("clusterAddons")
|
|
2056
|
+
if cluster_addons is None:
|
|
2057
|
+
cluster_addons = [
|
|
2058
|
+
{
|
|
2059
|
+
"config": {},
|
|
2060
|
+
"name": "terway-eniip",
|
|
2061
|
+
},
|
|
2062
|
+
{
|
|
2063
|
+
"config": {},
|
|
2064
|
+
"name": "csi-plugin",
|
|
2065
|
+
},
|
|
2066
|
+
{
|
|
2067
|
+
"config": {},
|
|
2068
|
+
"name": "csi-provisioner",
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
"config": {
|
|
2072
|
+
"IngressDashboardEnabled": "true",
|
|
2073
|
+
},
|
|
2074
|
+
"name": "logtail-ds",
|
|
2075
|
+
},
|
|
2076
|
+
{
|
|
2077
|
+
"config": {
|
|
2078
|
+
"IngressSlbNetworkType": "internet",
|
|
2079
|
+
},
|
|
2080
|
+
"name": "nginx-ingress-controller",
|
|
2081
|
+
},
|
|
2082
|
+
{
|
|
2083
|
+
"config": {},
|
|
2084
|
+
"name": "arms-prometheus",
|
|
2085
|
+
},
|
|
2086
|
+
{
|
|
2087
|
+
"config": {
|
|
2088
|
+
"sls_project_name": "",
|
|
2089
|
+
},
|
|
2090
|
+
"name": "ack-node-problem-detector",
|
|
2091
|
+
},
|
|
2092
|
+
]
|
|
2093
|
+
enhanced = alicloud.vpc.get_enhanced_nat_available_zones()
|
|
2094
|
+
# If there is not specifying vpc_id, the module will launch a new vpc
|
|
2095
|
+
vpc = []
|
|
2096
|
+
for range in [{"value": i} for i in range(0, 1 if vpc_id == else 0)]:
|
|
2097
|
+
vpc.append(alicloud.vpc.Network(f"vpc-{range['value']}", cidr_block=vpc_cidr))
|
|
2098
|
+
# According to the vswitch cidr blocks to launch several vswitches
|
|
2099
|
+
vswitches = []
|
|
2100
|
+
for range in [{"value": i} for i in range(0, 0 if len(vswitch_ids) > 0 else len(vswitch_cidrs))]:
|
|
2101
|
+
vswitches.append(alicloud.vpc.Switch(f"vswitches-{range['value']}",
|
|
2102
|
+
vpc_id=std.join_output(separator="",
|
|
2103
|
+
input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == "" else vpc_id,
|
|
2104
|
+
cidr_block=vswitch_cidrs[range["value"]],
|
|
2105
|
+
zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range["value"] if range["value"] < length else 0]).apply(lambda obj: obj.zone_id)))
|
|
2106
|
+
# According to the vswitch cidr blocks to launch several vswitches
|
|
2107
|
+
terway_vswitches = []
|
|
2108
|
+
for range in [{"value": i} for i in range(0, 0 if len(terway_vswitch_ids) > 0 else len(terway_vswitch_cidrs))]:
|
|
2109
|
+
terway_vswitches.append(alicloud.vpc.Switch(f"terway_vswitches-{range['value']}",
|
|
2110
|
+
vpc_id=std.join_output(separator="",
|
|
2111
|
+
input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == "" else vpc_id,
|
|
2112
|
+
cidr_block=terway_vswitch_cidrs[range["value"]],
|
|
2113
|
+
zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range["value"] if range["value"] < length else 0]).apply(lambda obj: obj.zone_id)))
|
|
2114
|
+
default = alicloud.resourcemanager.get_resource_groups(status="OK")
|
|
2115
|
+
cloud_essd = [alicloud.ecs.get_instance_types_output(availability_zone=_arg0_.zone_id,
|
|
2116
|
+
cpu_core_count=4,
|
|
2117
|
+
memory_size=8,
|
|
2118
|
+
system_disk_category="cloud_essd") for __index in range(3)]
|
|
2119
|
+
default_kubernetes = alicloud.cs.Kubernetes("default",
|
|
2120
|
+
addons=[{
|
|
2121
|
+
"name": std.lookup(map=entry["value"],
|
|
2122
|
+
key="name",
|
|
2123
|
+
default=cluster_addons).result,
|
|
2124
|
+
"config": json.dumps(std.lookup(map=entry["value"],
|
|
2125
|
+
key="config",
|
|
2126
|
+
default=cluster_addons).result),
|
|
2127
|
+
} for entry in [{"key": k, "value": v} for k, v in cluster_addons]],
|
|
2128
|
+
master_vswitch_ids=std.split(separator=",",
|
|
2129
|
+
text=std.join(separator=",",
|
|
2130
|
+
input=vswitch_ids).result).result if len(vswitch_ids) > 0 else [] if len(vswitch_cidrs) < 1 else std.join_output(separator=",",
|
|
2131
|
+
input=[__item.id for __item in vswitches]).apply(lambda invoke: std.split_output(separator=",",
|
|
2132
|
+
text=invoke.result)).apply(lambda invoke: invoke.result),
|
|
2133
|
+
pod_vswitch_ids=std.split(separator=",",
|
|
2134
|
+
text=std.join(separator=",",
|
|
2135
|
+
input=terway_vswitch_ids).result).result if len(terway_vswitch_ids) > 0 else [] if len(terway_vswitch_cidrs) < 1 else std.join_output(separator=",",
|
|
2136
|
+
input=[__item.id for __item in terway_vswitches]).apply(lambda invoke: std.split_output(separator=",",
|
|
2137
|
+
text=invoke.result)).apply(lambda invoke: invoke.result),
|
|
2138
|
+
master_instance_types=[
|
|
2139
|
+
cloud_essd[0].instance_types[0].id,
|
|
2140
|
+
cloud_essd[1].instance_types[0].id,
|
|
2141
|
+
cloud_essd[2].instance_types[0].id,
|
|
2142
|
+
],
|
|
2143
|
+
master_disk_category="cloud_essd",
|
|
2144
|
+
password="Yourpassword1234",
|
|
2145
|
+
service_cidr="172.18.0.0/16",
|
|
2146
|
+
install_cloud_monitor=True,
|
|
2147
|
+
resource_group_id=default.groups[0].id,
|
|
2148
|
+
deletion_protection=False,
|
|
2149
|
+
timezone="Asia/Shanghai",
|
|
2150
|
+
os_type="Linux",
|
|
2151
|
+
platform="AliyunLinux3",
|
|
2152
|
+
cluster_domain="cluster.local",
|
|
2153
|
+
proxy_mode="ipvs",
|
|
2154
|
+
custom_san="www.terraform.io",
|
|
2155
|
+
new_nat_gateway=True,
|
|
2156
|
+
skip_set_certificate_authority=True)
|
|
2157
|
+
```
|
|
2158
|
+
|
|
2011
2159
|
## Import
|
|
2012
2160
|
|
|
2013
2161
|
Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.
|
|
@@ -2123,6 +2271,154 @@ class Kubernetes(pulumi.CustomResource):
|
|
|
2123
2271
|
> **NOTE:** From version 1.212.0, `exclude_autoscaler_nodes`,`worker_number`,`worker_vswitch_ids`,`worker_instance_types`,`worker_instance_charge_type`,`worker_period`,`worker_period_unit`,`worker_auto_renew`,`worker_auto_renew_period`,`worker_disk_category`,`worker_disk_size`,`worker_data_disks`,`node_port_range`,`cpu_policy`,`user_data`,`taints`,`worker_disk_performance_level`,`worker_disk_snapshot_policy_id`,`kube_config`,`availability_zone` are removed.
|
|
2124
2272
|
Please use resource **`cs.NodePool`** to manage your cluster worker nodes.
|
|
2125
2273
|
|
|
2274
|
+
## Example Usage
|
|
2275
|
+
|
|
2276
|
+
```python
|
|
2277
|
+
import pulumi
|
|
2278
|
+
import json
|
|
2279
|
+
import pulumi_alicloud as alicloud
|
|
2280
|
+
import pulumi_std as std
|
|
2281
|
+
|
|
2282
|
+
config = pulumi.Config()
|
|
2283
|
+
name = config.get("name")
|
|
2284
|
+
if name is None:
|
|
2285
|
+
name = "tf-kubernetes-example"
|
|
2286
|
+
# Existing vpc id used to create several vswitches and other resources.
|
|
2287
|
+
vpc_id = config.get("vpcId")
|
|
2288
|
+
if vpc_id is None:
|
|
2289
|
+
vpc_id = ""
|
|
2290
|
+
# The cidr block used to launch a new vpc when 'vpc_id' is not specified.
|
|
2291
|
+
vpc_cidr = config.get("vpcCidr")
|
|
2292
|
+
if vpc_cidr is None:
|
|
2293
|
+
vpc_cidr = "10.0.0.0/8"
|
|
2294
|
+
# List of existing vswitch id.
|
|
2295
|
+
vswitch_ids = config.get_object("vswitchIds")
|
|
2296
|
+
if vswitch_ids is None:
|
|
2297
|
+
vswitch_ids = []
|
|
2298
|
+
# List of cidr blocks used to create several new vswitches when 'vswitch_ids' is not specified.
|
|
2299
|
+
vswitch_cidrs = config.get_object("vswitchCidrs")
|
|
2300
|
+
if vswitch_cidrs is None:
|
|
2301
|
+
vswitch_cidrs = [
|
|
2302
|
+
"10.1.0.0/16",
|
|
2303
|
+
"10.2.0.0/16",
|
|
2304
|
+
"10.3.0.0/16",
|
|
2305
|
+
]
|
|
2306
|
+
# List of existing vswitch ids for terway.
|
|
2307
|
+
terway_vswitch_ids = config.get_object("terwayVswitchIds")
|
|
2308
|
+
if terway_vswitch_ids is None:
|
|
2309
|
+
terway_vswitch_ids = []
|
|
2310
|
+
# List of cidr blocks used to create several new vswitches when 'terway_vswitch_cidrs' is not specified.
|
|
2311
|
+
terway_vswitch_cidrs = config.get_object("terwayVswitchCidrs")
|
|
2312
|
+
if terway_vswitch_cidrs is None:
|
|
2313
|
+
terway_vswitch_cidrs = [
|
|
2314
|
+
"10.4.0.0/16",
|
|
2315
|
+
"10.5.0.0/16",
|
|
2316
|
+
"10.6.0.0/16",
|
|
2317
|
+
]
|
|
2318
|
+
cluster_addons = config.get_object("clusterAddons")
|
|
2319
|
+
if cluster_addons is None:
|
|
2320
|
+
cluster_addons = [
|
|
2321
|
+
{
|
|
2322
|
+
"config": {},
|
|
2323
|
+
"name": "terway-eniip",
|
|
2324
|
+
},
|
|
2325
|
+
{
|
|
2326
|
+
"config": {},
|
|
2327
|
+
"name": "csi-plugin",
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"config": {},
|
|
2331
|
+
"name": "csi-provisioner",
|
|
2332
|
+
},
|
|
2333
|
+
{
|
|
2334
|
+
"config": {
|
|
2335
|
+
"IngressDashboardEnabled": "true",
|
|
2336
|
+
},
|
|
2337
|
+
"name": "logtail-ds",
|
|
2338
|
+
},
|
|
2339
|
+
{
|
|
2340
|
+
"config": {
|
|
2341
|
+
"IngressSlbNetworkType": "internet",
|
|
2342
|
+
},
|
|
2343
|
+
"name": "nginx-ingress-controller",
|
|
2344
|
+
},
|
|
2345
|
+
{
|
|
2346
|
+
"config": {},
|
|
2347
|
+
"name": "arms-prometheus",
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
"config": {
|
|
2351
|
+
"sls_project_name": "",
|
|
2352
|
+
},
|
|
2353
|
+
"name": "ack-node-problem-detector",
|
|
2354
|
+
},
|
|
2355
|
+
]
|
|
2356
|
+
enhanced = alicloud.vpc.get_enhanced_nat_available_zones()
|
|
2357
|
+
# If there is not specifying vpc_id, the module will launch a new vpc
|
|
2358
|
+
vpc = []
|
|
2359
|
+
for range in [{"value": i} for i in range(0, 1 if vpc_id == else 0)]:
|
|
2360
|
+
vpc.append(alicloud.vpc.Network(f"vpc-{range['value']}", cidr_block=vpc_cidr))
|
|
2361
|
+
# According to the vswitch cidr blocks to launch several vswitches
|
|
2362
|
+
vswitches = []
|
|
2363
|
+
for range in [{"value": i} for i in range(0, 0 if len(vswitch_ids) > 0 else len(vswitch_cidrs))]:
|
|
2364
|
+
vswitches.append(alicloud.vpc.Switch(f"vswitches-{range['value']}",
|
|
2365
|
+
vpc_id=std.join_output(separator="",
|
|
2366
|
+
input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == "" else vpc_id,
|
|
2367
|
+
cidr_block=vswitch_cidrs[range["value"]],
|
|
2368
|
+
zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range["value"] if range["value"] < length else 0]).apply(lambda obj: obj.zone_id)))
|
|
2369
|
+
# According to the vswitch cidr blocks to launch several vswitches
|
|
2370
|
+
terway_vswitches = []
|
|
2371
|
+
for range in [{"value": i} for i in range(0, 0 if len(terway_vswitch_ids) > 0 else len(terway_vswitch_cidrs))]:
|
|
2372
|
+
terway_vswitches.append(alicloud.vpc.Switch(f"terway_vswitches-{range['value']}",
|
|
2373
|
+
vpc_id=std.join_output(separator="",
|
|
2374
|
+
input=[__item.id for __item in vpc]).apply(lambda invoke: invoke.result) if vpc_id == "" else vpc_id,
|
|
2375
|
+
cidr_block=terway_vswitch_cidrs[range["value"]],
|
|
2376
|
+
zone_id=len(enhanced.zones).apply(lambda length: enhanced.zones[range["value"] if range["value"] < length else 0]).apply(lambda obj: obj.zone_id)))
|
|
2377
|
+
default = alicloud.resourcemanager.get_resource_groups(status="OK")
|
|
2378
|
+
cloud_essd = [alicloud.ecs.get_instance_types_output(availability_zone=_arg0_.zone_id,
|
|
2379
|
+
cpu_core_count=4,
|
|
2380
|
+
memory_size=8,
|
|
2381
|
+
system_disk_category="cloud_essd") for __index in range(3)]
|
|
2382
|
+
default_kubernetes = alicloud.cs.Kubernetes("default",
|
|
2383
|
+
addons=[{
|
|
2384
|
+
"name": std.lookup(map=entry["value"],
|
|
2385
|
+
key="name",
|
|
2386
|
+
default=cluster_addons).result,
|
|
2387
|
+
"config": json.dumps(std.lookup(map=entry["value"],
|
|
2388
|
+
key="config",
|
|
2389
|
+
default=cluster_addons).result),
|
|
2390
|
+
} for entry in [{"key": k, "value": v} for k, v in cluster_addons]],
|
|
2391
|
+
master_vswitch_ids=std.split(separator=",",
|
|
2392
|
+
text=std.join(separator=",",
|
|
2393
|
+
input=vswitch_ids).result).result if len(vswitch_ids) > 0 else [] if len(vswitch_cidrs) < 1 else std.join_output(separator=",",
|
|
2394
|
+
input=[__item.id for __item in vswitches]).apply(lambda invoke: std.split_output(separator=",",
|
|
2395
|
+
text=invoke.result)).apply(lambda invoke: invoke.result),
|
|
2396
|
+
pod_vswitch_ids=std.split(separator=",",
|
|
2397
|
+
text=std.join(separator=",",
|
|
2398
|
+
input=terway_vswitch_ids).result).result if len(terway_vswitch_ids) > 0 else [] if len(terway_vswitch_cidrs) < 1 else std.join_output(separator=",",
|
|
2399
|
+
input=[__item.id for __item in terway_vswitches]).apply(lambda invoke: std.split_output(separator=",",
|
|
2400
|
+
text=invoke.result)).apply(lambda invoke: invoke.result),
|
|
2401
|
+
master_instance_types=[
|
|
2402
|
+
cloud_essd[0].instance_types[0].id,
|
|
2403
|
+
cloud_essd[1].instance_types[0].id,
|
|
2404
|
+
cloud_essd[2].instance_types[0].id,
|
|
2405
|
+
],
|
|
2406
|
+
master_disk_category="cloud_essd",
|
|
2407
|
+
password="Yourpassword1234",
|
|
2408
|
+
service_cidr="172.18.0.0/16",
|
|
2409
|
+
install_cloud_monitor=True,
|
|
2410
|
+
resource_group_id=default.groups[0].id,
|
|
2411
|
+
deletion_protection=False,
|
|
2412
|
+
timezone="Asia/Shanghai",
|
|
2413
|
+
os_type="Linux",
|
|
2414
|
+
platform="AliyunLinux3",
|
|
2415
|
+
cluster_domain="cluster.local",
|
|
2416
|
+
proxy_mode="ipvs",
|
|
2417
|
+
custom_san="www.terraform.io",
|
|
2418
|
+
new_nat_gateway=True,
|
|
2419
|
+
skip_set_certificate_authority=True)
|
|
2420
|
+
```
|
|
2421
|
+
|
|
2126
2422
|
## Import
|
|
2127
2423
|
|
|
2128
2424
|
Kubernetes cluster can be imported using the id, e.g. Then complete the main.tf accords to the result of `pulumi preview`.
|