pulumiverse-scaleway 1.25.0a1742288097__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.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +2 -2
- pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.25.0a1742288097.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,775 @@
|
|
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__ = ['PolicyArgs', 'Policy']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class PolicyArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
rules: pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]],
|
25
|
+
application_id: Optional[pulumi.Input[str]] = None,
|
26
|
+
description: Optional[pulumi.Input[str]] = None,
|
27
|
+
group_id: Optional[pulumi.Input[str]] = None,
|
28
|
+
name: Optional[pulumi.Input[str]] = None,
|
29
|
+
no_principal: Optional[pulumi.Input[bool]] = None,
|
30
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
31
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
32
|
+
user_id: Optional[pulumi.Input[str]] = None):
|
33
|
+
"""
|
34
|
+
The set of arguments for constructing a Policy resource.
|
35
|
+
:param pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]] rules: List of rules in the policy.
|
36
|
+
:param pulumi.Input[str] application_id: ID of the application the policy will be linked to
|
37
|
+
:param pulumi.Input[str] description: The description of the IAM policy.
|
38
|
+
:param pulumi.Input[str] group_id: ID of the group the policy will be linked to
|
39
|
+
:param pulumi.Input[str] name: The name of the IAM policy.
|
40
|
+
:param pulumi.Input[bool] no_principal: If the policy doesn't apply to a principal.
|
41
|
+
|
42
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
43
|
+
:param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the policy is associated with.
|
44
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IAM policy.
|
45
|
+
:param pulumi.Input[str] user_id: ID of the user the policy will be linked to
|
46
|
+
"""
|
47
|
+
pulumi.set(__self__, "rules", rules)
|
48
|
+
if application_id is not None:
|
49
|
+
pulumi.set(__self__, "application_id", application_id)
|
50
|
+
if description is not None:
|
51
|
+
pulumi.set(__self__, "description", description)
|
52
|
+
if group_id is not None:
|
53
|
+
pulumi.set(__self__, "group_id", group_id)
|
54
|
+
if name is not None:
|
55
|
+
pulumi.set(__self__, "name", name)
|
56
|
+
if no_principal is not None:
|
57
|
+
pulumi.set(__self__, "no_principal", no_principal)
|
58
|
+
if organization_id is not None:
|
59
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
60
|
+
if tags is not None:
|
61
|
+
pulumi.set(__self__, "tags", tags)
|
62
|
+
if user_id is not None:
|
63
|
+
pulumi.set(__self__, "user_id", user_id)
|
64
|
+
|
65
|
+
@property
|
66
|
+
@pulumi.getter
|
67
|
+
def rules(self) -> pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]:
|
68
|
+
"""
|
69
|
+
List of rules in the policy.
|
70
|
+
"""
|
71
|
+
return pulumi.get(self, "rules")
|
72
|
+
|
73
|
+
@rules.setter
|
74
|
+
def rules(self, value: pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]):
|
75
|
+
pulumi.set(self, "rules", value)
|
76
|
+
|
77
|
+
@property
|
78
|
+
@pulumi.getter(name="applicationId")
|
79
|
+
def application_id(self) -> Optional[pulumi.Input[str]]:
|
80
|
+
"""
|
81
|
+
ID of the application the policy will be linked to
|
82
|
+
"""
|
83
|
+
return pulumi.get(self, "application_id")
|
84
|
+
|
85
|
+
@application_id.setter
|
86
|
+
def application_id(self, value: Optional[pulumi.Input[str]]):
|
87
|
+
pulumi.set(self, "application_id", value)
|
88
|
+
|
89
|
+
@property
|
90
|
+
@pulumi.getter
|
91
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
92
|
+
"""
|
93
|
+
The description of the IAM policy.
|
94
|
+
"""
|
95
|
+
return pulumi.get(self, "description")
|
96
|
+
|
97
|
+
@description.setter
|
98
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
99
|
+
pulumi.set(self, "description", value)
|
100
|
+
|
101
|
+
@property
|
102
|
+
@pulumi.getter(name="groupId")
|
103
|
+
def group_id(self) -> Optional[pulumi.Input[str]]:
|
104
|
+
"""
|
105
|
+
ID of the group the policy will be linked to
|
106
|
+
"""
|
107
|
+
return pulumi.get(self, "group_id")
|
108
|
+
|
109
|
+
@group_id.setter
|
110
|
+
def group_id(self, value: Optional[pulumi.Input[str]]):
|
111
|
+
pulumi.set(self, "group_id", value)
|
112
|
+
|
113
|
+
@property
|
114
|
+
@pulumi.getter
|
115
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
116
|
+
"""
|
117
|
+
The name of the IAM policy.
|
118
|
+
"""
|
119
|
+
return pulumi.get(self, "name")
|
120
|
+
|
121
|
+
@name.setter
|
122
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
123
|
+
pulumi.set(self, "name", value)
|
124
|
+
|
125
|
+
@property
|
126
|
+
@pulumi.getter(name="noPrincipal")
|
127
|
+
def no_principal(self) -> Optional[pulumi.Input[bool]]:
|
128
|
+
"""
|
129
|
+
If the policy doesn't apply to a principal.
|
130
|
+
|
131
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
132
|
+
"""
|
133
|
+
return pulumi.get(self, "no_principal")
|
134
|
+
|
135
|
+
@no_principal.setter
|
136
|
+
def no_principal(self, value: Optional[pulumi.Input[bool]]):
|
137
|
+
pulumi.set(self, "no_principal", value)
|
138
|
+
|
139
|
+
@property
|
140
|
+
@pulumi.getter(name="organizationId")
|
141
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
142
|
+
"""
|
143
|
+
`organization_id`) The ID of the organization the policy is associated with.
|
144
|
+
"""
|
145
|
+
return pulumi.get(self, "organization_id")
|
146
|
+
|
147
|
+
@organization_id.setter
|
148
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
149
|
+
pulumi.set(self, "organization_id", value)
|
150
|
+
|
151
|
+
@property
|
152
|
+
@pulumi.getter
|
153
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
154
|
+
"""
|
155
|
+
The tags associated with the IAM policy.
|
156
|
+
"""
|
157
|
+
return pulumi.get(self, "tags")
|
158
|
+
|
159
|
+
@tags.setter
|
160
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
161
|
+
pulumi.set(self, "tags", value)
|
162
|
+
|
163
|
+
@property
|
164
|
+
@pulumi.getter(name="userId")
|
165
|
+
def user_id(self) -> Optional[pulumi.Input[str]]:
|
166
|
+
"""
|
167
|
+
ID of the user the policy will be linked to
|
168
|
+
"""
|
169
|
+
return pulumi.get(self, "user_id")
|
170
|
+
|
171
|
+
@user_id.setter
|
172
|
+
def user_id(self, value: Optional[pulumi.Input[str]]):
|
173
|
+
pulumi.set(self, "user_id", value)
|
174
|
+
|
175
|
+
|
176
|
+
@pulumi.input_type
|
177
|
+
class _PolicyState:
|
178
|
+
def __init__(__self__, *,
|
179
|
+
application_id: Optional[pulumi.Input[str]] = None,
|
180
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
181
|
+
description: Optional[pulumi.Input[str]] = None,
|
182
|
+
editable: Optional[pulumi.Input[bool]] = None,
|
183
|
+
group_id: Optional[pulumi.Input[str]] = None,
|
184
|
+
name: Optional[pulumi.Input[str]] = None,
|
185
|
+
no_principal: Optional[pulumi.Input[bool]] = None,
|
186
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
187
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]] = None,
|
188
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
189
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
190
|
+
user_id: Optional[pulumi.Input[str]] = None):
|
191
|
+
"""
|
192
|
+
Input properties used for looking up and filtering Policy resources.
|
193
|
+
:param pulumi.Input[str] application_id: ID of the application the policy will be linked to
|
194
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the policy.
|
195
|
+
:param pulumi.Input[str] description: The description of the IAM policy.
|
196
|
+
:param pulumi.Input[bool] editable: Whether the policy is editable.
|
197
|
+
:param pulumi.Input[str] group_id: ID of the group the policy will be linked to
|
198
|
+
:param pulumi.Input[str] name: The name of the IAM policy.
|
199
|
+
:param pulumi.Input[bool] no_principal: If the policy doesn't apply to a principal.
|
200
|
+
|
201
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
202
|
+
:param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the policy is associated with.
|
203
|
+
:param pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]] rules: List of rules in the policy.
|
204
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IAM policy.
|
205
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the policy.
|
206
|
+
:param pulumi.Input[str] user_id: ID of the user the policy will be linked to
|
207
|
+
"""
|
208
|
+
if application_id is not None:
|
209
|
+
pulumi.set(__self__, "application_id", application_id)
|
210
|
+
if created_at is not None:
|
211
|
+
pulumi.set(__self__, "created_at", created_at)
|
212
|
+
if description is not None:
|
213
|
+
pulumi.set(__self__, "description", description)
|
214
|
+
if editable is not None:
|
215
|
+
pulumi.set(__self__, "editable", editable)
|
216
|
+
if group_id is not None:
|
217
|
+
pulumi.set(__self__, "group_id", group_id)
|
218
|
+
if name is not None:
|
219
|
+
pulumi.set(__self__, "name", name)
|
220
|
+
if no_principal is not None:
|
221
|
+
pulumi.set(__self__, "no_principal", no_principal)
|
222
|
+
if organization_id is not None:
|
223
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
224
|
+
if rules is not None:
|
225
|
+
pulumi.set(__self__, "rules", rules)
|
226
|
+
if tags is not None:
|
227
|
+
pulumi.set(__self__, "tags", tags)
|
228
|
+
if updated_at is not None:
|
229
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
230
|
+
if user_id is not None:
|
231
|
+
pulumi.set(__self__, "user_id", user_id)
|
232
|
+
|
233
|
+
@property
|
234
|
+
@pulumi.getter(name="applicationId")
|
235
|
+
def application_id(self) -> Optional[pulumi.Input[str]]:
|
236
|
+
"""
|
237
|
+
ID of the application the policy will be linked to
|
238
|
+
"""
|
239
|
+
return pulumi.get(self, "application_id")
|
240
|
+
|
241
|
+
@application_id.setter
|
242
|
+
def application_id(self, value: Optional[pulumi.Input[str]]):
|
243
|
+
pulumi.set(self, "application_id", value)
|
244
|
+
|
245
|
+
@property
|
246
|
+
@pulumi.getter(name="createdAt")
|
247
|
+
def created_at(self) -> Optional[pulumi.Input[str]]:
|
248
|
+
"""
|
249
|
+
The date and time of the creation of the policy.
|
250
|
+
"""
|
251
|
+
return pulumi.get(self, "created_at")
|
252
|
+
|
253
|
+
@created_at.setter
|
254
|
+
def created_at(self, value: Optional[pulumi.Input[str]]):
|
255
|
+
pulumi.set(self, "created_at", value)
|
256
|
+
|
257
|
+
@property
|
258
|
+
@pulumi.getter
|
259
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
260
|
+
"""
|
261
|
+
The description of the IAM policy.
|
262
|
+
"""
|
263
|
+
return pulumi.get(self, "description")
|
264
|
+
|
265
|
+
@description.setter
|
266
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
267
|
+
pulumi.set(self, "description", value)
|
268
|
+
|
269
|
+
@property
|
270
|
+
@pulumi.getter
|
271
|
+
def editable(self) -> Optional[pulumi.Input[bool]]:
|
272
|
+
"""
|
273
|
+
Whether the policy is editable.
|
274
|
+
"""
|
275
|
+
return pulumi.get(self, "editable")
|
276
|
+
|
277
|
+
@editable.setter
|
278
|
+
def editable(self, value: Optional[pulumi.Input[bool]]):
|
279
|
+
pulumi.set(self, "editable", value)
|
280
|
+
|
281
|
+
@property
|
282
|
+
@pulumi.getter(name="groupId")
|
283
|
+
def group_id(self) -> Optional[pulumi.Input[str]]:
|
284
|
+
"""
|
285
|
+
ID of the group the policy will be linked to
|
286
|
+
"""
|
287
|
+
return pulumi.get(self, "group_id")
|
288
|
+
|
289
|
+
@group_id.setter
|
290
|
+
def group_id(self, value: Optional[pulumi.Input[str]]):
|
291
|
+
pulumi.set(self, "group_id", value)
|
292
|
+
|
293
|
+
@property
|
294
|
+
@pulumi.getter
|
295
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
296
|
+
"""
|
297
|
+
The name of the IAM policy.
|
298
|
+
"""
|
299
|
+
return pulumi.get(self, "name")
|
300
|
+
|
301
|
+
@name.setter
|
302
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
303
|
+
pulumi.set(self, "name", value)
|
304
|
+
|
305
|
+
@property
|
306
|
+
@pulumi.getter(name="noPrincipal")
|
307
|
+
def no_principal(self) -> Optional[pulumi.Input[bool]]:
|
308
|
+
"""
|
309
|
+
If the policy doesn't apply to a principal.
|
310
|
+
|
311
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
312
|
+
"""
|
313
|
+
return pulumi.get(self, "no_principal")
|
314
|
+
|
315
|
+
@no_principal.setter
|
316
|
+
def no_principal(self, value: Optional[pulumi.Input[bool]]):
|
317
|
+
pulumi.set(self, "no_principal", value)
|
318
|
+
|
319
|
+
@property
|
320
|
+
@pulumi.getter(name="organizationId")
|
321
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
322
|
+
"""
|
323
|
+
`organization_id`) The ID of the organization the policy is associated with.
|
324
|
+
"""
|
325
|
+
return pulumi.get(self, "organization_id")
|
326
|
+
|
327
|
+
@organization_id.setter
|
328
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
329
|
+
pulumi.set(self, "organization_id", value)
|
330
|
+
|
331
|
+
@property
|
332
|
+
@pulumi.getter
|
333
|
+
def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]]:
|
334
|
+
"""
|
335
|
+
List of rules in the policy.
|
336
|
+
"""
|
337
|
+
return pulumi.get(self, "rules")
|
338
|
+
|
339
|
+
@rules.setter
|
340
|
+
def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyRuleArgs']]]]):
|
341
|
+
pulumi.set(self, "rules", value)
|
342
|
+
|
343
|
+
@property
|
344
|
+
@pulumi.getter
|
345
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
346
|
+
"""
|
347
|
+
The tags associated with the IAM policy.
|
348
|
+
"""
|
349
|
+
return pulumi.get(self, "tags")
|
350
|
+
|
351
|
+
@tags.setter
|
352
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
353
|
+
pulumi.set(self, "tags", value)
|
354
|
+
|
355
|
+
@property
|
356
|
+
@pulumi.getter(name="updatedAt")
|
357
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
358
|
+
"""
|
359
|
+
The date and time of the last update of the policy.
|
360
|
+
"""
|
361
|
+
return pulumi.get(self, "updated_at")
|
362
|
+
|
363
|
+
@updated_at.setter
|
364
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
365
|
+
pulumi.set(self, "updated_at", value)
|
366
|
+
|
367
|
+
@property
|
368
|
+
@pulumi.getter(name="userId")
|
369
|
+
def user_id(self) -> Optional[pulumi.Input[str]]:
|
370
|
+
"""
|
371
|
+
ID of the user the policy will be linked to
|
372
|
+
"""
|
373
|
+
return pulumi.get(self, "user_id")
|
374
|
+
|
375
|
+
@user_id.setter
|
376
|
+
def user_id(self, value: Optional[pulumi.Input[str]]):
|
377
|
+
pulumi.set(self, "user_id", value)
|
378
|
+
|
379
|
+
|
380
|
+
class Policy(pulumi.CustomResource):
|
381
|
+
@overload
|
382
|
+
def __init__(__self__,
|
383
|
+
resource_name: str,
|
384
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
385
|
+
application_id: Optional[pulumi.Input[str]] = None,
|
386
|
+
description: Optional[pulumi.Input[str]] = None,
|
387
|
+
group_id: Optional[pulumi.Input[str]] = None,
|
388
|
+
name: Optional[pulumi.Input[str]] = None,
|
389
|
+
no_principal: Optional[pulumi.Input[bool]] = None,
|
390
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
391
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyRuleArgs', 'PolicyRuleArgsDict']]]]] = None,
|
392
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
393
|
+
user_id: Optional[pulumi.Input[str]] = None,
|
394
|
+
__props__=None):
|
395
|
+
"""
|
396
|
+
Creates and manages Scaleway IAM Policies. For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#path-policies-create-a-new-policy).
|
397
|
+
|
398
|
+
> You can find a detailed list of all permission sets available at Scaleway in the permission sets [reference page](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/).
|
399
|
+
|
400
|
+
## Example Usage
|
401
|
+
|
402
|
+
### Create a policy for an organization's project
|
403
|
+
|
404
|
+
```python
|
405
|
+
import pulumi
|
406
|
+
import pulumi_scaleway as scaleway
|
407
|
+
import pulumiverse_scaleway as scaleway
|
408
|
+
|
409
|
+
default = scaleway.account.get_project(name="default")
|
410
|
+
app = scaleway.iam.Application("app", name="my app")
|
411
|
+
object_read_only = scaleway.iam.Policy("object_read_only",
|
412
|
+
name="my policy",
|
413
|
+
description="gives app readonly access to object storage in project",
|
414
|
+
application_id=app.id,
|
415
|
+
rules=[{
|
416
|
+
"project_ids": [default.id],
|
417
|
+
"permission_set_names": ["ObjectStorageReadOnly"],
|
418
|
+
}])
|
419
|
+
```
|
420
|
+
|
421
|
+
### Create a policy for all current and future projects in an organization
|
422
|
+
|
423
|
+
```python
|
424
|
+
import pulumi
|
425
|
+
import pulumiverse_scaleway as scaleway
|
426
|
+
|
427
|
+
app = scaleway.iam.Application("app", name="my app")
|
428
|
+
object_read_only = scaleway.iam.Policy("object_read_only",
|
429
|
+
name="my policy",
|
430
|
+
description="gives app readonly access to object storage in project",
|
431
|
+
application_id=app.id,
|
432
|
+
rules=[{
|
433
|
+
"organization_id": app.organization_id,
|
434
|
+
"permission_set_names": ["ObjectStorageReadOnly"],
|
435
|
+
}])
|
436
|
+
```
|
437
|
+
|
438
|
+
### Create a policy with a particular condition
|
439
|
+
|
440
|
+
IAM policy rule can use a condition to be applied.
|
441
|
+
The following variables are available:
|
442
|
+
|
443
|
+
- `request.ip`
|
444
|
+
- `request.user_agent`
|
445
|
+
- `request.time`
|
446
|
+
|
447
|
+
```python
|
448
|
+
import pulumi
|
449
|
+
import pulumiverse_scaleway as scaleway
|
450
|
+
|
451
|
+
main = scaleway.iam.Policy("main",
|
452
|
+
name="tf_tests_policy_condition",
|
453
|
+
no_principal=True,
|
454
|
+
rules=[{
|
455
|
+
"organization_id": "%s",
|
456
|
+
"permission_set_names": ["AllProductsFullAccess"],
|
457
|
+
"condition": "request.user_agent == 'My User Agent'",
|
458
|
+
}])
|
459
|
+
```
|
460
|
+
|
461
|
+
## Import
|
462
|
+
|
463
|
+
Policies can be imported using the `{id}`, e.g.
|
464
|
+
|
465
|
+
bash
|
466
|
+
|
467
|
+
```sh
|
468
|
+
$ pulumi import scaleway:iam/policy:Policy main 11111111-1111-1111-1111-111111111111
|
469
|
+
```
|
470
|
+
|
471
|
+
:param str resource_name: The name of the resource.
|
472
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
473
|
+
:param pulumi.Input[str] application_id: ID of the application the policy will be linked to
|
474
|
+
:param pulumi.Input[str] description: The description of the IAM policy.
|
475
|
+
:param pulumi.Input[str] group_id: ID of the group the policy will be linked to
|
476
|
+
:param pulumi.Input[str] name: The name of the IAM policy.
|
477
|
+
:param pulumi.Input[bool] no_principal: If the policy doesn't apply to a principal.
|
478
|
+
|
479
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
480
|
+
:param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the policy is associated with.
|
481
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['PolicyRuleArgs', 'PolicyRuleArgsDict']]]] rules: List of rules in the policy.
|
482
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IAM policy.
|
483
|
+
:param pulumi.Input[str] user_id: ID of the user the policy will be linked to
|
484
|
+
"""
|
485
|
+
...
|
486
|
+
@overload
|
487
|
+
def __init__(__self__,
|
488
|
+
resource_name: str,
|
489
|
+
args: PolicyArgs,
|
490
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
491
|
+
"""
|
492
|
+
Creates and manages Scaleway IAM Policies. For more information refer to the [IAM API documentation](https://www.scaleway.com/en/developers/api/iam/#path-policies-create-a-new-policy).
|
493
|
+
|
494
|
+
> You can find a detailed list of all permission sets available at Scaleway in the permission sets [reference page](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/).
|
495
|
+
|
496
|
+
## Example Usage
|
497
|
+
|
498
|
+
### Create a policy for an organization's project
|
499
|
+
|
500
|
+
```python
|
501
|
+
import pulumi
|
502
|
+
import pulumi_scaleway as scaleway
|
503
|
+
import pulumiverse_scaleway as scaleway
|
504
|
+
|
505
|
+
default = scaleway.account.get_project(name="default")
|
506
|
+
app = scaleway.iam.Application("app", name="my app")
|
507
|
+
object_read_only = scaleway.iam.Policy("object_read_only",
|
508
|
+
name="my policy",
|
509
|
+
description="gives app readonly access to object storage in project",
|
510
|
+
application_id=app.id,
|
511
|
+
rules=[{
|
512
|
+
"project_ids": [default.id],
|
513
|
+
"permission_set_names": ["ObjectStorageReadOnly"],
|
514
|
+
}])
|
515
|
+
```
|
516
|
+
|
517
|
+
### Create a policy for all current and future projects in an organization
|
518
|
+
|
519
|
+
```python
|
520
|
+
import pulumi
|
521
|
+
import pulumiverse_scaleway as scaleway
|
522
|
+
|
523
|
+
app = scaleway.iam.Application("app", name="my app")
|
524
|
+
object_read_only = scaleway.iam.Policy("object_read_only",
|
525
|
+
name="my policy",
|
526
|
+
description="gives app readonly access to object storage in project",
|
527
|
+
application_id=app.id,
|
528
|
+
rules=[{
|
529
|
+
"organization_id": app.organization_id,
|
530
|
+
"permission_set_names": ["ObjectStorageReadOnly"],
|
531
|
+
}])
|
532
|
+
```
|
533
|
+
|
534
|
+
### Create a policy with a particular condition
|
535
|
+
|
536
|
+
IAM policy rule can use a condition to be applied.
|
537
|
+
The following variables are available:
|
538
|
+
|
539
|
+
- `request.ip`
|
540
|
+
- `request.user_agent`
|
541
|
+
- `request.time`
|
542
|
+
|
543
|
+
```python
|
544
|
+
import pulumi
|
545
|
+
import pulumiverse_scaleway as scaleway
|
546
|
+
|
547
|
+
main = scaleway.iam.Policy("main",
|
548
|
+
name="tf_tests_policy_condition",
|
549
|
+
no_principal=True,
|
550
|
+
rules=[{
|
551
|
+
"organization_id": "%s",
|
552
|
+
"permission_set_names": ["AllProductsFullAccess"],
|
553
|
+
"condition": "request.user_agent == 'My User Agent'",
|
554
|
+
}])
|
555
|
+
```
|
556
|
+
|
557
|
+
## Import
|
558
|
+
|
559
|
+
Policies can be imported using the `{id}`, e.g.
|
560
|
+
|
561
|
+
bash
|
562
|
+
|
563
|
+
```sh
|
564
|
+
$ pulumi import scaleway:iam/policy:Policy main 11111111-1111-1111-1111-111111111111
|
565
|
+
```
|
566
|
+
|
567
|
+
:param str resource_name: The name of the resource.
|
568
|
+
:param PolicyArgs args: The arguments to use to populate this resource's properties.
|
569
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
570
|
+
"""
|
571
|
+
...
|
572
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
573
|
+
resource_args, opts = _utilities.get_resource_args_opts(PolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
|
574
|
+
if resource_args is not None:
|
575
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
576
|
+
else:
|
577
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
578
|
+
|
579
|
+
def _internal_init(__self__,
|
580
|
+
resource_name: str,
|
581
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
582
|
+
application_id: Optional[pulumi.Input[str]] = None,
|
583
|
+
description: Optional[pulumi.Input[str]] = None,
|
584
|
+
group_id: Optional[pulumi.Input[str]] = None,
|
585
|
+
name: Optional[pulumi.Input[str]] = None,
|
586
|
+
no_principal: Optional[pulumi.Input[bool]] = None,
|
587
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
588
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyRuleArgs', 'PolicyRuleArgsDict']]]]] = None,
|
589
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
590
|
+
user_id: Optional[pulumi.Input[str]] = None,
|
591
|
+
__props__=None):
|
592
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
593
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
594
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
595
|
+
if opts.id is None:
|
596
|
+
if __props__ is not None:
|
597
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
598
|
+
__props__ = PolicyArgs.__new__(PolicyArgs)
|
599
|
+
|
600
|
+
__props__.__dict__["application_id"] = application_id
|
601
|
+
__props__.__dict__["description"] = description
|
602
|
+
__props__.__dict__["group_id"] = group_id
|
603
|
+
__props__.__dict__["name"] = name
|
604
|
+
__props__.__dict__["no_principal"] = no_principal
|
605
|
+
__props__.__dict__["organization_id"] = organization_id
|
606
|
+
if rules is None and not opts.urn:
|
607
|
+
raise TypeError("Missing required property 'rules'")
|
608
|
+
__props__.__dict__["rules"] = rules
|
609
|
+
__props__.__dict__["tags"] = tags
|
610
|
+
__props__.__dict__["user_id"] = user_id
|
611
|
+
__props__.__dict__["created_at"] = None
|
612
|
+
__props__.__dict__["editable"] = None
|
613
|
+
__props__.__dict__["updated_at"] = None
|
614
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/iamPolicy:IamPolicy")])
|
615
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
616
|
+
super(Policy, __self__).__init__(
|
617
|
+
'scaleway:iam/policy:Policy',
|
618
|
+
resource_name,
|
619
|
+
__props__,
|
620
|
+
opts)
|
621
|
+
|
622
|
+
@staticmethod
|
623
|
+
def get(resource_name: str,
|
624
|
+
id: pulumi.Input[str],
|
625
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
626
|
+
application_id: Optional[pulumi.Input[str]] = None,
|
627
|
+
created_at: Optional[pulumi.Input[str]] = None,
|
628
|
+
description: Optional[pulumi.Input[str]] = None,
|
629
|
+
editable: Optional[pulumi.Input[bool]] = None,
|
630
|
+
group_id: Optional[pulumi.Input[str]] = None,
|
631
|
+
name: Optional[pulumi.Input[str]] = None,
|
632
|
+
no_principal: Optional[pulumi.Input[bool]] = None,
|
633
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
634
|
+
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyRuleArgs', 'PolicyRuleArgsDict']]]]] = None,
|
635
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
636
|
+
updated_at: Optional[pulumi.Input[str]] = None,
|
637
|
+
user_id: Optional[pulumi.Input[str]] = None) -> 'Policy':
|
638
|
+
"""
|
639
|
+
Get an existing Policy resource's state with the given name, id, and optional extra
|
640
|
+
properties used to qualify the lookup.
|
641
|
+
|
642
|
+
:param str resource_name: The unique name of the resulting resource.
|
643
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
644
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
645
|
+
:param pulumi.Input[str] application_id: ID of the application the policy will be linked to
|
646
|
+
:param pulumi.Input[str] created_at: The date and time of the creation of the policy.
|
647
|
+
:param pulumi.Input[str] description: The description of the IAM policy.
|
648
|
+
:param pulumi.Input[bool] editable: Whether the policy is editable.
|
649
|
+
:param pulumi.Input[str] group_id: ID of the group the policy will be linked to
|
650
|
+
:param pulumi.Input[str] name: The name of the IAM policy.
|
651
|
+
:param pulumi.Input[bool] no_principal: If the policy doesn't apply to a principal.
|
652
|
+
|
653
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
654
|
+
:param pulumi.Input[str] organization_id: `organization_id`) The ID of the organization the policy is associated with.
|
655
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['PolicyRuleArgs', 'PolicyRuleArgsDict']]]] rules: List of rules in the policy.
|
656
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the IAM policy.
|
657
|
+
:param pulumi.Input[str] updated_at: The date and time of the last update of the policy.
|
658
|
+
:param pulumi.Input[str] user_id: ID of the user the policy will be linked to
|
659
|
+
"""
|
660
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
661
|
+
|
662
|
+
__props__ = _PolicyState.__new__(_PolicyState)
|
663
|
+
|
664
|
+
__props__.__dict__["application_id"] = application_id
|
665
|
+
__props__.__dict__["created_at"] = created_at
|
666
|
+
__props__.__dict__["description"] = description
|
667
|
+
__props__.__dict__["editable"] = editable
|
668
|
+
__props__.__dict__["group_id"] = group_id
|
669
|
+
__props__.__dict__["name"] = name
|
670
|
+
__props__.__dict__["no_principal"] = no_principal
|
671
|
+
__props__.__dict__["organization_id"] = organization_id
|
672
|
+
__props__.__dict__["rules"] = rules
|
673
|
+
__props__.__dict__["tags"] = tags
|
674
|
+
__props__.__dict__["updated_at"] = updated_at
|
675
|
+
__props__.__dict__["user_id"] = user_id
|
676
|
+
return Policy(resource_name, opts=opts, __props__=__props__)
|
677
|
+
|
678
|
+
@property
|
679
|
+
@pulumi.getter(name="applicationId")
|
680
|
+
def application_id(self) -> pulumi.Output[Optional[str]]:
|
681
|
+
"""
|
682
|
+
ID of the application the policy will be linked to
|
683
|
+
"""
|
684
|
+
return pulumi.get(self, "application_id")
|
685
|
+
|
686
|
+
@property
|
687
|
+
@pulumi.getter(name="createdAt")
|
688
|
+
def created_at(self) -> pulumi.Output[str]:
|
689
|
+
"""
|
690
|
+
The date and time of the creation of the policy.
|
691
|
+
"""
|
692
|
+
return pulumi.get(self, "created_at")
|
693
|
+
|
694
|
+
@property
|
695
|
+
@pulumi.getter
|
696
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
697
|
+
"""
|
698
|
+
The description of the IAM policy.
|
699
|
+
"""
|
700
|
+
return pulumi.get(self, "description")
|
701
|
+
|
702
|
+
@property
|
703
|
+
@pulumi.getter
|
704
|
+
def editable(self) -> pulumi.Output[bool]:
|
705
|
+
"""
|
706
|
+
Whether the policy is editable.
|
707
|
+
"""
|
708
|
+
return pulumi.get(self, "editable")
|
709
|
+
|
710
|
+
@property
|
711
|
+
@pulumi.getter(name="groupId")
|
712
|
+
def group_id(self) -> pulumi.Output[Optional[str]]:
|
713
|
+
"""
|
714
|
+
ID of the group the policy will be linked to
|
715
|
+
"""
|
716
|
+
return pulumi.get(self, "group_id")
|
717
|
+
|
718
|
+
@property
|
719
|
+
@pulumi.getter
|
720
|
+
def name(self) -> pulumi.Output[str]:
|
721
|
+
"""
|
722
|
+
The name of the IAM policy.
|
723
|
+
"""
|
724
|
+
return pulumi.get(self, "name")
|
725
|
+
|
726
|
+
@property
|
727
|
+
@pulumi.getter(name="noPrincipal")
|
728
|
+
def no_principal(self) -> pulumi.Output[Optional[bool]]:
|
729
|
+
"""
|
730
|
+
If the policy doesn't apply to a principal.
|
731
|
+
|
732
|
+
> **Important** Only one of `user_id`, `group_id`, `application_id` and `no_principal` may be set.
|
733
|
+
"""
|
734
|
+
return pulumi.get(self, "no_principal")
|
735
|
+
|
736
|
+
@property
|
737
|
+
@pulumi.getter(name="organizationId")
|
738
|
+
def organization_id(self) -> pulumi.Output[str]:
|
739
|
+
"""
|
740
|
+
`organization_id`) The ID of the organization the policy is associated with.
|
741
|
+
"""
|
742
|
+
return pulumi.get(self, "organization_id")
|
743
|
+
|
744
|
+
@property
|
745
|
+
@pulumi.getter
|
746
|
+
def rules(self) -> pulumi.Output[Sequence['outputs.PolicyRule']]:
|
747
|
+
"""
|
748
|
+
List of rules in the policy.
|
749
|
+
"""
|
750
|
+
return pulumi.get(self, "rules")
|
751
|
+
|
752
|
+
@property
|
753
|
+
@pulumi.getter
|
754
|
+
def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
755
|
+
"""
|
756
|
+
The tags associated with the IAM policy.
|
757
|
+
"""
|
758
|
+
return pulumi.get(self, "tags")
|
759
|
+
|
760
|
+
@property
|
761
|
+
@pulumi.getter(name="updatedAt")
|
762
|
+
def updated_at(self) -> pulumi.Output[str]:
|
763
|
+
"""
|
764
|
+
The date and time of the last update of the policy.
|
765
|
+
"""
|
766
|
+
return pulumi.get(self, "updated_at")
|
767
|
+
|
768
|
+
@property
|
769
|
+
@pulumi.getter(name="userId")
|
770
|
+
def user_id(self) -> pulumi.Output[Optional[str]]:
|
771
|
+
"""
|
772
|
+
ID of the user the policy will be linked to
|
773
|
+
"""
|
774
|
+
return pulumi.get(self, "user_id")
|
775
|
+
|