pulumiverse-scaleway 1.24.0a1741679978__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.0a1741679978.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.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.24.0a1741679978.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1063 @@
|
|
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__ = ['LoadBalancerArgs', 'LoadBalancer']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class LoadBalancerArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
type: pulumi.Input[str],
|
25
|
+
assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
|
26
|
+
assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
|
27
|
+
description: Optional[pulumi.Input[str]] = None,
|
28
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
29
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
30
|
+
name: Optional[pulumi.Input[str]] = None,
|
31
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]] = None,
|
32
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
33
|
+
release_ip: Optional[pulumi.Input[bool]] = None,
|
34
|
+
ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
|
35
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
36
|
+
zone: Optional[pulumi.Input[str]] = None):
|
37
|
+
"""
|
38
|
+
The set of arguments for constructing a LoadBalancer resource.
|
39
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
|
40
|
+
:param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
41
|
+
:param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
42
|
+
:param pulumi.Input[str] description: The description of the Load Balancer.
|
43
|
+
:param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
44
|
+
|
45
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
46
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
|
47
|
+
|
48
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
49
|
+
:param pulumi.Input[str] name: The name of the Load Balancer.
|
50
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]] private_networks: List of private network to connect with your load balancer.
|
51
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
|
52
|
+
:param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
53
|
+
:param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
54
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
|
55
|
+
:param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
|
56
|
+
"""
|
57
|
+
pulumi.set(__self__, "type", type)
|
58
|
+
if assign_flexible_ip is not None:
|
59
|
+
pulumi.set(__self__, "assign_flexible_ip", assign_flexible_ip)
|
60
|
+
if assign_flexible_ipv6 is not None:
|
61
|
+
pulumi.set(__self__, "assign_flexible_ipv6", assign_flexible_ipv6)
|
62
|
+
if description is not None:
|
63
|
+
pulumi.set(__self__, "description", description)
|
64
|
+
if ip_id is not None:
|
65
|
+
warnings.warn("""Please use ip_ids""", DeprecationWarning)
|
66
|
+
pulumi.log.warn("""ip_id is deprecated: Please use ip_ids""")
|
67
|
+
if ip_id is not None:
|
68
|
+
pulumi.set(__self__, "ip_id", ip_id)
|
69
|
+
if ip_ids is not None:
|
70
|
+
pulumi.set(__self__, "ip_ids", ip_ids)
|
71
|
+
if name is not None:
|
72
|
+
pulumi.set(__self__, "name", name)
|
73
|
+
if private_networks is not None:
|
74
|
+
pulumi.set(__self__, "private_networks", private_networks)
|
75
|
+
if project_id is not None:
|
76
|
+
pulumi.set(__self__, "project_id", project_id)
|
77
|
+
if release_ip is not None:
|
78
|
+
warnings.warn("""The resource ip will be destroyed by it's own resource. Please set this to `false`""", DeprecationWarning)
|
79
|
+
pulumi.log.warn("""release_ip is deprecated: The resource ip will be destroyed by it's own resource. Please set this to `false`""")
|
80
|
+
if release_ip is not None:
|
81
|
+
pulumi.set(__self__, "release_ip", release_ip)
|
82
|
+
if ssl_compatibility_level is not None:
|
83
|
+
pulumi.set(__self__, "ssl_compatibility_level", ssl_compatibility_level)
|
84
|
+
if tags is not None:
|
85
|
+
pulumi.set(__self__, "tags", tags)
|
86
|
+
if zone is not None:
|
87
|
+
pulumi.set(__self__, "zone", zone)
|
88
|
+
|
89
|
+
@property
|
90
|
+
@pulumi.getter
|
91
|
+
def type(self) -> pulumi.Input[str]:
|
92
|
+
"""
|
93
|
+
The type of the Load Balancer. Please check the migration section to upgrade the type.
|
94
|
+
"""
|
95
|
+
return pulumi.get(self, "type")
|
96
|
+
|
97
|
+
@type.setter
|
98
|
+
def type(self, value: pulumi.Input[str]):
|
99
|
+
pulumi.set(self, "type", value)
|
100
|
+
|
101
|
+
@property
|
102
|
+
@pulumi.getter(name="assignFlexibleIp")
|
103
|
+
def assign_flexible_ip(self) -> Optional[pulumi.Input[bool]]:
|
104
|
+
"""
|
105
|
+
Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
106
|
+
"""
|
107
|
+
return pulumi.get(self, "assign_flexible_ip")
|
108
|
+
|
109
|
+
@assign_flexible_ip.setter
|
110
|
+
def assign_flexible_ip(self, value: Optional[pulumi.Input[bool]]):
|
111
|
+
pulumi.set(self, "assign_flexible_ip", value)
|
112
|
+
|
113
|
+
@property
|
114
|
+
@pulumi.getter(name="assignFlexibleIpv6")
|
115
|
+
def assign_flexible_ipv6(self) -> Optional[pulumi.Input[bool]]:
|
116
|
+
"""
|
117
|
+
Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
118
|
+
"""
|
119
|
+
return pulumi.get(self, "assign_flexible_ipv6")
|
120
|
+
|
121
|
+
@assign_flexible_ipv6.setter
|
122
|
+
def assign_flexible_ipv6(self, value: Optional[pulumi.Input[bool]]):
|
123
|
+
pulumi.set(self, "assign_flexible_ipv6", value)
|
124
|
+
|
125
|
+
@property
|
126
|
+
@pulumi.getter
|
127
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
128
|
+
"""
|
129
|
+
The description of the Load Balancer.
|
130
|
+
"""
|
131
|
+
return pulumi.get(self, "description")
|
132
|
+
|
133
|
+
@description.setter
|
134
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
135
|
+
pulumi.set(self, "description", value)
|
136
|
+
|
137
|
+
@property
|
138
|
+
@pulumi.getter(name="ipId")
|
139
|
+
@_utilities.deprecated("""Please use ip_ids""")
|
140
|
+
def ip_id(self) -> Optional[pulumi.Input[str]]:
|
141
|
+
"""
|
142
|
+
Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
143
|
+
|
144
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
145
|
+
"""
|
146
|
+
return pulumi.get(self, "ip_id")
|
147
|
+
|
148
|
+
@ip_id.setter
|
149
|
+
def ip_id(self, value: Optional[pulumi.Input[str]]):
|
150
|
+
pulumi.set(self, "ip_id", value)
|
151
|
+
|
152
|
+
@property
|
153
|
+
@pulumi.getter(name="ipIds")
|
154
|
+
def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
155
|
+
"""
|
156
|
+
The List of IP IDs to attach to the Load Balancer.
|
157
|
+
|
158
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
159
|
+
"""
|
160
|
+
return pulumi.get(self, "ip_ids")
|
161
|
+
|
162
|
+
@ip_ids.setter
|
163
|
+
def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
164
|
+
pulumi.set(self, "ip_ids", value)
|
165
|
+
|
166
|
+
@property
|
167
|
+
@pulumi.getter
|
168
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
169
|
+
"""
|
170
|
+
The name of the Load Balancer.
|
171
|
+
"""
|
172
|
+
return pulumi.get(self, "name")
|
173
|
+
|
174
|
+
@name.setter
|
175
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
176
|
+
pulumi.set(self, "name", value)
|
177
|
+
|
178
|
+
@property
|
179
|
+
@pulumi.getter(name="privateNetworks")
|
180
|
+
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]:
|
181
|
+
"""
|
182
|
+
List of private network to connect with your load balancer.
|
183
|
+
"""
|
184
|
+
return pulumi.get(self, "private_networks")
|
185
|
+
|
186
|
+
@private_networks.setter
|
187
|
+
def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]):
|
188
|
+
pulumi.set(self, "private_networks", value)
|
189
|
+
|
190
|
+
@property
|
191
|
+
@pulumi.getter(name="projectId")
|
192
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
193
|
+
"""
|
194
|
+
`project_id`) The ID of the Project the Load Balancer is associated with.
|
195
|
+
"""
|
196
|
+
return pulumi.get(self, "project_id")
|
197
|
+
|
198
|
+
@project_id.setter
|
199
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
200
|
+
pulumi.set(self, "project_id", value)
|
201
|
+
|
202
|
+
@property
|
203
|
+
@pulumi.getter(name="releaseIp")
|
204
|
+
@_utilities.deprecated("""The resource ip will be destroyed by it's own resource. Please set this to `false`""")
|
205
|
+
def release_ip(self) -> Optional[pulumi.Input[bool]]:
|
206
|
+
"""
|
207
|
+
The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
208
|
+
"""
|
209
|
+
return pulumi.get(self, "release_ip")
|
210
|
+
|
211
|
+
@release_ip.setter
|
212
|
+
def release_ip(self, value: Optional[pulumi.Input[bool]]):
|
213
|
+
pulumi.set(self, "release_ip", value)
|
214
|
+
|
215
|
+
@property
|
216
|
+
@pulumi.getter(name="sslCompatibilityLevel")
|
217
|
+
def ssl_compatibility_level(self) -> Optional[pulumi.Input[str]]:
|
218
|
+
"""
|
219
|
+
Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
220
|
+
"""
|
221
|
+
return pulumi.get(self, "ssl_compatibility_level")
|
222
|
+
|
223
|
+
@ssl_compatibility_level.setter
|
224
|
+
def ssl_compatibility_level(self, value: Optional[pulumi.Input[str]]):
|
225
|
+
pulumi.set(self, "ssl_compatibility_level", value)
|
226
|
+
|
227
|
+
@property
|
228
|
+
@pulumi.getter
|
229
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
230
|
+
"""
|
231
|
+
The tags associated with the Load Balancer.
|
232
|
+
"""
|
233
|
+
return pulumi.get(self, "tags")
|
234
|
+
|
235
|
+
@tags.setter
|
236
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
237
|
+
pulumi.set(self, "tags", value)
|
238
|
+
|
239
|
+
@property
|
240
|
+
@pulumi.getter
|
241
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
242
|
+
"""
|
243
|
+
`zone`) The zone of the Load Balancer.
|
244
|
+
"""
|
245
|
+
return pulumi.get(self, "zone")
|
246
|
+
|
247
|
+
@zone.setter
|
248
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
249
|
+
pulumi.set(self, "zone", value)
|
250
|
+
|
251
|
+
|
252
|
+
@pulumi.input_type
|
253
|
+
class _LoadBalancerState:
|
254
|
+
def __init__(__self__, *,
|
255
|
+
assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
|
256
|
+
assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
|
257
|
+
description: Optional[pulumi.Input[str]] = None,
|
258
|
+
ip_address: Optional[pulumi.Input[str]] = None,
|
259
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
260
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
261
|
+
ipv6_address: Optional[pulumi.Input[str]] = None,
|
262
|
+
name: Optional[pulumi.Input[str]] = None,
|
263
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
264
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]] = None,
|
265
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
266
|
+
region: Optional[pulumi.Input[str]] = None,
|
267
|
+
release_ip: Optional[pulumi.Input[bool]] = None,
|
268
|
+
ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
|
269
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
270
|
+
type: Optional[pulumi.Input[str]] = None,
|
271
|
+
zone: Optional[pulumi.Input[str]] = None):
|
272
|
+
"""
|
273
|
+
Input properties used for looking up and filtering LoadBalancer resources.
|
274
|
+
:param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
275
|
+
:param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
276
|
+
:param pulumi.Input[str] description: The description of the Load Balancer.
|
277
|
+
:param pulumi.Input[str] ip_address: The Load Balancer public IPv4 address.
|
278
|
+
:param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
279
|
+
|
280
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
281
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
|
282
|
+
|
283
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
284
|
+
:param pulumi.Input[str] ipv6_address: The Load Balancer public IPv6 address.
|
285
|
+
:param pulumi.Input[str] name: The name of the Load Balancer.
|
286
|
+
:param pulumi.Input[str] organization_id: The ID of the Organization ID the Load Balancer is associated with.
|
287
|
+
:param pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]] private_networks: List of private network to connect with your load balancer.
|
288
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
|
289
|
+
:param pulumi.Input[str] region: The region of the resource
|
290
|
+
:param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
291
|
+
:param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
292
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
|
293
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
|
294
|
+
:param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
|
295
|
+
"""
|
296
|
+
if assign_flexible_ip is not None:
|
297
|
+
pulumi.set(__self__, "assign_flexible_ip", assign_flexible_ip)
|
298
|
+
if assign_flexible_ipv6 is not None:
|
299
|
+
pulumi.set(__self__, "assign_flexible_ipv6", assign_flexible_ipv6)
|
300
|
+
if description is not None:
|
301
|
+
pulumi.set(__self__, "description", description)
|
302
|
+
if ip_address is not None:
|
303
|
+
pulumi.set(__self__, "ip_address", ip_address)
|
304
|
+
if ip_id is not None:
|
305
|
+
warnings.warn("""Please use ip_ids""", DeprecationWarning)
|
306
|
+
pulumi.log.warn("""ip_id is deprecated: Please use ip_ids""")
|
307
|
+
if ip_id is not None:
|
308
|
+
pulumi.set(__self__, "ip_id", ip_id)
|
309
|
+
if ip_ids is not None:
|
310
|
+
pulumi.set(__self__, "ip_ids", ip_ids)
|
311
|
+
if ipv6_address is not None:
|
312
|
+
pulumi.set(__self__, "ipv6_address", ipv6_address)
|
313
|
+
if name is not None:
|
314
|
+
pulumi.set(__self__, "name", name)
|
315
|
+
if organization_id is not None:
|
316
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
317
|
+
if private_networks is not None:
|
318
|
+
pulumi.set(__self__, "private_networks", private_networks)
|
319
|
+
if project_id is not None:
|
320
|
+
pulumi.set(__self__, "project_id", project_id)
|
321
|
+
if region is not None:
|
322
|
+
pulumi.set(__self__, "region", region)
|
323
|
+
if release_ip is not None:
|
324
|
+
warnings.warn("""The resource ip will be destroyed by it's own resource. Please set this to `false`""", DeprecationWarning)
|
325
|
+
pulumi.log.warn("""release_ip is deprecated: The resource ip will be destroyed by it's own resource. Please set this to `false`""")
|
326
|
+
if release_ip is not None:
|
327
|
+
pulumi.set(__self__, "release_ip", release_ip)
|
328
|
+
if ssl_compatibility_level is not None:
|
329
|
+
pulumi.set(__self__, "ssl_compatibility_level", ssl_compatibility_level)
|
330
|
+
if tags is not None:
|
331
|
+
pulumi.set(__self__, "tags", tags)
|
332
|
+
if type is not None:
|
333
|
+
pulumi.set(__self__, "type", type)
|
334
|
+
if zone is not None:
|
335
|
+
pulumi.set(__self__, "zone", zone)
|
336
|
+
|
337
|
+
@property
|
338
|
+
@pulumi.getter(name="assignFlexibleIp")
|
339
|
+
def assign_flexible_ip(self) -> Optional[pulumi.Input[bool]]:
|
340
|
+
"""
|
341
|
+
Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
342
|
+
"""
|
343
|
+
return pulumi.get(self, "assign_flexible_ip")
|
344
|
+
|
345
|
+
@assign_flexible_ip.setter
|
346
|
+
def assign_flexible_ip(self, value: Optional[pulumi.Input[bool]]):
|
347
|
+
pulumi.set(self, "assign_flexible_ip", value)
|
348
|
+
|
349
|
+
@property
|
350
|
+
@pulumi.getter(name="assignFlexibleIpv6")
|
351
|
+
def assign_flexible_ipv6(self) -> Optional[pulumi.Input[bool]]:
|
352
|
+
"""
|
353
|
+
Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
354
|
+
"""
|
355
|
+
return pulumi.get(self, "assign_flexible_ipv6")
|
356
|
+
|
357
|
+
@assign_flexible_ipv6.setter
|
358
|
+
def assign_flexible_ipv6(self, value: Optional[pulumi.Input[bool]]):
|
359
|
+
pulumi.set(self, "assign_flexible_ipv6", value)
|
360
|
+
|
361
|
+
@property
|
362
|
+
@pulumi.getter
|
363
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
364
|
+
"""
|
365
|
+
The description of the Load Balancer.
|
366
|
+
"""
|
367
|
+
return pulumi.get(self, "description")
|
368
|
+
|
369
|
+
@description.setter
|
370
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
371
|
+
pulumi.set(self, "description", value)
|
372
|
+
|
373
|
+
@property
|
374
|
+
@pulumi.getter(name="ipAddress")
|
375
|
+
def ip_address(self) -> Optional[pulumi.Input[str]]:
|
376
|
+
"""
|
377
|
+
The Load Balancer public IPv4 address.
|
378
|
+
"""
|
379
|
+
return pulumi.get(self, "ip_address")
|
380
|
+
|
381
|
+
@ip_address.setter
|
382
|
+
def ip_address(self, value: Optional[pulumi.Input[str]]):
|
383
|
+
pulumi.set(self, "ip_address", value)
|
384
|
+
|
385
|
+
@property
|
386
|
+
@pulumi.getter(name="ipId")
|
387
|
+
@_utilities.deprecated("""Please use ip_ids""")
|
388
|
+
def ip_id(self) -> Optional[pulumi.Input[str]]:
|
389
|
+
"""
|
390
|
+
Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
391
|
+
|
392
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
393
|
+
"""
|
394
|
+
return pulumi.get(self, "ip_id")
|
395
|
+
|
396
|
+
@ip_id.setter
|
397
|
+
def ip_id(self, value: Optional[pulumi.Input[str]]):
|
398
|
+
pulumi.set(self, "ip_id", value)
|
399
|
+
|
400
|
+
@property
|
401
|
+
@pulumi.getter(name="ipIds")
|
402
|
+
def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
403
|
+
"""
|
404
|
+
The List of IP IDs to attach to the Load Balancer.
|
405
|
+
|
406
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
407
|
+
"""
|
408
|
+
return pulumi.get(self, "ip_ids")
|
409
|
+
|
410
|
+
@ip_ids.setter
|
411
|
+
def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
412
|
+
pulumi.set(self, "ip_ids", value)
|
413
|
+
|
414
|
+
@property
|
415
|
+
@pulumi.getter(name="ipv6Address")
|
416
|
+
def ipv6_address(self) -> Optional[pulumi.Input[str]]:
|
417
|
+
"""
|
418
|
+
The Load Balancer public IPv6 address.
|
419
|
+
"""
|
420
|
+
return pulumi.get(self, "ipv6_address")
|
421
|
+
|
422
|
+
@ipv6_address.setter
|
423
|
+
def ipv6_address(self, value: Optional[pulumi.Input[str]]):
|
424
|
+
pulumi.set(self, "ipv6_address", value)
|
425
|
+
|
426
|
+
@property
|
427
|
+
@pulumi.getter
|
428
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
429
|
+
"""
|
430
|
+
The name of the Load Balancer.
|
431
|
+
"""
|
432
|
+
return pulumi.get(self, "name")
|
433
|
+
|
434
|
+
@name.setter
|
435
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
436
|
+
pulumi.set(self, "name", value)
|
437
|
+
|
438
|
+
@property
|
439
|
+
@pulumi.getter(name="organizationId")
|
440
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
441
|
+
"""
|
442
|
+
The ID of the Organization ID the Load Balancer is associated with.
|
443
|
+
"""
|
444
|
+
return pulumi.get(self, "organization_id")
|
445
|
+
|
446
|
+
@organization_id.setter
|
447
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
448
|
+
pulumi.set(self, "organization_id", value)
|
449
|
+
|
450
|
+
@property
|
451
|
+
@pulumi.getter(name="privateNetworks")
|
452
|
+
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]:
|
453
|
+
"""
|
454
|
+
List of private network to connect with your load balancer.
|
455
|
+
"""
|
456
|
+
return pulumi.get(self, "private_networks")
|
457
|
+
|
458
|
+
@private_networks.setter
|
459
|
+
def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['LoadBalancerPrivateNetworkArgs']]]]):
|
460
|
+
pulumi.set(self, "private_networks", value)
|
461
|
+
|
462
|
+
@property
|
463
|
+
@pulumi.getter(name="projectId")
|
464
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
465
|
+
"""
|
466
|
+
`project_id`) The ID of the Project the Load Balancer is associated with.
|
467
|
+
"""
|
468
|
+
return pulumi.get(self, "project_id")
|
469
|
+
|
470
|
+
@project_id.setter
|
471
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
472
|
+
pulumi.set(self, "project_id", value)
|
473
|
+
|
474
|
+
@property
|
475
|
+
@pulumi.getter
|
476
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
477
|
+
"""
|
478
|
+
The region of the resource
|
479
|
+
"""
|
480
|
+
return pulumi.get(self, "region")
|
481
|
+
|
482
|
+
@region.setter
|
483
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
484
|
+
pulumi.set(self, "region", value)
|
485
|
+
|
486
|
+
@property
|
487
|
+
@pulumi.getter(name="releaseIp")
|
488
|
+
@_utilities.deprecated("""The resource ip will be destroyed by it's own resource. Please set this to `false`""")
|
489
|
+
def release_ip(self) -> Optional[pulumi.Input[bool]]:
|
490
|
+
"""
|
491
|
+
The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
492
|
+
"""
|
493
|
+
return pulumi.get(self, "release_ip")
|
494
|
+
|
495
|
+
@release_ip.setter
|
496
|
+
def release_ip(self, value: Optional[pulumi.Input[bool]]):
|
497
|
+
pulumi.set(self, "release_ip", value)
|
498
|
+
|
499
|
+
@property
|
500
|
+
@pulumi.getter(name="sslCompatibilityLevel")
|
501
|
+
def ssl_compatibility_level(self) -> Optional[pulumi.Input[str]]:
|
502
|
+
"""
|
503
|
+
Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
504
|
+
"""
|
505
|
+
return pulumi.get(self, "ssl_compatibility_level")
|
506
|
+
|
507
|
+
@ssl_compatibility_level.setter
|
508
|
+
def ssl_compatibility_level(self, value: Optional[pulumi.Input[str]]):
|
509
|
+
pulumi.set(self, "ssl_compatibility_level", value)
|
510
|
+
|
511
|
+
@property
|
512
|
+
@pulumi.getter
|
513
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
514
|
+
"""
|
515
|
+
The tags associated with the Load Balancer.
|
516
|
+
"""
|
517
|
+
return pulumi.get(self, "tags")
|
518
|
+
|
519
|
+
@tags.setter
|
520
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
521
|
+
pulumi.set(self, "tags", value)
|
522
|
+
|
523
|
+
@property
|
524
|
+
@pulumi.getter
|
525
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
526
|
+
"""
|
527
|
+
The type of the Load Balancer. Please check the migration section to upgrade the type.
|
528
|
+
"""
|
529
|
+
return pulumi.get(self, "type")
|
530
|
+
|
531
|
+
@type.setter
|
532
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
533
|
+
pulumi.set(self, "type", value)
|
534
|
+
|
535
|
+
@property
|
536
|
+
@pulumi.getter
|
537
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
538
|
+
"""
|
539
|
+
`zone`) The zone of the Load Balancer.
|
540
|
+
"""
|
541
|
+
return pulumi.get(self, "zone")
|
542
|
+
|
543
|
+
@zone.setter
|
544
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
545
|
+
pulumi.set(self, "zone", value)
|
546
|
+
|
547
|
+
|
548
|
+
class LoadBalancer(pulumi.CustomResource):
|
549
|
+
@overload
|
550
|
+
def __init__(__self__,
|
551
|
+
resource_name: str,
|
552
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
553
|
+
assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
|
554
|
+
assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
|
555
|
+
description: Optional[pulumi.Input[str]] = None,
|
556
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
557
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
558
|
+
name: Optional[pulumi.Input[str]] = None,
|
559
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]]] = None,
|
560
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
561
|
+
release_ip: Optional[pulumi.Input[bool]] = None,
|
562
|
+
ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
|
563
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
564
|
+
type: Optional[pulumi.Input[str]] = None,
|
565
|
+
zone: Optional[pulumi.Input[str]] = None,
|
566
|
+
__props__=None):
|
567
|
+
"""
|
568
|
+
Creates and manages Scaleway Load Balancers.
|
569
|
+
|
570
|
+
For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers).
|
571
|
+
|
572
|
+
## Example Usage
|
573
|
+
|
574
|
+
### Basic
|
575
|
+
|
576
|
+
```python
|
577
|
+
import pulumi
|
578
|
+
import pulumiverse_scaleway as scaleway
|
579
|
+
|
580
|
+
main = scaleway.loadbalancers.Ip("main", zone="fr-par-1")
|
581
|
+
base = scaleway.loadbalancers.LoadBalancer("base",
|
582
|
+
ip_ids=[main.id],
|
583
|
+
zone=main.zone,
|
584
|
+
type="LB-S")
|
585
|
+
```
|
586
|
+
|
587
|
+
### Private LB
|
588
|
+
|
589
|
+
```python
|
590
|
+
import pulumi
|
591
|
+
import pulumiverse_scaleway as scaleway
|
592
|
+
|
593
|
+
base = scaleway.loadbalancers.LoadBalancer("base",
|
594
|
+
name="private-lb",
|
595
|
+
type="LB-S",
|
596
|
+
assign_flexible_ip=False)
|
597
|
+
```
|
598
|
+
|
599
|
+
### With IPv6
|
600
|
+
|
601
|
+
```python
|
602
|
+
import pulumi
|
603
|
+
import pulumiverse_scaleway as scaleway
|
604
|
+
|
605
|
+
v4 = scaleway.loadbalancers.Ip("v4")
|
606
|
+
v6 = scaleway.loadbalancers.Ip("v6", is_ipv6=True)
|
607
|
+
main = scaleway.loadbalancers.LoadBalancer("main",
|
608
|
+
ip_ids=[
|
609
|
+
v4.id,
|
610
|
+
v6.id,
|
611
|
+
],
|
612
|
+
name="ipv6-lb",
|
613
|
+
type="LB-S")
|
614
|
+
```
|
615
|
+
|
616
|
+
### With IPAM IDs
|
617
|
+
|
618
|
+
```python
|
619
|
+
import pulumi
|
620
|
+
import pulumiverse_scaleway as scaleway
|
621
|
+
|
622
|
+
vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
|
623
|
+
pn01 = scaleway.network.PrivateNetwork("pn01",
|
624
|
+
vpc_id=vpc01.id,
|
625
|
+
ipv4_subnet={
|
626
|
+
"subnet": "172.16.32.0/22",
|
627
|
+
})
|
628
|
+
ip01 = scaleway.ipam.Ip("ip01",
|
629
|
+
address="172.16.32.7",
|
630
|
+
sources=[{
|
631
|
+
"private_network_id": pn01.id,
|
632
|
+
}])
|
633
|
+
v4 = scaleway.loadbalancers.Ip("v4")
|
634
|
+
lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
|
635
|
+
ip_ids=[v4.id],
|
636
|
+
name="my-lb",
|
637
|
+
type="LB-S",
|
638
|
+
private_networks=[{
|
639
|
+
"private_network_id": pn01.id,
|
640
|
+
"ipam_ids": ip01.id,
|
641
|
+
}])
|
642
|
+
```
|
643
|
+
|
644
|
+
## Migration
|
645
|
+
|
646
|
+
In order to migrate to other Load Balancer types, you can check upwards or downwards migration via our CLI `scw lb lb-types list`.
|
647
|
+
This change will not recreate your Load Balancer.
|
648
|
+
|
649
|
+
Please check our [documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-migrate-a-load-balancer) for further details.
|
650
|
+
|
651
|
+
## Import
|
652
|
+
|
653
|
+
Load Balancers can be imported using `{zone}/{id}`, e.g.
|
654
|
+
|
655
|
+
bash
|
656
|
+
|
657
|
+
```sh
|
658
|
+
$ pulumi import scaleway:loadbalancers/loadBalancer:LoadBalancer main fr-par-1/11111111-1111-1111-1111-111111111111
|
659
|
+
```
|
660
|
+
|
661
|
+
Be aware that you will also need to import the `scaleway_lb_ip` resource.
|
662
|
+
|
663
|
+
:param str resource_name: The name of the resource.
|
664
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
665
|
+
:param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
666
|
+
:param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
667
|
+
:param pulumi.Input[str] description: The description of the Load Balancer.
|
668
|
+
:param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
669
|
+
|
670
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
671
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
|
672
|
+
|
673
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
674
|
+
:param pulumi.Input[str] name: The name of the Load Balancer.
|
675
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]] private_networks: List of private network to connect with your load balancer.
|
676
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
|
677
|
+
:param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
678
|
+
:param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
679
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
|
680
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
|
681
|
+
:param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
|
682
|
+
"""
|
683
|
+
...
|
684
|
+
@overload
|
685
|
+
def __init__(__self__,
|
686
|
+
resource_name: str,
|
687
|
+
args: LoadBalancerArgs,
|
688
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
689
|
+
"""
|
690
|
+
Creates and manages Scaleway Load Balancers.
|
691
|
+
|
692
|
+
For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/concepts/#load-balancers) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-list-load-balancers).
|
693
|
+
|
694
|
+
## Example Usage
|
695
|
+
|
696
|
+
### Basic
|
697
|
+
|
698
|
+
```python
|
699
|
+
import pulumi
|
700
|
+
import pulumiverse_scaleway as scaleway
|
701
|
+
|
702
|
+
main = scaleway.loadbalancers.Ip("main", zone="fr-par-1")
|
703
|
+
base = scaleway.loadbalancers.LoadBalancer("base",
|
704
|
+
ip_ids=[main.id],
|
705
|
+
zone=main.zone,
|
706
|
+
type="LB-S")
|
707
|
+
```
|
708
|
+
|
709
|
+
### Private LB
|
710
|
+
|
711
|
+
```python
|
712
|
+
import pulumi
|
713
|
+
import pulumiverse_scaleway as scaleway
|
714
|
+
|
715
|
+
base = scaleway.loadbalancers.LoadBalancer("base",
|
716
|
+
name="private-lb",
|
717
|
+
type="LB-S",
|
718
|
+
assign_flexible_ip=False)
|
719
|
+
```
|
720
|
+
|
721
|
+
### With IPv6
|
722
|
+
|
723
|
+
```python
|
724
|
+
import pulumi
|
725
|
+
import pulumiverse_scaleway as scaleway
|
726
|
+
|
727
|
+
v4 = scaleway.loadbalancers.Ip("v4")
|
728
|
+
v6 = scaleway.loadbalancers.Ip("v6", is_ipv6=True)
|
729
|
+
main = scaleway.loadbalancers.LoadBalancer("main",
|
730
|
+
ip_ids=[
|
731
|
+
v4.id,
|
732
|
+
v6.id,
|
733
|
+
],
|
734
|
+
name="ipv6-lb",
|
735
|
+
type="LB-S")
|
736
|
+
```
|
737
|
+
|
738
|
+
### With IPAM IDs
|
739
|
+
|
740
|
+
```python
|
741
|
+
import pulumi
|
742
|
+
import pulumiverse_scaleway as scaleway
|
743
|
+
|
744
|
+
vpc01 = scaleway.network.Vpc("vpc01", name="my vpc")
|
745
|
+
pn01 = scaleway.network.PrivateNetwork("pn01",
|
746
|
+
vpc_id=vpc01.id,
|
747
|
+
ipv4_subnet={
|
748
|
+
"subnet": "172.16.32.0/22",
|
749
|
+
})
|
750
|
+
ip01 = scaleway.ipam.Ip("ip01",
|
751
|
+
address="172.16.32.7",
|
752
|
+
sources=[{
|
753
|
+
"private_network_id": pn01.id,
|
754
|
+
}])
|
755
|
+
v4 = scaleway.loadbalancers.Ip("v4")
|
756
|
+
lb01 = scaleway.loadbalancers.LoadBalancer("lb01",
|
757
|
+
ip_ids=[v4.id],
|
758
|
+
name="my-lb",
|
759
|
+
type="LB-S",
|
760
|
+
private_networks=[{
|
761
|
+
"private_network_id": pn01.id,
|
762
|
+
"ipam_ids": ip01.id,
|
763
|
+
}])
|
764
|
+
```
|
765
|
+
|
766
|
+
## Migration
|
767
|
+
|
768
|
+
In order to migrate to other Load Balancer types, you can check upwards or downwards migration via our CLI `scw lb lb-types list`.
|
769
|
+
This change will not recreate your Load Balancer.
|
770
|
+
|
771
|
+
Please check our [documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-migrate-a-load-balancer) for further details.
|
772
|
+
|
773
|
+
## Import
|
774
|
+
|
775
|
+
Load Balancers can be imported using `{zone}/{id}`, e.g.
|
776
|
+
|
777
|
+
bash
|
778
|
+
|
779
|
+
```sh
|
780
|
+
$ pulumi import scaleway:loadbalancers/loadBalancer:LoadBalancer main fr-par-1/11111111-1111-1111-1111-111111111111
|
781
|
+
```
|
782
|
+
|
783
|
+
Be aware that you will also need to import the `scaleway_lb_ip` resource.
|
784
|
+
|
785
|
+
:param str resource_name: The name of the resource.
|
786
|
+
:param LoadBalancerArgs args: The arguments to use to populate this resource's properties.
|
787
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
788
|
+
"""
|
789
|
+
...
|
790
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
791
|
+
resource_args, opts = _utilities.get_resource_args_opts(LoadBalancerArgs, pulumi.ResourceOptions, *args, **kwargs)
|
792
|
+
if resource_args is not None:
|
793
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
794
|
+
else:
|
795
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
796
|
+
|
797
|
+
def _internal_init(__self__,
|
798
|
+
resource_name: str,
|
799
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
800
|
+
assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
|
801
|
+
assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
|
802
|
+
description: Optional[pulumi.Input[str]] = None,
|
803
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
804
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
805
|
+
name: Optional[pulumi.Input[str]] = None,
|
806
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]]] = None,
|
807
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
808
|
+
release_ip: Optional[pulumi.Input[bool]] = None,
|
809
|
+
ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
|
810
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
811
|
+
type: Optional[pulumi.Input[str]] = None,
|
812
|
+
zone: Optional[pulumi.Input[str]] = None,
|
813
|
+
__props__=None):
|
814
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
815
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
816
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
817
|
+
if opts.id is None:
|
818
|
+
if __props__ is not None:
|
819
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
820
|
+
__props__ = LoadBalancerArgs.__new__(LoadBalancerArgs)
|
821
|
+
|
822
|
+
__props__.__dict__["assign_flexible_ip"] = assign_flexible_ip
|
823
|
+
__props__.__dict__["assign_flexible_ipv6"] = assign_flexible_ipv6
|
824
|
+
__props__.__dict__["description"] = description
|
825
|
+
__props__.__dict__["ip_id"] = ip_id
|
826
|
+
__props__.__dict__["ip_ids"] = ip_ids
|
827
|
+
__props__.__dict__["name"] = name
|
828
|
+
__props__.__dict__["private_networks"] = private_networks
|
829
|
+
__props__.__dict__["project_id"] = project_id
|
830
|
+
__props__.__dict__["release_ip"] = release_ip
|
831
|
+
__props__.__dict__["ssl_compatibility_level"] = ssl_compatibility_level
|
832
|
+
__props__.__dict__["tags"] = tags
|
833
|
+
if type is None and not opts.urn:
|
834
|
+
raise TypeError("Missing required property 'type'")
|
835
|
+
__props__.__dict__["type"] = type
|
836
|
+
__props__.__dict__["zone"] = zone
|
837
|
+
__props__.__dict__["ip_address"] = None
|
838
|
+
__props__.__dict__["ipv6_address"] = None
|
839
|
+
__props__.__dict__["organization_id"] = None
|
840
|
+
__props__.__dict__["region"] = None
|
841
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/loadbalancer:Loadbalancer")])
|
842
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
843
|
+
super(LoadBalancer, __self__).__init__(
|
844
|
+
'scaleway:loadbalancers/loadBalancer:LoadBalancer',
|
845
|
+
resource_name,
|
846
|
+
__props__,
|
847
|
+
opts)
|
848
|
+
|
849
|
+
@staticmethod
|
850
|
+
def get(resource_name: str,
|
851
|
+
id: pulumi.Input[str],
|
852
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
853
|
+
assign_flexible_ip: Optional[pulumi.Input[bool]] = None,
|
854
|
+
assign_flexible_ipv6: Optional[pulumi.Input[bool]] = None,
|
855
|
+
description: Optional[pulumi.Input[str]] = None,
|
856
|
+
ip_address: Optional[pulumi.Input[str]] = None,
|
857
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
858
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
859
|
+
ipv6_address: Optional[pulumi.Input[str]] = None,
|
860
|
+
name: Optional[pulumi.Input[str]] = None,
|
861
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
862
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]]] = None,
|
863
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
864
|
+
region: Optional[pulumi.Input[str]] = None,
|
865
|
+
release_ip: Optional[pulumi.Input[bool]] = None,
|
866
|
+
ssl_compatibility_level: Optional[pulumi.Input[str]] = None,
|
867
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
868
|
+
type: Optional[pulumi.Input[str]] = None,
|
869
|
+
zone: Optional[pulumi.Input[str]] = None) -> 'LoadBalancer':
|
870
|
+
"""
|
871
|
+
Get an existing LoadBalancer resource's state with the given name, id, and optional extra
|
872
|
+
properties used to qualify the lookup.
|
873
|
+
|
874
|
+
:param str resource_name: The unique name of the resulting resource.
|
875
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
876
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
877
|
+
:param pulumi.Input[bool] assign_flexible_ip: Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
878
|
+
:param pulumi.Input[bool] assign_flexible_ipv6: Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
879
|
+
:param pulumi.Input[str] description: The description of the Load Balancer.
|
880
|
+
:param pulumi.Input[str] ip_address: The Load Balancer public IPv4 address.
|
881
|
+
:param pulumi.Input[str] ip_id: Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
882
|
+
|
883
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
884
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: The List of IP IDs to attach to the Load Balancer.
|
885
|
+
|
886
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
887
|
+
:param pulumi.Input[str] ipv6_address: The Load Balancer public IPv6 address.
|
888
|
+
:param pulumi.Input[str] name: The name of the Load Balancer.
|
889
|
+
:param pulumi.Input[str] organization_id: The ID of the Organization ID the Load Balancer is associated with.
|
890
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['LoadBalancerPrivateNetworkArgs', 'LoadBalancerPrivateNetworkArgsDict']]]] private_networks: List of private network to connect with your load balancer.
|
891
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the Project the Load Balancer is associated with.
|
892
|
+
:param pulumi.Input[str] region: The region of the resource
|
893
|
+
:param pulumi.Input[bool] release_ip: The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
894
|
+
:param pulumi.Input[str] ssl_compatibility_level: Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
895
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the Load Balancer.
|
896
|
+
:param pulumi.Input[str] type: The type of the Load Balancer. Please check the migration section to upgrade the type.
|
897
|
+
:param pulumi.Input[str] zone: `zone`) The zone of the Load Balancer.
|
898
|
+
"""
|
899
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
900
|
+
|
901
|
+
__props__ = _LoadBalancerState.__new__(_LoadBalancerState)
|
902
|
+
|
903
|
+
__props__.__dict__["assign_flexible_ip"] = assign_flexible_ip
|
904
|
+
__props__.__dict__["assign_flexible_ipv6"] = assign_flexible_ipv6
|
905
|
+
__props__.__dict__["description"] = description
|
906
|
+
__props__.__dict__["ip_address"] = ip_address
|
907
|
+
__props__.__dict__["ip_id"] = ip_id
|
908
|
+
__props__.__dict__["ip_ids"] = ip_ids
|
909
|
+
__props__.__dict__["ipv6_address"] = ipv6_address
|
910
|
+
__props__.__dict__["name"] = name
|
911
|
+
__props__.__dict__["organization_id"] = organization_id
|
912
|
+
__props__.__dict__["private_networks"] = private_networks
|
913
|
+
__props__.__dict__["project_id"] = project_id
|
914
|
+
__props__.__dict__["region"] = region
|
915
|
+
__props__.__dict__["release_ip"] = release_ip
|
916
|
+
__props__.__dict__["ssl_compatibility_level"] = ssl_compatibility_level
|
917
|
+
__props__.__dict__["tags"] = tags
|
918
|
+
__props__.__dict__["type"] = type
|
919
|
+
__props__.__dict__["zone"] = zone
|
920
|
+
return LoadBalancer(resource_name, opts=opts, __props__=__props__)
|
921
|
+
|
922
|
+
@property
|
923
|
+
@pulumi.getter(name="assignFlexibleIp")
|
924
|
+
def assign_flexible_ip(self) -> pulumi.Output[Optional[bool]]:
|
925
|
+
"""
|
926
|
+
Defines whether to automatically assign a flexible public IPv4 to the Load Balancer.
|
927
|
+
"""
|
928
|
+
return pulumi.get(self, "assign_flexible_ip")
|
929
|
+
|
930
|
+
@property
|
931
|
+
@pulumi.getter(name="assignFlexibleIpv6")
|
932
|
+
def assign_flexible_ipv6(self) -> pulumi.Output[Optional[bool]]:
|
933
|
+
"""
|
934
|
+
Defines whether to automatically assign a flexible public IPv6 to the Load Balancer.
|
935
|
+
"""
|
936
|
+
return pulumi.get(self, "assign_flexible_ipv6")
|
937
|
+
|
938
|
+
@property
|
939
|
+
@pulumi.getter
|
940
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
941
|
+
"""
|
942
|
+
The description of the Load Balancer.
|
943
|
+
"""
|
944
|
+
return pulumi.get(self, "description")
|
945
|
+
|
946
|
+
@property
|
947
|
+
@pulumi.getter(name="ipAddress")
|
948
|
+
def ip_address(self) -> pulumi.Output[str]:
|
949
|
+
"""
|
950
|
+
The Load Balancer public IPv4 address.
|
951
|
+
"""
|
952
|
+
return pulumi.get(self, "ip_address")
|
953
|
+
|
954
|
+
@property
|
955
|
+
@pulumi.getter(name="ipId")
|
956
|
+
@_utilities.deprecated("""Please use ip_ids""")
|
957
|
+
def ip_id(self) -> pulumi.Output[str]:
|
958
|
+
"""
|
959
|
+
Please use `ip_ids`. The ID of the associated Load Balancer IP. See below.
|
960
|
+
|
961
|
+
> **Important:** Updates to `ip_id` will recreate the Load Balancer.
|
962
|
+
"""
|
963
|
+
return pulumi.get(self, "ip_id")
|
964
|
+
|
965
|
+
@property
|
966
|
+
@pulumi.getter(name="ipIds")
|
967
|
+
def ip_ids(self) -> pulumi.Output[Sequence[str]]:
|
968
|
+
"""
|
969
|
+
The List of IP IDs to attach to the Load Balancer.
|
970
|
+
|
971
|
+
> **Important:** Make sure to use a `loadbalancers.Ip` resource to create the IPs.
|
972
|
+
"""
|
973
|
+
return pulumi.get(self, "ip_ids")
|
974
|
+
|
975
|
+
@property
|
976
|
+
@pulumi.getter(name="ipv6Address")
|
977
|
+
def ipv6_address(self) -> pulumi.Output[str]:
|
978
|
+
"""
|
979
|
+
The Load Balancer public IPv6 address.
|
980
|
+
"""
|
981
|
+
return pulumi.get(self, "ipv6_address")
|
982
|
+
|
983
|
+
@property
|
984
|
+
@pulumi.getter
|
985
|
+
def name(self) -> pulumi.Output[str]:
|
986
|
+
"""
|
987
|
+
The name of the Load Balancer.
|
988
|
+
"""
|
989
|
+
return pulumi.get(self, "name")
|
990
|
+
|
991
|
+
@property
|
992
|
+
@pulumi.getter(name="organizationId")
|
993
|
+
def organization_id(self) -> pulumi.Output[str]:
|
994
|
+
"""
|
995
|
+
The ID of the Organization ID the Load Balancer is associated with.
|
996
|
+
"""
|
997
|
+
return pulumi.get(self, "organization_id")
|
998
|
+
|
999
|
+
@property
|
1000
|
+
@pulumi.getter(name="privateNetworks")
|
1001
|
+
def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.LoadBalancerPrivateNetwork']]]:
|
1002
|
+
"""
|
1003
|
+
List of private network to connect with your load balancer.
|
1004
|
+
"""
|
1005
|
+
return pulumi.get(self, "private_networks")
|
1006
|
+
|
1007
|
+
@property
|
1008
|
+
@pulumi.getter(name="projectId")
|
1009
|
+
def project_id(self) -> pulumi.Output[str]:
|
1010
|
+
"""
|
1011
|
+
`project_id`) The ID of the Project the Load Balancer is associated with.
|
1012
|
+
"""
|
1013
|
+
return pulumi.get(self, "project_id")
|
1014
|
+
|
1015
|
+
@property
|
1016
|
+
@pulumi.getter
|
1017
|
+
def region(self) -> pulumi.Output[str]:
|
1018
|
+
"""
|
1019
|
+
The region of the resource
|
1020
|
+
"""
|
1021
|
+
return pulumi.get(self, "region")
|
1022
|
+
|
1023
|
+
@property
|
1024
|
+
@pulumi.getter(name="releaseIp")
|
1025
|
+
@_utilities.deprecated("""The resource ip will be destroyed by it's own resource. Please set this to `false`""")
|
1026
|
+
def release_ip(self) -> pulumi.Output[Optional[bool]]:
|
1027
|
+
"""
|
1028
|
+
The `release_ip` allow the release of the IP address associated with the Load Balancer.
|
1029
|
+
"""
|
1030
|
+
return pulumi.get(self, "release_ip")
|
1031
|
+
|
1032
|
+
@property
|
1033
|
+
@pulumi.getter(name="sslCompatibilityLevel")
|
1034
|
+
def ssl_compatibility_level(self) -> pulumi.Output[Optional[str]]:
|
1035
|
+
"""
|
1036
|
+
Enforces minimal SSL version (in SSL/TLS offloading context). Please check [possible values](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-load-balancer-create-a-load-balancer).
|
1037
|
+
"""
|
1038
|
+
return pulumi.get(self, "ssl_compatibility_level")
|
1039
|
+
|
1040
|
+
@property
|
1041
|
+
@pulumi.getter
|
1042
|
+
def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1043
|
+
"""
|
1044
|
+
The tags associated with the Load Balancer.
|
1045
|
+
"""
|
1046
|
+
return pulumi.get(self, "tags")
|
1047
|
+
|
1048
|
+
@property
|
1049
|
+
@pulumi.getter
|
1050
|
+
def type(self) -> pulumi.Output[str]:
|
1051
|
+
"""
|
1052
|
+
The type of the Load Balancer. Please check the migration section to upgrade the type.
|
1053
|
+
"""
|
1054
|
+
return pulumi.get(self, "type")
|
1055
|
+
|
1056
|
+
@property
|
1057
|
+
@pulumi.getter
|
1058
|
+
def zone(self) -> pulumi.Output[str]:
|
1059
|
+
"""
|
1060
|
+
`zone`) The zone of the Load Balancer.
|
1061
|
+
"""
|
1062
|
+
return pulumi.get(self, "zone")
|
1063
|
+
|