pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.25.0a1742668904__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.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
- pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,593 @@
|
|
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__ = ['PublicGatewayPatRuleArgs', 'PublicGatewayPatRule']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class PublicGatewayPatRuleArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
gateway_id: pulumi.Input[str],
|
23
|
+
private_ip: pulumi.Input[str],
|
24
|
+
private_port: pulumi.Input[int],
|
25
|
+
public_port: pulumi.Input[int],
|
26
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
27
|
+
zone: Optional[pulumi.Input[str]] = None):
|
28
|
+
"""
|
29
|
+
The set of arguments for constructing a PublicGatewayPatRule resource.
|
30
|
+
:param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
|
31
|
+
:param pulumi.Input[str] private_ip: The private IP address to forward data to.
|
32
|
+
:param pulumi.Input[int] private_port: The private port to translate to.
|
33
|
+
:param pulumi.Input[int] public_port: The public port to listen on.
|
34
|
+
:param pulumi.Input[str] protocol: The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
35
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
36
|
+
"""
|
37
|
+
pulumi.set(__self__, "gateway_id", gateway_id)
|
38
|
+
pulumi.set(__self__, "private_ip", private_ip)
|
39
|
+
pulumi.set(__self__, "private_port", private_port)
|
40
|
+
pulumi.set(__self__, "public_port", public_port)
|
41
|
+
if protocol is not None:
|
42
|
+
pulumi.set(__self__, "protocol", protocol)
|
43
|
+
if zone is not None:
|
44
|
+
pulumi.set(__self__, "zone", zone)
|
45
|
+
|
46
|
+
@property
|
47
|
+
@pulumi.getter(name="gatewayId")
|
48
|
+
def gateway_id(self) -> pulumi.Input[str]:
|
49
|
+
"""
|
50
|
+
The ID of the Public Gateway.
|
51
|
+
"""
|
52
|
+
return pulumi.get(self, "gateway_id")
|
53
|
+
|
54
|
+
@gateway_id.setter
|
55
|
+
def gateway_id(self, value: pulumi.Input[str]):
|
56
|
+
pulumi.set(self, "gateway_id", value)
|
57
|
+
|
58
|
+
@property
|
59
|
+
@pulumi.getter(name="privateIp")
|
60
|
+
def private_ip(self) -> pulumi.Input[str]:
|
61
|
+
"""
|
62
|
+
The private IP address to forward data to.
|
63
|
+
"""
|
64
|
+
return pulumi.get(self, "private_ip")
|
65
|
+
|
66
|
+
@private_ip.setter
|
67
|
+
def private_ip(self, value: pulumi.Input[str]):
|
68
|
+
pulumi.set(self, "private_ip", value)
|
69
|
+
|
70
|
+
@property
|
71
|
+
@pulumi.getter(name="privatePort")
|
72
|
+
def private_port(self) -> pulumi.Input[int]:
|
73
|
+
"""
|
74
|
+
The private port to translate to.
|
75
|
+
"""
|
76
|
+
return pulumi.get(self, "private_port")
|
77
|
+
|
78
|
+
@private_port.setter
|
79
|
+
def private_port(self, value: pulumi.Input[int]):
|
80
|
+
pulumi.set(self, "private_port", value)
|
81
|
+
|
82
|
+
@property
|
83
|
+
@pulumi.getter(name="publicPort")
|
84
|
+
def public_port(self) -> pulumi.Input[int]:
|
85
|
+
"""
|
86
|
+
The public port to listen on.
|
87
|
+
"""
|
88
|
+
return pulumi.get(self, "public_port")
|
89
|
+
|
90
|
+
@public_port.setter
|
91
|
+
def public_port(self, value: pulumi.Input[int]):
|
92
|
+
pulumi.set(self, "public_port", value)
|
93
|
+
|
94
|
+
@property
|
95
|
+
@pulumi.getter
|
96
|
+
def protocol(self) -> Optional[pulumi.Input[str]]:
|
97
|
+
"""
|
98
|
+
The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
99
|
+
"""
|
100
|
+
return pulumi.get(self, "protocol")
|
101
|
+
|
102
|
+
@protocol.setter
|
103
|
+
def protocol(self, value: Optional[pulumi.Input[str]]):
|
104
|
+
pulumi.set(self, "protocol", value)
|
105
|
+
|
106
|
+
@property
|
107
|
+
@pulumi.getter
|
108
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
109
|
+
"""
|
110
|
+
`zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
111
|
+
"""
|
112
|
+
return pulumi.get(self, "zone")
|
113
|
+
|
114
|
+
@zone.setter
|
115
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
116
|
+
pulumi.set(self, "zone", value)
|
117
|
+
|
118
|
+
|
119
|
+
@pulumi.input_type
|
120
|
+
class _PublicGatewayPatRuleState:
|
121
|
+
def __init__(__self__, *,
|
122
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
123
|
+
gateway_id: Optional[pulumi.Input[str]] = None,
|
124
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
125
|
+
private_ip: Optional[pulumi.Input[str]] = None,
|
126
|
+
private_port: Optional[pulumi.Input[int]] = None,
|
127
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
128
|
+
public_port: Optional[pulumi.Input[int]] = None,
|
129
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
130
|
+
zone: Optional[pulumi.Input[str]] = None):
|
131
|
+
"""
|
132
|
+
Input properties used for looking up and filtering PublicGatewayPatRule resources.
|
133
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the PAT rule configuration.
|
134
|
+
:param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
|
135
|
+
:param pulumi.Input[str] organization_id: The Organization ID the PAT rule configuration is associated with.
|
136
|
+
:param pulumi.Input[str] private_ip: The private IP address to forward data to.
|
137
|
+
:param pulumi.Input[int] private_port: The private port to translate to.
|
138
|
+
:param pulumi.Input[str] protocol: The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
139
|
+
:param pulumi.Input[int] public_port: The public port to listen on.
|
140
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the PAT rule configuration.
|
141
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
142
|
+
"""
|
143
|
+
if created_at is not None:
|
144
|
+
pulumi.set(__self__, "created_at", created_at)
|
145
|
+
if gateway_id is not None:
|
146
|
+
pulumi.set(__self__, "gateway_id", gateway_id)
|
147
|
+
if organization_id is not None:
|
148
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
149
|
+
if private_ip is not None:
|
150
|
+
pulumi.set(__self__, "private_ip", private_ip)
|
151
|
+
if private_port is not None:
|
152
|
+
pulumi.set(__self__, "private_port", private_port)
|
153
|
+
if protocol is not None:
|
154
|
+
pulumi.set(__self__, "protocol", protocol)
|
155
|
+
if public_port is not None:
|
156
|
+
pulumi.set(__self__, "public_port", public_port)
|
157
|
+
if updated_at is not None:
|
158
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
159
|
+
if zone is not None:
|
160
|
+
pulumi.set(__self__, "zone", zone)
|
161
|
+
|
162
|
+
@property
|
163
|
+
@pulumi.getter(name="createdAt")
|
164
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
165
|
+
"""
|
166
|
+
The date and time of the creation of the PAT rule configuration.
|
167
|
+
"""
|
168
|
+
return pulumi.get(self, "created_at")
|
169
|
+
|
170
|
+
@created_at.setter
|
171
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
172
|
+
pulumi.set(self, "created_at", value)
|
173
|
+
|
174
|
+
@property
|
175
|
+
@pulumi.getter(name="gatewayId")
|
176
|
+
def gateway_id(self) -> Optional[pulumi.Input[str]]:
|
177
|
+
"""
|
178
|
+
The ID of the Public Gateway.
|
179
|
+
"""
|
180
|
+
return pulumi.get(self, "gateway_id")
|
181
|
+
|
182
|
+
@gateway_id.setter
|
183
|
+
def gateway_id(self, value: Optional[pulumi.Input[str]]):
|
184
|
+
pulumi.set(self, "gateway_id", value)
|
185
|
+
|
186
|
+
@property
|
187
|
+
@pulumi.getter(name="organizationId")
|
188
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
189
|
+
"""
|
190
|
+
The Organization ID the PAT rule configuration is associated with.
|
191
|
+
"""
|
192
|
+
return pulumi.get(self, "organization_id")
|
193
|
+
|
194
|
+
@organization_id.setter
|
195
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
196
|
+
pulumi.set(self, "organization_id", value)
|
197
|
+
|
198
|
+
@property
|
199
|
+
@pulumi.getter(name="privateIp")
|
200
|
+
def private_ip(self) -> Optional[pulumi.Input[str]]:
|
201
|
+
"""
|
202
|
+
The private IP address to forward data to.
|
203
|
+
"""
|
204
|
+
return pulumi.get(self, "private_ip")
|
205
|
+
|
206
|
+
@private_ip.setter
|
207
|
+
def private_ip(self, value: Optional[pulumi.Input[str]]):
|
208
|
+
pulumi.set(self, "private_ip", value)
|
209
|
+
|
210
|
+
@property
|
211
|
+
@pulumi.getter(name="privatePort")
|
212
|
+
def private_port(self) -> Optional[pulumi.Input[int]]:
|
213
|
+
"""
|
214
|
+
The private port to translate to.
|
215
|
+
"""
|
216
|
+
return pulumi.get(self, "private_port")
|
217
|
+
|
218
|
+
@private_port.setter
|
219
|
+
def private_port(self, value: Optional[pulumi.Input[int]]):
|
220
|
+
pulumi.set(self, "private_port", value)
|
221
|
+
|
222
|
+
@property
|
223
|
+
@pulumi.getter
|
224
|
+
def protocol(self) -> Optional[pulumi.Input[str]]:
|
225
|
+
"""
|
226
|
+
The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
227
|
+
"""
|
228
|
+
return pulumi.get(self, "protocol")
|
229
|
+
|
230
|
+
@protocol.setter
|
231
|
+
def protocol(self, value: Optional[pulumi.Input[str]]):
|
232
|
+
pulumi.set(self, "protocol", value)
|
233
|
+
|
234
|
+
@property
|
235
|
+
@pulumi.getter(name="publicPort")
|
236
|
+
def public_port(self) -> Optional[pulumi.Input[int]]:
|
237
|
+
"""
|
238
|
+
The public port to listen on.
|
239
|
+
"""
|
240
|
+
return pulumi.get(self, "public_port")
|
241
|
+
|
242
|
+
@public_port.setter
|
243
|
+
def public_port(self, value: Optional[pulumi.Input[int]]):
|
244
|
+
pulumi.set(self, "public_port", value)
|
245
|
+
|
246
|
+
@property
|
247
|
+
@pulumi.getter(name="updatedAt")
|
248
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
249
|
+
"""
|
250
|
+
The date and time of the last update of the PAT rule configuration.
|
251
|
+
"""
|
252
|
+
return pulumi.get(self, "updated_at")
|
253
|
+
|
254
|
+
@updated_at.setter
|
255
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
256
|
+
pulumi.set(self, "updated_at", value)
|
257
|
+
|
258
|
+
@property
|
259
|
+
@pulumi.getter
|
260
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
261
|
+
"""
|
262
|
+
`zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
263
|
+
"""
|
264
|
+
return pulumi.get(self, "zone")
|
265
|
+
|
266
|
+
@zone.setter
|
267
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
268
|
+
pulumi.set(self, "zone", value)
|
269
|
+
|
270
|
+
|
271
|
+
class PublicGatewayPatRule(pulumi.CustomResource):
|
272
|
+
@overload
|
273
|
+
def __init__(__self__,
|
274
|
+
resource_name: str,
|
275
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
276
|
+
gateway_id: Optional[pulumi.Input[str]] = None,
|
277
|
+
private_ip: Optional[pulumi.Input[str]] = None,
|
278
|
+
private_port: Optional[pulumi.Input[int]] = None,
|
279
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
280
|
+
public_port: Optional[pulumi.Input[int]] = None,
|
281
|
+
zone: Optional[pulumi.Input[str]] = None,
|
282
|
+
__props__=None):
|
283
|
+
"""
|
284
|
+
Creates and manages Scaleway Public Gateway PAT (Port Address Translation).
|
285
|
+
For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#pat-rules-e75d10).
|
286
|
+
|
287
|
+
## Example Usage
|
288
|
+
|
289
|
+
```python
|
290
|
+
import pulumi
|
291
|
+
import pulumiverse_scaleway as scaleway
|
292
|
+
|
293
|
+
sg01 = scaleway.instance.SecurityGroup("sg01",
|
294
|
+
inbound_default_policy="drop",
|
295
|
+
outbound_default_policy="accept",
|
296
|
+
inbound_rules=[{
|
297
|
+
"action": "accept",
|
298
|
+
"port": 22,
|
299
|
+
"protocol": "TCP",
|
300
|
+
}])
|
301
|
+
srv01 = scaleway.instance.Server("srv01",
|
302
|
+
name="my-server",
|
303
|
+
type="PLAY2-NANO",
|
304
|
+
image="ubuntu_jammy",
|
305
|
+
security_group_id=sg01.id)
|
306
|
+
pn01 = scaleway.network.PrivateNetwork("pn01", name="my-pn")
|
307
|
+
pnic01 = scaleway.instance.PrivateNic("pnic01",
|
308
|
+
server_id=srv01.id,
|
309
|
+
private_network_id=pn01.id)
|
310
|
+
dhcp01 = scaleway.network.PublicGatewayDhcp("dhcp01", subnet="192.168.0.0/24")
|
311
|
+
ip01 = scaleway.network.PublicGatewayIp("ip01")
|
312
|
+
pg01 = scaleway.network.PublicGateway("pg01",
|
313
|
+
name="my-pg",
|
314
|
+
type="VPC-GW-S",
|
315
|
+
ip_id=ip01.id)
|
316
|
+
gn01 = scaleway.network.GatewayNetwork("gn01",
|
317
|
+
gateway_id=pg01.id,
|
318
|
+
private_network_id=pn01.id,
|
319
|
+
dhcp_id=dhcp01.id,
|
320
|
+
cleanup_dhcp=True,
|
321
|
+
enable_masquerade=True)
|
322
|
+
rsv01 = scaleway.network.PublicGatewayDhcpReservation("rsv01",
|
323
|
+
gateway_network_id=gn01.id,
|
324
|
+
mac_address=pnic01.mac_address,
|
325
|
+
ip_address="192.168.0.7")
|
326
|
+
# PAT rule for SSH traffic
|
327
|
+
pat01 = scaleway.network.PublicGatewayPatRule("pat01",
|
328
|
+
gateway_id=pg01.id,
|
329
|
+
private_ip=rsv01.ip_address,
|
330
|
+
private_port=22,
|
331
|
+
public_port=2202,
|
332
|
+
protocol="tcp")
|
333
|
+
```
|
334
|
+
|
335
|
+
## Import
|
336
|
+
|
337
|
+
Public Gateway PAT rule configurations can be imported using `{zone}/{id}`, e.g.
|
338
|
+
|
339
|
+
bash
|
340
|
+
|
341
|
+
```sh
|
342
|
+
$ pulumi import scaleway:network/publicGatewayPatRule:PublicGatewayPatRule main fr-par-1/11111111-1111-1111-1111-111111111111
|
343
|
+
```
|
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] gateway_id: The ID of the Public Gateway.
|
348
|
+
:param pulumi.Input[str] private_ip: The private IP address to forward data to.
|
349
|
+
:param pulumi.Input[int] private_port: The private port to translate to.
|
350
|
+
:param pulumi.Input[str] protocol: The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
351
|
+
:param pulumi.Input[int] public_port: The public port to listen on.
|
352
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
353
|
+
"""
|
354
|
+
...
|
355
|
+
@overload
|
356
|
+
def __init__(__self__,
|
357
|
+
resource_name: str,
|
358
|
+
args: PublicGatewayPatRuleArgs,
|
359
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
360
|
+
"""
|
361
|
+
Creates and manages Scaleway Public Gateway PAT (Port Address Translation).
|
362
|
+
For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/public-gateway/#pat-rules-e75d10).
|
363
|
+
|
364
|
+
## Example Usage
|
365
|
+
|
366
|
+
```python
|
367
|
+
import pulumi
|
368
|
+
import pulumiverse_scaleway as scaleway
|
369
|
+
|
370
|
+
sg01 = scaleway.instance.SecurityGroup("sg01",
|
371
|
+
inbound_default_policy="drop",
|
372
|
+
outbound_default_policy="accept",
|
373
|
+
inbound_rules=[{
|
374
|
+
"action": "accept",
|
375
|
+
"port": 22,
|
376
|
+
"protocol": "TCP",
|
377
|
+
}])
|
378
|
+
srv01 = scaleway.instance.Server("srv01",
|
379
|
+
name="my-server",
|
380
|
+
type="PLAY2-NANO",
|
381
|
+
image="ubuntu_jammy",
|
382
|
+
security_group_id=sg01.id)
|
383
|
+
pn01 = scaleway.network.PrivateNetwork("pn01", name="my-pn")
|
384
|
+
pnic01 = scaleway.instance.PrivateNic("pnic01",
|
385
|
+
server_id=srv01.id,
|
386
|
+
private_network_id=pn01.id)
|
387
|
+
dhcp01 = scaleway.network.PublicGatewayDhcp("dhcp01", subnet="192.168.0.0/24")
|
388
|
+
ip01 = scaleway.network.PublicGatewayIp("ip01")
|
389
|
+
pg01 = scaleway.network.PublicGateway("pg01",
|
390
|
+
name="my-pg",
|
391
|
+
type="VPC-GW-S",
|
392
|
+
ip_id=ip01.id)
|
393
|
+
gn01 = scaleway.network.GatewayNetwork("gn01",
|
394
|
+
gateway_id=pg01.id,
|
395
|
+
private_network_id=pn01.id,
|
396
|
+
dhcp_id=dhcp01.id,
|
397
|
+
cleanup_dhcp=True,
|
398
|
+
enable_masquerade=True)
|
399
|
+
rsv01 = scaleway.network.PublicGatewayDhcpReservation("rsv01",
|
400
|
+
gateway_network_id=gn01.id,
|
401
|
+
mac_address=pnic01.mac_address,
|
402
|
+
ip_address="192.168.0.7")
|
403
|
+
# PAT rule for SSH traffic
|
404
|
+
pat01 = scaleway.network.PublicGatewayPatRule("pat01",
|
405
|
+
gateway_id=pg01.id,
|
406
|
+
private_ip=rsv01.ip_address,
|
407
|
+
private_port=22,
|
408
|
+
public_port=2202,
|
409
|
+
protocol="tcp")
|
410
|
+
```
|
411
|
+
|
412
|
+
## Import
|
413
|
+
|
414
|
+
Public Gateway PAT rule configurations can be imported using `{zone}/{id}`, e.g.
|
415
|
+
|
416
|
+
bash
|
417
|
+
|
418
|
+
```sh
|
419
|
+
$ pulumi import scaleway:network/publicGatewayPatRule:PublicGatewayPatRule main fr-par-1/11111111-1111-1111-1111-111111111111
|
420
|
+
```
|
421
|
+
|
422
|
+
:param str resource_name: The name of the resource.
|
423
|
+
:param PublicGatewayPatRuleArgs args: The arguments to use to populate this resource's properties.
|
424
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
425
|
+
"""
|
426
|
+
...
|
427
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
428
|
+
resource_args, opts = _utilities.get_resource_args_opts(PublicGatewayPatRuleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
429
|
+
if resource_args is not None:
|
430
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
431
|
+
else:
|
432
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
433
|
+
|
434
|
+
def _internal_init(__self__,
|
435
|
+
resource_name: str,
|
436
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
437
|
+
gateway_id: Optional[pulumi.Input[str]] = None,
|
438
|
+
private_ip: Optional[pulumi.Input[str]] = None,
|
439
|
+
private_port: Optional[pulumi.Input[int]] = None,
|
440
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
441
|
+
public_port: Optional[pulumi.Input[int]] = None,
|
442
|
+
zone: Optional[pulumi.Input[str]] = None,
|
443
|
+
__props__=None):
|
444
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
445
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
446
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
447
|
+
if opts.id is None:
|
448
|
+
if __props__ is not None:
|
449
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
450
|
+
__props__ = PublicGatewayPatRuleArgs.__new__(PublicGatewayPatRuleArgs)
|
451
|
+
|
452
|
+
if gateway_id is None and not opts.urn:
|
453
|
+
raise TypeError("Missing required property 'gateway_id'")
|
454
|
+
__props__.__dict__["gateway_id"] = gateway_id
|
455
|
+
if private_ip is None and not opts.urn:
|
456
|
+
raise TypeError("Missing required property 'private_ip'")
|
457
|
+
__props__.__dict__["private_ip"] = private_ip
|
458
|
+
if private_port is None and not opts.urn:
|
459
|
+
raise TypeError("Missing required property 'private_port'")
|
460
|
+
__props__.__dict__["private_port"] = private_port
|
461
|
+
__props__.__dict__["protocol"] = protocol
|
462
|
+
if public_port is None and not opts.urn:
|
463
|
+
raise TypeError("Missing required property 'public_port'")
|
464
|
+
__props__.__dict__["public_port"] = public_port
|
465
|
+
__props__.__dict__["zone"] = zone
|
466
|
+
__props__.__dict__["created_at"] = None
|
467
|
+
__props__.__dict__["organization_id"] = None
|
468
|
+
__props__.__dict__["updated_at"] = None
|
469
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/vpcPublicGatewayPatRule:VpcPublicGatewayPatRule")])
|
470
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
471
|
+
super(PublicGatewayPatRule, __self__).__init__(
|
472
|
+
'scaleway:network/publicGatewayPatRule:PublicGatewayPatRule',
|
473
|
+
resource_name,
|
474
|
+
__props__,
|
475
|
+
opts)
|
476
|
+
|
477
|
+
@staticmethod
|
478
|
+
def get(resource_name: str,
|
479
|
+
id: pulumi.Input[str],
|
480
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
481
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
482
|
+
gateway_id: Optional[pulumi.Input[str]] = None,
|
483
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
484
|
+
private_ip: Optional[pulumi.Input[str]] = None,
|
485
|
+
private_port: Optional[pulumi.Input[int]] = None,
|
486
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
487
|
+
public_port: Optional[pulumi.Input[int]] = None,
|
488
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
489
|
+
zone: Optional[pulumi.Input[str]] = None) -> 'PublicGatewayPatRule':
|
490
|
+
"""
|
491
|
+
Get an existing PublicGatewayPatRule resource's state with the given name, id, and optional extra
|
492
|
+
properties used to qualify the lookup.
|
493
|
+
|
494
|
+
:param str resource_name: The unique name of the resulting resource.
|
495
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
496
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
497
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the PAT rule configuration.
|
498
|
+
:param pulumi.Input[str] gateway_id: The ID of the Public Gateway.
|
499
|
+
:param pulumi.Input[str] organization_id: The Organization ID the PAT rule configuration is associated with.
|
500
|
+
:param pulumi.Input[str] private_ip: The private IP address to forward data to.
|
501
|
+
:param pulumi.Input[int] private_port: The private port to translate to.
|
502
|
+
:param pulumi.Input[str] protocol: The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
503
|
+
:param pulumi.Input[int] public_port: The public port to listen on.
|
504
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the PAT rule configuration.
|
505
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
506
|
+
"""
|
507
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
508
|
+
|
509
|
+
__props__ = _PublicGatewayPatRuleState.__new__(_PublicGatewayPatRuleState)
|
510
|
+
|
511
|
+
__props__.__dict__["created_at"] = created_at
|
512
|
+
__props__.__dict__["gateway_id"] = gateway_id
|
513
|
+
__props__.__dict__["organization_id"] = organization_id
|
514
|
+
__props__.__dict__["private_ip"] = private_ip
|
515
|
+
__props__.__dict__["private_port"] = private_port
|
516
|
+
__props__.__dict__["protocol"] = protocol
|
517
|
+
__props__.__dict__["public_port"] = public_port
|
518
|
+
__props__.__dict__["updated_at"] = updated_at
|
519
|
+
__props__.__dict__["zone"] = zone
|
520
|
+
return PublicGatewayPatRule(resource_name, opts=opts, __props__=__props__)
|
521
|
+
|
522
|
+
@property
|
523
|
+
@pulumi.getter(name="createdAt")
|
524
|
+
def created_at(self) -> pulumi.Output[str]:
|
525
|
+
"""
|
526
|
+
The date and time of the creation of the PAT rule configuration.
|
527
|
+
"""
|
528
|
+
return pulumi.get(self, "created_at")
|
529
|
+
|
530
|
+
@property
|
531
|
+
@pulumi.getter(name="gatewayId")
|
532
|
+
def gateway_id(self) -> pulumi.Output[str]:
|
533
|
+
"""
|
534
|
+
The ID of the Public Gateway.
|
535
|
+
"""
|
536
|
+
return pulumi.get(self, "gateway_id")
|
537
|
+
|
538
|
+
@property
|
539
|
+
@pulumi.getter(name="organizationId")
|
540
|
+
def organization_id(self) -> pulumi.Output[str]:
|
541
|
+
"""
|
542
|
+
The Organization ID the PAT rule configuration is associated with.
|
543
|
+
"""
|
544
|
+
return pulumi.get(self, "organization_id")
|
545
|
+
|
546
|
+
@property
|
547
|
+
@pulumi.getter(name="privateIp")
|
548
|
+
def private_ip(self) -> pulumi.Output[str]:
|
549
|
+
"""
|
550
|
+
The private IP address to forward data to.
|
551
|
+
"""
|
552
|
+
return pulumi.get(self, "private_ip")
|
553
|
+
|
554
|
+
@property
|
555
|
+
@pulumi.getter(name="privatePort")
|
556
|
+
def private_port(self) -> pulumi.Output[int]:
|
557
|
+
"""
|
558
|
+
The private port to translate to.
|
559
|
+
"""
|
560
|
+
return pulumi.get(self, "private_port")
|
561
|
+
|
562
|
+
@property
|
563
|
+
@pulumi.getter
|
564
|
+
def protocol(self) -> pulumi.Output[Optional[str]]:
|
565
|
+
"""
|
566
|
+
The protocol the rule should apply to. Possible values are `both`, `tcp` and `udp`.
|
567
|
+
"""
|
568
|
+
return pulumi.get(self, "protocol")
|
569
|
+
|
570
|
+
@property
|
571
|
+
@pulumi.getter(name="publicPort")
|
572
|
+
def public_port(self) -> pulumi.Output[int]:
|
573
|
+
"""
|
574
|
+
The public port to listen on.
|
575
|
+
"""
|
576
|
+
return pulumi.get(self, "public_port")
|
577
|
+
|
578
|
+
@property
|
579
|
+
@pulumi.getter(name="updatedAt")
|
580
|
+
def updated_at(self) -> pulumi.Output[str]:
|
581
|
+
"""
|
582
|
+
The date and time of the last update of the PAT rule configuration.
|
583
|
+
"""
|
584
|
+
return pulumi.get(self, "updated_at")
|
585
|
+
|
586
|
+
@property
|
587
|
+
@pulumi.getter
|
588
|
+
def zone(self) -> pulumi.Output[str]:
|
589
|
+
"""
|
590
|
+
`zone`) The zone in which the Public Gateway DHCP configuration should be created.
|
591
|
+
"""
|
592
|
+
return pulumi.get(self, "zone")
|
593
|
+
|