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,522 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
18
|
+
|
19
|
+
__all__ = ['AclArgs', 'Acl']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class AclArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
action: pulumi.Input['AclActionArgs'],
|
25
|
+
frontend_id: pulumi.Input[str],
|
26
|
+
index: pulumi.Input[int],
|
27
|
+
description: Optional[pulumi.Input[str]] = None,
|
28
|
+
match: Optional[pulumi.Input['AclMatchArgs']] = None,
|
29
|
+
name: Optional[pulumi.Input[str]] = None):
|
30
|
+
"""
|
31
|
+
The set of arguments for constructing a Acl resource.
|
32
|
+
:param pulumi.Input['AclActionArgs'] action: Action to undertake when an ACL filter matches.
|
33
|
+
:param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
|
34
|
+
:param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
35
|
+
:param pulumi.Input[str] description: The ACL description.
|
36
|
+
:param pulumi.Input['AclMatchArgs'] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
37
|
+
:param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
|
38
|
+
"""
|
39
|
+
pulumi.set(__self__, "action", action)
|
40
|
+
pulumi.set(__self__, "frontend_id", frontend_id)
|
41
|
+
pulumi.set(__self__, "index", index)
|
42
|
+
if description is not None:
|
43
|
+
pulumi.set(__self__, "description", description)
|
44
|
+
if match is not None:
|
45
|
+
pulumi.set(__self__, "match", match)
|
46
|
+
if name is not None:
|
47
|
+
pulumi.set(__self__, "name", name)
|
48
|
+
|
49
|
+
@property
|
50
|
+
@pulumi.getter
|
51
|
+
def action(self) -> pulumi.Input['AclActionArgs']:
|
52
|
+
"""
|
53
|
+
Action to undertake when an ACL filter matches.
|
54
|
+
"""
|
55
|
+
return pulumi.get(self, "action")
|
56
|
+
|
57
|
+
@action.setter
|
58
|
+
def action(self, value: pulumi.Input['AclActionArgs']):
|
59
|
+
pulumi.set(self, "action", value)
|
60
|
+
|
61
|
+
@property
|
62
|
+
@pulumi.getter(name="frontendId")
|
63
|
+
def frontend_id(self) -> pulumi.Input[str]:
|
64
|
+
"""
|
65
|
+
The ID of the Load Balancer frontend to attach the ACL to.
|
66
|
+
"""
|
67
|
+
return pulumi.get(self, "frontend_id")
|
68
|
+
|
69
|
+
@frontend_id.setter
|
70
|
+
def frontend_id(self, value: pulumi.Input[str]):
|
71
|
+
pulumi.set(self, "frontend_id", value)
|
72
|
+
|
73
|
+
@property
|
74
|
+
@pulumi.getter
|
75
|
+
def index(self) -> pulumi.Input[int]:
|
76
|
+
"""
|
77
|
+
The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
78
|
+
"""
|
79
|
+
return pulumi.get(self, "index")
|
80
|
+
|
81
|
+
@index.setter
|
82
|
+
def index(self, value: pulumi.Input[int]):
|
83
|
+
pulumi.set(self, "index", value)
|
84
|
+
|
85
|
+
@property
|
86
|
+
@pulumi.getter
|
87
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
88
|
+
"""
|
89
|
+
The ACL description.
|
90
|
+
"""
|
91
|
+
return pulumi.get(self, "description")
|
92
|
+
|
93
|
+
@description.setter
|
94
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
95
|
+
pulumi.set(self, "description", value)
|
96
|
+
|
97
|
+
@property
|
98
|
+
@pulumi.getter
|
99
|
+
def match(self) -> Optional[pulumi.Input['AclMatchArgs']]:
|
100
|
+
"""
|
101
|
+
The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
102
|
+
"""
|
103
|
+
return pulumi.get(self, "match")
|
104
|
+
|
105
|
+
@match.setter
|
106
|
+
def match(self, value: Optional[pulumi.Input['AclMatchArgs']]):
|
107
|
+
pulumi.set(self, "match", value)
|
108
|
+
|
109
|
+
@property
|
110
|
+
@pulumi.getter
|
111
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
112
|
+
"""
|
113
|
+
The ACL name. If not provided it will be randomly generated.
|
114
|
+
"""
|
115
|
+
return pulumi.get(self, "name")
|
116
|
+
|
117
|
+
@name.setter
|
118
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
119
|
+
pulumi.set(self, "name", value)
|
120
|
+
|
121
|
+
|
122
|
+
@pulumi.input_type
|
123
|
+
class _AclState:
|
124
|
+
def __init__(__self__, *,
|
125
|
+
action: Optional[pulumi.Input['AclActionArgs']] = None,
|
126
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
127
|
+
description: Optional[pulumi.Input[str]] = None,
|
128
|
+
frontend_id: Optional[pulumi.Input[str]] = None,
|
129
|
+
index: Optional[pulumi.Input[int]] = None,
|
130
|
+
match: Optional[pulumi.Input['AclMatchArgs']] = None,
|
131
|
+
name: Optional[pulumi.Input[str]] = None,
|
132
|
+
updated_at: Optional[pulumi.Input[str]] = None):
|
133
|
+
"""
|
134
|
+
Input properties used for looking up and filtering Acl resources.
|
135
|
+
:param pulumi.Input['AclActionArgs'] action: Action to undertake when an ACL filter matches.
|
136
|
+
:param pulumi.Input[str] created_at: IsDate and time of ACL's creation (RFC 3339 format)
|
137
|
+
:param pulumi.Input[str] description: The ACL description.
|
138
|
+
:param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
|
139
|
+
:param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
140
|
+
:param pulumi.Input['AclMatchArgs'] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
141
|
+
:param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
|
142
|
+
:param pulumi.Input[str] updated_at: IsDate and time of ACL's update (RFC 3339 format)
|
143
|
+
"""
|
144
|
+
if action is not None:
|
145
|
+
pulumi.set(__self__, "action", action)
|
146
|
+
if created_at is not None:
|
147
|
+
pulumi.set(__self__, "created_at", created_at)
|
148
|
+
if description is not None:
|
149
|
+
pulumi.set(__self__, "description", description)
|
150
|
+
if frontend_id is not None:
|
151
|
+
pulumi.set(__self__, "frontend_id", frontend_id)
|
152
|
+
if index is not None:
|
153
|
+
pulumi.set(__self__, "index", index)
|
154
|
+
if match is not None:
|
155
|
+
pulumi.set(__self__, "match", match)
|
156
|
+
if name is not None:
|
157
|
+
pulumi.set(__self__, "name", name)
|
158
|
+
if updated_at is not None:
|
159
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter
|
163
|
+
def action(self) -> Optional[pulumi.Input['AclActionArgs']]:
|
164
|
+
"""
|
165
|
+
Action to undertake when an ACL filter matches.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "action")
|
168
|
+
|
169
|
+
@action.setter
|
170
|
+
def action(self, value: Optional[pulumi.Input['AclActionArgs']]):
|
171
|
+
pulumi.set(self, "action", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter(name="createdAt")
|
175
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
IsDate and time of ACL's creation (RFC 3339 format)
|
178
|
+
"""
|
179
|
+
return pulumi.get(self, "created_at")
|
180
|
+
|
181
|
+
@created_at.setter
|
182
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
183
|
+
pulumi.set(self, "created_at", value)
|
184
|
+
|
185
|
+
@property
|
186
|
+
@pulumi.getter
|
187
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
188
|
+
"""
|
189
|
+
The ACL description.
|
190
|
+
"""
|
191
|
+
return pulumi.get(self, "description")
|
192
|
+
|
193
|
+
@description.setter
|
194
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
195
|
+
pulumi.set(self, "description", value)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter(name="frontendId")
|
199
|
+
def frontend_id(self) -> Optional[pulumi.Input[str]]:
|
200
|
+
"""
|
201
|
+
The ID of the Load Balancer frontend to attach the ACL to.
|
202
|
+
"""
|
203
|
+
return pulumi.get(self, "frontend_id")
|
204
|
+
|
205
|
+
@frontend_id.setter
|
206
|
+
def frontend_id(self, value: Optional[pulumi.Input[str]]):
|
207
|
+
pulumi.set(self, "frontend_id", value)
|
208
|
+
|
209
|
+
@property
|
210
|
+
@pulumi.getter
|
211
|
+
def index(self) -> Optional[pulumi.Input[int]]:
|
212
|
+
"""
|
213
|
+
The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
214
|
+
"""
|
215
|
+
return pulumi.get(self, "index")
|
216
|
+
|
217
|
+
@index.setter
|
218
|
+
def index(self, value: Optional[pulumi.Input[int]]):
|
219
|
+
pulumi.set(self, "index", value)
|
220
|
+
|
221
|
+
@property
|
222
|
+
@pulumi.getter
|
223
|
+
def match(self) -> Optional[pulumi.Input['AclMatchArgs']]:
|
224
|
+
"""
|
225
|
+
The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
226
|
+
"""
|
227
|
+
return pulumi.get(self, "match")
|
228
|
+
|
229
|
+
@match.setter
|
230
|
+
def match(self, value: Optional[pulumi.Input['AclMatchArgs']]):
|
231
|
+
pulumi.set(self, "match", value)
|
232
|
+
|
233
|
+
@property
|
234
|
+
@pulumi.getter
|
235
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
236
|
+
"""
|
237
|
+
The ACL name. If not provided it will be randomly generated.
|
238
|
+
"""
|
239
|
+
return pulumi.get(self, "name")
|
240
|
+
|
241
|
+
@name.setter
|
242
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
243
|
+
pulumi.set(self, "name", value)
|
244
|
+
|
245
|
+
@property
|
246
|
+
@pulumi.getter(name="updatedAt")
|
247
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
248
|
+
"""
|
249
|
+
IsDate and time of ACL's update (RFC 3339 format)
|
250
|
+
"""
|
251
|
+
return pulumi.get(self, "updated_at")
|
252
|
+
|
253
|
+
@updated_at.setter
|
254
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
255
|
+
pulumi.set(self, "updated_at", value)
|
256
|
+
|
257
|
+
|
258
|
+
class Acl(pulumi.CustomResource):
|
259
|
+
@overload
|
260
|
+
def __init__(__self__,
|
261
|
+
resource_name: str,
|
262
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
263
|
+
action: Optional[pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']]] = None,
|
264
|
+
description: Optional[pulumi.Input[str]] = None,
|
265
|
+
frontend_id: Optional[pulumi.Input[str]] = None,
|
266
|
+
index: Optional[pulumi.Input[int]] = None,
|
267
|
+
match: Optional[pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']]] = None,
|
268
|
+
name: Optional[pulumi.Input[str]] = None,
|
269
|
+
__props__=None):
|
270
|
+
"""
|
271
|
+
Creates and manages Scaleway Load Balancer ACLs.
|
272
|
+
|
273
|
+
For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/reference-content/acls/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).
|
274
|
+
|
275
|
+
## Example Usage
|
276
|
+
|
277
|
+
### Basic
|
278
|
+
|
279
|
+
```python
|
280
|
+
import pulumi
|
281
|
+
import pulumiverse_scaleway as scaleway
|
282
|
+
|
283
|
+
acl01 = scaleway.loadbalancers.Acl("acl01",
|
284
|
+
frontend_id=frt01["id"],
|
285
|
+
name="acl01",
|
286
|
+
description="Exclude well-known IPs",
|
287
|
+
index=0,
|
288
|
+
action={
|
289
|
+
"type": "allow",
|
290
|
+
},
|
291
|
+
match={
|
292
|
+
"ip_subnets": [
|
293
|
+
"192.168.0.1",
|
294
|
+
"192.168.0.2",
|
295
|
+
"192.168.10.0/24",
|
296
|
+
],
|
297
|
+
})
|
298
|
+
```
|
299
|
+
|
300
|
+
## Import
|
301
|
+
|
302
|
+
Load Balancer ACLs can be imported using `{zone}/{id}`, e.g.
|
303
|
+
|
304
|
+
bash
|
305
|
+
|
306
|
+
```sh
|
307
|
+
$ pulumi import scaleway:loadbalancers/acl:Acl acl01 fr-par-1/11111111-1111-1111-1111-111111111111
|
308
|
+
```
|
309
|
+
|
310
|
+
:param str resource_name: The name of the resource.
|
311
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
312
|
+
:param pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']] action: Action to undertake when an ACL filter matches.
|
313
|
+
:param pulumi.Input[str] description: The ACL description.
|
314
|
+
:param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
|
315
|
+
:param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
316
|
+
:param pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
317
|
+
:param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
|
318
|
+
"""
|
319
|
+
...
|
320
|
+
@overload
|
321
|
+
def __init__(__self__,
|
322
|
+
resource_name: str,
|
323
|
+
args: AclArgs,
|
324
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
325
|
+
"""
|
326
|
+
Creates and manages Scaleway Load Balancer ACLs.
|
327
|
+
|
328
|
+
For more information, see the [main documentation](https://www.scaleway.com/en/docs/load-balancer/reference-content/acls/) or [API documentation](https://www.scaleway.com/en/developers/api/load-balancer/zoned-api/#path-acls-get-an-acl).
|
329
|
+
|
330
|
+
## Example Usage
|
331
|
+
|
332
|
+
### Basic
|
333
|
+
|
334
|
+
```python
|
335
|
+
import pulumi
|
336
|
+
import pulumiverse_scaleway as scaleway
|
337
|
+
|
338
|
+
acl01 = scaleway.loadbalancers.Acl("acl01",
|
339
|
+
frontend_id=frt01["id"],
|
340
|
+
name="acl01",
|
341
|
+
description="Exclude well-known IPs",
|
342
|
+
index=0,
|
343
|
+
action={
|
344
|
+
"type": "allow",
|
345
|
+
},
|
346
|
+
match={
|
347
|
+
"ip_subnets": [
|
348
|
+
"192.168.0.1",
|
349
|
+
"192.168.0.2",
|
350
|
+
"192.168.10.0/24",
|
351
|
+
],
|
352
|
+
})
|
353
|
+
```
|
354
|
+
|
355
|
+
## Import
|
356
|
+
|
357
|
+
Load Balancer ACLs can be imported using `{zone}/{id}`, e.g.
|
358
|
+
|
359
|
+
bash
|
360
|
+
|
361
|
+
```sh
|
362
|
+
$ pulumi import scaleway:loadbalancers/acl:Acl acl01 fr-par-1/11111111-1111-1111-1111-111111111111
|
363
|
+
```
|
364
|
+
|
365
|
+
:param str resource_name: The name of the resource.
|
366
|
+
:param AclArgs args: The arguments to use to populate this resource's properties.
|
367
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
368
|
+
"""
|
369
|
+
...
|
370
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
371
|
+
resource_args, opts = _utilities.get_resource_args_opts(AclArgs, pulumi.ResourceOptions, *args, **kwargs)
|
372
|
+
if resource_args is not None:
|
373
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
374
|
+
else:
|
375
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
376
|
+
|
377
|
+
def _internal_init(__self__,
|
378
|
+
resource_name: str,
|
379
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
380
|
+
action: Optional[pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']]] = None,
|
381
|
+
description: Optional[pulumi.Input[str]] = None,
|
382
|
+
frontend_id: Optional[pulumi.Input[str]] = None,
|
383
|
+
index: Optional[pulumi.Input[int]] = None,
|
384
|
+
match: Optional[pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']]] = None,
|
385
|
+
name: Optional[pulumi.Input[str]] = None,
|
386
|
+
__props__=None):
|
387
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
388
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
389
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
390
|
+
if opts.id is None:
|
391
|
+
if __props__ is not None:
|
392
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
393
|
+
__props__ = AclArgs.__new__(AclArgs)
|
394
|
+
|
395
|
+
if action is None and not opts.urn:
|
396
|
+
raise TypeError("Missing required property 'action'")
|
397
|
+
__props__.__dict__["action"] = action
|
398
|
+
__props__.__dict__["description"] = description
|
399
|
+
if frontend_id is None and not opts.urn:
|
400
|
+
raise TypeError("Missing required property 'frontend_id'")
|
401
|
+
__props__.__dict__["frontend_id"] = frontend_id
|
402
|
+
if index is None and not opts.urn:
|
403
|
+
raise TypeError("Missing required property 'index'")
|
404
|
+
__props__.__dict__["index"] = index
|
405
|
+
__props__.__dict__["match"] = match
|
406
|
+
__props__.__dict__["name"] = name
|
407
|
+
__props__.__dict__["created_at"] = None
|
408
|
+
__props__.__dict__["updated_at"] = None
|
409
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/loadbalancerAcl:LoadbalancerAcl")])
|
410
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
411
|
+
super(Acl, __self__).__init__(
|
412
|
+
'scaleway:loadbalancers/acl:Acl',
|
413
|
+
resource_name,
|
414
|
+
__props__,
|
415
|
+
opts)
|
416
|
+
|
417
|
+
@staticmethod
|
418
|
+
def get(resource_name: str,
|
419
|
+
id: pulumi.Input[str],
|
420
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
421
|
+
action: Optional[pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']]] = None,
|
422
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
423
|
+
description: Optional[pulumi.Input[str]] = None,
|
424
|
+
frontend_id: Optional[pulumi.Input[str]] = None,
|
425
|
+
index: Optional[pulumi.Input[int]] = None,
|
426
|
+
match: Optional[pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']]] = None,
|
427
|
+
name: Optional[pulumi.Input[str]] = None,
|
428
|
+
updated_at: Optional[pulumi.Input[str]] = None) -> 'Acl':
|
429
|
+
"""
|
430
|
+
Get an existing Acl resource's state with the given name, id, and optional extra
|
431
|
+
properties used to qualify the lookup.
|
432
|
+
|
433
|
+
:param str resource_name: The unique name of the resulting resource.
|
434
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
435
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
436
|
+
:param pulumi.Input[Union['AclActionArgs', 'AclActionArgsDict']] action: Action to undertake when an ACL filter matches.
|
437
|
+
:param pulumi.Input[str] created_at: IsDate and time of ACL's creation (RFC 3339 format)
|
438
|
+
:param pulumi.Input[str] description: The ACL description.
|
439
|
+
:param pulumi.Input[str] frontend_id: The ID of the Load Balancer frontend to attach the ACL to.
|
440
|
+
:param pulumi.Input[int] index: The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
441
|
+
:param pulumi.Input[Union['AclMatchArgs', 'AclMatchArgsDict']] match: The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
442
|
+
:param pulumi.Input[str] name: The ACL name. If not provided it will be randomly generated.
|
443
|
+
:param pulumi.Input[str] updated_at: IsDate and time of ACL's update (RFC 3339 format)
|
444
|
+
"""
|
445
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
446
|
+
|
447
|
+
__props__ = _AclState.__new__(_AclState)
|
448
|
+
|
449
|
+
__props__.__dict__["action"] = action
|
450
|
+
__props__.__dict__["created_at"] = created_at
|
451
|
+
__props__.__dict__["description"] = description
|
452
|
+
__props__.__dict__["frontend_id"] = frontend_id
|
453
|
+
__props__.__dict__["index"] = index
|
454
|
+
__props__.__dict__["match"] = match
|
455
|
+
__props__.__dict__["name"] = name
|
456
|
+
__props__.__dict__["updated_at"] = updated_at
|
457
|
+
return Acl(resource_name, opts=opts, __props__=__props__)
|
458
|
+
|
459
|
+
@property
|
460
|
+
@pulumi.getter
|
461
|
+
def action(self) -> pulumi.Output['outputs.AclAction']:
|
462
|
+
"""
|
463
|
+
Action to undertake when an ACL filter matches.
|
464
|
+
"""
|
465
|
+
return pulumi.get(self, "action")
|
466
|
+
|
467
|
+
@property
|
468
|
+
@pulumi.getter(name="createdAt")
|
469
|
+
def created_at(self) -> pulumi.Output[str]:
|
470
|
+
"""
|
471
|
+
IsDate and time of ACL's creation (RFC 3339 format)
|
472
|
+
"""
|
473
|
+
return pulumi.get(self, "created_at")
|
474
|
+
|
475
|
+
@property
|
476
|
+
@pulumi.getter
|
477
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
478
|
+
"""
|
479
|
+
The ACL description.
|
480
|
+
"""
|
481
|
+
return pulumi.get(self, "description")
|
482
|
+
|
483
|
+
@property
|
484
|
+
@pulumi.getter(name="frontendId")
|
485
|
+
def frontend_id(self) -> pulumi.Output[str]:
|
486
|
+
"""
|
487
|
+
The ID of the Load Balancer frontend to attach the ACL to.
|
488
|
+
"""
|
489
|
+
return pulumi.get(self, "frontend_id")
|
490
|
+
|
491
|
+
@property
|
492
|
+
@pulumi.getter
|
493
|
+
def index(self) -> pulumi.Output[int]:
|
494
|
+
"""
|
495
|
+
The priority of this ACL (ACLs are applied in ascending order, 0 is the first ACL executed).
|
496
|
+
"""
|
497
|
+
return pulumi.get(self, "index")
|
498
|
+
|
499
|
+
@property
|
500
|
+
@pulumi.getter
|
501
|
+
def match(self) -> pulumi.Output[Optional['outputs.AclMatch']]:
|
502
|
+
"""
|
503
|
+
The ACL match rule. At least `ip_subnet` or `http_filter` and `http_filter_value` are required.
|
504
|
+
"""
|
505
|
+
return pulumi.get(self, "match")
|
506
|
+
|
507
|
+
@property
|
508
|
+
@pulumi.getter
|
509
|
+
def name(self) -> pulumi.Output[str]:
|
510
|
+
"""
|
511
|
+
The ACL name. If not provided it will be randomly generated.
|
512
|
+
"""
|
513
|
+
return pulumi.get(self, "name")
|
514
|
+
|
515
|
+
@property
|
516
|
+
@pulumi.getter(name="updatedAt")
|
517
|
+
def updated_at(self) -> pulumi.Output[str]:
|
518
|
+
"""
|
519
|
+
IsDate and time of ACL's update (RFC 3339 format)
|
520
|
+
"""
|
521
|
+
return pulumi.get(self, "updated_at")
|
522
|
+
|