pulumiverse-scaleway 1.24.0a1741680905__py3-none-any.whl → 1.25.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.
- pulumiverse_scaleway/__init__.py +929 -0
- pulumiverse_scaleway/account/__init__.py +12 -0
- pulumiverse_scaleway/account/get_availability_zones.py +139 -0
- pulumiverse_scaleway/account/get_project.py +170 -0
- pulumiverse_scaleway/account/get_ssh_key.py +205 -0
- pulumiverse_scaleway/account/project.py +318 -0
- pulumiverse_scaleway/account/ssh_key.py +456 -0
- pulumiverse_scaleway/account_project.py +6 -0
- pulumiverse_scaleway/account_ssh_key.py +12 -6
- pulumiverse_scaleway/apple_silicon_server.py +8 -2
- pulumiverse_scaleway/applesilicon/__init__.py +10 -0
- pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
- pulumiverse_scaleway/applesilicon/outputs.py +119 -0
- pulumiverse_scaleway/applesilicon/server.py +690 -0
- pulumiverse_scaleway/baremetal_server.py +64 -58
- pulumiverse_scaleway/billing/__init__.py +10 -0
- pulumiverse_scaleway/billing/get_consumptions.py +134 -0
- pulumiverse_scaleway/billing/get_invoices.py +154 -0
- pulumiverse_scaleway/billing/outputs.py +288 -0
- pulumiverse_scaleway/block/__init__.py +11 -0
- pulumiverse_scaleway/block/get_snapshot.py +174 -0
- pulumiverse_scaleway/block/get_volume.py +199 -0
- pulumiverse_scaleway/block/snapshot.py +403 -0
- pulumiverse_scaleway/block/volume.py +576 -0
- pulumiverse_scaleway/block_snapshot.py +12 -6
- pulumiverse_scaleway/block_volume.py +16 -10
- pulumiverse_scaleway/cockpit.py +10 -4
- pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
- pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
- pulumiverse_scaleway/cockpit_source.py +12 -6
- pulumiverse_scaleway/cockpit_token.py +16 -10
- pulumiverse_scaleway/container.py +16 -10
- pulumiverse_scaleway/container_cron.py +14 -8
- pulumiverse_scaleway/container_domain.py +24 -18
- pulumiverse_scaleway/container_namespace.py +10 -4
- pulumiverse_scaleway/container_token.py +32 -26
- pulumiverse_scaleway/container_trigger.py +12 -6
- pulumiverse_scaleway/containers/__init__.py +17 -0
- pulumiverse_scaleway/containers/_inputs.py +389 -0
- pulumiverse_scaleway/containers/container.py +1635 -0
- pulumiverse_scaleway/containers/cron.py +460 -0
- pulumiverse_scaleway/containers/domain.py +408 -0
- pulumiverse_scaleway/containers/get_container.py +562 -0
- pulumiverse_scaleway/containers/get_namespace.py +283 -0
- pulumiverse_scaleway/containers/namespace.py +638 -0
- pulumiverse_scaleway/containers/outputs.py +412 -0
- pulumiverse_scaleway/containers/token.py +454 -0
- pulumiverse_scaleway/containers/trigger.py +482 -0
- pulumiverse_scaleway/database.py +10 -4
- pulumiverse_scaleway/database_acl.py +10 -4
- pulumiverse_scaleway/database_backup.py +14 -8
- pulumiverse_scaleway/database_instance.py +24 -18
- pulumiverse_scaleway/database_privilege.py +16 -10
- pulumiverse_scaleway/database_read_replica.py +22 -16
- pulumiverse_scaleway/database_user.py +10 -4
- pulumiverse_scaleway/databases/__init__.py +23 -0
- pulumiverse_scaleway/databases/_inputs.py +822 -0
- pulumiverse_scaleway/databases/acl.py +334 -0
- pulumiverse_scaleway/databases/database.py +409 -0
- pulumiverse_scaleway/databases/database_backup.py +576 -0
- pulumiverse_scaleway/databases/get_acl.py +143 -0
- pulumiverse_scaleway/databases/get_database.py +187 -0
- pulumiverse_scaleway/databases/get_database_backup.py +253 -0
- pulumiverse_scaleway/databases/get_instance.py +415 -0
- pulumiverse_scaleway/databases/get_privilege.py +181 -0
- pulumiverse_scaleway/databases/instance.py +1696 -0
- pulumiverse_scaleway/databases/outputs.py +866 -0
- pulumiverse_scaleway/databases/privilege.py +424 -0
- pulumiverse_scaleway/databases/read_replica.py +530 -0
- pulumiverse_scaleway/databases/serverless_database.py +434 -0
- pulumiverse_scaleway/databases/snapshot.py +610 -0
- pulumiverse_scaleway/databases/user.py +448 -0
- pulumiverse_scaleway/domain/__init__.py +13 -0
- pulumiverse_scaleway/domain/_inputs.py +341 -0
- pulumiverse_scaleway/domain/get_record.py +340 -0
- pulumiverse_scaleway/domain/get_zone.py +201 -0
- pulumiverse_scaleway/domain/outputs.py +408 -0
- pulumiverse_scaleway/domain/record.py +1118 -0
- pulumiverse_scaleway/domain/zone.py +432 -0
- pulumiverse_scaleway/domain_record.py +36 -30
- pulumiverse_scaleway/domain_zone.py +6 -0
- pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
- pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
- pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
- pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
- pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
- pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
- pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
- pulumiverse_scaleway/elasticmetal/ip.py +704 -0
- pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
- pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
- pulumiverse_scaleway/elasticmetal/server.py +1591 -0
- pulumiverse_scaleway/flexible_ip.py +22 -16
- pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
- pulumiverse_scaleway/function.py +6 -0
- pulumiverse_scaleway/function_cron.py +16 -10
- pulumiverse_scaleway/function_domain.py +16 -10
- pulumiverse_scaleway/function_namespace.py +10 -4
- pulumiverse_scaleway/function_token.py +32 -26
- pulumiverse_scaleway/function_trigger.py +12 -6
- pulumiverse_scaleway/functions/__init__.py +17 -0
- pulumiverse_scaleway/functions/_inputs.py +211 -0
- pulumiverse_scaleway/functions/cron.py +464 -0
- pulumiverse_scaleway/functions/domain.py +372 -0
- pulumiverse_scaleway/functions/function.py +1105 -0
- pulumiverse_scaleway/functions/get_function.py +365 -0
- pulumiverse_scaleway/functions/get_namespace.py +238 -0
- pulumiverse_scaleway/functions/namespace.py +582 -0
- pulumiverse_scaleway/functions/outputs.py +168 -0
- pulumiverse_scaleway/functions/token.py +462 -0
- pulumiverse_scaleway/functions/trigger.py +482 -0
- pulumiverse_scaleway/get_account_project.py +6 -2
- pulumiverse_scaleway/get_account_ssh_key.py +6 -2
- pulumiverse_scaleway/get_availability_zones.py +8 -4
- pulumiverse_scaleway/get_baremetal_offer.py +4 -0
- pulumiverse_scaleway/get_baremetal_option.py +8 -4
- pulumiverse_scaleway/get_baremetal_os.py +8 -4
- pulumiverse_scaleway/get_baremetal_server.py +8 -4
- pulumiverse_scaleway/get_billing_consumptions.py +4 -0
- pulumiverse_scaleway/get_billing_invoices.py +4 -0
- pulumiverse_scaleway/get_block_snapshot.py +6 -2
- pulumiverse_scaleway/get_block_volume.py +6 -2
- pulumiverse_scaleway/get_cockpit.py +12 -8
- pulumiverse_scaleway/get_cockpit_plan.py +10 -6
- pulumiverse_scaleway/get_cockpit_source.py +8 -4
- pulumiverse_scaleway/get_container.py +16 -12
- pulumiverse_scaleway/get_container_namespace.py +10 -6
- pulumiverse_scaleway/get_database.py +6 -2
- pulumiverse_scaleway/get_database_acl.py +6 -2
- pulumiverse_scaleway/get_database_backup.py +10 -6
- pulumiverse_scaleway/get_database_instance.py +4 -0
- pulumiverse_scaleway/get_database_privilege.py +6 -2
- pulumiverse_scaleway/get_domain_record.py +10 -6
- pulumiverse_scaleway/get_domain_zone.py +4 -0
- pulumiverse_scaleway/get_flexible_ip.py +4 -0
- pulumiverse_scaleway/get_flexible_ips.py +16 -12
- pulumiverse_scaleway/get_function.py +6 -2
- pulumiverse_scaleway/get_function_namespace.py +6 -2
- pulumiverse_scaleway/get_iam_api_key.py +6 -2
- pulumiverse_scaleway/get_iam_application.py +8 -4
- pulumiverse_scaleway/get_iam_group.py +8 -4
- pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
- pulumiverse_scaleway/get_iam_user.py +8 -4
- pulumiverse_scaleway/get_instance_image.py +4 -0
- pulumiverse_scaleway/get_instance_ip.py +4 -0
- pulumiverse_scaleway/get_instance_placement_group.py +4 -0
- pulumiverse_scaleway/get_instance_private_nic.py +10 -6
- pulumiverse_scaleway/get_instance_security_group.py +4 -0
- pulumiverse_scaleway/get_instance_server.py +4 -0
- pulumiverse_scaleway/get_instance_servers.py +4 -0
- pulumiverse_scaleway/get_instance_snapshot.py +8 -4
- pulumiverse_scaleway/get_instance_volume.py +4 -0
- pulumiverse_scaleway/get_iot_device.py +4 -0
- pulumiverse_scaleway/get_iot_hub.py +4 -0
- pulumiverse_scaleway/get_ipam_ip.py +18 -14
- pulumiverse_scaleway/get_ipam_ips.py +14 -10
- pulumiverse_scaleway/get_k8s_version.py +8 -4
- pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
- pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
- pulumiverse_scaleway/get_lb_acls.py +8 -4
- pulumiverse_scaleway/get_lb_backend.py +18 -14
- pulumiverse_scaleway/get_lb_backends.py +8 -4
- pulumiverse_scaleway/get_lb_frontend.py +16 -12
- pulumiverse_scaleway/get_lb_frontends.py +8 -4
- pulumiverse_scaleway/get_lb_ips.py +4 -0
- pulumiverse_scaleway/get_lb_route.py +16 -12
- pulumiverse_scaleway/get_lb_routes.py +8 -4
- pulumiverse_scaleway/get_lbs.py +4 -0
- pulumiverse_scaleway/get_loadbalancer.py +8 -4
- pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
- pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
- pulumiverse_scaleway/get_mnq_sns.py +8 -4
- pulumiverse_scaleway/get_mnq_sqs.py +8 -4
- pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
- pulumiverse_scaleway/get_object_bucket.py +12 -8
- pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
- pulumiverse_scaleway/get_redis_cluster.py +4 -0
- pulumiverse_scaleway/get_registry_image.py +4 -0
- pulumiverse_scaleway/get_registry_image_tag.py +4 -0
- pulumiverse_scaleway/get_registry_namespace.py +4 -0
- pulumiverse_scaleway/get_secret.py +12 -8
- pulumiverse_scaleway/get_secret_version.py +14 -10
- pulumiverse_scaleway/get_tem_domain.py +4 -0
- pulumiverse_scaleway/get_vpc.py +10 -6
- pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
- pulumiverse_scaleway/get_vpc_private_network.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
- pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
- pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
- pulumiverse_scaleway/get_vpc_routes.py +4 -0
- pulumiverse_scaleway/get_vpcs.py +4 -0
- pulumiverse_scaleway/get_web_host_offer.py +8 -4
- pulumiverse_scaleway/get_webhosting.py +8 -4
- pulumiverse_scaleway/hosting/__init__.py +12 -0
- pulumiverse_scaleway/hosting/_inputs.py +295 -0
- pulumiverse_scaleway/hosting/get_hosting.py +354 -0
- pulumiverse_scaleway/hosting/get_offer.py +229 -0
- pulumiverse_scaleway/hosting/hosting.py +870 -0
- pulumiverse_scaleway/hosting/outputs.py +626 -0
- pulumiverse_scaleway/iam/__init__.py +21 -0
- pulumiverse_scaleway/iam/_inputs.py +138 -0
- pulumiverse_scaleway/iam/api_key.py +622 -0
- pulumiverse_scaleway/iam/application.py +419 -0
- pulumiverse_scaleway/iam/get_api_key.py +210 -0
- pulumiverse_scaleway/iam/get_application.py +210 -0
- pulumiverse_scaleway/iam/get_group.py +236 -0
- pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
- pulumiverse_scaleway/iam/get_user.py +177 -0
- pulumiverse_scaleway/iam/group.py +568 -0
- pulumiverse_scaleway/iam/group_membership.py +325 -0
- pulumiverse_scaleway/iam/outputs.py +111 -0
- pulumiverse_scaleway/iam/policy.py +775 -0
- pulumiverse_scaleway/iam/ssh_key.py +457 -0
- pulumiverse_scaleway/iam/user.py +515 -0
- pulumiverse_scaleway/iam_api_key.py +16 -10
- pulumiverse_scaleway/iam_application.py +8 -2
- pulumiverse_scaleway/iam_group.py +12 -6
- pulumiverse_scaleway/iam_group_membership.py +12 -6
- pulumiverse_scaleway/iam_policy.py +18 -12
- pulumiverse_scaleway/iam_ssh_key.py +8 -2
- pulumiverse_scaleway/iam_user.py +8 -2
- pulumiverse_scaleway/inference/__init__.py +10 -0
- pulumiverse_scaleway/inference/_inputs.py +209 -0
- pulumiverse_scaleway/inference/deployment.py +824 -0
- pulumiverse_scaleway/inference/outputs.py +169 -0
- pulumiverse_scaleway/inference_deployment.py +8 -2
- pulumiverse_scaleway/instance/__init__.py +29 -0
- pulumiverse_scaleway/instance/_inputs.py +1237 -0
- pulumiverse_scaleway/instance/get_image.py +305 -0
- pulumiverse_scaleway/instance/get_ip.py +204 -0
- pulumiverse_scaleway/instance/get_placement_group.py +212 -0
- pulumiverse_scaleway/instance/get_private_nic.py +226 -0
- pulumiverse_scaleway/instance/get_security_group.py +268 -0
- pulumiverse_scaleway/instance/get_server.py +488 -0
- pulumiverse_scaleway/instance/get_servers.py +187 -0
- pulumiverse_scaleway/instance/get_snapshot.py +248 -0
- pulumiverse_scaleway/instance/get_volume.py +226 -0
- pulumiverse_scaleway/instance/image.py +752 -0
- pulumiverse_scaleway/instance/ip.py +471 -0
- pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
- pulumiverse_scaleway/instance/outputs.py +1533 -0
- pulumiverse_scaleway/instance/placement_group.py +481 -0
- pulumiverse_scaleway/instance/private_nic.py +557 -0
- pulumiverse_scaleway/instance/security_group.py +722 -0
- pulumiverse_scaleway/instance/security_group_rules.py +441 -0
- pulumiverse_scaleway/instance/server.py +1938 -0
- pulumiverse_scaleway/instance/snapshot.py +671 -0
- pulumiverse_scaleway/instance/user_data.py +437 -0
- pulumiverse_scaleway/instance/volume.py +584 -0
- pulumiverse_scaleway/instance_image.py +18 -12
- pulumiverse_scaleway/instance_ip.py +8 -2
- pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/instance_placement_group.py +8 -2
- pulumiverse_scaleway/instance_private_nic.py +24 -18
- pulumiverse_scaleway/instance_security_group.py +6 -0
- pulumiverse_scaleway/instance_security_group_rules.py +22 -16
- pulumiverse_scaleway/instance_server.py +74 -68
- pulumiverse_scaleway/instance_snapshot.py +22 -16
- pulumiverse_scaleway/instance_user_data.py +16 -10
- pulumiverse_scaleway/instance_volume.py +8 -2
- pulumiverse_scaleway/iot/__init__.py +15 -0
- pulumiverse_scaleway/iot/_inputs.py +539 -0
- pulumiverse_scaleway/iot/device.py +752 -0
- pulumiverse_scaleway/iot/get_device.py +257 -0
- pulumiverse_scaleway/iot/get_hub.py +322 -0
- pulumiverse_scaleway/iot/hub.py +898 -0
- pulumiverse_scaleway/iot/network.py +474 -0
- pulumiverse_scaleway/iot/outputs.py +465 -0
- pulumiverse_scaleway/iot/route.py +662 -0
- pulumiverse_scaleway/iot_device.py +14 -8
- pulumiverse_scaleway/iot_hub.py +8 -2
- pulumiverse_scaleway/iot_network.py +12 -6
- pulumiverse_scaleway/iot_route.py +32 -26
- pulumiverse_scaleway/ipam/__init__.py +13 -0
- pulumiverse_scaleway/ipam/_inputs.py +442 -0
- pulumiverse_scaleway/ipam/get_ip.py +419 -0
- pulumiverse_scaleway/ipam/get_ips.py +358 -0
- pulumiverse_scaleway/ipam/ip.py +759 -0
- pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
- pulumiverse_scaleway/ipam/outputs.py +481 -0
- pulumiverse_scaleway/ipam_ip.py +30 -24
- pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
- pulumiverse_scaleway/job/__init__.py +10 -0
- pulumiverse_scaleway/job/_inputs.py +73 -0
- pulumiverse_scaleway/job/definition.py +694 -0
- pulumiverse_scaleway/job/outputs.py +49 -0
- pulumiverse_scaleway/job_definition.py +8 -2
- pulumiverse_scaleway/kubernetes/__init__.py +14 -0
- pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
- pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
- pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
- pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
- pulumiverse_scaleway/kubernetes/get_version.py +196 -0
- pulumiverse_scaleway/kubernetes/outputs.py +944 -0
- pulumiverse_scaleway/kubernetes/pool.py +1313 -0
- pulumiverse_scaleway/kubernetes_cluster.py +36 -30
- pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
- pulumiverse_scaleway/loadbalancer.py +35 -29
- pulumiverse_scaleway/loadbalancer_acl.py +8 -2
- pulumiverse_scaleway/loadbalancer_backend.py +10 -4
- pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
- pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
- pulumiverse_scaleway/loadbalancer_ip.py +10 -4
- pulumiverse_scaleway/loadbalancer_route.py +26 -20
- pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
- pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
- pulumiverse_scaleway/loadbalancers/acl.py +522 -0
- pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
- pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
- pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
- pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
- pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
- pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
- pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
- pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
- pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
- pulumiverse_scaleway/loadbalancers/ip.py +516 -0
- pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
- pulumiverse_scaleway/loadbalancers/route.py +525 -0
- pulumiverse_scaleway/mnq/__init__.py +20 -0
- pulumiverse_scaleway/mnq/_inputs.py +169 -0
- pulumiverse_scaleway/mnq/get_sns.py +150 -0
- pulumiverse_scaleway/mnq/get_sqs.py +150 -0
- pulumiverse_scaleway/mnq/nats_account.py +336 -0
- pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
- pulumiverse_scaleway/mnq/outputs.py +149 -0
- pulumiverse_scaleway/mnq/sns.py +308 -0
- pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sns_topic.py +661 -0
- pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
- pulumiverse_scaleway/mnq/sqs.py +306 -0
- pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
- pulumiverse_scaleway/mnq_nats_account.py +8 -2
- pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns.py +12 -6
- pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns_topic.py +16 -10
- pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
- pulumiverse_scaleway/mnq_sqs.py +12 -6
- pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
- pulumiverse_scaleway/mongo_db_instance.py +14 -8
- pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
- pulumiverse_scaleway/mongodb/__init__.py +12 -0
- pulumiverse_scaleway/mongodb/_inputs.py +208 -0
- pulumiverse_scaleway/mongodb/get_instance.py +335 -0
- pulumiverse_scaleway/mongodb/instance.py +1000 -0
- pulumiverse_scaleway/mongodb/outputs.py +270 -0
- pulumiverse_scaleway/mongodb/snapshot.py +523 -0
- pulumiverse_scaleway/network/__init__.py +29 -0
- pulumiverse_scaleway/network/_inputs.py +383 -0
- pulumiverse_scaleway/network/gateway_network.py +868 -0
- pulumiverse_scaleway/network/get_gateway_network.py +287 -0
- pulumiverse_scaleway/network/get_private_network.py +282 -0
- pulumiverse_scaleway/network/get_public_gateway.py +304 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
- pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
- pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
- pulumiverse_scaleway/network/get_routes.py +208 -0
- pulumiverse_scaleway/network/get_vpc.py +246 -0
- pulumiverse_scaleway/network/get_vpcs.py +174 -0
- pulumiverse_scaleway/network/outputs.py +747 -0
- pulumiverse_scaleway/network/private_network.py +736 -0
- pulumiverse_scaleway/network/public_gateway.py +791 -0
- pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
- pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
- pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
- pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
- pulumiverse_scaleway/network/route.py +579 -0
- pulumiverse_scaleway/network/vpc.py +538 -0
- pulumiverse_scaleway/object/__init__.py +17 -0
- pulumiverse_scaleway/object/_inputs.py +831 -0
- pulumiverse_scaleway/object/bucket.py +876 -0
- pulumiverse_scaleway/object/bucket_acl.py +598 -0
- pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
- pulumiverse_scaleway/object/bucket_policy.py +675 -0
- pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
- pulumiverse_scaleway/object/get_bucket.py +290 -0
- pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
- pulumiverse_scaleway/object/item.py +778 -0
- pulumiverse_scaleway/object/outputs.py +802 -0
- pulumiverse_scaleway/object_bucket.py +28 -22
- pulumiverse_scaleway/object_bucket_acl.py +14 -8
- pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
- pulumiverse_scaleway/object_bucket_policy.py +46 -40
- pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
- pulumiverse_scaleway/object_item.py +8 -2
- pulumiverse_scaleway/observability/__init__.py +17 -0
- pulumiverse_scaleway/observability/_inputs.py +417 -0
- pulumiverse_scaleway/observability/alert_manager.py +403 -0
- pulumiverse_scaleway/observability/cockpit.py +325 -0
- pulumiverse_scaleway/observability/get_instance.py +205 -0
- pulumiverse_scaleway/observability/get_plan.py +125 -0
- pulumiverse_scaleway/observability/get_source.py +262 -0
- pulumiverse_scaleway/observability/grafana_user.py +364 -0
- pulumiverse_scaleway/observability/outputs.py +425 -0
- pulumiverse_scaleway/observability/source.py +569 -0
- pulumiverse_scaleway/observability/token.py +481 -0
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/rdb_snapshot.py +16 -10
- pulumiverse_scaleway/redis/__init__.py +11 -0
- pulumiverse_scaleway/redis/_inputs.py +330 -0
- pulumiverse_scaleway/redis/cluster.py +1203 -0
- pulumiverse_scaleway/redis/get_cluster.py +347 -0
- pulumiverse_scaleway/redis/outputs.py +356 -0
- pulumiverse_scaleway/redis_cluster.py +14 -8
- pulumiverse_scaleway/registry/__init__.py +11 -0
- pulumiverse_scaleway/registry/get_image.py +239 -0
- pulumiverse_scaleway/registry/get_image_tag.py +229 -0
- pulumiverse_scaleway/registry/get_namespace.py +199 -0
- pulumiverse_scaleway/registry/namespace.py +460 -0
- pulumiverse_scaleway/registry_namespace.py +8 -2
- pulumiverse_scaleway/sdb_database.py +10 -4
- pulumiverse_scaleway/secret.py +6 -0
- pulumiverse_scaleway/secret_version.py +12 -6
- pulumiverse_scaleway/secrets/__init__.py +13 -0
- pulumiverse_scaleway/secrets/_inputs.py +94 -0
- pulumiverse_scaleway/secrets/get_secret.py +338 -0
- pulumiverse_scaleway/secrets/get_version.py +340 -0
- pulumiverse_scaleway/secrets/outputs.py +120 -0
- pulumiverse_scaleway/secrets/secret.py +665 -0
- pulumiverse_scaleway/secrets/version.py +489 -0
- pulumiverse_scaleway/tem/__init__.py +13 -0
- pulumiverse_scaleway/tem/_inputs.py +135 -0
- pulumiverse_scaleway/tem/domain.py +1032 -0
- pulumiverse_scaleway/tem/domain_validation.py +305 -0
- pulumiverse_scaleway/tem/get_domain.py +378 -0
- pulumiverse_scaleway/tem/outputs.py +171 -0
- pulumiverse_scaleway/tem/webhook.py +642 -0
- pulumiverse_scaleway/tem_domain.py +20 -14
- pulumiverse_scaleway/tem_domain_validation.py +10 -4
- pulumiverse_scaleway/tem_webhook.py +28 -22
- pulumiverse_scaleway/vpc.py +10 -4
- pulumiverse_scaleway/vpc_gateway_network.py +40 -34
- pulumiverse_scaleway/vpc_private_network.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway.py +8 -2
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
- pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
- pulumiverse_scaleway/vpc_route.py +16 -10
- pulumiverse_scaleway/webhosting.py +10 -4
- {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/METADATA +2 -2
- pulumiverse_scaleway-1.25.0.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.24.0a1741680905.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.24.0a1741680905.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1540 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
18
|
+
|
19
|
+
__all__ = ['ClusterArgs', 'Cluster']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class ClusterArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
cni: pulumi.Input[str],
|
25
|
+
delete_additional_resources: pulumi.Input[bool],
|
26
|
+
version: pulumi.Input[str],
|
27
|
+
admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
28
|
+
apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
29
|
+
auto_upgrade: Optional[pulumi.Input['ClusterAutoUpgradeArgs']] = None,
|
30
|
+
autoscaler_config: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']] = None,
|
31
|
+
description: Optional[pulumi.Input[str]] = None,
|
32
|
+
feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
33
|
+
name: Optional[pulumi.Input[str]] = None,
|
34
|
+
open_id_connect_config: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']] = None,
|
35
|
+
private_network_id: Optional[pulumi.Input[str]] = None,
|
36
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
37
|
+
region: Optional[pulumi.Input[str]] = None,
|
38
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
39
|
+
type: Optional[pulumi.Input[str]] = None):
|
40
|
+
"""
|
41
|
+
The set of arguments for constructing a Cluster resource.
|
42
|
+
:param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
|
43
|
+
> **Important:** Updates to this field will recreate a new resource.
|
44
|
+
:param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
45
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
46
|
+
If you prefer keeping it, you should instead set it as `false`.
|
47
|
+
:param pulumi.Input[str] version: The version of the Kubernetes cluster.
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
49
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
|
50
|
+
:param pulumi.Input['ClusterAutoUpgradeArgs'] auto_upgrade: The auto upgrade configuration.
|
51
|
+
:param pulumi.Input['ClusterAutoscalerConfigArgs'] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
52
|
+
:param pulumi.Input[str] description: A description for the Kubernetes cluster.
|
53
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
54
|
+
:param pulumi.Input[str] name: The name for the Kubernetes cluster.
|
55
|
+
:param pulumi.Input['ClusterOpenIdConnectConfigArgs'] open_id_connect_config: The OpenID Connect configuration of the cluster
|
56
|
+
:param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
|
57
|
+
|
58
|
+
> **Important:** Changes to this field will recreate a new resource.
|
59
|
+
|
60
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
61
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
62
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
|
63
|
+
:param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
|
64
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
|
65
|
+
:param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
|
66
|
+
|
67
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
68
|
+
|
69
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
70
|
+
|
71
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
72
|
+
"""
|
73
|
+
pulumi.set(__self__, "cni", cni)
|
74
|
+
pulumi.set(__self__, "delete_additional_resources", delete_additional_resources)
|
75
|
+
pulumi.set(__self__, "version", version)
|
76
|
+
if admission_plugins is not None:
|
77
|
+
pulumi.set(__self__, "admission_plugins", admission_plugins)
|
78
|
+
if apiserver_cert_sans is not None:
|
79
|
+
pulumi.set(__self__, "apiserver_cert_sans", apiserver_cert_sans)
|
80
|
+
if auto_upgrade is not None:
|
81
|
+
pulumi.set(__self__, "auto_upgrade", auto_upgrade)
|
82
|
+
if autoscaler_config is not None:
|
83
|
+
pulumi.set(__self__, "autoscaler_config", autoscaler_config)
|
84
|
+
if description is not None:
|
85
|
+
pulumi.set(__self__, "description", description)
|
86
|
+
if feature_gates is not None:
|
87
|
+
pulumi.set(__self__, "feature_gates", feature_gates)
|
88
|
+
if name is not None:
|
89
|
+
pulumi.set(__self__, "name", name)
|
90
|
+
if open_id_connect_config is not None:
|
91
|
+
pulumi.set(__self__, "open_id_connect_config", open_id_connect_config)
|
92
|
+
if private_network_id is not None:
|
93
|
+
pulumi.set(__self__, "private_network_id", private_network_id)
|
94
|
+
if project_id is not None:
|
95
|
+
pulumi.set(__self__, "project_id", project_id)
|
96
|
+
if region is not None:
|
97
|
+
pulumi.set(__self__, "region", region)
|
98
|
+
if tags is not None:
|
99
|
+
pulumi.set(__self__, "tags", tags)
|
100
|
+
if type is not None:
|
101
|
+
pulumi.set(__self__, "type", type)
|
102
|
+
|
103
|
+
@property
|
104
|
+
@pulumi.getter
|
105
|
+
def cni(self) -> pulumi.Input[str]:
|
106
|
+
"""
|
107
|
+
The Container Network Interface (CNI) for the Kubernetes cluster.
|
108
|
+
> **Important:** Updates to this field will recreate a new resource.
|
109
|
+
"""
|
110
|
+
return pulumi.get(self, "cni")
|
111
|
+
|
112
|
+
@cni.setter
|
113
|
+
def cni(self, value: pulumi.Input[str]):
|
114
|
+
pulumi.set(self, "cni", value)
|
115
|
+
|
116
|
+
@property
|
117
|
+
@pulumi.getter(name="deleteAdditionalResources")
|
118
|
+
def delete_additional_resources(self) -> pulumi.Input[bool]:
|
119
|
+
"""
|
120
|
+
Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
121
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
122
|
+
If you prefer keeping it, you should instead set it as `false`.
|
123
|
+
"""
|
124
|
+
return pulumi.get(self, "delete_additional_resources")
|
125
|
+
|
126
|
+
@delete_additional_resources.setter
|
127
|
+
def delete_additional_resources(self, value: pulumi.Input[bool]):
|
128
|
+
pulumi.set(self, "delete_additional_resources", value)
|
129
|
+
|
130
|
+
@property
|
131
|
+
@pulumi.getter
|
132
|
+
def version(self) -> pulumi.Input[str]:
|
133
|
+
"""
|
134
|
+
The version of the Kubernetes cluster.
|
135
|
+
"""
|
136
|
+
return pulumi.get(self, "version")
|
137
|
+
|
138
|
+
@version.setter
|
139
|
+
def version(self, value: pulumi.Input[str]):
|
140
|
+
pulumi.set(self, "version", value)
|
141
|
+
|
142
|
+
@property
|
143
|
+
@pulumi.getter(name="admissionPlugins")
|
144
|
+
def admission_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
145
|
+
"""
|
146
|
+
The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
147
|
+
"""
|
148
|
+
return pulumi.get(self, "admission_plugins")
|
149
|
+
|
150
|
+
@admission_plugins.setter
|
151
|
+
def admission_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
152
|
+
pulumi.set(self, "admission_plugins", value)
|
153
|
+
|
154
|
+
@property
|
155
|
+
@pulumi.getter(name="apiserverCertSans")
|
156
|
+
def apiserver_cert_sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
157
|
+
"""
|
158
|
+
Additional Subject Alternative Names for the Kubernetes API server certificate
|
159
|
+
"""
|
160
|
+
return pulumi.get(self, "apiserver_cert_sans")
|
161
|
+
|
162
|
+
@apiserver_cert_sans.setter
|
163
|
+
def apiserver_cert_sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
164
|
+
pulumi.set(self, "apiserver_cert_sans", value)
|
165
|
+
|
166
|
+
@property
|
167
|
+
@pulumi.getter(name="autoUpgrade")
|
168
|
+
def auto_upgrade(self) -> Optional[pulumi.Input['ClusterAutoUpgradeArgs']]:
|
169
|
+
"""
|
170
|
+
The auto upgrade configuration.
|
171
|
+
"""
|
172
|
+
return pulumi.get(self, "auto_upgrade")
|
173
|
+
|
174
|
+
@auto_upgrade.setter
|
175
|
+
def auto_upgrade(self, value: Optional[pulumi.Input['ClusterAutoUpgradeArgs']]):
|
176
|
+
pulumi.set(self, "auto_upgrade", value)
|
177
|
+
|
178
|
+
@property
|
179
|
+
@pulumi.getter(name="autoscalerConfig")
|
180
|
+
def autoscaler_config(self) -> Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]:
|
181
|
+
"""
|
182
|
+
The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
183
|
+
"""
|
184
|
+
return pulumi.get(self, "autoscaler_config")
|
185
|
+
|
186
|
+
@autoscaler_config.setter
|
187
|
+
def autoscaler_config(self, value: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]):
|
188
|
+
pulumi.set(self, "autoscaler_config", value)
|
189
|
+
|
190
|
+
@property
|
191
|
+
@pulumi.getter
|
192
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
193
|
+
"""
|
194
|
+
A description for the Kubernetes cluster.
|
195
|
+
"""
|
196
|
+
return pulumi.get(self, "description")
|
197
|
+
|
198
|
+
@description.setter
|
199
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
200
|
+
pulumi.set(self, "description", value)
|
201
|
+
|
202
|
+
@property
|
203
|
+
@pulumi.getter(name="featureGates")
|
204
|
+
def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
205
|
+
"""
|
206
|
+
The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
207
|
+
"""
|
208
|
+
return pulumi.get(self, "feature_gates")
|
209
|
+
|
210
|
+
@feature_gates.setter
|
211
|
+
def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
212
|
+
pulumi.set(self, "feature_gates", value)
|
213
|
+
|
214
|
+
@property
|
215
|
+
@pulumi.getter
|
216
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
217
|
+
"""
|
218
|
+
The name for the Kubernetes cluster.
|
219
|
+
"""
|
220
|
+
return pulumi.get(self, "name")
|
221
|
+
|
222
|
+
@name.setter
|
223
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
224
|
+
pulumi.set(self, "name", value)
|
225
|
+
|
226
|
+
@property
|
227
|
+
@pulumi.getter(name="openIdConnectConfig")
|
228
|
+
def open_id_connect_config(self) -> Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]:
|
229
|
+
"""
|
230
|
+
The OpenID Connect configuration of the cluster
|
231
|
+
"""
|
232
|
+
return pulumi.get(self, "open_id_connect_config")
|
233
|
+
|
234
|
+
@open_id_connect_config.setter
|
235
|
+
def open_id_connect_config(self, value: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]):
|
236
|
+
pulumi.set(self, "open_id_connect_config", value)
|
237
|
+
|
238
|
+
@property
|
239
|
+
@pulumi.getter(name="privateNetworkId")
|
240
|
+
def private_network_id(self) -> Optional[pulumi.Input[str]]:
|
241
|
+
"""
|
242
|
+
The ID of the private network of the cluster.
|
243
|
+
|
244
|
+
> **Important:** Changes to this field will recreate a new resource.
|
245
|
+
|
246
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
247
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
248
|
+
"""
|
249
|
+
return pulumi.get(self, "private_network_id")
|
250
|
+
|
251
|
+
@private_network_id.setter
|
252
|
+
def private_network_id(self, value: Optional[pulumi.Input[str]]):
|
253
|
+
pulumi.set(self, "private_network_id", value)
|
254
|
+
|
255
|
+
@property
|
256
|
+
@pulumi.getter(name="projectId")
|
257
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
258
|
+
"""
|
259
|
+
`project_id`) The ID of the project the cluster is associated with.
|
260
|
+
"""
|
261
|
+
return pulumi.get(self, "project_id")
|
262
|
+
|
263
|
+
@project_id.setter
|
264
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
265
|
+
pulumi.set(self, "project_id", value)
|
266
|
+
|
267
|
+
@property
|
268
|
+
@pulumi.getter
|
269
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
270
|
+
"""
|
271
|
+
`region`) The region in which the cluster should be created.
|
272
|
+
"""
|
273
|
+
return pulumi.get(self, "region")
|
274
|
+
|
275
|
+
@region.setter
|
276
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
277
|
+
pulumi.set(self, "region", value)
|
278
|
+
|
279
|
+
@property
|
280
|
+
@pulumi.getter
|
281
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
282
|
+
"""
|
283
|
+
The tags associated with the Kubernetes cluster.
|
284
|
+
"""
|
285
|
+
return pulumi.get(self, "tags")
|
286
|
+
|
287
|
+
@tags.setter
|
288
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
289
|
+
pulumi.set(self, "tags", value)
|
290
|
+
|
291
|
+
@property
|
292
|
+
@pulumi.getter
|
293
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
294
|
+
"""
|
295
|
+
The type of Kubernetes cluster. Possible values are:
|
296
|
+
|
297
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
298
|
+
|
299
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
300
|
+
|
301
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
302
|
+
"""
|
303
|
+
return pulumi.get(self, "type")
|
304
|
+
|
305
|
+
@type.setter
|
306
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
307
|
+
pulumi.set(self, "type", value)
|
308
|
+
|
309
|
+
|
310
|
+
@pulumi.input_type
|
311
|
+
class _ClusterState:
|
312
|
+
def __init__(__self__, *,
|
313
|
+
admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
314
|
+
apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
315
|
+
apiserver_url: Optional[pulumi.Input[str]] = None,
|
316
|
+
auto_upgrade: Optional[pulumi.Input['ClusterAutoUpgradeArgs']] = None,
|
317
|
+
autoscaler_config: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']] = None,
|
318
|
+
cni: Optional[pulumi.Input[str]] = None,
|
319
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
320
|
+
delete_additional_resources: Optional[pulumi.Input[bool]] = None,
|
321
|
+
description: Optional[pulumi.Input[str]] = None,
|
322
|
+
feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
323
|
+
kubeconfigs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]]] = None,
|
324
|
+
name: Optional[pulumi.Input[str]] = None,
|
325
|
+
open_id_connect_config: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']] = None,
|
326
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
327
|
+
private_network_id: Optional[pulumi.Input[str]] = None,
|
328
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
329
|
+
region: Optional[pulumi.Input[str]] = None,
|
330
|
+
status: Optional[pulumi.Input[str]] = None,
|
331
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
332
|
+
type: Optional[pulumi.Input[str]] = None,
|
333
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
334
|
+
upgrade_available: Optional[pulumi.Input[bool]] = None,
|
335
|
+
version: Optional[pulumi.Input[str]] = None,
|
336
|
+
wildcard_dns: Optional[pulumi.Input[str]] = None):
|
337
|
+
"""
|
338
|
+
Input properties used for looking up and filtering Cluster resources.
|
339
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
340
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
|
341
|
+
:param pulumi.Input[str] apiserver_url: The URL of the Kubernetes API server.
|
342
|
+
:param pulumi.Input['ClusterAutoUpgradeArgs'] auto_upgrade: The auto upgrade configuration.
|
343
|
+
:param pulumi.Input['ClusterAutoscalerConfigArgs'] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
344
|
+
:param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
|
345
|
+
> **Important:** Updates to this field will recreate a new resource.
|
346
|
+
:param pulumi.Input[str] created_at: The creation date of the cluster.
|
347
|
+
:param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
348
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
349
|
+
If you prefer keeping it, you should instead set it as `false`.
|
350
|
+
:param pulumi.Input[str] description: A description for the Kubernetes cluster.
|
351
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
352
|
+
:param pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]] kubeconfigs: The kubeconfig configuration file of the Kubernetes cluster
|
353
|
+
:param pulumi.Input[str] name: The name for the Kubernetes cluster.
|
354
|
+
:param pulumi.Input['ClusterOpenIdConnectConfigArgs'] open_id_connect_config: The OpenID Connect configuration of the cluster
|
355
|
+
:param pulumi.Input[str] organization_id: The organization ID the cluster is associated with.
|
356
|
+
:param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
|
357
|
+
|
358
|
+
> **Important:** Changes to this field will recreate a new resource.
|
359
|
+
|
360
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
361
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
362
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
|
363
|
+
:param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
|
364
|
+
:param pulumi.Input[str] status: The status of the Kubernetes cluster.
|
365
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
|
366
|
+
:param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
|
367
|
+
|
368
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
369
|
+
|
370
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
371
|
+
|
372
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
373
|
+
:param pulumi.Input[str] updated_at: The last update date of the cluster.
|
374
|
+
:param pulumi.Input[bool] upgrade_available: Set to `true` if a newer Kubernetes version is available.
|
375
|
+
:param pulumi.Input[str] version: The version of the Kubernetes cluster.
|
376
|
+
:param pulumi.Input[str] wildcard_dns: The DNS wildcard that points to all ready nodes.
|
377
|
+
"""
|
378
|
+
if admission_plugins is not None:
|
379
|
+
pulumi.set(__self__, "admission_plugins", admission_plugins)
|
380
|
+
if apiserver_cert_sans is not None:
|
381
|
+
pulumi.set(__self__, "apiserver_cert_sans", apiserver_cert_sans)
|
382
|
+
if apiserver_url is not None:
|
383
|
+
pulumi.set(__self__, "apiserver_url", apiserver_url)
|
384
|
+
if auto_upgrade is not None:
|
385
|
+
pulumi.set(__self__, "auto_upgrade", auto_upgrade)
|
386
|
+
if autoscaler_config is not None:
|
387
|
+
pulumi.set(__self__, "autoscaler_config", autoscaler_config)
|
388
|
+
if cni is not None:
|
389
|
+
pulumi.set(__self__, "cni", cni)
|
390
|
+
if created_at is not None:
|
391
|
+
pulumi.set(__self__, "created_at", created_at)
|
392
|
+
if delete_additional_resources is not None:
|
393
|
+
pulumi.set(__self__, "delete_additional_resources", delete_additional_resources)
|
394
|
+
if description is not None:
|
395
|
+
pulumi.set(__self__, "description", description)
|
396
|
+
if feature_gates is not None:
|
397
|
+
pulumi.set(__self__, "feature_gates", feature_gates)
|
398
|
+
if kubeconfigs is not None:
|
399
|
+
pulumi.set(__self__, "kubeconfigs", kubeconfigs)
|
400
|
+
if name is not None:
|
401
|
+
pulumi.set(__self__, "name", name)
|
402
|
+
if open_id_connect_config is not None:
|
403
|
+
pulumi.set(__self__, "open_id_connect_config", open_id_connect_config)
|
404
|
+
if organization_id is not None:
|
405
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
406
|
+
if private_network_id is not None:
|
407
|
+
pulumi.set(__self__, "private_network_id", private_network_id)
|
408
|
+
if project_id is not None:
|
409
|
+
pulumi.set(__self__, "project_id", project_id)
|
410
|
+
if region is not None:
|
411
|
+
pulumi.set(__self__, "region", region)
|
412
|
+
if status is not None:
|
413
|
+
pulumi.set(__self__, "status", status)
|
414
|
+
if tags is not None:
|
415
|
+
pulumi.set(__self__, "tags", tags)
|
416
|
+
if type is not None:
|
417
|
+
pulumi.set(__self__, "type", type)
|
418
|
+
if updated_at is not None:
|
419
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
420
|
+
if upgrade_available is not None:
|
421
|
+
pulumi.set(__self__, "upgrade_available", upgrade_available)
|
422
|
+
if version is not None:
|
423
|
+
pulumi.set(__self__, "version", version)
|
424
|
+
if wildcard_dns is not None:
|
425
|
+
pulumi.set(__self__, "wildcard_dns", wildcard_dns)
|
426
|
+
|
427
|
+
@property
|
428
|
+
@pulumi.getter(name="admissionPlugins")
|
429
|
+
def admission_plugins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
430
|
+
"""
|
431
|
+
The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
432
|
+
"""
|
433
|
+
return pulumi.get(self, "admission_plugins")
|
434
|
+
|
435
|
+
@admission_plugins.setter
|
436
|
+
def admission_plugins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
437
|
+
pulumi.set(self, "admission_plugins", value)
|
438
|
+
|
439
|
+
@property
|
440
|
+
@pulumi.getter(name="apiserverCertSans")
|
441
|
+
def apiserver_cert_sans(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
442
|
+
"""
|
443
|
+
Additional Subject Alternative Names for the Kubernetes API server certificate
|
444
|
+
"""
|
445
|
+
return pulumi.get(self, "apiserver_cert_sans")
|
446
|
+
|
447
|
+
@apiserver_cert_sans.setter
|
448
|
+
def apiserver_cert_sans(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
449
|
+
pulumi.set(self, "apiserver_cert_sans", value)
|
450
|
+
|
451
|
+
@property
|
452
|
+
@pulumi.getter(name="apiserverUrl")
|
453
|
+
def apiserver_url(self) -> Optional[pulumi.Input[str]]:
|
454
|
+
"""
|
455
|
+
The URL of the Kubernetes API server.
|
456
|
+
"""
|
457
|
+
return pulumi.get(self, "apiserver_url")
|
458
|
+
|
459
|
+
@apiserver_url.setter
|
460
|
+
def apiserver_url(self, value: Optional[pulumi.Input[str]]):
|
461
|
+
pulumi.set(self, "apiserver_url", value)
|
462
|
+
|
463
|
+
@property
|
464
|
+
@pulumi.getter(name="autoUpgrade")
|
465
|
+
def auto_upgrade(self) -> Optional[pulumi.Input['ClusterAutoUpgradeArgs']]:
|
466
|
+
"""
|
467
|
+
The auto upgrade configuration.
|
468
|
+
"""
|
469
|
+
return pulumi.get(self, "auto_upgrade")
|
470
|
+
|
471
|
+
@auto_upgrade.setter
|
472
|
+
def auto_upgrade(self, value: Optional[pulumi.Input['ClusterAutoUpgradeArgs']]):
|
473
|
+
pulumi.set(self, "auto_upgrade", value)
|
474
|
+
|
475
|
+
@property
|
476
|
+
@pulumi.getter(name="autoscalerConfig")
|
477
|
+
def autoscaler_config(self) -> Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]:
|
478
|
+
"""
|
479
|
+
The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
480
|
+
"""
|
481
|
+
return pulumi.get(self, "autoscaler_config")
|
482
|
+
|
483
|
+
@autoscaler_config.setter
|
484
|
+
def autoscaler_config(self, value: Optional[pulumi.Input['ClusterAutoscalerConfigArgs']]):
|
485
|
+
pulumi.set(self, "autoscaler_config", value)
|
486
|
+
|
487
|
+
@property
|
488
|
+
@pulumi.getter
|
489
|
+
def cni(self) -> Optional[pulumi.Input[str]]:
|
490
|
+
"""
|
491
|
+
The Container Network Interface (CNI) for the Kubernetes cluster.
|
492
|
+
> **Important:** Updates to this field will recreate a new resource.
|
493
|
+
"""
|
494
|
+
return pulumi.get(self, "cni")
|
495
|
+
|
496
|
+
@cni.setter
|
497
|
+
def cni(self, value: Optional[pulumi.Input[str]]):
|
498
|
+
pulumi.set(self, "cni", value)
|
499
|
+
|
500
|
+
@property
|
501
|
+
@pulumi.getter(name="createdAt")
|
502
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
503
|
+
"""
|
504
|
+
The creation date of the cluster.
|
505
|
+
"""
|
506
|
+
return pulumi.get(self, "created_at")
|
507
|
+
|
508
|
+
@created_at.setter
|
509
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
510
|
+
pulumi.set(self, "created_at", value)
|
511
|
+
|
512
|
+
@property
|
513
|
+
@pulumi.getter(name="deleteAdditionalResources")
|
514
|
+
def delete_additional_resources(self) -> Optional[pulumi.Input[bool]]:
|
515
|
+
"""
|
516
|
+
Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
517
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
518
|
+
If you prefer keeping it, you should instead set it as `false`.
|
519
|
+
"""
|
520
|
+
return pulumi.get(self, "delete_additional_resources")
|
521
|
+
|
522
|
+
@delete_additional_resources.setter
|
523
|
+
def delete_additional_resources(self, value: Optional[pulumi.Input[bool]]):
|
524
|
+
pulumi.set(self, "delete_additional_resources", value)
|
525
|
+
|
526
|
+
@property
|
527
|
+
@pulumi.getter
|
528
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
529
|
+
"""
|
530
|
+
A description for the Kubernetes cluster.
|
531
|
+
"""
|
532
|
+
return pulumi.get(self, "description")
|
533
|
+
|
534
|
+
@description.setter
|
535
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
536
|
+
pulumi.set(self, "description", value)
|
537
|
+
|
538
|
+
@property
|
539
|
+
@pulumi.getter(name="featureGates")
|
540
|
+
def feature_gates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
541
|
+
"""
|
542
|
+
The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
543
|
+
"""
|
544
|
+
return pulumi.get(self, "feature_gates")
|
545
|
+
|
546
|
+
@feature_gates.setter
|
547
|
+
def feature_gates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
548
|
+
pulumi.set(self, "feature_gates", value)
|
549
|
+
|
550
|
+
@property
|
551
|
+
@pulumi.getter
|
552
|
+
def kubeconfigs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]]]:
|
553
|
+
"""
|
554
|
+
The kubeconfig configuration file of the Kubernetes cluster
|
555
|
+
"""
|
556
|
+
return pulumi.get(self, "kubeconfigs")
|
557
|
+
|
558
|
+
@kubeconfigs.setter
|
559
|
+
def kubeconfigs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterKubeconfigArgs']]]]):
|
560
|
+
pulumi.set(self, "kubeconfigs", value)
|
561
|
+
|
562
|
+
@property
|
563
|
+
@pulumi.getter
|
564
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
565
|
+
"""
|
566
|
+
The name for the Kubernetes cluster.
|
567
|
+
"""
|
568
|
+
return pulumi.get(self, "name")
|
569
|
+
|
570
|
+
@name.setter
|
571
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
572
|
+
pulumi.set(self, "name", value)
|
573
|
+
|
574
|
+
@property
|
575
|
+
@pulumi.getter(name="openIdConnectConfig")
|
576
|
+
def open_id_connect_config(self) -> Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]:
|
577
|
+
"""
|
578
|
+
The OpenID Connect configuration of the cluster
|
579
|
+
"""
|
580
|
+
return pulumi.get(self, "open_id_connect_config")
|
581
|
+
|
582
|
+
@open_id_connect_config.setter
|
583
|
+
def open_id_connect_config(self, value: Optional[pulumi.Input['ClusterOpenIdConnectConfigArgs']]):
|
584
|
+
pulumi.set(self, "open_id_connect_config", value)
|
585
|
+
|
586
|
+
@property
|
587
|
+
@pulumi.getter(name="organizationId")
|
588
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
589
|
+
"""
|
590
|
+
The organization ID the cluster is associated with.
|
591
|
+
"""
|
592
|
+
return pulumi.get(self, "organization_id")
|
593
|
+
|
594
|
+
@organization_id.setter
|
595
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
596
|
+
pulumi.set(self, "organization_id", value)
|
597
|
+
|
598
|
+
@property
|
599
|
+
@pulumi.getter(name="privateNetworkId")
|
600
|
+
def private_network_id(self) -> Optional[pulumi.Input[str]]:
|
601
|
+
"""
|
602
|
+
The ID of the private network of the cluster.
|
603
|
+
|
604
|
+
> **Important:** Changes to this field will recreate a new resource.
|
605
|
+
|
606
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
607
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
608
|
+
"""
|
609
|
+
return pulumi.get(self, "private_network_id")
|
610
|
+
|
611
|
+
@private_network_id.setter
|
612
|
+
def private_network_id(self, value: Optional[pulumi.Input[str]]):
|
613
|
+
pulumi.set(self, "private_network_id", value)
|
614
|
+
|
615
|
+
@property
|
616
|
+
@pulumi.getter(name="projectId")
|
617
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
618
|
+
"""
|
619
|
+
`project_id`) The ID of the project the cluster is associated with.
|
620
|
+
"""
|
621
|
+
return pulumi.get(self, "project_id")
|
622
|
+
|
623
|
+
@project_id.setter
|
624
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
625
|
+
pulumi.set(self, "project_id", value)
|
626
|
+
|
627
|
+
@property
|
628
|
+
@pulumi.getter
|
629
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
630
|
+
"""
|
631
|
+
`region`) The region in which the cluster should be created.
|
632
|
+
"""
|
633
|
+
return pulumi.get(self, "region")
|
634
|
+
|
635
|
+
@region.setter
|
636
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
637
|
+
pulumi.set(self, "region", value)
|
638
|
+
|
639
|
+
@property
|
640
|
+
@pulumi.getter
|
641
|
+
def status(self) -> Optional[pulumi.Input[str]]:
|
642
|
+
"""
|
643
|
+
The status of the Kubernetes cluster.
|
644
|
+
"""
|
645
|
+
return pulumi.get(self, "status")
|
646
|
+
|
647
|
+
@status.setter
|
648
|
+
def status(self, value: Optional[pulumi.Input[str]]):
|
649
|
+
pulumi.set(self, "status", value)
|
650
|
+
|
651
|
+
@property
|
652
|
+
@pulumi.getter
|
653
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
654
|
+
"""
|
655
|
+
The tags associated with the Kubernetes cluster.
|
656
|
+
"""
|
657
|
+
return pulumi.get(self, "tags")
|
658
|
+
|
659
|
+
@tags.setter
|
660
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
661
|
+
pulumi.set(self, "tags", value)
|
662
|
+
|
663
|
+
@property
|
664
|
+
@pulumi.getter
|
665
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
666
|
+
"""
|
667
|
+
The type of Kubernetes cluster. Possible values are:
|
668
|
+
|
669
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
670
|
+
|
671
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
672
|
+
|
673
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
674
|
+
"""
|
675
|
+
return pulumi.get(self, "type")
|
676
|
+
|
677
|
+
@type.setter
|
678
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
679
|
+
pulumi.set(self, "type", value)
|
680
|
+
|
681
|
+
@property
|
682
|
+
@pulumi.getter(name="updatedAt")
|
683
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
684
|
+
"""
|
685
|
+
The last update date of the cluster.
|
686
|
+
"""
|
687
|
+
return pulumi.get(self, "updated_at")
|
688
|
+
|
689
|
+
@updated_at.setter
|
690
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
691
|
+
pulumi.set(self, "updated_at", value)
|
692
|
+
|
693
|
+
@property
|
694
|
+
@pulumi.getter(name="upgradeAvailable")
|
695
|
+
def upgrade_available(self) -> Optional[pulumi.Input[bool]]:
|
696
|
+
"""
|
697
|
+
Set to `true` if a newer Kubernetes version is available.
|
698
|
+
"""
|
699
|
+
return pulumi.get(self, "upgrade_available")
|
700
|
+
|
701
|
+
@upgrade_available.setter
|
702
|
+
def upgrade_available(self, value: Optional[pulumi.Input[bool]]):
|
703
|
+
pulumi.set(self, "upgrade_available", value)
|
704
|
+
|
705
|
+
@property
|
706
|
+
@pulumi.getter
|
707
|
+
def version(self) -> Optional[pulumi.Input[str]]:
|
708
|
+
"""
|
709
|
+
The version of the Kubernetes cluster.
|
710
|
+
"""
|
711
|
+
return pulumi.get(self, "version")
|
712
|
+
|
713
|
+
@version.setter
|
714
|
+
def version(self, value: Optional[pulumi.Input[str]]):
|
715
|
+
pulumi.set(self, "version", value)
|
716
|
+
|
717
|
+
@property
|
718
|
+
@pulumi.getter(name="wildcardDns")
|
719
|
+
def wildcard_dns(self) -> Optional[pulumi.Input[str]]:
|
720
|
+
"""
|
721
|
+
The DNS wildcard that points to all ready nodes.
|
722
|
+
"""
|
723
|
+
return pulumi.get(self, "wildcard_dns")
|
724
|
+
|
725
|
+
@wildcard_dns.setter
|
726
|
+
def wildcard_dns(self, value: Optional[pulumi.Input[str]]):
|
727
|
+
pulumi.set(self, "wildcard_dns", value)
|
728
|
+
|
729
|
+
|
730
|
+
class Cluster(pulumi.CustomResource):
|
731
|
+
@overload
|
732
|
+
def __init__(__self__,
|
733
|
+
resource_name: str,
|
734
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
735
|
+
admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
736
|
+
apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
737
|
+
auto_upgrade: Optional[pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']]] = None,
|
738
|
+
autoscaler_config: Optional[pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']]] = None,
|
739
|
+
cni: Optional[pulumi.Input[str]] = None,
|
740
|
+
delete_additional_resources: Optional[pulumi.Input[bool]] = None,
|
741
|
+
description: Optional[pulumi.Input[str]] = None,
|
742
|
+
feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
743
|
+
name: Optional[pulumi.Input[str]] = None,
|
744
|
+
open_id_connect_config: Optional[pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']]] = None,
|
745
|
+
private_network_id: Optional[pulumi.Input[str]] = None,
|
746
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
747
|
+
region: Optional[pulumi.Input[str]] = None,
|
748
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
749
|
+
type: Optional[pulumi.Input[str]] = None,
|
750
|
+
version: Optional[pulumi.Input[str]] = None,
|
751
|
+
__props__=None):
|
752
|
+
"""
|
753
|
+
Creates and manages Scaleway Kubernetes clusters. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/).
|
754
|
+
|
755
|
+
## Example Usage
|
756
|
+
|
757
|
+
### Basic
|
758
|
+
|
759
|
+
```python
|
760
|
+
import pulumi
|
761
|
+
import pulumiverse_scaleway as scaleway
|
762
|
+
|
763
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
764
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
765
|
+
name="tf-cluster",
|
766
|
+
version="1.29.1",
|
767
|
+
cni="cilium",
|
768
|
+
private_network_id=pn.id,
|
769
|
+
delete_additional_resources=False)
|
770
|
+
pool = scaleway.kubernetes.Pool("pool",
|
771
|
+
cluster_id=cluster.id,
|
772
|
+
name="tf-pool",
|
773
|
+
node_type="DEV1-M",
|
774
|
+
size=1)
|
775
|
+
```
|
776
|
+
|
777
|
+
### Multicloud
|
778
|
+
|
779
|
+
```python
|
780
|
+
import pulumi
|
781
|
+
import pulumiverse_scaleway as scaleway
|
782
|
+
|
783
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
784
|
+
name="tf-cluster",
|
785
|
+
type="multicloud",
|
786
|
+
version="1.29.1",
|
787
|
+
cni="kilo",
|
788
|
+
delete_additional_resources=False)
|
789
|
+
pool = scaleway.kubernetes.Pool("pool",
|
790
|
+
cluster_id=cluster.id,
|
791
|
+
name="tf-pool",
|
792
|
+
node_type="external",
|
793
|
+
size=0,
|
794
|
+
min_size=0)
|
795
|
+
```
|
796
|
+
|
797
|
+
For a detailed example of how to add or run Elastic Metal servers instead of Instances on your cluster, please refer to this guide.
|
798
|
+
|
799
|
+
### With additional configuration
|
800
|
+
|
801
|
+
```python
|
802
|
+
import pulumi
|
803
|
+
import pulumiverse_scaleway as scaleway
|
804
|
+
|
805
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
806
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
807
|
+
name="tf-cluster",
|
808
|
+
description="cluster made in terraform",
|
809
|
+
version="1.29.1",
|
810
|
+
cni="calico",
|
811
|
+
tags=["terraform"],
|
812
|
+
private_network_id=pn.id,
|
813
|
+
delete_additional_resources=False,
|
814
|
+
autoscaler_config={
|
815
|
+
"disable_scale_down": False,
|
816
|
+
"scale_down_delay_after_add": "5m",
|
817
|
+
"estimator": "binpacking",
|
818
|
+
"expander": "random",
|
819
|
+
"ignore_daemonsets_utilization": True,
|
820
|
+
"balance_similar_node_groups": True,
|
821
|
+
"expendable_pods_priority_cutoff": -5,
|
822
|
+
})
|
823
|
+
pool = scaleway.kubernetes.Pool("pool",
|
824
|
+
cluster_id=cluster.id,
|
825
|
+
name="tf-pool",
|
826
|
+
node_type="DEV1-M",
|
827
|
+
size=3,
|
828
|
+
autoscaling=True,
|
829
|
+
autohealing=True,
|
830
|
+
min_size=1,
|
831
|
+
max_size=5)
|
832
|
+
```
|
833
|
+
|
834
|
+
### With the kubernetes provider
|
835
|
+
|
836
|
+
```python
|
837
|
+
import pulumi
|
838
|
+
import pulumi_null as null
|
839
|
+
import pulumiverse_scaleway as scaleway
|
840
|
+
|
841
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
842
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
843
|
+
name="tf-cluster",
|
844
|
+
version="1.29.1",
|
845
|
+
cni="cilium",
|
846
|
+
private_network_id=pn.id,
|
847
|
+
delete_additional_resources=False)
|
848
|
+
pool = scaleway.kubernetes.Pool("pool",
|
849
|
+
cluster_id=cluster.id,
|
850
|
+
name="tf-pool",
|
851
|
+
node_type="DEV1-M",
|
852
|
+
size=1)
|
853
|
+
kubeconfig = null.Resource("kubeconfig", triggers={
|
854
|
+
"host": cluster.kubeconfigs[0].host,
|
855
|
+
"token": cluster.kubeconfigs[0].token,
|
856
|
+
"cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
|
857
|
+
},
|
858
|
+
opts = pulumi.ResourceOptions(depends_on=[pool]))
|
859
|
+
```
|
860
|
+
|
861
|
+
The `null_resource` is needed because when the cluster is created, its status is `pool_required`, but the kubeconfig can already be downloaded.
|
862
|
+
It leads the `kubernetes` provider to start creating its objects, but the DNS entry for the Kubernetes master is not yet ready, that's why it's needed to wait for at least a pool.
|
863
|
+
|
864
|
+
### With the Helm provider
|
865
|
+
|
866
|
+
```python
|
867
|
+
import pulumi
|
868
|
+
import pulumi_helm as helm
|
869
|
+
import pulumi_null as null
|
870
|
+
import pulumiverse_scaleway as scaleway
|
871
|
+
|
872
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
873
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
874
|
+
name="tf-cluster",
|
875
|
+
version="1.29.1",
|
876
|
+
cni="cilium",
|
877
|
+
delete_additional_resources=False,
|
878
|
+
private_network_id=pn.id)
|
879
|
+
pool = scaleway.kubernetes.Pool("pool",
|
880
|
+
cluster_id=cluster.id,
|
881
|
+
name="tf-pool",
|
882
|
+
node_type="DEV1-M",
|
883
|
+
size=1)
|
884
|
+
kubeconfig = null.Resource("kubeconfig", triggers={
|
885
|
+
"host": cluster.kubeconfigs[0].host,
|
886
|
+
"token": cluster.kubeconfigs[0].token,
|
887
|
+
"cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
|
888
|
+
},
|
889
|
+
opts = pulumi.ResourceOptions(depends_on=[pool]))
|
890
|
+
nginx_ip = scaleway.loadbalancers.Ip("nginx_ip",
|
891
|
+
zone="fr-par-1",
|
892
|
+
project_id=cluster.project_id)
|
893
|
+
nginx_ingress = helm.index.Release("nginx_ingress",
|
894
|
+
name=nginx-ingress,
|
895
|
+
namespace=kube-system,
|
896
|
+
repository=https://kubernetes.github.io/ingress-nginx,
|
897
|
+
chart=ingress-nginx,
|
898
|
+
set=[
|
899
|
+
{
|
900
|
+
name: controller.service.loadBalancerIP,
|
901
|
+
value: nginx_ip.ip_address,
|
902
|
+
},
|
903
|
+
{
|
904
|
+
name: controller.config.use-proxy-protocol,
|
905
|
+
value: true,
|
906
|
+
},
|
907
|
+
{
|
908
|
+
name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2,
|
909
|
+
value: true,
|
910
|
+
},
|
911
|
+
{
|
912
|
+
name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone,
|
913
|
+
value: nginx_ip.zone,
|
914
|
+
},
|
915
|
+
{
|
916
|
+
name: controller.service.externalTrafficPolicy,
|
917
|
+
value: Local,
|
918
|
+
},
|
919
|
+
])
|
920
|
+
```
|
921
|
+
|
922
|
+
## Import
|
923
|
+
|
924
|
+
Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
|
925
|
+
|
926
|
+
bash
|
927
|
+
|
928
|
+
```sh
|
929
|
+
$ pulumi import scaleway:kubernetes/cluster:Cluster mycluster fr-par/11111111-1111-1111-1111-111111111111
|
930
|
+
```
|
931
|
+
|
932
|
+
:param str resource_name: The name of the resource.
|
933
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
934
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
935
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
|
936
|
+
:param pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']] auto_upgrade: The auto upgrade configuration.
|
937
|
+
:param pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
938
|
+
:param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
|
939
|
+
> **Important:** Updates to this field will recreate a new resource.
|
940
|
+
:param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
941
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
942
|
+
If you prefer keeping it, you should instead set it as `false`.
|
943
|
+
:param pulumi.Input[str] description: A description for the Kubernetes cluster.
|
944
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
945
|
+
:param pulumi.Input[str] name: The name for the Kubernetes cluster.
|
946
|
+
:param pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']] open_id_connect_config: The OpenID Connect configuration of the cluster
|
947
|
+
:param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
|
948
|
+
|
949
|
+
> **Important:** Changes to this field will recreate a new resource.
|
950
|
+
|
951
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
952
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
953
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
|
954
|
+
:param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
|
955
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
|
956
|
+
:param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
|
957
|
+
|
958
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
959
|
+
|
960
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
961
|
+
|
962
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
963
|
+
:param pulumi.Input[str] version: The version of the Kubernetes cluster.
|
964
|
+
"""
|
965
|
+
...
|
966
|
+
@overload
|
967
|
+
def __init__(__self__,
|
968
|
+
resource_name: str,
|
969
|
+
args: ClusterArgs,
|
970
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
971
|
+
"""
|
972
|
+
Creates and manages Scaleway Kubernetes clusters. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/kubernetes/).
|
973
|
+
|
974
|
+
## Example Usage
|
975
|
+
|
976
|
+
### Basic
|
977
|
+
|
978
|
+
```python
|
979
|
+
import pulumi
|
980
|
+
import pulumiverse_scaleway as scaleway
|
981
|
+
|
982
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
983
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
984
|
+
name="tf-cluster",
|
985
|
+
version="1.29.1",
|
986
|
+
cni="cilium",
|
987
|
+
private_network_id=pn.id,
|
988
|
+
delete_additional_resources=False)
|
989
|
+
pool = scaleway.kubernetes.Pool("pool",
|
990
|
+
cluster_id=cluster.id,
|
991
|
+
name="tf-pool",
|
992
|
+
node_type="DEV1-M",
|
993
|
+
size=1)
|
994
|
+
```
|
995
|
+
|
996
|
+
### Multicloud
|
997
|
+
|
998
|
+
```python
|
999
|
+
import pulumi
|
1000
|
+
import pulumiverse_scaleway as scaleway
|
1001
|
+
|
1002
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
1003
|
+
name="tf-cluster",
|
1004
|
+
type="multicloud",
|
1005
|
+
version="1.29.1",
|
1006
|
+
cni="kilo",
|
1007
|
+
delete_additional_resources=False)
|
1008
|
+
pool = scaleway.kubernetes.Pool("pool",
|
1009
|
+
cluster_id=cluster.id,
|
1010
|
+
name="tf-pool",
|
1011
|
+
node_type="external",
|
1012
|
+
size=0,
|
1013
|
+
min_size=0)
|
1014
|
+
```
|
1015
|
+
|
1016
|
+
For a detailed example of how to add or run Elastic Metal servers instead of Instances on your cluster, please refer to this guide.
|
1017
|
+
|
1018
|
+
### With additional configuration
|
1019
|
+
|
1020
|
+
```python
|
1021
|
+
import pulumi
|
1022
|
+
import pulumiverse_scaleway as scaleway
|
1023
|
+
|
1024
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
1025
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
1026
|
+
name="tf-cluster",
|
1027
|
+
description="cluster made in terraform",
|
1028
|
+
version="1.29.1",
|
1029
|
+
cni="calico",
|
1030
|
+
tags=["terraform"],
|
1031
|
+
private_network_id=pn.id,
|
1032
|
+
delete_additional_resources=False,
|
1033
|
+
autoscaler_config={
|
1034
|
+
"disable_scale_down": False,
|
1035
|
+
"scale_down_delay_after_add": "5m",
|
1036
|
+
"estimator": "binpacking",
|
1037
|
+
"expander": "random",
|
1038
|
+
"ignore_daemonsets_utilization": True,
|
1039
|
+
"balance_similar_node_groups": True,
|
1040
|
+
"expendable_pods_priority_cutoff": -5,
|
1041
|
+
})
|
1042
|
+
pool = scaleway.kubernetes.Pool("pool",
|
1043
|
+
cluster_id=cluster.id,
|
1044
|
+
name="tf-pool",
|
1045
|
+
node_type="DEV1-M",
|
1046
|
+
size=3,
|
1047
|
+
autoscaling=True,
|
1048
|
+
autohealing=True,
|
1049
|
+
min_size=1,
|
1050
|
+
max_size=5)
|
1051
|
+
```
|
1052
|
+
|
1053
|
+
### With the kubernetes provider
|
1054
|
+
|
1055
|
+
```python
|
1056
|
+
import pulumi
|
1057
|
+
import pulumi_null as null
|
1058
|
+
import pulumiverse_scaleway as scaleway
|
1059
|
+
|
1060
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
1061
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
1062
|
+
name="tf-cluster",
|
1063
|
+
version="1.29.1",
|
1064
|
+
cni="cilium",
|
1065
|
+
private_network_id=pn.id,
|
1066
|
+
delete_additional_resources=False)
|
1067
|
+
pool = scaleway.kubernetes.Pool("pool",
|
1068
|
+
cluster_id=cluster.id,
|
1069
|
+
name="tf-pool",
|
1070
|
+
node_type="DEV1-M",
|
1071
|
+
size=1)
|
1072
|
+
kubeconfig = null.Resource("kubeconfig", triggers={
|
1073
|
+
"host": cluster.kubeconfigs[0].host,
|
1074
|
+
"token": cluster.kubeconfigs[0].token,
|
1075
|
+
"cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
|
1076
|
+
},
|
1077
|
+
opts = pulumi.ResourceOptions(depends_on=[pool]))
|
1078
|
+
```
|
1079
|
+
|
1080
|
+
The `null_resource` is needed because when the cluster is created, its status is `pool_required`, but the kubeconfig can already be downloaded.
|
1081
|
+
It leads the `kubernetes` provider to start creating its objects, but the DNS entry for the Kubernetes master is not yet ready, that's why it's needed to wait for at least a pool.
|
1082
|
+
|
1083
|
+
### With the Helm provider
|
1084
|
+
|
1085
|
+
```python
|
1086
|
+
import pulumi
|
1087
|
+
import pulumi_helm as helm
|
1088
|
+
import pulumi_null as null
|
1089
|
+
import pulumiverse_scaleway as scaleway
|
1090
|
+
|
1091
|
+
pn = scaleway.network.PrivateNetwork("pn")
|
1092
|
+
cluster = scaleway.kubernetes.Cluster("cluster",
|
1093
|
+
name="tf-cluster",
|
1094
|
+
version="1.29.1",
|
1095
|
+
cni="cilium",
|
1096
|
+
delete_additional_resources=False,
|
1097
|
+
private_network_id=pn.id)
|
1098
|
+
pool = scaleway.kubernetes.Pool("pool",
|
1099
|
+
cluster_id=cluster.id,
|
1100
|
+
name="tf-pool",
|
1101
|
+
node_type="DEV1-M",
|
1102
|
+
size=1)
|
1103
|
+
kubeconfig = null.Resource("kubeconfig", triggers={
|
1104
|
+
"host": cluster.kubeconfigs[0].host,
|
1105
|
+
"token": cluster.kubeconfigs[0].token,
|
1106
|
+
"cluster_ca_certificate": cluster.kubeconfigs[0].cluster_ca_certificate,
|
1107
|
+
},
|
1108
|
+
opts = pulumi.ResourceOptions(depends_on=[pool]))
|
1109
|
+
nginx_ip = scaleway.loadbalancers.Ip("nginx_ip",
|
1110
|
+
zone="fr-par-1",
|
1111
|
+
project_id=cluster.project_id)
|
1112
|
+
nginx_ingress = helm.index.Release("nginx_ingress",
|
1113
|
+
name=nginx-ingress,
|
1114
|
+
namespace=kube-system,
|
1115
|
+
repository=https://kubernetes.github.io/ingress-nginx,
|
1116
|
+
chart=ingress-nginx,
|
1117
|
+
set=[
|
1118
|
+
{
|
1119
|
+
name: controller.service.loadBalancerIP,
|
1120
|
+
value: nginx_ip.ip_address,
|
1121
|
+
},
|
1122
|
+
{
|
1123
|
+
name: controller.config.use-proxy-protocol,
|
1124
|
+
value: true,
|
1125
|
+
},
|
1126
|
+
{
|
1127
|
+
name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-proxy-protocol-v2,
|
1128
|
+
value: true,
|
1129
|
+
},
|
1130
|
+
{
|
1131
|
+
name: controller.service.annotations.service\\.beta\\.kubernetes\\.io/scw-loadbalancer-zone,
|
1132
|
+
value: nginx_ip.zone,
|
1133
|
+
},
|
1134
|
+
{
|
1135
|
+
name: controller.service.externalTrafficPolicy,
|
1136
|
+
value: Local,
|
1137
|
+
},
|
1138
|
+
])
|
1139
|
+
```
|
1140
|
+
|
1141
|
+
## Import
|
1142
|
+
|
1143
|
+
Kubernetes clusters can be imported using the `{region}/{id}`, e.g.
|
1144
|
+
|
1145
|
+
bash
|
1146
|
+
|
1147
|
+
```sh
|
1148
|
+
$ pulumi import scaleway:kubernetes/cluster:Cluster mycluster fr-par/11111111-1111-1111-1111-111111111111
|
1149
|
+
```
|
1150
|
+
|
1151
|
+
:param str resource_name: The name of the resource.
|
1152
|
+
:param ClusterArgs args: The arguments to use to populate this resource's properties.
|
1153
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1154
|
+
"""
|
1155
|
+
...
|
1156
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1157
|
+
resource_args, opts = _utilities.get_resource_args_opts(ClusterArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1158
|
+
if resource_args is not None:
|
1159
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1160
|
+
else:
|
1161
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1162
|
+
|
1163
|
+
def _internal_init(__self__,
|
1164
|
+
resource_name: str,
|
1165
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1166
|
+
admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1167
|
+
apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1168
|
+
auto_upgrade: Optional[pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']]] = None,
|
1169
|
+
autoscaler_config: Optional[pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']]] = None,
|
1170
|
+
cni: Optional[pulumi.Input[str]] = None,
|
1171
|
+
delete_additional_resources: Optional[pulumi.Input[bool]] = None,
|
1172
|
+
description: Optional[pulumi.Input[str]] = None,
|
1173
|
+
feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1174
|
+
name: Optional[pulumi.Input[str]] = None,
|
1175
|
+
open_id_connect_config: Optional[pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']]] = None,
|
1176
|
+
private_network_id: Optional[pulumi.Input[str]] = None,
|
1177
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1178
|
+
region: Optional[pulumi.Input[str]] = None,
|
1179
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1180
|
+
type: Optional[pulumi.Input[str]] = None,
|
1181
|
+
version: Optional[pulumi.Input[str]] = None,
|
1182
|
+
__props__=None):
|
1183
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1184
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1185
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1186
|
+
if opts.id is None:
|
1187
|
+
if __props__ is not None:
|
1188
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1189
|
+
__props__ = ClusterArgs.__new__(ClusterArgs)
|
1190
|
+
|
1191
|
+
__props__.__dict__["admission_plugins"] = admission_plugins
|
1192
|
+
__props__.__dict__["apiserver_cert_sans"] = apiserver_cert_sans
|
1193
|
+
__props__.__dict__["auto_upgrade"] = auto_upgrade
|
1194
|
+
__props__.__dict__["autoscaler_config"] = autoscaler_config
|
1195
|
+
if cni is None and not opts.urn:
|
1196
|
+
raise TypeError("Missing required property 'cni'")
|
1197
|
+
__props__.__dict__["cni"] = cni
|
1198
|
+
if delete_additional_resources is None and not opts.urn:
|
1199
|
+
raise TypeError("Missing required property 'delete_additional_resources'")
|
1200
|
+
__props__.__dict__["delete_additional_resources"] = delete_additional_resources
|
1201
|
+
__props__.__dict__["description"] = description
|
1202
|
+
__props__.__dict__["feature_gates"] = feature_gates
|
1203
|
+
__props__.__dict__["name"] = name
|
1204
|
+
__props__.__dict__["open_id_connect_config"] = open_id_connect_config
|
1205
|
+
__props__.__dict__["private_network_id"] = private_network_id
|
1206
|
+
__props__.__dict__["project_id"] = project_id
|
1207
|
+
__props__.__dict__["region"] = region
|
1208
|
+
__props__.__dict__["tags"] = tags
|
1209
|
+
__props__.__dict__["type"] = type
|
1210
|
+
if version is None and not opts.urn:
|
1211
|
+
raise TypeError("Missing required property 'version'")
|
1212
|
+
__props__.__dict__["version"] = version
|
1213
|
+
__props__.__dict__["apiserver_url"] = None
|
1214
|
+
__props__.__dict__["created_at"] = None
|
1215
|
+
__props__.__dict__["kubeconfigs"] = None
|
1216
|
+
__props__.__dict__["organization_id"] = None
|
1217
|
+
__props__.__dict__["status"] = None
|
1218
|
+
__props__.__dict__["updated_at"] = None
|
1219
|
+
__props__.__dict__["upgrade_available"] = None
|
1220
|
+
__props__.__dict__["wildcard_dns"] = None
|
1221
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/kubernetesCluster:KubernetesCluster")])
|
1222
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
1223
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["kubeconfigs"])
|
1224
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1225
|
+
super(Cluster, __self__).__init__(
|
1226
|
+
'scaleway:kubernetes/cluster:Cluster',
|
1227
|
+
resource_name,
|
1228
|
+
__props__,
|
1229
|
+
opts)
|
1230
|
+
|
1231
|
+
@staticmethod
|
1232
|
+
def get(resource_name: str,
|
1233
|
+
id: pulumi.Input[str],
|
1234
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1235
|
+
admission_plugins: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1236
|
+
apiserver_cert_sans: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1237
|
+
apiserver_url: Optional[pulumi.Input[str]] = None,
|
1238
|
+
auto_upgrade: Optional[pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']]] = None,
|
1239
|
+
autoscaler_config: Optional[pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']]] = None,
|
1240
|
+
cni: Optional[pulumi.Input[str]] = None,
|
1241
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
1242
|
+
delete_additional_resources: Optional[pulumi.Input[bool]] = None,
|
1243
|
+
description: Optional[pulumi.Input[str]] = None,
|
1244
|
+
feature_gates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1245
|
+
kubeconfigs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterKubeconfigArgs', 'ClusterKubeconfigArgsDict']]]]] = None,
|
1246
|
+
name: Optional[pulumi.Input[str]] = None,
|
1247
|
+
open_id_connect_config: Optional[pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']]] = None,
|
1248
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
1249
|
+
private_network_id: Optional[pulumi.Input[str]] = None,
|
1250
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1251
|
+
region: Optional[pulumi.Input[str]] = None,
|
1252
|
+
status: Optional[pulumi.Input[str]] = None,
|
1253
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1254
|
+
type: Optional[pulumi.Input[str]] = None,
|
1255
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
1256
|
+
upgrade_available: Optional[pulumi.Input[bool]] = None,
|
1257
|
+
version: Optional[pulumi.Input[str]] = None,
|
1258
|
+
wildcard_dns: Optional[pulumi.Input[str]] = None) -> 'Cluster':
|
1259
|
+
"""
|
1260
|
+
Get an existing Cluster resource's state with the given name, id, and optional extra
|
1261
|
+
properties used to qualify the lookup.
|
1262
|
+
|
1263
|
+
:param str resource_name: The unique name of the resulting resource.
|
1264
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1265
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1266
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] admission_plugins: The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
1267
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] apiserver_cert_sans: Additional Subject Alternative Names for the Kubernetes API server certificate
|
1268
|
+
:param pulumi.Input[str] apiserver_url: The URL of the Kubernetes API server.
|
1269
|
+
:param pulumi.Input[Union['ClusterAutoUpgradeArgs', 'ClusterAutoUpgradeArgsDict']] auto_upgrade: The auto upgrade configuration.
|
1270
|
+
:param pulumi.Input[Union['ClusterAutoscalerConfigArgs', 'ClusterAutoscalerConfigArgsDict']] autoscaler_config: The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
1271
|
+
:param pulumi.Input[str] cni: The Container Network Interface (CNI) for the Kubernetes cluster.
|
1272
|
+
> **Important:** Updates to this field will recreate a new resource.
|
1273
|
+
:param pulumi.Input[str] created_at: The creation date of the cluster.
|
1274
|
+
:param pulumi.Input[bool] delete_additional_resources: Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
1275
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
1276
|
+
If you prefer keeping it, you should instead set it as `false`.
|
1277
|
+
:param pulumi.Input[str] description: A description for the Kubernetes cluster.
|
1278
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] feature_gates: The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
1279
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ClusterKubeconfigArgs', 'ClusterKubeconfigArgsDict']]]] kubeconfigs: The kubeconfig configuration file of the Kubernetes cluster
|
1280
|
+
:param pulumi.Input[str] name: The name for the Kubernetes cluster.
|
1281
|
+
:param pulumi.Input[Union['ClusterOpenIdConnectConfigArgs', 'ClusterOpenIdConnectConfigArgsDict']] open_id_connect_config: The OpenID Connect configuration of the cluster
|
1282
|
+
:param pulumi.Input[str] organization_id: The organization ID the cluster is associated with.
|
1283
|
+
:param pulumi.Input[str] private_network_id: The ID of the private network of the cluster.
|
1284
|
+
|
1285
|
+
> **Important:** Changes to this field will recreate a new resource.
|
1286
|
+
|
1287
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
1288
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
1289
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the cluster is associated with.
|
1290
|
+
:param pulumi.Input[str] region: `region`) The region in which the cluster should be created.
|
1291
|
+
:param pulumi.Input[str] status: The status of the Kubernetes cluster.
|
1292
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Kubernetes cluster.
|
1293
|
+
:param pulumi.Input[str] type: The type of Kubernetes cluster. Possible values are:
|
1294
|
+
|
1295
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
1296
|
+
|
1297
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
1298
|
+
|
1299
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
1300
|
+
:param pulumi.Input[str] updated_at: The last update date of the cluster.
|
1301
|
+
:param pulumi.Input[bool] upgrade_available: Set to `true` if a newer Kubernetes version is available.
|
1302
|
+
:param pulumi.Input[str] version: The version of the Kubernetes cluster.
|
1303
|
+
:param pulumi.Input[str] wildcard_dns: The DNS wildcard that points to all ready nodes.
|
1304
|
+
"""
|
1305
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1306
|
+
|
1307
|
+
__props__ = _ClusterState.__new__(_ClusterState)
|
1308
|
+
|
1309
|
+
__props__.__dict__["admission_plugins"] = admission_plugins
|
1310
|
+
__props__.__dict__["apiserver_cert_sans"] = apiserver_cert_sans
|
1311
|
+
__props__.__dict__["apiserver_url"] = apiserver_url
|
1312
|
+
__props__.__dict__["auto_upgrade"] = auto_upgrade
|
1313
|
+
__props__.__dict__["autoscaler_config"] = autoscaler_config
|
1314
|
+
__props__.__dict__["cni"] = cni
|
1315
|
+
__props__.__dict__["created_at"] = created_at
|
1316
|
+
__props__.__dict__["delete_additional_resources"] = delete_additional_resources
|
1317
|
+
__props__.__dict__["description"] = description
|
1318
|
+
__props__.__dict__["feature_gates"] = feature_gates
|
1319
|
+
__props__.__dict__["kubeconfigs"] = kubeconfigs
|
1320
|
+
__props__.__dict__["name"] = name
|
1321
|
+
__props__.__dict__["open_id_connect_config"] = open_id_connect_config
|
1322
|
+
__props__.__dict__["organization_id"] = organization_id
|
1323
|
+
__props__.__dict__["private_network_id"] = private_network_id
|
1324
|
+
__props__.__dict__["project_id"] = project_id
|
1325
|
+
__props__.__dict__["region"] = region
|
1326
|
+
__props__.__dict__["status"] = status
|
1327
|
+
__props__.__dict__["tags"] = tags
|
1328
|
+
__props__.__dict__["type"] = type
|
1329
|
+
__props__.__dict__["updated_at"] = updated_at
|
1330
|
+
__props__.__dict__["upgrade_available"] = upgrade_available
|
1331
|
+
__props__.__dict__["version"] = version
|
1332
|
+
__props__.__dict__["wildcard_dns"] = wildcard_dns
|
1333
|
+
return Cluster(resource_name, opts=opts, __props__=__props__)
|
1334
|
+
|
1335
|
+
@property
|
1336
|
+
@pulumi.getter(name="admissionPlugins")
|
1337
|
+
def admission_plugins(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1338
|
+
"""
|
1339
|
+
The list of [admission plugins](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) to enable on the cluster.
|
1340
|
+
"""
|
1341
|
+
return pulumi.get(self, "admission_plugins")
|
1342
|
+
|
1343
|
+
@property
|
1344
|
+
@pulumi.getter(name="apiserverCertSans")
|
1345
|
+
def apiserver_cert_sans(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1346
|
+
"""
|
1347
|
+
Additional Subject Alternative Names for the Kubernetes API server certificate
|
1348
|
+
"""
|
1349
|
+
return pulumi.get(self, "apiserver_cert_sans")
|
1350
|
+
|
1351
|
+
@property
|
1352
|
+
@pulumi.getter(name="apiserverUrl")
|
1353
|
+
def apiserver_url(self) -> pulumi.Output[str]:
|
1354
|
+
"""
|
1355
|
+
The URL of the Kubernetes API server.
|
1356
|
+
"""
|
1357
|
+
return pulumi.get(self, "apiserver_url")
|
1358
|
+
|
1359
|
+
@property
|
1360
|
+
@pulumi.getter(name="autoUpgrade")
|
1361
|
+
def auto_upgrade(self) -> pulumi.Output['outputs.ClusterAutoUpgrade']:
|
1362
|
+
"""
|
1363
|
+
The auto upgrade configuration.
|
1364
|
+
"""
|
1365
|
+
return pulumi.get(self, "auto_upgrade")
|
1366
|
+
|
1367
|
+
@property
|
1368
|
+
@pulumi.getter(name="autoscalerConfig")
|
1369
|
+
def autoscaler_config(self) -> pulumi.Output['outputs.ClusterAutoscalerConfig']:
|
1370
|
+
"""
|
1371
|
+
The configuration options for the [Kubernetes cluster autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler).
|
1372
|
+
"""
|
1373
|
+
return pulumi.get(self, "autoscaler_config")
|
1374
|
+
|
1375
|
+
@property
|
1376
|
+
@pulumi.getter
|
1377
|
+
def cni(self) -> pulumi.Output[str]:
|
1378
|
+
"""
|
1379
|
+
The Container Network Interface (CNI) for the Kubernetes cluster.
|
1380
|
+
> **Important:** Updates to this field will recreate a new resource.
|
1381
|
+
"""
|
1382
|
+
return pulumi.get(self, "cni")
|
1383
|
+
|
1384
|
+
@property
|
1385
|
+
@pulumi.getter(name="createdAt")
|
1386
|
+
def created_at(self) -> pulumi.Output[str]:
|
1387
|
+
"""
|
1388
|
+
The creation date of the cluster.
|
1389
|
+
"""
|
1390
|
+
return pulumi.get(self, "created_at")
|
1391
|
+
|
1392
|
+
@property
|
1393
|
+
@pulumi.getter(name="deleteAdditionalResources")
|
1394
|
+
def delete_additional_resources(self) -> pulumi.Output[bool]:
|
1395
|
+
"""
|
1396
|
+
Delete additional resources like block volumes, load-balancers and the cluster's private network (if empty) that were created in Kubernetes on cluster deletion.
|
1397
|
+
> **Important:** Setting this field to `true` means that you will lose all your cluster data and network configuration when you delete your cluster.
|
1398
|
+
If you prefer keeping it, you should instead set it as `false`.
|
1399
|
+
"""
|
1400
|
+
return pulumi.get(self, "delete_additional_resources")
|
1401
|
+
|
1402
|
+
@property
|
1403
|
+
@pulumi.getter
|
1404
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
1405
|
+
"""
|
1406
|
+
A description for the Kubernetes cluster.
|
1407
|
+
"""
|
1408
|
+
return pulumi.get(self, "description")
|
1409
|
+
|
1410
|
+
@property
|
1411
|
+
@pulumi.getter(name="featureGates")
|
1412
|
+
def feature_gates(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1413
|
+
"""
|
1414
|
+
The list of [feature gates](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/) to enable on the cluster.
|
1415
|
+
"""
|
1416
|
+
return pulumi.get(self, "feature_gates")
|
1417
|
+
|
1418
|
+
@property
|
1419
|
+
@pulumi.getter
|
1420
|
+
def kubeconfigs(self) -> pulumi.Output[Sequence['outputs.ClusterKubeconfig']]:
|
1421
|
+
"""
|
1422
|
+
The kubeconfig configuration file of the Kubernetes cluster
|
1423
|
+
"""
|
1424
|
+
return pulumi.get(self, "kubeconfigs")
|
1425
|
+
|
1426
|
+
@property
|
1427
|
+
@pulumi.getter
|
1428
|
+
def name(self) -> pulumi.Output[str]:
|
1429
|
+
"""
|
1430
|
+
The name for the Kubernetes cluster.
|
1431
|
+
"""
|
1432
|
+
return pulumi.get(self, "name")
|
1433
|
+
|
1434
|
+
@property
|
1435
|
+
@pulumi.getter(name="openIdConnectConfig")
|
1436
|
+
def open_id_connect_config(self) -> pulumi.Output['outputs.ClusterOpenIdConnectConfig']:
|
1437
|
+
"""
|
1438
|
+
The OpenID Connect configuration of the cluster
|
1439
|
+
"""
|
1440
|
+
return pulumi.get(self, "open_id_connect_config")
|
1441
|
+
|
1442
|
+
@property
|
1443
|
+
@pulumi.getter(name="organizationId")
|
1444
|
+
def organization_id(self) -> pulumi.Output[str]:
|
1445
|
+
"""
|
1446
|
+
The organization ID the cluster is associated with.
|
1447
|
+
"""
|
1448
|
+
return pulumi.get(self, "organization_id")
|
1449
|
+
|
1450
|
+
@property
|
1451
|
+
@pulumi.getter(name="privateNetworkId")
|
1452
|
+
def private_network_id(self) -> pulumi.Output[Optional[str]]:
|
1453
|
+
"""
|
1454
|
+
The ID of the private network of the cluster.
|
1455
|
+
|
1456
|
+
> **Important:** Changes to this field will recreate a new resource.
|
1457
|
+
|
1458
|
+
> **Important:** Private Networks are now mandatory with Kapsule Clusters. If you have a legacy cluster (no `private_network_id` set),
|
1459
|
+
you can still set it now. In this case it will not destroy and recreate your cluster but migrate it to the Private Network.
|
1460
|
+
"""
|
1461
|
+
return pulumi.get(self, "private_network_id")
|
1462
|
+
|
1463
|
+
@property
|
1464
|
+
@pulumi.getter(name="projectId")
|
1465
|
+
def project_id(self) -> pulumi.Output[str]:
|
1466
|
+
"""
|
1467
|
+
`project_id`) The ID of the project the cluster is associated with.
|
1468
|
+
"""
|
1469
|
+
return pulumi.get(self, "project_id")
|
1470
|
+
|
1471
|
+
@property
|
1472
|
+
@pulumi.getter
|
1473
|
+
def region(self) -> pulumi.Output[str]:
|
1474
|
+
"""
|
1475
|
+
`region`) The region in which the cluster should be created.
|
1476
|
+
"""
|
1477
|
+
return pulumi.get(self, "region")
|
1478
|
+
|
1479
|
+
@property
|
1480
|
+
@pulumi.getter
|
1481
|
+
def status(self) -> pulumi.Output[str]:
|
1482
|
+
"""
|
1483
|
+
The status of the Kubernetes cluster.
|
1484
|
+
"""
|
1485
|
+
return pulumi.get(self, "status")
|
1486
|
+
|
1487
|
+
@property
|
1488
|
+
@pulumi.getter
|
1489
|
+
def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1490
|
+
"""
|
1491
|
+
The tags associated with the Kubernetes cluster.
|
1492
|
+
"""
|
1493
|
+
return pulumi.get(self, "tags")
|
1494
|
+
|
1495
|
+
@property
|
1496
|
+
@pulumi.getter
|
1497
|
+
def type(self) -> pulumi.Output[str]:
|
1498
|
+
"""
|
1499
|
+
The type of Kubernetes cluster. Possible values are:
|
1500
|
+
|
1501
|
+
- for mutualized clusters: `kapsule` or `multicloud`
|
1502
|
+
|
1503
|
+
- for dedicated Kapsule clusters: `kapsule-dedicated-4`, `kapsule-dedicated-8` or `kapsule-dedicated-16`.
|
1504
|
+
|
1505
|
+
- for dedicated Kosmos clusters: `multicloud-dedicated-4`, `multicloud-dedicated-8` or `multicloud-dedicated-16`.
|
1506
|
+
"""
|
1507
|
+
return pulumi.get(self, "type")
|
1508
|
+
|
1509
|
+
@property
|
1510
|
+
@pulumi.getter(name="updatedAt")
|
1511
|
+
def updated_at(self) -> pulumi.Output[str]:
|
1512
|
+
"""
|
1513
|
+
The last update date of the cluster.
|
1514
|
+
"""
|
1515
|
+
return pulumi.get(self, "updated_at")
|
1516
|
+
|
1517
|
+
@property
|
1518
|
+
@pulumi.getter(name="upgradeAvailable")
|
1519
|
+
def upgrade_available(self) -> pulumi.Output[bool]:
|
1520
|
+
"""
|
1521
|
+
Set to `true` if a newer Kubernetes version is available.
|
1522
|
+
"""
|
1523
|
+
return pulumi.get(self, "upgrade_available")
|
1524
|
+
|
1525
|
+
@property
|
1526
|
+
@pulumi.getter
|
1527
|
+
def version(self) -> pulumi.Output[str]:
|
1528
|
+
"""
|
1529
|
+
The version of the Kubernetes cluster.
|
1530
|
+
"""
|
1531
|
+
return pulumi.get(self, "version")
|
1532
|
+
|
1533
|
+
@property
|
1534
|
+
@pulumi.getter(name="wildcardDns")
|
1535
|
+
def wildcard_dns(self) -> pulumi.Output[str]:
|
1536
|
+
"""
|
1537
|
+
The DNS wildcard that points to all ready nodes.
|
1538
|
+
"""
|
1539
|
+
return pulumi.get(self, "wildcard_dns")
|
1540
|
+
|