pulumiverse-scaleway 1.25.0a1742288097__py3-none-any.whl → 1.25.0a1742668904__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumiverse_scaleway/__init__.py +929 -0
- pulumiverse_scaleway/account/__init__.py +12 -0
- pulumiverse_scaleway/account/get_availability_zones.py +139 -0
- pulumiverse_scaleway/account/get_project.py +170 -0
- pulumiverse_scaleway/account/get_ssh_key.py +205 -0
- pulumiverse_scaleway/account/project.py +318 -0
- pulumiverse_scaleway/account/ssh_key.py +456 -0
- pulumiverse_scaleway/account_project.py +6 -0
- pulumiverse_scaleway/account_ssh_key.py +12 -6
- pulumiverse_scaleway/apple_silicon_server.py +8 -2
- pulumiverse_scaleway/applesilicon/__init__.py +10 -0
- pulumiverse_scaleway/applesilicon/_inputs.py +154 -0
- pulumiverse_scaleway/applesilicon/outputs.py +119 -0
- pulumiverse_scaleway/applesilicon/server.py +690 -0
- pulumiverse_scaleway/baremetal_server.py +64 -58
- pulumiverse_scaleway/billing/__init__.py +10 -0
- pulumiverse_scaleway/billing/get_consumptions.py +134 -0
- pulumiverse_scaleway/billing/get_invoices.py +154 -0
- pulumiverse_scaleway/billing/outputs.py +288 -0
- pulumiverse_scaleway/block/__init__.py +11 -0
- pulumiverse_scaleway/block/get_snapshot.py +174 -0
- pulumiverse_scaleway/block/get_volume.py +199 -0
- pulumiverse_scaleway/block/snapshot.py +403 -0
- pulumiverse_scaleway/block/volume.py +576 -0
- pulumiverse_scaleway/block_snapshot.py +12 -6
- pulumiverse_scaleway/block_volume.py +16 -10
- pulumiverse_scaleway/cockpit.py +10 -4
- pulumiverse_scaleway/cockpit_alert_manager.py +12 -6
- pulumiverse_scaleway/cockpit_grafana_user.py +12 -6
- pulumiverse_scaleway/cockpit_source.py +12 -6
- pulumiverse_scaleway/cockpit_token.py +16 -10
- pulumiverse_scaleway/container.py +16 -10
- pulumiverse_scaleway/container_cron.py +14 -8
- pulumiverse_scaleway/container_domain.py +24 -18
- pulumiverse_scaleway/container_namespace.py +10 -4
- pulumiverse_scaleway/container_token.py +32 -26
- pulumiverse_scaleway/container_trigger.py +12 -6
- pulumiverse_scaleway/containers/__init__.py +17 -0
- pulumiverse_scaleway/containers/_inputs.py +389 -0
- pulumiverse_scaleway/containers/container.py +1635 -0
- pulumiverse_scaleway/containers/cron.py +460 -0
- pulumiverse_scaleway/containers/domain.py +408 -0
- pulumiverse_scaleway/containers/get_container.py +562 -0
- pulumiverse_scaleway/containers/get_namespace.py +283 -0
- pulumiverse_scaleway/containers/namespace.py +638 -0
- pulumiverse_scaleway/containers/outputs.py +412 -0
- pulumiverse_scaleway/containers/token.py +454 -0
- pulumiverse_scaleway/containers/trigger.py +482 -0
- pulumiverse_scaleway/database.py +10 -4
- pulumiverse_scaleway/database_acl.py +10 -4
- pulumiverse_scaleway/database_backup.py +14 -8
- pulumiverse_scaleway/database_instance.py +24 -18
- pulumiverse_scaleway/database_privilege.py +16 -10
- pulumiverse_scaleway/database_read_replica.py +22 -16
- pulumiverse_scaleway/database_user.py +10 -4
- pulumiverse_scaleway/databases/__init__.py +23 -0
- pulumiverse_scaleway/databases/_inputs.py +822 -0
- pulumiverse_scaleway/databases/acl.py +334 -0
- pulumiverse_scaleway/databases/database.py +409 -0
- pulumiverse_scaleway/databases/database_backup.py +576 -0
- pulumiverse_scaleway/databases/get_acl.py +143 -0
- pulumiverse_scaleway/databases/get_database.py +187 -0
- pulumiverse_scaleway/databases/get_database_backup.py +253 -0
- pulumiverse_scaleway/databases/get_instance.py +415 -0
- pulumiverse_scaleway/databases/get_privilege.py +181 -0
- pulumiverse_scaleway/databases/instance.py +1696 -0
- pulumiverse_scaleway/databases/outputs.py +866 -0
- pulumiverse_scaleway/databases/privilege.py +424 -0
- pulumiverse_scaleway/databases/read_replica.py +530 -0
- pulumiverse_scaleway/databases/serverless_database.py +434 -0
- pulumiverse_scaleway/databases/snapshot.py +610 -0
- pulumiverse_scaleway/databases/user.py +448 -0
- pulumiverse_scaleway/domain/__init__.py +13 -0
- pulumiverse_scaleway/domain/_inputs.py +341 -0
- pulumiverse_scaleway/domain/get_record.py +340 -0
- pulumiverse_scaleway/domain/get_zone.py +201 -0
- pulumiverse_scaleway/domain/outputs.py +408 -0
- pulumiverse_scaleway/domain/record.py +1118 -0
- pulumiverse_scaleway/domain/zone.py +432 -0
- pulumiverse_scaleway/domain_record.py +36 -30
- pulumiverse_scaleway/domain_zone.py +6 -0
- pulumiverse_scaleway/elasticmetal/__init__.py +18 -0
- pulumiverse_scaleway/elasticmetal/_inputs.py +509 -0
- pulumiverse_scaleway/elasticmetal/get_ip.py +247 -0
- pulumiverse_scaleway/elasticmetal/get_ips.py +240 -0
- pulumiverse_scaleway/elasticmetal/get_offer.py +245 -0
- pulumiverse_scaleway/elasticmetal/get_option.py +168 -0
- pulumiverse_scaleway/elasticmetal/get_os.py +174 -0
- pulumiverse_scaleway/elasticmetal/get_server.py +422 -0
- pulumiverse_scaleway/elasticmetal/ip.py +704 -0
- pulumiverse_scaleway/elasticmetal/ip_mac_address.py +512 -0
- pulumiverse_scaleway/elasticmetal/outputs.py +974 -0
- pulumiverse_scaleway/elasticmetal/server.py +1591 -0
- pulumiverse_scaleway/flexible_ip.py +22 -16
- pulumiverse_scaleway/flexible_ip_mac_address.py +22 -16
- pulumiverse_scaleway/function.py +6 -0
- pulumiverse_scaleway/function_cron.py +16 -10
- pulumiverse_scaleway/function_domain.py +16 -10
- pulumiverse_scaleway/function_namespace.py +10 -4
- pulumiverse_scaleway/function_token.py +32 -26
- pulumiverse_scaleway/function_trigger.py +12 -6
- pulumiverse_scaleway/functions/__init__.py +17 -0
- pulumiverse_scaleway/functions/_inputs.py +211 -0
- pulumiverse_scaleway/functions/cron.py +464 -0
- pulumiverse_scaleway/functions/domain.py +372 -0
- pulumiverse_scaleway/functions/function.py +1105 -0
- pulumiverse_scaleway/functions/get_function.py +365 -0
- pulumiverse_scaleway/functions/get_namespace.py +238 -0
- pulumiverse_scaleway/functions/namespace.py +582 -0
- pulumiverse_scaleway/functions/outputs.py +168 -0
- pulumiverse_scaleway/functions/token.py +462 -0
- pulumiverse_scaleway/functions/trigger.py +482 -0
- pulumiverse_scaleway/get_account_project.py +6 -2
- pulumiverse_scaleway/get_account_ssh_key.py +6 -2
- pulumiverse_scaleway/get_availability_zones.py +8 -4
- pulumiverse_scaleway/get_baremetal_offer.py +4 -0
- pulumiverse_scaleway/get_baremetal_option.py +8 -4
- pulumiverse_scaleway/get_baremetal_os.py +8 -4
- pulumiverse_scaleway/get_baremetal_server.py +8 -4
- pulumiverse_scaleway/get_billing_consumptions.py +4 -0
- pulumiverse_scaleway/get_billing_invoices.py +4 -0
- pulumiverse_scaleway/get_block_snapshot.py +6 -2
- pulumiverse_scaleway/get_block_volume.py +6 -2
- pulumiverse_scaleway/get_cockpit.py +12 -8
- pulumiverse_scaleway/get_cockpit_plan.py +10 -6
- pulumiverse_scaleway/get_cockpit_source.py +8 -4
- pulumiverse_scaleway/get_container.py +16 -12
- pulumiverse_scaleway/get_container_namespace.py +10 -6
- pulumiverse_scaleway/get_database.py +6 -2
- pulumiverse_scaleway/get_database_acl.py +6 -2
- pulumiverse_scaleway/get_database_backup.py +10 -6
- pulumiverse_scaleway/get_database_instance.py +4 -0
- pulumiverse_scaleway/get_database_privilege.py +6 -2
- pulumiverse_scaleway/get_domain_record.py +10 -6
- pulumiverse_scaleway/get_domain_zone.py +4 -0
- pulumiverse_scaleway/get_flexible_ip.py +4 -0
- pulumiverse_scaleway/get_flexible_ips.py +16 -12
- pulumiverse_scaleway/get_function.py +6 -2
- pulumiverse_scaleway/get_function_namespace.py +6 -2
- pulumiverse_scaleway/get_iam_api_key.py +6 -2
- pulumiverse_scaleway/get_iam_application.py +8 -4
- pulumiverse_scaleway/get_iam_group.py +8 -4
- pulumiverse_scaleway/get_iam_ssh_key.py +4 -0
- pulumiverse_scaleway/get_iam_user.py +8 -4
- pulumiverse_scaleway/get_instance_image.py +4 -0
- pulumiverse_scaleway/get_instance_ip.py +4 -0
- pulumiverse_scaleway/get_instance_placement_group.py +4 -0
- pulumiverse_scaleway/get_instance_private_nic.py +10 -6
- pulumiverse_scaleway/get_instance_security_group.py +4 -0
- pulumiverse_scaleway/get_instance_server.py +4 -0
- pulumiverse_scaleway/get_instance_servers.py +4 -0
- pulumiverse_scaleway/get_instance_snapshot.py +8 -4
- pulumiverse_scaleway/get_instance_volume.py +4 -0
- pulumiverse_scaleway/get_iot_device.py +4 -0
- pulumiverse_scaleway/get_iot_hub.py +4 -0
- pulumiverse_scaleway/get_ipam_ip.py +18 -14
- pulumiverse_scaleway/get_ipam_ips.py +14 -10
- pulumiverse_scaleway/get_k8s_version.py +8 -4
- pulumiverse_scaleway/get_kubernetes_cluster.py +4 -0
- pulumiverse_scaleway/get_kubernetes_node_pool.py +4 -0
- pulumiverse_scaleway/get_lb_acls.py +8 -4
- pulumiverse_scaleway/get_lb_backend.py +18 -14
- pulumiverse_scaleway/get_lb_backends.py +8 -4
- pulumiverse_scaleway/get_lb_frontend.py +16 -12
- pulumiverse_scaleway/get_lb_frontends.py +8 -4
- pulumiverse_scaleway/get_lb_ips.py +4 -0
- pulumiverse_scaleway/get_lb_route.py +16 -12
- pulumiverse_scaleway/get_lb_routes.py +8 -4
- pulumiverse_scaleway/get_lbs.py +4 -0
- pulumiverse_scaleway/get_loadbalancer.py +8 -4
- pulumiverse_scaleway/get_loadbalancer_certificate.py +4 -0
- pulumiverse_scaleway/get_loadbalancer_ip.py +4 -0
- pulumiverse_scaleway/get_mnq_sns.py +8 -4
- pulumiverse_scaleway/get_mnq_sqs.py +8 -4
- pulumiverse_scaleway/get_mongo_db_instance.py +4 -0
- pulumiverse_scaleway/get_object_bucket.py +12 -8
- pulumiverse_scaleway/get_object_bucket_policy.py +8 -4
- pulumiverse_scaleway/get_redis_cluster.py +4 -0
- pulumiverse_scaleway/get_registry_image.py +4 -0
- pulumiverse_scaleway/get_registry_image_tag.py +4 -0
- pulumiverse_scaleway/get_registry_namespace.py +4 -0
- pulumiverse_scaleway/get_secret.py +12 -8
- pulumiverse_scaleway/get_secret_version.py +14 -10
- pulumiverse_scaleway/get_tem_domain.py +4 -0
- pulumiverse_scaleway/get_vpc.py +10 -6
- pulumiverse_scaleway/get_vpc_gateway_network.py +10 -6
- pulumiverse_scaleway/get_vpc_private_network.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway.py +10 -6
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp.py +8 -4
- pulumiverse_scaleway/get_vpc_public_gateway_dhcp_reservation.py +70 -66
- pulumiverse_scaleway/get_vpc_public_gateway_ip.py +8 -4
- pulumiverse_scaleway/get_vpc_public_pat_rule.py +26 -22
- pulumiverse_scaleway/get_vpc_routes.py +4 -0
- pulumiverse_scaleway/get_vpcs.py +4 -0
- pulumiverse_scaleway/get_web_host_offer.py +8 -4
- pulumiverse_scaleway/get_webhosting.py +8 -4
- pulumiverse_scaleway/hosting/__init__.py +12 -0
- pulumiverse_scaleway/hosting/_inputs.py +295 -0
- pulumiverse_scaleway/hosting/get_hosting.py +354 -0
- pulumiverse_scaleway/hosting/get_offer.py +229 -0
- pulumiverse_scaleway/hosting/hosting.py +870 -0
- pulumiverse_scaleway/hosting/outputs.py +626 -0
- pulumiverse_scaleway/iam/__init__.py +21 -0
- pulumiverse_scaleway/iam/_inputs.py +138 -0
- pulumiverse_scaleway/iam/api_key.py +622 -0
- pulumiverse_scaleway/iam/application.py +419 -0
- pulumiverse_scaleway/iam/get_api_key.py +210 -0
- pulumiverse_scaleway/iam/get_application.py +210 -0
- pulumiverse_scaleway/iam/get_group.py +236 -0
- pulumiverse_scaleway/iam/get_ssh_key.py +212 -0
- pulumiverse_scaleway/iam/get_user.py +177 -0
- pulumiverse_scaleway/iam/group.py +568 -0
- pulumiverse_scaleway/iam/group_membership.py +325 -0
- pulumiverse_scaleway/iam/outputs.py +111 -0
- pulumiverse_scaleway/iam/policy.py +775 -0
- pulumiverse_scaleway/iam/ssh_key.py +457 -0
- pulumiverse_scaleway/iam/user.py +515 -0
- pulumiverse_scaleway/iam_api_key.py +16 -10
- pulumiverse_scaleway/iam_application.py +8 -2
- pulumiverse_scaleway/iam_group.py +12 -6
- pulumiverse_scaleway/iam_group_membership.py +12 -6
- pulumiverse_scaleway/iam_policy.py +18 -12
- pulumiverse_scaleway/iam_ssh_key.py +8 -2
- pulumiverse_scaleway/iam_user.py +8 -2
- pulumiverse_scaleway/inference/__init__.py +10 -0
- pulumiverse_scaleway/inference/_inputs.py +209 -0
- pulumiverse_scaleway/inference/deployment.py +824 -0
- pulumiverse_scaleway/inference/outputs.py +169 -0
- pulumiverse_scaleway/inference_deployment.py +8 -2
- pulumiverse_scaleway/instance/__init__.py +29 -0
- pulumiverse_scaleway/instance/_inputs.py +1237 -0
- pulumiverse_scaleway/instance/get_image.py +305 -0
- pulumiverse_scaleway/instance/get_ip.py +204 -0
- pulumiverse_scaleway/instance/get_placement_group.py +212 -0
- pulumiverse_scaleway/instance/get_private_nic.py +226 -0
- pulumiverse_scaleway/instance/get_security_group.py +268 -0
- pulumiverse_scaleway/instance/get_server.py +488 -0
- pulumiverse_scaleway/instance/get_servers.py +187 -0
- pulumiverse_scaleway/instance/get_snapshot.py +248 -0
- pulumiverse_scaleway/instance/get_volume.py +226 -0
- pulumiverse_scaleway/instance/image.py +752 -0
- pulumiverse_scaleway/instance/ip.py +471 -0
- pulumiverse_scaleway/instance/ip_reverse_dns.py +310 -0
- pulumiverse_scaleway/instance/outputs.py +1533 -0
- pulumiverse_scaleway/instance/placement_group.py +481 -0
- pulumiverse_scaleway/instance/private_nic.py +557 -0
- pulumiverse_scaleway/instance/security_group.py +722 -0
- pulumiverse_scaleway/instance/security_group_rules.py +441 -0
- pulumiverse_scaleway/instance/server.py +1938 -0
- pulumiverse_scaleway/instance/snapshot.py +671 -0
- pulumiverse_scaleway/instance/user_data.py +437 -0
- pulumiverse_scaleway/instance/volume.py +584 -0
- pulumiverse_scaleway/instance_image.py +18 -12
- pulumiverse_scaleway/instance_ip.py +8 -2
- pulumiverse_scaleway/instance_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/instance_placement_group.py +8 -2
- pulumiverse_scaleway/instance_private_nic.py +24 -18
- pulumiverse_scaleway/instance_security_group.py +6 -0
- pulumiverse_scaleway/instance_security_group_rules.py +22 -16
- pulumiverse_scaleway/instance_server.py +74 -68
- pulumiverse_scaleway/instance_snapshot.py +22 -16
- pulumiverse_scaleway/instance_user_data.py +16 -10
- pulumiverse_scaleway/instance_volume.py +8 -2
- pulumiverse_scaleway/iot/__init__.py +15 -0
- pulumiverse_scaleway/iot/_inputs.py +539 -0
- pulumiverse_scaleway/iot/device.py +752 -0
- pulumiverse_scaleway/iot/get_device.py +257 -0
- pulumiverse_scaleway/iot/get_hub.py +322 -0
- pulumiverse_scaleway/iot/hub.py +898 -0
- pulumiverse_scaleway/iot/network.py +474 -0
- pulumiverse_scaleway/iot/outputs.py +465 -0
- pulumiverse_scaleway/iot/route.py +662 -0
- pulumiverse_scaleway/iot_device.py +14 -8
- pulumiverse_scaleway/iot_hub.py +8 -2
- pulumiverse_scaleway/iot_network.py +12 -6
- pulumiverse_scaleway/iot_route.py +32 -26
- pulumiverse_scaleway/ipam/__init__.py +13 -0
- pulumiverse_scaleway/ipam/_inputs.py +442 -0
- pulumiverse_scaleway/ipam/get_ip.py +419 -0
- pulumiverse_scaleway/ipam/get_ips.py +358 -0
- pulumiverse_scaleway/ipam/ip.py +759 -0
- pulumiverse_scaleway/ipam/ip_reverse_dns.py +320 -0
- pulumiverse_scaleway/ipam/outputs.py +481 -0
- pulumiverse_scaleway/ipam_ip.py +30 -24
- pulumiverse_scaleway/ipam_ip_reverse_dns.py +6 -0
- pulumiverse_scaleway/job/__init__.py +10 -0
- pulumiverse_scaleway/job/_inputs.py +73 -0
- pulumiverse_scaleway/job/definition.py +694 -0
- pulumiverse_scaleway/job/outputs.py +49 -0
- pulumiverse_scaleway/job_definition.py +8 -2
- pulumiverse_scaleway/kubernetes/__init__.py +14 -0
- pulumiverse_scaleway/kubernetes/_inputs.py +717 -0
- pulumiverse_scaleway/kubernetes/cluster.py +1540 -0
- pulumiverse_scaleway/kubernetes/get_cluster.py +417 -0
- pulumiverse_scaleway/kubernetes/get_pool.py +436 -0
- pulumiverse_scaleway/kubernetes/get_version.py +196 -0
- pulumiverse_scaleway/kubernetes/outputs.py +944 -0
- pulumiverse_scaleway/kubernetes/pool.py +1313 -0
- pulumiverse_scaleway/kubernetes_cluster.py +36 -30
- pulumiverse_scaleway/kubernetes_node_pool.py +6 -0
- pulumiverse_scaleway/loadbalancer.py +35 -29
- pulumiverse_scaleway/loadbalancer_acl.py +8 -2
- pulumiverse_scaleway/loadbalancer_backend.py +10 -4
- pulumiverse_scaleway/loadbalancer_certificate.py +6 -0
- pulumiverse_scaleway/loadbalancer_frontend.py +10 -4
- pulumiverse_scaleway/loadbalancer_ip.py +10 -4
- pulumiverse_scaleway/loadbalancer_route.py +26 -20
- pulumiverse_scaleway/loadbalancers/__init__.py +28 -0
- pulumiverse_scaleway/loadbalancers/_inputs.py +1103 -0
- pulumiverse_scaleway/loadbalancers/acl.py +522 -0
- pulumiverse_scaleway/loadbalancers/backend.py +1590 -0
- pulumiverse_scaleway/loadbalancers/certificate.py +462 -0
- pulumiverse_scaleway/loadbalancers/frontend.py +831 -0
- pulumiverse_scaleway/loadbalancers/get_acls.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_backend.py +486 -0
- pulumiverse_scaleway/loadbalancers/get_backends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_certificate.py +230 -0
- pulumiverse_scaleway/loadbalancers/get_frontend.py +274 -0
- pulumiverse_scaleway/loadbalancers/get_frontends.py +196 -0
- pulumiverse_scaleway/loadbalancers/get_ip.py +228 -0
- pulumiverse_scaleway/loadbalancers/get_ips.py +198 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancer.py +339 -0
- pulumiverse_scaleway/loadbalancers/get_load_balancers.py +187 -0
- pulumiverse_scaleway/loadbalancers/get_route.py +217 -0
- pulumiverse_scaleway/loadbalancers/get_routes.py +179 -0
- pulumiverse_scaleway/loadbalancers/ip.py +516 -0
- pulumiverse_scaleway/loadbalancers/load_balancer.py +1063 -0
- pulumiverse_scaleway/loadbalancers/outputs.py +2491 -0
- pulumiverse_scaleway/loadbalancers/route.py +525 -0
- pulumiverse_scaleway/mnq/__init__.py +20 -0
- pulumiverse_scaleway/mnq/_inputs.py +169 -0
- pulumiverse_scaleway/mnq/get_sns.py +150 -0
- pulumiverse_scaleway/mnq/get_sqs.py +150 -0
- pulumiverse_scaleway/mnq/nats_account.py +336 -0
- pulumiverse_scaleway/mnq/nats_credentials.py +332 -0
- pulumiverse_scaleway/mnq/outputs.py +149 -0
- pulumiverse_scaleway/mnq/sns.py +308 -0
- pulumiverse_scaleway/mnq/sns_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sns_topic.py +661 -0
- pulumiverse_scaleway/mnq/sns_topic_subscription.py +701 -0
- pulumiverse_scaleway/mnq/sqs.py +306 -0
- pulumiverse_scaleway/mnq/sqs_credentials.py +415 -0
- pulumiverse_scaleway/mnq/sqs_queue.py +802 -0
- pulumiverse_scaleway/mnq_nats_account.py +8 -2
- pulumiverse_scaleway/mnq_nats_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns.py +12 -6
- pulumiverse_scaleway/mnq_sns_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sns_topic.py +16 -10
- pulumiverse_scaleway/mnq_sns_topic_subscription.py +22 -16
- pulumiverse_scaleway/mnq_sqs.py +12 -6
- pulumiverse_scaleway/mnq_sqs_credentials.py +10 -4
- pulumiverse_scaleway/mnq_sqs_queue.py +16 -10
- pulumiverse_scaleway/mongo_db_instance.py +14 -8
- pulumiverse_scaleway/mongo_db_snapshot.py +8 -2
- pulumiverse_scaleway/mongodb/__init__.py +12 -0
- pulumiverse_scaleway/mongodb/_inputs.py +208 -0
- pulumiverse_scaleway/mongodb/get_instance.py +335 -0
- pulumiverse_scaleway/mongodb/instance.py +1000 -0
- pulumiverse_scaleway/mongodb/outputs.py +270 -0
- pulumiverse_scaleway/mongodb/snapshot.py +523 -0
- pulumiverse_scaleway/network/__init__.py +29 -0
- pulumiverse_scaleway/network/_inputs.py +383 -0
- pulumiverse_scaleway/network/gateway_network.py +868 -0
- pulumiverse_scaleway/network/get_gateway_network.py +287 -0
- pulumiverse_scaleway/network/get_private_network.py +282 -0
- pulumiverse_scaleway/network/get_public_gateway.py +304 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp.py +305 -0
- pulumiverse_scaleway/network/get_public_gateway_dhcp_reservation.py +382 -0
- pulumiverse_scaleway/network/get_public_gateway_ip.py +199 -0
- pulumiverse_scaleway/network/get_public_gateway_pat_rule.py +313 -0
- pulumiverse_scaleway/network/get_routes.py +208 -0
- pulumiverse_scaleway/network/get_vpc.py +246 -0
- pulumiverse_scaleway/network/get_vpcs.py +174 -0
- pulumiverse_scaleway/network/outputs.py +747 -0
- pulumiverse_scaleway/network/private_network.py +736 -0
- pulumiverse_scaleway/network/public_gateway.py +791 -0
- pulumiverse_scaleway/network/public_gateway_dhcp.py +949 -0
- pulumiverse_scaleway/network/public_gateway_dhcp_reservation.py +516 -0
- pulumiverse_scaleway/network/public_gateway_ip.py +459 -0
- pulumiverse_scaleway/network/public_gateway_ip_reverse_dns.py +308 -0
- pulumiverse_scaleway/network/public_gateway_pat_rule.py +593 -0
- pulumiverse_scaleway/network/route.py +579 -0
- pulumiverse_scaleway/network/vpc.py +538 -0
- pulumiverse_scaleway/object/__init__.py +17 -0
- pulumiverse_scaleway/object/_inputs.py +831 -0
- pulumiverse_scaleway/object/bucket.py +876 -0
- pulumiverse_scaleway/object/bucket_acl.py +598 -0
- pulumiverse_scaleway/object/bucket_lock_configuration.py +397 -0
- pulumiverse_scaleway/object/bucket_policy.py +675 -0
- pulumiverse_scaleway/object/bucket_website_configuration.py +536 -0
- pulumiverse_scaleway/object/get_bucket.py +290 -0
- pulumiverse_scaleway/object/get_bucket_policy.py +163 -0
- pulumiverse_scaleway/object/item.py +778 -0
- pulumiverse_scaleway/object/outputs.py +802 -0
- pulumiverse_scaleway/object_bucket.py +28 -22
- pulumiverse_scaleway/object_bucket_acl.py +14 -8
- pulumiverse_scaleway/object_bucket_lock_configuration.py +12 -6
- pulumiverse_scaleway/object_bucket_policy.py +46 -40
- pulumiverse_scaleway/object_bucket_website_configuration.py +18 -12
- pulumiverse_scaleway/object_item.py +8 -2
- pulumiverse_scaleway/observability/__init__.py +17 -0
- pulumiverse_scaleway/observability/_inputs.py +417 -0
- pulumiverse_scaleway/observability/alert_manager.py +403 -0
- pulumiverse_scaleway/observability/cockpit.py +325 -0
- pulumiverse_scaleway/observability/get_instance.py +205 -0
- pulumiverse_scaleway/observability/get_plan.py +125 -0
- pulumiverse_scaleway/observability/get_source.py +262 -0
- pulumiverse_scaleway/observability/grafana_user.py +364 -0
- pulumiverse_scaleway/observability/outputs.py +425 -0
- pulumiverse_scaleway/observability/source.py +569 -0
- pulumiverse_scaleway/observability/token.py +481 -0
- pulumiverse_scaleway/pulumi-plugin.json +1 -1
- pulumiverse_scaleway/rdb_snapshot.py +16 -10
- pulumiverse_scaleway/redis/__init__.py +11 -0
- pulumiverse_scaleway/redis/_inputs.py +330 -0
- pulumiverse_scaleway/redis/cluster.py +1203 -0
- pulumiverse_scaleway/redis/get_cluster.py +347 -0
- pulumiverse_scaleway/redis/outputs.py +356 -0
- pulumiverse_scaleway/redis_cluster.py +14 -8
- pulumiverse_scaleway/registry/__init__.py +11 -0
- pulumiverse_scaleway/registry/get_image.py +239 -0
- pulumiverse_scaleway/registry/get_image_tag.py +229 -0
- pulumiverse_scaleway/registry/get_namespace.py +199 -0
- pulumiverse_scaleway/registry/namespace.py +460 -0
- pulumiverse_scaleway/registry_namespace.py +8 -2
- pulumiverse_scaleway/sdb_database.py +10 -4
- pulumiverse_scaleway/secret.py +6 -0
- pulumiverse_scaleway/secret_version.py +12 -6
- pulumiverse_scaleway/secrets/__init__.py +13 -0
- pulumiverse_scaleway/secrets/_inputs.py +94 -0
- pulumiverse_scaleway/secrets/get_secret.py +338 -0
- pulumiverse_scaleway/secrets/get_version.py +340 -0
- pulumiverse_scaleway/secrets/outputs.py +120 -0
- pulumiverse_scaleway/secrets/secret.py +665 -0
- pulumiverse_scaleway/secrets/version.py +489 -0
- pulumiverse_scaleway/tem/__init__.py +13 -0
- pulumiverse_scaleway/tem/_inputs.py +135 -0
- pulumiverse_scaleway/tem/domain.py +1032 -0
- pulumiverse_scaleway/tem/domain_validation.py +305 -0
- pulumiverse_scaleway/tem/get_domain.py +378 -0
- pulumiverse_scaleway/tem/outputs.py +171 -0
- pulumiverse_scaleway/tem/webhook.py +642 -0
- pulumiverse_scaleway/tem_domain.py +20 -14
- pulumiverse_scaleway/tem_domain_validation.py +10 -4
- pulumiverse_scaleway/tem_webhook.py +28 -22
- pulumiverse_scaleway/vpc.py +10 -4
- pulumiverse_scaleway/vpc_gateway_network.py +40 -34
- pulumiverse_scaleway/vpc_private_network.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway.py +8 -2
- pulumiverse_scaleway/vpc_public_gateway_dhcp.py +15 -9
- pulumiverse_scaleway/vpc_public_gateway_dhcp_reservation.py +32 -26
- pulumiverse_scaleway/vpc_public_gateway_ip.py +10 -4
- pulumiverse_scaleway/vpc_public_gateway_ip_reverse_dns.py +12 -6
- pulumiverse_scaleway/vpc_public_gateway_pat_rule.py +26 -20
- pulumiverse_scaleway/vpc_route.py +16 -10
- pulumiverse_scaleway/webhosting.py +10 -4
- {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/METADATA +2 -2
- pulumiverse_scaleway-1.25.0a1742668904.dist-info/RECORD +470 -0
- {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/WHEEL +1 -1
- pulumiverse_scaleway-1.25.0a1742288097.dist-info/RECORD +0 -206
- {pulumiverse_scaleway-1.25.0a1742288097.dist-info → pulumiverse_scaleway-1.25.0a1742668904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1591 @@
|
|
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
|
+
offer: pulumi.Input[str],
|
25
|
+
description: Optional[pulumi.Input[str]] = None,
|
26
|
+
hostname: Optional[pulumi.Input[str]] = None,
|
27
|
+
install_config_afterward: Optional[pulumi.Input[bool]] = None,
|
28
|
+
name: Optional[pulumi.Input[str]] = None,
|
29
|
+
options: Optional[pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]]] = None,
|
30
|
+
os: Optional[pulumi.Input[str]] = None,
|
31
|
+
partitioning: Optional[pulumi.Input[str]] = None,
|
32
|
+
password: Optional[pulumi.Input[str]] = None,
|
33
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
|
34
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
35
|
+
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
36
|
+
service_password: Optional[pulumi.Input[str]] = None,
|
37
|
+
service_user: Optional[pulumi.Input[str]] = None,
|
38
|
+
ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
39
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
40
|
+
user: Optional[pulumi.Input[str]] = None,
|
41
|
+
zone: Optional[pulumi.Input[str]] = None):
|
42
|
+
"""
|
43
|
+
The set of arguments for constructing a Server resource.
|
44
|
+
:param pulumi.Input[str] offer: The offer UUID of the baremetal server.
|
45
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
46
|
+
|
47
|
+
> **Important:** Updates to `offer` will recreate the server.
|
48
|
+
:param pulumi.Input[str] description: A description for the server.
|
49
|
+
:param pulumi.Input[str] hostname: The hostname of the server.
|
50
|
+
:param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
|
51
|
+
:param pulumi.Input[str] name: The name of the server.
|
52
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]] options: The options to enable on the server.
|
53
|
+
> The `options` block supports:
|
54
|
+
:param pulumi.Input[str] os: The UUID of the os to install on the server.
|
55
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
56
|
+
> **Important:** Updates to `os` will reinstall the server.
|
57
|
+
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
58
|
+
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
59
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
60
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
61
|
+
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
62
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
63
|
+
:param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
|
64
|
+
:param pulumi.Input[str] service_user: User used for the service to install.
|
65
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
|
66
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
67
|
+
:param pulumi.Input[str] user: User used for the installation.
|
68
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
69
|
+
"""
|
70
|
+
pulumi.set(__self__, "offer", offer)
|
71
|
+
if description is not None:
|
72
|
+
pulumi.set(__self__, "description", description)
|
73
|
+
if hostname is not None:
|
74
|
+
pulumi.set(__self__, "hostname", hostname)
|
75
|
+
if install_config_afterward is not None:
|
76
|
+
pulumi.set(__self__, "install_config_afterward", install_config_afterward)
|
77
|
+
if name is not None:
|
78
|
+
pulumi.set(__self__, "name", name)
|
79
|
+
if options is not None:
|
80
|
+
pulumi.set(__self__, "options", options)
|
81
|
+
if os is not None:
|
82
|
+
pulumi.set(__self__, "os", os)
|
83
|
+
if partitioning is not None:
|
84
|
+
pulumi.set(__self__, "partitioning", partitioning)
|
85
|
+
if password is not None:
|
86
|
+
pulumi.set(__self__, "password", password)
|
87
|
+
if private_networks is not None:
|
88
|
+
pulumi.set(__self__, "private_networks", private_networks)
|
89
|
+
if project_id is not None:
|
90
|
+
pulumi.set(__self__, "project_id", project_id)
|
91
|
+
if reinstall_on_config_changes is not None:
|
92
|
+
pulumi.set(__self__, "reinstall_on_config_changes", reinstall_on_config_changes)
|
93
|
+
if service_password is not None:
|
94
|
+
pulumi.set(__self__, "service_password", service_password)
|
95
|
+
if service_user is not None:
|
96
|
+
pulumi.set(__self__, "service_user", service_user)
|
97
|
+
if ssh_key_ids is not None:
|
98
|
+
pulumi.set(__self__, "ssh_key_ids", ssh_key_ids)
|
99
|
+
if tags is not None:
|
100
|
+
pulumi.set(__self__, "tags", tags)
|
101
|
+
if user is not None:
|
102
|
+
pulumi.set(__self__, "user", user)
|
103
|
+
if zone is not None:
|
104
|
+
pulumi.set(__self__, "zone", zone)
|
105
|
+
|
106
|
+
@property
|
107
|
+
@pulumi.getter
|
108
|
+
def offer(self) -> pulumi.Input[str]:
|
109
|
+
"""
|
110
|
+
The offer UUID of the baremetal server.
|
111
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
112
|
+
|
113
|
+
> **Important:** Updates to `offer` will recreate the server.
|
114
|
+
"""
|
115
|
+
return pulumi.get(self, "offer")
|
116
|
+
|
117
|
+
@offer.setter
|
118
|
+
def offer(self, value: pulumi.Input[str]):
|
119
|
+
pulumi.set(self, "offer", value)
|
120
|
+
|
121
|
+
@property
|
122
|
+
@pulumi.getter
|
123
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
124
|
+
"""
|
125
|
+
A description for the server.
|
126
|
+
"""
|
127
|
+
return pulumi.get(self, "description")
|
128
|
+
|
129
|
+
@description.setter
|
130
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
131
|
+
pulumi.set(self, "description", value)
|
132
|
+
|
133
|
+
@property
|
134
|
+
@pulumi.getter
|
135
|
+
def hostname(self) -> Optional[pulumi.Input[str]]:
|
136
|
+
"""
|
137
|
+
The hostname of the server.
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "hostname")
|
140
|
+
|
141
|
+
@hostname.setter
|
142
|
+
def hostname(self, value: Optional[pulumi.Input[str]]):
|
143
|
+
pulumi.set(self, "hostname", value)
|
144
|
+
|
145
|
+
@property
|
146
|
+
@pulumi.getter(name="installConfigAfterward")
|
147
|
+
def install_config_afterward(self) -> Optional[pulumi.Input[bool]]:
|
148
|
+
"""
|
149
|
+
If True, this boolean allows to create a server without the install config if you want to provide it later.
|
150
|
+
"""
|
151
|
+
return pulumi.get(self, "install_config_afterward")
|
152
|
+
|
153
|
+
@install_config_afterward.setter
|
154
|
+
def install_config_afterward(self, value: Optional[pulumi.Input[bool]]):
|
155
|
+
pulumi.set(self, "install_config_afterward", value)
|
156
|
+
|
157
|
+
@property
|
158
|
+
@pulumi.getter
|
159
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
160
|
+
"""
|
161
|
+
The name of the server.
|
162
|
+
"""
|
163
|
+
return pulumi.get(self, "name")
|
164
|
+
|
165
|
+
@name.setter
|
166
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
167
|
+
pulumi.set(self, "name", value)
|
168
|
+
|
169
|
+
@property
|
170
|
+
@pulumi.getter
|
171
|
+
def options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]]]:
|
172
|
+
"""
|
173
|
+
The options to enable on the server.
|
174
|
+
> The `options` block supports:
|
175
|
+
"""
|
176
|
+
return pulumi.get(self, "options")
|
177
|
+
|
178
|
+
@options.setter
|
179
|
+
def options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]]]):
|
180
|
+
pulumi.set(self, "options", value)
|
181
|
+
|
182
|
+
@property
|
183
|
+
@pulumi.getter
|
184
|
+
def os(self) -> Optional[pulumi.Input[str]]:
|
185
|
+
"""
|
186
|
+
The UUID of the os to install on the server.
|
187
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
188
|
+
> **Important:** Updates to `os` will reinstall the server.
|
189
|
+
"""
|
190
|
+
return pulumi.get(self, "os")
|
191
|
+
|
192
|
+
@os.setter
|
193
|
+
def os(self, value: Optional[pulumi.Input[str]]):
|
194
|
+
pulumi.set(self, "os", value)
|
195
|
+
|
196
|
+
@property
|
197
|
+
@pulumi.getter
|
198
|
+
def partitioning(self) -> Optional[pulumi.Input[str]]:
|
199
|
+
"""
|
200
|
+
The partitioning schema in JSON format
|
201
|
+
"""
|
202
|
+
return pulumi.get(self, "partitioning")
|
203
|
+
|
204
|
+
@partitioning.setter
|
205
|
+
def partitioning(self, value: Optional[pulumi.Input[str]]):
|
206
|
+
pulumi.set(self, "partitioning", value)
|
207
|
+
|
208
|
+
@property
|
209
|
+
@pulumi.getter
|
210
|
+
def password(self) -> Optional[pulumi.Input[str]]:
|
211
|
+
"""
|
212
|
+
Password used for the installation. May be required depending on used os.
|
213
|
+
"""
|
214
|
+
return pulumi.get(self, "password")
|
215
|
+
|
216
|
+
@password.setter
|
217
|
+
def password(self, value: Optional[pulumi.Input[str]]):
|
218
|
+
pulumi.set(self, "password", value)
|
219
|
+
|
220
|
+
@property
|
221
|
+
@pulumi.getter(name="privateNetworks")
|
222
|
+
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
|
223
|
+
"""
|
224
|
+
The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
225
|
+
"""
|
226
|
+
return pulumi.get(self, "private_networks")
|
227
|
+
|
228
|
+
@private_networks.setter
|
229
|
+
def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]):
|
230
|
+
pulumi.set(self, "private_networks", value)
|
231
|
+
|
232
|
+
@property
|
233
|
+
@pulumi.getter(name="projectId")
|
234
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
235
|
+
"""
|
236
|
+
`project_id`) The ID of the project the server is associated with.
|
237
|
+
"""
|
238
|
+
return pulumi.get(self, "project_id")
|
239
|
+
|
240
|
+
@project_id.setter
|
241
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
242
|
+
pulumi.set(self, "project_id", value)
|
243
|
+
|
244
|
+
@property
|
245
|
+
@pulumi.getter(name="reinstallOnConfigChanges")
|
246
|
+
def reinstall_on_config_changes(self) -> Optional[pulumi.Input[bool]]:
|
247
|
+
"""
|
248
|
+
If True, this boolean allows to reinstall the server on install config changes.
|
249
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
250
|
+
"""
|
251
|
+
return pulumi.get(self, "reinstall_on_config_changes")
|
252
|
+
|
253
|
+
@reinstall_on_config_changes.setter
|
254
|
+
def reinstall_on_config_changes(self, value: Optional[pulumi.Input[bool]]):
|
255
|
+
pulumi.set(self, "reinstall_on_config_changes", value)
|
256
|
+
|
257
|
+
@property
|
258
|
+
@pulumi.getter(name="servicePassword")
|
259
|
+
def service_password(self) -> Optional[pulumi.Input[str]]:
|
260
|
+
"""
|
261
|
+
Password used for the service to install. May be required depending on used os.
|
262
|
+
"""
|
263
|
+
return pulumi.get(self, "service_password")
|
264
|
+
|
265
|
+
@service_password.setter
|
266
|
+
def service_password(self, value: Optional[pulumi.Input[str]]):
|
267
|
+
pulumi.set(self, "service_password", value)
|
268
|
+
|
269
|
+
@property
|
270
|
+
@pulumi.getter(name="serviceUser")
|
271
|
+
def service_user(self) -> Optional[pulumi.Input[str]]:
|
272
|
+
"""
|
273
|
+
User used for the service to install.
|
274
|
+
"""
|
275
|
+
return pulumi.get(self, "service_user")
|
276
|
+
|
277
|
+
@service_user.setter
|
278
|
+
def service_user(self, value: Optional[pulumi.Input[str]]):
|
279
|
+
pulumi.set(self, "service_user", value)
|
280
|
+
|
281
|
+
@property
|
282
|
+
@pulumi.getter(name="sshKeyIds")
|
283
|
+
def ssh_key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
284
|
+
"""
|
285
|
+
List of SSH keys allowed to connect to the server.
|
286
|
+
"""
|
287
|
+
return pulumi.get(self, "ssh_key_ids")
|
288
|
+
|
289
|
+
@ssh_key_ids.setter
|
290
|
+
def ssh_key_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
291
|
+
pulumi.set(self, "ssh_key_ids", value)
|
292
|
+
|
293
|
+
@property
|
294
|
+
@pulumi.getter
|
295
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
296
|
+
"""
|
297
|
+
The tags associated with the server.
|
298
|
+
"""
|
299
|
+
return pulumi.get(self, "tags")
|
300
|
+
|
301
|
+
@tags.setter
|
302
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
303
|
+
pulumi.set(self, "tags", value)
|
304
|
+
|
305
|
+
@property
|
306
|
+
@pulumi.getter
|
307
|
+
def user(self) -> Optional[pulumi.Input[str]]:
|
308
|
+
"""
|
309
|
+
User used for the installation.
|
310
|
+
"""
|
311
|
+
return pulumi.get(self, "user")
|
312
|
+
|
313
|
+
@user.setter
|
314
|
+
def user(self, value: Optional[pulumi.Input[str]]):
|
315
|
+
pulumi.set(self, "user", value)
|
316
|
+
|
317
|
+
@property
|
318
|
+
@pulumi.getter
|
319
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
320
|
+
"""
|
321
|
+
`zone`) The zone in which the server should be created.
|
322
|
+
"""
|
323
|
+
return pulumi.get(self, "zone")
|
324
|
+
|
325
|
+
@zone.setter
|
326
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
327
|
+
pulumi.set(self, "zone", value)
|
328
|
+
|
329
|
+
|
330
|
+
@pulumi.input_type
|
331
|
+
class _ServerState:
|
332
|
+
def __init__(__self__, *,
|
333
|
+
description: Optional[pulumi.Input[str]] = None,
|
334
|
+
domain: Optional[pulumi.Input[str]] = None,
|
335
|
+
hostname: Optional[pulumi.Input[str]] = None,
|
336
|
+
install_config_afterward: Optional[pulumi.Input[bool]] = None,
|
337
|
+
ips: Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpArgs']]]] = None,
|
338
|
+
ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpv4Args']]]] = None,
|
339
|
+
ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpv6Args']]]] = None,
|
340
|
+
name: Optional[pulumi.Input[str]] = None,
|
341
|
+
offer: Optional[pulumi.Input[str]] = None,
|
342
|
+
offer_id: Optional[pulumi.Input[str]] = None,
|
343
|
+
offer_name: Optional[pulumi.Input[str]] = None,
|
344
|
+
options: Optional[pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]]] = None,
|
345
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
346
|
+
os: Optional[pulumi.Input[str]] = None,
|
347
|
+
os_name: Optional[pulumi.Input[str]] = None,
|
348
|
+
partitioning: Optional[pulumi.Input[str]] = None,
|
349
|
+
password: Optional[pulumi.Input[str]] = None,
|
350
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]] = None,
|
351
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
352
|
+
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
353
|
+
service_password: Optional[pulumi.Input[str]] = None,
|
354
|
+
service_user: Optional[pulumi.Input[str]] = None,
|
355
|
+
ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
356
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
357
|
+
user: Optional[pulumi.Input[str]] = None,
|
358
|
+
zone: Optional[pulumi.Input[str]] = None):
|
359
|
+
"""
|
360
|
+
Input properties used for looking up and filtering Server resources.
|
361
|
+
:param pulumi.Input[str] description: A description for the server.
|
362
|
+
:param pulumi.Input[str] domain: The domain of the server.
|
363
|
+
:param pulumi.Input[str] hostname: The hostname of the server.
|
364
|
+
:param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
|
365
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerIpArgs']]] ips: (List of) The IPs of the server.
|
366
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerIpv4Args']]] ipv4s: (List of) The IPv4 addresses of the server.
|
367
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerIpv6Args']]] ipv6s: (List of) The IPv6 addresses of the server.
|
368
|
+
:param pulumi.Input[str] name: The name of the server.
|
369
|
+
:param pulumi.Input[str] offer: The offer UUID of the baremetal server.
|
370
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
371
|
+
|
372
|
+
> **Important:** Updates to `offer` will recreate the server.
|
373
|
+
:param pulumi.Input[str] offer_id: The ID of the offer.
|
374
|
+
:param pulumi.Input[str] offer_name: The name of the offer.
|
375
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]] options: The options to enable on the server.
|
376
|
+
> The `options` block supports:
|
377
|
+
:param pulumi.Input[str] organization_id: The organization ID the server is associated with.
|
378
|
+
:param pulumi.Input[str] os: The UUID of the os to install on the server.
|
379
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
380
|
+
> **Important:** Updates to `os` will reinstall the server.
|
381
|
+
:param pulumi.Input[str] os_name: The name of the os.
|
382
|
+
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
383
|
+
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
384
|
+
:param pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
385
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
386
|
+
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
387
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
388
|
+
:param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
|
389
|
+
:param pulumi.Input[str] service_user: User used for the service to install.
|
390
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
|
391
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
392
|
+
:param pulumi.Input[str] user: User used for the installation.
|
393
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
394
|
+
"""
|
395
|
+
if description is not None:
|
396
|
+
pulumi.set(__self__, "description", description)
|
397
|
+
if domain is not None:
|
398
|
+
pulumi.set(__self__, "domain", domain)
|
399
|
+
if hostname is not None:
|
400
|
+
pulumi.set(__self__, "hostname", hostname)
|
401
|
+
if install_config_afterward is not None:
|
402
|
+
pulumi.set(__self__, "install_config_afterward", install_config_afterward)
|
403
|
+
if ips is not None:
|
404
|
+
pulumi.set(__self__, "ips", ips)
|
405
|
+
if ipv4s is not None:
|
406
|
+
pulumi.set(__self__, "ipv4s", ipv4s)
|
407
|
+
if ipv6s is not None:
|
408
|
+
pulumi.set(__self__, "ipv6s", ipv6s)
|
409
|
+
if name is not None:
|
410
|
+
pulumi.set(__self__, "name", name)
|
411
|
+
if offer is not None:
|
412
|
+
pulumi.set(__self__, "offer", offer)
|
413
|
+
if offer_id is not None:
|
414
|
+
pulumi.set(__self__, "offer_id", offer_id)
|
415
|
+
if offer_name is not None:
|
416
|
+
pulumi.set(__self__, "offer_name", offer_name)
|
417
|
+
if options is not None:
|
418
|
+
pulumi.set(__self__, "options", options)
|
419
|
+
if organization_id is not None:
|
420
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
421
|
+
if os is not None:
|
422
|
+
pulumi.set(__self__, "os", os)
|
423
|
+
if os_name is not None:
|
424
|
+
pulumi.set(__self__, "os_name", os_name)
|
425
|
+
if partitioning is not None:
|
426
|
+
pulumi.set(__self__, "partitioning", partitioning)
|
427
|
+
if password is not None:
|
428
|
+
pulumi.set(__self__, "password", password)
|
429
|
+
if private_networks is not None:
|
430
|
+
pulumi.set(__self__, "private_networks", private_networks)
|
431
|
+
if project_id is not None:
|
432
|
+
pulumi.set(__self__, "project_id", project_id)
|
433
|
+
if reinstall_on_config_changes is not None:
|
434
|
+
pulumi.set(__self__, "reinstall_on_config_changes", reinstall_on_config_changes)
|
435
|
+
if service_password is not None:
|
436
|
+
pulumi.set(__self__, "service_password", service_password)
|
437
|
+
if service_user is not None:
|
438
|
+
pulumi.set(__self__, "service_user", service_user)
|
439
|
+
if ssh_key_ids is not None:
|
440
|
+
pulumi.set(__self__, "ssh_key_ids", ssh_key_ids)
|
441
|
+
if tags is not None:
|
442
|
+
pulumi.set(__self__, "tags", tags)
|
443
|
+
if user is not None:
|
444
|
+
pulumi.set(__self__, "user", user)
|
445
|
+
if zone is not None:
|
446
|
+
pulumi.set(__self__, "zone", zone)
|
447
|
+
|
448
|
+
@property
|
449
|
+
@pulumi.getter
|
450
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
451
|
+
"""
|
452
|
+
A description for the server.
|
453
|
+
"""
|
454
|
+
return pulumi.get(self, "description")
|
455
|
+
|
456
|
+
@description.setter
|
457
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
458
|
+
pulumi.set(self, "description", value)
|
459
|
+
|
460
|
+
@property
|
461
|
+
@pulumi.getter
|
462
|
+
def domain(self) -> Optional[pulumi.Input[str]]:
|
463
|
+
"""
|
464
|
+
The domain of the server.
|
465
|
+
"""
|
466
|
+
return pulumi.get(self, "domain")
|
467
|
+
|
468
|
+
@domain.setter
|
469
|
+
def domain(self, value: Optional[pulumi.Input[str]]):
|
470
|
+
pulumi.set(self, "domain", value)
|
471
|
+
|
472
|
+
@property
|
473
|
+
@pulumi.getter
|
474
|
+
def hostname(self) -> Optional[pulumi.Input[str]]:
|
475
|
+
"""
|
476
|
+
The hostname of the server.
|
477
|
+
"""
|
478
|
+
return pulumi.get(self, "hostname")
|
479
|
+
|
480
|
+
@hostname.setter
|
481
|
+
def hostname(self, value: Optional[pulumi.Input[str]]):
|
482
|
+
pulumi.set(self, "hostname", value)
|
483
|
+
|
484
|
+
@property
|
485
|
+
@pulumi.getter(name="installConfigAfterward")
|
486
|
+
def install_config_afterward(self) -> Optional[pulumi.Input[bool]]:
|
487
|
+
"""
|
488
|
+
If True, this boolean allows to create a server without the install config if you want to provide it later.
|
489
|
+
"""
|
490
|
+
return pulumi.get(self, "install_config_afterward")
|
491
|
+
|
492
|
+
@install_config_afterward.setter
|
493
|
+
def install_config_afterward(self, value: Optional[pulumi.Input[bool]]):
|
494
|
+
pulumi.set(self, "install_config_afterward", value)
|
495
|
+
|
496
|
+
@property
|
497
|
+
@pulumi.getter
|
498
|
+
def ips(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpArgs']]]]:
|
499
|
+
"""
|
500
|
+
(List of) The IPs of the server.
|
501
|
+
"""
|
502
|
+
return pulumi.get(self, "ips")
|
503
|
+
|
504
|
+
@ips.setter
|
505
|
+
def ips(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpArgs']]]]):
|
506
|
+
pulumi.set(self, "ips", value)
|
507
|
+
|
508
|
+
@property
|
509
|
+
@pulumi.getter
|
510
|
+
def ipv4s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpv4Args']]]]:
|
511
|
+
"""
|
512
|
+
(List of) The IPv4 addresses of the server.
|
513
|
+
"""
|
514
|
+
return pulumi.get(self, "ipv4s")
|
515
|
+
|
516
|
+
@ipv4s.setter
|
517
|
+
def ipv4s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpv4Args']]]]):
|
518
|
+
pulumi.set(self, "ipv4s", value)
|
519
|
+
|
520
|
+
@property
|
521
|
+
@pulumi.getter
|
522
|
+
def ipv6s(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpv6Args']]]]:
|
523
|
+
"""
|
524
|
+
(List of) The IPv6 addresses of the server.
|
525
|
+
"""
|
526
|
+
return pulumi.get(self, "ipv6s")
|
527
|
+
|
528
|
+
@ipv6s.setter
|
529
|
+
def ipv6s(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerIpv6Args']]]]):
|
530
|
+
pulumi.set(self, "ipv6s", value)
|
531
|
+
|
532
|
+
@property
|
533
|
+
@pulumi.getter
|
534
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
535
|
+
"""
|
536
|
+
The name of the server.
|
537
|
+
"""
|
538
|
+
return pulumi.get(self, "name")
|
539
|
+
|
540
|
+
@name.setter
|
541
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
542
|
+
pulumi.set(self, "name", value)
|
543
|
+
|
544
|
+
@property
|
545
|
+
@pulumi.getter
|
546
|
+
def offer(self) -> Optional[pulumi.Input[str]]:
|
547
|
+
"""
|
548
|
+
The offer UUID of the baremetal server.
|
549
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
550
|
+
|
551
|
+
> **Important:** Updates to `offer` will recreate the server.
|
552
|
+
"""
|
553
|
+
return pulumi.get(self, "offer")
|
554
|
+
|
555
|
+
@offer.setter
|
556
|
+
def offer(self, value: Optional[pulumi.Input[str]]):
|
557
|
+
pulumi.set(self, "offer", value)
|
558
|
+
|
559
|
+
@property
|
560
|
+
@pulumi.getter(name="offerId")
|
561
|
+
def offer_id(self) -> Optional[pulumi.Input[str]]:
|
562
|
+
"""
|
563
|
+
The ID of the offer.
|
564
|
+
"""
|
565
|
+
return pulumi.get(self, "offer_id")
|
566
|
+
|
567
|
+
@offer_id.setter
|
568
|
+
def offer_id(self, value: Optional[pulumi.Input[str]]):
|
569
|
+
pulumi.set(self, "offer_id", value)
|
570
|
+
|
571
|
+
@property
|
572
|
+
@pulumi.getter(name="offerName")
|
573
|
+
def offer_name(self) -> Optional[pulumi.Input[str]]:
|
574
|
+
"""
|
575
|
+
The name of the offer.
|
576
|
+
"""
|
577
|
+
return pulumi.get(self, "offer_name")
|
578
|
+
|
579
|
+
@offer_name.setter
|
580
|
+
def offer_name(self, value: Optional[pulumi.Input[str]]):
|
581
|
+
pulumi.set(self, "offer_name", value)
|
582
|
+
|
583
|
+
@property
|
584
|
+
@pulumi.getter
|
585
|
+
def options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]]]:
|
586
|
+
"""
|
587
|
+
The options to enable on the server.
|
588
|
+
> The `options` block supports:
|
589
|
+
"""
|
590
|
+
return pulumi.get(self, "options")
|
591
|
+
|
592
|
+
@options.setter
|
593
|
+
def options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerOptionArgs']]]]):
|
594
|
+
pulumi.set(self, "options", value)
|
595
|
+
|
596
|
+
@property
|
597
|
+
@pulumi.getter(name="organizationId")
|
598
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
599
|
+
"""
|
600
|
+
The organization ID the server is associated with.
|
601
|
+
"""
|
602
|
+
return pulumi.get(self, "organization_id")
|
603
|
+
|
604
|
+
@organization_id.setter
|
605
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
606
|
+
pulumi.set(self, "organization_id", value)
|
607
|
+
|
608
|
+
@property
|
609
|
+
@pulumi.getter
|
610
|
+
def os(self) -> Optional[pulumi.Input[str]]:
|
611
|
+
"""
|
612
|
+
The UUID of the os to install on the server.
|
613
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
614
|
+
> **Important:** Updates to `os` will reinstall the server.
|
615
|
+
"""
|
616
|
+
return pulumi.get(self, "os")
|
617
|
+
|
618
|
+
@os.setter
|
619
|
+
def os(self, value: Optional[pulumi.Input[str]]):
|
620
|
+
pulumi.set(self, "os", value)
|
621
|
+
|
622
|
+
@property
|
623
|
+
@pulumi.getter(name="osName")
|
624
|
+
def os_name(self) -> Optional[pulumi.Input[str]]:
|
625
|
+
"""
|
626
|
+
The name of the os.
|
627
|
+
"""
|
628
|
+
return pulumi.get(self, "os_name")
|
629
|
+
|
630
|
+
@os_name.setter
|
631
|
+
def os_name(self, value: Optional[pulumi.Input[str]]):
|
632
|
+
pulumi.set(self, "os_name", value)
|
633
|
+
|
634
|
+
@property
|
635
|
+
@pulumi.getter
|
636
|
+
def partitioning(self) -> Optional[pulumi.Input[str]]:
|
637
|
+
"""
|
638
|
+
The partitioning schema in JSON format
|
639
|
+
"""
|
640
|
+
return pulumi.get(self, "partitioning")
|
641
|
+
|
642
|
+
@partitioning.setter
|
643
|
+
def partitioning(self, value: Optional[pulumi.Input[str]]):
|
644
|
+
pulumi.set(self, "partitioning", value)
|
645
|
+
|
646
|
+
@property
|
647
|
+
@pulumi.getter
|
648
|
+
def password(self) -> Optional[pulumi.Input[str]]:
|
649
|
+
"""
|
650
|
+
Password used for the installation. May be required depending on used os.
|
651
|
+
"""
|
652
|
+
return pulumi.get(self, "password")
|
653
|
+
|
654
|
+
@password.setter
|
655
|
+
def password(self, value: Optional[pulumi.Input[str]]):
|
656
|
+
pulumi.set(self, "password", value)
|
657
|
+
|
658
|
+
@property
|
659
|
+
@pulumi.getter(name="privateNetworks")
|
660
|
+
def private_networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]:
|
661
|
+
"""
|
662
|
+
The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
663
|
+
"""
|
664
|
+
return pulumi.get(self, "private_networks")
|
665
|
+
|
666
|
+
@private_networks.setter
|
667
|
+
def private_networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServerPrivateNetworkArgs']]]]):
|
668
|
+
pulumi.set(self, "private_networks", value)
|
669
|
+
|
670
|
+
@property
|
671
|
+
@pulumi.getter(name="projectId")
|
672
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
673
|
+
"""
|
674
|
+
`project_id`) The ID of the project the server is associated with.
|
675
|
+
"""
|
676
|
+
return pulumi.get(self, "project_id")
|
677
|
+
|
678
|
+
@project_id.setter
|
679
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
680
|
+
pulumi.set(self, "project_id", value)
|
681
|
+
|
682
|
+
@property
|
683
|
+
@pulumi.getter(name="reinstallOnConfigChanges")
|
684
|
+
def reinstall_on_config_changes(self) -> Optional[pulumi.Input[bool]]:
|
685
|
+
"""
|
686
|
+
If True, this boolean allows to reinstall the server on install config changes.
|
687
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
688
|
+
"""
|
689
|
+
return pulumi.get(self, "reinstall_on_config_changes")
|
690
|
+
|
691
|
+
@reinstall_on_config_changes.setter
|
692
|
+
def reinstall_on_config_changes(self, value: Optional[pulumi.Input[bool]]):
|
693
|
+
pulumi.set(self, "reinstall_on_config_changes", value)
|
694
|
+
|
695
|
+
@property
|
696
|
+
@pulumi.getter(name="servicePassword")
|
697
|
+
def service_password(self) -> Optional[pulumi.Input[str]]:
|
698
|
+
"""
|
699
|
+
Password used for the service to install. May be required depending on used os.
|
700
|
+
"""
|
701
|
+
return pulumi.get(self, "service_password")
|
702
|
+
|
703
|
+
@service_password.setter
|
704
|
+
def service_password(self, value: Optional[pulumi.Input[str]]):
|
705
|
+
pulumi.set(self, "service_password", value)
|
706
|
+
|
707
|
+
@property
|
708
|
+
@pulumi.getter(name="serviceUser")
|
709
|
+
def service_user(self) -> Optional[pulumi.Input[str]]:
|
710
|
+
"""
|
711
|
+
User used for the service to install.
|
712
|
+
"""
|
713
|
+
return pulumi.get(self, "service_user")
|
714
|
+
|
715
|
+
@service_user.setter
|
716
|
+
def service_user(self, value: Optional[pulumi.Input[str]]):
|
717
|
+
pulumi.set(self, "service_user", value)
|
718
|
+
|
719
|
+
@property
|
720
|
+
@pulumi.getter(name="sshKeyIds")
|
721
|
+
def ssh_key_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
722
|
+
"""
|
723
|
+
List of SSH keys allowed to connect to the server.
|
724
|
+
"""
|
725
|
+
return pulumi.get(self, "ssh_key_ids")
|
726
|
+
|
727
|
+
@ssh_key_ids.setter
|
728
|
+
def ssh_key_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
729
|
+
pulumi.set(self, "ssh_key_ids", value)
|
730
|
+
|
731
|
+
@property
|
732
|
+
@pulumi.getter
|
733
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
734
|
+
"""
|
735
|
+
The tags associated with the server.
|
736
|
+
"""
|
737
|
+
return pulumi.get(self, "tags")
|
738
|
+
|
739
|
+
@tags.setter
|
740
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
741
|
+
pulumi.set(self, "tags", value)
|
742
|
+
|
743
|
+
@property
|
744
|
+
@pulumi.getter
|
745
|
+
def user(self) -> Optional[pulumi.Input[str]]:
|
746
|
+
"""
|
747
|
+
User used for the installation.
|
748
|
+
"""
|
749
|
+
return pulumi.get(self, "user")
|
750
|
+
|
751
|
+
@user.setter
|
752
|
+
def user(self, value: Optional[pulumi.Input[str]]):
|
753
|
+
pulumi.set(self, "user", value)
|
754
|
+
|
755
|
+
@property
|
756
|
+
@pulumi.getter
|
757
|
+
def zone(self) -> Optional[pulumi.Input[str]]:
|
758
|
+
"""
|
759
|
+
`zone`) The zone in which the server should be created.
|
760
|
+
"""
|
761
|
+
return pulumi.get(self, "zone")
|
762
|
+
|
763
|
+
@zone.setter
|
764
|
+
def zone(self, value: Optional[pulumi.Input[str]]):
|
765
|
+
pulumi.set(self, "zone", value)
|
766
|
+
|
767
|
+
|
768
|
+
class Server(pulumi.CustomResource):
|
769
|
+
@overload
|
770
|
+
def __init__(__self__,
|
771
|
+
resource_name: str,
|
772
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
773
|
+
description: Optional[pulumi.Input[str]] = None,
|
774
|
+
hostname: Optional[pulumi.Input[str]] = None,
|
775
|
+
install_config_afterward: Optional[pulumi.Input[bool]] = None,
|
776
|
+
name: Optional[pulumi.Input[str]] = None,
|
777
|
+
offer: Optional[pulumi.Input[str]] = None,
|
778
|
+
options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerOptionArgs', 'ServerOptionArgsDict']]]]] = None,
|
779
|
+
os: Optional[pulumi.Input[str]] = None,
|
780
|
+
partitioning: Optional[pulumi.Input[str]] = None,
|
781
|
+
password: Optional[pulumi.Input[str]] = None,
|
782
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
|
783
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
784
|
+
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
785
|
+
service_password: Optional[pulumi.Input[str]] = None,
|
786
|
+
service_user: Optional[pulumi.Input[str]] = None,
|
787
|
+
ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
788
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
789
|
+
user: Optional[pulumi.Input[str]] = None,
|
790
|
+
zone: Optional[pulumi.Input[str]] = None,
|
791
|
+
__props__=None):
|
792
|
+
"""
|
793
|
+
Creates and manages Scaleway Compute Baremetal servers. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal/).
|
794
|
+
|
795
|
+
## Example Usage
|
796
|
+
|
797
|
+
### Basic
|
798
|
+
|
799
|
+
```python
|
800
|
+
import pulumi
|
801
|
+
import pulumi_scaleway as scaleway
|
802
|
+
import pulumiverse_scaleway as scaleway
|
803
|
+
|
804
|
+
main = scaleway.iam.get_ssh_key(name="main")
|
805
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
806
|
+
name="EM-I220E-NVME")
|
807
|
+
base = scaleway.elasticmetal.Server("base",
|
808
|
+
zone="fr-par-2",
|
809
|
+
offer=my_offer.offer_id,
|
810
|
+
os="d17d6872-0412-45d9-a198-af82c34d3c5c",
|
811
|
+
ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
|
812
|
+
```
|
813
|
+
|
814
|
+
### With option
|
815
|
+
|
816
|
+
```python
|
817
|
+
import pulumi
|
818
|
+
import pulumi_scaleway as scaleway
|
819
|
+
import pulumiverse_scaleway as scaleway
|
820
|
+
|
821
|
+
main = scaleway.iam.get_ssh_key(name="main")
|
822
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
|
823
|
+
name="Ubuntu",
|
824
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
825
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
826
|
+
name="EM-B112X-SSD")
|
827
|
+
private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
|
828
|
+
name="Private Network")
|
829
|
+
remote_access = scaleway.elasticmetal.get_option(zone="fr-par-2",
|
830
|
+
name="Remote Access")
|
831
|
+
base = scaleway.elasticmetal.Server("base",
|
832
|
+
zone="fr-par-2",
|
833
|
+
offer=my_offer.offer_id,
|
834
|
+
os=my_os.os_id,
|
835
|
+
ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
|
836
|
+
options=[
|
837
|
+
{
|
838
|
+
"id": private_network.option_id,
|
839
|
+
},
|
840
|
+
{
|
841
|
+
"id": remote_access.option_id,
|
842
|
+
},
|
843
|
+
])
|
844
|
+
```
|
845
|
+
|
846
|
+
### With private network
|
847
|
+
|
848
|
+
```python
|
849
|
+
import pulumi
|
850
|
+
import pulumi_scaleway as scaleway
|
851
|
+
import pulumiverse_scaleway as scaleway
|
852
|
+
|
853
|
+
main = scaleway.iam.get_ssh_key(name="main")
|
854
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
|
855
|
+
name="Ubuntu",
|
856
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
857
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
858
|
+
name="EM-B112X-SSD")
|
859
|
+
private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
|
860
|
+
name="Private Network")
|
861
|
+
pn = scaleway.network.PrivateNetwork("pn",
|
862
|
+
region="fr-par",
|
863
|
+
name="baremetal_private_network")
|
864
|
+
base = scaleway.elasticmetal.Server("base",
|
865
|
+
zone="fr-par-2",
|
866
|
+
offer=my_offer.offer_id,
|
867
|
+
os=my_os.os_id,
|
868
|
+
ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
|
869
|
+
options=[{
|
870
|
+
"id": private_network.option_id,
|
871
|
+
}],
|
872
|
+
private_networks=[{
|
873
|
+
"id": pn.id,
|
874
|
+
}])
|
875
|
+
```
|
876
|
+
|
877
|
+
### With IPAM IP IDs
|
878
|
+
|
879
|
+
```python
|
880
|
+
import pulumi
|
881
|
+
import pulumi_scaleway as scaleway
|
882
|
+
import pulumiverse_scaleway as scaleway
|
883
|
+
|
884
|
+
vpc01 = scaleway.network.Vpc("vpc01", name="vpc_baremetal")
|
885
|
+
pn01 = scaleway.network.PrivateNetwork("pn01",
|
886
|
+
name="private_network_baremetal",
|
887
|
+
ipv4_subnet={
|
888
|
+
"subnet": "172.16.64.0/22",
|
889
|
+
},
|
890
|
+
vpc_id=vpc01.id)
|
891
|
+
ip01 = scaleway.ipam.Ip("ip01",
|
892
|
+
address="172.16.64.7",
|
893
|
+
sources=[{
|
894
|
+
"private_network_id": pn01.id,
|
895
|
+
}])
|
896
|
+
my_key = scaleway.iam.get_ssh_key(name="main")
|
897
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
|
898
|
+
name="Ubuntu",
|
899
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
900
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
901
|
+
name="EM-A115X-SSD")
|
902
|
+
private_network = scaleway.elasticmetal.get_option(zone="fr-par-1",
|
903
|
+
name="Private Network")
|
904
|
+
base = scaleway.elasticmetal.Server("base",
|
905
|
+
zone="fr-par-2",
|
906
|
+
offer=my_offer.offer_id,
|
907
|
+
os=my_os.os_id,
|
908
|
+
ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
|
909
|
+
options=[{
|
910
|
+
"id": private_network.option_id,
|
911
|
+
}],
|
912
|
+
private_networks=[{
|
913
|
+
"id": pn01.id,
|
914
|
+
"ipam_ip_ids": [ip01.id],
|
915
|
+
}])
|
916
|
+
```
|
917
|
+
|
918
|
+
### Without install config
|
919
|
+
|
920
|
+
```python
|
921
|
+
import pulumi
|
922
|
+
import pulumi_scaleway as scaleway
|
923
|
+
import pulumiverse_scaleway as scaleway
|
924
|
+
|
925
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
926
|
+
name="EM-B112X-SSD")
|
927
|
+
base = scaleway.elasticmetal.Server("base",
|
928
|
+
zone="fr-par-2",
|
929
|
+
offer=my_offer.offer_id,
|
930
|
+
install_config_afterward=True)
|
931
|
+
```
|
932
|
+
|
933
|
+
### With custom partitioning
|
934
|
+
|
935
|
+
```python
|
936
|
+
import pulumi
|
937
|
+
import pulumi_scaleway as scaleway
|
938
|
+
import pulumiverse_scaleway as scaleway
|
939
|
+
|
940
|
+
config = pulumi.Config()
|
941
|
+
config_custom_partitioning = config.get("configCustomPartitioning")
|
942
|
+
if config_custom_partitioning is None:
|
943
|
+
config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}"
|
944
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
|
945
|
+
name="Ubuntu",
|
946
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
947
|
+
main = scaleway.iam.SshKey("main", name="main")
|
948
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
949
|
+
name="EM-B220E-NVME",
|
950
|
+
subscription_period="hourly")
|
951
|
+
base = scaleway.elasticmetal.Server("base",
|
952
|
+
name="%s",
|
953
|
+
zone="fr-par-1",
|
954
|
+
description="test a description",
|
955
|
+
offer=my_offer.offer_id,
|
956
|
+
os=my_os.os_id,
|
957
|
+
partitioning=config_custom_partitioning,
|
958
|
+
tags=[
|
959
|
+
"terraform-test",
|
960
|
+
"scaleway_baremetal_server",
|
961
|
+
"minimal",
|
962
|
+
],
|
963
|
+
ssh_key_ids=[main.id])
|
964
|
+
```
|
965
|
+
|
966
|
+
## Import
|
967
|
+
|
968
|
+
Baremetal servers can be imported using the `{zone}/{id}`, e.g.
|
969
|
+
|
970
|
+
bash
|
971
|
+
|
972
|
+
```sh
|
973
|
+
$ pulumi import scaleway:elasticmetal/server:Server web fr-par-2/11111111-1111-1111-1111-111111111111
|
974
|
+
```
|
975
|
+
|
976
|
+
:param str resource_name: The name of the resource.
|
977
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
978
|
+
:param pulumi.Input[str] description: A description for the server.
|
979
|
+
:param pulumi.Input[str] hostname: The hostname of the server.
|
980
|
+
:param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
|
981
|
+
:param pulumi.Input[str] name: The name of the server.
|
982
|
+
:param pulumi.Input[str] offer: The offer UUID of the baremetal server.
|
983
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
984
|
+
|
985
|
+
> **Important:** Updates to `offer` will recreate the server.
|
986
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerOptionArgs', 'ServerOptionArgsDict']]]] options: The options to enable on the server.
|
987
|
+
> The `options` block supports:
|
988
|
+
:param pulumi.Input[str] os: The UUID of the os to install on the server.
|
989
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
990
|
+
> **Important:** Updates to `os` will reinstall the server.
|
991
|
+
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
992
|
+
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
993
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
994
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
995
|
+
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
996
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
997
|
+
:param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
|
998
|
+
:param pulumi.Input[str] service_user: User used for the service to install.
|
999
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
|
1000
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
1001
|
+
:param pulumi.Input[str] user: User used for the installation.
|
1002
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
1003
|
+
"""
|
1004
|
+
...
|
1005
|
+
@overload
|
1006
|
+
def __init__(__self__,
|
1007
|
+
resource_name: str,
|
1008
|
+
args: ServerArgs,
|
1009
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
1010
|
+
"""
|
1011
|
+
Creates and manages Scaleway Compute Baremetal servers. For more information, see the [API documentation](https://www.scaleway.com/en/developers/api/elastic-metal/).
|
1012
|
+
|
1013
|
+
## Example Usage
|
1014
|
+
|
1015
|
+
### Basic
|
1016
|
+
|
1017
|
+
```python
|
1018
|
+
import pulumi
|
1019
|
+
import pulumi_scaleway as scaleway
|
1020
|
+
import pulumiverse_scaleway as scaleway
|
1021
|
+
|
1022
|
+
main = scaleway.iam.get_ssh_key(name="main")
|
1023
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
1024
|
+
name="EM-I220E-NVME")
|
1025
|
+
base = scaleway.elasticmetal.Server("base",
|
1026
|
+
zone="fr-par-2",
|
1027
|
+
offer=my_offer.offer_id,
|
1028
|
+
os="d17d6872-0412-45d9-a198-af82c34d3c5c",
|
1029
|
+
ssh_key_ids=[main_scaleway_account_ssh_key["id"]])
|
1030
|
+
```
|
1031
|
+
|
1032
|
+
### With option
|
1033
|
+
|
1034
|
+
```python
|
1035
|
+
import pulumi
|
1036
|
+
import pulumi_scaleway as scaleway
|
1037
|
+
import pulumiverse_scaleway as scaleway
|
1038
|
+
|
1039
|
+
main = scaleway.iam.get_ssh_key(name="main")
|
1040
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
|
1041
|
+
name="Ubuntu",
|
1042
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
1043
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
1044
|
+
name="EM-B112X-SSD")
|
1045
|
+
private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
|
1046
|
+
name="Private Network")
|
1047
|
+
remote_access = scaleway.elasticmetal.get_option(zone="fr-par-2",
|
1048
|
+
name="Remote Access")
|
1049
|
+
base = scaleway.elasticmetal.Server("base",
|
1050
|
+
zone="fr-par-2",
|
1051
|
+
offer=my_offer.offer_id,
|
1052
|
+
os=my_os.os_id,
|
1053
|
+
ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
|
1054
|
+
options=[
|
1055
|
+
{
|
1056
|
+
"id": private_network.option_id,
|
1057
|
+
},
|
1058
|
+
{
|
1059
|
+
"id": remote_access.option_id,
|
1060
|
+
},
|
1061
|
+
])
|
1062
|
+
```
|
1063
|
+
|
1064
|
+
### With private network
|
1065
|
+
|
1066
|
+
```python
|
1067
|
+
import pulumi
|
1068
|
+
import pulumi_scaleway as scaleway
|
1069
|
+
import pulumiverse_scaleway as scaleway
|
1070
|
+
|
1071
|
+
main = scaleway.iam.get_ssh_key(name="main")
|
1072
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-2",
|
1073
|
+
name="Ubuntu",
|
1074
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
1075
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
1076
|
+
name="EM-B112X-SSD")
|
1077
|
+
private_network = scaleway.elasticmetal.get_option(zone="fr-par-2",
|
1078
|
+
name="Private Network")
|
1079
|
+
pn = scaleway.network.PrivateNetwork("pn",
|
1080
|
+
region="fr-par",
|
1081
|
+
name="baremetal_private_network")
|
1082
|
+
base = scaleway.elasticmetal.Server("base",
|
1083
|
+
zone="fr-par-2",
|
1084
|
+
offer=my_offer.offer_id,
|
1085
|
+
os=my_os.os_id,
|
1086
|
+
ssh_key_ids=[main_scaleway_account_ssh_key["id"]],
|
1087
|
+
options=[{
|
1088
|
+
"id": private_network.option_id,
|
1089
|
+
}],
|
1090
|
+
private_networks=[{
|
1091
|
+
"id": pn.id,
|
1092
|
+
}])
|
1093
|
+
```
|
1094
|
+
|
1095
|
+
### With IPAM IP IDs
|
1096
|
+
|
1097
|
+
```python
|
1098
|
+
import pulumi
|
1099
|
+
import pulumi_scaleway as scaleway
|
1100
|
+
import pulumiverse_scaleway as scaleway
|
1101
|
+
|
1102
|
+
vpc01 = scaleway.network.Vpc("vpc01", name="vpc_baremetal")
|
1103
|
+
pn01 = scaleway.network.PrivateNetwork("pn01",
|
1104
|
+
name="private_network_baremetal",
|
1105
|
+
ipv4_subnet={
|
1106
|
+
"subnet": "172.16.64.0/22",
|
1107
|
+
},
|
1108
|
+
vpc_id=vpc01.id)
|
1109
|
+
ip01 = scaleway.ipam.Ip("ip01",
|
1110
|
+
address="172.16.64.7",
|
1111
|
+
sources=[{
|
1112
|
+
"private_network_id": pn01.id,
|
1113
|
+
}])
|
1114
|
+
my_key = scaleway.iam.get_ssh_key(name="main")
|
1115
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
|
1116
|
+
name="Ubuntu",
|
1117
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
1118
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
1119
|
+
name="EM-A115X-SSD")
|
1120
|
+
private_network = scaleway.elasticmetal.get_option(zone="fr-par-1",
|
1121
|
+
name="Private Network")
|
1122
|
+
base = scaleway.elasticmetal.Server("base",
|
1123
|
+
zone="fr-par-2",
|
1124
|
+
offer=my_offer.offer_id,
|
1125
|
+
os=my_os.os_id,
|
1126
|
+
ssh_key_ids=[my_key_scaleway_account_ssh_key["id"]],
|
1127
|
+
options=[{
|
1128
|
+
"id": private_network.option_id,
|
1129
|
+
}],
|
1130
|
+
private_networks=[{
|
1131
|
+
"id": pn01.id,
|
1132
|
+
"ipam_ip_ids": [ip01.id],
|
1133
|
+
}])
|
1134
|
+
```
|
1135
|
+
|
1136
|
+
### Without install config
|
1137
|
+
|
1138
|
+
```python
|
1139
|
+
import pulumi
|
1140
|
+
import pulumi_scaleway as scaleway
|
1141
|
+
import pulumiverse_scaleway as scaleway
|
1142
|
+
|
1143
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-2",
|
1144
|
+
name="EM-B112X-SSD")
|
1145
|
+
base = scaleway.elasticmetal.Server("base",
|
1146
|
+
zone="fr-par-2",
|
1147
|
+
offer=my_offer.offer_id,
|
1148
|
+
install_config_afterward=True)
|
1149
|
+
```
|
1150
|
+
|
1151
|
+
### With custom partitioning
|
1152
|
+
|
1153
|
+
```python
|
1154
|
+
import pulumi
|
1155
|
+
import pulumi_scaleway as scaleway
|
1156
|
+
import pulumiverse_scaleway as scaleway
|
1157
|
+
|
1158
|
+
config = pulumi.Config()
|
1159
|
+
config_custom_partitioning = config.get("configCustomPartitioning")
|
1160
|
+
if config_custom_partitioning is None:
|
1161
|
+
config_custom_partitioning = "{\\"disks\\":[{\\"device\\":\\"/dev/nvme0n1\\",\\"partitions\\":[{\\"label\\":\\"uefi\\",\\"number\\":1,\\"size\\":536870912},{\\"label\\":\\"swap\\",\\"number\\":2,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":3,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":4,\\"size\\":1017827045376}]},{\\"device\\":\\"/dev/nvme1n1\\",\\"partitions\\":[{\\"label\\":\\"swap\\",\\"number\\":1,\\"size\\":4294967296},{\\"label\\":\\"boot\\",\\"number\\":2,\\"size\\":1073741824},{\\"label\\":\\"root\\",\\"number\\":3,\\"size\\":1017827045376}]}],\\"filesystems\\":[{\\"device\\":\\"/dev/nvme0n1p1\\",\\"format\\":\\"fat32\\",\\"mountpoint\\":\\"/boot/efi\\"},{\\"device\\":\\"/dev/md0\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/boot\\"},{\\"device\\":\\"/dev/md1\\",\\"format\\":\\"ext4\\",\\"mountpoint\\":\\"/\\"}],\\"raids\\":[{\\"devices\\":[\\"/dev/nvme0n1p3\\",\\"/dev/nvme1n1p2\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md0\\"},{\\"devices\\":[\\"/dev/nvme0n1p4\\",\\"/dev/nvme1n1p3\\"],\\"level\\":\\"raid_level_1\\",\\"name\\":\\"/dev/md1\\"}],\\"zfs\\":{\\"pools\\":[]}}"
|
1162
|
+
my_os = scaleway.elasticmetal.get_os(zone="fr-par-1",
|
1163
|
+
name="Ubuntu",
|
1164
|
+
version="22.04 LTS (Jammy Jellyfish)")
|
1165
|
+
main = scaleway.iam.SshKey("main", name="main")
|
1166
|
+
my_offer = scaleway.elasticmetal.get_offer(zone="fr-par-1",
|
1167
|
+
name="EM-B220E-NVME",
|
1168
|
+
subscription_period="hourly")
|
1169
|
+
base = scaleway.elasticmetal.Server("base",
|
1170
|
+
name="%s",
|
1171
|
+
zone="fr-par-1",
|
1172
|
+
description="test a description",
|
1173
|
+
offer=my_offer.offer_id,
|
1174
|
+
os=my_os.os_id,
|
1175
|
+
partitioning=config_custom_partitioning,
|
1176
|
+
tags=[
|
1177
|
+
"terraform-test",
|
1178
|
+
"scaleway_baremetal_server",
|
1179
|
+
"minimal",
|
1180
|
+
],
|
1181
|
+
ssh_key_ids=[main.id])
|
1182
|
+
```
|
1183
|
+
|
1184
|
+
## Import
|
1185
|
+
|
1186
|
+
Baremetal servers can be imported using the `{zone}/{id}`, e.g.
|
1187
|
+
|
1188
|
+
bash
|
1189
|
+
|
1190
|
+
```sh
|
1191
|
+
$ pulumi import scaleway:elasticmetal/server:Server web fr-par-2/11111111-1111-1111-1111-111111111111
|
1192
|
+
```
|
1193
|
+
|
1194
|
+
:param str resource_name: The name of the resource.
|
1195
|
+
:param ServerArgs args: The arguments to use to populate this resource's properties.
|
1196
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1197
|
+
"""
|
1198
|
+
...
|
1199
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1200
|
+
resource_args, opts = _utilities.get_resource_args_opts(ServerArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1201
|
+
if resource_args is not None:
|
1202
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1203
|
+
else:
|
1204
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1205
|
+
|
1206
|
+
def _internal_init(__self__,
|
1207
|
+
resource_name: str,
|
1208
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1209
|
+
description: Optional[pulumi.Input[str]] = None,
|
1210
|
+
hostname: Optional[pulumi.Input[str]] = None,
|
1211
|
+
install_config_afterward: Optional[pulumi.Input[bool]] = None,
|
1212
|
+
name: Optional[pulumi.Input[str]] = None,
|
1213
|
+
offer: Optional[pulumi.Input[str]] = None,
|
1214
|
+
options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerOptionArgs', 'ServerOptionArgsDict']]]]] = None,
|
1215
|
+
os: Optional[pulumi.Input[str]] = None,
|
1216
|
+
partitioning: Optional[pulumi.Input[str]] = None,
|
1217
|
+
password: Optional[pulumi.Input[str]] = None,
|
1218
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
|
1219
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1220
|
+
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
1221
|
+
service_password: Optional[pulumi.Input[str]] = None,
|
1222
|
+
service_user: Optional[pulumi.Input[str]] = None,
|
1223
|
+
ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1224
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1225
|
+
user: Optional[pulumi.Input[str]] = None,
|
1226
|
+
zone: Optional[pulumi.Input[str]] = None,
|
1227
|
+
__props__=None):
|
1228
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1229
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1230
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1231
|
+
if opts.id is None:
|
1232
|
+
if __props__ is not None:
|
1233
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1234
|
+
__props__ = ServerArgs.__new__(ServerArgs)
|
1235
|
+
|
1236
|
+
__props__.__dict__["description"] = description
|
1237
|
+
__props__.__dict__["hostname"] = hostname
|
1238
|
+
__props__.__dict__["install_config_afterward"] = install_config_afterward
|
1239
|
+
__props__.__dict__["name"] = name
|
1240
|
+
if offer is None and not opts.urn:
|
1241
|
+
raise TypeError("Missing required property 'offer'")
|
1242
|
+
__props__.__dict__["offer"] = offer
|
1243
|
+
__props__.__dict__["options"] = options
|
1244
|
+
__props__.__dict__["os"] = os
|
1245
|
+
__props__.__dict__["partitioning"] = partitioning
|
1246
|
+
__props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
|
1247
|
+
__props__.__dict__["private_networks"] = private_networks
|
1248
|
+
__props__.__dict__["project_id"] = project_id
|
1249
|
+
__props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
|
1250
|
+
__props__.__dict__["service_password"] = None if service_password is None else pulumi.Output.secret(service_password)
|
1251
|
+
__props__.__dict__["service_user"] = service_user
|
1252
|
+
__props__.__dict__["ssh_key_ids"] = ssh_key_ids
|
1253
|
+
__props__.__dict__["tags"] = tags
|
1254
|
+
__props__.__dict__["user"] = user
|
1255
|
+
__props__.__dict__["zone"] = zone
|
1256
|
+
__props__.__dict__["domain"] = None
|
1257
|
+
__props__.__dict__["ips"] = None
|
1258
|
+
__props__.__dict__["ipv4s"] = None
|
1259
|
+
__props__.__dict__["ipv6s"] = None
|
1260
|
+
__props__.__dict__["offer_id"] = None
|
1261
|
+
__props__.__dict__["offer_name"] = None
|
1262
|
+
__props__.__dict__["organization_id"] = None
|
1263
|
+
__props__.__dict__["os_name"] = None
|
1264
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="scaleway:index/baremetalServer:BaremetalServer")])
|
1265
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
1266
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password", "servicePassword"])
|
1267
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1268
|
+
super(Server, __self__).__init__(
|
1269
|
+
'scaleway:elasticmetal/server:Server',
|
1270
|
+
resource_name,
|
1271
|
+
__props__,
|
1272
|
+
opts)
|
1273
|
+
|
1274
|
+
@staticmethod
|
1275
|
+
def get(resource_name: str,
|
1276
|
+
id: pulumi.Input[str],
|
1277
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1278
|
+
description: Optional[pulumi.Input[str]] = None,
|
1279
|
+
domain: Optional[pulumi.Input[str]] = None,
|
1280
|
+
hostname: Optional[pulumi.Input[str]] = None,
|
1281
|
+
install_config_afterward: Optional[pulumi.Input[bool]] = None,
|
1282
|
+
ips: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerIpArgs', 'ServerIpArgsDict']]]]] = None,
|
1283
|
+
ipv4s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerIpv4Args', 'ServerIpv4ArgsDict']]]]] = None,
|
1284
|
+
ipv6s: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerIpv6Args', 'ServerIpv6ArgsDict']]]]] = None,
|
1285
|
+
name: Optional[pulumi.Input[str]] = None,
|
1286
|
+
offer: Optional[pulumi.Input[str]] = None,
|
1287
|
+
offer_id: Optional[pulumi.Input[str]] = None,
|
1288
|
+
offer_name: Optional[pulumi.Input[str]] = None,
|
1289
|
+
options: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerOptionArgs', 'ServerOptionArgsDict']]]]] = None,
|
1290
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
1291
|
+
os: Optional[pulumi.Input[str]] = None,
|
1292
|
+
os_name: Optional[pulumi.Input[str]] = None,
|
1293
|
+
partitioning: Optional[pulumi.Input[str]] = None,
|
1294
|
+
password: Optional[pulumi.Input[str]] = None,
|
1295
|
+
private_networks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]]] = None,
|
1296
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
1297
|
+
reinstall_on_config_changes: Optional[pulumi.Input[bool]] = None,
|
1298
|
+
service_password: Optional[pulumi.Input[str]] = None,
|
1299
|
+
service_user: Optional[pulumi.Input[str]] = None,
|
1300
|
+
ssh_key_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1301
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1302
|
+
user: Optional[pulumi.Input[str]] = None,
|
1303
|
+
zone: Optional[pulumi.Input[str]] = None) -> 'Server':
|
1304
|
+
"""
|
1305
|
+
Get an existing Server resource's state with the given name, id, and optional extra
|
1306
|
+
properties used to qualify the lookup.
|
1307
|
+
|
1308
|
+
:param str resource_name: The unique name of the resulting resource.
|
1309
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1310
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1311
|
+
:param pulumi.Input[str] description: A description for the server.
|
1312
|
+
:param pulumi.Input[str] domain: The domain of the server.
|
1313
|
+
:param pulumi.Input[str] hostname: The hostname of the server.
|
1314
|
+
:param pulumi.Input[bool] install_config_afterward: If True, this boolean allows to create a server without the install config if you want to provide it later.
|
1315
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerIpArgs', 'ServerIpArgsDict']]]] ips: (List of) The IPs of the server.
|
1316
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerIpv4Args', 'ServerIpv4ArgsDict']]]] ipv4s: (List of) The IPv4 addresses of the server.
|
1317
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerIpv6Args', 'ServerIpv6ArgsDict']]]] ipv6s: (List of) The IPv6 addresses of the server.
|
1318
|
+
:param pulumi.Input[str] name: The name of the server.
|
1319
|
+
:param pulumi.Input[str] offer: The offer UUID of the baremetal server.
|
1320
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
1321
|
+
|
1322
|
+
> **Important:** Updates to `offer` will recreate the server.
|
1323
|
+
:param pulumi.Input[str] offer_id: The ID of the offer.
|
1324
|
+
:param pulumi.Input[str] offer_name: The name of the offer.
|
1325
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerOptionArgs', 'ServerOptionArgsDict']]]] options: The options to enable on the server.
|
1326
|
+
> The `options` block supports:
|
1327
|
+
:param pulumi.Input[str] organization_id: The organization ID the server is associated with.
|
1328
|
+
:param pulumi.Input[str] os: The UUID of the os to install on the server.
|
1329
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
1330
|
+
> **Important:** Updates to `os` will reinstall the server.
|
1331
|
+
:param pulumi.Input[str] os_name: The name of the os.
|
1332
|
+
:param pulumi.Input[str] partitioning: The partitioning schema in JSON format
|
1333
|
+
:param pulumi.Input[str] password: Password used for the installation. May be required depending on used os.
|
1334
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ServerPrivateNetworkArgs', 'ServerPrivateNetworkArgsDict']]]] private_networks: The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
1335
|
+
:param pulumi.Input[str] project_id: `project_id`) The ID of the project the server is associated with.
|
1336
|
+
:param pulumi.Input[bool] reinstall_on_config_changes: If True, this boolean allows to reinstall the server on install config changes.
|
1337
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
1338
|
+
:param pulumi.Input[str] service_password: Password used for the service to install. May be required depending on used os.
|
1339
|
+
:param pulumi.Input[str] service_user: User used for the service to install.
|
1340
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ssh_key_ids: List of SSH keys allowed to connect to the server.
|
1341
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: The tags associated with the server.
|
1342
|
+
:param pulumi.Input[str] user: User used for the installation.
|
1343
|
+
:param pulumi.Input[str] zone: `zone`) The zone in which the server should be created.
|
1344
|
+
"""
|
1345
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1346
|
+
|
1347
|
+
__props__ = _ServerState.__new__(_ServerState)
|
1348
|
+
|
1349
|
+
__props__.__dict__["description"] = description
|
1350
|
+
__props__.__dict__["domain"] = domain
|
1351
|
+
__props__.__dict__["hostname"] = hostname
|
1352
|
+
__props__.__dict__["install_config_afterward"] = install_config_afterward
|
1353
|
+
__props__.__dict__["ips"] = ips
|
1354
|
+
__props__.__dict__["ipv4s"] = ipv4s
|
1355
|
+
__props__.__dict__["ipv6s"] = ipv6s
|
1356
|
+
__props__.__dict__["name"] = name
|
1357
|
+
__props__.__dict__["offer"] = offer
|
1358
|
+
__props__.__dict__["offer_id"] = offer_id
|
1359
|
+
__props__.__dict__["offer_name"] = offer_name
|
1360
|
+
__props__.__dict__["options"] = options
|
1361
|
+
__props__.__dict__["organization_id"] = organization_id
|
1362
|
+
__props__.__dict__["os"] = os
|
1363
|
+
__props__.__dict__["os_name"] = os_name
|
1364
|
+
__props__.__dict__["partitioning"] = partitioning
|
1365
|
+
__props__.__dict__["password"] = password
|
1366
|
+
__props__.__dict__["private_networks"] = private_networks
|
1367
|
+
__props__.__dict__["project_id"] = project_id
|
1368
|
+
__props__.__dict__["reinstall_on_config_changes"] = reinstall_on_config_changes
|
1369
|
+
__props__.__dict__["service_password"] = service_password
|
1370
|
+
__props__.__dict__["service_user"] = service_user
|
1371
|
+
__props__.__dict__["ssh_key_ids"] = ssh_key_ids
|
1372
|
+
__props__.__dict__["tags"] = tags
|
1373
|
+
__props__.__dict__["user"] = user
|
1374
|
+
__props__.__dict__["zone"] = zone
|
1375
|
+
return Server(resource_name, opts=opts, __props__=__props__)
|
1376
|
+
|
1377
|
+
@property
|
1378
|
+
@pulumi.getter
|
1379
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
1380
|
+
"""
|
1381
|
+
A description for the server.
|
1382
|
+
"""
|
1383
|
+
return pulumi.get(self, "description")
|
1384
|
+
|
1385
|
+
@property
|
1386
|
+
@pulumi.getter
|
1387
|
+
def domain(self) -> pulumi.Output[str]:
|
1388
|
+
"""
|
1389
|
+
The domain of the server.
|
1390
|
+
"""
|
1391
|
+
return pulumi.get(self, "domain")
|
1392
|
+
|
1393
|
+
@property
|
1394
|
+
@pulumi.getter
|
1395
|
+
def hostname(self) -> pulumi.Output[Optional[str]]:
|
1396
|
+
"""
|
1397
|
+
The hostname of the server.
|
1398
|
+
"""
|
1399
|
+
return pulumi.get(self, "hostname")
|
1400
|
+
|
1401
|
+
@property
|
1402
|
+
@pulumi.getter(name="installConfigAfterward")
|
1403
|
+
def install_config_afterward(self) -> pulumi.Output[Optional[bool]]:
|
1404
|
+
"""
|
1405
|
+
If True, this boolean allows to create a server without the install config if you want to provide it later.
|
1406
|
+
"""
|
1407
|
+
return pulumi.get(self, "install_config_afterward")
|
1408
|
+
|
1409
|
+
@property
|
1410
|
+
@pulumi.getter
|
1411
|
+
def ips(self) -> pulumi.Output[Sequence['outputs.ServerIp']]:
|
1412
|
+
"""
|
1413
|
+
(List of) The IPs of the server.
|
1414
|
+
"""
|
1415
|
+
return pulumi.get(self, "ips")
|
1416
|
+
|
1417
|
+
@property
|
1418
|
+
@pulumi.getter
|
1419
|
+
def ipv4s(self) -> pulumi.Output[Sequence['outputs.ServerIpv4']]:
|
1420
|
+
"""
|
1421
|
+
(List of) The IPv4 addresses of the server.
|
1422
|
+
"""
|
1423
|
+
return pulumi.get(self, "ipv4s")
|
1424
|
+
|
1425
|
+
@property
|
1426
|
+
@pulumi.getter
|
1427
|
+
def ipv6s(self) -> pulumi.Output[Sequence['outputs.ServerIpv6']]:
|
1428
|
+
"""
|
1429
|
+
(List of) The IPv6 addresses of the server.
|
1430
|
+
"""
|
1431
|
+
return pulumi.get(self, "ipv6s")
|
1432
|
+
|
1433
|
+
@property
|
1434
|
+
@pulumi.getter
|
1435
|
+
def name(self) -> pulumi.Output[str]:
|
1436
|
+
"""
|
1437
|
+
The name of the server.
|
1438
|
+
"""
|
1439
|
+
return pulumi.get(self, "name")
|
1440
|
+
|
1441
|
+
@property
|
1442
|
+
@pulumi.getter
|
1443
|
+
def offer(self) -> pulumi.Output[str]:
|
1444
|
+
"""
|
1445
|
+
The offer UUID of the baremetal server.
|
1446
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-servers-get-a-specific-elastic-metal-server) to find the right offer.
|
1447
|
+
|
1448
|
+
> **Important:** Updates to `offer` will recreate the server.
|
1449
|
+
"""
|
1450
|
+
return pulumi.get(self, "offer")
|
1451
|
+
|
1452
|
+
@property
|
1453
|
+
@pulumi.getter(name="offerId")
|
1454
|
+
def offer_id(self) -> pulumi.Output[str]:
|
1455
|
+
"""
|
1456
|
+
The ID of the offer.
|
1457
|
+
"""
|
1458
|
+
return pulumi.get(self, "offer_id")
|
1459
|
+
|
1460
|
+
@property
|
1461
|
+
@pulumi.getter(name="offerName")
|
1462
|
+
def offer_name(self) -> pulumi.Output[str]:
|
1463
|
+
"""
|
1464
|
+
The name of the offer.
|
1465
|
+
"""
|
1466
|
+
return pulumi.get(self, "offer_name")
|
1467
|
+
|
1468
|
+
@property
|
1469
|
+
@pulumi.getter
|
1470
|
+
def options(self) -> pulumi.Output[Optional[Sequence['outputs.ServerOption']]]:
|
1471
|
+
"""
|
1472
|
+
The options to enable on the server.
|
1473
|
+
> The `options` block supports:
|
1474
|
+
"""
|
1475
|
+
return pulumi.get(self, "options")
|
1476
|
+
|
1477
|
+
@property
|
1478
|
+
@pulumi.getter(name="organizationId")
|
1479
|
+
def organization_id(self) -> pulumi.Output[str]:
|
1480
|
+
"""
|
1481
|
+
The organization ID the server is associated with.
|
1482
|
+
"""
|
1483
|
+
return pulumi.get(self, "organization_id")
|
1484
|
+
|
1485
|
+
@property
|
1486
|
+
@pulumi.getter
|
1487
|
+
def os(self) -> pulumi.Output[Optional[str]]:
|
1488
|
+
"""
|
1489
|
+
The UUID of the os to install on the server.
|
1490
|
+
Use [this endpoint](https://www.scaleway.com/en/developers/api/elastic-metal/#path-os-list-available-oses) to find the right OS ID.
|
1491
|
+
> **Important:** Updates to `os` will reinstall the server.
|
1492
|
+
"""
|
1493
|
+
return pulumi.get(self, "os")
|
1494
|
+
|
1495
|
+
@property
|
1496
|
+
@pulumi.getter(name="osName")
|
1497
|
+
def os_name(self) -> pulumi.Output[str]:
|
1498
|
+
"""
|
1499
|
+
The name of the os.
|
1500
|
+
"""
|
1501
|
+
return pulumi.get(self, "os_name")
|
1502
|
+
|
1503
|
+
@property
|
1504
|
+
@pulumi.getter
|
1505
|
+
def partitioning(self) -> pulumi.Output[Optional[str]]:
|
1506
|
+
"""
|
1507
|
+
The partitioning schema in JSON format
|
1508
|
+
"""
|
1509
|
+
return pulumi.get(self, "partitioning")
|
1510
|
+
|
1511
|
+
@property
|
1512
|
+
@pulumi.getter
|
1513
|
+
def password(self) -> pulumi.Output[Optional[str]]:
|
1514
|
+
"""
|
1515
|
+
Password used for the installation. May be required depending on used os.
|
1516
|
+
"""
|
1517
|
+
return pulumi.get(self, "password")
|
1518
|
+
|
1519
|
+
@property
|
1520
|
+
@pulumi.getter(name="privateNetworks")
|
1521
|
+
def private_networks(self) -> pulumi.Output[Optional[Sequence['outputs.ServerPrivateNetwork']]]:
|
1522
|
+
"""
|
1523
|
+
The private networks to attach to the server. For more information, see [the documentation](https://www.scaleway.com/en/docs/compute/elastic-metal/how-to/use-private-networks/)
|
1524
|
+
"""
|
1525
|
+
return pulumi.get(self, "private_networks")
|
1526
|
+
|
1527
|
+
@property
|
1528
|
+
@pulumi.getter(name="projectId")
|
1529
|
+
def project_id(self) -> pulumi.Output[str]:
|
1530
|
+
"""
|
1531
|
+
`project_id`) The ID of the project the server is associated with.
|
1532
|
+
"""
|
1533
|
+
return pulumi.get(self, "project_id")
|
1534
|
+
|
1535
|
+
@property
|
1536
|
+
@pulumi.getter(name="reinstallOnConfigChanges")
|
1537
|
+
def reinstall_on_config_changes(self) -> pulumi.Output[Optional[bool]]:
|
1538
|
+
"""
|
1539
|
+
If True, this boolean allows to reinstall the server on install config changes.
|
1540
|
+
> **Important:** Updates to `ssh_key_ids`, `user`, `password`, `service_user` or `service_password` will not take effect on the server, it requires to reinstall it. To do so please set 'reinstall_on_config_changes' argument to true.
|
1541
|
+
"""
|
1542
|
+
return pulumi.get(self, "reinstall_on_config_changes")
|
1543
|
+
|
1544
|
+
@property
|
1545
|
+
@pulumi.getter(name="servicePassword")
|
1546
|
+
def service_password(self) -> pulumi.Output[Optional[str]]:
|
1547
|
+
"""
|
1548
|
+
Password used for the service to install. May be required depending on used os.
|
1549
|
+
"""
|
1550
|
+
return pulumi.get(self, "service_password")
|
1551
|
+
|
1552
|
+
@property
|
1553
|
+
@pulumi.getter(name="serviceUser")
|
1554
|
+
def service_user(self) -> pulumi.Output[str]:
|
1555
|
+
"""
|
1556
|
+
User used for the service to install.
|
1557
|
+
"""
|
1558
|
+
return pulumi.get(self, "service_user")
|
1559
|
+
|
1560
|
+
@property
|
1561
|
+
@pulumi.getter(name="sshKeyIds")
|
1562
|
+
def ssh_key_ids(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1563
|
+
"""
|
1564
|
+
List of SSH keys allowed to connect to the server.
|
1565
|
+
"""
|
1566
|
+
return pulumi.get(self, "ssh_key_ids")
|
1567
|
+
|
1568
|
+
@property
|
1569
|
+
@pulumi.getter
|
1570
|
+
def tags(self) -> pulumi.Output[Sequence[str]]:
|
1571
|
+
"""
|
1572
|
+
The tags associated with the server.
|
1573
|
+
"""
|
1574
|
+
return pulumi.get(self, "tags")
|
1575
|
+
|
1576
|
+
@property
|
1577
|
+
@pulumi.getter
|
1578
|
+
def user(self) -> pulumi.Output[str]:
|
1579
|
+
"""
|
1580
|
+
User used for the installation.
|
1581
|
+
"""
|
1582
|
+
return pulumi.get(self, "user")
|
1583
|
+
|
1584
|
+
@property
|
1585
|
+
@pulumi.getter
|
1586
|
+
def zone(self) -> pulumi.Output[str]:
|
1587
|
+
"""
|
1588
|
+
`zone`) The zone in which the server should be created.
|
1589
|
+
"""
|
1590
|
+
return pulumi.get(self, "zone")
|
1591
|
+
|