# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Union
from . import utilities, tables


class InstanceServer(pulumi.CustomResource):
    additional_volume_ids: pulumi.Output[list]
    """
    The additional volumes attached to the server
    """
    boot_type: pulumi.Output[str]
    """
    The boot type of the server
    """
    cloud_init: pulumi.Output[str]
    """
    The cloud init script associated with this server
    """
    enable_dynamic_ip: pulumi.Output[bool]
    """
    Enable dynamic IP on the server
    """
    enable_ipv6: pulumi.Output[bool]
    """
    Determines if IPv6 is enabled for the server
    """
    image: pulumi.Output[str]
    """
    The UUID or the label of the base image used by the server
    """
    ip_id: pulumi.Output[str]
    """
    The ID of the reserved IP for the server
    """
    ipv6_address: pulumi.Output[str]
    """
    The default public IPv6 address routed to the server.
    """
    ipv6_gateway: pulumi.Output[str]
    """
    The IPv6 gateway address
    """
    ipv6_prefix_length: pulumi.Output[float]
    """
    The IPv6 prefix length routed to the server.
    """
    name: pulumi.Output[str]
    """
    The name of the server
    """
    organization_id: pulumi.Output[str]
    """
    The organization_id you want to attach the resource to
    """
    placement_group_id: pulumi.Output[str]
    """
    The placement group the server is attached to
    """
    placement_group_policy_respected: pulumi.Output[bool]
    """
    True when the placement group policy is respected
    """
    private_ip: pulumi.Output[str]
    """
    The Scaleway internal IP address of the server
    """
    public_ip: pulumi.Output[str]
    """
    The public IPv4 address of the server
    """
    root_volume: pulumi.Output[dict]
    """
    Root volume attached to the server on creation

      * `deleteOnTermination` (`bool`)
      * `size_in_gb` (`float`)
      * `volumeId` (`str`)
    """
    security_group_id: pulumi.Output[str]
    """
    The security group the server is attached to
    """
    state: pulumi.Output[str]
    """
    The state of the server should be: started, stopped, standby
    """
    tags: pulumi.Output[list]
    """
    The tags associated with the server
    """
    type: pulumi.Output[str]
    """
    The instance type of the server
    """
    user_datas: pulumi.Output[list]
    """
    The user data associated with the server

      * `key` (`str`)
      * `value` (`str`)
    """
    zone: pulumi.Output[str]
    """
    The zone you want to attach the resource to
    """
    def __init__(__self__, resource_name, opts=None, additional_volume_ids=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, image=None, ip_id=None, name=None, organization_id=None, placement_group_id=None, root_volume=None, security_group_id=None, state=None, tags=None, type=None, user_datas=None, zone=None, __props__=None, __name__=None, __opts__=None):
        """
        Create a InstanceServer resource with the given unique name, props, and options.
        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[list] additional_volume_ids: The additional volumes attached to the server
        :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
        :param pulumi.Input[bool] enable_dynamic_ip: Enable dynamic IP on the server
        :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server
        :param pulumi.Input[str] image: The UUID or the label of the base image used by the server
        :param pulumi.Input[str] ip_id: The ID of the reserved IP for the server
        :param pulumi.Input[str] name: The name of the server
        :param pulumi.Input[str] organization_id: The organization_id you want to attach the resource to
        :param pulumi.Input[str] placement_group_id: The placement group the server is attached to
        :param pulumi.Input[dict] root_volume: Root volume attached to the server on creation
        :param pulumi.Input[str] security_group_id: The security group the server is attached to
        :param pulumi.Input[str] state: The state of the server should be: started, stopped, standby
        :param pulumi.Input[list] tags: The tags associated with the server
        :param pulumi.Input[str] type: The instance type of the server
        :param pulumi.Input[list] user_datas: The user data associated with the server
        :param pulumi.Input[str] zone: The zone you want to attach the resource to

        The **root_volume** object supports the following:

          * `deleteOnTermination` (`pulumi.Input[bool]`)
          * `size_in_gb` (`pulumi.Input[float]`)
          * `volumeId` (`pulumi.Input[str]`)

        The **user_datas** object supports the following:

          * `key` (`pulumi.Input[str]`)
          * `value` (`pulumi.Input[str]`)
        """
        if __name__ is not None:
            warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning)
            resource_name = __name__
        if __opts__ is not None:
            warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
            opts = __opts__
        if opts is None:
            opts = pulumi.ResourceOptions()
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.version is None:
            opts.version = utilities.get_version()
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = dict()

            __props__['additional_volume_ids'] = additional_volume_ids
            __props__['cloud_init'] = cloud_init
            __props__['enable_dynamic_ip'] = enable_dynamic_ip
            __props__['enable_ipv6'] = enable_ipv6
            if image is None:
                raise TypeError("Missing required property 'image'")
            __props__['image'] = image
            __props__['ip_id'] = ip_id
            __props__['name'] = name
            __props__['organization_id'] = organization_id
            __props__['placement_group_id'] = placement_group_id
            __props__['root_volume'] = root_volume
            __props__['security_group_id'] = security_group_id
            __props__['state'] = state
            __props__['tags'] = tags
            if type is None:
                raise TypeError("Missing required property 'type'")
            __props__['type'] = type
            __props__['user_datas'] = user_datas
            __props__['zone'] = zone
            __props__['boot_type'] = None
            __props__['ipv6_address'] = None
            __props__['ipv6_gateway'] = None
            __props__['ipv6_prefix_length'] = None
            __props__['placement_group_policy_respected'] = None
            __props__['private_ip'] = None
            __props__['public_ip'] = None
        super(InstanceServer, __self__).__init__(
            'scaleway:index/instanceServer:InstanceServer',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name, id, opts=None, additional_volume_ids=None, boot_type=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, image=None, ip_id=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, public_ip=None, root_volume=None, security_group_id=None, state=None, tags=None, type=None, user_datas=None, zone=None):
        """
        Get an existing InstanceServer resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param str id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[list] additional_volume_ids: The additional volumes attached to the server
        :param pulumi.Input[str] boot_type: The boot type of the server
        :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
        :param pulumi.Input[bool] enable_dynamic_ip: Enable dynamic IP on the server
        :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server
        :param pulumi.Input[str] image: The UUID or the label of the base image used by the server
        :param pulumi.Input[str] ip_id: The ID of the reserved IP for the server
        :param pulumi.Input[str] ipv6_address: The default public IPv6 address routed to the server.
        :param pulumi.Input[str] ipv6_gateway: The IPv6 gateway address
        :param pulumi.Input[float] ipv6_prefix_length: The IPv6 prefix length routed to the server.
        :param pulumi.Input[str] name: The name of the server
        :param pulumi.Input[str] organization_id: The organization_id you want to attach the resource to
        :param pulumi.Input[str] placement_group_id: The placement group the server is attached to
        :param pulumi.Input[bool] placement_group_policy_respected: True when the placement group policy is respected
        :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server
        :param pulumi.Input[str] public_ip: The public IPv4 address of the server
        :param pulumi.Input[dict] root_volume: Root volume attached to the server on creation
        :param pulumi.Input[str] security_group_id: The security group the server is attached to
        :param pulumi.Input[str] state: The state of the server should be: started, stopped, standby
        :param pulumi.Input[list] tags: The tags associated with the server
        :param pulumi.Input[str] type: The instance type of the server
        :param pulumi.Input[list] user_datas: The user data associated with the server
        :param pulumi.Input[str] zone: The zone you want to attach the resource to

        The **root_volume** object supports the following:

          * `deleteOnTermination` (`pulumi.Input[bool]`)
          * `size_in_gb` (`pulumi.Input[float]`)
          * `volumeId` (`pulumi.Input[str]`)

        The **user_datas** object supports the following:

          * `key` (`pulumi.Input[str]`)
          * `value` (`pulumi.Input[str]`)
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = dict()

        __props__["additional_volume_ids"] = additional_volume_ids
        __props__["boot_type"] = boot_type
        __props__["cloud_init"] = cloud_init
        __props__["enable_dynamic_ip"] = enable_dynamic_ip
        __props__["enable_ipv6"] = enable_ipv6
        __props__["image"] = image
        __props__["ip_id"] = ip_id
        __props__["ipv6_address"] = ipv6_address
        __props__["ipv6_gateway"] = ipv6_gateway
        __props__["ipv6_prefix_length"] = ipv6_prefix_length
        __props__["name"] = name
        __props__["organization_id"] = organization_id
        __props__["placement_group_id"] = placement_group_id
        __props__["placement_group_policy_respected"] = placement_group_policy_respected
        __props__["private_ip"] = private_ip
        __props__["public_ip"] = public_ip
        __props__["root_volume"] = root_volume
        __props__["security_group_id"] = security_group_id
        __props__["state"] = state
        __props__["tags"] = tags
        __props__["type"] = type
        __props__["user_datas"] = user_datas
        __props__["zone"] = zone
        return InstanceServer(resource_name, opts=opts, __props__=__props__)

    def translate_output_property(self, prop):
        return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop

    def translate_input_property(self, prop):
        return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop

# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import warnings
import pulumi
import pulumi.runtime
from typing import Union
from . import utilities, tables


class InstanceServer(pulumi.CustomResource):
    additional_volume_ids: pulumi.Output[list]
    """
    The additional volumes attached to the server
    """
    boot_type: pulumi.Output[str]
    """
    The boot type of the server
    """
    cloud_init: pulumi.Output[str]
    """
    The cloud init script associated with this server
    """
    enable_dynamic_ip: pulumi.Output[bool]
    """
    Enable dynamic IP on the server
    """
    enable_ipv6: pulumi.Output[bool]
    """
    Determines if IPv6 is enabled for the server
    """
    image: pulumi.Output[str]
    """
    The UUID or the label of the base image used by the server
    """
    ip_id: pulumi.Output[str]
    """
    The ID of the reserved IP for the server
    """
    ipv6_address: pulumi.Output[str]
    """
    The default public IPv6 address routed to the server.
    """
    ipv6_gateway: pulumi.Output[str]
    """
    The IPv6 gateway address
    """
    ipv6_prefix_length: pulumi.Output[float]
    """
    The IPv6 prefix length routed to the server.
    """
    name: pulumi.Output[str]
    """
    The name of the server
    """
    organization_id: pulumi.Output[str]
    """
    The organization_id you want to attach the resource to
    """
    placement_group_id: pulumi.Output[str]
    """
    The placement group the server is attached to
    """
    placement_group_policy_respected: pulumi.Output[bool]
    """
    True when the placement group policy is respected
    """
    private_ip: pulumi.Output[str]
    """
    The Scaleway internal IP address of the server
    """
    public_ip: pulumi.Output[str]
    """
    The public IPv4 address of the server
    """
    root_volume: pulumi.Output[dict]
    """
    Root volume attached to the server on creation

      * `deleteOnTermination` (`bool`)
      * `size_in_gb` (`float`)
      * `volumeId` (`str`)
    """
    security_group_id: pulumi.Output[str]
    """
    The security group the server is attached to
    """
    state: pulumi.Output[str]
    """
    The state of the server should be: started, stopped, standby
    """
    tags: pulumi.Output[list]
    """
    The tags associated with the server
    """
    type: pulumi.Output[str]
    """
    The instance type of the server
    """
    user_datas: pulumi.Output[list]
    """
    The user data associated with the server

      * `key` (`str`)
      * `value` (`str`)
    """
    zone: pulumi.Output[str]
    """
    The zone you want to attach the resource to
    """
    def __init__(__self__, resource_name, opts=None, additional_volume_ids=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, image=None, ip_id=None, name=None, organization_id=None, placement_group_id=None, root_volume=None, security_group_id=None, state=None, tags=None, type=None, user_datas=None, zone=None, __props__=None, __name__=None, __opts__=None):
        """
        Create a InstanceServer resource with the given unique name, props, and options.
        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[list] additional_volume_ids: The additional volumes attached to the server
        :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
        :param pulumi.Input[bool] enable_dynamic_ip: Enable dynamic IP on the server
        :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server
        :param pulumi.Input[str] image: The UUID or the label of the base image used by the server
        :param pulumi.Input[str] ip_id: The ID of the reserved IP for the server
        :param pulumi.Input[str] name: The name of the server
        :param pulumi.Input[str] organization_id: The organization_id you want to attach the resource to
        :param pulumi.Input[str] placement_group_id: The placement group the server is attached to
        :param pulumi.Input[dict] root_volume: Root volume attached to the server on creation
        :param pulumi.Input[str] security_group_id: The security group the server is attached to
        :param pulumi.Input[str] state: The state of the server should be: started, stopped, standby
        :param pulumi.Input[list] tags: The tags associated with the server
        :param pulumi.Input[str] type: The instance type of the server
        :param pulumi.Input[list] user_datas: The user data associated with the server
        :param pulumi.Input[str] zone: The zone you want to attach the resource to

        The **root_volume** object supports the following:

          * `deleteOnTermination` (`pulumi.Input[bool]`)
          * `size_in_gb` (`pulumi.Input[float]`)
          * `volumeId` (`pulumi.Input[str]`)

        The **user_datas** object supports the following:

          * `key` (`pulumi.Input[str]`)
          * `value` (`pulumi.Input[str]`)
        """
        if __name__ is not None:
            warnings.warn("explicit use of __name__ is deprecated", DeprecationWarning)
            resource_name = __name__
        if __opts__ is not None:
            warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
            opts = __opts__
        if opts is None:
            opts = pulumi.ResourceOptions()
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.version is None:
            opts.version = utilities.get_version()
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = dict()

            __props__['additional_volume_ids'] = additional_volume_ids
            __props__['cloud_init'] = cloud_init
            __props__['enable_dynamic_ip'] = enable_dynamic_ip
            __props__['enable_ipv6'] = enable_ipv6
            if image is None:
                raise TypeError("Missing required property 'image'")
            __props__['image'] = image
            __props__['ip_id'] = ip_id
            __props__['name'] = name
            __props__['organization_id'] = organization_id
            __props__['placement_group_id'] = placement_group_id
            __props__['root_volume'] = root_volume
            __props__['security_group_id'] = security_group_id
            __props__['state'] = state
            __props__['tags'] = tags
            if type is None:
                raise TypeError("Missing required property 'type'")
            __props__['type'] = type
            __props__['user_datas'] = user_datas
            __props__['zone'] = zone
            __props__['boot_type'] = None
            __props__['ipv6_address'] = None
            __props__['ipv6_gateway'] = None
            __props__['ipv6_prefix_length'] = None
            __props__['placement_group_policy_respected'] = None
            __props__['private_ip'] = None
            __props__['public_ip'] = None
        super(InstanceServer, __self__).__init__(
            'scaleway:index/instanceServer:InstanceServer',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name, id, opts=None, additional_volume_ids=None, boot_type=None, cloud_init=None, enable_dynamic_ip=None, enable_ipv6=None, image=None, ip_id=None, ipv6_address=None, ipv6_gateway=None, ipv6_prefix_length=None, name=None, organization_id=None, placement_group_id=None, placement_group_policy_respected=None, private_ip=None, public_ip=None, root_volume=None, security_group_id=None, state=None, tags=None, type=None, user_datas=None, zone=None):
        """
        Get an existing InstanceServer resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param str id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[list] additional_volume_ids: The additional volumes attached to the server
        :param pulumi.Input[str] boot_type: The boot type of the server
        :param pulumi.Input[str] cloud_init: The cloud init script associated with this server
        :param pulumi.Input[bool] enable_dynamic_ip: Enable dynamic IP on the server
        :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server
        :param pulumi.Input[str] image: The UUID or the label of the base image used by the server
        :param pulumi.Input[str] ip_id: The ID of the reserved IP for the server
        :param pulumi.Input[str] ipv6_address: The default public IPv6 address routed to the server.
        :param pulumi.Input[str] ipv6_gateway: The IPv6 gateway address
        :param pulumi.Input[float] ipv6_prefix_length: The IPv6 prefix length routed to the server.
        :param pulumi.Input[str] name: The name of the server
        :param pulumi.Input[str] organization_id: The organization_id you want to attach the resource to
        :param pulumi.Input[str] placement_group_id: The placement group the server is attached to
        :param pulumi.Input[bool] placement_group_policy_respected: True when the placement group policy is respected
        :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server
        :param pulumi.Input[str] public_ip: The public IPv4 address of the server
        :param pulumi.Input[dict] root_volume: Root volume attached to the server on creation
        :param pulumi.Input[str] security_group_id: The security group the server is attached to
        :param pulumi.Input[str] state: The state of the server should be: started, stopped, standby
        :param pulumi.Input[list] tags: The tags associated with the server
        :param pulumi.Input[str] type: The instance type of the server
        :param pulumi.Input[list] user_datas: The user data associated with the server
        :param pulumi.Input[str] zone: The zone you want to attach the resource to

        The **root_volume** object supports the following:

          * `deleteOnTermination` (`pulumi.Input[bool]`)
          * `size_in_gb` (`pulumi.Input[float]`)
          * `volumeId` (`pulumi.Input[str]`)

        The **user_datas** object supports the following:

          * `key` (`pulumi.Input[str]`)
          * `value` (`pulumi.Input[str]`)
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = dict()

        __props__["additional_volume_ids"] = additional_volume_ids
        __props__["boot_type"] = boot_type
        __props__["cloud_init"] = cloud_init
        __props__["enable_dynamic_ip"] = enable_dynamic_ip
        __props__["enable_ipv6"] = enable_ipv6
        __props__["image"] = image
        __props__["ip_id"] = ip_id
        __props__["ipv6_address"] = ipv6_address
        __props__["ipv6_gateway"] = ipv6_gateway
        __props__["ipv6_prefix_length"] = ipv6_prefix_length
        __props__["name"] = name
        __props__["organization_id"] = organization_id
        __props__["placement_group_id"] = placement_group_id
        __props__["placement_group_policy_respected"] = placement_group_policy_respected
        __props__["private_ip"] = private_ip
        __props__["public_ip"] = public_ip
        __props__["root_volume"] = root_volume
        __props__["security_group_id"] = security_group_id
        __props__["state"] = state
        __props__["tags"] = tags
        __props__["type"] = type
        __props__["user_datas"] = user_datas
        __props__["zone"] = zone
        return InstanceServer(resource_name, opts=opts, __props__=__props__)

    def translate_output_property(self, prop):
        return tables._CAMEL_TO_SNAKE_CASE_TABLE.get(prop) or prop

    def translate_input_property(self, prop):
        return tables._SNAKE_TO_CAMEL_CASE_TABLE.get(prop) or prop

