pulumiverse-scaleway 1.24.0a1741679978__py3-none-any.whl → 1.25.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumiverse_scaleway/__init__.py +929 -0
- pulumiverse_scaleway/account/__init__.py +12 -0
- pulumiverse_scaleway/account/get_availability_zones.py +139 -0
- pulumiverse_scaleway/account/get_project.py +170 -0
- pulumiverse_scaleway/account/get_ssh_key.py +205 -0
- pulumiverse_scaleway/account/project.py +318 -0
- pulumiverse_scaleway/account/ssh_key.py +456 -0
- pulumiverse_scaleway/account_project.py +6 -0
- pulumiverse_scaleway/account_ssh_key.py +12 -6
- pulumiverse_scaleway/apple_silicon_server.py +8 -2
- pulumiverse_scaleway/applesilicon/__init__.py +10 -0
- pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
- pulumiverse_scaleway/applesilicon/outputs.py +119 -0
- pulumiverse_scaleway/applesilicon/server.py +690 -0
- pulumiverse_scaleway/baremetal_server.py +64 -58
- pulumiverse_scaleway/billing/__init__.py +10 -0
- pulumiverse_scaleway/billing/get_consumptions.py +134 -0
- pulumiverse_scaleway/billing/get_invoices.py +154 -0
- pulumiverse_scaleway/billing/outputs.py +288 -0
- pulumiverse_scaleway/block/__init__.py +11 -0
- pulumiverse_scaleway/block/get_snapshot.py +174 -0
- pulumiverse_scaleway/block/get_volume.py +199 -0
- pulumiverse_scaleway/block/snapshot.py +403 -0
- pulumiverse_scaleway/block/volume.py +576 -0
- pulumiverse_scaleway/block_snapshot.py +12 -6
- pulumiverse_scaleway/block_volume.py +16 -10
- pulumiverse_scaleway/cockpit.py +10 -4
- pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
- pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
- pulumiverse_scaleway/cockpit_source.py +12 -6
- pulumiverse_scaleway/cockpit_token.py +16 -10
- pulumiverse_scaleway/container.py +16 -10
- pulumiverse_scaleway/container_cron.py +14 -8
- pulumiverse_scaleway/container_domain.py +24 -18
- pulumiverse_scaleway/container_namespace.py +10 -4
- pulumiverse_scaleway/container_token.py +32 -26
- pulumiverse_scaleway/container_trigger.py +12 -6
- pulumiverse_scaleway/containers/__init__.py +17 -0
- pulumiverse_scaleway/containers/_inputs.py +389 -0
- pulumiverse_scaleway/containers/container.py +1635 -0
- pulumiverse_scaleway/containers/cron.py +460 -0
- pulumiverse_scaleway/containers/domain.py +408 -0
- pulumiverse_scaleway/containers/get_container.py +562 -0
- pulumiverse_scaleway/containers/get_namespace.py +283 -0
- pulumiverse_scaleway/containers/namespace.py +638 -0
- pulumiverse_scaleway/containers/outputs.py +412 -0
- pulumiverse_scaleway/containers/token.py +454 -0
- pulumiverse_scaleway/containers/trigger.py +482 -0
- pulumiverse_scaleway/database.py +10 -4
- pulumiverse_scaleway/database_acl.py +10 -4
- pulumiverse_scaleway/database_backup.py +14 -8
- pulumiverse_scaleway/database_instance.py +24 -18
- pulumiverse_scaleway/database_privilege.py +16 -10
- pulumiverse_scaleway/database_read_replica.py +22 -16
- pulumiverse_scaleway/database_user.py +10 -4
- pulumiverse_scaleway/databases/__init__.py +23 -0
- pulumiverse_scaleway/databases/_inputs.py +822 -0
- pulumiverse_scaleway/databases/acl.py +334 -0
- pulumiverse_scaleway/databases/database.py +409 -0
- pulumiverse_scaleway/databases/database_backup.py +576 -0
- pulumiverse_scaleway/databases/get_acl.py +143 -0
- pulumiverse_scaleway/databases/get_database.py +187 -0
- pulumiverse_scaleway/databases/get_database_backup.py +253 -0
- pulumiverse_scaleway/databases/get_instance.py +415 -0
- pulumiverse_scaleway/databases/get_privilege.py +181 -0
- pulumiverse_scaleway/databases/instance.py +1696 -0
- pulumiverse_scaleway/databases/outputs.py +866 -0
- pulumiverse_scaleway/databases/privilege.py +424 -0
- pulumiverse_scaleway/databases/read_replica.py +530 -0
- pulumiverse_scaleway/databases/serverless_database.py +434 -0
- pulumiverse_scaleway/databases/snapshot.py +610 -0
- pulumiverse_scaleway/databases/user.py +448 -0
- pulumiverse_scaleway/domain/__init__.py +13 -0
- pulumiverse_scaleway/domain/_inputs.py +341 -0
- pulumiverse_scaleway/domain/get_record.py +340 -0
- pulumiverse_scaleway/domain/get_zone.py +201 -0
- pulumiverse_scaleway/domain/outputs.py +408 -0
- pulumiverse_scaleway/domain/record.py +1118 -0
- pulumiverse_scaleway/domain/zone.py +432 -0
- pulumiverse_scaleway/domain_record.py +36 -30
- pulumiverse_scaleway/domain_zone.py +6 -0
- pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
- pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
- pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
- pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
- pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
- pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
- pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
- pulumiverse_scaleway/elasticmetal/ip.py +704 -0
- pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
- pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
- pulumiverse_scaleway/elasticmetal/server.py +1591 -0
- pulumiverse_scaleway/flexible_ip.py +22 -16
- pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
- pulumiverse_scaleway/function.py +6 -0
- pulumiverse_scaleway/function_cron.py +16 -10
- pulumiverse_scaleway/function_domain.py +16 -10
- pulumiverse_scaleway/function_namespace.py +10 -4
- pulumiverse_scaleway/function_token.py +32 -26
- pulumiverse_scaleway/function_trigger.py +12 -6
- pulumiverse_scaleway/functions/__init__.py +17 -0
- pulumiverse_scaleway/functions/_inputs.py +211 -0
- pulumiverse_scaleway/functions/cron.py +464 -0
- pulumiverse_scaleway/functions/domain.py +372 -0
- pulumiverse_scaleway/functions/function.py +1105 -0
- pulumiverse_scaleway/functions/get_function.py +365 -0
- pulumiverse_scaleway/functions/get_namespace.py +238 -0
- pulumiverse_scaleway/functions/namespace.py +582 -0
- pulumiverse_scaleway/functions/outputs.py +168 -0
- pulumiverse_scaleway/functions/token.py +462 -0
- pulumiverse_scaleway/functions/trigger.py +482 -0
- pulumiverse_scaleway/get_account_project.py +6 -2
- pulumiverse_scaleway/get_account_ssh_key.py +6 -2
- pulumiverse_scaleway/get_availability_zones.py +8 -4
- pulumiverse_scaleway/get_baremetal_offer.py +4 -0
- pulumiverse_scaleway/get_baremetal_option.py +8 -4
- pulumiverse_scaleway/get_baremetal_os.py +8 -4
- pulumiverse_scaleway/get_baremetal_server.py +8 -4
- pulumiverse_scaleway/get_billing_consumptions.py +4 -0
- pulumiverse_scaleway/get_billing_invoices.py +4 -0
- pulumiverse_scaleway/get_block_snapshot.py +6 -2
- pulumiverse_scaleway/get_block_volume.py +6 -2
- pulumiverse_scaleway/get_cockpit.py +12 -8
- pulumiverse_scaleway/get_cockpit_plan.py +10 -6
- pulumiverse_scaleway/get_cockpit_source.py +8 -4
- pulumiverse_scaleway/get_container.py +16 -12
- pulumiverse_scaleway/get_container_namespace.py +10 -6
- pulumiverse_scaleway/get_database.py +6 -2
- pulumiverse_scaleway/get_database_acl.py +6 -2
- pulumiverse_scaleway/get_database_backup.py +10 -6
- pulumiverse_scaleway/get_database_instance.py +4 -0
- pulumiverse_scaleway/get_database_privilege.py +6 -2
- pulumiverse_scaleway/get_domain_record.py +10 -6
- pulumiverse_scaleway/get_domain_zone.py +4 -0
- pulumiverse_scaleway/get_flexible_ip.py +4 -0
- pulumiverse_scaleway/get_flexible_ips.py +16 -12
- pulumiverse_scaleway/get_function.py +6 -2
- pulumiverse_scaleway/get_function_namespace.py +6 -2
- pulumiverse_scaleway/get_iam_api_key.py +6 -2
- pulumiverse_scaleway/get_iam_application.py +8 -4
- pulumiverse_scaleway/get_iam_group.py +8 -4
- pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
- pulumiverse_scaleway/get_iam_user.py +8 -4
- pulumiverse_scaleway/get_instance_image.py +4 -0
- pulumiverse_scaleway/get_instance_ip.py +4 -0
- pulumiverse_scaleway/get_instance_placement_group.py +4 -0
- pulumiverse_scaleway/get_instance_private_nic.py +10 -6
- pulumiverse_scaleway/get_instance_security_group.py +4 -0
- pulumiverse_scaleway/get_instance_server.py +4 -0
- pulumiverse_scaleway/get_instance_servers.py +4 -0
- pulumiverse_scaleway/get_instance_snapshot.py +8 -4
- pulumiverse_scaleway/get_instance_volume.py +4 -0
- pulumiverse_scaleway/get_iot_device.py +4 -0
- pulumiverse_scaleway/get_iot_hub.py +4 -0
- pulumiverse_scaleway/get_ipam_ip.py +18 -14
- pulumiverse_scaleway/get_ipam_ips.py +14 -10
- pulumiverse_scaleway/get_k8s_version.py +8 -4
- pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
- pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
- pulumiverse_scaleway/get_lb_acls.py +8 -4
- pulumiverse_scaleway/get_lb_backend.py +18 -14
- pulumiverse_scaleway/get_lb_backends.py +8 -4
- pulumiverse_scaleway/get_lb_frontend.py +16 -12
- pulumiverse_scaleway/get_lb_frontends.py +8 -4
- pulumiverse_scaleway/get_lb_ips.py +4 -0
- pulumiverse_scaleway/get_lb_route.py +16 -12
- pulumiverse_scaleway/get_lb_routes.py +8 -4
- pulumiverse_scaleway/get_lbs.py +4 -0
- pulumiverse_scaleway/get_loadbalancer.py +8 -4
- pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
- pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
- pulumiverse_scaleway/get_mnq_sns.py +8 -4
- pulumiverse_scaleway/get_mnq_sqs.py +8 -4
- pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
- pulumiverse_scaleway/get_object_bucket.py +12 -8
- pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
- pulumiverse_scaleway/get_redis_cluster.py +4 -0
- pulumiverse_scaleway/get_registry_image.py +4 -0
- pulumiverse_scaleway/get_registry_image_tag.py +4 -0
- pulumiverse_scaleway/get_registry_namespace.py +4 -0
- pulumiverse_scaleway/get_secret.py +12 -8
- pulumiverse_scaleway/get_secret_version.py +14 -10
- pulumiverse_scaleway/get_tem_domain.py +4 -0
- pulumiverse_scaleway/get_vpc.py +10 -6
- pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
- pulumiverse_scaleway/get_vpc_private_network.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
- pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
- pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
- pulumiverse_scaleway/get_vpc_routes.py +4 -0
- pulumiverse_scaleway/get_vpcs.py +4 -0
- pulumiverse_scaleway/get_web_host_offer.py +8 -4
- pulumiverse_scaleway/get_webhosting.py +8 -4
- pulumiverse_scaleway/hosting/__init__.py +12 -0
- pulumiverse_scaleway/hosting/_inputs.py +295 -0
- pulumiverse_scaleway/hosting/get_hosting.py +354 -0
- pulumiverse_scaleway/hosting/get_offer.py +229 -0
- pulumiverse_scaleway/hosting/hosting.py +870 -0
- pulumiverse_scaleway/hosting/outputs.py +626 -0
- pulumiverse_scaleway/iam/__init__.py +21 -0
- pulumiverse_scaleway/iam/_inputs.py +138 -0
- pulumiverse_scaleway/iam/api_key.py +622 -0
- pulumiverse_scaleway/iam/application.py +419 -0
- pulumiverse_scaleway/iam/get_api_key.py +210 -0
- pulumiverse_scaleway/iam/get_application.py +210 -0
- pulumiverse_scaleway/iam/get_group.py +236 -0
- pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
- pulumiverse_scaleway/iam/get_user.py +177 -0
- pulumiverse_scaleway/iam/group.py +568 -0
- pulumiverse_scaleway/iam/group_membership.py +325 -0
- pulumiverse_scaleway/iam/outputs.py +111 -0
- pulumiverse_scaleway/iam/policy.py +775 -0
- pulumiverse_scaleway/iam/ssh_key.py +457 -0
- pulumiverse_scaleway/iam/user.py +515 -0
- pulumiverse_scaleway/iam_api_key.py +16 -10
- pulumiverse_scaleway/iam_application.py +8 -2
- pulumiverse_scaleway/iam_group.py +12 -6
- pulumiverse_scaleway/iam_group_membership.py +12 -6
- pulumiverse_scaleway/iam_policy.py +18 -12
- pulumiverse_scaleway/iam_ssh_key.py +8 -2
- pulumiverse_scaleway/iam_user.py +8 -2
- pulumiverse_scaleway/inference/__init__.py +10 -0
- pulumiverse_scaleway/inference/_inputs.py +209 -0
- pulumiverse_scaleway/inference/deployment.py +824 -0
- pulumiverse_scaleway/inference/outputs.py +169 -0
- pulumiverse_scaleway/inference_deployment.py +8 -2
- pulumiverse_scaleway/instance/__init__.py +29 -0
- pulumiverse_scaleway/instance/_inputs.py +1237 -0
- pulumiverse_scaleway/instance/get_image.py +305 -0
- pulumiverse_scaleway/instance/get_ip.py +204 -0
- pulumiverse_scaleway/instance/get_placement_group.py +212 -0
- pulumiverse_scaleway/instance/get_private_nic.py +226 -0
- pulumiverse_scaleway/instance/get_security_group.py +268 -0
- pulumiverse_scaleway/instance/get_server.py +488 -0
- pulumiverse_scaleway/instance/get_servers.py +187 -0
- pulumiverse_scaleway/instance/get_snapshot.py +248 -0
- pulumiverse_scaleway/instance/get_volume.py +226 -0
- pulumiverse_scaleway/instance/image.py +752 -0
- pulumiverse_scaleway/instance/ip.py +471 -0
- pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
- pulumiverse_scaleway/instance/outputs.py +1533 -0
- pulumiverse_scaleway/instance/placement_group.py +481 -0
- pulumiverse_scaleway/instance/private_nic.py +557 -0
- pulumiverse_scaleway/instance/security_group.py +722 -0
- pulumiverse_scaleway/instance/security_group_rules.py +441 -0
- pulumiverse_scaleway/instance/server.py +1938 -0
- pulumiverse_scaleway/instance/snapshot.py +671 -0
- pulumiverse_scaleway/instance/user_data.py +437 -0
- pulumiverse_scaleway/instance/volume.py +584 -0
- pulumiverse_scaleway/instance_image.py +18 -12
- pulumiverse_scaleway/instance_ip.py +8 -2
- pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/instance_placement_group.py +8 -2
- pulumiverse_scaleway/instance_private_nic.py +24 -18
- pulumiverse_scaleway/instance_security_group.py +6 -0
- pulumiverse_scaleway/instance_security_group_rules.py +22 -16
- pulumiverse_scaleway/instance_server.py +74 -68
- pulumiverse_scaleway/instance_snapshot.py +22 -16
- pulumiverse_scaleway/instance_user_data.py +16 -10
- pulumiverse_scaleway/instance_volume.py +8 -2
- pulumiverse_scaleway/iot/__init__.py +15 -0
- pulumiverse_scaleway/iot/_inputs.py +539 -0
- pulumiverse_scaleway/iot/device.py +752 -0
- pulumiverse_scaleway/iot/get_device.py +257 -0
- pulumiverse_scaleway/iot/get_hub.py +322 -0
- pulumiverse_scaleway/iot/hub.py +898 -0
- pulumiverse_scaleway/iot/network.py +474 -0
- pulumiverse_scaleway/iot/outputs.py +465 -0
- pulumiverse_scaleway/iot/route.py +662 -0
- pulumiverse_scaleway/iot_device.py +14 -8
- pulumiverse_scaleway/iot_hub.py +8 -2
- pulumiverse_scaleway/iot_network.py +12 -6
- pulumiverse_scaleway/iot_route.py +32 -26
- pulumiverse_scaleway/ipam/__init__.py +13 -0
- pulumiverse_scaleway/ipam/_inputs.py +442 -0
- pulumiverse_scaleway/ipam/get_ip.py +419 -0
- pulumiverse_scaleway/ipam/get_ips.py +358 -0
- pulumiverse_scaleway/ipam/ip.py +759 -0
- pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
- pulumiverse_scaleway/ipam/outputs.py +481 -0
- pulumiverse_scaleway/ipam_ip.py +30 -24
- pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
- pulumiverse_scaleway/job/__init__.py +10 -0
- pulumiverse_scaleway/job/_inputs.py +73 -0
- pulumiverse_scaleway/job/definition.py +694 -0
- pulumiverse_scaleway/job/outputs.py +49 -0
- pulumiverse_scaleway/job_definition.py +8 -2
- pulumiverse_scaleway/kubernetes/__init__.py +14 -0
- pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
- pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
- pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
- pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
- pulumiverse_scaleway/kubernetes/get_version.py +196 -0
- pulumiverse_scaleway/kubernetes/outputs.py +944 -0
- pulumiverse_scaleway/kubernetes/pool.py +1313 -0
- pulumiverse_scaleway/kubernetes_cluster.py +36 -30
- pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
- pulumiverse_scaleway/loadbalancer.py +35 -29
- pulumiverse_scaleway/loadbalancer_acl.py +8 -2
- pulumiverse_scaleway/loadbalancer_backend.py +10 -4
- pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
- pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
- pulumiverse_scaleway/loadbalancer_ip.py +10 -4
- pulumiverse_scaleway/loadbalancer_route.py +26 -20
- pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
- pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
- pulumiverse_scaleway/loadbalancers/acl.py +522 -0
- pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
- pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
- pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
- pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
- pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
- pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
- pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
- pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
- pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
- pulumiverse_scaleway/loadbalancers/ip.py +516 -0
- pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
- pulumiverse_scaleway/loadbalancers/route.py +525 -0
- pulumiverse_scaleway/mnq/__init__.py +20 -0
- pulumiverse_scaleway/mnq/_inputs.py +169 -0
- pulumiverse_scaleway/mnq/get_sns.py +150 -0
- pulumiverse_scaleway/mnq/get_sqs.py +150 -0
- pulumiverse_scaleway/mnq/nats_account.py +336 -0
- pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
- pulumiverse_scaleway/mnq/outputs.py +149 -0
- pulumiverse_scaleway/mnq/sns.py +308 -0
- pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sns_topic.py +661 -0
- pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
- pulumiverse_scaleway/mnq/sqs.py +306 -0
- pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
- pulumiverse_scaleway/mnq_nats_account.py +8 -2
- pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns.py +12 -6
- pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns_topic.py +16 -10
- pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
- pulumiverse_scaleway/mnq_sqs.py +12 -6
- pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
- pulumiverse_scaleway/mongo_db_instance.py +14 -8
- pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
- pulumiverse_scaleway/mongodb/__init__.py +12 -0
- pulumiverse_scaleway/mongodb/_inputs.py +208 -0
- pulumiverse_scaleway/mongodb/get_instance.py +335 -0
- pulumiverse_scaleway/mongodb/instance.py +1000 -0
- pulumiverse_scaleway/mongodb/outputs.py +270 -0
- pulumiverse_scaleway/mongodb/snapshot.py +523 -0
- pulumiverse_scaleway/network/__init__.py +29 -0
- pulumiverse_scaleway/network/_inputs.py +383 -0
- pulumiverse_scaleway/network/gateway_network.py +868 -0
- pulumiverse_scaleway/network/get_gateway_network.py +287 -0
- pulumiverse_scaleway/network/get_private_network.py +282 -0
- pulumiverse_scaleway/network/get_public_gateway.py +304 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
- pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
- pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
- pulumiverse_scaleway/network/get_routes.py +208 -0
- pulumiverse_scaleway/network/get_vpc.py +246 -0
- pulumiverse_scaleway/network/get_vpcs.py +174 -0
- pulumiverse_scaleway/network/outputs.py +747 -0
- pulumiverse_scaleway/network/private_network.py +736 -0
- pulumiverse_scaleway/network/public_gateway.py +791 -0
- pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
- pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
- pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
- pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
- pulumiverse_scaleway/network/route.py +579 -0
- pulumiverse_scaleway/network/vpc.py +538 -0
- pulumiverse_scaleway/object/__init__.py +17 -0
- pulumiverse_scaleway/object/_inputs.py +831 -0
- pulumiverse_scaleway/object/bucket.py +876 -0
- pulumiverse_scaleway/object/bucket_acl.py +598 -0
- pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
- pulumiverse_scaleway/object/bucket_policy.py +675 -0
- pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
- pulumiverse_scaleway/object/get_bucket.py +290 -0
- pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
- pulumiverse_scaleway/object/item.py +778 -0
- pulumiverse_scaleway/object/outputs.py +802 -0
- pulumiverse_scaleway/object_bucket.py +28 -22
- pulumiverse_scaleway/object_bucket_acl.py +14 -8
- pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
- pulumiverse_scaleway/object_bucket_policy.py +46 -40
- pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
- pulumiverse_scaleway/object_item.py +8 -2
- pulumiverse_scaleway/observability/__init__.py +17 -0
- pulumiverse_scaleway/observability/_inputs.py +417 -0
- pulumiverse_scaleway/observability/alert_manager.py +403 -0
- pulumiverse_scaleway/observability/cockpit.py +325 -0
- pulumiverse_scaleway/observability/get_instance.py +205 -0
- pulumiverse_scaleway/observability/get_plan.py +125 -0
- pulumiverse_scaleway/observability/get_source.py +262 -0
- pulumiverse_scaleway/observability/grafana_user.py +364 -0
- pulumiverse_scaleway/observability/outputs.py +425 -0
- pulumiverse_scaleway/observability/source.py +569 -0
- pulumiverse_scaleway/observability/token.py +481 -0
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/rdb_snapshot.py +16 -10
- pulumiverse_scaleway/redis/__init__.py +11 -0
- pulumiverse_scaleway/redis/_inputs.py +330 -0
- pulumiverse_scaleway/redis/cluster.py +1203 -0
- pulumiverse_scaleway/redis/get_cluster.py +347 -0
- pulumiverse_scaleway/redis/outputs.py +356 -0
- pulumiverse_scaleway/redis_cluster.py +14 -8
- pulumiverse_scaleway/registry/__init__.py +11 -0
- pulumiverse_scaleway/registry/get_image.py +239 -0
- pulumiverse_scaleway/registry/get_image_tag.py +229 -0
- pulumiverse_scaleway/registry/get_namespace.py +199 -0
- pulumiverse_scaleway/registry/namespace.py +460 -0
- pulumiverse_scaleway/registry_namespace.py +8 -2
- pulumiverse_scaleway/sdb_database.py +10 -4
- pulumiverse_scaleway/secret.py +6 -0
- pulumiverse_scaleway/secret_version.py +12 -6
- pulumiverse_scaleway/secrets/__init__.py +13 -0
- pulumiverse_scaleway/secrets/_inputs.py +94 -0
- pulumiverse_scaleway/secrets/get_secret.py +338 -0
- pulumiverse_scaleway/secrets/get_version.py +340 -0
- pulumiverse_scaleway/secrets/outputs.py +120 -0
- pulumiverse_scaleway/secrets/secret.py +665 -0
- pulumiverse_scaleway/secrets/version.py +489 -0
- pulumiverse_scaleway/tem/__init__.py +13 -0
- pulumiverse_scaleway/tem/_inputs.py +135 -0
- pulumiverse_scaleway/tem/domain.py +1032 -0
- pulumiverse_scaleway/tem/domain_validation.py +305 -0
- pulumiverse_scaleway/tem/get_domain.py +378 -0
- pulumiverse_scaleway/tem/outputs.py +171 -0
- pulumiverse_scaleway/tem/webhook.py +642 -0
- pulumiverse_scaleway/tem_domain.py +20 -14
- pulumiverse_scaleway/tem_domain_validation.py +10 -4
- pulumiverse_scaleway/tem_webhook.py +28 -22
- pulumiverse_scaleway/vpc.py +10 -4
- pulumiverse_scaleway/vpc_gateway_network.py +40 -34
- pulumiverse_scaleway/vpc_private_network.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway.py +8 -2
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
- pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
- pulumiverse_scaleway/vpc_route.py +16 -10
- pulumiverse_scaleway/webhosting.py +10 -4
- {pulumiverse_scaleway-1.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/METADATA +2 -2
- pulumiverse_scaleway-1.25.0.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.24.0a1741679978.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.24.0a1741679978.dist-info → pulumiverse_scaleway-1.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,642 @@
|
|
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__ = ['WebhookArgs', 'Webhook']
|
18
|
+
|
19
|
+
@pulumi.input_type
|
20
|
+
class WebhookArgs:
|
21
|
+
def __init__(__self__, *,
|
22
|
+
domain_id: pulumi.Input[str],
|
23
|
+
event_types: pulumi.Input[Sequence[pulumi.Input[str]]],
|
24
|
+
sns_arn: pulumi.Input[str],
|
25
|
+
name: Optional[pulumi.Input[str]] = None,
|
26
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
27
|
+
region: Optional[pulumi.Input[str]] = None):
|
28
|
+
"""
|
29
|
+
The set of arguments for constructing a Webhook resource.
|
30
|
+
:param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with.
|
31
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook.
|
32
|
+
:param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic.
|
33
|
+
:param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided.
|
34
|
+
:param pulumi.Input[str] project_id: The ID of the project the webhook is associated with.
|
35
|
+
:param pulumi.Input[str] region: . The region in which the webhook should be created.
|
36
|
+
"""
|
37
|
+
pulumi.set(__self__, "domain_id", domain_id)
|
38
|
+
pulumi.set(__self__, "event_types", event_types)
|
39
|
+
pulumi.set(__self__, "sns_arn", sns_arn)
|
40
|
+
if name is not None:
|
41
|
+
pulumi.set(__self__, "name", name)
|
42
|
+
if project_id is not None:
|
43
|
+
pulumi.set(__self__, "project_id", project_id)
|
44
|
+
if region is not None:
|
45
|
+
pulumi.set(__self__, "region", region)
|
46
|
+
|
47
|
+
@property
|
48
|
+
@pulumi.getter(name="domainId")
|
49
|
+
def domain_id(self) -> pulumi.Input[str]:
|
50
|
+
"""
|
51
|
+
The ID of the domain the webhook is associated with.
|
52
|
+
"""
|
53
|
+
return pulumi.get(self, "domain_id")
|
54
|
+
|
55
|
+
@domain_id.setter
|
56
|
+
def domain_id(self, value: pulumi.Input[str]):
|
57
|
+
pulumi.set(self, "domain_id", value)
|
58
|
+
|
59
|
+
@property
|
60
|
+
@pulumi.getter(name="eventTypes")
|
61
|
+
def event_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
62
|
+
"""
|
63
|
+
A list of event types that trigger the webhook.
|
64
|
+
"""
|
65
|
+
return pulumi.get(self, "event_types")
|
66
|
+
|
67
|
+
@event_types.setter
|
68
|
+
def event_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
69
|
+
pulumi.set(self, "event_types", value)
|
70
|
+
|
71
|
+
@property
|
72
|
+
@pulumi.getter(name="snsArn")
|
73
|
+
def sns_arn(self) -> pulumi.Input[str]:
|
74
|
+
"""
|
75
|
+
The Amazon Resource Name (ARN) of the SNS topic.
|
76
|
+
"""
|
77
|
+
return pulumi.get(self, "sns_arn")
|
78
|
+
|
79
|
+
@sns_arn.setter
|
80
|
+
def sns_arn(self, value: pulumi.Input[str]):
|
81
|
+
pulumi.set(self, "sns_arn", value)
|
82
|
+
|
83
|
+
@property
|
84
|
+
@pulumi.getter
|
85
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
86
|
+
"""
|
87
|
+
The name of the webhook. Defaults to an autogenerated name if not provided.
|
88
|
+
"""
|
89
|
+
return pulumi.get(self, "name")
|
90
|
+
|
91
|
+
@name.setter
|
92
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
93
|
+
pulumi.set(self, "name", value)
|
94
|
+
|
95
|
+
@property
|
96
|
+
@pulumi.getter(name="projectId")
|
97
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
98
|
+
"""
|
99
|
+
The ID of the project the webhook is associated with.
|
100
|
+
"""
|
101
|
+
return pulumi.get(self, "project_id")
|
102
|
+
|
103
|
+
@project_id.setter
|
104
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
105
|
+
pulumi.set(self, "project_id", value)
|
106
|
+
|
107
|
+
@property
|
108
|
+
@pulumi.getter
|
109
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
110
|
+
"""
|
111
|
+
. The region in which the webhook should be created.
|
112
|
+
"""
|
113
|
+
return pulumi.get(self, "region")
|
114
|
+
|
115
|
+
@region.setter
|
116
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
117
|
+
pulumi.set(self, "region", value)
|
118
|
+
|
119
|
+
|
120
|
+
@pulumi.input_type
|
121
|
+
class _WebhookState:
|
122
|
+
def __init__(__self__, *,
|
123
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
124
|
+
domain_id: Optional[pulumi.Input[str]] = None,
|
125
|
+
event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
126
|
+
name: Optional[pulumi.Input[str]] = None,
|
127
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
128
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
129
|
+
region: Optional[pulumi.Input[str]] = None,
|
130
|
+
sns_arn: Optional[pulumi.Input[str]] = None,
|
131
|
+
updated_at: Optional[pulumi.Input[str]] = None):
|
132
|
+
"""
|
133
|
+
Input properties used for looking up and filtering Webhook resources.
|
134
|
+
:param pulumi.Input[str] created_at: The date and time of the webhook's creation (RFC 3339 format).
|
135
|
+
:param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with.
|
136
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook.
|
137
|
+
:param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided.
|
138
|
+
:param pulumi.Input[str] organization_id: The ID of the organization the webhook belongs to.
|
139
|
+
:param pulumi.Input[str] project_id: The ID of the project the webhook is associated with.
|
140
|
+
:param pulumi.Input[str] region: . The region in which the webhook should be created.
|
141
|
+
:param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic.
|
142
|
+
:param pulumi.Input[str] updated_at: The date and time of the webhook's last update (RFC 3339 format).
|
143
|
+
"""
|
144
|
+
if created_at is not None:
|
145
|
+
pulumi.set(__self__, "created_at", created_at)
|
146
|
+
if domain_id is not None:
|
147
|
+
pulumi.set(__self__, "domain_id", domain_id)
|
148
|
+
if event_types is not None:
|
149
|
+
pulumi.set(__self__, "event_types", event_types)
|
150
|
+
if name is not None:
|
151
|
+
pulumi.set(__self__, "name", name)
|
152
|
+
if organization_id is not None:
|
153
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
154
|
+
if project_id is not None:
|
155
|
+
pulumi.set(__self__, "project_id", project_id)
|
156
|
+
if region is not None:
|
157
|
+
pulumi.set(__self__, "region", region)
|
158
|
+
if sns_arn is not None:
|
159
|
+
pulumi.set(__self__, "sns_arn", sns_arn)
|
160
|
+
if updated_at is not None:
|
161
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
162
|
+
|
163
|
+
@property
|
164
|
+
@pulumi.getter(name="createdAt")
|
165
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
166
|
+
"""
|
167
|
+
The date and time of the webhook's creation (RFC 3339 format).
|
168
|
+
"""
|
169
|
+
return pulumi.get(self, "created_at")
|
170
|
+
|
171
|
+
@created_at.setter
|
172
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
173
|
+
pulumi.set(self, "created_at", value)
|
174
|
+
|
175
|
+
@property
|
176
|
+
@pulumi.getter(name="domainId")
|
177
|
+
def domain_id(self) -> Optional[pulumi.Input[str]]:
|
178
|
+
"""
|
179
|
+
The ID of the domain the webhook is associated with.
|
180
|
+
"""
|
181
|
+
return pulumi.get(self, "domain_id")
|
182
|
+
|
183
|
+
@domain_id.setter
|
184
|
+
def domain_id(self, value: Optional[pulumi.Input[str]]):
|
185
|
+
pulumi.set(self, "domain_id", value)
|
186
|
+
|
187
|
+
@property
|
188
|
+
@pulumi.getter(name="eventTypes")
|
189
|
+
def event_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
190
|
+
"""
|
191
|
+
A list of event types that trigger the webhook.
|
192
|
+
"""
|
193
|
+
return pulumi.get(self, "event_types")
|
194
|
+
|
195
|
+
@event_types.setter
|
196
|
+
def event_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
197
|
+
pulumi.set(self, "event_types", value)
|
198
|
+
|
199
|
+
@property
|
200
|
+
@pulumi.getter
|
201
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
202
|
+
"""
|
203
|
+
The name of the webhook. Defaults to an autogenerated name if not provided.
|
204
|
+
"""
|
205
|
+
return pulumi.get(self, "name")
|
206
|
+
|
207
|
+
@name.setter
|
208
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
209
|
+
pulumi.set(self, "name", value)
|
210
|
+
|
211
|
+
@property
|
212
|
+
@pulumi.getter(name="organizationId")
|
213
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
214
|
+
"""
|
215
|
+
The ID of the organization the webhook belongs to.
|
216
|
+
"""
|
217
|
+
return pulumi.get(self, "organization_id")
|
218
|
+
|
219
|
+
@organization_id.setter
|
220
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
221
|
+
pulumi.set(self, "organization_id", value)
|
222
|
+
|
223
|
+
@property
|
224
|
+
@pulumi.getter(name="projectId")
|
225
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
226
|
+
"""
|
227
|
+
The ID of the project the webhook is associated with.
|
228
|
+
"""
|
229
|
+
return pulumi.get(self, "project_id")
|
230
|
+
|
231
|
+
@project_id.setter
|
232
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
233
|
+
pulumi.set(self, "project_id", value)
|
234
|
+
|
235
|
+
@property
|
236
|
+
@pulumi.getter
|
237
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
238
|
+
"""
|
239
|
+
. The region in which the webhook should be created.
|
240
|
+
"""
|
241
|
+
return pulumi.get(self, "region")
|
242
|
+
|
243
|
+
@region.setter
|
244
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
245
|
+
pulumi.set(self, "region", value)
|
246
|
+
|
247
|
+
@property
|
248
|
+
@pulumi.getter(name="snsArn")
|
249
|
+
def sns_arn(self) -> Optional[pulumi.Input[str]]:
|
250
|
+
"""
|
251
|
+
The Amazon Resource Name (ARN) of the SNS topic.
|
252
|
+
"""
|
253
|
+
return pulumi.get(self, "sns_arn")
|
254
|
+
|
255
|
+
@sns_arn.setter
|
256
|
+
def sns_arn(self, value: Optional[pulumi.Input[str]]):
|
257
|
+
pulumi.set(self, "sns_arn", value)
|
258
|
+
|
259
|
+
@property
|
260
|
+
@pulumi.getter(name="updatedAt")
|
261
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
262
|
+
"""
|
263
|
+
The date and time of the webhook's last update (RFC 3339 format).
|
264
|
+
"""
|
265
|
+
return pulumi.get(self, "updated_at")
|
266
|
+
|
267
|
+
@updated_at.setter
|
268
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
269
|
+
pulumi.set(self, "updated_at", value)
|
270
|
+
|
271
|
+
|
272
|
+
class Webhook(pulumi.CustomResource):
|
273
|
+
@overload
|
274
|
+
def __init__(__self__,
|
275
|
+
resource_name: str,
|
276
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
277
|
+
domain_id: Optional[pulumi.Input[str]] = None,
|
278
|
+
event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
279
|
+
name: Optional[pulumi.Input[str]] = None,
|
280
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
281
|
+
region: Optional[pulumi.Input[str]] = None,
|
282
|
+
sns_arn: Optional[pulumi.Input[str]] = None,
|
283
|
+
__props__=None):
|
284
|
+
"""
|
285
|
+
Creates and manages Scaleway Transactional Email Webhooks.
|
286
|
+
For more information, refer to the [API documentation](https://www.scaleway.com/en/developers/api/transactional-email).
|
287
|
+
|
288
|
+
## Example Usage
|
289
|
+
|
290
|
+
### Basic
|
291
|
+
|
292
|
+
```python
|
293
|
+
import pulumi
|
294
|
+
import pulumiverse_scaleway as scaleway
|
295
|
+
|
296
|
+
main = scaleway.tem.Webhook("main",
|
297
|
+
domain_id="your-domain-id",
|
298
|
+
event_types=[
|
299
|
+
"email_delivered",
|
300
|
+
"email_bounced",
|
301
|
+
],
|
302
|
+
sns_arn="arn:scw:sns:fr-par:project-xxxx:your-sns-topic",
|
303
|
+
name="example-webhook")
|
304
|
+
```
|
305
|
+
|
306
|
+
### Complete Example with Dependencies
|
307
|
+
|
308
|
+
```python
|
309
|
+
import pulumi
|
310
|
+
import pulumiverse_scaleway as scaleway
|
311
|
+
|
312
|
+
config = pulumi.Config()
|
313
|
+
domain_name = config.require("domainName")
|
314
|
+
sns = scaleway.mnq.Sns("sns")
|
315
|
+
sns_credentials = scaleway.mnq.SnsCredentials("sns_credentials", permissions={
|
316
|
+
"can_manage": True,
|
317
|
+
})
|
318
|
+
sns_topic = scaleway.mnq.SnsTopic("sns_topic",
|
319
|
+
name="test-mnq-sns-topic-basic",
|
320
|
+
access_key=sns_credentials.access_key,
|
321
|
+
secret_key=sns_credentials.secret_key)
|
322
|
+
cr01 = scaleway.tem.Domain("cr01",
|
323
|
+
name=domain_name,
|
324
|
+
accept_tos=True)
|
325
|
+
spf = scaleway.domain.Record("spf",
|
326
|
+
dns_zone=domain_name,
|
327
|
+
type="TXT",
|
328
|
+
data=cr01.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all"))
|
329
|
+
dkim = scaleway.domain.Record("dkim",
|
330
|
+
dns_zone=domain_name,
|
331
|
+
name=cr01.project_id.apply(lambda project_id: f"{project_id}._domainkey"),
|
332
|
+
type="TXT",
|
333
|
+
data=cr01.dkim_config)
|
334
|
+
mx = scaleway.domain.Record("mx",
|
335
|
+
dns_zone=domain_name,
|
336
|
+
type="MX",
|
337
|
+
data=".")
|
338
|
+
dmarc = scaleway.domain.Record("dmarc",
|
339
|
+
dns_zone=domain_name,
|
340
|
+
name=cr01.dmarc_name,
|
341
|
+
type="TXT",
|
342
|
+
data=cr01.dmarc_config)
|
343
|
+
valid = scaleway.tem.DomainValidation("valid",
|
344
|
+
domain_id=cr01.id,
|
345
|
+
region=cr01.region,
|
346
|
+
timeout=3600)
|
347
|
+
webhook = scaleway.tem.Webhook("webhook",
|
348
|
+
name="example-webhook",
|
349
|
+
domain_id=cr01.id,
|
350
|
+
event_types=[
|
351
|
+
"email_delivered",
|
352
|
+
"email_bounced",
|
353
|
+
],
|
354
|
+
sns_arn=sns_topic.arn,
|
355
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
356
|
+
valid,
|
357
|
+
sns_topic,
|
358
|
+
]))
|
359
|
+
```
|
360
|
+
|
361
|
+
## Import
|
362
|
+
|
363
|
+
Webhooks can be imported using the {region}/{id}, e.g.
|
364
|
+
|
365
|
+
bash
|
366
|
+
|
367
|
+
```sh
|
368
|
+
$ pulumi import scaleway:tem/webhook:Webhook main fr-par/11111111-1111-1111-1111-111111111111
|
369
|
+
```
|
370
|
+
|
371
|
+
:param str resource_name: The name of the resource.
|
372
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
373
|
+
:param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with.
|
374
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook.
|
375
|
+
:param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided.
|
376
|
+
:param pulumi.Input[str] project_id: The ID of the project the webhook is associated with.
|
377
|
+
:param pulumi.Input[str] region: . The region in which the webhook should be created.
|
378
|
+
:param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic.
|
379
|
+
"""
|
380
|
+
...
|
381
|
+
@overload
|
382
|
+
def __init__(__self__,
|
383
|
+
resource_name: str,
|
384
|
+
args: WebhookArgs,
|
385
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
386
|
+
"""
|
387
|
+
Creates and manages Scaleway Transactional Email Webhooks.
|
388
|
+
For more information, refer to the [API documentation](https://www.scaleway.com/en/developers/api/transactional-email).
|
389
|
+
|
390
|
+
## Example Usage
|
391
|
+
|
392
|
+
### Basic
|
393
|
+
|
394
|
+
```python
|
395
|
+
import pulumi
|
396
|
+
import pulumiverse_scaleway as scaleway
|
397
|
+
|
398
|
+
main = scaleway.tem.Webhook("main",
|
399
|
+
domain_id="your-domain-id",
|
400
|
+
event_types=[
|
401
|
+
"email_delivered",
|
402
|
+
"email_bounced",
|
403
|
+
],
|
404
|
+
sns_arn="arn:scw:sns:fr-par:project-xxxx:your-sns-topic",
|
405
|
+
name="example-webhook")
|
406
|
+
```
|
407
|
+
|
408
|
+
### Complete Example with Dependencies
|
409
|
+
|
410
|
+
```python
|
411
|
+
import pulumi
|
412
|
+
import pulumiverse_scaleway as scaleway
|
413
|
+
|
414
|
+
config = pulumi.Config()
|
415
|
+
domain_name = config.require("domainName")
|
416
|
+
sns = scaleway.mnq.Sns("sns")
|
417
|
+
sns_credentials = scaleway.mnq.SnsCredentials("sns_credentials", permissions={
|
418
|
+
"can_manage": True,
|
419
|
+
})
|
420
|
+
sns_topic = scaleway.mnq.SnsTopic("sns_topic",
|
421
|
+
name="test-mnq-sns-topic-basic",
|
422
|
+
access_key=sns_credentials.access_key,
|
423
|
+
secret_key=sns_credentials.secret_key)
|
424
|
+
cr01 = scaleway.tem.Domain("cr01",
|
425
|
+
name=domain_name,
|
426
|
+
accept_tos=True)
|
427
|
+
spf = scaleway.domain.Record("spf",
|
428
|
+
dns_zone=domain_name,
|
429
|
+
type="TXT",
|
430
|
+
data=cr01.spf_config.apply(lambda spf_config: f"v=spf1 {spf_config} -all"))
|
431
|
+
dkim = scaleway.domain.Record("dkim",
|
432
|
+
dns_zone=domain_name,
|
433
|
+
name=cr01.project_id.apply(lambda project_id: f"{project_id}._domainkey"),
|
434
|
+
type="TXT",
|
435
|
+
data=cr01.dkim_config)
|
436
|
+
mx = scaleway.domain.Record("mx",
|
437
|
+
dns_zone=domain_name,
|
438
|
+
type="MX",
|
439
|
+
data=".")
|
440
|
+
dmarc = scaleway.domain.Record("dmarc",
|
441
|
+
dns_zone=domain_name,
|
442
|
+
name=cr01.dmarc_name,
|
443
|
+
type="TXT",
|
444
|
+
data=cr01.dmarc_config)
|
445
|
+
valid = scaleway.tem.DomainValidation("valid",
|
446
|
+
domain_id=cr01.id,
|
447
|
+
region=cr01.region,
|
448
|
+
timeout=3600)
|
449
|
+
webhook = scaleway.tem.Webhook("webhook",
|
450
|
+
name="example-webhook",
|
451
|
+
domain_id=cr01.id,
|
452
|
+
event_types=[
|
453
|
+
"email_delivered",
|
454
|
+
"email_bounced",
|
455
|
+
],
|
456
|
+
sns_arn=sns_topic.arn,
|
457
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
458
|
+
valid,
|
459
|
+
sns_topic,
|
460
|
+
]))
|
461
|
+
```
|
462
|
+
|
463
|
+
## Import
|
464
|
+
|
465
|
+
Webhooks can be imported using the {region}/{id}, e.g.
|
466
|
+
|
467
|
+
bash
|
468
|
+
|
469
|
+
```sh
|
470
|
+
$ pulumi import scaleway:tem/webhook:Webhook main fr-par/11111111-1111-1111-1111-111111111111
|
471
|
+
```
|
472
|
+
|
473
|
+
:param str resource_name: The name of the resource.
|
474
|
+
:param WebhookArgs args: The arguments to use to populate this resource's properties.
|
475
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
476
|
+
"""
|
477
|
+
...
|
478
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
479
|
+
resource_args, opts = _utilities.get_resource_args_opts(WebhookArgs, pulumi.ResourceOptions, *args, **kwargs)
|
480
|
+
if resource_args is not None:
|
481
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
482
|
+
else:
|
483
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
484
|
+
|
485
|
+
def _internal_init(__self__,
|
486
|
+
resource_name: str,
|
487
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
488
|
+
domain_id: Optional[pulumi.Input[str]] = None,
|
489
|
+
event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
490
|
+
name: Optional[pulumi.Input[str]] = None,
|
491
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
492
|
+
region: Optional[pulumi.Input[str]] = None,
|
493
|
+
sns_arn: Optional[pulumi.Input[str]] = None,
|
494
|
+
__props__=None):
|
495
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
496
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
497
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
498
|
+
if opts.id is None:
|
499
|
+
if __props__ is not None:
|
500
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
501
|
+
__props__ = WebhookArgs.__new__(WebhookArgs)
|
502
|
+
|
503
|
+
if domain_id is None and not opts.urn:
|
504
|
+
raise TypeError("Missing required property 'domain_id'")
|
505
|
+
__props__.__dict__["domain_id"] = domain_id
|
506
|
+
if event_types is None and not opts.urn:
|
507
|
+
raise TypeError("Missing required property 'event_types'")
|
508
|
+
__props__.__dict__["event_types"] = event_types
|
509
|
+
__props__.__dict__["name"] = name
|
510
|
+
__props__.__dict__["project_id"] = project_id
|
511
|
+
__props__.__dict__["region"] = region
|
512
|
+
if sns_arn is None and not opts.urn:
|
513
|
+
raise TypeError("Missing required property 'sns_arn'")
|
514
|
+
__props__.__dict__["sns_arn"] = sns_arn
|
515
|
+
__props__.__dict__["created_at"] = None
|
516
|
+
__props__.__dict__["organization_id"] = None
|
517
|
+
__props__.__dict__["updated_at"] = None
|
518
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/temWebhook:TemWebhook")])
|
519
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
520
|
+
super(Webhook, __self__).__init__(
|
521
|
+
'scaleway:tem/webhook:Webhook',
|
522
|
+
resource_name,
|
523
|
+
__props__,
|
524
|
+
opts)
|
525
|
+
|
526
|
+
@staticmethod
|
527
|
+
def get(resource_name: str,
|
528
|
+
id: pulumi.Input[str],
|
529
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
530
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
531
|
+
domain_id: Optional[pulumi.Input[str]] = None,
|
532
|
+
event_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
533
|
+
name: Optional[pulumi.Input[str]] = None,
|
534
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
535
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
536
|
+
region: Optional[pulumi.Input[str]] = None,
|
537
|
+
sns_arn: Optional[pulumi.Input[str]] = None,
|
538
|
+
updated_at: Optional[pulumi.Input[str]] = None) -> 'Webhook':
|
539
|
+
"""
|
540
|
+
Get an existing Webhook resource's state with the given name, id, and optional extra
|
541
|
+
properties used to qualify the lookup.
|
542
|
+
|
543
|
+
:param str resource_name: The unique name of the resulting resource.
|
544
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
545
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
546
|
+
:param pulumi.Input[str] created_at: The date and time of the webhook's creation (RFC 3339 format).
|
547
|
+
:param pulumi.Input[str] domain_id: The ID of the domain the webhook is associated with.
|
548
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: A list of event types that trigger the webhook.
|
549
|
+
:param pulumi.Input[str] name: The name of the webhook. Defaults to an autogenerated name if not provided.
|
550
|
+
:param pulumi.Input[str] organization_id: The ID of the organization the webhook belongs to.
|
551
|
+
:param pulumi.Input[str] project_id: The ID of the project the webhook is associated with.
|
552
|
+
:param pulumi.Input[str] region: . The region in which the webhook should be created.
|
553
|
+
:param pulumi.Input[str] sns_arn: The Amazon Resource Name (ARN) of the SNS topic.
|
554
|
+
:param pulumi.Input[str] updated_at: The date and time of the webhook's last update (RFC 3339 format).
|
555
|
+
"""
|
556
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
557
|
+
|
558
|
+
__props__ = _WebhookState.__new__(_WebhookState)
|
559
|
+
|
560
|
+
__props__.__dict__["created_at"] = created_at
|
561
|
+
__props__.__dict__["domain_id"] = domain_id
|
562
|
+
__props__.__dict__["event_types"] = event_types
|
563
|
+
__props__.__dict__["name"] = name
|
564
|
+
__props__.__dict__["organization_id"] = organization_id
|
565
|
+
__props__.__dict__["project_id"] = project_id
|
566
|
+
__props__.__dict__["region"] = region
|
567
|
+
__props__.__dict__["sns_arn"] = sns_arn
|
568
|
+
__props__.__dict__["updated_at"] = updated_at
|
569
|
+
return Webhook(resource_name, opts=opts, __props__=__props__)
|
570
|
+
|
571
|
+
@property
|
572
|
+
@pulumi.getter(name="createdAt")
|
573
|
+
def created_at(self) -> pulumi.Output[str]:
|
574
|
+
"""
|
575
|
+
The date and time of the webhook's creation (RFC 3339 format).
|
576
|
+
"""
|
577
|
+
return pulumi.get(self, "created_at")
|
578
|
+
|
579
|
+
@property
|
580
|
+
@pulumi.getter(name="domainId")
|
581
|
+
def domain_id(self) -> pulumi.Output[str]:
|
582
|
+
"""
|
583
|
+
The ID of the domain the webhook is associated with.
|
584
|
+
"""
|
585
|
+
return pulumi.get(self, "domain_id")
|
586
|
+
|
587
|
+
@property
|
588
|
+
@pulumi.getter(name="eventTypes")
|
589
|
+
def event_types(self) -> pulumi.Output[Sequence[str]]:
|
590
|
+
"""
|
591
|
+
A list of event types that trigger the webhook.
|
592
|
+
"""
|
593
|
+
return pulumi.get(self, "event_types")
|
594
|
+
|
595
|
+
@property
|
596
|
+
@pulumi.getter
|
597
|
+
def name(self) -> pulumi.Output[str]:
|
598
|
+
"""
|
599
|
+
The name of the webhook. Defaults to an autogenerated name if not provided.
|
600
|
+
"""
|
601
|
+
return pulumi.get(self, "name")
|
602
|
+
|
603
|
+
@property
|
604
|
+
@pulumi.getter(name="organizationId")
|
605
|
+
def organization_id(self) -> pulumi.Output[str]:
|
606
|
+
"""
|
607
|
+
The ID of the organization the webhook belongs to.
|
608
|
+
"""
|
609
|
+
return pulumi.get(self, "organization_id")
|
610
|
+
|
611
|
+
@property
|
612
|
+
@pulumi.getter(name="projectId")
|
613
|
+
def project_id(self) -> pulumi.Output[str]:
|
614
|
+
"""
|
615
|
+
The ID of the project the webhook is associated with.
|
616
|
+
"""
|
617
|
+
return pulumi.get(self, "project_id")
|
618
|
+
|
619
|
+
@property
|
620
|
+
@pulumi.getter
|
621
|
+
def region(self) -> pulumi.Output[str]:
|
622
|
+
"""
|
623
|
+
. The region in which the webhook should be created.
|
624
|
+
"""
|
625
|
+
return pulumi.get(self, "region")
|
626
|
+
|
627
|
+
@property
|
628
|
+
@pulumi.getter(name="snsArn")
|
629
|
+
def sns_arn(self) -> pulumi.Output[str]:
|
630
|
+
"""
|
631
|
+
The Amazon Resource Name (ARN) of the SNS topic.
|
632
|
+
"""
|
633
|
+
return pulumi.get(self, "sns_arn")
|
634
|
+
|
635
|
+
@property
|
636
|
+
@pulumi.getter(name="updatedAt")
|
637
|
+
def updated_at(self) -> pulumi.Output[str]:
|
638
|
+
"""
|
639
|
+
The date and time of the webhook's last update (RFC 3339 format).
|
640
|
+
"""
|
641
|
+
return pulumi.get(self, "updated_at")
|
642
|
+
|