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,610 @@
|
|
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
|
+
|
17
|
+
__all__ = ['SnapshotArgs', 'Snapshot']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class SnapshotArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
instance_id: pulumi.Input[str],
|
23
|
+
expires_at: Optional[pulumi.Input[str]] = None,
|
24
|
+
name: Optional[pulumi.Input[str]] = None,
|
25
|
+
region: Optional[pulumi.Input[str]] = None):
|
26
|
+
"""
|
27
|
+
The set of arguments for constructing a Snapshot resource.
|
28
|
+
:param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
|
29
|
+
:param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
30
|
+
:param pulumi.Input[str] name: The name of the snapshot.
|
31
|
+
:param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
32
|
+
"""
|
33
|
+
pulumi.set(__self__, "instance_id", instance_id)
|
34
|
+
if expires_at is not None:
|
35
|
+
pulumi.set(__self__, "expires_at", expires_at)
|
36
|
+
if name is not None:
|
37
|
+
pulumi.set(__self__, "name", name)
|
38
|
+
if region is not None:
|
39
|
+
pulumi.set(__self__, "region", region)
|
40
|
+
|
41
|
+
@property
|
42
|
+
@pulumi.getter(name="instanceId")
|
43
|
+
def instance_id(self) -> pulumi.Input[str]:
|
44
|
+
"""
|
45
|
+
The UUID of the database instance for which the snapshot is created.
|
46
|
+
"""
|
47
|
+
return pulumi.get(self, "instance_id")
|
48
|
+
|
49
|
+
@instance_id.setter
|
50
|
+
def instance_id(self, value: pulumi.Input[str]):
|
51
|
+
pulumi.set(self, "instance_id", value)
|
52
|
+
|
53
|
+
@property
|
54
|
+
@pulumi.getter(name="expiresAt")
|
55
|
+
def expires_at(self) -> Optional[pulumi.Input[str]]:
|
56
|
+
"""
|
57
|
+
Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
58
|
+
"""
|
59
|
+
return pulumi.get(self, "expires_at")
|
60
|
+
|
61
|
+
@expires_at.setter
|
62
|
+
def expires_at(self, value: Optional[pulumi.Input[str]]):
|
63
|
+
pulumi.set(self, "expires_at", value)
|
64
|
+
|
65
|
+
@property
|
66
|
+
@pulumi.getter
|
67
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
68
|
+
"""
|
69
|
+
The name of the snapshot.
|
70
|
+
"""
|
71
|
+
return pulumi.get(self, "name")
|
72
|
+
|
73
|
+
@name.setter
|
74
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
75
|
+
pulumi.set(self, "name", value)
|
76
|
+
|
77
|
+
@property
|
78
|
+
@pulumi.getter
|
79
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
80
|
+
"""
|
81
|
+
The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
82
|
+
"""
|
83
|
+
return pulumi.get(self, "region")
|
84
|
+
|
85
|
+
@region.setter
|
86
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
87
|
+
pulumi.set(self, "region", value)
|
88
|
+
|
89
|
+
|
90
|
+
@pulumi.input_type
|
91
|
+
class _SnapshotState:
|
92
|
+
def __init__(__self__, *,
|
93
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
94
|
+
expires_at: Optional[pulumi.Input[str]] = None,
|
95
|
+
instance_id: Optional[pulumi.Input[str]] = None,
|
96
|
+
name: Optional[pulumi.Input[str]] = None,
|
97
|
+
node_type: Optional[pulumi.Input[str]] = None,
|
98
|
+
region: Optional[pulumi.Input[str]] = None,
|
99
|
+
size: Optional[pulumi.Input[int]] = None,
|
100
|
+
status: Optional[pulumi.Input[str]] = None,
|
101
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
102
|
+
volume_type: Optional[pulumi.Input[str]] = None):
|
103
|
+
"""
|
104
|
+
Input properties used for looking up and filtering Snapshot resources.
|
105
|
+
:param pulumi.Input[str] created_at: The timestamp when the snapshot was created, in ISO 8601 format.
|
106
|
+
:param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
107
|
+
:param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
|
108
|
+
:param pulumi.Input[str] name: The name of the snapshot.
|
109
|
+
:param pulumi.Input[str] node_type: The type of the database instance for which the snapshot was created.
|
110
|
+
:param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
111
|
+
:param pulumi.Input[int] size: The size of the snapshot in bytes.
|
112
|
+
:param pulumi.Input[str] status: The current status of the snapshot (e.g., `ready`, `creating`, `error`).
|
113
|
+
:param pulumi.Input[str] updated_at: The timestamp when the snapshot was last updated, in ISO 8601 format.
|
114
|
+
:param pulumi.Input[str] volume_type: The type of volume used by the snapshot.
|
115
|
+
"""
|
116
|
+
if created_at is not None:
|
117
|
+
pulumi.set(__self__, "created_at", created_at)
|
118
|
+
if expires_at is not None:
|
119
|
+
pulumi.set(__self__, "expires_at", expires_at)
|
120
|
+
if instance_id is not None:
|
121
|
+
pulumi.set(__self__, "instance_id", instance_id)
|
122
|
+
if name is not None:
|
123
|
+
pulumi.set(__self__, "name", name)
|
124
|
+
if node_type is not None:
|
125
|
+
pulumi.set(__self__, "node_type", node_type)
|
126
|
+
if region is not None:
|
127
|
+
pulumi.set(__self__, "region", region)
|
128
|
+
if size is not None:
|
129
|
+
pulumi.set(__self__, "size", size)
|
130
|
+
if status is not None:
|
131
|
+
pulumi.set(__self__, "status", status)
|
132
|
+
if updated_at is not None:
|
133
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
134
|
+
if volume_type is not None:
|
135
|
+
pulumi.set(__self__, "volume_type", volume_type)
|
136
|
+
|
137
|
+
@property
|
138
|
+
@pulumi.getter(name="createdAt")
|
139
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
140
|
+
"""
|
141
|
+
The timestamp when the snapshot was created, in ISO 8601 format.
|
142
|
+
"""
|
143
|
+
return pulumi.get(self, "created_at")
|
144
|
+
|
145
|
+
@created_at.setter
|
146
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
147
|
+
pulumi.set(self, "created_at", value)
|
148
|
+
|
149
|
+
@property
|
150
|
+
@pulumi.getter(name="expiresAt")
|
151
|
+
def expires_at(self) -> Optional[pulumi.Input[str]]:
|
152
|
+
"""
|
153
|
+
Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
154
|
+
"""
|
155
|
+
return pulumi.get(self, "expires_at")
|
156
|
+
|
157
|
+
@expires_at.setter
|
158
|
+
def expires_at(self, value: Optional[pulumi.Input[str]]):
|
159
|
+
pulumi.set(self, "expires_at", value)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter(name="instanceId")
|
163
|
+
def instance_id(self) -> Optional[pulumi.Input[str]]:
|
164
|
+
"""
|
165
|
+
The UUID of the database instance for which the snapshot is created.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "instance_id")
|
168
|
+
|
169
|
+
@instance_id.setter
|
170
|
+
def instance_id(self, value: Optional[pulumi.Input[str]]):
|
171
|
+
pulumi.set(self, "instance_id", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter
|
175
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
The name of the snapshot.
|
178
|
+
"""
|
179
|
+
return pulumi.get(self, "name")
|
180
|
+
|
181
|
+
@name.setter
|
182
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
183
|
+
pulumi.set(self, "name", value)
|
184
|
+
|
185
|
+
@property
|
186
|
+
@pulumi.getter(name="nodeType")
|
187
|
+
def node_type(self) -> Optional[pulumi.Input[str]]:
|
188
|
+
"""
|
189
|
+
The type of the database instance for which the snapshot was created.
|
190
|
+
"""
|
191
|
+
return pulumi.get(self, "node_type")
|
192
|
+
|
193
|
+
@node_type.setter
|
194
|
+
def node_type(self, value: Optional[pulumi.Input[str]]):
|
195
|
+
pulumi.set(self, "node_type", value)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter
|
199
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
200
|
+
"""
|
201
|
+
The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
202
|
+
"""
|
203
|
+
return pulumi.get(self, "region")
|
204
|
+
|
205
|
+
@region.setter
|
206
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
207
|
+
pulumi.set(self, "region", value)
|
208
|
+
|
209
|
+
@property
|
210
|
+
@pulumi.getter
|
211
|
+
def size(self) -> Optional[pulumi.Input[int]]:
|
212
|
+
"""
|
213
|
+
The size of the snapshot in bytes.
|
214
|
+
"""
|
215
|
+
return pulumi.get(self, "size")
|
216
|
+
|
217
|
+
@size.setter
|
218
|
+
def size(self, value: Optional[pulumi.Input[int]]):
|
219
|
+
pulumi.set(self, "size", value)
|
220
|
+
|
221
|
+
@property
|
222
|
+
@pulumi.getter
|
223
|
+
def status(self) -> Optional[pulumi.Input[str]]:
|
224
|
+
"""
|
225
|
+
The current status of the snapshot (e.g., `ready`, `creating`, `error`).
|
226
|
+
"""
|
227
|
+
return pulumi.get(self, "status")
|
228
|
+
|
229
|
+
@status.setter
|
230
|
+
def status(self, value: Optional[pulumi.Input[str]]):
|
231
|
+
pulumi.set(self, "status", value)
|
232
|
+
|
233
|
+
@property
|
234
|
+
@pulumi.getter(name="updatedAt")
|
235
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
236
|
+
"""
|
237
|
+
The timestamp when the snapshot was last updated, in ISO 8601 format.
|
238
|
+
"""
|
239
|
+
return pulumi.get(self, "updated_at")
|
240
|
+
|
241
|
+
@updated_at.setter
|
242
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
243
|
+
pulumi.set(self, "updated_at", value)
|
244
|
+
|
245
|
+
@property
|
246
|
+
@pulumi.getter(name="volumeType")
|
247
|
+
def volume_type(self) -> Optional[pulumi.Input[str]]:
|
248
|
+
"""
|
249
|
+
The type of volume used by the snapshot.
|
250
|
+
"""
|
251
|
+
return pulumi.get(self, "volume_type")
|
252
|
+
|
253
|
+
@volume_type.setter
|
254
|
+
def volume_type(self, value: Optional[pulumi.Input[str]]):
|
255
|
+
pulumi.set(self, "volume_type", value)
|
256
|
+
|
257
|
+
|
258
|
+
class Snapshot(pulumi.CustomResource):
|
259
|
+
@overload
|
260
|
+
def __init__(__self__,
|
261
|
+
resource_name: str,
|
262
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
263
|
+
expires_at: Optional[pulumi.Input[str]] = None,
|
264
|
+
instance_id: Optional[pulumi.Input[str]] = None,
|
265
|
+
name: Optional[pulumi.Input[str]] = None,
|
266
|
+
region: Optional[pulumi.Input[str]] = None,
|
267
|
+
__props__=None):
|
268
|
+
"""
|
269
|
+
Creates and manages Scaleway RDB (Relational Database) Snapshots.
|
270
|
+
Snapshots are point-in-time backups of a database instance that can be used for recovery or duplication.
|
271
|
+
For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
|
272
|
+
|
273
|
+
## Example Usage
|
274
|
+
|
275
|
+
### Example Basic Snapshot
|
276
|
+
|
277
|
+
```python
|
278
|
+
import pulumi
|
279
|
+
import pulumiverse_scaleway as scaleway
|
280
|
+
|
281
|
+
main = scaleway.databases.Instance("main",
|
282
|
+
name="test-rdb-instance",
|
283
|
+
node_type="db-dev-s",
|
284
|
+
engine="PostgreSQL-15",
|
285
|
+
is_ha_cluster=False,
|
286
|
+
disable_backup=True,
|
287
|
+
user_name="my_initial_user",
|
288
|
+
password="thiZ_is_v&ry_s3cret",
|
289
|
+
tags=[
|
290
|
+
"terraform-test",
|
291
|
+
"scaleway_rdb_instance",
|
292
|
+
"minimal",
|
293
|
+
],
|
294
|
+
volume_type="bssd",
|
295
|
+
volume_size_in_gb=10)
|
296
|
+
test = scaleway.databases.Snapshot("test",
|
297
|
+
name="initial-snapshot",
|
298
|
+
instance_id=main.id,
|
299
|
+
opts = pulumi.ResourceOptions(depends_on=[main]))
|
300
|
+
```
|
301
|
+
|
302
|
+
### Example with Expiration
|
303
|
+
|
304
|
+
```python
|
305
|
+
import pulumi
|
306
|
+
import pulumiverse_scaleway as scaleway
|
307
|
+
|
308
|
+
snapshot_with_expiration = scaleway.databases.Snapshot("snapshot_with_expiration",
|
309
|
+
name="snapshot-with-expiration",
|
310
|
+
instance_id=main["id"],
|
311
|
+
expires_at="2025-01-31T00:00:00Z")
|
312
|
+
```
|
313
|
+
|
314
|
+
### Example with Multiple Snapshots
|
315
|
+
|
316
|
+
```python
|
317
|
+
import pulumi
|
318
|
+
import pulumiverse_scaleway as scaleway
|
319
|
+
|
320
|
+
snapshot_a = scaleway.databases.Snapshot("snapshot_a",
|
321
|
+
name="snapshot_a",
|
322
|
+
instance_id=main["id"],
|
323
|
+
opts = pulumi.ResourceOptions(depends_on=[main]))
|
324
|
+
snapshot_b = scaleway.databases.Snapshot("snapshot_b",
|
325
|
+
name="snapshot_b",
|
326
|
+
instance_id=main["id"],
|
327
|
+
expires_at="2025-02-07T00:00:00Z",
|
328
|
+
opts = pulumi.ResourceOptions(depends_on=[main]))
|
329
|
+
```
|
330
|
+
|
331
|
+
## Limitations
|
332
|
+
|
333
|
+
- Snapshots are tied to the database instance and region where they are created.
|
334
|
+
- Expired snapshots are automatically deleted and cannot be restored.
|
335
|
+
|
336
|
+
## Notes
|
337
|
+
|
338
|
+
- Ensure the `instance_id` corresponds to an existing database instance.
|
339
|
+
- Use the `depends_on` argument when creating snapshots right after creating an instance to ensure proper dependency management.
|
340
|
+
|
341
|
+
## Import
|
342
|
+
|
343
|
+
RDB Snapshots can be imported using the `{region}/{snapshot_id}` format.
|
344
|
+
|
345
|
+
:param str resource_name: The name of the resource.
|
346
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
347
|
+
:param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
348
|
+
:param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
|
349
|
+
:param pulumi.Input[str] name: The name of the snapshot.
|
350
|
+
:param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
351
|
+
"""
|
352
|
+
...
|
353
|
+
@overload
|
354
|
+
def __init__(__self__,
|
355
|
+
resource_name: str,
|
356
|
+
args: SnapshotArgs,
|
357
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
358
|
+
"""
|
359
|
+
Creates and manages Scaleway RDB (Relational Database) Snapshots.
|
360
|
+
Snapshots are point-in-time backups of a database instance that can be used for recovery or duplication.
|
361
|
+
For more information, refer to [the API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/).
|
362
|
+
|
363
|
+
## Example Usage
|
364
|
+
|
365
|
+
### Example Basic Snapshot
|
366
|
+
|
367
|
+
```python
|
368
|
+
import pulumi
|
369
|
+
import pulumiverse_scaleway as scaleway
|
370
|
+
|
371
|
+
main = scaleway.databases.Instance("main",
|
372
|
+
name="test-rdb-instance",
|
373
|
+
node_type="db-dev-s",
|
374
|
+
engine="PostgreSQL-15",
|
375
|
+
is_ha_cluster=False,
|
376
|
+
disable_backup=True,
|
377
|
+
user_name="my_initial_user",
|
378
|
+
password="thiZ_is_v&ry_s3cret",
|
379
|
+
tags=[
|
380
|
+
"terraform-test",
|
381
|
+
"scaleway_rdb_instance",
|
382
|
+
"minimal",
|
383
|
+
],
|
384
|
+
volume_type="bssd",
|
385
|
+
volume_size_in_gb=10)
|
386
|
+
test = scaleway.databases.Snapshot("test",
|
387
|
+
name="initial-snapshot",
|
388
|
+
instance_id=main.id,
|
389
|
+
opts = pulumi.ResourceOptions(depends_on=[main]))
|
390
|
+
```
|
391
|
+
|
392
|
+
### Example with Expiration
|
393
|
+
|
394
|
+
```python
|
395
|
+
import pulumi
|
396
|
+
import pulumiverse_scaleway as scaleway
|
397
|
+
|
398
|
+
snapshot_with_expiration = scaleway.databases.Snapshot("snapshot_with_expiration",
|
399
|
+
name="snapshot-with-expiration",
|
400
|
+
instance_id=main["id"],
|
401
|
+
expires_at="2025-01-31T00:00:00Z")
|
402
|
+
```
|
403
|
+
|
404
|
+
### Example with Multiple Snapshots
|
405
|
+
|
406
|
+
```python
|
407
|
+
import pulumi
|
408
|
+
import pulumiverse_scaleway as scaleway
|
409
|
+
|
410
|
+
snapshot_a = scaleway.databases.Snapshot("snapshot_a",
|
411
|
+
name="snapshot_a",
|
412
|
+
instance_id=main["id"],
|
413
|
+
opts = pulumi.ResourceOptions(depends_on=[main]))
|
414
|
+
snapshot_b = scaleway.databases.Snapshot("snapshot_b",
|
415
|
+
name="snapshot_b",
|
416
|
+
instance_id=main["id"],
|
417
|
+
expires_at="2025-02-07T00:00:00Z",
|
418
|
+
opts = pulumi.ResourceOptions(depends_on=[main]))
|
419
|
+
```
|
420
|
+
|
421
|
+
## Limitations
|
422
|
+
|
423
|
+
- Snapshots are tied to the database instance and region where they are created.
|
424
|
+
- Expired snapshots are automatically deleted and cannot be restored.
|
425
|
+
|
426
|
+
## Notes
|
427
|
+
|
428
|
+
- Ensure the `instance_id` corresponds to an existing database instance.
|
429
|
+
- Use the `depends_on` argument when creating snapshots right after creating an instance to ensure proper dependency management.
|
430
|
+
|
431
|
+
## Import
|
432
|
+
|
433
|
+
RDB Snapshots can be imported using the `{region}/{snapshot_id}` format.
|
434
|
+
|
435
|
+
:param str resource_name: The name of the resource.
|
436
|
+
:param SnapshotArgs args: The arguments to use to populate this resource's properties.
|
437
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
438
|
+
"""
|
439
|
+
...
|
440
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
441
|
+
resource_args, opts = _utilities.get_resource_args_opts(SnapshotArgs, pulumi.ResourceOptions, *args, **kwargs)
|
442
|
+
if resource_args is not None:
|
443
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
444
|
+
else:
|
445
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
446
|
+
|
447
|
+
def _internal_init(__self__,
|
448
|
+
resource_name: str,
|
449
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
450
|
+
expires_at: Optional[pulumi.Input[str]] = None,
|
451
|
+
instance_id: Optional[pulumi.Input[str]] = None,
|
452
|
+
name: Optional[pulumi.Input[str]] = None,
|
453
|
+
region: Optional[pulumi.Input[str]] = None,
|
454
|
+
__props__=None):
|
455
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
456
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
457
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
458
|
+
if opts.id is None:
|
459
|
+
if __props__ is not None:
|
460
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
461
|
+
__props__ = SnapshotArgs.__new__(SnapshotArgs)
|
462
|
+
|
463
|
+
__props__.__dict__["expires_at"] = expires_at
|
464
|
+
if instance_id is None and not opts.urn:
|
465
|
+
raise TypeError("Missing required property 'instance_id'")
|
466
|
+
__props__.__dict__["instance_id"] = instance_id
|
467
|
+
__props__.__dict__["name"] = name
|
468
|
+
__props__.__dict__["region"] = region
|
469
|
+
__props__.__dict__["created_at"] = None
|
470
|
+
__props__.__dict__["node_type"] = None
|
471
|
+
__props__.__dict__["size"] = None
|
472
|
+
__props__.__dict__["status"] = None
|
473
|
+
__props__.__dict__["updated_at"] = None
|
474
|
+
__props__.__dict__["volume_type"] = None
|
475
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/rdbSnapshot:RdbSnapshot")])
|
476
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
477
|
+
super(Snapshot, __self__).__init__(
|
478
|
+
'scaleway:databases/snapshot:Snapshot',
|
479
|
+
resource_name,
|
480
|
+
__props__,
|
481
|
+
opts)
|
482
|
+
|
483
|
+
@staticmethod
|
484
|
+
def get(resource_name: str,
|
485
|
+
id: pulumi.Input[str],
|
486
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
487
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
488
|
+
expires_at: Optional[pulumi.Input[str]] = None,
|
489
|
+
instance_id: Optional[pulumi.Input[str]] = None,
|
490
|
+
name: Optional[pulumi.Input[str]] = None,
|
491
|
+
node_type: Optional[pulumi.Input[str]] = None,
|
492
|
+
region: Optional[pulumi.Input[str]] = None,
|
493
|
+
size: Optional[pulumi.Input[int]] = None,
|
494
|
+
status: Optional[pulumi.Input[str]] = None,
|
495
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
496
|
+
volume_type: Optional[pulumi.Input[str]] = None) -> 'Snapshot':
|
497
|
+
"""
|
498
|
+
Get an existing Snapshot resource's state with the given name, id, and optional extra
|
499
|
+
properties used to qualify the lookup.
|
500
|
+
|
501
|
+
:param str resource_name: The unique name of the resulting resource.
|
502
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
503
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
504
|
+
:param pulumi.Input[str] created_at: The timestamp when the snapshot was created, in ISO 8601 format.
|
505
|
+
:param pulumi.Input[str] expires_at: Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
506
|
+
:param pulumi.Input[str] instance_id: The UUID of the database instance for which the snapshot is created.
|
507
|
+
:param pulumi.Input[str] name: The name of the snapshot.
|
508
|
+
:param pulumi.Input[str] node_type: The type of the database instance for which the snapshot was created.
|
509
|
+
:param pulumi.Input[str] region: The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
510
|
+
:param pulumi.Input[int] size: The size of the snapshot in bytes.
|
511
|
+
:param pulumi.Input[str] status: The current status of the snapshot (e.g., `ready`, `creating`, `error`).
|
512
|
+
:param pulumi.Input[str] updated_at: The timestamp when the snapshot was last updated, in ISO 8601 format.
|
513
|
+
:param pulumi.Input[str] volume_type: The type of volume used by the snapshot.
|
514
|
+
"""
|
515
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
516
|
+
|
517
|
+
__props__ = _SnapshotState.__new__(_SnapshotState)
|
518
|
+
|
519
|
+
__props__.__dict__["created_at"] = created_at
|
520
|
+
__props__.__dict__["expires_at"] = expires_at
|
521
|
+
__props__.__dict__["instance_id"] = instance_id
|
522
|
+
__props__.__dict__["name"] = name
|
523
|
+
__props__.__dict__["node_type"] = node_type
|
524
|
+
__props__.__dict__["region"] = region
|
525
|
+
__props__.__dict__["size"] = size
|
526
|
+
__props__.__dict__["status"] = status
|
527
|
+
__props__.__dict__["updated_at"] = updated_at
|
528
|
+
__props__.__dict__["volume_type"] = volume_type
|
529
|
+
return Snapshot(resource_name, opts=opts, __props__=__props__)
|
530
|
+
|
531
|
+
@property
|
532
|
+
@pulumi.getter(name="createdAt")
|
533
|
+
def created_at(self) -> pulumi.Output[str]:
|
534
|
+
"""
|
535
|
+
The timestamp when the snapshot was created, in ISO 8601 format.
|
536
|
+
"""
|
537
|
+
return pulumi.get(self, "created_at")
|
538
|
+
|
539
|
+
@property
|
540
|
+
@pulumi.getter(name="expiresAt")
|
541
|
+
def expires_at(self) -> pulumi.Output[str]:
|
542
|
+
"""
|
543
|
+
Expiration date of the snapshot in ISO 8601 format (e.g., `2025-01-31T00:00:00Z`). If not set, the snapshot will not expire automatically.
|
544
|
+
"""
|
545
|
+
return pulumi.get(self, "expires_at")
|
546
|
+
|
547
|
+
@property
|
548
|
+
@pulumi.getter(name="instanceId")
|
549
|
+
def instance_id(self) -> pulumi.Output[str]:
|
550
|
+
"""
|
551
|
+
The UUID of the database instance for which the snapshot is created.
|
552
|
+
"""
|
553
|
+
return pulumi.get(self, "instance_id")
|
554
|
+
|
555
|
+
@property
|
556
|
+
@pulumi.getter
|
557
|
+
def name(self) -> pulumi.Output[str]:
|
558
|
+
"""
|
559
|
+
The name of the snapshot.
|
560
|
+
"""
|
561
|
+
return pulumi.get(self, "name")
|
562
|
+
|
563
|
+
@property
|
564
|
+
@pulumi.getter(name="nodeType")
|
565
|
+
def node_type(self) -> pulumi.Output[str]:
|
566
|
+
"""
|
567
|
+
The type of the database instance for which the snapshot was created.
|
568
|
+
"""
|
569
|
+
return pulumi.get(self, "node_type")
|
570
|
+
|
571
|
+
@property
|
572
|
+
@pulumi.getter
|
573
|
+
def region(self) -> pulumi.Output[str]:
|
574
|
+
"""
|
575
|
+
The region where the snapshot is stored. Defaults to the region set in the provider configuration.
|
576
|
+
"""
|
577
|
+
return pulumi.get(self, "region")
|
578
|
+
|
579
|
+
@property
|
580
|
+
@pulumi.getter
|
581
|
+
def size(self) -> pulumi.Output[int]:
|
582
|
+
"""
|
583
|
+
The size of the snapshot in bytes.
|
584
|
+
"""
|
585
|
+
return pulumi.get(self, "size")
|
586
|
+
|
587
|
+
@property
|
588
|
+
@pulumi.getter
|
589
|
+
def status(self) -> pulumi.Output[str]:
|
590
|
+
"""
|
591
|
+
The current status of the snapshot (e.g., `ready`, `creating`, `error`).
|
592
|
+
"""
|
593
|
+
return pulumi.get(self, "status")
|
594
|
+
|
595
|
+
@property
|
596
|
+
@pulumi.getter(name="updatedAt")
|
597
|
+
def updated_at(self) -> pulumi.Output[str]:
|
598
|
+
"""
|
599
|
+
The timestamp when the snapshot was last updated, in ISO 8601 format.
|
600
|
+
"""
|
601
|
+
return pulumi.get(self, "updated_at")
|
602
|
+
|
603
|
+
@property
|
604
|
+
@pulumi.getter(name="volumeType")
|
605
|
+
def volume_type(self) -> pulumi.Output[str]:
|
606
|
+
"""
|
607
|
+
The type of volume used by the snapshot.
|
608
|
+
"""
|
609
|
+
return pulumi.get(self, "volume_type")
|
610
|
+
|