# coding=utf-8 # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** # *** Do not edit by hand unless you're certain you know what you are doing! *** The additional volumes attached to the server The boot type of the server The cloud init script associated with this server Enable dynamic IP on the server Determines if IPv6 is enabled for the server The UUID or the label of the base image used by the server The ID of the reserved IP for the server The default public IPv6 address routed to the server. The IPv6 gateway address The IPv6 prefix length routed to the server. The name of the server The organization_id you want to attach the resource to The placement group the server is attached to True when the placement group policy is respected The Scaleway internal IP address of the server The public IPv4 address of the server Root volume attached to the server on creation        * `deleteOnTermination` (`bool`)       * `size_in_gb` (`float`)       * `volumeId` (`str`) The security group the server is attached to The state of the server should be: started, stopped, standby The tags associated with the server The instance type of the server The user data associated with the server        * `key` (`str`)       * `value` (`str`) The zone you want to attach the resource to Create a InstanceServer resource with the given unique name, props, and options.         :param str resource_name: The name of the resource.         :param pulumi.ResourceOptions opts: Options for the resource.         :param pulumi.Input[list] additional_volume_ids: The additional volumes attached to the server         :param pulumi.Input[str] cloud_init: The cloud init script associated with this server         :param pulumi.Input[bool] enable_dynamic_ip: Enable dynamic IP on the server         :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server         :param pulumi.Input[str] image: The UUID or the label of the base image used by the server         :param pulumi.Input[str] ip_id: The ID of the reserved IP for the server         :param pulumi.Input[str] name: The name of the server         :param pulumi.Input[str] organization_id: The organization_id you want to attach the resource to         :param pulumi.Input[str] placement_group_id: The placement group the server is attached to         :param pulumi.Input[dict] root_volume: Root volume attached to the server on creation         :param pulumi.Input[str] security_group_id: The security group the server is attached to         :param pulumi.Input[str] state: The state of the server should be: started, stopped, standby         :param pulumi.Input[list] tags: The tags associated with the server         :param pulumi.Input[str] type: The instance type of the server         :param pulumi.Input[list] user_datas: The user data associated with the server         :param pulumi.Input[str] zone: The zone you want to attach the resource to          The **root_volume** object supports the following:            * `deleteOnTermination` (`pulumi.Input[bool]`)           * `size_in_gb` (`pulumi.Input[float]`)           * `volumeId` (`pulumi.Input[str]`)          The **user_datas** object supports the following:            * `key` (`pulumi.Input[str]`)           * `value` (`pulumi.Input[str]`) Get an existing InstanceServer resource's state with the given name, id, and optional extra         properties used to qualify the lookup.          :param str resource_name: The unique name of the resulting resource.         :param str id: The unique provider ID of the resource to lookup.         :param pulumi.ResourceOptions opts: Options for the resource.         :param pulumi.Input[list] additional_volume_ids: The additional volumes attached to the server         :param pulumi.Input[str] boot_type: The boot type of the server         :param pulumi.Input[str] cloud_init: The cloud init script associated with this server         :param pulumi.Input[bool] enable_dynamic_ip: Enable dynamic IP on the server         :param pulumi.Input[bool] enable_ipv6: Determines if IPv6 is enabled for the server         :param pulumi.Input[str] image: The UUID or the label of the base image used by the server         :param pulumi.Input[str] ip_id: The ID of the reserved IP for the server         :param pulumi.Input[str] ipv6_address: The default public IPv6 address routed to the server.         :param pulumi.Input[str] ipv6_gateway: The IPv6 gateway address         :param pulumi.Input[float] ipv6_prefix_length: The IPv6 prefix length routed to the server.         :param pulumi.Input[str] name: The name of the server         :param pulumi.Input[str] organization_id: The organization_id you want to attach the resource to         :param pulumi.Input[str] placement_group_id: The placement group the server is attached to         :param pulumi.Input[bool] placement_group_policy_respected: True when the placement group policy is respected         :param pulumi.Input[str] private_ip: The Scaleway internal IP address of the server         :param pulumi.Input[str] public_ip: The public IPv4 address of the server         :param pulumi.Input[dict] root_volume: Root volume attached to the server on creation         :param pulumi.Input[str] security_group_id: The security group the server is attached to         :param pulumi.Input[str] state: The state of the server should be: started, stopped, standby         :param pulumi.Input[list] tags: The tags associated with the server         :param pulumi.Input[str] type: The instance type of the server         :param pulumi.Input[list] user_datas: The user data associated with the server         :param pulumi.Input[str] zone: The zone you want to attach the resource to          The **root_volume** object supports the following:            * `deleteOnTermination` (`pulumi.Input[bool]`)           * `size_in_gb` (`pulumi.Input[float]`)           * `volumeId` (`pulumi.Input[str]`)          The **user_datas** object supports the following:            * `key` (`pulumi.Input[str]`)           * `value` (`pulumi.Input[str]`)