pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.25.0a1742668904__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumiverse_scaleway/__init__.py +929 -0
- pulumiverse_scaleway/account/__init__.py +12 -0
- pulumiverse_scaleway/account/get_availability_zones.py +139 -0
- pulumiverse_scaleway/account/get_project.py +170 -0
- pulumiverse_scaleway/account/get_ssh_key.py +205 -0
- pulumiverse_scaleway/account/project.py +318 -0
- pulumiverse_scaleway/account/ssh_key.py +456 -0
- pulumiverse_scaleway/account_project.py +6 -0
- pulumiverse_scaleway/account_ssh_key.py +12 -6
- pulumiverse_scaleway/apple_silicon_server.py +8 -2
- pulumiverse_scaleway/applesilicon/__init__.py +10 -0
- pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
- pulumiverse_scaleway/applesilicon/outputs.py +119 -0
- pulumiverse_scaleway/applesilicon/server.py +690 -0
- pulumiverse_scaleway/baremetal_server.py +64 -58
- pulumiverse_scaleway/billing/__init__.py +10 -0
- pulumiverse_scaleway/billing/get_consumptions.py +134 -0
- pulumiverse_scaleway/billing/get_invoices.py +154 -0
- pulumiverse_scaleway/billing/outputs.py +288 -0
- pulumiverse_scaleway/block/__init__.py +11 -0
- pulumiverse_scaleway/block/get_snapshot.py +174 -0
- pulumiverse_scaleway/block/get_volume.py +199 -0
- pulumiverse_scaleway/block/snapshot.py +403 -0
- pulumiverse_scaleway/block/volume.py +576 -0
- pulumiverse_scaleway/block_snapshot.py +12 -6
- pulumiverse_scaleway/block_volume.py +16 -10
- pulumiverse_scaleway/cockpit.py +10 -4
- pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
- pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
- pulumiverse_scaleway/cockpit_source.py +12 -6
- pulumiverse_scaleway/cockpit_token.py +16 -10
- pulumiverse_scaleway/container.py +16 -10
- pulumiverse_scaleway/container_cron.py +14 -8
- pulumiverse_scaleway/container_domain.py +24 -18
- pulumiverse_scaleway/container_namespace.py +10 -4
- pulumiverse_scaleway/container_token.py +32 -26
- pulumiverse_scaleway/container_trigger.py +12 -6
- pulumiverse_scaleway/containers/__init__.py +17 -0
- pulumiverse_scaleway/containers/_inputs.py +389 -0
- pulumiverse_scaleway/containers/container.py +1635 -0
- pulumiverse_scaleway/containers/cron.py +460 -0
- pulumiverse_scaleway/containers/domain.py +408 -0
- pulumiverse_scaleway/containers/get_container.py +562 -0
- pulumiverse_scaleway/containers/get_namespace.py +283 -0
- pulumiverse_scaleway/containers/namespace.py +638 -0
- pulumiverse_scaleway/containers/outputs.py +412 -0
- pulumiverse_scaleway/containers/token.py +454 -0
- pulumiverse_scaleway/containers/trigger.py +482 -0
- pulumiverse_scaleway/database.py +10 -4
- pulumiverse_scaleway/database_acl.py +10 -4
- pulumiverse_scaleway/database_backup.py +14 -8
- pulumiverse_scaleway/database_instance.py +24 -18
- pulumiverse_scaleway/database_privilege.py +16 -10
- pulumiverse_scaleway/database_read_replica.py +22 -16
- pulumiverse_scaleway/database_user.py +10 -4
- pulumiverse_scaleway/databases/__init__.py +23 -0
- pulumiverse_scaleway/databases/_inputs.py +822 -0
- pulumiverse_scaleway/databases/acl.py +334 -0
- pulumiverse_scaleway/databases/database.py +409 -0
- pulumiverse_scaleway/databases/database_backup.py +576 -0
- pulumiverse_scaleway/databases/get_acl.py +143 -0
- pulumiverse_scaleway/databases/get_database.py +187 -0
- pulumiverse_scaleway/databases/get_database_backup.py +253 -0
- pulumiverse_scaleway/databases/get_instance.py +415 -0
- pulumiverse_scaleway/databases/get_privilege.py +181 -0
- pulumiverse_scaleway/databases/instance.py +1696 -0
- pulumiverse_scaleway/databases/outputs.py +866 -0
- pulumiverse_scaleway/databases/privilege.py +424 -0
- pulumiverse_scaleway/databases/read_replica.py +530 -0
- pulumiverse_scaleway/databases/serverless_database.py +434 -0
- pulumiverse_scaleway/databases/snapshot.py +610 -0
- pulumiverse_scaleway/databases/user.py +448 -0
- pulumiverse_scaleway/domain/__init__.py +13 -0
- pulumiverse_scaleway/domain/_inputs.py +341 -0
- pulumiverse_scaleway/domain/get_record.py +340 -0
- pulumiverse_scaleway/domain/get_zone.py +201 -0
- pulumiverse_scaleway/domain/outputs.py +408 -0
- pulumiverse_scaleway/domain/record.py +1118 -0
- pulumiverse_scaleway/domain/zone.py +432 -0
- pulumiverse_scaleway/domain_record.py +36 -30
- pulumiverse_scaleway/domain_zone.py +6 -0
- pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
- pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
- pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
- pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
- pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
- pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
- pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
- pulumiverse_scaleway/elasticmetal/ip.py +704 -0
- pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
- pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
- pulumiverse_scaleway/elasticmetal/server.py +1591 -0
- pulumiverse_scaleway/flexible_ip.py +22 -16
- pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
- pulumiverse_scaleway/function.py +6 -0
- pulumiverse_scaleway/function_cron.py +16 -10
- pulumiverse_scaleway/function_domain.py +16 -10
- pulumiverse_scaleway/function_namespace.py +10 -4
- pulumiverse_scaleway/function_token.py +32 -26
- pulumiverse_scaleway/function_trigger.py +12 -6
- pulumiverse_scaleway/functions/__init__.py +17 -0
- pulumiverse_scaleway/functions/_inputs.py +211 -0
- pulumiverse_scaleway/functions/cron.py +464 -0
- pulumiverse_scaleway/functions/domain.py +372 -0
- pulumiverse_scaleway/functions/function.py +1105 -0
- pulumiverse_scaleway/functions/get_function.py +365 -0
- pulumiverse_scaleway/functions/get_namespace.py +238 -0
- pulumiverse_scaleway/functions/namespace.py +582 -0
- pulumiverse_scaleway/functions/outputs.py +168 -0
- pulumiverse_scaleway/functions/token.py +462 -0
- pulumiverse_scaleway/functions/trigger.py +482 -0
- pulumiverse_scaleway/get_account_project.py +6 -2
- pulumiverse_scaleway/get_account_ssh_key.py +6 -2
- pulumiverse_scaleway/get_availability_zones.py +8 -4
- pulumiverse_scaleway/get_baremetal_offer.py +4 -0
- pulumiverse_scaleway/get_baremetal_option.py +8 -4
- pulumiverse_scaleway/get_baremetal_os.py +8 -4
- pulumiverse_scaleway/get_baremetal_server.py +8 -4
- pulumiverse_scaleway/get_billing_consumptions.py +4 -0
- pulumiverse_scaleway/get_billing_invoices.py +4 -0
- pulumiverse_scaleway/get_block_snapshot.py +6 -2
- pulumiverse_scaleway/get_block_volume.py +6 -2
- pulumiverse_scaleway/get_cockpit.py +12 -8
- pulumiverse_scaleway/get_cockpit_plan.py +10 -6
- pulumiverse_scaleway/get_cockpit_source.py +8 -4
- pulumiverse_scaleway/get_container.py +16 -12
- pulumiverse_scaleway/get_container_namespace.py +10 -6
- pulumiverse_scaleway/get_database.py +6 -2
- pulumiverse_scaleway/get_database_acl.py +6 -2
- pulumiverse_scaleway/get_database_backup.py +10 -6
- pulumiverse_scaleway/get_database_instance.py +4 -0
- pulumiverse_scaleway/get_database_privilege.py +6 -2
- pulumiverse_scaleway/get_domain_record.py +10 -6
- pulumiverse_scaleway/get_domain_zone.py +4 -0
- pulumiverse_scaleway/get_flexible_ip.py +4 -0
- pulumiverse_scaleway/get_flexible_ips.py +16 -12
- pulumiverse_scaleway/get_function.py +6 -2
- pulumiverse_scaleway/get_function_namespace.py +6 -2
- pulumiverse_scaleway/get_iam_api_key.py +6 -2
- pulumiverse_scaleway/get_iam_application.py +8 -4
- pulumiverse_scaleway/get_iam_group.py +8 -4
- pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
- pulumiverse_scaleway/get_iam_user.py +8 -4
- pulumiverse_scaleway/get_instance_image.py +4 -0
- pulumiverse_scaleway/get_instance_ip.py +4 -0
- pulumiverse_scaleway/get_instance_placement_group.py +4 -0
- pulumiverse_scaleway/get_instance_private_nic.py +10 -6
- pulumiverse_scaleway/get_instance_security_group.py +4 -0
- pulumiverse_scaleway/get_instance_server.py +4 -0
- pulumiverse_scaleway/get_instance_servers.py +4 -0
- pulumiverse_scaleway/get_instance_snapshot.py +8 -4
- pulumiverse_scaleway/get_instance_volume.py +4 -0
- pulumiverse_scaleway/get_iot_device.py +4 -0
- pulumiverse_scaleway/get_iot_hub.py +4 -0
- pulumiverse_scaleway/get_ipam_ip.py +18 -14
- pulumiverse_scaleway/get_ipam_ips.py +14 -10
- pulumiverse_scaleway/get_k8s_version.py +8 -4
- pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
- pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
- pulumiverse_scaleway/get_lb_acls.py +8 -4
- pulumiverse_scaleway/get_lb_backend.py +18 -14
- pulumiverse_scaleway/get_lb_backends.py +8 -4
- pulumiverse_scaleway/get_lb_frontend.py +16 -12
- pulumiverse_scaleway/get_lb_frontends.py +8 -4
- pulumiverse_scaleway/get_lb_ips.py +4 -0
- pulumiverse_scaleway/get_lb_route.py +16 -12
- pulumiverse_scaleway/get_lb_routes.py +8 -4
- pulumiverse_scaleway/get_lbs.py +4 -0
- pulumiverse_scaleway/get_loadbalancer.py +8 -4
- pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
- pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
- pulumiverse_scaleway/get_mnq_sns.py +8 -4
- pulumiverse_scaleway/get_mnq_sqs.py +8 -4
- pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
- pulumiverse_scaleway/get_object_bucket.py +12 -8
- pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
- pulumiverse_scaleway/get_redis_cluster.py +4 -0
- pulumiverse_scaleway/get_registry_image.py +4 -0
- pulumiverse_scaleway/get_registry_image_tag.py +4 -0
- pulumiverse_scaleway/get_registry_namespace.py +4 -0
- pulumiverse_scaleway/get_secret.py +12 -8
- pulumiverse_scaleway/get_secret_version.py +14 -10
- pulumiverse_scaleway/get_tem_domain.py +4 -0
- pulumiverse_scaleway/get_vpc.py +10 -6
- pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
- pulumiverse_scaleway/get_vpc_private_network.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
- pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
- pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
- pulumiverse_scaleway/get_vpc_routes.py +4 -0
- pulumiverse_scaleway/get_vpcs.py +4 -0
- pulumiverse_scaleway/get_web_host_offer.py +8 -4
- pulumiverse_scaleway/get_webhosting.py +8 -4
- pulumiverse_scaleway/hosting/__init__.py +12 -0
- pulumiverse_scaleway/hosting/_inputs.py +295 -0
- pulumiverse_scaleway/hosting/get_hosting.py +354 -0
- pulumiverse_scaleway/hosting/get_offer.py +229 -0
- pulumiverse_scaleway/hosting/hosting.py +870 -0
- pulumiverse_scaleway/hosting/outputs.py +626 -0
- pulumiverse_scaleway/iam/__init__.py +21 -0
- pulumiverse_scaleway/iam/_inputs.py +138 -0
- pulumiverse_scaleway/iam/api_key.py +622 -0
- pulumiverse_scaleway/iam/application.py +419 -0
- pulumiverse_scaleway/iam/get_api_key.py +210 -0
- pulumiverse_scaleway/iam/get_application.py +210 -0
- pulumiverse_scaleway/iam/get_group.py +236 -0
- pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
- pulumiverse_scaleway/iam/get_user.py +177 -0
- pulumiverse_scaleway/iam/group.py +568 -0
- pulumiverse_scaleway/iam/group_membership.py +325 -0
- pulumiverse_scaleway/iam/outputs.py +111 -0
- pulumiverse_scaleway/iam/policy.py +775 -0
- pulumiverse_scaleway/iam/ssh_key.py +457 -0
- pulumiverse_scaleway/iam/user.py +515 -0
- pulumiverse_scaleway/iam_api_key.py +16 -10
- pulumiverse_scaleway/iam_application.py +8 -2
- pulumiverse_scaleway/iam_group.py +12 -6
- pulumiverse_scaleway/iam_group_membership.py +12 -6
- pulumiverse_scaleway/iam_policy.py +18 -12
- pulumiverse_scaleway/iam_ssh_key.py +8 -2
- pulumiverse_scaleway/iam_user.py +8 -2
- pulumiverse_scaleway/inference/__init__.py +10 -0
- pulumiverse_scaleway/inference/_inputs.py +209 -0
- pulumiverse_scaleway/inference/deployment.py +824 -0
- pulumiverse_scaleway/inference/outputs.py +169 -0
- pulumiverse_scaleway/inference_deployment.py +8 -2
- pulumiverse_scaleway/instance/__init__.py +29 -0
- pulumiverse_scaleway/instance/_inputs.py +1237 -0
- pulumiverse_scaleway/instance/get_image.py +305 -0
- pulumiverse_scaleway/instance/get_ip.py +204 -0
- pulumiverse_scaleway/instance/get_placement_group.py +212 -0
- pulumiverse_scaleway/instance/get_private_nic.py +226 -0
- pulumiverse_scaleway/instance/get_security_group.py +268 -0
- pulumiverse_scaleway/instance/get_server.py +488 -0
- pulumiverse_scaleway/instance/get_servers.py +187 -0
- pulumiverse_scaleway/instance/get_snapshot.py +248 -0
- pulumiverse_scaleway/instance/get_volume.py +226 -0
- pulumiverse_scaleway/instance/image.py +752 -0
- pulumiverse_scaleway/instance/ip.py +471 -0
- pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
- pulumiverse_scaleway/instance/outputs.py +1533 -0
- pulumiverse_scaleway/instance/placement_group.py +481 -0
- pulumiverse_scaleway/instance/private_nic.py +557 -0
- pulumiverse_scaleway/instance/security_group.py +722 -0
- pulumiverse_scaleway/instance/security_group_rules.py +441 -0
- pulumiverse_scaleway/instance/server.py +1938 -0
- pulumiverse_scaleway/instance/snapshot.py +671 -0
- pulumiverse_scaleway/instance/user_data.py +437 -0
- pulumiverse_scaleway/instance/volume.py +584 -0
- pulumiverse_scaleway/instance_image.py +18 -12
- pulumiverse_scaleway/instance_ip.py +8 -2
- pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/instance_placement_group.py +8 -2
- pulumiverse_scaleway/instance_private_nic.py +24 -18
- pulumiverse_scaleway/instance_security_group.py +6 -0
- pulumiverse_scaleway/instance_security_group_rules.py +22 -16
- pulumiverse_scaleway/instance_server.py +74 -68
- pulumiverse_scaleway/instance_snapshot.py +22 -16
- pulumiverse_scaleway/instance_user_data.py +16 -10
- pulumiverse_scaleway/instance_volume.py +8 -2
- pulumiverse_scaleway/iot/__init__.py +15 -0
- pulumiverse_scaleway/iot/_inputs.py +539 -0
- pulumiverse_scaleway/iot/device.py +752 -0
- pulumiverse_scaleway/iot/get_device.py +257 -0
- pulumiverse_scaleway/iot/get_hub.py +322 -0
- pulumiverse_scaleway/iot/hub.py +898 -0
- pulumiverse_scaleway/iot/network.py +474 -0
- pulumiverse_scaleway/iot/outputs.py +465 -0
- pulumiverse_scaleway/iot/route.py +662 -0
- pulumiverse_scaleway/iot_device.py +14 -8
- pulumiverse_scaleway/iot_hub.py +8 -2
- pulumiverse_scaleway/iot_network.py +12 -6
- pulumiverse_scaleway/iot_route.py +32 -26
- pulumiverse_scaleway/ipam/__init__.py +13 -0
- pulumiverse_scaleway/ipam/_inputs.py +442 -0
- pulumiverse_scaleway/ipam/get_ip.py +419 -0
- pulumiverse_scaleway/ipam/get_ips.py +358 -0
- pulumiverse_scaleway/ipam/ip.py +759 -0
- pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
- pulumiverse_scaleway/ipam/outputs.py +481 -0
- pulumiverse_scaleway/ipam_ip.py +30 -24
- pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
- pulumiverse_scaleway/job/__init__.py +10 -0
- pulumiverse_scaleway/job/_inputs.py +73 -0
- pulumiverse_scaleway/job/definition.py +694 -0
- pulumiverse_scaleway/job/outputs.py +49 -0
- pulumiverse_scaleway/job_definition.py +8 -2
- pulumiverse_scaleway/kubernetes/__init__.py +14 -0
- pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
- pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
- pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
- pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
- pulumiverse_scaleway/kubernetes/get_version.py +196 -0
- pulumiverse_scaleway/kubernetes/outputs.py +944 -0
- pulumiverse_scaleway/kubernetes/pool.py +1313 -0
- pulumiverse_scaleway/kubernetes_cluster.py +36 -30
- pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
- pulumiverse_scaleway/loadbalancer.py +35 -29
- pulumiverse_scaleway/loadbalancer_acl.py +8 -2
- pulumiverse_scaleway/loadbalancer_backend.py +10 -4
- pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
- pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
- pulumiverse_scaleway/loadbalancer_ip.py +10 -4
- pulumiverse_scaleway/loadbalancer_route.py +26 -20
- pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
- pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
- pulumiverse_scaleway/loadbalancers/acl.py +522 -0
- pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
- pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
- pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
- pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
- pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
- pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
- pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
- pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
- pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
- pulumiverse_scaleway/loadbalancers/ip.py +516 -0
- pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
- pulumiverse_scaleway/loadbalancers/route.py +525 -0
- pulumiverse_scaleway/mnq/__init__.py +20 -0
- pulumiverse_scaleway/mnq/_inputs.py +169 -0
- pulumiverse_scaleway/mnq/get_sns.py +150 -0
- pulumiverse_scaleway/mnq/get_sqs.py +150 -0
- pulumiverse_scaleway/mnq/nats_account.py +336 -0
- pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
- pulumiverse_scaleway/mnq/outputs.py +149 -0
- pulumiverse_scaleway/mnq/sns.py +308 -0
- pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sns_topic.py +661 -0
- pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
- pulumiverse_scaleway/mnq/sqs.py +306 -0
- pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
- pulumiverse_scaleway/mnq_nats_account.py +8 -2
- pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns.py +12 -6
- pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns_topic.py +16 -10
- pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
- pulumiverse_scaleway/mnq_sqs.py +12 -6
- pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
- pulumiverse_scaleway/mongo_db_instance.py +14 -8
- pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
- pulumiverse_scaleway/mongodb/__init__.py +12 -0
- pulumiverse_scaleway/mongodb/_inputs.py +208 -0
- pulumiverse_scaleway/mongodb/get_instance.py +335 -0
- pulumiverse_scaleway/mongodb/instance.py +1000 -0
- pulumiverse_scaleway/mongodb/outputs.py +270 -0
- pulumiverse_scaleway/mongodb/snapshot.py +523 -0
- pulumiverse_scaleway/network/__init__.py +29 -0
- pulumiverse_scaleway/network/_inputs.py +383 -0
- pulumiverse_scaleway/network/gateway_network.py +868 -0
- pulumiverse_scaleway/network/get_gateway_network.py +287 -0
- pulumiverse_scaleway/network/get_private_network.py +282 -0
- pulumiverse_scaleway/network/get_public_gateway.py +304 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
- pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
- pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
- pulumiverse_scaleway/network/get_routes.py +208 -0
- pulumiverse_scaleway/network/get_vpc.py +246 -0
- pulumiverse_scaleway/network/get_vpcs.py +174 -0
- pulumiverse_scaleway/network/outputs.py +747 -0
- pulumiverse_scaleway/network/private_network.py +736 -0
- pulumiverse_scaleway/network/public_gateway.py +791 -0
- pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
- pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
- pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
- pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
- pulumiverse_scaleway/network/route.py +579 -0
- pulumiverse_scaleway/network/vpc.py +538 -0
- pulumiverse_scaleway/object/__init__.py +17 -0
- pulumiverse_scaleway/object/_inputs.py +831 -0
- pulumiverse_scaleway/object/bucket.py +876 -0
- pulumiverse_scaleway/object/bucket_acl.py +598 -0
- pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
- pulumiverse_scaleway/object/bucket_policy.py +675 -0
- pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
- pulumiverse_scaleway/object/get_bucket.py +290 -0
- pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
- pulumiverse_scaleway/object/item.py +778 -0
- pulumiverse_scaleway/object/outputs.py +802 -0
- pulumiverse_scaleway/object_bucket.py +28 -22
- pulumiverse_scaleway/object_bucket_acl.py +14 -8
- pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
- pulumiverse_scaleway/object_bucket_policy.py +46 -40
- pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
- pulumiverse_scaleway/object_item.py +8 -2
- pulumiverse_scaleway/observability/__init__.py +17 -0
- pulumiverse_scaleway/observability/_inputs.py +417 -0
- pulumiverse_scaleway/observability/alert_manager.py +403 -0
- pulumiverse_scaleway/observability/cockpit.py +325 -0
- pulumiverse_scaleway/observability/get_instance.py +205 -0
- pulumiverse_scaleway/observability/get_plan.py +125 -0
- pulumiverse_scaleway/observability/get_source.py +262 -0
- pulumiverse_scaleway/observability/grafana_user.py +364 -0
- pulumiverse_scaleway/observability/outputs.py +425 -0
- pulumiverse_scaleway/observability/source.py +569 -0
- pulumiverse_scaleway/observability/token.py +481 -0
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/rdb_snapshot.py +16 -10
- pulumiverse_scaleway/redis/__init__.py +11 -0
- pulumiverse_scaleway/redis/_inputs.py +330 -0
- pulumiverse_scaleway/redis/cluster.py +1203 -0
- pulumiverse_scaleway/redis/get_cluster.py +347 -0
- pulumiverse_scaleway/redis/outputs.py +356 -0
- pulumiverse_scaleway/redis_cluster.py +14 -8
- pulumiverse_scaleway/registry/__init__.py +11 -0
- pulumiverse_scaleway/registry/get_image.py +239 -0
- pulumiverse_scaleway/registry/get_image_tag.py +229 -0
- pulumiverse_scaleway/registry/get_namespace.py +199 -0
- pulumiverse_scaleway/registry/namespace.py +460 -0
- pulumiverse_scaleway/registry_namespace.py +8 -2
- pulumiverse_scaleway/sdb_database.py +10 -4
- pulumiverse_scaleway/secret.py +6 -0
- pulumiverse_scaleway/secret_version.py +12 -6
- pulumiverse_scaleway/secrets/__init__.py +13 -0
- pulumiverse_scaleway/secrets/_inputs.py +94 -0
- pulumiverse_scaleway/secrets/get_secret.py +338 -0
- pulumiverse_scaleway/secrets/get_version.py +340 -0
- pulumiverse_scaleway/secrets/outputs.py +120 -0
- pulumiverse_scaleway/secrets/secret.py +665 -0
- pulumiverse_scaleway/secrets/version.py +489 -0
- pulumiverse_scaleway/tem/__init__.py +13 -0
- pulumiverse_scaleway/tem/_inputs.py +135 -0
- pulumiverse_scaleway/tem/domain.py +1032 -0
- pulumiverse_scaleway/tem/domain_validation.py +305 -0
- pulumiverse_scaleway/tem/get_domain.py +378 -0
- pulumiverse_scaleway/tem/outputs.py +171 -0
- pulumiverse_scaleway/tem/webhook.py +642 -0
- pulumiverse_scaleway/tem_domain.py +20 -14
- pulumiverse_scaleway/tem_domain_validation.py +10 -4
- pulumiverse_scaleway/tem_webhook.py +28 -22
- pulumiverse_scaleway/vpc.py +10 -4
- pulumiverse_scaleway/vpc_gateway_network.py +40 -34
- pulumiverse_scaleway/vpc_private_network.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway.py +8 -2
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
- pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
- pulumiverse_scaleway/vpc_route.py +16 -10
- pulumiverse_scaleway/webhosting.py +10 -4
- {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +1 -1
- pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.25.0a1742464679.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1635 @@
|
|
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__ = ['ContainerArgs', 'Container']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class ContainerArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
namespace_id: pulumi.Input[str],
|
25
|
+
cpu_limit: Optional[pulumi.Input[int]] = None,
|
26
|
+
deploy: Optional[pulumi.Input[bool]] = None,
|
27
|
+
description: Optional[pulumi.Input[str]] = None,
|
28
|
+
environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
29
|
+
health_checks: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]]] = None,
|
30
|
+
http_option: Optional[pulumi.Input[str]] = None,
|
31
|
+
local_storage_limit: Optional[pulumi.Input[int]] = None,
|
32
|
+
max_concurrency: Optional[pulumi.Input[int]] = None,
|
33
|
+
max_scale: Optional[pulumi.Input[int]] = None,
|
34
|
+
memory_limit: Optional[pulumi.Input[int]] = None,
|
35
|
+
min_scale: Optional[pulumi.Input[int]] = None,
|
36
|
+
name: Optional[pulumi.Input[str]] = None,
|
37
|
+
port: Optional[pulumi.Input[int]] = None,
|
38
|
+
privacy: Optional[pulumi.Input[str]] = None,
|
39
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
40
|
+
region: Optional[pulumi.Input[str]] = None,
|
41
|
+
registry_image: Optional[pulumi.Input[str]] = None,
|
42
|
+
registry_sha256: Optional[pulumi.Input[str]] = None,
|
43
|
+
sandbox: Optional[pulumi.Input[str]] = None,
|
44
|
+
scaling_options: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]]] = None,
|
45
|
+
secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
46
|
+
status: Optional[pulumi.Input[str]] = None,
|
47
|
+
timeout: Optional[pulumi.Input[int]] = None):
|
48
|
+
"""
|
49
|
+
The set of arguments for constructing a Container resource.
|
50
|
+
:param pulumi.Input[str] namespace_id: The Containers namespace ID of the container.
|
51
|
+
|
52
|
+
> **Important** Updating the `name` argument will recreate the container.
|
53
|
+
:param pulumi.Input[int] cpu_limit: The amount of vCPU computing resources to allocate to each container.
|
54
|
+
:param pulumi.Input[bool] deploy: Boolean indicating whether the container is in a production environment.
|
55
|
+
:param pulumi.Input[str] description: The description of the container.
|
56
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
57
|
+
:param pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]] health_checks: Health check configuration block of the container.
|
58
|
+
:param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
59
|
+
:param pulumi.Input[int] local_storage_limit: Local storage limit of the container (in MB)
|
60
|
+
|
61
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
62
|
+
:param pulumi.Input[int] max_concurrency: The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
63
|
+
:param pulumi.Input[int] max_scale: The maximum number of instances this container can scale to.
|
64
|
+
:param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each container.
|
65
|
+
:param pulumi.Input[int] min_scale: The minimum number of container instances running continuously.
|
66
|
+
:param pulumi.Input[str] name: The unique name of the container name.
|
67
|
+
:param pulumi.Input[int] port: The port to expose the container.
|
68
|
+
:param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
69
|
+
:param pulumi.Input[str] protocol: The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
70
|
+
:param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the container was created.
|
71
|
+
:param pulumi.Input[str] registry_image: The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
72
|
+
:param pulumi.Input[str] registry_sha256: The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
73
|
+
:param pulumi.Input[str] sandbox: Execution environment of the container.
|
74
|
+
:param pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]] scaling_options: Configuration block used to decide when to scale up or down. Possible values:
|
75
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
76
|
+
:param pulumi.Input[str] status: The container status.
|
77
|
+
:param pulumi.Input[int] timeout: The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
78
|
+
"""
|
79
|
+
pulumi.set(__self__, "namespace_id", namespace_id)
|
80
|
+
if cpu_limit is not None:
|
81
|
+
pulumi.set(__self__, "cpu_limit", cpu_limit)
|
82
|
+
if deploy is not None:
|
83
|
+
pulumi.set(__self__, "deploy", deploy)
|
84
|
+
if description is not None:
|
85
|
+
pulumi.set(__self__, "description", description)
|
86
|
+
if environment_variables is not None:
|
87
|
+
pulumi.set(__self__, "environment_variables", environment_variables)
|
88
|
+
if health_checks is not None:
|
89
|
+
pulumi.set(__self__, "health_checks", health_checks)
|
90
|
+
if http_option is not None:
|
91
|
+
pulumi.set(__self__, "http_option", http_option)
|
92
|
+
if local_storage_limit is not None:
|
93
|
+
pulumi.set(__self__, "local_storage_limit", local_storage_limit)
|
94
|
+
if max_concurrency is not None:
|
95
|
+
warnings.warn("""Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""", DeprecationWarning)
|
96
|
+
pulumi.log.warn("""max_concurrency is deprecated: Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""")
|
97
|
+
if max_concurrency is not None:
|
98
|
+
pulumi.set(__self__, "max_concurrency", max_concurrency)
|
99
|
+
if max_scale is not None:
|
100
|
+
pulumi.set(__self__, "max_scale", max_scale)
|
101
|
+
if memory_limit is not None:
|
102
|
+
pulumi.set(__self__, "memory_limit", memory_limit)
|
103
|
+
if min_scale is not None:
|
104
|
+
pulumi.set(__self__, "min_scale", min_scale)
|
105
|
+
if name is not None:
|
106
|
+
pulumi.set(__self__, "name", name)
|
107
|
+
if port is not None:
|
108
|
+
pulumi.set(__self__, "port", port)
|
109
|
+
if privacy is not None:
|
110
|
+
pulumi.set(__self__, "privacy", privacy)
|
111
|
+
if protocol is not None:
|
112
|
+
pulumi.set(__self__, "protocol", protocol)
|
113
|
+
if region is not None:
|
114
|
+
pulumi.set(__self__, "region", region)
|
115
|
+
if registry_image is not None:
|
116
|
+
pulumi.set(__self__, "registry_image", registry_image)
|
117
|
+
if registry_sha256 is not None:
|
118
|
+
pulumi.set(__self__, "registry_sha256", registry_sha256)
|
119
|
+
if sandbox is not None:
|
120
|
+
pulumi.set(__self__, "sandbox", sandbox)
|
121
|
+
if scaling_options is not None:
|
122
|
+
pulumi.set(__self__, "scaling_options", scaling_options)
|
123
|
+
if secret_environment_variables is not None:
|
124
|
+
pulumi.set(__self__, "secret_environment_variables", secret_environment_variables)
|
125
|
+
if status is not None:
|
126
|
+
pulumi.set(__self__, "status", status)
|
127
|
+
if timeout is not None:
|
128
|
+
pulumi.set(__self__, "timeout", timeout)
|
129
|
+
|
130
|
+
@property
|
131
|
+
@pulumi.getter(name="namespaceId")
|
132
|
+
def namespace_id(self) -> pulumi.Input[str]:
|
133
|
+
"""
|
134
|
+
The Containers namespace ID of the container.
|
135
|
+
|
136
|
+
> **Important** Updating the `name` argument will recreate the container.
|
137
|
+
"""
|
138
|
+
return pulumi.get(self, "namespace_id")
|
139
|
+
|
140
|
+
@namespace_id.setter
|
141
|
+
def namespace_id(self, value: pulumi.Input[str]):
|
142
|
+
pulumi.set(self, "namespace_id", value)
|
143
|
+
|
144
|
+
@property
|
145
|
+
@pulumi.getter(name="cpuLimit")
|
146
|
+
def cpu_limit(self) -> Optional[pulumi.Input[int]]:
|
147
|
+
"""
|
148
|
+
The amount of vCPU computing resources to allocate to each container.
|
149
|
+
"""
|
150
|
+
return pulumi.get(self, "cpu_limit")
|
151
|
+
|
152
|
+
@cpu_limit.setter
|
153
|
+
def cpu_limit(self, value: Optional[pulumi.Input[int]]):
|
154
|
+
pulumi.set(self, "cpu_limit", value)
|
155
|
+
|
156
|
+
@property
|
157
|
+
@pulumi.getter
|
158
|
+
def deploy(self) -> Optional[pulumi.Input[bool]]:
|
159
|
+
"""
|
160
|
+
Boolean indicating whether the container is in a production environment.
|
161
|
+
"""
|
162
|
+
return pulumi.get(self, "deploy")
|
163
|
+
|
164
|
+
@deploy.setter
|
165
|
+
def deploy(self, value: Optional[pulumi.Input[bool]]):
|
166
|
+
pulumi.set(self, "deploy", value)
|
167
|
+
|
168
|
+
@property
|
169
|
+
@pulumi.getter
|
170
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
171
|
+
"""
|
172
|
+
The description of the container.
|
173
|
+
"""
|
174
|
+
return pulumi.get(self, "description")
|
175
|
+
|
176
|
+
@description.setter
|
177
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
178
|
+
pulumi.set(self, "description", value)
|
179
|
+
|
180
|
+
@property
|
181
|
+
@pulumi.getter(name="environmentVariables")
|
182
|
+
def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
183
|
+
"""
|
184
|
+
The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
185
|
+
"""
|
186
|
+
return pulumi.get(self, "environment_variables")
|
187
|
+
|
188
|
+
@environment_variables.setter
|
189
|
+
def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
190
|
+
pulumi.set(self, "environment_variables", value)
|
191
|
+
|
192
|
+
@property
|
193
|
+
@pulumi.getter(name="healthChecks")
|
194
|
+
def health_checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]]]:
|
195
|
+
"""
|
196
|
+
Health check configuration block of the container.
|
197
|
+
"""
|
198
|
+
return pulumi.get(self, "health_checks")
|
199
|
+
|
200
|
+
@health_checks.setter
|
201
|
+
def health_checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]]]):
|
202
|
+
pulumi.set(self, "health_checks", value)
|
203
|
+
|
204
|
+
@property
|
205
|
+
@pulumi.getter(name="httpOption")
|
206
|
+
def http_option(self) -> Optional[pulumi.Input[str]]:
|
207
|
+
"""
|
208
|
+
Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
209
|
+
"""
|
210
|
+
return pulumi.get(self, "http_option")
|
211
|
+
|
212
|
+
@http_option.setter
|
213
|
+
def http_option(self, value: Optional[pulumi.Input[str]]):
|
214
|
+
pulumi.set(self, "http_option", value)
|
215
|
+
|
216
|
+
@property
|
217
|
+
@pulumi.getter(name="localStorageLimit")
|
218
|
+
def local_storage_limit(self) -> Optional[pulumi.Input[int]]:
|
219
|
+
"""
|
220
|
+
Local storage limit of the container (in MB)
|
221
|
+
|
222
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
223
|
+
"""
|
224
|
+
return pulumi.get(self, "local_storage_limit")
|
225
|
+
|
226
|
+
@local_storage_limit.setter
|
227
|
+
def local_storage_limit(self, value: Optional[pulumi.Input[int]]):
|
228
|
+
pulumi.set(self, "local_storage_limit", value)
|
229
|
+
|
230
|
+
@property
|
231
|
+
@pulumi.getter(name="maxConcurrency")
|
232
|
+
@_utilities.deprecated("""Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""")
|
233
|
+
def max_concurrency(self) -> Optional[pulumi.Input[int]]:
|
234
|
+
"""
|
235
|
+
The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
236
|
+
"""
|
237
|
+
return pulumi.get(self, "max_concurrency")
|
238
|
+
|
239
|
+
@max_concurrency.setter
|
240
|
+
def max_concurrency(self, value: Optional[pulumi.Input[int]]):
|
241
|
+
pulumi.set(self, "max_concurrency", value)
|
242
|
+
|
243
|
+
@property
|
244
|
+
@pulumi.getter(name="maxScale")
|
245
|
+
def max_scale(self) -> Optional[pulumi.Input[int]]:
|
246
|
+
"""
|
247
|
+
The maximum number of instances this container can scale to.
|
248
|
+
"""
|
249
|
+
return pulumi.get(self, "max_scale")
|
250
|
+
|
251
|
+
@max_scale.setter
|
252
|
+
def max_scale(self, value: Optional[pulumi.Input[int]]):
|
253
|
+
pulumi.set(self, "max_scale", value)
|
254
|
+
|
255
|
+
@property
|
256
|
+
@pulumi.getter(name="memoryLimit")
|
257
|
+
def memory_limit(self) -> Optional[pulumi.Input[int]]:
|
258
|
+
"""
|
259
|
+
The memory resources in MB to allocate to each container.
|
260
|
+
"""
|
261
|
+
return pulumi.get(self, "memory_limit")
|
262
|
+
|
263
|
+
@memory_limit.setter
|
264
|
+
def memory_limit(self, value: Optional[pulumi.Input[int]]):
|
265
|
+
pulumi.set(self, "memory_limit", value)
|
266
|
+
|
267
|
+
@property
|
268
|
+
@pulumi.getter(name="minScale")
|
269
|
+
def min_scale(self) -> Optional[pulumi.Input[int]]:
|
270
|
+
"""
|
271
|
+
The minimum number of container instances running continuously.
|
272
|
+
"""
|
273
|
+
return pulumi.get(self, "min_scale")
|
274
|
+
|
275
|
+
@min_scale.setter
|
276
|
+
def min_scale(self, value: Optional[pulumi.Input[int]]):
|
277
|
+
pulumi.set(self, "min_scale", value)
|
278
|
+
|
279
|
+
@property
|
280
|
+
@pulumi.getter
|
281
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
282
|
+
"""
|
283
|
+
The unique name of the container name.
|
284
|
+
"""
|
285
|
+
return pulumi.get(self, "name")
|
286
|
+
|
287
|
+
@name.setter
|
288
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
289
|
+
pulumi.set(self, "name", value)
|
290
|
+
|
291
|
+
@property
|
292
|
+
@pulumi.getter
|
293
|
+
def port(self) -> Optional[pulumi.Input[int]]:
|
294
|
+
"""
|
295
|
+
The port to expose the container.
|
296
|
+
"""
|
297
|
+
return pulumi.get(self, "port")
|
298
|
+
|
299
|
+
@port.setter
|
300
|
+
def port(self, value: Optional[pulumi.Input[int]]):
|
301
|
+
pulumi.set(self, "port", value)
|
302
|
+
|
303
|
+
@property
|
304
|
+
@pulumi.getter
|
305
|
+
def privacy(self) -> Optional[pulumi.Input[str]]:
|
306
|
+
"""
|
307
|
+
The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
308
|
+
"""
|
309
|
+
return pulumi.get(self, "privacy")
|
310
|
+
|
311
|
+
@privacy.setter
|
312
|
+
def privacy(self, value: Optional[pulumi.Input[str]]):
|
313
|
+
pulumi.set(self, "privacy", value)
|
314
|
+
|
315
|
+
@property
|
316
|
+
@pulumi.getter
|
317
|
+
def protocol(self) -> Optional[pulumi.Input[str]]:
|
318
|
+
"""
|
319
|
+
The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
320
|
+
"""
|
321
|
+
return pulumi.get(self, "protocol")
|
322
|
+
|
323
|
+
@protocol.setter
|
324
|
+
def protocol(self, value: Optional[pulumi.Input[str]]):
|
325
|
+
pulumi.set(self, "protocol", value)
|
326
|
+
|
327
|
+
@property
|
328
|
+
@pulumi.getter
|
329
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
330
|
+
"""
|
331
|
+
(Defaults to provider `region`) The region in which the container was created.
|
332
|
+
"""
|
333
|
+
return pulumi.get(self, "region")
|
334
|
+
|
335
|
+
@region.setter
|
336
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
337
|
+
pulumi.set(self, "region", value)
|
338
|
+
|
339
|
+
@property
|
340
|
+
@pulumi.getter(name="registryImage")
|
341
|
+
def registry_image(self) -> Optional[pulumi.Input[str]]:
|
342
|
+
"""
|
343
|
+
The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
344
|
+
"""
|
345
|
+
return pulumi.get(self, "registry_image")
|
346
|
+
|
347
|
+
@registry_image.setter
|
348
|
+
def registry_image(self, value: Optional[pulumi.Input[str]]):
|
349
|
+
pulumi.set(self, "registry_image", value)
|
350
|
+
|
351
|
+
@property
|
352
|
+
@pulumi.getter(name="registrySha256")
|
353
|
+
def registry_sha256(self) -> Optional[pulumi.Input[str]]:
|
354
|
+
"""
|
355
|
+
The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
356
|
+
"""
|
357
|
+
return pulumi.get(self, "registry_sha256")
|
358
|
+
|
359
|
+
@registry_sha256.setter
|
360
|
+
def registry_sha256(self, value: Optional[pulumi.Input[str]]):
|
361
|
+
pulumi.set(self, "registry_sha256", value)
|
362
|
+
|
363
|
+
@property
|
364
|
+
@pulumi.getter
|
365
|
+
def sandbox(self) -> Optional[pulumi.Input[str]]:
|
366
|
+
"""
|
367
|
+
Execution environment of the container.
|
368
|
+
"""
|
369
|
+
return pulumi.get(self, "sandbox")
|
370
|
+
|
371
|
+
@sandbox.setter
|
372
|
+
def sandbox(self, value: Optional[pulumi.Input[str]]):
|
373
|
+
pulumi.set(self, "sandbox", value)
|
374
|
+
|
375
|
+
@property
|
376
|
+
@pulumi.getter(name="scalingOptions")
|
377
|
+
def scaling_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]]]:
|
378
|
+
"""
|
379
|
+
Configuration block used to decide when to scale up or down. Possible values:
|
380
|
+
"""
|
381
|
+
return pulumi.get(self, "scaling_options")
|
382
|
+
|
383
|
+
@scaling_options.setter
|
384
|
+
def scaling_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]]]):
|
385
|
+
pulumi.set(self, "scaling_options", value)
|
386
|
+
|
387
|
+
@property
|
388
|
+
@pulumi.getter(name="secretEnvironmentVariables")
|
389
|
+
def secret_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
390
|
+
"""
|
391
|
+
The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
392
|
+
"""
|
393
|
+
return pulumi.get(self, "secret_environment_variables")
|
394
|
+
|
395
|
+
@secret_environment_variables.setter
|
396
|
+
def secret_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
397
|
+
pulumi.set(self, "secret_environment_variables", value)
|
398
|
+
|
399
|
+
@property
|
400
|
+
@pulumi.getter
|
401
|
+
def status(self) -> Optional[pulumi.Input[str]]:
|
402
|
+
"""
|
403
|
+
The container status.
|
404
|
+
"""
|
405
|
+
return pulumi.get(self, "status")
|
406
|
+
|
407
|
+
@status.setter
|
408
|
+
def status(self, value: Optional[pulumi.Input[str]]):
|
409
|
+
pulumi.set(self, "status", value)
|
410
|
+
|
411
|
+
@property
|
412
|
+
@pulumi.getter
|
413
|
+
def timeout(self) -> Optional[pulumi.Input[int]]:
|
414
|
+
"""
|
415
|
+
The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
416
|
+
"""
|
417
|
+
return pulumi.get(self, "timeout")
|
418
|
+
|
419
|
+
@timeout.setter
|
420
|
+
def timeout(self, value: Optional[pulumi.Input[int]]):
|
421
|
+
pulumi.set(self, "timeout", value)
|
422
|
+
|
423
|
+
|
424
|
+
@pulumi.input_type
|
425
|
+
class _ContainerState:
|
426
|
+
def __init__(__self__, *,
|
427
|
+
cpu_limit: Optional[pulumi.Input[int]] = None,
|
428
|
+
cron_status: Optional[pulumi.Input[str]] = None,
|
429
|
+
deploy: Optional[pulumi.Input[bool]] = None,
|
430
|
+
description: Optional[pulumi.Input[str]] = None,
|
431
|
+
domain_name: Optional[pulumi.Input[str]] = None,
|
432
|
+
environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
433
|
+
error_message: Optional[pulumi.Input[str]] = None,
|
434
|
+
health_checks: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]]] = None,
|
435
|
+
http_option: Optional[pulumi.Input[str]] = None,
|
436
|
+
local_storage_limit: Optional[pulumi.Input[int]] = None,
|
437
|
+
max_concurrency: Optional[pulumi.Input[int]] = None,
|
438
|
+
max_scale: Optional[pulumi.Input[int]] = None,
|
439
|
+
memory_limit: Optional[pulumi.Input[int]] = None,
|
440
|
+
min_scale: Optional[pulumi.Input[int]] = None,
|
441
|
+
name: Optional[pulumi.Input[str]] = None,
|
442
|
+
namespace_id: Optional[pulumi.Input[str]] = None,
|
443
|
+
port: Optional[pulumi.Input[int]] = None,
|
444
|
+
privacy: Optional[pulumi.Input[str]] = None,
|
445
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
446
|
+
region: Optional[pulumi.Input[str]] = None,
|
447
|
+
registry_image: Optional[pulumi.Input[str]] = None,
|
448
|
+
registry_sha256: Optional[pulumi.Input[str]] = None,
|
449
|
+
sandbox: Optional[pulumi.Input[str]] = None,
|
450
|
+
scaling_options: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]]] = None,
|
451
|
+
secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
452
|
+
status: Optional[pulumi.Input[str]] = None,
|
453
|
+
timeout: Optional[pulumi.Input[int]] = None):
|
454
|
+
"""
|
455
|
+
Input properties used for looking up and filtering Container resources.
|
456
|
+
:param pulumi.Input[int] cpu_limit: The amount of vCPU computing resources to allocate to each container.
|
457
|
+
:param pulumi.Input[str] cron_status: The cron status of the container.
|
458
|
+
:param pulumi.Input[bool] deploy: Boolean indicating whether the container is in a production environment.
|
459
|
+
:param pulumi.Input[str] description: The description of the container.
|
460
|
+
:param pulumi.Input[str] domain_name: The native domain name of the container
|
461
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
462
|
+
:param pulumi.Input[str] error_message: The error message of the container.
|
463
|
+
:param pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]] health_checks: Health check configuration block of the container.
|
464
|
+
:param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
465
|
+
:param pulumi.Input[int] local_storage_limit: Local storage limit of the container (in MB)
|
466
|
+
|
467
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
468
|
+
:param pulumi.Input[int] max_concurrency: The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
469
|
+
:param pulumi.Input[int] max_scale: The maximum number of instances this container can scale to.
|
470
|
+
:param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each container.
|
471
|
+
:param pulumi.Input[int] min_scale: The minimum number of container instances running continuously.
|
472
|
+
:param pulumi.Input[str] name: The unique name of the container name.
|
473
|
+
:param pulumi.Input[str] namespace_id: The Containers namespace ID of the container.
|
474
|
+
|
475
|
+
> **Important** Updating the `name` argument will recreate the container.
|
476
|
+
:param pulumi.Input[int] port: The port to expose the container.
|
477
|
+
:param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
478
|
+
:param pulumi.Input[str] protocol: The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
479
|
+
:param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the container was created.
|
480
|
+
:param pulumi.Input[str] registry_image: The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
481
|
+
:param pulumi.Input[str] registry_sha256: The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
482
|
+
:param pulumi.Input[str] sandbox: Execution environment of the container.
|
483
|
+
:param pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]] scaling_options: Configuration block used to decide when to scale up or down. Possible values:
|
484
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
485
|
+
:param pulumi.Input[str] status: The container status.
|
486
|
+
:param pulumi.Input[int] timeout: The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
487
|
+
"""
|
488
|
+
if cpu_limit is not None:
|
489
|
+
pulumi.set(__self__, "cpu_limit", cpu_limit)
|
490
|
+
if cron_status is not None:
|
491
|
+
pulumi.set(__self__, "cron_status", cron_status)
|
492
|
+
if deploy is not None:
|
493
|
+
pulumi.set(__self__, "deploy", deploy)
|
494
|
+
if description is not None:
|
495
|
+
pulumi.set(__self__, "description", description)
|
496
|
+
if domain_name is not None:
|
497
|
+
pulumi.set(__self__, "domain_name", domain_name)
|
498
|
+
if environment_variables is not None:
|
499
|
+
pulumi.set(__self__, "environment_variables", environment_variables)
|
500
|
+
if error_message is not None:
|
501
|
+
pulumi.set(__self__, "error_message", error_message)
|
502
|
+
if health_checks is not None:
|
503
|
+
pulumi.set(__self__, "health_checks", health_checks)
|
504
|
+
if http_option is not None:
|
505
|
+
pulumi.set(__self__, "http_option", http_option)
|
506
|
+
if local_storage_limit is not None:
|
507
|
+
pulumi.set(__self__, "local_storage_limit", local_storage_limit)
|
508
|
+
if max_concurrency is not None:
|
509
|
+
warnings.warn("""Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""", DeprecationWarning)
|
510
|
+
pulumi.log.warn("""max_concurrency is deprecated: Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""")
|
511
|
+
if max_concurrency is not None:
|
512
|
+
pulumi.set(__self__, "max_concurrency", max_concurrency)
|
513
|
+
if max_scale is not None:
|
514
|
+
pulumi.set(__self__, "max_scale", max_scale)
|
515
|
+
if memory_limit is not None:
|
516
|
+
pulumi.set(__self__, "memory_limit", memory_limit)
|
517
|
+
if min_scale is not None:
|
518
|
+
pulumi.set(__self__, "min_scale", min_scale)
|
519
|
+
if name is not None:
|
520
|
+
pulumi.set(__self__, "name", name)
|
521
|
+
if namespace_id is not None:
|
522
|
+
pulumi.set(__self__, "namespace_id", namespace_id)
|
523
|
+
if port is not None:
|
524
|
+
pulumi.set(__self__, "port", port)
|
525
|
+
if privacy is not None:
|
526
|
+
pulumi.set(__self__, "privacy", privacy)
|
527
|
+
if protocol is not None:
|
528
|
+
pulumi.set(__self__, "protocol", protocol)
|
529
|
+
if region is not None:
|
530
|
+
pulumi.set(__self__, "region", region)
|
531
|
+
if registry_image is not None:
|
532
|
+
pulumi.set(__self__, "registry_image", registry_image)
|
533
|
+
if registry_sha256 is not None:
|
534
|
+
pulumi.set(__self__, "registry_sha256", registry_sha256)
|
535
|
+
if sandbox is not None:
|
536
|
+
pulumi.set(__self__, "sandbox", sandbox)
|
537
|
+
if scaling_options is not None:
|
538
|
+
pulumi.set(__self__, "scaling_options", scaling_options)
|
539
|
+
if secret_environment_variables is not None:
|
540
|
+
pulumi.set(__self__, "secret_environment_variables", secret_environment_variables)
|
541
|
+
if status is not None:
|
542
|
+
pulumi.set(__self__, "status", status)
|
543
|
+
if timeout is not None:
|
544
|
+
pulumi.set(__self__, "timeout", timeout)
|
545
|
+
|
546
|
+
@property
|
547
|
+
@pulumi.getter(name="cpuLimit")
|
548
|
+
def cpu_limit(self) -> Optional[pulumi.Input[int]]:
|
549
|
+
"""
|
550
|
+
The amount of vCPU computing resources to allocate to each container.
|
551
|
+
"""
|
552
|
+
return pulumi.get(self, "cpu_limit")
|
553
|
+
|
554
|
+
@cpu_limit.setter
|
555
|
+
def cpu_limit(self, value: Optional[pulumi.Input[int]]):
|
556
|
+
pulumi.set(self, "cpu_limit", value)
|
557
|
+
|
558
|
+
@property
|
559
|
+
@pulumi.getter(name="cronStatus")
|
560
|
+
def cron_status(self) -> Optional[pulumi.Input[str]]:
|
561
|
+
"""
|
562
|
+
The cron status of the container.
|
563
|
+
"""
|
564
|
+
return pulumi.get(self, "cron_status")
|
565
|
+
|
566
|
+
@cron_status.setter
|
567
|
+
def cron_status(self, value: Optional[pulumi.Input[str]]):
|
568
|
+
pulumi.set(self, "cron_status", value)
|
569
|
+
|
570
|
+
@property
|
571
|
+
@pulumi.getter
|
572
|
+
def deploy(self) -> Optional[pulumi.Input[bool]]:
|
573
|
+
"""
|
574
|
+
Boolean indicating whether the container is in a production environment.
|
575
|
+
"""
|
576
|
+
return pulumi.get(self, "deploy")
|
577
|
+
|
578
|
+
@deploy.setter
|
579
|
+
def deploy(self, value: Optional[pulumi.Input[bool]]):
|
580
|
+
pulumi.set(self, "deploy", value)
|
581
|
+
|
582
|
+
@property
|
583
|
+
@pulumi.getter
|
584
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
585
|
+
"""
|
586
|
+
The description of the container.
|
587
|
+
"""
|
588
|
+
return pulumi.get(self, "description")
|
589
|
+
|
590
|
+
@description.setter
|
591
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
592
|
+
pulumi.set(self, "description", value)
|
593
|
+
|
594
|
+
@property
|
595
|
+
@pulumi.getter(name="domainName")
|
596
|
+
def domain_name(self) -> Optional[pulumi.Input[str]]:
|
597
|
+
"""
|
598
|
+
The native domain name of the container
|
599
|
+
"""
|
600
|
+
return pulumi.get(self, "domain_name")
|
601
|
+
|
602
|
+
@domain_name.setter
|
603
|
+
def domain_name(self, value: Optional[pulumi.Input[str]]):
|
604
|
+
pulumi.set(self, "domain_name", value)
|
605
|
+
|
606
|
+
@property
|
607
|
+
@pulumi.getter(name="environmentVariables")
|
608
|
+
def environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
609
|
+
"""
|
610
|
+
The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
611
|
+
"""
|
612
|
+
return pulumi.get(self, "environment_variables")
|
613
|
+
|
614
|
+
@environment_variables.setter
|
615
|
+
def environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
616
|
+
pulumi.set(self, "environment_variables", value)
|
617
|
+
|
618
|
+
@property
|
619
|
+
@pulumi.getter(name="errorMessage")
|
620
|
+
def error_message(self) -> Optional[pulumi.Input[str]]:
|
621
|
+
"""
|
622
|
+
The error message of the container.
|
623
|
+
"""
|
624
|
+
return pulumi.get(self, "error_message")
|
625
|
+
|
626
|
+
@error_message.setter
|
627
|
+
def error_message(self, value: Optional[pulumi.Input[str]]):
|
628
|
+
pulumi.set(self, "error_message", value)
|
629
|
+
|
630
|
+
@property
|
631
|
+
@pulumi.getter(name="healthChecks")
|
632
|
+
def health_checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]]]:
|
633
|
+
"""
|
634
|
+
Health check configuration block of the container.
|
635
|
+
"""
|
636
|
+
return pulumi.get(self, "health_checks")
|
637
|
+
|
638
|
+
@health_checks.setter
|
639
|
+
def health_checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHealthCheckArgs']]]]):
|
640
|
+
pulumi.set(self, "health_checks", value)
|
641
|
+
|
642
|
+
@property
|
643
|
+
@pulumi.getter(name="httpOption")
|
644
|
+
def http_option(self) -> Optional[pulumi.Input[str]]:
|
645
|
+
"""
|
646
|
+
Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
647
|
+
"""
|
648
|
+
return pulumi.get(self, "http_option")
|
649
|
+
|
650
|
+
@http_option.setter
|
651
|
+
def http_option(self, value: Optional[pulumi.Input[str]]):
|
652
|
+
pulumi.set(self, "http_option", value)
|
653
|
+
|
654
|
+
@property
|
655
|
+
@pulumi.getter(name="localStorageLimit")
|
656
|
+
def local_storage_limit(self) -> Optional[pulumi.Input[int]]:
|
657
|
+
"""
|
658
|
+
Local storage limit of the container (in MB)
|
659
|
+
|
660
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
661
|
+
"""
|
662
|
+
return pulumi.get(self, "local_storage_limit")
|
663
|
+
|
664
|
+
@local_storage_limit.setter
|
665
|
+
def local_storage_limit(self, value: Optional[pulumi.Input[int]]):
|
666
|
+
pulumi.set(self, "local_storage_limit", value)
|
667
|
+
|
668
|
+
@property
|
669
|
+
@pulumi.getter(name="maxConcurrency")
|
670
|
+
@_utilities.deprecated("""Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""")
|
671
|
+
def max_concurrency(self) -> Optional[pulumi.Input[int]]:
|
672
|
+
"""
|
673
|
+
The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
674
|
+
"""
|
675
|
+
return pulumi.get(self, "max_concurrency")
|
676
|
+
|
677
|
+
@max_concurrency.setter
|
678
|
+
def max_concurrency(self, value: Optional[pulumi.Input[int]]):
|
679
|
+
pulumi.set(self, "max_concurrency", value)
|
680
|
+
|
681
|
+
@property
|
682
|
+
@pulumi.getter(name="maxScale")
|
683
|
+
def max_scale(self) -> Optional[pulumi.Input[int]]:
|
684
|
+
"""
|
685
|
+
The maximum number of instances this container can scale to.
|
686
|
+
"""
|
687
|
+
return pulumi.get(self, "max_scale")
|
688
|
+
|
689
|
+
@max_scale.setter
|
690
|
+
def max_scale(self, value: Optional[pulumi.Input[int]]):
|
691
|
+
pulumi.set(self, "max_scale", value)
|
692
|
+
|
693
|
+
@property
|
694
|
+
@pulumi.getter(name="memoryLimit")
|
695
|
+
def memory_limit(self) -> Optional[pulumi.Input[int]]:
|
696
|
+
"""
|
697
|
+
The memory resources in MB to allocate to each container.
|
698
|
+
"""
|
699
|
+
return pulumi.get(self, "memory_limit")
|
700
|
+
|
701
|
+
@memory_limit.setter
|
702
|
+
def memory_limit(self, value: Optional[pulumi.Input[int]]):
|
703
|
+
pulumi.set(self, "memory_limit", value)
|
704
|
+
|
705
|
+
@property
|
706
|
+
@pulumi.getter(name="minScale")
|
707
|
+
def min_scale(self) -> Optional[pulumi.Input[int]]:
|
708
|
+
"""
|
709
|
+
The minimum number of container instances running continuously.
|
710
|
+
"""
|
711
|
+
return pulumi.get(self, "min_scale")
|
712
|
+
|
713
|
+
@min_scale.setter
|
714
|
+
def min_scale(self, value: Optional[pulumi.Input[int]]):
|
715
|
+
pulumi.set(self, "min_scale", value)
|
716
|
+
|
717
|
+
@property
|
718
|
+
@pulumi.getter
|
719
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
720
|
+
"""
|
721
|
+
The unique name of the container name.
|
722
|
+
"""
|
723
|
+
return pulumi.get(self, "name")
|
724
|
+
|
725
|
+
@name.setter
|
726
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
727
|
+
pulumi.set(self, "name", value)
|
728
|
+
|
729
|
+
@property
|
730
|
+
@pulumi.getter(name="namespaceId")
|
731
|
+
def namespace_id(self) -> Optional[pulumi.Input[str]]:
|
732
|
+
"""
|
733
|
+
The Containers namespace ID of the container.
|
734
|
+
|
735
|
+
> **Important** Updating the `name` argument will recreate the container.
|
736
|
+
"""
|
737
|
+
return pulumi.get(self, "namespace_id")
|
738
|
+
|
739
|
+
@namespace_id.setter
|
740
|
+
def namespace_id(self, value: Optional[pulumi.Input[str]]):
|
741
|
+
pulumi.set(self, "namespace_id", value)
|
742
|
+
|
743
|
+
@property
|
744
|
+
@pulumi.getter
|
745
|
+
def port(self) -> Optional[pulumi.Input[int]]:
|
746
|
+
"""
|
747
|
+
The port to expose the container.
|
748
|
+
"""
|
749
|
+
return pulumi.get(self, "port")
|
750
|
+
|
751
|
+
@port.setter
|
752
|
+
def port(self, value: Optional[pulumi.Input[int]]):
|
753
|
+
pulumi.set(self, "port", value)
|
754
|
+
|
755
|
+
@property
|
756
|
+
@pulumi.getter
|
757
|
+
def privacy(self) -> Optional[pulumi.Input[str]]:
|
758
|
+
"""
|
759
|
+
The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
760
|
+
"""
|
761
|
+
return pulumi.get(self, "privacy")
|
762
|
+
|
763
|
+
@privacy.setter
|
764
|
+
def privacy(self, value: Optional[pulumi.Input[str]]):
|
765
|
+
pulumi.set(self, "privacy", value)
|
766
|
+
|
767
|
+
@property
|
768
|
+
@pulumi.getter
|
769
|
+
def protocol(self) -> Optional[pulumi.Input[str]]:
|
770
|
+
"""
|
771
|
+
The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
772
|
+
"""
|
773
|
+
return pulumi.get(self, "protocol")
|
774
|
+
|
775
|
+
@protocol.setter
|
776
|
+
def protocol(self, value: Optional[pulumi.Input[str]]):
|
777
|
+
pulumi.set(self, "protocol", value)
|
778
|
+
|
779
|
+
@property
|
780
|
+
@pulumi.getter
|
781
|
+
def region(self) -> Optional[pulumi.Input[str]]:
|
782
|
+
"""
|
783
|
+
(Defaults to provider `region`) The region in which the container was created.
|
784
|
+
"""
|
785
|
+
return pulumi.get(self, "region")
|
786
|
+
|
787
|
+
@region.setter
|
788
|
+
def region(self, value: Optional[pulumi.Input[str]]):
|
789
|
+
pulumi.set(self, "region", value)
|
790
|
+
|
791
|
+
@property
|
792
|
+
@pulumi.getter(name="registryImage")
|
793
|
+
def registry_image(self) -> Optional[pulumi.Input[str]]:
|
794
|
+
"""
|
795
|
+
The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
796
|
+
"""
|
797
|
+
return pulumi.get(self, "registry_image")
|
798
|
+
|
799
|
+
@registry_image.setter
|
800
|
+
def registry_image(self, value: Optional[pulumi.Input[str]]):
|
801
|
+
pulumi.set(self, "registry_image", value)
|
802
|
+
|
803
|
+
@property
|
804
|
+
@pulumi.getter(name="registrySha256")
|
805
|
+
def registry_sha256(self) -> Optional[pulumi.Input[str]]:
|
806
|
+
"""
|
807
|
+
The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
808
|
+
"""
|
809
|
+
return pulumi.get(self, "registry_sha256")
|
810
|
+
|
811
|
+
@registry_sha256.setter
|
812
|
+
def registry_sha256(self, value: Optional[pulumi.Input[str]]):
|
813
|
+
pulumi.set(self, "registry_sha256", value)
|
814
|
+
|
815
|
+
@property
|
816
|
+
@pulumi.getter
|
817
|
+
def sandbox(self) -> Optional[pulumi.Input[str]]:
|
818
|
+
"""
|
819
|
+
Execution environment of the container.
|
820
|
+
"""
|
821
|
+
return pulumi.get(self, "sandbox")
|
822
|
+
|
823
|
+
@sandbox.setter
|
824
|
+
def sandbox(self, value: Optional[pulumi.Input[str]]):
|
825
|
+
pulumi.set(self, "sandbox", value)
|
826
|
+
|
827
|
+
@property
|
828
|
+
@pulumi.getter(name="scalingOptions")
|
829
|
+
def scaling_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]]]:
|
830
|
+
"""
|
831
|
+
Configuration block used to decide when to scale up or down. Possible values:
|
832
|
+
"""
|
833
|
+
return pulumi.get(self, "scaling_options")
|
834
|
+
|
835
|
+
@scaling_options.setter
|
836
|
+
def scaling_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerScalingOptionArgs']]]]):
|
837
|
+
pulumi.set(self, "scaling_options", value)
|
838
|
+
|
839
|
+
@property
|
840
|
+
@pulumi.getter(name="secretEnvironmentVariables")
|
841
|
+
def secret_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
842
|
+
"""
|
843
|
+
The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
844
|
+
"""
|
845
|
+
return pulumi.get(self, "secret_environment_variables")
|
846
|
+
|
847
|
+
@secret_environment_variables.setter
|
848
|
+
def secret_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
849
|
+
pulumi.set(self, "secret_environment_variables", value)
|
850
|
+
|
851
|
+
@property
|
852
|
+
@pulumi.getter
|
853
|
+
def status(self) -> Optional[pulumi.Input[str]]:
|
854
|
+
"""
|
855
|
+
The container status.
|
856
|
+
"""
|
857
|
+
return pulumi.get(self, "status")
|
858
|
+
|
859
|
+
@status.setter
|
860
|
+
def status(self, value: Optional[pulumi.Input[str]]):
|
861
|
+
pulumi.set(self, "status", value)
|
862
|
+
|
863
|
+
@property
|
864
|
+
@pulumi.getter
|
865
|
+
def timeout(self) -> Optional[pulumi.Input[int]]:
|
866
|
+
"""
|
867
|
+
The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
868
|
+
"""
|
869
|
+
return pulumi.get(self, "timeout")
|
870
|
+
|
871
|
+
@timeout.setter
|
872
|
+
def timeout(self, value: Optional[pulumi.Input[int]]):
|
873
|
+
pulumi.set(self, "timeout", value)
|
874
|
+
|
875
|
+
|
876
|
+
class Container(pulumi.CustomResource):
|
877
|
+
@overload
|
878
|
+
def __init__(__self__,
|
879
|
+
resource_name: str,
|
880
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
881
|
+
cpu_limit: Optional[pulumi.Input[int]] = None,
|
882
|
+
deploy: Optional[pulumi.Input[bool]] = None,
|
883
|
+
description: Optional[pulumi.Input[str]] = None,
|
884
|
+
environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
885
|
+
health_checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContainerHealthCheckArgs', 'ContainerHealthCheckArgsDict']]]]] = None,
|
886
|
+
http_option: Optional[pulumi.Input[str]] = None,
|
887
|
+
local_storage_limit: Optional[pulumi.Input[int]] = None,
|
888
|
+
max_concurrency: Optional[pulumi.Input[int]] = None,
|
889
|
+
max_scale: Optional[pulumi.Input[int]] = None,
|
890
|
+
memory_limit: Optional[pulumi.Input[int]] = None,
|
891
|
+
min_scale: Optional[pulumi.Input[int]] = None,
|
892
|
+
name: Optional[pulumi.Input[str]] = None,
|
893
|
+
namespace_id: Optional[pulumi.Input[str]] = None,
|
894
|
+
port: Optional[pulumi.Input[int]] = None,
|
895
|
+
privacy: Optional[pulumi.Input[str]] = None,
|
896
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
897
|
+
region: Optional[pulumi.Input[str]] = None,
|
898
|
+
registry_image: Optional[pulumi.Input[str]] = None,
|
899
|
+
registry_sha256: Optional[pulumi.Input[str]] = None,
|
900
|
+
sandbox: Optional[pulumi.Input[str]] = None,
|
901
|
+
scaling_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContainerScalingOptionArgs', 'ContainerScalingOptionArgsDict']]]]] = None,
|
902
|
+
secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
903
|
+
status: Optional[pulumi.Input[str]] = None,
|
904
|
+
timeout: Optional[pulumi.Input[int]] = None,
|
905
|
+
__props__=None):
|
906
|
+
"""
|
907
|
+
The `containers.Container` resource allows you to create and manage [Serverless Containers](https://www.scaleway.com/en/docs/serverless/containers/).
|
908
|
+
|
909
|
+
Refer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.
|
910
|
+
|
911
|
+
For more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/).
|
912
|
+
|
913
|
+
## Example Usage
|
914
|
+
|
915
|
+
```python
|
916
|
+
import pulumi
|
917
|
+
import pulumiverse_scaleway as scaleway
|
918
|
+
|
919
|
+
main = scaleway.containers.Namespace("main",
|
920
|
+
name="my-ns-test",
|
921
|
+
description="test container")
|
922
|
+
main_container = scaleway.containers.Container("main",
|
923
|
+
name="my-container-02",
|
924
|
+
description="environment variables test",
|
925
|
+
namespace_id=main.id,
|
926
|
+
registry_image=main.registry_endpoint.apply(lambda registry_endpoint: f"{registry_endpoint}/alpine:test"),
|
927
|
+
port=9997,
|
928
|
+
cpu_limit=140,
|
929
|
+
memory_limit=256,
|
930
|
+
min_scale=3,
|
931
|
+
max_scale=5,
|
932
|
+
timeout=600,
|
933
|
+
max_concurrency=80,
|
934
|
+
privacy="private",
|
935
|
+
protocol="http1",
|
936
|
+
deploy=True,
|
937
|
+
environment_variables={
|
938
|
+
"foo": "var",
|
939
|
+
},
|
940
|
+
secret_environment_variables={
|
941
|
+
"key": "secret",
|
942
|
+
})
|
943
|
+
```
|
944
|
+
|
945
|
+
## Protocols
|
946
|
+
|
947
|
+
The following protocols are supported:
|
948
|
+
|
949
|
+
* `h2c`: HTTP/2 over TCP.
|
950
|
+
* `http1`: Hypertext Transfer Protocol.
|
951
|
+
|
952
|
+
> **Important:** Refer to the official [Apache documentation](https://httpd.apache.org/docs/2.4/howto/http2.html) for more information.
|
953
|
+
|
954
|
+
## Privacy
|
955
|
+
|
956
|
+
By default, creating a container will make it `public`, meaning that anybody knowing the endpoint can execute it.
|
957
|
+
|
958
|
+
A container can be made `private` with the privacy parameter.
|
959
|
+
|
960
|
+
Refer to the [technical information](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8) for more information on container authentication.
|
961
|
+
|
962
|
+
## Memory and vCPUs configuration
|
963
|
+
|
964
|
+
The vCPU represents a portion of the underlying, physical CPU that is assigned to a particular virtual machine (VM).
|
965
|
+
|
966
|
+
You can determine the computing resources to allocate to each container.
|
967
|
+
|
968
|
+
The `memory_limit` (in MB) must correspond with the right amount of vCPU. Refer to the table below to determine the right memory/vCPU combination.
|
969
|
+
|
970
|
+
| Memory (in MB) | vCPU |
|
971
|
+
|----------------|------|
|
972
|
+
| 128 | 70m |
|
973
|
+
| 256 | 140m |
|
974
|
+
| 512 | 280m |
|
975
|
+
| 1024 | 560m |
|
976
|
+
| 2048 | 1120 |
|
977
|
+
| 3072 | 1680 |
|
978
|
+
| 4096 | 2240 |
|
979
|
+
|
980
|
+
~>**Important:** Make sure to select the right resources, as you will be billed based on compute usage over time and the number of Containers executions.
|
981
|
+
Refer to the [Serverless Containers pricing](https://www.scaleway.com/en/docs/faq/serverless-containers/#prices) for more information.
|
982
|
+
|
983
|
+
## Health check configuration
|
984
|
+
|
985
|
+
Custom health checks can be configured on the container.
|
986
|
+
|
987
|
+
It's possible to specify the HTTP path that the probe will listen to and the number of failures before considering the container as unhealthy.
|
988
|
+
During a deployment, if a newly created container fails to pass the health check, the deployment is aborted.
|
989
|
+
As a result, lowering this value can help to reduce the time it takes to detect a failed deployment.
|
990
|
+
The period between health checks is also configurable.
|
991
|
+
|
992
|
+
Example:
|
993
|
+
|
994
|
+
```python
|
995
|
+
import pulumi
|
996
|
+
import pulumiverse_scaleway as scaleway
|
997
|
+
|
998
|
+
main = scaleway.containers.Container("main",
|
999
|
+
name="my-container-02",
|
1000
|
+
namespace_id=main_scaleway_container_namespace["id"],
|
1001
|
+
health_checks=[{
|
1002
|
+
"https": [{
|
1003
|
+
"path": "/ping",
|
1004
|
+
}],
|
1005
|
+
"failure_threshold": 40,
|
1006
|
+
"interval": "3s",
|
1007
|
+
}])
|
1008
|
+
```
|
1009
|
+
|
1010
|
+
~>**Important:** Another probe type can be set to TCP with the API, but currently the SDK has not been updated with this parameter.
|
1011
|
+
This is why the only probe that can be used here is the HTTP probe.
|
1012
|
+
Refer to the [Serverless Containers pricing](https://www.scaleway.com/en/docs/faq/serverless-containers/#prices) for more information.
|
1013
|
+
|
1014
|
+
## Scaling option configuration
|
1015
|
+
|
1016
|
+
Scaling option block configuration allows you to choose which parameter will scale up/down containers.
|
1017
|
+
Options are number of concurrent requests, CPU or memory usage.
|
1018
|
+
It replaces current `max_concurrency` that has been deprecated.
|
1019
|
+
|
1020
|
+
Example:
|
1021
|
+
|
1022
|
+
```python
|
1023
|
+
import pulumi
|
1024
|
+
import pulumiverse_scaleway as scaleway
|
1025
|
+
|
1026
|
+
main = scaleway.containers.Container("main",
|
1027
|
+
name="my-container-02",
|
1028
|
+
namespace_id=main_scaleway_container_namespace["id"],
|
1029
|
+
scaling_options=[{
|
1030
|
+
"concurrent_requests_threshold": 15,
|
1031
|
+
}])
|
1032
|
+
```
|
1033
|
+
|
1034
|
+
~>**Important**: A maximum of one of these parameters may be set. Also, when `cpu_usage_threshold` or `memory_usage_threshold` are used, `min_scale` can't be set to 0.
|
1035
|
+
Refer to the [API Reference](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-create-a-new-container) for more information.
|
1036
|
+
|
1037
|
+
## Import
|
1038
|
+
|
1039
|
+
Containers can be imported using, `{region}/{id}`, as shown below:
|
1040
|
+
|
1041
|
+
bash
|
1042
|
+
|
1043
|
+
```sh
|
1044
|
+
$ pulumi import scaleway:containers/container:Container main fr-par/11111111-1111-1111-1111-111111111111
|
1045
|
+
```
|
1046
|
+
|
1047
|
+
:param str resource_name: The name of the resource.
|
1048
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1049
|
+
:param pulumi.Input[int] cpu_limit: The amount of vCPU computing resources to allocate to each container.
|
1050
|
+
:param pulumi.Input[bool] deploy: Boolean indicating whether the container is in a production environment.
|
1051
|
+
:param pulumi.Input[str] description: The description of the container.
|
1052
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
1053
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ContainerHealthCheckArgs', 'ContainerHealthCheckArgsDict']]]] health_checks: Health check configuration block of the container.
|
1054
|
+
:param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
1055
|
+
:param pulumi.Input[int] local_storage_limit: Local storage limit of the container (in MB)
|
1056
|
+
|
1057
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
1058
|
+
:param pulumi.Input[int] max_concurrency: The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
1059
|
+
:param pulumi.Input[int] max_scale: The maximum number of instances this container can scale to.
|
1060
|
+
:param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each container.
|
1061
|
+
:param pulumi.Input[int] min_scale: The minimum number of container instances running continuously.
|
1062
|
+
:param pulumi.Input[str] name: The unique name of the container name.
|
1063
|
+
:param pulumi.Input[str] namespace_id: The Containers namespace ID of the container.
|
1064
|
+
|
1065
|
+
> **Important** Updating the `name` argument will recreate the container.
|
1066
|
+
:param pulumi.Input[int] port: The port to expose the container.
|
1067
|
+
:param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
1068
|
+
:param pulumi.Input[str] protocol: The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
1069
|
+
:param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the container was created.
|
1070
|
+
:param pulumi.Input[str] registry_image: The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
1071
|
+
:param pulumi.Input[str] registry_sha256: The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
1072
|
+
:param pulumi.Input[str] sandbox: Execution environment of the container.
|
1073
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ContainerScalingOptionArgs', 'ContainerScalingOptionArgsDict']]]] scaling_options: Configuration block used to decide when to scale up or down. Possible values:
|
1074
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
1075
|
+
:param pulumi.Input[str] status: The container status.
|
1076
|
+
:param pulumi.Input[int] timeout: The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
1077
|
+
"""
|
1078
|
+
...
|
1079
|
+
@overload
|
1080
|
+
def __init__(__self__,
|
1081
|
+
resource_name: str,
|
1082
|
+
args: ContainerArgs,
|
1083
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
1084
|
+
"""
|
1085
|
+
The `containers.Container` resource allows you to create and manage [Serverless Containers](https://www.scaleway.com/en/docs/serverless/containers/).
|
1086
|
+
|
1087
|
+
Refer to the Serverless Containers [product documentation](https://www.scaleway.com/en/docs/serverless/containers/) and [API documentation](https://www.scaleway.com/en/developers/api/serverless-containers/) for more information.
|
1088
|
+
|
1089
|
+
For more information on the limitations of Serverless Containers, refer to the [dedicated documentation](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/).
|
1090
|
+
|
1091
|
+
## Example Usage
|
1092
|
+
|
1093
|
+
```python
|
1094
|
+
import pulumi
|
1095
|
+
import pulumiverse_scaleway as scaleway
|
1096
|
+
|
1097
|
+
main = scaleway.containers.Namespace("main",
|
1098
|
+
name="my-ns-test",
|
1099
|
+
description="test container")
|
1100
|
+
main_container = scaleway.containers.Container("main",
|
1101
|
+
name="my-container-02",
|
1102
|
+
description="environment variables test",
|
1103
|
+
namespace_id=main.id,
|
1104
|
+
registry_image=main.registry_endpoint.apply(lambda registry_endpoint: f"{registry_endpoint}/alpine:test"),
|
1105
|
+
port=9997,
|
1106
|
+
cpu_limit=140,
|
1107
|
+
memory_limit=256,
|
1108
|
+
min_scale=3,
|
1109
|
+
max_scale=5,
|
1110
|
+
timeout=600,
|
1111
|
+
max_concurrency=80,
|
1112
|
+
privacy="private",
|
1113
|
+
protocol="http1",
|
1114
|
+
deploy=True,
|
1115
|
+
environment_variables={
|
1116
|
+
"foo": "var",
|
1117
|
+
},
|
1118
|
+
secret_environment_variables={
|
1119
|
+
"key": "secret",
|
1120
|
+
})
|
1121
|
+
```
|
1122
|
+
|
1123
|
+
## Protocols
|
1124
|
+
|
1125
|
+
The following protocols are supported:
|
1126
|
+
|
1127
|
+
* `h2c`: HTTP/2 over TCP.
|
1128
|
+
* `http1`: Hypertext Transfer Protocol.
|
1129
|
+
|
1130
|
+
> **Important:** Refer to the official [Apache documentation](https://httpd.apache.org/docs/2.4/howto/http2.html) for more information.
|
1131
|
+
|
1132
|
+
## Privacy
|
1133
|
+
|
1134
|
+
By default, creating a container will make it `public`, meaning that anybody knowing the endpoint can execute it.
|
1135
|
+
|
1136
|
+
A container can be made `private` with the privacy parameter.
|
1137
|
+
|
1138
|
+
Refer to the [technical information](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8) for more information on container authentication.
|
1139
|
+
|
1140
|
+
## Memory and vCPUs configuration
|
1141
|
+
|
1142
|
+
The vCPU represents a portion of the underlying, physical CPU that is assigned to a particular virtual machine (VM).
|
1143
|
+
|
1144
|
+
You can determine the computing resources to allocate to each container.
|
1145
|
+
|
1146
|
+
The `memory_limit` (in MB) must correspond with the right amount of vCPU. Refer to the table below to determine the right memory/vCPU combination.
|
1147
|
+
|
1148
|
+
| Memory (in MB) | vCPU |
|
1149
|
+
|----------------|------|
|
1150
|
+
| 128 | 70m |
|
1151
|
+
| 256 | 140m |
|
1152
|
+
| 512 | 280m |
|
1153
|
+
| 1024 | 560m |
|
1154
|
+
| 2048 | 1120 |
|
1155
|
+
| 3072 | 1680 |
|
1156
|
+
| 4096 | 2240 |
|
1157
|
+
|
1158
|
+
~>**Important:** Make sure to select the right resources, as you will be billed based on compute usage over time and the number of Containers executions.
|
1159
|
+
Refer to the [Serverless Containers pricing](https://www.scaleway.com/en/docs/faq/serverless-containers/#prices) for more information.
|
1160
|
+
|
1161
|
+
## Health check configuration
|
1162
|
+
|
1163
|
+
Custom health checks can be configured on the container.
|
1164
|
+
|
1165
|
+
It's possible to specify the HTTP path that the probe will listen to and the number of failures before considering the container as unhealthy.
|
1166
|
+
During a deployment, if a newly created container fails to pass the health check, the deployment is aborted.
|
1167
|
+
As a result, lowering this value can help to reduce the time it takes to detect a failed deployment.
|
1168
|
+
The period between health checks is also configurable.
|
1169
|
+
|
1170
|
+
Example:
|
1171
|
+
|
1172
|
+
```python
|
1173
|
+
import pulumi
|
1174
|
+
import pulumiverse_scaleway as scaleway
|
1175
|
+
|
1176
|
+
main = scaleway.containers.Container("main",
|
1177
|
+
name="my-container-02",
|
1178
|
+
namespace_id=main_scaleway_container_namespace["id"],
|
1179
|
+
health_checks=[{
|
1180
|
+
"https": [{
|
1181
|
+
"path": "/ping",
|
1182
|
+
}],
|
1183
|
+
"failure_threshold": 40,
|
1184
|
+
"interval": "3s",
|
1185
|
+
}])
|
1186
|
+
```
|
1187
|
+
|
1188
|
+
~>**Important:** Another probe type can be set to TCP with the API, but currently the SDK has not been updated with this parameter.
|
1189
|
+
This is why the only probe that can be used here is the HTTP probe.
|
1190
|
+
Refer to the [Serverless Containers pricing](https://www.scaleway.com/en/docs/faq/serverless-containers/#prices) for more information.
|
1191
|
+
|
1192
|
+
## Scaling option configuration
|
1193
|
+
|
1194
|
+
Scaling option block configuration allows you to choose which parameter will scale up/down containers.
|
1195
|
+
Options are number of concurrent requests, CPU or memory usage.
|
1196
|
+
It replaces current `max_concurrency` that has been deprecated.
|
1197
|
+
|
1198
|
+
Example:
|
1199
|
+
|
1200
|
+
```python
|
1201
|
+
import pulumi
|
1202
|
+
import pulumiverse_scaleway as scaleway
|
1203
|
+
|
1204
|
+
main = scaleway.containers.Container("main",
|
1205
|
+
name="my-container-02",
|
1206
|
+
namespace_id=main_scaleway_container_namespace["id"],
|
1207
|
+
scaling_options=[{
|
1208
|
+
"concurrent_requests_threshold": 15,
|
1209
|
+
}])
|
1210
|
+
```
|
1211
|
+
|
1212
|
+
~>**Important**: A maximum of one of these parameters may be set. Also, when `cpu_usage_threshold` or `memory_usage_threshold` are used, `min_scale` can't be set to 0.
|
1213
|
+
Refer to the [API Reference](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-create-a-new-container) for more information.
|
1214
|
+
|
1215
|
+
## Import
|
1216
|
+
|
1217
|
+
Containers can be imported using, `{region}/{id}`, as shown below:
|
1218
|
+
|
1219
|
+
bash
|
1220
|
+
|
1221
|
+
```sh
|
1222
|
+
$ pulumi import scaleway:containers/container:Container main fr-par/11111111-1111-1111-1111-111111111111
|
1223
|
+
```
|
1224
|
+
|
1225
|
+
:param str resource_name: The name of the resource.
|
1226
|
+
:param ContainerArgs args: The arguments to use to populate this resource's properties.
|
1227
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1228
|
+
"""
|
1229
|
+
...
|
1230
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1231
|
+
resource_args, opts = _utilities.get_resource_args_opts(ContainerArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1232
|
+
if resource_args is not None:
|
1233
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1234
|
+
else:
|
1235
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1236
|
+
|
1237
|
+
def _internal_init(__self__,
|
1238
|
+
resource_name: str,
|
1239
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1240
|
+
cpu_limit: Optional[pulumi.Input[int]] = None,
|
1241
|
+
deploy: Optional[pulumi.Input[bool]] = None,
|
1242
|
+
description: Optional[pulumi.Input[str]] = None,
|
1243
|
+
environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1244
|
+
health_checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContainerHealthCheckArgs', 'ContainerHealthCheckArgsDict']]]]] = None,
|
1245
|
+
http_option: Optional[pulumi.Input[str]] = None,
|
1246
|
+
local_storage_limit: Optional[pulumi.Input[int]] = None,
|
1247
|
+
max_concurrency: Optional[pulumi.Input[int]] = None,
|
1248
|
+
max_scale: Optional[pulumi.Input[int]] = None,
|
1249
|
+
memory_limit: Optional[pulumi.Input[int]] = None,
|
1250
|
+
min_scale: Optional[pulumi.Input[int]] = None,
|
1251
|
+
name: Optional[pulumi.Input[str]] = None,
|
1252
|
+
namespace_id: Optional[pulumi.Input[str]] = None,
|
1253
|
+
port: Optional[pulumi.Input[int]] = None,
|
1254
|
+
privacy: Optional[pulumi.Input[str]] = None,
|
1255
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
1256
|
+
region: Optional[pulumi.Input[str]] = None,
|
1257
|
+
registry_image: Optional[pulumi.Input[str]] = None,
|
1258
|
+
registry_sha256: Optional[pulumi.Input[str]] = None,
|
1259
|
+
sandbox: Optional[pulumi.Input[str]] = None,
|
1260
|
+
scaling_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContainerScalingOptionArgs', 'ContainerScalingOptionArgsDict']]]]] = None,
|
1261
|
+
secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1262
|
+
status: Optional[pulumi.Input[str]] = None,
|
1263
|
+
timeout: Optional[pulumi.Input[int]] = None,
|
1264
|
+
__props__=None):
|
1265
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1266
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1267
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1268
|
+
if opts.id is None:
|
1269
|
+
if __props__ is not None:
|
1270
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1271
|
+
__props__ = ContainerArgs.__new__(ContainerArgs)
|
1272
|
+
|
1273
|
+
__props__.__dict__["cpu_limit"] = cpu_limit
|
1274
|
+
__props__.__dict__["deploy"] = deploy
|
1275
|
+
__props__.__dict__["description"] = description
|
1276
|
+
__props__.__dict__["environment_variables"] = environment_variables
|
1277
|
+
__props__.__dict__["health_checks"] = health_checks
|
1278
|
+
__props__.__dict__["http_option"] = http_option
|
1279
|
+
__props__.__dict__["local_storage_limit"] = local_storage_limit
|
1280
|
+
__props__.__dict__["max_concurrency"] = max_concurrency
|
1281
|
+
__props__.__dict__["max_scale"] = max_scale
|
1282
|
+
__props__.__dict__["memory_limit"] = memory_limit
|
1283
|
+
__props__.__dict__["min_scale"] = min_scale
|
1284
|
+
__props__.__dict__["name"] = name
|
1285
|
+
if namespace_id is None and not opts.urn:
|
1286
|
+
raise TypeError("Missing required property 'namespace_id'")
|
1287
|
+
__props__.__dict__["namespace_id"] = namespace_id
|
1288
|
+
__props__.__dict__["port"] = port
|
1289
|
+
__props__.__dict__["privacy"] = privacy
|
1290
|
+
__props__.__dict__["protocol"] = protocol
|
1291
|
+
__props__.__dict__["region"] = region
|
1292
|
+
__props__.__dict__["registry_image"] = registry_image
|
1293
|
+
__props__.__dict__["registry_sha256"] = registry_sha256
|
1294
|
+
__props__.__dict__["sandbox"] = sandbox
|
1295
|
+
__props__.__dict__["scaling_options"] = scaling_options
|
1296
|
+
__props__.__dict__["secret_environment_variables"] = None if secret_environment_variables is None else pulumi.Output.secret(secret_environment_variables)
|
1297
|
+
__props__.__dict__["status"] = status
|
1298
|
+
__props__.__dict__["timeout"] = timeout
|
1299
|
+
__props__.__dict__["cron_status"] = None
|
1300
|
+
__props__.__dict__["domain_name"] = None
|
1301
|
+
__props__.__dict__["error_message"] = None
|
1302
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/container:Container")])
|
1303
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
1304
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secretEnvironmentVariables"])
|
1305
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1306
|
+
super(Container, __self__).__init__(
|
1307
|
+
'scaleway:containers/container:Container',
|
1308
|
+
resource_name,
|
1309
|
+
__props__,
|
1310
|
+
opts)
|
1311
|
+
|
1312
|
+
@staticmethod
|
1313
|
+
def get(resource_name: str,
|
1314
|
+
id: pulumi.Input[str],
|
1315
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1316
|
+
cpu_limit: Optional[pulumi.Input[int]] = None,
|
1317
|
+
cron_status: Optional[pulumi.Input[str]] = None,
|
1318
|
+
deploy: Optional[pulumi.Input[bool]] = None,
|
1319
|
+
description: Optional[pulumi.Input[str]] = None,
|
1320
|
+
domain_name: Optional[pulumi.Input[str]] = None,
|
1321
|
+
environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1322
|
+
error_message: Optional[pulumi.Input[str]] = None,
|
1323
|
+
health_checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContainerHealthCheckArgs', 'ContainerHealthCheckArgsDict']]]]] = None,
|
1324
|
+
http_option: Optional[pulumi.Input[str]] = None,
|
1325
|
+
local_storage_limit: Optional[pulumi.Input[int]] = None,
|
1326
|
+
max_concurrency: Optional[pulumi.Input[int]] = None,
|
1327
|
+
max_scale: Optional[pulumi.Input[int]] = None,
|
1328
|
+
memory_limit: Optional[pulumi.Input[int]] = None,
|
1329
|
+
min_scale: Optional[pulumi.Input[int]] = None,
|
1330
|
+
name: Optional[pulumi.Input[str]] = None,
|
1331
|
+
namespace_id: Optional[pulumi.Input[str]] = None,
|
1332
|
+
port: Optional[pulumi.Input[int]] = None,
|
1333
|
+
privacy: Optional[pulumi.Input[str]] = None,
|
1334
|
+
protocol: Optional[pulumi.Input[str]] = None,
|
1335
|
+
region: Optional[pulumi.Input[str]] = None,
|
1336
|
+
registry_image: Optional[pulumi.Input[str]] = None,
|
1337
|
+
registry_sha256: Optional[pulumi.Input[str]] = None,
|
1338
|
+
sandbox: Optional[pulumi.Input[str]] = None,
|
1339
|
+
scaling_options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ContainerScalingOptionArgs', 'ContainerScalingOptionArgsDict']]]]] = None,
|
1340
|
+
secret_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1341
|
+
status: Optional[pulumi.Input[str]] = None,
|
1342
|
+
timeout: Optional[pulumi.Input[int]] = None) -> 'Container':
|
1343
|
+
"""
|
1344
|
+
Get an existing Container resource's state with the given name, id, and optional extra
|
1345
|
+
properties used to qualify the lookup.
|
1346
|
+
|
1347
|
+
:param str resource_name: The unique name of the resulting resource.
|
1348
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1349
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1350
|
+
:param pulumi.Input[int] cpu_limit: The amount of vCPU computing resources to allocate to each container.
|
1351
|
+
:param pulumi.Input[str] cron_status: The cron status of the container.
|
1352
|
+
:param pulumi.Input[bool] deploy: Boolean indicating whether the container is in a production environment.
|
1353
|
+
:param pulumi.Input[str] description: The description of the container.
|
1354
|
+
:param pulumi.Input[str] domain_name: The native domain name of the container
|
1355
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment_variables: The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
1356
|
+
:param pulumi.Input[str] error_message: The error message of the container.
|
1357
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ContainerHealthCheckArgs', 'ContainerHealthCheckArgsDict']]]] health_checks: Health check configuration block of the container.
|
1358
|
+
:param pulumi.Input[str] http_option: Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
1359
|
+
:param pulumi.Input[int] local_storage_limit: Local storage limit of the container (in MB)
|
1360
|
+
|
1361
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
1362
|
+
:param pulumi.Input[int] max_concurrency: The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
1363
|
+
:param pulumi.Input[int] max_scale: The maximum number of instances this container can scale to.
|
1364
|
+
:param pulumi.Input[int] memory_limit: The memory resources in MB to allocate to each container.
|
1365
|
+
:param pulumi.Input[int] min_scale: The minimum number of container instances running continuously.
|
1366
|
+
:param pulumi.Input[str] name: The unique name of the container name.
|
1367
|
+
:param pulumi.Input[str] namespace_id: The Containers namespace ID of the container.
|
1368
|
+
|
1369
|
+
> **Important** Updating the `name` argument will recreate the container.
|
1370
|
+
:param pulumi.Input[int] port: The port to expose the container.
|
1371
|
+
:param pulumi.Input[str] privacy: The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
1372
|
+
:param pulumi.Input[str] protocol: The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
1373
|
+
:param pulumi.Input[str] region: (Defaults to provider `region`) The region in which the container was created.
|
1374
|
+
:param pulumi.Input[str] registry_image: The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
1375
|
+
:param pulumi.Input[str] registry_sha256: The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
1376
|
+
:param pulumi.Input[str] sandbox: Execution environment of the container.
|
1377
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ContainerScalingOptionArgs', 'ContainerScalingOptionArgsDict']]]] scaling_options: Configuration block used to decide when to scale up or down. Possible values:
|
1378
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] secret_environment_variables: The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
1379
|
+
:param pulumi.Input[str] status: The container status.
|
1380
|
+
:param pulumi.Input[int] timeout: The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
1381
|
+
"""
|
1382
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1383
|
+
|
1384
|
+
__props__ = _ContainerState.__new__(_ContainerState)
|
1385
|
+
|
1386
|
+
__props__.__dict__["cpu_limit"] = cpu_limit
|
1387
|
+
__props__.__dict__["cron_status"] = cron_status
|
1388
|
+
__props__.__dict__["deploy"] = deploy
|
1389
|
+
__props__.__dict__["description"] = description
|
1390
|
+
__props__.__dict__["domain_name"] = domain_name
|
1391
|
+
__props__.__dict__["environment_variables"] = environment_variables
|
1392
|
+
__props__.__dict__["error_message"] = error_message
|
1393
|
+
__props__.__dict__["health_checks"] = health_checks
|
1394
|
+
__props__.__dict__["http_option"] = http_option
|
1395
|
+
__props__.__dict__["local_storage_limit"] = local_storage_limit
|
1396
|
+
__props__.__dict__["max_concurrency"] = max_concurrency
|
1397
|
+
__props__.__dict__["max_scale"] = max_scale
|
1398
|
+
__props__.__dict__["memory_limit"] = memory_limit
|
1399
|
+
__props__.__dict__["min_scale"] = min_scale
|
1400
|
+
__props__.__dict__["name"] = name
|
1401
|
+
__props__.__dict__["namespace_id"] = namespace_id
|
1402
|
+
__props__.__dict__["port"] = port
|
1403
|
+
__props__.__dict__["privacy"] = privacy
|
1404
|
+
__props__.__dict__["protocol"] = protocol
|
1405
|
+
__props__.__dict__["region"] = region
|
1406
|
+
__props__.__dict__["registry_image"] = registry_image
|
1407
|
+
__props__.__dict__["registry_sha256"] = registry_sha256
|
1408
|
+
__props__.__dict__["sandbox"] = sandbox
|
1409
|
+
__props__.__dict__["scaling_options"] = scaling_options
|
1410
|
+
__props__.__dict__["secret_environment_variables"] = secret_environment_variables
|
1411
|
+
__props__.__dict__["status"] = status
|
1412
|
+
__props__.__dict__["timeout"] = timeout
|
1413
|
+
return Container(resource_name, opts=opts, __props__=__props__)
|
1414
|
+
|
1415
|
+
@property
|
1416
|
+
@pulumi.getter(name="cpuLimit")
|
1417
|
+
def cpu_limit(self) -> pulumi.Output[int]:
|
1418
|
+
"""
|
1419
|
+
The amount of vCPU computing resources to allocate to each container.
|
1420
|
+
"""
|
1421
|
+
return pulumi.get(self, "cpu_limit")
|
1422
|
+
|
1423
|
+
@property
|
1424
|
+
@pulumi.getter(name="cronStatus")
|
1425
|
+
def cron_status(self) -> pulumi.Output[str]:
|
1426
|
+
"""
|
1427
|
+
The cron status of the container.
|
1428
|
+
"""
|
1429
|
+
return pulumi.get(self, "cron_status")
|
1430
|
+
|
1431
|
+
@property
|
1432
|
+
@pulumi.getter
|
1433
|
+
def deploy(self) -> pulumi.Output[Optional[bool]]:
|
1434
|
+
"""
|
1435
|
+
Boolean indicating whether the container is in a production environment.
|
1436
|
+
"""
|
1437
|
+
return pulumi.get(self, "deploy")
|
1438
|
+
|
1439
|
+
@property
|
1440
|
+
@pulumi.getter
|
1441
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
1442
|
+
"""
|
1443
|
+
The description of the container.
|
1444
|
+
"""
|
1445
|
+
return pulumi.get(self, "description")
|
1446
|
+
|
1447
|
+
@property
|
1448
|
+
@pulumi.getter(name="domainName")
|
1449
|
+
def domain_name(self) -> pulumi.Output[str]:
|
1450
|
+
"""
|
1451
|
+
The native domain name of the container
|
1452
|
+
"""
|
1453
|
+
return pulumi.get(self, "domain_name")
|
1454
|
+
|
1455
|
+
@property
|
1456
|
+
@pulumi.getter(name="environmentVariables")
|
1457
|
+
def environment_variables(self) -> pulumi.Output[Mapping[str, str]]:
|
1458
|
+
"""
|
1459
|
+
The [environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#environment-variables) of the container.
|
1460
|
+
"""
|
1461
|
+
return pulumi.get(self, "environment_variables")
|
1462
|
+
|
1463
|
+
@property
|
1464
|
+
@pulumi.getter(name="errorMessage")
|
1465
|
+
def error_message(self) -> pulumi.Output[str]:
|
1466
|
+
"""
|
1467
|
+
The error message of the container.
|
1468
|
+
"""
|
1469
|
+
return pulumi.get(self, "error_message")
|
1470
|
+
|
1471
|
+
@property
|
1472
|
+
@pulumi.getter(name="healthChecks")
|
1473
|
+
def health_checks(self) -> pulumi.Output[Sequence['outputs.ContainerHealthCheck']]:
|
1474
|
+
"""
|
1475
|
+
Health check configuration block of the container.
|
1476
|
+
"""
|
1477
|
+
return pulumi.get(self, "health_checks")
|
1478
|
+
|
1479
|
+
@property
|
1480
|
+
@pulumi.getter(name="httpOption")
|
1481
|
+
def http_option(self) -> pulumi.Output[Optional[str]]:
|
1482
|
+
"""
|
1483
|
+
Allows both HTTP and HTTPS (`enabled`) or redirect HTTP to HTTPS (`redirected`). Defaults to `enabled`.
|
1484
|
+
"""
|
1485
|
+
return pulumi.get(self, "http_option")
|
1486
|
+
|
1487
|
+
@property
|
1488
|
+
@pulumi.getter(name="localStorageLimit")
|
1489
|
+
def local_storage_limit(self) -> pulumi.Output[int]:
|
1490
|
+
"""
|
1491
|
+
Local storage limit of the container (in MB)
|
1492
|
+
|
1493
|
+
Note that if you want to use your own configuration, you must consult our configuration [restrictions](https://www.scaleway.com/en/docs/serverless-containers/reference-content/containers-limitations/#configuration-restrictions) section.
|
1494
|
+
"""
|
1495
|
+
return pulumi.get(self, "local_storage_limit")
|
1496
|
+
|
1497
|
+
@property
|
1498
|
+
@pulumi.getter(name="maxConcurrency")
|
1499
|
+
@_utilities.deprecated("""Use scaling_option.concurrent_requests_threshold instead. This attribute will be removed.""")
|
1500
|
+
def max_concurrency(self) -> pulumi.Output[int]:
|
1501
|
+
"""
|
1502
|
+
The maximum number of simultaneous requests your container can handle at the same time. Use `scaling_option.concurrent_requests_threshold` instead.
|
1503
|
+
"""
|
1504
|
+
return pulumi.get(self, "max_concurrency")
|
1505
|
+
|
1506
|
+
@property
|
1507
|
+
@pulumi.getter(name="maxScale")
|
1508
|
+
def max_scale(self) -> pulumi.Output[int]:
|
1509
|
+
"""
|
1510
|
+
The maximum number of instances this container can scale to.
|
1511
|
+
"""
|
1512
|
+
return pulumi.get(self, "max_scale")
|
1513
|
+
|
1514
|
+
@property
|
1515
|
+
@pulumi.getter(name="memoryLimit")
|
1516
|
+
def memory_limit(self) -> pulumi.Output[int]:
|
1517
|
+
"""
|
1518
|
+
The memory resources in MB to allocate to each container.
|
1519
|
+
"""
|
1520
|
+
return pulumi.get(self, "memory_limit")
|
1521
|
+
|
1522
|
+
@property
|
1523
|
+
@pulumi.getter(name="minScale")
|
1524
|
+
def min_scale(self) -> pulumi.Output[int]:
|
1525
|
+
"""
|
1526
|
+
The minimum number of container instances running continuously.
|
1527
|
+
"""
|
1528
|
+
return pulumi.get(self, "min_scale")
|
1529
|
+
|
1530
|
+
@property
|
1531
|
+
@pulumi.getter
|
1532
|
+
def name(self) -> pulumi.Output[str]:
|
1533
|
+
"""
|
1534
|
+
The unique name of the container name.
|
1535
|
+
"""
|
1536
|
+
return pulumi.get(self, "name")
|
1537
|
+
|
1538
|
+
@property
|
1539
|
+
@pulumi.getter(name="namespaceId")
|
1540
|
+
def namespace_id(self) -> pulumi.Output[str]:
|
1541
|
+
"""
|
1542
|
+
The Containers namespace ID of the container.
|
1543
|
+
|
1544
|
+
> **Important** Updating the `name` argument will recreate the container.
|
1545
|
+
"""
|
1546
|
+
return pulumi.get(self, "namespace_id")
|
1547
|
+
|
1548
|
+
@property
|
1549
|
+
@pulumi.getter
|
1550
|
+
def port(self) -> pulumi.Output[int]:
|
1551
|
+
"""
|
1552
|
+
The port to expose the container.
|
1553
|
+
"""
|
1554
|
+
return pulumi.get(self, "port")
|
1555
|
+
|
1556
|
+
@property
|
1557
|
+
@pulumi.getter
|
1558
|
+
def privacy(self) -> pulumi.Output[Optional[str]]:
|
1559
|
+
"""
|
1560
|
+
The privacy type defines the way to authenticate to your container. Please check our dedicated [section](https://www.scaleway.com/en/developers/api/serverless-containers/#protocol-9dd4c8).
|
1561
|
+
"""
|
1562
|
+
return pulumi.get(self, "privacy")
|
1563
|
+
|
1564
|
+
@property
|
1565
|
+
@pulumi.getter
|
1566
|
+
def protocol(self) -> pulumi.Output[Optional[str]]:
|
1567
|
+
"""
|
1568
|
+
The communication [protocol](https://www.scaleway.com/en/developers/api/serverless-containers/#path-containers-update-an-existing-container) `http1` or `h2c`. Defaults to `http1`.
|
1569
|
+
"""
|
1570
|
+
return pulumi.get(self, "protocol")
|
1571
|
+
|
1572
|
+
@property
|
1573
|
+
@pulumi.getter
|
1574
|
+
def region(self) -> pulumi.Output[str]:
|
1575
|
+
"""
|
1576
|
+
(Defaults to provider `region`) The region in which the container was created.
|
1577
|
+
"""
|
1578
|
+
return pulumi.get(self, "region")
|
1579
|
+
|
1580
|
+
@property
|
1581
|
+
@pulumi.getter(name="registryImage")
|
1582
|
+
def registry_image(self) -> pulumi.Output[str]:
|
1583
|
+
"""
|
1584
|
+
The registry image address (e.g., `rg.fr-par.scw.cloud/$NAMESPACE/$IMAGE`)
|
1585
|
+
"""
|
1586
|
+
return pulumi.get(self, "registry_image")
|
1587
|
+
|
1588
|
+
@property
|
1589
|
+
@pulumi.getter(name="registrySha256")
|
1590
|
+
def registry_sha256(self) -> pulumi.Output[Optional[str]]:
|
1591
|
+
"""
|
1592
|
+
The sha256 of your source registry image, changing it will re-apply the deployment. Can be any string.
|
1593
|
+
"""
|
1594
|
+
return pulumi.get(self, "registry_sha256")
|
1595
|
+
|
1596
|
+
@property
|
1597
|
+
@pulumi.getter
|
1598
|
+
def sandbox(self) -> pulumi.Output[str]:
|
1599
|
+
"""
|
1600
|
+
Execution environment of the container.
|
1601
|
+
"""
|
1602
|
+
return pulumi.get(self, "sandbox")
|
1603
|
+
|
1604
|
+
@property
|
1605
|
+
@pulumi.getter(name="scalingOptions")
|
1606
|
+
def scaling_options(self) -> pulumi.Output[Sequence['outputs.ContainerScalingOption']]:
|
1607
|
+
"""
|
1608
|
+
Configuration block used to decide when to scale up or down. Possible values:
|
1609
|
+
"""
|
1610
|
+
return pulumi.get(self, "scaling_options")
|
1611
|
+
|
1612
|
+
@property
|
1613
|
+
@pulumi.getter(name="secretEnvironmentVariables")
|
1614
|
+
def secret_environment_variables(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1615
|
+
"""
|
1616
|
+
The [secret environment variables](https://www.scaleway.com/en/docs/serverless-containers/concepts/#secrets) of the container.
|
1617
|
+
"""
|
1618
|
+
return pulumi.get(self, "secret_environment_variables")
|
1619
|
+
|
1620
|
+
@property
|
1621
|
+
@pulumi.getter
|
1622
|
+
def status(self) -> pulumi.Output[str]:
|
1623
|
+
"""
|
1624
|
+
The container status.
|
1625
|
+
"""
|
1626
|
+
return pulumi.get(self, "status")
|
1627
|
+
|
1628
|
+
@property
|
1629
|
+
@pulumi.getter
|
1630
|
+
def timeout(self) -> pulumi.Output[int]:
|
1631
|
+
"""
|
1632
|
+
The maximum amount of time in seconds your container can spend processing a request before being stopped. Default to `300` seconds.
|
1633
|
+
"""
|
1634
|
+
return pulumi.get(self, "timeout")
|
1635
|
+
|