pulumiverse-scaleway 1.25.0a1742464679__py3-none-any.whl → 1.26.0a1742897201__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.26.0a1742897201.dist-info}/METADATA +1 -1
- pulumiverse_scaleway-1.26.0a1742897201.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.25.0a1742464679.dist-info → pulumiverse_scaleway-1.26.0a1742897201.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.26.0a1742897201.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1938 @@
|
|
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__ = ['ServerArgs', 'Server']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class ServerArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
type: pulumi.Input[str],
|
25
|
+
additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
26
|
+
boot_type: Optional[pulumi.Input[str]] = None,
|
27
|
+
bootscript_id: Optional[pulumi.Input[str]] = None,
|
28
|
+
cloud_init: Optional[pulumi.Input[str]] = None,
|
29
|
+
enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
|
30
|
+
enable_ipv6: Optional[pulumi.Input[bool]] = None,
|
31
|
+
image: Optional[pulumi.Input[str]] = None,
|
32
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
33
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
34
|
+
name: Optional[pulumi.Input[str]] = None,
|
35
|
+
placement_group_id: Optional[pulumi.Input[str]] = None,
|
36
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
|
37
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
38
|
+
public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
|
39
|
+
replace_on_type_change: Optional[pulumi.Input[bool]] = None,
|
40
|
+
root_volume: Optional[pulumi.Input['ServerRootVolumeArgs']] = None,
|
41
|
+
security_group_id: Optional[pulumi.Input[str]] = None,
|
42
|
+
state: Optional[pulumi.Input[str]] = None,
|
43
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
44
|
+
user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
45
|
+
zone: Optional[pulumi.Input[str]] = None):
|
46
|
+
"""
|
47
|
+
The set of arguments for constructing a Server resource.
|
48
|
+
:param pulumi.Input[str] type: The commercial type of the server.
|
49
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
50
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
51
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
52
|
+
|
53
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
54
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
55
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
56
|
+
|
57
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
58
|
+
|
59
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
60
|
+
:param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
61
|
+
:param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
|
62
|
+
:param pulumi.Input[str] cloud_init: The cloud init script associated with this server
|
63
|
+
:param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
|
64
|
+
:param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
65
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
66
|
+
:param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
67
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
68
|
+
|
69
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
70
|
+
|
71
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
72
|
+
:param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
|
73
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
74
|
+
|
75
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
76
|
+
:param pulumi.Input[str] name: The name of the server.
|
77
|
+
:param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
78
|
+
|
79
|
+
|
80
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
81
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
|
82
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
83
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
84
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
|
85
|
+
:param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
86
|
+
:param pulumi.Input['ServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
87
|
+
:param pulumi.Input[str] security_group_id: The security group the server is attached to
|
88
|
+
:param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
89
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
90
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
|
91
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
92
|
+
You can define values using:
|
93
|
+
- string
|
94
|
+
- UTF-8 encoded file content using file
|
95
|
+
- Binary files using filebase64.
|
96
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
97
|
+
"""
|
98
|
+
pulumi.set(__self__, "type", type)
|
99
|
+
if additional_volume_ids is not None:
|
100
|
+
pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
|
101
|
+
if boot_type is not None:
|
102
|
+
pulumi.set(__self__, "boot_type", boot_type)
|
103
|
+
if bootscript_id is not None:
|
104
|
+
warnings.warn("""bootscript is not supported anymore.""", DeprecationWarning)
|
105
|
+
pulumi.log.warn("""bootscript_id is deprecated: bootscript is not supported anymore.""")
|
106
|
+
if bootscript_id is not None:
|
107
|
+
pulumi.set(__self__, "bootscript_id", bootscript_id)
|
108
|
+
if cloud_init is not None:
|
109
|
+
pulumi.set(__self__, "cloud_init", cloud_init)
|
110
|
+
if enable_dynamic_ip is not None:
|
111
|
+
pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
|
112
|
+
if enable_ipv6 is not None:
|
113
|
+
warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
|
114
|
+
pulumi.log.warn("""enable_ipv6 is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
|
115
|
+
if enable_ipv6 is not None:
|
116
|
+
pulumi.set(__self__, "enable_ipv6", enable_ipv6)
|
117
|
+
if image is not None:
|
118
|
+
pulumi.set(__self__, "image", image)
|
119
|
+
if ip_id is not None:
|
120
|
+
pulumi.set(__self__, "ip_id", ip_id)
|
121
|
+
if ip_ids is not None:
|
122
|
+
pulumi.set(__self__, "ip_ids", ip_ids)
|
123
|
+
if name is not None:
|
124
|
+
pulumi.set(__self__, "name", name)
|
125
|
+
if placement_group_id is not None:
|
126
|
+
pulumi.set(__self__, "placement_group_id", placement_group_id)
|
127
|
+
if private_networks is not None:
|
128
|
+
pulumi.set(__self__, "private_networks", private_networks)
|
129
|
+
if project_id is not None:
|
130
|
+
pulumi.set(__self__, "project_id", project_id)
|
131
|
+
if public_ips is not None:
|
132
|
+
pulumi.set(__self__, "public_ips", public_ips)
|
133
|
+
if replace_on_type_change is not None:
|
134
|
+
pulumi.set(__self__, "replace_on_type_change", replace_on_type_change)
|
135
|
+
if root_volume is not None:
|
136
|
+
pulumi.set(__self__, "root_volume", root_volume)
|
137
|
+
if security_group_id is not None:
|
138
|
+
pulumi.set(__self__, "security_group_id", security_group_id)
|
139
|
+
if state is not None:
|
140
|
+
pulumi.set(__self__, "state", state)
|
141
|
+
if tags is not None:
|
142
|
+
pulumi.set(__self__, "tags", tags)
|
143
|
+
if user_data is not None:
|
144
|
+
pulumi.set(__self__, "user_data", user_data)
|
145
|
+
if zone is not None:
|
146
|
+
pulumi.set(__self__, "zone", zone)
|
147
|
+
|
148
|
+
@property
|
149
|
+
@pulumi.getter
|
150
|
+
def type(self) -> pulumi.Input[str]:
|
151
|
+
"""
|
152
|
+
The commercial type of the server.
|
153
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
154
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
155
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
156
|
+
|
157
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
158
|
+
"""
|
159
|
+
return pulumi.get(self, "type")
|
160
|
+
|
161
|
+
@type.setter
|
162
|
+
def type(self, value: pulumi.Input[str]):
|
163
|
+
pulumi.set(self, "type", value)
|
164
|
+
|
165
|
+
@property
|
166
|
+
@pulumi.getter(name="additionalVolumeIds")
|
167
|
+
def additional_volume_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
168
|
+
"""
|
169
|
+
The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
170
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
171
|
+
|
172
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
173
|
+
|
174
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
175
|
+
"""
|
176
|
+
return pulumi.get(self, "additional_volume_ids")
|
177
|
+
|
178
|
+
@additional_volume_ids.setter
|
179
|
+
def additional_volume_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
180
|
+
pulumi.set(self, "additional_volume_ids", value)
|
181
|
+
|
182
|
+
@property
|
183
|
+
@pulumi.getter(name="bootType")
|
184
|
+
def boot_type(self) -> Optional[pulumi.Input[str]]:
|
185
|
+
"""
|
186
|
+
The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
187
|
+
"""
|
188
|
+
return pulumi.get(self, "boot_type")
|
189
|
+
|
190
|
+
@boot_type.setter
|
191
|
+
def boot_type(self, value: Optional[pulumi.Input[str]]):
|
192
|
+
pulumi.set(self, "boot_type", value)
|
193
|
+
|
194
|
+
@property
|
195
|
+
@pulumi.getter(name="bootscriptId")
|
196
|
+
@_utilities.deprecated("""bootscript is not supported anymore.""")
|
197
|
+
def bootscript_id(self) -> Optional[pulumi.Input[str]]:
|
198
|
+
"""
|
199
|
+
ID of the target bootscript (set boot_type to bootscript)
|
200
|
+
"""
|
201
|
+
return pulumi.get(self, "bootscript_id")
|
202
|
+
|
203
|
+
@bootscript_id.setter
|
204
|
+
def bootscript_id(self, value: Optional[pulumi.Input[str]]):
|
205
|
+
pulumi.set(self, "bootscript_id", value)
|
206
|
+
|
207
|
+
@property
|
208
|
+
@pulumi.getter(name="cloudInit")
|
209
|
+
def cloud_init(self) -> Optional[pulumi.Input[str]]:
|
210
|
+
"""
|
211
|
+
The cloud init script associated with this server
|
212
|
+
"""
|
213
|
+
return pulumi.get(self, "cloud_init")
|
214
|
+
|
215
|
+
@cloud_init.setter
|
216
|
+
def cloud_init(self, value: Optional[pulumi.Input[str]]):
|
217
|
+
pulumi.set(self, "cloud_init", value)
|
218
|
+
|
219
|
+
@property
|
220
|
+
@pulumi.getter(name="enableDynamicIp")
|
221
|
+
def enable_dynamic_ip(self) -> Optional[pulumi.Input[bool]]:
|
222
|
+
"""
|
223
|
+
If true a dynamic IP will be attached to the server.
|
224
|
+
"""
|
225
|
+
return pulumi.get(self, "enable_dynamic_ip")
|
226
|
+
|
227
|
+
@enable_dynamic_ip.setter
|
228
|
+
def enable_dynamic_ip(self, value: Optional[pulumi.Input[bool]]):
|
229
|
+
pulumi.set(self, "enable_dynamic_ip", value)
|
230
|
+
|
231
|
+
@property
|
232
|
+
@pulumi.getter(name="enableIpv6")
|
233
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
234
|
+
def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
|
235
|
+
"""
|
236
|
+
Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
237
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
238
|
+
"""
|
239
|
+
return pulumi.get(self, "enable_ipv6")
|
240
|
+
|
241
|
+
@enable_ipv6.setter
|
242
|
+
def enable_ipv6(self, value: Optional[pulumi.Input[bool]]):
|
243
|
+
pulumi.set(self, "enable_ipv6", value)
|
244
|
+
|
245
|
+
@property
|
246
|
+
@pulumi.getter
|
247
|
+
def image(self) -> Optional[pulumi.Input[str]]:
|
248
|
+
"""
|
249
|
+
The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
250
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
251
|
+
|
252
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
253
|
+
|
254
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
255
|
+
"""
|
256
|
+
return pulumi.get(self, "image")
|
257
|
+
|
258
|
+
@image.setter
|
259
|
+
def image(self, value: Optional[pulumi.Input[str]]):
|
260
|
+
pulumi.set(self, "image", value)
|
261
|
+
|
262
|
+
@property
|
263
|
+
@pulumi.getter(name="ipId")
|
264
|
+
def ip_id(self) -> Optional[pulumi.Input[str]]:
|
265
|
+
"""
|
266
|
+
The ID of the reserved IP that is attached to the server.
|
267
|
+
"""
|
268
|
+
return pulumi.get(self, "ip_id")
|
269
|
+
|
270
|
+
@ip_id.setter
|
271
|
+
def ip_id(self, value: Optional[pulumi.Input[str]]):
|
272
|
+
pulumi.set(self, "ip_id", value)
|
273
|
+
|
274
|
+
@property
|
275
|
+
@pulumi.getter(name="ipIds")
|
276
|
+
def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
277
|
+
"""
|
278
|
+
List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
279
|
+
|
280
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
281
|
+
"""
|
282
|
+
return pulumi.get(self, "ip_ids")
|
283
|
+
|
284
|
+
@ip_ids.setter
|
285
|
+
def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
286
|
+
pulumi.set(self, "ip_ids", value)
|
287
|
+
|
288
|
+
@property
|
289
|
+
@pulumi.getter
|
290
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
291
|
+
"""
|
292
|
+
The name of the server.
|
293
|
+
"""
|
294
|
+
return pulumi.get(self, "name")
|
295
|
+
|
296
|
+
@name.setter
|
297
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
298
|
+
pulumi.set(self, "name", value)
|
299
|
+
|
300
|
+
@property
|
301
|
+
@pulumi.getter(name="placementGroupId")
|
302
|
+
def placement_group_id(self) -> Optional[pulumi.Input[str]]:
|
303
|
+
"""
|
304
|
+
The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
305
|
+
|
306
|
+
|
307
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
308
|
+
"""
|
309
|
+
return pulumi.get(self, "placement_group_id")
|
310
|
+
|
311
|
+
@placement_group_id.setter
|
312
|
+
def placement_group_id(self, value: Optional[pulumi.Input[str]]):
|
313
|
+
pulumi.set(self, "placement_group_id", value)
|
314
|
+
|
315
|
+
@property
|
316
|
+
@pulumi.getter(name="privateNetworks")
|
317
|
+
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
|
318
|
+
"""
|
319
|
+
The private network associated with the server.
|
320
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
321
|
+
"""
|
322
|
+
return pulumi.get(self, "private_networks")
|
323
|
+
|
324
|
+
@private_networks.setter
|
325
|
+
def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]):
|
326
|
+
pulumi.set(self, "private_networks", value)
|
327
|
+
|
328
|
+
@property
|
329
|
+
@pulumi.getter(name="projectId")
|
330
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
331
|
+
"""
|
332
|
+
`project_id`) The ID of the project the server is associated with.
|
333
|
+
"""
|
334
|
+
return pulumi.get(self, "project_id")
|
335
|
+
|
336
|
+
@project_id.setter
|
337
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
338
|
+
pulumi.set(self, "project_id", value)
|
339
|
+
|
340
|
+
@property
|
341
|
+
@pulumi.getter(name="publicIps")
|
342
|
+
def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]:
|
343
|
+
"""
|
344
|
+
The list of public IPs of the server.
|
345
|
+
"""
|
346
|
+
return pulumi.get(self, "public_ips")
|
347
|
+
|
348
|
+
@public_ips.setter
|
349
|
+
def public_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]):
|
350
|
+
pulumi.set(self, "public_ips", value)
|
351
|
+
|
352
|
+
@property
|
353
|
+
@pulumi.getter(name="replaceOnTypeChange")
|
354
|
+
def replace_on_type_change(self) -> Optional[pulumi.Input[bool]]:
|
355
|
+
"""
|
356
|
+
If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
357
|
+
"""
|
358
|
+
return pulumi.get(self, "replace_on_type_change")
|
359
|
+
|
360
|
+
@replace_on_type_change.setter
|
361
|
+
def replace_on_type_change(self, value: Optional[pulumi.Input[bool]]):
|
362
|
+
pulumi.set(self, "replace_on_type_change", value)
|
363
|
+
|
364
|
+
@property
|
365
|
+
@pulumi.getter(name="rootVolume")
|
366
|
+
def root_volume(self) -> Optional[pulumi.Input['ServerRootVolumeArgs']]:
|
367
|
+
"""
|
368
|
+
Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
369
|
+
"""
|
370
|
+
return pulumi.get(self, "root_volume")
|
371
|
+
|
372
|
+
@root_volume.setter
|
373
|
+
def root_volume(self, value: Optional[pulumi.Input['ServerRootVolumeArgs']]):
|
374
|
+
pulumi.set(self, "root_volume", value)
|
375
|
+
|
376
|
+
@property
|
377
|
+
@pulumi.getter(name="securityGroupId")
|
378
|
+
def security_group_id(self) -> Optional[pulumi.Input[str]]:
|
379
|
+
"""
|
380
|
+
The security group the server is attached to
|
381
|
+
"""
|
382
|
+
return pulumi.get(self, "security_group_id")
|
383
|
+
|
384
|
+
@security_group_id.setter
|
385
|
+
def security_group_id(self, value: Optional[pulumi.Input[str]]):
|
386
|
+
pulumi.set(self, "security_group_id", value)
|
387
|
+
|
388
|
+
@property
|
389
|
+
@pulumi.getter
|
390
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
391
|
+
"""
|
392
|
+
The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
393
|
+
"""
|
394
|
+
return pulumi.get(self, "state")
|
395
|
+
|
396
|
+
@state.setter
|
397
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
398
|
+
pulumi.set(self, "state", value)
|
399
|
+
|
400
|
+
@property
|
401
|
+
@pulumi.getter
|
402
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
403
|
+
"""
|
404
|
+
The tags associated with the server.
|
405
|
+
"""
|
406
|
+
return pulumi.get(self, "tags")
|
407
|
+
|
408
|
+
@tags.setter
|
409
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
410
|
+
pulumi.set(self, "tags", value)
|
411
|
+
|
412
|
+
@property
|
413
|
+
@pulumi.getter(name="userData")
|
414
|
+
def user_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
415
|
+
"""
|
416
|
+
The user data associated with the server.
|
417
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
418
|
+
You can define values using:
|
419
|
+
- string
|
420
|
+
- UTF-8 encoded file content using file
|
421
|
+
- Binary files using filebase64.
|
422
|
+
"""
|
423
|
+
return pulumi.get(self, "user_data")
|
424
|
+
|
425
|
+
@user_data.setter
|
426
|
+
def user_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
427
|
+
pulumi.set(self, "user_data", value)
|
428
|
+
|
429
|
+
@property
|
430
|
+
@pulumi.getter
|
431
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
432
|
+
"""
|
433
|
+
`zone`) The zone in which the server should be created.
|
434
|
+
"""
|
435
|
+
return pulumi.get(self, "zone")
|
436
|
+
|
437
|
+
@zone.setter
|
438
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
439
|
+
pulumi.set(self, "zone", value)
|
440
|
+
|
441
|
+
|
442
|
+
@pulumi.input_type
|
443
|
+
class _ServerState:
|
444
|
+
def __init__(__self__, *,
|
445
|
+
additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
446
|
+
boot_type: Optional[pulumi.Input[str]] = None,
|
447
|
+
bootscript_id: Optional[pulumi.Input[str]] = None,
|
448
|
+
cloud_init: Optional[pulumi.Input[str]] = None,
|
449
|
+
enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
|
450
|
+
enable_ipv6: Optional[pulumi.Input[bool]] = None,
|
451
|
+
image: Optional[pulumi.Input[str]] = None,
|
452
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
453
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
454
|
+
ipv6_address: Optional[pulumi.Input[str]] = None,
|
455
|
+
ipv6_gateway: Optional[pulumi.Input[str]] = None,
|
456
|
+
ipv6_prefix_length: Optional[pulumi.Input[int]] = None,
|
457
|
+
name: Optional[pulumi.Input[str]] = None,
|
458
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
459
|
+
placement_group_id: Optional[pulumi.Input[str]] = None,
|
460
|
+
placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
|
461
|
+
private_ip: Optional[pulumi.Input[str]] = None,
|
462
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
|
463
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
464
|
+
public_ip: Optional[pulumi.Input[str]] = None,
|
465
|
+
public_ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]] = None,
|
466
|
+
replace_on_type_change: Optional[pulumi.Input[bool]] = None,
|
467
|
+
root_volume: Optional[pulumi.Input['ServerRootVolumeArgs']] = None,
|
468
|
+
security_group_id: Optional[pulumi.Input[str]] = None,
|
469
|
+
state: Optional[pulumi.Input[str]] = None,
|
470
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
471
|
+
type: Optional[pulumi.Input[str]] = None,
|
472
|
+
user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
473
|
+
zone: Optional[pulumi.Input[str]] = None):
|
474
|
+
"""
|
475
|
+
Input properties used for looking up and filtering Server resources.
|
476
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
477
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
478
|
+
|
479
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
480
|
+
|
481
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
482
|
+
:param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
483
|
+
:param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
|
484
|
+
:param pulumi.Input[str] cloud_init: The cloud init script associated with this server
|
485
|
+
:param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
|
486
|
+
:param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
487
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
488
|
+
:param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
489
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
490
|
+
|
491
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
492
|
+
|
493
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
494
|
+
:param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
|
495
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
496
|
+
|
497
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
498
|
+
:param pulumi.Input[str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
|
499
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
500
|
+
:param pulumi.Input[str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
|
501
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
502
|
+
:param pulumi.Input[int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
|
503
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
504
|
+
:param pulumi.Input[str] name: The name of the server.
|
505
|
+
:param pulumi.Input[str] organization_id: The organization ID the server is associated with.
|
506
|
+
:param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
507
|
+
|
508
|
+
|
509
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
510
|
+
:param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
|
511
|
+
:param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
|
512
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private network associated with the server.
|
513
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
514
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
515
|
+
:param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
|
516
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]] public_ips: The list of public IPs of the server.
|
517
|
+
:param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
518
|
+
:param pulumi.Input['ServerRootVolumeArgs'] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
519
|
+
:param pulumi.Input[str] security_group_id: The security group the server is attached to
|
520
|
+
:param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
521
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
522
|
+
:param pulumi.Input[str] type: The commercial type of the server.
|
523
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
524
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
525
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
526
|
+
|
527
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
528
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
|
529
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
530
|
+
You can define values using:
|
531
|
+
- string
|
532
|
+
- UTF-8 encoded file content using file
|
533
|
+
- Binary files using filebase64.
|
534
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
535
|
+
"""
|
536
|
+
if additional_volume_ids is not None:
|
537
|
+
pulumi.set(__self__, "additional_volume_ids", additional_volume_ids)
|
538
|
+
if boot_type is not None:
|
539
|
+
pulumi.set(__self__, "boot_type", boot_type)
|
540
|
+
if bootscript_id is not None:
|
541
|
+
warnings.warn("""bootscript is not supported anymore.""", DeprecationWarning)
|
542
|
+
pulumi.log.warn("""bootscript_id is deprecated: bootscript is not supported anymore.""")
|
543
|
+
if bootscript_id is not None:
|
544
|
+
pulumi.set(__self__, "bootscript_id", bootscript_id)
|
545
|
+
if cloud_init is not None:
|
546
|
+
pulumi.set(__self__, "cloud_init", cloud_init)
|
547
|
+
if enable_dynamic_ip is not None:
|
548
|
+
pulumi.set(__self__, "enable_dynamic_ip", enable_dynamic_ip)
|
549
|
+
if enable_ipv6 is not None:
|
550
|
+
warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
|
551
|
+
pulumi.log.warn("""enable_ipv6 is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
|
552
|
+
if enable_ipv6 is not None:
|
553
|
+
pulumi.set(__self__, "enable_ipv6", enable_ipv6)
|
554
|
+
if image is not None:
|
555
|
+
pulumi.set(__self__, "image", image)
|
556
|
+
if ip_id is not None:
|
557
|
+
pulumi.set(__self__, "ip_id", ip_id)
|
558
|
+
if ip_ids is not None:
|
559
|
+
pulumi.set(__self__, "ip_ids", ip_ids)
|
560
|
+
if ipv6_address is not None:
|
561
|
+
warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
|
562
|
+
pulumi.log.warn("""ipv6_address is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
|
563
|
+
if ipv6_address is not None:
|
564
|
+
pulumi.set(__self__, "ipv6_address", ipv6_address)
|
565
|
+
if ipv6_gateway is not None:
|
566
|
+
warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
|
567
|
+
pulumi.log.warn("""ipv6_gateway is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
|
568
|
+
if ipv6_gateway is not None:
|
569
|
+
pulumi.set(__self__, "ipv6_gateway", ipv6_gateway)
|
570
|
+
if ipv6_prefix_length is not None:
|
571
|
+
warnings.warn("""Please use a instance.Ip with a `routed_ipv6` type""", DeprecationWarning)
|
572
|
+
pulumi.log.warn("""ipv6_prefix_length is deprecated: Please use a instance.Ip with a `routed_ipv6` type""")
|
573
|
+
if ipv6_prefix_length is not None:
|
574
|
+
pulumi.set(__self__, "ipv6_prefix_length", ipv6_prefix_length)
|
575
|
+
if name is not None:
|
576
|
+
pulumi.set(__self__, "name", name)
|
577
|
+
if organization_id is not None:
|
578
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
579
|
+
if placement_group_id is not None:
|
580
|
+
pulumi.set(__self__, "placement_group_id", placement_group_id)
|
581
|
+
if placement_group_policy_respected is not None:
|
582
|
+
pulumi.set(__self__, "placement_group_policy_respected", placement_group_policy_respected)
|
583
|
+
if private_ip is not None:
|
584
|
+
warnings.warn("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""", DeprecationWarning)
|
585
|
+
pulumi.log.warn("""private_ip is deprecated: Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
|
586
|
+
if private_ip is not None:
|
587
|
+
pulumi.set(__self__, "private_ip", private_ip)
|
588
|
+
if private_networks is not None:
|
589
|
+
pulumi.set(__self__, "private_networks", private_networks)
|
590
|
+
if project_id is not None:
|
591
|
+
pulumi.set(__self__, "project_id", project_id)
|
592
|
+
if public_ip is not None:
|
593
|
+
warnings.warn("""Use public_ips instead""", DeprecationWarning)
|
594
|
+
pulumi.log.warn("""public_ip is deprecated: Use public_ips instead""")
|
595
|
+
if public_ip is not None:
|
596
|
+
pulumi.set(__self__, "public_ip", public_ip)
|
597
|
+
if public_ips is not None:
|
598
|
+
pulumi.set(__self__, "public_ips", public_ips)
|
599
|
+
if replace_on_type_change is not None:
|
600
|
+
pulumi.set(__self__, "replace_on_type_change", replace_on_type_change)
|
601
|
+
if root_volume is not None:
|
602
|
+
pulumi.set(__self__, "root_volume", root_volume)
|
603
|
+
if security_group_id is not None:
|
604
|
+
pulumi.set(__self__, "security_group_id", security_group_id)
|
605
|
+
if state is not None:
|
606
|
+
pulumi.set(__self__, "state", state)
|
607
|
+
if tags is not None:
|
608
|
+
pulumi.set(__self__, "tags", tags)
|
609
|
+
if type is not None:
|
610
|
+
pulumi.set(__self__, "type", type)
|
611
|
+
if user_data is not None:
|
612
|
+
pulumi.set(__self__, "user_data", user_data)
|
613
|
+
if zone is not None:
|
614
|
+
pulumi.set(__self__, "zone", zone)
|
615
|
+
|
616
|
+
@property
|
617
|
+
@pulumi.getter(name="additionalVolumeIds")
|
618
|
+
def additional_volume_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
619
|
+
"""
|
620
|
+
The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
621
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
622
|
+
|
623
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
624
|
+
|
625
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
626
|
+
"""
|
627
|
+
return pulumi.get(self, "additional_volume_ids")
|
628
|
+
|
629
|
+
@additional_volume_ids.setter
|
630
|
+
def additional_volume_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
631
|
+
pulumi.set(self, "additional_volume_ids", value)
|
632
|
+
|
633
|
+
@property
|
634
|
+
@pulumi.getter(name="bootType")
|
635
|
+
def boot_type(self) -> Optional[pulumi.Input[str]]:
|
636
|
+
"""
|
637
|
+
The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
638
|
+
"""
|
639
|
+
return pulumi.get(self, "boot_type")
|
640
|
+
|
641
|
+
@boot_type.setter
|
642
|
+
def boot_type(self, value: Optional[pulumi.Input[str]]):
|
643
|
+
pulumi.set(self, "boot_type", value)
|
644
|
+
|
645
|
+
@property
|
646
|
+
@pulumi.getter(name="bootscriptId")
|
647
|
+
@_utilities.deprecated("""bootscript is not supported anymore.""")
|
648
|
+
def bootscript_id(self) -> Optional[pulumi.Input[str]]:
|
649
|
+
"""
|
650
|
+
ID of the target bootscript (set boot_type to bootscript)
|
651
|
+
"""
|
652
|
+
return pulumi.get(self, "bootscript_id")
|
653
|
+
|
654
|
+
@bootscript_id.setter
|
655
|
+
def bootscript_id(self, value: Optional[pulumi.Input[str]]):
|
656
|
+
pulumi.set(self, "bootscript_id", value)
|
657
|
+
|
658
|
+
@property
|
659
|
+
@pulumi.getter(name="cloudInit")
|
660
|
+
def cloud_init(self) -> Optional[pulumi.Input[str]]:
|
661
|
+
"""
|
662
|
+
The cloud init script associated with this server
|
663
|
+
"""
|
664
|
+
return pulumi.get(self, "cloud_init")
|
665
|
+
|
666
|
+
@cloud_init.setter
|
667
|
+
def cloud_init(self, value: Optional[pulumi.Input[str]]):
|
668
|
+
pulumi.set(self, "cloud_init", value)
|
669
|
+
|
670
|
+
@property
|
671
|
+
@pulumi.getter(name="enableDynamicIp")
|
672
|
+
def enable_dynamic_ip(self) -> Optional[pulumi.Input[bool]]:
|
673
|
+
"""
|
674
|
+
If true a dynamic IP will be attached to the server.
|
675
|
+
"""
|
676
|
+
return pulumi.get(self, "enable_dynamic_ip")
|
677
|
+
|
678
|
+
@enable_dynamic_ip.setter
|
679
|
+
def enable_dynamic_ip(self, value: Optional[pulumi.Input[bool]]):
|
680
|
+
pulumi.set(self, "enable_dynamic_ip", value)
|
681
|
+
|
682
|
+
@property
|
683
|
+
@pulumi.getter(name="enableIpv6")
|
684
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
685
|
+
def enable_ipv6(self) -> Optional[pulumi.Input[bool]]:
|
686
|
+
"""
|
687
|
+
Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
688
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
689
|
+
"""
|
690
|
+
return pulumi.get(self, "enable_ipv6")
|
691
|
+
|
692
|
+
@enable_ipv6.setter
|
693
|
+
def enable_ipv6(self, value: Optional[pulumi.Input[bool]]):
|
694
|
+
pulumi.set(self, "enable_ipv6", value)
|
695
|
+
|
696
|
+
@property
|
697
|
+
@pulumi.getter
|
698
|
+
def image(self) -> Optional[pulumi.Input[str]]:
|
699
|
+
"""
|
700
|
+
The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
701
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
702
|
+
|
703
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
704
|
+
|
705
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
706
|
+
"""
|
707
|
+
return pulumi.get(self, "image")
|
708
|
+
|
709
|
+
@image.setter
|
710
|
+
def image(self, value: Optional[pulumi.Input[str]]):
|
711
|
+
pulumi.set(self, "image", value)
|
712
|
+
|
713
|
+
@property
|
714
|
+
@pulumi.getter(name="ipId")
|
715
|
+
def ip_id(self) -> Optional[pulumi.Input[str]]:
|
716
|
+
"""
|
717
|
+
The ID of the reserved IP that is attached to the server.
|
718
|
+
"""
|
719
|
+
return pulumi.get(self, "ip_id")
|
720
|
+
|
721
|
+
@ip_id.setter
|
722
|
+
def ip_id(self, value: Optional[pulumi.Input[str]]):
|
723
|
+
pulumi.set(self, "ip_id", value)
|
724
|
+
|
725
|
+
@property
|
726
|
+
@pulumi.getter(name="ipIds")
|
727
|
+
def ip_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
728
|
+
"""
|
729
|
+
List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
730
|
+
|
731
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
732
|
+
"""
|
733
|
+
return pulumi.get(self, "ip_ids")
|
734
|
+
|
735
|
+
@ip_ids.setter
|
736
|
+
def ip_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
737
|
+
pulumi.set(self, "ip_ids", value)
|
738
|
+
|
739
|
+
@property
|
740
|
+
@pulumi.getter(name="ipv6Address")
|
741
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
742
|
+
def ipv6_address(self) -> Optional[pulumi.Input[str]]:
|
743
|
+
"""
|
744
|
+
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
|
745
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
746
|
+
"""
|
747
|
+
return pulumi.get(self, "ipv6_address")
|
748
|
+
|
749
|
+
@ipv6_address.setter
|
750
|
+
def ipv6_address(self, value: Optional[pulumi.Input[str]]):
|
751
|
+
pulumi.set(self, "ipv6_address", value)
|
752
|
+
|
753
|
+
@property
|
754
|
+
@pulumi.getter(name="ipv6Gateway")
|
755
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
756
|
+
def ipv6_gateway(self) -> Optional[pulumi.Input[str]]:
|
757
|
+
"""
|
758
|
+
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
|
759
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
760
|
+
"""
|
761
|
+
return pulumi.get(self, "ipv6_gateway")
|
762
|
+
|
763
|
+
@ipv6_gateway.setter
|
764
|
+
def ipv6_gateway(self, value: Optional[pulumi.Input[str]]):
|
765
|
+
pulumi.set(self, "ipv6_gateway", value)
|
766
|
+
|
767
|
+
@property
|
768
|
+
@pulumi.getter(name="ipv6PrefixLength")
|
769
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
770
|
+
def ipv6_prefix_length(self) -> Optional[pulumi.Input[int]]:
|
771
|
+
"""
|
772
|
+
The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
|
773
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
774
|
+
"""
|
775
|
+
return pulumi.get(self, "ipv6_prefix_length")
|
776
|
+
|
777
|
+
@ipv6_prefix_length.setter
|
778
|
+
def ipv6_prefix_length(self, value: Optional[pulumi.Input[int]]):
|
779
|
+
pulumi.set(self, "ipv6_prefix_length", value)
|
780
|
+
|
781
|
+
@property
|
782
|
+
@pulumi.getter
|
783
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
784
|
+
"""
|
785
|
+
The name of the server.
|
786
|
+
"""
|
787
|
+
return pulumi.get(self, "name")
|
788
|
+
|
789
|
+
@name.setter
|
790
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
791
|
+
pulumi.set(self, "name", value)
|
792
|
+
|
793
|
+
@property
|
794
|
+
@pulumi.getter(name="organizationId")
|
795
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
796
|
+
"""
|
797
|
+
The organization ID the server is associated with.
|
798
|
+
"""
|
799
|
+
return pulumi.get(self, "organization_id")
|
800
|
+
|
801
|
+
@organization_id.setter
|
802
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
803
|
+
pulumi.set(self, "organization_id", value)
|
804
|
+
|
805
|
+
@property
|
806
|
+
@pulumi.getter(name="placementGroupId")
|
807
|
+
def placement_group_id(self) -> Optional[pulumi.Input[str]]:
|
808
|
+
"""
|
809
|
+
The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
810
|
+
|
811
|
+
|
812
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
813
|
+
"""
|
814
|
+
return pulumi.get(self, "placement_group_id")
|
815
|
+
|
816
|
+
@placement_group_id.setter
|
817
|
+
def placement_group_id(self, value: Optional[pulumi.Input[str]]):
|
818
|
+
pulumi.set(self, "placement_group_id", value)
|
819
|
+
|
820
|
+
@property
|
821
|
+
@pulumi.getter(name="placementGroupPolicyRespected")
|
822
|
+
def placement_group_policy_respected(self) -> Optional[pulumi.Input[bool]]:
|
823
|
+
"""
|
824
|
+
(Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
|
825
|
+
"""
|
826
|
+
return pulumi.get(self, "placement_group_policy_respected")
|
827
|
+
|
828
|
+
@placement_group_policy_respected.setter
|
829
|
+
def placement_group_policy_respected(self, value: Optional[pulumi.Input[bool]]):
|
830
|
+
pulumi.set(self, "placement_group_policy_respected", value)
|
831
|
+
|
832
|
+
@property
|
833
|
+
@pulumi.getter(name="privateIp")
|
834
|
+
@_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
|
835
|
+
def private_ip(self) -> Optional[pulumi.Input[str]]:
|
836
|
+
"""
|
837
|
+
The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
|
838
|
+
"""
|
839
|
+
return pulumi.get(self, "private_ip")
|
840
|
+
|
841
|
+
@private_ip.setter
|
842
|
+
def private_ip(self, value: Optional[pulumi.Input[str]]):
|
843
|
+
pulumi.set(self, "private_ip", value)
|
844
|
+
|
845
|
+
@property
|
846
|
+
@pulumi.getter(name="privateNetworks")
|
847
|
+
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
|
848
|
+
"""
|
849
|
+
The private network associated with the server.
|
850
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
851
|
+
"""
|
852
|
+
return pulumi.get(self, "private_networks")
|
853
|
+
|
854
|
+
@private_networks.setter
|
855
|
+
def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]):
|
856
|
+
pulumi.set(self, "private_networks", value)
|
857
|
+
|
858
|
+
@property
|
859
|
+
@pulumi.getter(name="projectId")
|
860
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
861
|
+
"""
|
862
|
+
`project_id`) The ID of the project the server is associated with.
|
863
|
+
"""
|
864
|
+
return pulumi.get(self, "project_id")
|
865
|
+
|
866
|
+
@project_id.setter
|
867
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
868
|
+
pulumi.set(self, "project_id", value)
|
869
|
+
|
870
|
+
@property
|
871
|
+
@pulumi.getter(name="publicIp")
|
872
|
+
@_utilities.deprecated("""Use public_ips instead""")
|
873
|
+
def public_ip(self) -> Optional[pulumi.Input[str]]:
|
874
|
+
"""
|
875
|
+
The public IP address of the server (Deprecated use `public_ips` instead).
|
876
|
+
"""
|
877
|
+
return pulumi.get(self, "public_ip")
|
878
|
+
|
879
|
+
@public_ip.setter
|
880
|
+
def public_ip(self, value: Optional[pulumi.Input[str]]):
|
881
|
+
pulumi.set(self, "public_ip", value)
|
882
|
+
|
883
|
+
@property
|
884
|
+
@pulumi.getter(name="publicIps")
|
885
|
+
def public_ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]:
|
886
|
+
"""
|
887
|
+
The list of public IPs of the server.
|
888
|
+
"""
|
889
|
+
return pulumi.get(self, "public_ips")
|
890
|
+
|
891
|
+
@public_ips.setter
|
892
|
+
def public_ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPublicIpArgs']]]]):
|
893
|
+
pulumi.set(self, "public_ips", value)
|
894
|
+
|
895
|
+
@property
|
896
|
+
@pulumi.getter(name="replaceOnTypeChange")
|
897
|
+
def replace_on_type_change(self) -> Optional[pulumi.Input[bool]]:
|
898
|
+
"""
|
899
|
+
If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
900
|
+
"""
|
901
|
+
return pulumi.get(self, "replace_on_type_change")
|
902
|
+
|
903
|
+
@replace_on_type_change.setter
|
904
|
+
def replace_on_type_change(self, value: Optional[pulumi.Input[bool]]):
|
905
|
+
pulumi.set(self, "replace_on_type_change", value)
|
906
|
+
|
907
|
+
@property
|
908
|
+
@pulumi.getter(name="rootVolume")
|
909
|
+
def root_volume(self) -> Optional[pulumi.Input['ServerRootVolumeArgs']]:
|
910
|
+
"""
|
911
|
+
Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
912
|
+
"""
|
913
|
+
return pulumi.get(self, "root_volume")
|
914
|
+
|
915
|
+
@root_volume.setter
|
916
|
+
def root_volume(self, value: Optional[pulumi.Input['ServerRootVolumeArgs']]):
|
917
|
+
pulumi.set(self, "root_volume", value)
|
918
|
+
|
919
|
+
@property
|
920
|
+
@pulumi.getter(name="securityGroupId")
|
921
|
+
def security_group_id(self) -> Optional[pulumi.Input[str]]:
|
922
|
+
"""
|
923
|
+
The security group the server is attached to
|
924
|
+
"""
|
925
|
+
return pulumi.get(self, "security_group_id")
|
926
|
+
|
927
|
+
@security_group_id.setter
|
928
|
+
def security_group_id(self, value: Optional[pulumi.Input[str]]):
|
929
|
+
pulumi.set(self, "security_group_id", value)
|
930
|
+
|
931
|
+
@property
|
932
|
+
@pulumi.getter
|
933
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
934
|
+
"""
|
935
|
+
The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
936
|
+
"""
|
937
|
+
return pulumi.get(self, "state")
|
938
|
+
|
939
|
+
@state.setter
|
940
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
941
|
+
pulumi.set(self, "state", value)
|
942
|
+
|
943
|
+
@property
|
944
|
+
@pulumi.getter
|
945
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
946
|
+
"""
|
947
|
+
The tags associated with the server.
|
948
|
+
"""
|
949
|
+
return pulumi.get(self, "tags")
|
950
|
+
|
951
|
+
@tags.setter
|
952
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
953
|
+
pulumi.set(self, "tags", value)
|
954
|
+
|
955
|
+
@property
|
956
|
+
@pulumi.getter
|
957
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
958
|
+
"""
|
959
|
+
The commercial type of the server.
|
960
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
961
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
962
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
963
|
+
|
964
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
965
|
+
"""
|
966
|
+
return pulumi.get(self, "type")
|
967
|
+
|
968
|
+
@type.setter
|
969
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
970
|
+
pulumi.set(self, "type", value)
|
971
|
+
|
972
|
+
@property
|
973
|
+
@pulumi.getter(name="userData")
|
974
|
+
def user_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
975
|
+
"""
|
976
|
+
The user data associated with the server.
|
977
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
978
|
+
You can define values using:
|
979
|
+
- string
|
980
|
+
- UTF-8 encoded file content using file
|
981
|
+
- Binary files using filebase64.
|
982
|
+
"""
|
983
|
+
return pulumi.get(self, "user_data")
|
984
|
+
|
985
|
+
@user_data.setter
|
986
|
+
def user_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
987
|
+
pulumi.set(self, "user_data", value)
|
988
|
+
|
989
|
+
@property
|
990
|
+
@pulumi.getter
|
991
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
992
|
+
"""
|
993
|
+
`zone`) The zone in which the server should be created.
|
994
|
+
"""
|
995
|
+
return pulumi.get(self, "zone")
|
996
|
+
|
997
|
+
@zone.setter
|
998
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
999
|
+
pulumi.set(self, "zone", value)
|
1000
|
+
|
1001
|
+
|
1002
|
+
class Server(pulumi.CustomResource):
|
1003
|
+
@overload
|
1004
|
+
def __init__(__self__,
|
1005
|
+
resource_name: str,
|
1006
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1007
|
+
additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1008
|
+
boot_type: Optional[pulumi.Input[str]] = None,
|
1009
|
+
bootscript_id: Optional[pulumi.Input[str]] = None,
|
1010
|
+
cloud_init: Optional[pulumi.Input[str]] = None,
|
1011
|
+
enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
|
1012
|
+
enable_ipv6: Optional[pulumi.Input[bool]] = None,
|
1013
|
+
image: Optional[pulumi.Input[str]] = None,
|
1014
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
1015
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1016
|
+
name: Optional[pulumi.Input[str]] = None,
|
1017
|
+
placement_group_id: Optional[pulumi.Input[str]] = None,
|
1018
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
|
1019
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1020
|
+
public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
|
1021
|
+
replace_on_type_change: Optional[pulumi.Input[bool]] = None,
|
1022
|
+
root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
|
1023
|
+
security_group_id: Optional[pulumi.Input[str]] = None,
|
1024
|
+
state: Optional[pulumi.Input[str]] = None,
|
1025
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1026
|
+
type: Optional[pulumi.Input[str]] = None,
|
1027
|
+
user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1028
|
+
zone: Optional[pulumi.Input[str]] = None,
|
1029
|
+
__props__=None):
|
1030
|
+
"""
|
1031
|
+
Creates and manages Scaleway compute Instances. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances).
|
1032
|
+
|
1033
|
+
Please check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances).
|
1034
|
+
|
1035
|
+
## Example Usage
|
1036
|
+
|
1037
|
+
### Basic
|
1038
|
+
|
1039
|
+
```python
|
1040
|
+
import pulumi
|
1041
|
+
import pulumiverse_scaleway as scaleway
|
1042
|
+
|
1043
|
+
public_ip = scaleway.instance.Ip("public_ip")
|
1044
|
+
web = scaleway.instance.Server("web",
|
1045
|
+
type="DEV1-S",
|
1046
|
+
image="ubuntu_jammy",
|
1047
|
+
ip_id=public_ip.id)
|
1048
|
+
```
|
1049
|
+
|
1050
|
+
### With additional volumes and tags
|
1051
|
+
|
1052
|
+
```python
|
1053
|
+
import pulumi
|
1054
|
+
import pulumiverse_scaleway as scaleway
|
1055
|
+
|
1056
|
+
data = scaleway.block.Volume("data",
|
1057
|
+
size_in_gb=100,
|
1058
|
+
iops=5000)
|
1059
|
+
web = scaleway.instance.Server("web",
|
1060
|
+
type="DEV1-S",
|
1061
|
+
image="ubuntu_jammy",
|
1062
|
+
tags=[
|
1063
|
+
"hello",
|
1064
|
+
"public",
|
1065
|
+
],
|
1066
|
+
root_volume={
|
1067
|
+
"delete_on_termination": False,
|
1068
|
+
},
|
1069
|
+
additional_volume_ids=[data.id])
|
1070
|
+
```
|
1071
|
+
|
1072
|
+
### With a reserved IP
|
1073
|
+
|
1074
|
+
```python
|
1075
|
+
import pulumi
|
1076
|
+
import pulumiverse_scaleway as scaleway
|
1077
|
+
|
1078
|
+
ip = scaleway.instance.Ip("ip")
|
1079
|
+
web = scaleway.instance.Server("web",
|
1080
|
+
type="DEV1-S",
|
1081
|
+
image="f974feac-abae-4365-b988-8ec7d1cec10d",
|
1082
|
+
tags=[
|
1083
|
+
"hello",
|
1084
|
+
"public",
|
1085
|
+
],
|
1086
|
+
ip_id=ip.id)
|
1087
|
+
```
|
1088
|
+
|
1089
|
+
### With security group
|
1090
|
+
|
1091
|
+
```python
|
1092
|
+
import pulumi
|
1093
|
+
import pulumiverse_scaleway as scaleway
|
1094
|
+
|
1095
|
+
www = scaleway.instance.SecurityGroup("www",
|
1096
|
+
inbound_default_policy="drop",
|
1097
|
+
outbound_default_policy="accept",
|
1098
|
+
inbound_rules=[
|
1099
|
+
{
|
1100
|
+
"action": "accept",
|
1101
|
+
"port": 22,
|
1102
|
+
"ip": "212.47.225.64",
|
1103
|
+
},
|
1104
|
+
{
|
1105
|
+
"action": "accept",
|
1106
|
+
"port": 80,
|
1107
|
+
},
|
1108
|
+
{
|
1109
|
+
"action": "accept",
|
1110
|
+
"port": 443,
|
1111
|
+
},
|
1112
|
+
],
|
1113
|
+
outbound_rules=[{
|
1114
|
+
"action": "drop",
|
1115
|
+
"ip_range": "10.20.0.0/24",
|
1116
|
+
}])
|
1117
|
+
web = scaleway.instance.Server("web",
|
1118
|
+
type="DEV1-S",
|
1119
|
+
image="ubuntu_jammy",
|
1120
|
+
security_group_id=www.id)
|
1121
|
+
```
|
1122
|
+
|
1123
|
+
### With private network
|
1124
|
+
|
1125
|
+
```python
|
1126
|
+
import pulumi
|
1127
|
+
import pulumiverse_scaleway as scaleway
|
1128
|
+
|
1129
|
+
pn01 = scaleway.network.PrivateNetwork("pn01", name="private_network_instance")
|
1130
|
+
base = scaleway.instance.Server("base",
|
1131
|
+
image="ubuntu_jammy",
|
1132
|
+
type="DEV1-S",
|
1133
|
+
private_networks=[{
|
1134
|
+
"pn_id": pn01.id,
|
1135
|
+
}])
|
1136
|
+
```
|
1137
|
+
|
1138
|
+
### Root volume configuration
|
1139
|
+
|
1140
|
+
### Resized block volume with installed image
|
1141
|
+
|
1142
|
+
```python
|
1143
|
+
import pulumi
|
1144
|
+
import pulumiverse_scaleway as scaleway
|
1145
|
+
|
1146
|
+
image = scaleway.instance.Server("image",
|
1147
|
+
type="PRO2-XXS",
|
1148
|
+
image="ubuntu_jammy",
|
1149
|
+
root_volume={
|
1150
|
+
"size_in_gb": 100,
|
1151
|
+
})
|
1152
|
+
```
|
1153
|
+
|
1154
|
+
### From snapshot
|
1155
|
+
|
1156
|
+
```python
|
1157
|
+
import pulumi
|
1158
|
+
import pulumi_scaleway as scaleway
|
1159
|
+
import pulumiverse_scaleway as scaleway
|
1160
|
+
|
1161
|
+
snapshot = scaleway.block.get_snapshot(name="my_snapshot")
|
1162
|
+
from_snapshot = scaleway.block.Volume("from_snapshot",
|
1163
|
+
snapshot_id=snapshot.id,
|
1164
|
+
iops=5000)
|
1165
|
+
from_snapshot_server = scaleway.instance.Server("from_snapshot",
|
1166
|
+
type="PRO2-XXS",
|
1167
|
+
root_volume={
|
1168
|
+
"volume_id": from_snapshot.id,
|
1169
|
+
"volume_type": "sbs_volume",
|
1170
|
+
})
|
1171
|
+
```
|
1172
|
+
|
1173
|
+
### Using Scaleway Block Storage (SBS) volume
|
1174
|
+
|
1175
|
+
```python
|
1176
|
+
import pulumi
|
1177
|
+
import pulumiverse_scaleway as scaleway
|
1178
|
+
|
1179
|
+
server = scaleway.instance.Server("server",
|
1180
|
+
type="PLAY2-MICRO",
|
1181
|
+
image="ubuntu_jammy",
|
1182
|
+
root_volume={
|
1183
|
+
"volume_type": "sbs_volume",
|
1184
|
+
"sbs_iops": 15000,
|
1185
|
+
"size_in_gb": 50,
|
1186
|
+
})
|
1187
|
+
```
|
1188
|
+
|
1189
|
+
## Private Network
|
1190
|
+
|
1191
|
+
> **Important:** Updates to `private_network` will recreate a new private network interface.
|
1192
|
+
|
1193
|
+
- `pn_id` - (Required) The private network ID where to connect.
|
1194
|
+
- `mac_address` The private NIC MAC address.
|
1195
|
+
- `status` The private NIC state.
|
1196
|
+
- `zone` - (Defaults to provider `zone`) The zone in which the server must be created.
|
1197
|
+
|
1198
|
+
> **Important:** You can only attach an instance in the same zone as a private network.
|
1199
|
+
**Important:** Instance supports a maximum of 8 different private networks.
|
1200
|
+
|
1201
|
+
## Import
|
1202
|
+
|
1203
|
+
Instance servers can be imported using the `{zone}/{id}`, e.g.
|
1204
|
+
|
1205
|
+
bash
|
1206
|
+
|
1207
|
+
```sh
|
1208
|
+
$ pulumi import scaleway:instance/server:Server web fr-par-1/11111111-1111-1111-1111-111111111111
|
1209
|
+
```
|
1210
|
+
|
1211
|
+
:param str resource_name: The name of the resource.
|
1212
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1213
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
1214
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
1215
|
+
|
1216
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
1217
|
+
|
1218
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
1219
|
+
:param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
1220
|
+
:param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
|
1221
|
+
:param pulumi.Input[str] cloud_init: The cloud init script associated with this server
|
1222
|
+
:param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
|
1223
|
+
:param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
1224
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1225
|
+
:param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
1226
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
1227
|
+
|
1228
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
1229
|
+
|
1230
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
1231
|
+
:param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
|
1232
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
1233
|
+
|
1234
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
1235
|
+
:param pulumi.Input[str] name: The name of the server.
|
1236
|
+
:param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
1237
|
+
|
1238
|
+
|
1239
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
1240
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
|
1241
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
1242
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
1243
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
|
1244
|
+
:param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
1245
|
+
:param pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
1246
|
+
:param pulumi.Input[str] security_group_id: The security group the server is attached to
|
1247
|
+
:param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
1248
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
1249
|
+
:param pulumi.Input[str] type: The commercial type of the server.
|
1250
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
1251
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
1252
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
1253
|
+
|
1254
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
1255
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
|
1256
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
1257
|
+
You can define values using:
|
1258
|
+
- string
|
1259
|
+
- UTF-8 encoded file content using file
|
1260
|
+
- Binary files using filebase64.
|
1261
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
1262
|
+
"""
|
1263
|
+
...
|
1264
|
+
@overload
|
1265
|
+
def __init__(__self__,
|
1266
|
+
resource_name: str,
|
1267
|
+
args: ServerArgs,
|
1268
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
1269
|
+
"""
|
1270
|
+
Creates and manages Scaleway compute Instances. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/instance/#path-instances-list-all-instances).
|
1271
|
+
|
1272
|
+
Please check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances).
|
1273
|
+
|
1274
|
+
## Example Usage
|
1275
|
+
|
1276
|
+
### Basic
|
1277
|
+
|
1278
|
+
```python
|
1279
|
+
import pulumi
|
1280
|
+
import pulumiverse_scaleway as scaleway
|
1281
|
+
|
1282
|
+
public_ip = scaleway.instance.Ip("public_ip")
|
1283
|
+
web = scaleway.instance.Server("web",
|
1284
|
+
type="DEV1-S",
|
1285
|
+
image="ubuntu_jammy",
|
1286
|
+
ip_id=public_ip.id)
|
1287
|
+
```
|
1288
|
+
|
1289
|
+
### With additional volumes and tags
|
1290
|
+
|
1291
|
+
```python
|
1292
|
+
import pulumi
|
1293
|
+
import pulumiverse_scaleway as scaleway
|
1294
|
+
|
1295
|
+
data = scaleway.block.Volume("data",
|
1296
|
+
size_in_gb=100,
|
1297
|
+
iops=5000)
|
1298
|
+
web = scaleway.instance.Server("web",
|
1299
|
+
type="DEV1-S",
|
1300
|
+
image="ubuntu_jammy",
|
1301
|
+
tags=[
|
1302
|
+
"hello",
|
1303
|
+
"public",
|
1304
|
+
],
|
1305
|
+
root_volume={
|
1306
|
+
"delete_on_termination": False,
|
1307
|
+
},
|
1308
|
+
additional_volume_ids=[data.id])
|
1309
|
+
```
|
1310
|
+
|
1311
|
+
### With a reserved IP
|
1312
|
+
|
1313
|
+
```python
|
1314
|
+
import pulumi
|
1315
|
+
import pulumiverse_scaleway as scaleway
|
1316
|
+
|
1317
|
+
ip = scaleway.instance.Ip("ip")
|
1318
|
+
web = scaleway.instance.Server("web",
|
1319
|
+
type="DEV1-S",
|
1320
|
+
image="f974feac-abae-4365-b988-8ec7d1cec10d",
|
1321
|
+
tags=[
|
1322
|
+
"hello",
|
1323
|
+
"public",
|
1324
|
+
],
|
1325
|
+
ip_id=ip.id)
|
1326
|
+
```
|
1327
|
+
|
1328
|
+
### With security group
|
1329
|
+
|
1330
|
+
```python
|
1331
|
+
import pulumi
|
1332
|
+
import pulumiverse_scaleway as scaleway
|
1333
|
+
|
1334
|
+
www = scaleway.instance.SecurityGroup("www",
|
1335
|
+
inbound_default_policy="drop",
|
1336
|
+
outbound_default_policy="accept",
|
1337
|
+
inbound_rules=[
|
1338
|
+
{
|
1339
|
+
"action": "accept",
|
1340
|
+
"port": 22,
|
1341
|
+
"ip": "212.47.225.64",
|
1342
|
+
},
|
1343
|
+
{
|
1344
|
+
"action": "accept",
|
1345
|
+
"port": 80,
|
1346
|
+
},
|
1347
|
+
{
|
1348
|
+
"action": "accept",
|
1349
|
+
"port": 443,
|
1350
|
+
},
|
1351
|
+
],
|
1352
|
+
outbound_rules=[{
|
1353
|
+
"action": "drop",
|
1354
|
+
"ip_range": "10.20.0.0/24",
|
1355
|
+
}])
|
1356
|
+
web = scaleway.instance.Server("web",
|
1357
|
+
type="DEV1-S",
|
1358
|
+
image="ubuntu_jammy",
|
1359
|
+
security_group_id=www.id)
|
1360
|
+
```
|
1361
|
+
|
1362
|
+
### With private network
|
1363
|
+
|
1364
|
+
```python
|
1365
|
+
import pulumi
|
1366
|
+
import pulumiverse_scaleway as scaleway
|
1367
|
+
|
1368
|
+
pn01 = scaleway.network.PrivateNetwork("pn01", name="private_network_instance")
|
1369
|
+
base = scaleway.instance.Server("base",
|
1370
|
+
image="ubuntu_jammy",
|
1371
|
+
type="DEV1-S",
|
1372
|
+
private_networks=[{
|
1373
|
+
"pn_id": pn01.id,
|
1374
|
+
}])
|
1375
|
+
```
|
1376
|
+
|
1377
|
+
### Root volume configuration
|
1378
|
+
|
1379
|
+
### Resized block volume with installed image
|
1380
|
+
|
1381
|
+
```python
|
1382
|
+
import pulumi
|
1383
|
+
import pulumiverse_scaleway as scaleway
|
1384
|
+
|
1385
|
+
image = scaleway.instance.Server("image",
|
1386
|
+
type="PRO2-XXS",
|
1387
|
+
image="ubuntu_jammy",
|
1388
|
+
root_volume={
|
1389
|
+
"size_in_gb": 100,
|
1390
|
+
})
|
1391
|
+
```
|
1392
|
+
|
1393
|
+
### From snapshot
|
1394
|
+
|
1395
|
+
```python
|
1396
|
+
import pulumi
|
1397
|
+
import pulumi_scaleway as scaleway
|
1398
|
+
import pulumiverse_scaleway as scaleway
|
1399
|
+
|
1400
|
+
snapshot = scaleway.block.get_snapshot(name="my_snapshot")
|
1401
|
+
from_snapshot = scaleway.block.Volume("from_snapshot",
|
1402
|
+
snapshot_id=snapshot.id,
|
1403
|
+
iops=5000)
|
1404
|
+
from_snapshot_server = scaleway.instance.Server("from_snapshot",
|
1405
|
+
type="PRO2-XXS",
|
1406
|
+
root_volume={
|
1407
|
+
"volume_id": from_snapshot.id,
|
1408
|
+
"volume_type": "sbs_volume",
|
1409
|
+
})
|
1410
|
+
```
|
1411
|
+
|
1412
|
+
### Using Scaleway Block Storage (SBS) volume
|
1413
|
+
|
1414
|
+
```python
|
1415
|
+
import pulumi
|
1416
|
+
import pulumiverse_scaleway as scaleway
|
1417
|
+
|
1418
|
+
server = scaleway.instance.Server("server",
|
1419
|
+
type="PLAY2-MICRO",
|
1420
|
+
image="ubuntu_jammy",
|
1421
|
+
root_volume={
|
1422
|
+
"volume_type": "sbs_volume",
|
1423
|
+
"sbs_iops": 15000,
|
1424
|
+
"size_in_gb": 50,
|
1425
|
+
})
|
1426
|
+
```
|
1427
|
+
|
1428
|
+
## Private Network
|
1429
|
+
|
1430
|
+
> **Important:** Updates to `private_network` will recreate a new private network interface.
|
1431
|
+
|
1432
|
+
- `pn_id` - (Required) The private network ID where to connect.
|
1433
|
+
- `mac_address` The private NIC MAC address.
|
1434
|
+
- `status` The private NIC state.
|
1435
|
+
- `zone` - (Defaults to provider `zone`) The zone in which the server must be created.
|
1436
|
+
|
1437
|
+
> **Important:** You can only attach an instance in the same zone as a private network.
|
1438
|
+
**Important:** Instance supports a maximum of 8 different private networks.
|
1439
|
+
|
1440
|
+
## Import
|
1441
|
+
|
1442
|
+
Instance servers can be imported using the `{zone}/{id}`, e.g.
|
1443
|
+
|
1444
|
+
bash
|
1445
|
+
|
1446
|
+
```sh
|
1447
|
+
$ pulumi import scaleway:instance/server:Server web fr-par-1/11111111-1111-1111-1111-111111111111
|
1448
|
+
```
|
1449
|
+
|
1450
|
+
:param str resource_name: The name of the resource.
|
1451
|
+
:param ServerArgs args: The arguments to use to populate this resource's properties.
|
1452
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1453
|
+
"""
|
1454
|
+
...
|
1455
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1456
|
+
resource_args, opts = _utilities.get_resource_args_opts(ServerArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1457
|
+
if resource_args is not None:
|
1458
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1459
|
+
else:
|
1460
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1461
|
+
|
1462
|
+
def _internal_init(__self__,
|
1463
|
+
resource_name: str,
|
1464
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1465
|
+
additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1466
|
+
boot_type: Optional[pulumi.Input[str]] = None,
|
1467
|
+
bootscript_id: Optional[pulumi.Input[str]] = None,
|
1468
|
+
cloud_init: Optional[pulumi.Input[str]] = None,
|
1469
|
+
enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
|
1470
|
+
enable_ipv6: Optional[pulumi.Input[bool]] = None,
|
1471
|
+
image: Optional[pulumi.Input[str]] = None,
|
1472
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
1473
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1474
|
+
name: Optional[pulumi.Input[str]] = None,
|
1475
|
+
placement_group_id: Optional[pulumi.Input[str]] = None,
|
1476
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
|
1477
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1478
|
+
public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
|
1479
|
+
replace_on_type_change: Optional[pulumi.Input[bool]] = None,
|
1480
|
+
root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
|
1481
|
+
security_group_id: Optional[pulumi.Input[str]] = None,
|
1482
|
+
state: Optional[pulumi.Input[str]] = None,
|
1483
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1484
|
+
type: Optional[pulumi.Input[str]] = None,
|
1485
|
+
user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1486
|
+
zone: Optional[pulumi.Input[str]] = None,
|
1487
|
+
__props__=None):
|
1488
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1489
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1490
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1491
|
+
if opts.id is None:
|
1492
|
+
if __props__ is not None:
|
1493
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1494
|
+
__props__ = ServerArgs.__new__(ServerArgs)
|
1495
|
+
|
1496
|
+
__props__.__dict__["additional_volume_ids"] = additional_volume_ids
|
1497
|
+
__props__.__dict__["boot_type"] = boot_type
|
1498
|
+
__props__.__dict__["bootscript_id"] = bootscript_id
|
1499
|
+
__props__.__dict__["cloud_init"] = cloud_init
|
1500
|
+
__props__.__dict__["enable_dynamic_ip"] = enable_dynamic_ip
|
1501
|
+
__props__.__dict__["enable_ipv6"] = enable_ipv6
|
1502
|
+
__props__.__dict__["image"] = image
|
1503
|
+
__props__.__dict__["ip_id"] = ip_id
|
1504
|
+
__props__.__dict__["ip_ids"] = ip_ids
|
1505
|
+
__props__.__dict__["name"] = name
|
1506
|
+
__props__.__dict__["placement_group_id"] = placement_group_id
|
1507
|
+
__props__.__dict__["private_networks"] = private_networks
|
1508
|
+
__props__.__dict__["project_id"] = project_id
|
1509
|
+
__props__.__dict__["public_ips"] = public_ips
|
1510
|
+
__props__.__dict__["replace_on_type_change"] = replace_on_type_change
|
1511
|
+
__props__.__dict__["root_volume"] = root_volume
|
1512
|
+
__props__.__dict__["security_group_id"] = security_group_id
|
1513
|
+
__props__.__dict__["state"] = state
|
1514
|
+
__props__.__dict__["tags"] = tags
|
1515
|
+
if type is None and not opts.urn:
|
1516
|
+
raise TypeError("Missing required property 'type'")
|
1517
|
+
__props__.__dict__["type"] = type
|
1518
|
+
__props__.__dict__["user_data"] = user_data
|
1519
|
+
__props__.__dict__["zone"] = zone
|
1520
|
+
__props__.__dict__["ipv6_address"] = None
|
1521
|
+
__props__.__dict__["ipv6_gateway"] = None
|
1522
|
+
__props__.__dict__["ipv6_prefix_length"] = None
|
1523
|
+
__props__.__dict__["organization_id"] = None
|
1524
|
+
__props__.__dict__["placement_group_policy_respected"] = None
|
1525
|
+
__props__.__dict__["private_ip"] = None
|
1526
|
+
__props__.__dict__["public_ip"] = None
|
1527
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/instanceServer:InstanceServer")])
|
1528
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
1529
|
+
super(Server, __self__).__init__(
|
1530
|
+
'scaleway:instance/server:Server',
|
1531
|
+
resource_name,
|
1532
|
+
__props__,
|
1533
|
+
opts)
|
1534
|
+
|
1535
|
+
@staticmethod
|
1536
|
+
def get(resource_name: str,
|
1537
|
+
id: pulumi.Input[str],
|
1538
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1539
|
+
additional_volume_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1540
|
+
boot_type: Optional[pulumi.Input[str]] = None,
|
1541
|
+
bootscript_id: Optional[pulumi.Input[str]] = None,
|
1542
|
+
cloud_init: Optional[pulumi.Input[str]] = None,
|
1543
|
+
enable_dynamic_ip: Optional[pulumi.Input[bool]] = None,
|
1544
|
+
enable_ipv6: Optional[pulumi.Input[bool]] = None,
|
1545
|
+
image: Optional[pulumi.Input[str]] = None,
|
1546
|
+
ip_id: Optional[pulumi.Input[str]] = None,
|
1547
|
+
ip_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1548
|
+
ipv6_address: Optional[pulumi.Input[str]] = None,
|
1549
|
+
ipv6_gateway: Optional[pulumi.Input[str]] = None,
|
1550
|
+
ipv6_prefix_length: Optional[pulumi.Input[int]] = None,
|
1551
|
+
name: Optional[pulumi.Input[str]] = None,
|
1552
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
1553
|
+
placement_group_id: Optional[pulumi.Input[str]] = None,
|
1554
|
+
placement_group_policy_respected: Optional[pulumi.Input[bool]] = None,
|
1555
|
+
private_ip: Optional[pulumi.Input[str]] = None,
|
1556
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
|
1557
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1558
|
+
public_ip: Optional[pulumi.Input[str]] = None,
|
1559
|
+
public_ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]]] = None,
|
1560
|
+
replace_on_type_change: Optional[pulumi.Input[bool]] = None,
|
1561
|
+
root_volume: Optional[pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']]] = None,
|
1562
|
+
security_group_id: Optional[pulumi.Input[str]] = None,
|
1563
|
+
state: Optional[pulumi.Input[str]] = None,
|
1564
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1565
|
+
type: Optional[pulumi.Input[str]] = None,
|
1566
|
+
user_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1567
|
+
zone: Optional[pulumi.Input[str]] = None) -> 'Server':
|
1568
|
+
"""
|
1569
|
+
Get an existing Server resource's state with the given name, id, and optional extra
|
1570
|
+
properties used to qualify the lookup.
|
1571
|
+
|
1572
|
+
:param str resource_name: The unique name of the resulting resource.
|
1573
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1574
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1575
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] additional_volume_ids: The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
1576
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
1577
|
+
|
1578
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
1579
|
+
|
1580
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
1581
|
+
:param pulumi.Input[str] boot_type: The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
1582
|
+
:param pulumi.Input[str] bootscript_id: ID of the target bootscript (set boot_type to bootscript)
|
1583
|
+
:param pulumi.Input[str] cloud_init: The cloud init script associated with this server
|
1584
|
+
:param pulumi.Input[bool] enable_dynamic_ip: If true a dynamic IP will be attached to the server.
|
1585
|
+
:param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
1586
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1587
|
+
:param pulumi.Input[str] image: The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
1588
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
1589
|
+
|
1590
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
1591
|
+
|
1592
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
1593
|
+
:param pulumi.Input[str] ip_id: The ID of the reserved IP that is attached to the server.
|
1594
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_ids: List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
1595
|
+
|
1596
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
1597
|
+
:param pulumi.Input[str] ipv6_address: The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
|
1598
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1599
|
+
:param pulumi.Input[str] ipv6_gateway: The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
|
1600
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1601
|
+
:param pulumi.Input[int] ipv6_prefix_length: The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
|
1602
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1603
|
+
:param pulumi.Input[str] name: The name of the server.
|
1604
|
+
:param pulumi.Input[str] organization_id: The organization ID the server is associated with.
|
1605
|
+
:param pulumi.Input[str] placement_group_id: The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
1606
|
+
|
1607
|
+
|
1608
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
1609
|
+
:param pulumi.Input[bool] placement_group_policy_respected: (Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
|
1610
|
+
:param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
|
1611
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private network associated with the server.
|
1612
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
1613
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
1614
|
+
:param pulumi.Input[str] public_ip: The public IP address of the server (Deprecated use `public_ips` instead).
|
1615
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerPublicIpArgs', 'ServerPublicIpArgsDict']]]] public_ips: The list of public IPs of the server.
|
1616
|
+
:param pulumi.Input[bool] replace_on_type_change: If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
1617
|
+
:param pulumi.Input[Union['ServerRootVolumeArgs', 'ServerRootVolumeArgsDict']] root_volume: Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
1618
|
+
:param pulumi.Input[str] security_group_id: The security group the server is attached to
|
1619
|
+
:param pulumi.Input[str] state: The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
1620
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
1621
|
+
:param pulumi.Input[str] type: The commercial type of the server.
|
1622
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
1623
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
1624
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
1625
|
+
|
1626
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
1627
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_data: The user data associated with the server.
|
1628
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
1629
|
+
You can define values using:
|
1630
|
+
- string
|
1631
|
+
- UTF-8 encoded file content using file
|
1632
|
+
- Binary files using filebase64.
|
1633
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
1634
|
+
"""
|
1635
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1636
|
+
|
1637
|
+
__props__ = _ServerState.__new__(_ServerState)
|
1638
|
+
|
1639
|
+
__props__.__dict__["additional_volume_ids"] = additional_volume_ids
|
1640
|
+
__props__.__dict__["boot_type"] = boot_type
|
1641
|
+
__props__.__dict__["bootscript_id"] = bootscript_id
|
1642
|
+
__props__.__dict__["cloud_init"] = cloud_init
|
1643
|
+
__props__.__dict__["enable_dynamic_ip"] = enable_dynamic_ip
|
1644
|
+
__props__.__dict__["enable_ipv6"] = enable_ipv6
|
1645
|
+
__props__.__dict__["image"] = image
|
1646
|
+
__props__.__dict__["ip_id"] = ip_id
|
1647
|
+
__props__.__dict__["ip_ids"] = ip_ids
|
1648
|
+
__props__.__dict__["ipv6_address"] = ipv6_address
|
1649
|
+
__props__.__dict__["ipv6_gateway"] = ipv6_gateway
|
1650
|
+
__props__.__dict__["ipv6_prefix_length"] = ipv6_prefix_length
|
1651
|
+
__props__.__dict__["name"] = name
|
1652
|
+
__props__.__dict__["organization_id"] = organization_id
|
1653
|
+
__props__.__dict__["placement_group_id"] = placement_group_id
|
1654
|
+
__props__.__dict__["placement_group_policy_respected"] = placement_group_policy_respected
|
1655
|
+
__props__.__dict__["private_ip"] = private_ip
|
1656
|
+
__props__.__dict__["private_networks"] = private_networks
|
1657
|
+
__props__.__dict__["project_id"] = project_id
|
1658
|
+
__props__.__dict__["public_ip"] = public_ip
|
1659
|
+
__props__.__dict__["public_ips"] = public_ips
|
1660
|
+
__props__.__dict__["replace_on_type_change"] = replace_on_type_change
|
1661
|
+
__props__.__dict__["root_volume"] = root_volume
|
1662
|
+
__props__.__dict__["security_group_id"] = security_group_id
|
1663
|
+
__props__.__dict__["state"] = state
|
1664
|
+
__props__.__dict__["tags"] = tags
|
1665
|
+
__props__.__dict__["type"] = type
|
1666
|
+
__props__.__dict__["user_data"] = user_data
|
1667
|
+
__props__.__dict__["zone"] = zone
|
1668
|
+
return Server(resource_name, opts=opts, __props__=__props__)
|
1669
|
+
|
1670
|
+
@property
|
1671
|
+
@pulumi.getter(name="additionalVolumeIds")
|
1672
|
+
def additional_volume_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1673
|
+
"""
|
1674
|
+
The [additional volumes](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types)
|
1675
|
+
attached to the server. Updates to this field will trigger a stop/start of the server.
|
1676
|
+
|
1677
|
+
> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
|
1678
|
+
|
1679
|
+
> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
|
1680
|
+
"""
|
1681
|
+
return pulumi.get(self, "additional_volume_ids")
|
1682
|
+
|
1683
|
+
@property
|
1684
|
+
@pulumi.getter(name="bootType")
|
1685
|
+
def boot_type(self) -> pulumi.Output[Optional[str]]:
|
1686
|
+
"""
|
1687
|
+
The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
|
1688
|
+
"""
|
1689
|
+
return pulumi.get(self, "boot_type")
|
1690
|
+
|
1691
|
+
@property
|
1692
|
+
@pulumi.getter(name="bootscriptId")
|
1693
|
+
@_utilities.deprecated("""bootscript is not supported anymore.""")
|
1694
|
+
def bootscript_id(self) -> pulumi.Output[str]:
|
1695
|
+
"""
|
1696
|
+
ID of the target bootscript (set boot_type to bootscript)
|
1697
|
+
"""
|
1698
|
+
return pulumi.get(self, "bootscript_id")
|
1699
|
+
|
1700
|
+
@property
|
1701
|
+
@pulumi.getter(name="cloudInit")
|
1702
|
+
def cloud_init(self) -> pulumi.Output[str]:
|
1703
|
+
"""
|
1704
|
+
The cloud init script associated with this server
|
1705
|
+
"""
|
1706
|
+
return pulumi.get(self, "cloud_init")
|
1707
|
+
|
1708
|
+
@property
|
1709
|
+
@pulumi.getter(name="enableDynamicIp")
|
1710
|
+
def enable_dynamic_ip(self) -> pulumi.Output[Optional[bool]]:
|
1711
|
+
"""
|
1712
|
+
If true a dynamic IP will be attached to the server.
|
1713
|
+
"""
|
1714
|
+
return pulumi.get(self, "enable_dynamic_ip")
|
1715
|
+
|
1716
|
+
@property
|
1717
|
+
@pulumi.getter(name="enableIpv6")
|
1718
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
1719
|
+
def enable_ipv6(self) -> pulumi.Output[Optional[bool]]:
|
1720
|
+
"""
|
1721
|
+
Determines if IPv6 is enabled for the server. Useful only with `routed_ip_enabled` as false, otherwise ipv6 is always supported.
|
1722
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1723
|
+
"""
|
1724
|
+
return pulumi.get(self, "enable_ipv6")
|
1725
|
+
|
1726
|
+
@property
|
1727
|
+
@pulumi.getter
|
1728
|
+
def image(self) -> pulumi.Output[Optional[str]]:
|
1729
|
+
"""
|
1730
|
+
The UUID or the label of the base image used by the server. You can use [this endpoint](https://www.scaleway.com/en/developers/api/marketplace/#path-marketplace-images-list-marketplace-images)
|
1731
|
+
to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
|
1732
|
+
|
1733
|
+
You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```
|
1734
|
+
|
1735
|
+
To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```
|
1736
|
+
"""
|
1737
|
+
return pulumi.get(self, "image")
|
1738
|
+
|
1739
|
+
@property
|
1740
|
+
@pulumi.getter(name="ipId")
|
1741
|
+
def ip_id(self) -> pulumi.Output[Optional[str]]:
|
1742
|
+
"""
|
1743
|
+
The ID of the reserved IP that is attached to the server.
|
1744
|
+
"""
|
1745
|
+
return pulumi.get(self, "ip_id")
|
1746
|
+
|
1747
|
+
@property
|
1748
|
+
@pulumi.getter(name="ipIds")
|
1749
|
+
def ip_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1750
|
+
"""
|
1751
|
+
List of ID of reserved IPs that are attached to the server. Cannot be used with `ip_id`.
|
1752
|
+
|
1753
|
+
> `ip_id` to `ip_ids` migration: if moving the ip from the old `ip_id` field to the new `ip_ids`, it should not detach the ip.
|
1754
|
+
"""
|
1755
|
+
return pulumi.get(self, "ip_ids")
|
1756
|
+
|
1757
|
+
@property
|
1758
|
+
@pulumi.getter(name="ipv6Address")
|
1759
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
1760
|
+
def ipv6_address(self) -> pulumi.Output[str]:
|
1761
|
+
"""
|
1762
|
+
The default ipv6 address routed to the server. ( Only set when enable_ipv6 is set to true )
|
1763
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1764
|
+
"""
|
1765
|
+
return pulumi.get(self, "ipv6_address")
|
1766
|
+
|
1767
|
+
@property
|
1768
|
+
@pulumi.getter(name="ipv6Gateway")
|
1769
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
1770
|
+
def ipv6_gateway(self) -> pulumi.Output[str]:
|
1771
|
+
"""
|
1772
|
+
The ipv6 gateway address. ( Only set when enable_ipv6 is set to true )
|
1773
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1774
|
+
"""
|
1775
|
+
return pulumi.get(self, "ipv6_gateway")
|
1776
|
+
|
1777
|
+
@property
|
1778
|
+
@pulumi.getter(name="ipv6PrefixLength")
|
1779
|
+
@_utilities.deprecated("""Please use a instance.Ip with a `routed_ipv6` type""")
|
1780
|
+
def ipv6_prefix_length(self) -> pulumi.Output[int]:
|
1781
|
+
"""
|
1782
|
+
The prefix length of the ipv6 subnet routed to the server. ( Only set when enable_ipv6 is set to true )
|
1783
|
+
Deprecated: Please use a instance.Ip with a `routed_ipv6` type.
|
1784
|
+
"""
|
1785
|
+
return pulumi.get(self, "ipv6_prefix_length")
|
1786
|
+
|
1787
|
+
@property
|
1788
|
+
@pulumi.getter
|
1789
|
+
def name(self) -> pulumi.Output[str]:
|
1790
|
+
"""
|
1791
|
+
The name of the server.
|
1792
|
+
"""
|
1793
|
+
return pulumi.get(self, "name")
|
1794
|
+
|
1795
|
+
@property
|
1796
|
+
@pulumi.getter(name="organizationId")
|
1797
|
+
def organization_id(self) -> pulumi.Output[str]:
|
1798
|
+
"""
|
1799
|
+
The organization ID the server is associated with.
|
1800
|
+
"""
|
1801
|
+
return pulumi.get(self, "organization_id")
|
1802
|
+
|
1803
|
+
@property
|
1804
|
+
@pulumi.getter(name="placementGroupId")
|
1805
|
+
def placement_group_id(self) -> pulumi.Output[Optional[str]]:
|
1806
|
+
"""
|
1807
|
+
The [placement group](https://www.scaleway.com/en/developers/api/instance/#path-security-groups-update-a-security-group the server is attached to.
|
1808
|
+
|
1809
|
+
|
1810
|
+
> **Important:** When updating `placement_group_id` the `state` must be set to `stopped`, otherwise it will fail.
|
1811
|
+
"""
|
1812
|
+
return pulumi.get(self, "placement_group_id")
|
1813
|
+
|
1814
|
+
@property
|
1815
|
+
@pulumi.getter(name="placementGroupPolicyRespected")
|
1816
|
+
def placement_group_policy_respected(self) -> pulumi.Output[bool]:
|
1817
|
+
"""
|
1818
|
+
(Deprecated) Always false, use instance_placement_group ressource to known when the placement group policy is respected.
|
1819
|
+
"""
|
1820
|
+
return pulumi.get(self, "placement_group_policy_respected")
|
1821
|
+
|
1822
|
+
@property
|
1823
|
+
@pulumi.getter(name="privateIp")
|
1824
|
+
@_utilities.deprecated("""Use ipam_ip datasource instead to fetch your server's IP in your private network.""")
|
1825
|
+
def private_ip(self) -> pulumi.Output[str]:
|
1826
|
+
"""
|
1827
|
+
The Scaleway internal IP address of the server (Deprecated use ipam_ip datasource instead).
|
1828
|
+
"""
|
1829
|
+
return pulumi.get(self, "private_ip")
|
1830
|
+
|
1831
|
+
@property
|
1832
|
+
@pulumi.getter(name="privateNetworks")
|
1833
|
+
def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ServerPrivateNetwork']]]:
|
1834
|
+
"""
|
1835
|
+
The private network associated with the server.
|
1836
|
+
Use the `pn_id` key to attach a [private_network](https://www.scaleway.com/en/developers/api/instance/#path-private-nics-list-all-private-nics) on your instance.
|
1837
|
+
"""
|
1838
|
+
return pulumi.get(self, "private_networks")
|
1839
|
+
|
1840
|
+
@property
|
1841
|
+
@pulumi.getter(name="projectId")
|
1842
|
+
def project_id(self) -> pulumi.Output[str]:
|
1843
|
+
"""
|
1844
|
+
`project_id`) The ID of the project the server is associated with.
|
1845
|
+
"""
|
1846
|
+
return pulumi.get(self, "project_id")
|
1847
|
+
|
1848
|
+
@property
|
1849
|
+
@pulumi.getter(name="publicIp")
|
1850
|
+
@_utilities.deprecated("""Use public_ips instead""")
|
1851
|
+
def public_ip(self) -> pulumi.Output[str]:
|
1852
|
+
"""
|
1853
|
+
The public IP address of the server (Deprecated use `public_ips` instead).
|
1854
|
+
"""
|
1855
|
+
return pulumi.get(self, "public_ip")
|
1856
|
+
|
1857
|
+
@property
|
1858
|
+
@pulumi.getter(name="publicIps")
|
1859
|
+
def public_ips(self) -> pulumi.Output[Sequence['outputs.ServerPublicIp']]:
|
1860
|
+
"""
|
1861
|
+
The list of public IPs of the server.
|
1862
|
+
"""
|
1863
|
+
return pulumi.get(self, "public_ips")
|
1864
|
+
|
1865
|
+
@property
|
1866
|
+
@pulumi.getter(name="replaceOnTypeChange")
|
1867
|
+
def replace_on_type_change(self) -> pulumi.Output[Optional[bool]]:
|
1868
|
+
"""
|
1869
|
+
If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
|
1870
|
+
"""
|
1871
|
+
return pulumi.get(self, "replace_on_type_change")
|
1872
|
+
|
1873
|
+
@property
|
1874
|
+
@pulumi.getter(name="rootVolume")
|
1875
|
+
def root_volume(self) -> pulumi.Output['outputs.ServerRootVolume']:
|
1876
|
+
"""
|
1877
|
+
Root [volume](https://www.scaleway.com/en/developers/api/instance/#path-volume-types-list-volume-types) attached to the server on creation.
|
1878
|
+
"""
|
1879
|
+
return pulumi.get(self, "root_volume")
|
1880
|
+
|
1881
|
+
@property
|
1882
|
+
@pulumi.getter(name="securityGroupId")
|
1883
|
+
def security_group_id(self) -> pulumi.Output[str]:
|
1884
|
+
"""
|
1885
|
+
The security group the server is attached to
|
1886
|
+
"""
|
1887
|
+
return pulumi.get(self, "security_group_id")
|
1888
|
+
|
1889
|
+
@property
|
1890
|
+
@pulumi.getter
|
1891
|
+
def state(self) -> pulumi.Output[Optional[str]]:
|
1892
|
+
"""
|
1893
|
+
The state of the server. Possible values are: `started`, `stopped` or `standby`.
|
1894
|
+
"""
|
1895
|
+
return pulumi.get(self, "state")
|
1896
|
+
|
1897
|
+
@property
|
1898
|
+
@pulumi.getter
|
1899
|
+
def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1900
|
+
"""
|
1901
|
+
The tags associated with the server.
|
1902
|
+
"""
|
1903
|
+
return pulumi.get(self, "tags")
|
1904
|
+
|
1905
|
+
@property
|
1906
|
+
@pulumi.getter
|
1907
|
+
def type(self) -> pulumi.Output[str]:
|
1908
|
+
"""
|
1909
|
+
The commercial type of the server.
|
1910
|
+
You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
|
1911
|
+
Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
|
1912
|
+
Use `replace_on_type_change` to trigger replacement instead of migration.
|
1913
|
+
|
1914
|
+
> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
|
1915
|
+
"""
|
1916
|
+
return pulumi.get(self, "type")
|
1917
|
+
|
1918
|
+
@property
|
1919
|
+
@pulumi.getter(name="userData")
|
1920
|
+
def user_data(self) -> pulumi.Output[Mapping[str, str]]:
|
1921
|
+
"""
|
1922
|
+
The user data associated with the server.
|
1923
|
+
Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
|
1924
|
+
You can define values using:
|
1925
|
+
- string
|
1926
|
+
- UTF-8 encoded file content using file
|
1927
|
+
- Binary files using filebase64.
|
1928
|
+
"""
|
1929
|
+
return pulumi.get(self, "user_data")
|
1930
|
+
|
1931
|
+
@property
|
1932
|
+
@pulumi.getter
|
1933
|
+
def zone(self) -> pulumi.Output[str]:
|
1934
|
+
"""
|
1935
|
+
`zone`) The zone in which the server should be created.
|
1936
|
+
"""
|
1937
|
+
return pulumi.get(self, "zone")
|
1938
|
+
|