instance

package
v0.0.0-...-c33e12d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetMarketplaceImageArgs

type GetMarketplaceImageArgs struct {
	// The instance type the image is compatible with.
	// You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
	InstanceType *string `pulumi:"instanceType"`
	// Exact label of the desired image. You can use [this endpoint](https://api-marketplace.scaleway.com/images?page=1&per_page=100)
	// to find the right `label`.
	Label string `pulumi:"label"`
	// `zone`) The zone in which the image exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getMarketplaceImage.

type GetMarketplaceImageOutputArgs

type GetMarketplaceImageOutputArgs struct {
	// The instance type the image is compatible with.
	// You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
	InstanceType pulumi.StringPtrInput `pulumi:"instanceType"`
	// Exact label of the desired image. You can use [this endpoint](https://api-marketplace.scaleway.com/images?page=1&per_page=100)
	// to find the right `label`.
	Label pulumi.StringInput `pulumi:"label"`
	// `zone`) The zone in which the image exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getMarketplaceImage.

func (GetMarketplaceImageOutputArgs) ElementType

type GetMarketplaceImageResult

type GetMarketplaceImageResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id           string  `pulumi:"id"`
	InstanceType *string `pulumi:"instanceType"`
	Label        string  `pulumi:"label"`
	Zone         string  `pulumi:"zone"`
}

A collection of values returned by getMarketplaceImage.

func GetMarketplaceImage

func GetMarketplaceImage(ctx *pulumi.Context, args *GetMarketplaceImageArgs, opts ...pulumi.InvokeOption) (*GetMarketplaceImageResult, error)

Gets local image ID of an image from its label name.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.GetMarketplaceImage(ctx, &instance.GetMarketplaceImageArgs{
			Label: "ubuntu_jammy",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetMarketplaceImageResultOutput

type GetMarketplaceImageResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getMarketplaceImage.

func (GetMarketplaceImageResultOutput) ElementType

func (GetMarketplaceImageResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetMarketplaceImageResultOutput) InstanceType

func (GetMarketplaceImageResultOutput) Label

func (GetMarketplaceImageResultOutput) ToGetMarketplaceImageResultOutput

func (o GetMarketplaceImageResultOutput) ToGetMarketplaceImageResultOutput() GetMarketplaceImageResultOutput

func (GetMarketplaceImageResultOutput) ToGetMarketplaceImageResultOutputWithContext

func (o GetMarketplaceImageResultOutput) ToGetMarketplaceImageResultOutputWithContext(ctx context.Context) GetMarketplaceImageResultOutput

func (GetMarketplaceImageResultOutput) Zone

type GetSecurityGroupInboundRule

type GetSecurityGroupInboundRule struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action string `pulumi:"action"`
	// The ip this rule apply to.
	Ip string `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule apply to.
	IpRange string `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port int `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange string `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol string `pulumi:"protocol"`
}

type GetSecurityGroupInboundRuleArgs

type GetSecurityGroupInboundRuleArgs struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action pulumi.StringInput `pulumi:"action"`
	// The ip this rule apply to.
	Ip pulumi.StringInput `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule apply to.
	IpRange pulumi.StringInput `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port pulumi.IntInput `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange pulumi.StringInput `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (GetSecurityGroupInboundRuleArgs) ElementType

func (GetSecurityGroupInboundRuleArgs) ToGetSecurityGroupInboundRuleOutput

func (i GetSecurityGroupInboundRuleArgs) ToGetSecurityGroupInboundRuleOutput() GetSecurityGroupInboundRuleOutput

func (GetSecurityGroupInboundRuleArgs) ToGetSecurityGroupInboundRuleOutputWithContext

func (i GetSecurityGroupInboundRuleArgs) ToGetSecurityGroupInboundRuleOutputWithContext(ctx context.Context) GetSecurityGroupInboundRuleOutput

type GetSecurityGroupInboundRuleArray

type GetSecurityGroupInboundRuleArray []GetSecurityGroupInboundRuleInput

func (GetSecurityGroupInboundRuleArray) ElementType

func (GetSecurityGroupInboundRuleArray) ToGetSecurityGroupInboundRuleArrayOutput

func (i GetSecurityGroupInboundRuleArray) ToGetSecurityGroupInboundRuleArrayOutput() GetSecurityGroupInboundRuleArrayOutput

func (GetSecurityGroupInboundRuleArray) ToGetSecurityGroupInboundRuleArrayOutputWithContext

func (i GetSecurityGroupInboundRuleArray) ToGetSecurityGroupInboundRuleArrayOutputWithContext(ctx context.Context) GetSecurityGroupInboundRuleArrayOutput

type GetSecurityGroupInboundRuleArrayInput

type GetSecurityGroupInboundRuleArrayInput interface {
	pulumi.Input

	ToGetSecurityGroupInboundRuleArrayOutput() GetSecurityGroupInboundRuleArrayOutput
	ToGetSecurityGroupInboundRuleArrayOutputWithContext(context.Context) GetSecurityGroupInboundRuleArrayOutput
}

GetSecurityGroupInboundRuleArrayInput is an input type that accepts GetSecurityGroupInboundRuleArray and GetSecurityGroupInboundRuleArrayOutput values. You can construct a concrete instance of `GetSecurityGroupInboundRuleArrayInput` via:

GetSecurityGroupInboundRuleArray{ GetSecurityGroupInboundRuleArgs{...} }

type GetSecurityGroupInboundRuleArrayOutput

type GetSecurityGroupInboundRuleArrayOutput struct{ *pulumi.OutputState }

func (GetSecurityGroupInboundRuleArrayOutput) ElementType

func (GetSecurityGroupInboundRuleArrayOutput) Index

func (GetSecurityGroupInboundRuleArrayOutput) ToGetSecurityGroupInboundRuleArrayOutput

func (o GetSecurityGroupInboundRuleArrayOutput) ToGetSecurityGroupInboundRuleArrayOutput() GetSecurityGroupInboundRuleArrayOutput

func (GetSecurityGroupInboundRuleArrayOutput) ToGetSecurityGroupInboundRuleArrayOutputWithContext

func (o GetSecurityGroupInboundRuleArrayOutput) ToGetSecurityGroupInboundRuleArrayOutputWithContext(ctx context.Context) GetSecurityGroupInboundRuleArrayOutput

type GetSecurityGroupInboundRuleInput

type GetSecurityGroupInboundRuleInput interface {
	pulumi.Input

	ToGetSecurityGroupInboundRuleOutput() GetSecurityGroupInboundRuleOutput
	ToGetSecurityGroupInboundRuleOutputWithContext(context.Context) GetSecurityGroupInboundRuleOutput
}

GetSecurityGroupInboundRuleInput is an input type that accepts GetSecurityGroupInboundRuleArgs and GetSecurityGroupInboundRuleOutput values. You can construct a concrete instance of `GetSecurityGroupInboundRuleInput` via:

GetSecurityGroupInboundRuleArgs{...}

type GetSecurityGroupInboundRuleOutput

type GetSecurityGroupInboundRuleOutput struct{ *pulumi.OutputState }

func (GetSecurityGroupInboundRuleOutput) Action

The action to take when rule match. Possible values are: `accept` or `drop`.

func (GetSecurityGroupInboundRuleOutput) ElementType

func (GetSecurityGroupInboundRuleOutput) Ip

The ip this rule apply to.

func (GetSecurityGroupInboundRuleOutput) IpRange

The ip range (e.g `192.168.1.0/24`) this rule apply to.

func (GetSecurityGroupInboundRuleOutput) Port

The port this rule apply to. If no port is specified, rule will apply to all port.

func (GetSecurityGroupInboundRuleOutput) PortRange

Computed port range for this rule (e.g: 1-1024, 22-22)

func (GetSecurityGroupInboundRuleOutput) Protocol

The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.

func (GetSecurityGroupInboundRuleOutput) ToGetSecurityGroupInboundRuleOutput

func (o GetSecurityGroupInboundRuleOutput) ToGetSecurityGroupInboundRuleOutput() GetSecurityGroupInboundRuleOutput

func (GetSecurityGroupInboundRuleOutput) ToGetSecurityGroupInboundRuleOutputWithContext

func (o GetSecurityGroupInboundRuleOutput) ToGetSecurityGroupInboundRuleOutputWithContext(ctx context.Context) GetSecurityGroupInboundRuleOutput

type GetSecurityGroupOutboundRule

type GetSecurityGroupOutboundRule struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action string `pulumi:"action"`
	// The ip this rule apply to.
	Ip string `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule apply to.
	IpRange string `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port int `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange string `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol string `pulumi:"protocol"`
}

type GetSecurityGroupOutboundRuleArgs

type GetSecurityGroupOutboundRuleArgs struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action pulumi.StringInput `pulumi:"action"`
	// The ip this rule apply to.
	Ip pulumi.StringInput `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule apply to.
	IpRange pulumi.StringInput `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port pulumi.IntInput `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange pulumi.StringInput `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (GetSecurityGroupOutboundRuleArgs) ElementType

func (GetSecurityGroupOutboundRuleArgs) ToGetSecurityGroupOutboundRuleOutput

func (i GetSecurityGroupOutboundRuleArgs) ToGetSecurityGroupOutboundRuleOutput() GetSecurityGroupOutboundRuleOutput

func (GetSecurityGroupOutboundRuleArgs) ToGetSecurityGroupOutboundRuleOutputWithContext

func (i GetSecurityGroupOutboundRuleArgs) ToGetSecurityGroupOutboundRuleOutputWithContext(ctx context.Context) GetSecurityGroupOutboundRuleOutput

type GetSecurityGroupOutboundRuleArray

type GetSecurityGroupOutboundRuleArray []GetSecurityGroupOutboundRuleInput

func (GetSecurityGroupOutboundRuleArray) ElementType

func (GetSecurityGroupOutboundRuleArray) ToGetSecurityGroupOutboundRuleArrayOutput

func (i GetSecurityGroupOutboundRuleArray) ToGetSecurityGroupOutboundRuleArrayOutput() GetSecurityGroupOutboundRuleArrayOutput

func (GetSecurityGroupOutboundRuleArray) ToGetSecurityGroupOutboundRuleArrayOutputWithContext

func (i GetSecurityGroupOutboundRuleArray) ToGetSecurityGroupOutboundRuleArrayOutputWithContext(ctx context.Context) GetSecurityGroupOutboundRuleArrayOutput

type GetSecurityGroupOutboundRuleArrayInput

type GetSecurityGroupOutboundRuleArrayInput interface {
	pulumi.Input

	ToGetSecurityGroupOutboundRuleArrayOutput() GetSecurityGroupOutboundRuleArrayOutput
	ToGetSecurityGroupOutboundRuleArrayOutputWithContext(context.Context) GetSecurityGroupOutboundRuleArrayOutput
}

GetSecurityGroupOutboundRuleArrayInput is an input type that accepts GetSecurityGroupOutboundRuleArray and GetSecurityGroupOutboundRuleArrayOutput values. You can construct a concrete instance of `GetSecurityGroupOutboundRuleArrayInput` via:

GetSecurityGroupOutboundRuleArray{ GetSecurityGroupOutboundRuleArgs{...} }

type GetSecurityGroupOutboundRuleArrayOutput

type GetSecurityGroupOutboundRuleArrayOutput struct{ *pulumi.OutputState }

func (GetSecurityGroupOutboundRuleArrayOutput) ElementType

func (GetSecurityGroupOutboundRuleArrayOutput) Index

func (GetSecurityGroupOutboundRuleArrayOutput) ToGetSecurityGroupOutboundRuleArrayOutput

func (o GetSecurityGroupOutboundRuleArrayOutput) ToGetSecurityGroupOutboundRuleArrayOutput() GetSecurityGroupOutboundRuleArrayOutput

func (GetSecurityGroupOutboundRuleArrayOutput) ToGetSecurityGroupOutboundRuleArrayOutputWithContext

func (o GetSecurityGroupOutboundRuleArrayOutput) ToGetSecurityGroupOutboundRuleArrayOutputWithContext(ctx context.Context) GetSecurityGroupOutboundRuleArrayOutput

type GetSecurityGroupOutboundRuleInput

type GetSecurityGroupOutboundRuleInput interface {
	pulumi.Input

	ToGetSecurityGroupOutboundRuleOutput() GetSecurityGroupOutboundRuleOutput
	ToGetSecurityGroupOutboundRuleOutputWithContext(context.Context) GetSecurityGroupOutboundRuleOutput
}

GetSecurityGroupOutboundRuleInput is an input type that accepts GetSecurityGroupOutboundRuleArgs and GetSecurityGroupOutboundRuleOutput values. You can construct a concrete instance of `GetSecurityGroupOutboundRuleInput` via:

GetSecurityGroupOutboundRuleArgs{...}

type GetSecurityGroupOutboundRuleOutput

type GetSecurityGroupOutboundRuleOutput struct{ *pulumi.OutputState }

func (GetSecurityGroupOutboundRuleOutput) Action

The action to take when rule match. Possible values are: `accept` or `drop`.

func (GetSecurityGroupOutboundRuleOutput) ElementType

func (GetSecurityGroupOutboundRuleOutput) Ip

The ip this rule apply to.

func (GetSecurityGroupOutboundRuleOutput) IpRange

The ip range (e.g `192.168.1.0/24`) this rule apply to.

func (GetSecurityGroupOutboundRuleOutput) Port

The port this rule apply to. If no port is specified, rule will apply to all port.

func (GetSecurityGroupOutboundRuleOutput) PortRange

Computed port range for this rule (e.g: 1-1024, 22-22)

func (GetSecurityGroupOutboundRuleOutput) Protocol

The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.

func (GetSecurityGroupOutboundRuleOutput) ToGetSecurityGroupOutboundRuleOutput

func (o GetSecurityGroupOutboundRuleOutput) ToGetSecurityGroupOutboundRuleOutput() GetSecurityGroupOutboundRuleOutput

func (GetSecurityGroupOutboundRuleOutput) ToGetSecurityGroupOutboundRuleOutputWithContext

func (o GetSecurityGroupOutboundRuleOutput) ToGetSecurityGroupOutboundRuleOutputWithContext(ctx context.Context) GetSecurityGroupOutboundRuleOutput

type GetServerPrivateNetwork

type GetServerPrivateNetwork struct {
	// MAC address of the NIC
	MacAddress string `pulumi:"macAddress"`
	// The Private Network ID
	PnId string `pulumi:"pnId"`
	// The private NIC state
	Status string `pulumi:"status"`
	// `zone`) The zone in which the server exists.
	Zone string `pulumi:"zone"`
}

type GetServerPrivateNetworkArgs

type GetServerPrivateNetworkArgs struct {
	// MAC address of the NIC
	MacAddress pulumi.StringInput `pulumi:"macAddress"`
	// The Private Network ID
	PnId pulumi.StringInput `pulumi:"pnId"`
	// The private NIC state
	Status pulumi.StringInput `pulumi:"status"`
	// `zone`) The zone in which the server exists.
	Zone pulumi.StringInput `pulumi:"zone"`
}

func (GetServerPrivateNetworkArgs) ElementType

func (GetServerPrivateNetworkArgs) ToGetServerPrivateNetworkOutput

func (i GetServerPrivateNetworkArgs) ToGetServerPrivateNetworkOutput() GetServerPrivateNetworkOutput

func (GetServerPrivateNetworkArgs) ToGetServerPrivateNetworkOutputWithContext

func (i GetServerPrivateNetworkArgs) ToGetServerPrivateNetworkOutputWithContext(ctx context.Context) GetServerPrivateNetworkOutput

type GetServerPrivateNetworkArray

type GetServerPrivateNetworkArray []GetServerPrivateNetworkInput

func (GetServerPrivateNetworkArray) ElementType

func (GetServerPrivateNetworkArray) ToGetServerPrivateNetworkArrayOutput

func (i GetServerPrivateNetworkArray) ToGetServerPrivateNetworkArrayOutput() GetServerPrivateNetworkArrayOutput

func (GetServerPrivateNetworkArray) ToGetServerPrivateNetworkArrayOutputWithContext

func (i GetServerPrivateNetworkArray) ToGetServerPrivateNetworkArrayOutputWithContext(ctx context.Context) GetServerPrivateNetworkArrayOutput

type GetServerPrivateNetworkArrayInput

type GetServerPrivateNetworkArrayInput interface {
	pulumi.Input

	ToGetServerPrivateNetworkArrayOutput() GetServerPrivateNetworkArrayOutput
	ToGetServerPrivateNetworkArrayOutputWithContext(context.Context) GetServerPrivateNetworkArrayOutput
}

GetServerPrivateNetworkArrayInput is an input type that accepts GetServerPrivateNetworkArray and GetServerPrivateNetworkArrayOutput values. You can construct a concrete instance of `GetServerPrivateNetworkArrayInput` via:

GetServerPrivateNetworkArray{ GetServerPrivateNetworkArgs{...} }

type GetServerPrivateNetworkArrayOutput

type GetServerPrivateNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetServerPrivateNetworkArrayOutput) ElementType

func (GetServerPrivateNetworkArrayOutput) Index

func (GetServerPrivateNetworkArrayOutput) ToGetServerPrivateNetworkArrayOutput

func (o GetServerPrivateNetworkArrayOutput) ToGetServerPrivateNetworkArrayOutput() GetServerPrivateNetworkArrayOutput

func (GetServerPrivateNetworkArrayOutput) ToGetServerPrivateNetworkArrayOutputWithContext

func (o GetServerPrivateNetworkArrayOutput) ToGetServerPrivateNetworkArrayOutputWithContext(ctx context.Context) GetServerPrivateNetworkArrayOutput

type GetServerPrivateNetworkInput

type GetServerPrivateNetworkInput interface {
	pulumi.Input

	ToGetServerPrivateNetworkOutput() GetServerPrivateNetworkOutput
	ToGetServerPrivateNetworkOutputWithContext(context.Context) GetServerPrivateNetworkOutput
}

GetServerPrivateNetworkInput is an input type that accepts GetServerPrivateNetworkArgs and GetServerPrivateNetworkOutput values. You can construct a concrete instance of `GetServerPrivateNetworkInput` via:

GetServerPrivateNetworkArgs{...}

type GetServerPrivateNetworkOutput

type GetServerPrivateNetworkOutput struct{ *pulumi.OutputState }

func (GetServerPrivateNetworkOutput) ElementType

func (GetServerPrivateNetworkOutput) MacAddress

MAC address of the NIC

func (GetServerPrivateNetworkOutput) PnId

The Private Network ID

func (GetServerPrivateNetworkOutput) Status

The private NIC state

func (GetServerPrivateNetworkOutput) ToGetServerPrivateNetworkOutput

func (o GetServerPrivateNetworkOutput) ToGetServerPrivateNetworkOutput() GetServerPrivateNetworkOutput

func (GetServerPrivateNetworkOutput) ToGetServerPrivateNetworkOutputWithContext

func (o GetServerPrivateNetworkOutput) ToGetServerPrivateNetworkOutputWithContext(ctx context.Context) GetServerPrivateNetworkOutput

func (GetServerPrivateNetworkOutput) Zone

`zone`) The zone in which the server exists.

type GetServerPublicIp

type GetServerPublicIp struct {
	// The address of the IP
	Address string `pulumi:"address"`
	// The ID of the IP
	Id string `pulumi:"id"`
}

type GetServerPublicIpArgs

type GetServerPublicIpArgs struct {
	// The address of the IP
	Address pulumi.StringInput `pulumi:"address"`
	// The ID of the IP
	Id pulumi.StringInput `pulumi:"id"`
}

func (GetServerPublicIpArgs) ElementType

func (GetServerPublicIpArgs) ElementType() reflect.Type

func (GetServerPublicIpArgs) ToGetServerPublicIpOutput

func (i GetServerPublicIpArgs) ToGetServerPublicIpOutput() GetServerPublicIpOutput

func (GetServerPublicIpArgs) ToGetServerPublicIpOutputWithContext

func (i GetServerPublicIpArgs) ToGetServerPublicIpOutputWithContext(ctx context.Context) GetServerPublicIpOutput

type GetServerPublicIpArray

type GetServerPublicIpArray []GetServerPublicIpInput

func (GetServerPublicIpArray) ElementType

func (GetServerPublicIpArray) ElementType() reflect.Type

func (GetServerPublicIpArray) ToGetServerPublicIpArrayOutput

func (i GetServerPublicIpArray) ToGetServerPublicIpArrayOutput() GetServerPublicIpArrayOutput

func (GetServerPublicIpArray) ToGetServerPublicIpArrayOutputWithContext

func (i GetServerPublicIpArray) ToGetServerPublicIpArrayOutputWithContext(ctx context.Context) GetServerPublicIpArrayOutput

type GetServerPublicIpArrayInput

type GetServerPublicIpArrayInput interface {
	pulumi.Input

	ToGetServerPublicIpArrayOutput() GetServerPublicIpArrayOutput
	ToGetServerPublicIpArrayOutputWithContext(context.Context) GetServerPublicIpArrayOutput
}

GetServerPublicIpArrayInput is an input type that accepts GetServerPublicIpArray and GetServerPublicIpArrayOutput values. You can construct a concrete instance of `GetServerPublicIpArrayInput` via:

GetServerPublicIpArray{ GetServerPublicIpArgs{...} }

type GetServerPublicIpArrayOutput

type GetServerPublicIpArrayOutput struct{ *pulumi.OutputState }

func (GetServerPublicIpArrayOutput) ElementType

func (GetServerPublicIpArrayOutput) Index

func (GetServerPublicIpArrayOutput) ToGetServerPublicIpArrayOutput

func (o GetServerPublicIpArrayOutput) ToGetServerPublicIpArrayOutput() GetServerPublicIpArrayOutput

func (GetServerPublicIpArrayOutput) ToGetServerPublicIpArrayOutputWithContext

func (o GetServerPublicIpArrayOutput) ToGetServerPublicIpArrayOutputWithContext(ctx context.Context) GetServerPublicIpArrayOutput

type GetServerPublicIpInput

type GetServerPublicIpInput interface {
	pulumi.Input

	ToGetServerPublicIpOutput() GetServerPublicIpOutput
	ToGetServerPublicIpOutputWithContext(context.Context) GetServerPublicIpOutput
}

GetServerPublicIpInput is an input type that accepts GetServerPublicIpArgs and GetServerPublicIpOutput values. You can construct a concrete instance of `GetServerPublicIpInput` via:

GetServerPublicIpArgs{...}

type GetServerPublicIpOutput

type GetServerPublicIpOutput struct{ *pulumi.OutputState }

func (GetServerPublicIpOutput) Address

The address of the IP

func (GetServerPublicIpOutput) ElementType

func (GetServerPublicIpOutput) ElementType() reflect.Type

func (GetServerPublicIpOutput) Id

The ID of the IP

func (GetServerPublicIpOutput) ToGetServerPublicIpOutput

func (o GetServerPublicIpOutput) ToGetServerPublicIpOutput() GetServerPublicIpOutput

func (GetServerPublicIpOutput) ToGetServerPublicIpOutputWithContext

func (o GetServerPublicIpOutput) ToGetServerPublicIpOutputWithContext(ctx context.Context) GetServerPublicIpOutput

type GetServerRootVolume

type GetServerRootVolume struct {
	// Set the volume where the boot the server
	Boot bool `pulumi:"boot"`
	// Forces deletion of the root volume on instance termination.
	DeleteOnTermination bool `pulumi:"deleteOnTermination"`
	// The server name. Only one of `name` and `serverId` should be specified.
	Name string `pulumi:"name"`
	// Size of the root volume in gigabytes.
	SizeInGb int `pulumi:"sizeInGb"`
	// The volume ID of the root volume of the server.
	VolumeId string `pulumi:"volumeId"`
	// Volume type of the root volume
	VolumeType string `pulumi:"volumeType"`
}

type GetServerRootVolumeArgs

type GetServerRootVolumeArgs struct {
	// Set the volume where the boot the server
	Boot pulumi.BoolInput `pulumi:"boot"`
	// Forces deletion of the root volume on instance termination.
	DeleteOnTermination pulumi.BoolInput `pulumi:"deleteOnTermination"`
	// The server name. Only one of `name` and `serverId` should be specified.
	Name pulumi.StringInput `pulumi:"name"`
	// Size of the root volume in gigabytes.
	SizeInGb pulumi.IntInput `pulumi:"sizeInGb"`
	// The volume ID of the root volume of the server.
	VolumeId pulumi.StringInput `pulumi:"volumeId"`
	// Volume type of the root volume
	VolumeType pulumi.StringInput `pulumi:"volumeType"`
}

func (GetServerRootVolumeArgs) ElementType

func (GetServerRootVolumeArgs) ElementType() reflect.Type

func (GetServerRootVolumeArgs) ToGetServerRootVolumeOutput

func (i GetServerRootVolumeArgs) ToGetServerRootVolumeOutput() GetServerRootVolumeOutput

func (GetServerRootVolumeArgs) ToGetServerRootVolumeOutputWithContext

func (i GetServerRootVolumeArgs) ToGetServerRootVolumeOutputWithContext(ctx context.Context) GetServerRootVolumeOutput

type GetServerRootVolumeArray

type GetServerRootVolumeArray []GetServerRootVolumeInput

func (GetServerRootVolumeArray) ElementType

func (GetServerRootVolumeArray) ElementType() reflect.Type

func (GetServerRootVolumeArray) ToGetServerRootVolumeArrayOutput

func (i GetServerRootVolumeArray) ToGetServerRootVolumeArrayOutput() GetServerRootVolumeArrayOutput

func (GetServerRootVolumeArray) ToGetServerRootVolumeArrayOutputWithContext

func (i GetServerRootVolumeArray) ToGetServerRootVolumeArrayOutputWithContext(ctx context.Context) GetServerRootVolumeArrayOutput

type GetServerRootVolumeArrayInput

type GetServerRootVolumeArrayInput interface {
	pulumi.Input

	ToGetServerRootVolumeArrayOutput() GetServerRootVolumeArrayOutput
	ToGetServerRootVolumeArrayOutputWithContext(context.Context) GetServerRootVolumeArrayOutput
}

GetServerRootVolumeArrayInput is an input type that accepts GetServerRootVolumeArray and GetServerRootVolumeArrayOutput values. You can construct a concrete instance of `GetServerRootVolumeArrayInput` via:

GetServerRootVolumeArray{ GetServerRootVolumeArgs{...} }

type GetServerRootVolumeArrayOutput

type GetServerRootVolumeArrayOutput struct{ *pulumi.OutputState }

func (GetServerRootVolumeArrayOutput) ElementType

func (GetServerRootVolumeArrayOutput) Index

func (GetServerRootVolumeArrayOutput) ToGetServerRootVolumeArrayOutput

func (o GetServerRootVolumeArrayOutput) ToGetServerRootVolumeArrayOutput() GetServerRootVolumeArrayOutput

func (GetServerRootVolumeArrayOutput) ToGetServerRootVolumeArrayOutputWithContext

func (o GetServerRootVolumeArrayOutput) ToGetServerRootVolumeArrayOutputWithContext(ctx context.Context) GetServerRootVolumeArrayOutput

type GetServerRootVolumeInput

type GetServerRootVolumeInput interface {
	pulumi.Input

	ToGetServerRootVolumeOutput() GetServerRootVolumeOutput
	ToGetServerRootVolumeOutputWithContext(context.Context) GetServerRootVolumeOutput
}

GetServerRootVolumeInput is an input type that accepts GetServerRootVolumeArgs and GetServerRootVolumeOutput values. You can construct a concrete instance of `GetServerRootVolumeInput` via:

GetServerRootVolumeArgs{...}

type GetServerRootVolumeOutput

type GetServerRootVolumeOutput struct{ *pulumi.OutputState }

func (GetServerRootVolumeOutput) Boot

Set the volume where the boot the server

func (GetServerRootVolumeOutput) DeleteOnTermination

func (o GetServerRootVolumeOutput) DeleteOnTermination() pulumi.BoolOutput

Forces deletion of the root volume on instance termination.

func (GetServerRootVolumeOutput) ElementType

func (GetServerRootVolumeOutput) ElementType() reflect.Type

func (GetServerRootVolumeOutput) Name

The server name. Only one of `name` and `serverId` should be specified.

func (GetServerRootVolumeOutput) SizeInGb

Size of the root volume in gigabytes.

func (GetServerRootVolumeOutput) ToGetServerRootVolumeOutput

func (o GetServerRootVolumeOutput) ToGetServerRootVolumeOutput() GetServerRootVolumeOutput

func (GetServerRootVolumeOutput) ToGetServerRootVolumeOutputWithContext

func (o GetServerRootVolumeOutput) ToGetServerRootVolumeOutputWithContext(ctx context.Context) GetServerRootVolumeOutput

func (GetServerRootVolumeOutput) VolumeId

The volume ID of the root volume of the server.

func (GetServerRootVolumeOutput) VolumeType

Volume type of the root volume

type GetServersArgs

type GetServersArgs struct {
	// The server name used as filter. Servers with a name like it are listed.
	Name *string `pulumi:"name"`
	// The ID of the project the server is associated with.
	ProjectId *string `pulumi:"projectId"`
	// List of tags used as filter. Servers with these exact tags are listed.
	Tags []string `pulumi:"tags"`
	// `zone`) The zone in which servers exist.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getServers.

type GetServersOutputArgs

type GetServersOutputArgs struct {
	// The server name used as filter. Servers with a name like it are listed.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the server is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// List of tags used as filter. Servers with these exact tags are listed.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// `zone`) The zone in which servers exist.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getServers.

func (GetServersOutputArgs) ElementType

func (GetServersOutputArgs) ElementType() reflect.Type

type GetServersResult

type GetServersResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The name of the server.
	Name *string `pulumi:"name"`
	// The organization ID the server is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The ID of the project the server is associated with.
	ProjectId string `pulumi:"projectId"`
	// List of found servers
	Servers []GetServersServer `pulumi:"servers"`
	// The tags associated with the server.
	Tags []string `pulumi:"tags"`
	// The zone in which the server is.
	Zone string `pulumi:"zone"`
}

A collection of values returned by getServers.

func GetServers

func GetServers(ctx *pulumi.Context, args *GetServersArgs, opts ...pulumi.InvokeOption) (*GetServersResult, error)

Gets information about multiple instance servers.

## Examples

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.GetServers(ctx, &instance.GetServersArgs{
			Name: pulumi.StringRef("myserver"),
			Zone: pulumi.StringRef("fr-par-2"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetServersResultOutput

type GetServersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServers.

func (GetServersResultOutput) ElementType

func (GetServersResultOutput) ElementType() reflect.Type

func (GetServersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetServersResultOutput) Name

The name of the server.

func (GetServersResultOutput) OrganizationId

func (o GetServersResultOutput) OrganizationId() pulumi.StringOutput

The organization ID the server is associated with.

func (GetServersResultOutput) ProjectId

The ID of the project the server is associated with.

func (GetServersResultOutput) Servers

List of found servers

func (GetServersResultOutput) Tags

The tags associated with the server.

func (GetServersResultOutput) ToGetServersResultOutput

func (o GetServersResultOutput) ToGetServersResultOutput() GetServersResultOutput

func (GetServersResultOutput) ToGetServersResultOutputWithContext

func (o GetServersResultOutput) ToGetServersResultOutputWithContext(ctx context.Context) GetServersResultOutput

func (GetServersResultOutput) Zone

The zone in which the server is.

type GetServersServer

type GetServersServer struct {
	// The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
	BootType string `pulumi:"bootType"`
	// The ID of the bootscript.
	BootscriptId string `pulumi:"bootscriptId"`
	// If true a dynamic IP will be attached to the server.
	EnableDynamicIp bool `pulumi:"enableDynamicIp"`
	// Determines if IPv6 is enabled for the server.
	EnableIpv6 bool `pulumi:"enableIpv6"`
	// The ID of the IP
	Id string `pulumi:"id"`
	// The UUID or the label of the base image used by the server.
	Image string `pulumi:"image"`
	// The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6Address string `pulumi:"ipv6Address"`
	// The ipv6 gateway address. ( Only set when enableIpv6 is set to true )
	Ipv6Gateway string `pulumi:"ipv6Gateway"`
	// The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6PrefixLength int `pulumi:"ipv6PrefixLength"`
	// The server name used as filter. Servers with a name like it are listed.
	Name string `pulumi:"name"`
	// The organization ID the server is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
	PlacementGroupId              string `pulumi:"placementGroupId"`
	PlacementGroupPolicyRespected bool   `pulumi:"placementGroupPolicyRespected"`
	// The Scaleway internal IP address of the server.
	PrivateIp string `pulumi:"privateIp"`
	// The ID of the project the server is associated with.
	ProjectId string `pulumi:"projectId"`
	// The public IP address of the server.
	PublicIp string `pulumi:"publicIp"`
	// The list of public IPs of the server
	PublicIps []GetServersServerPublicIp `pulumi:"publicIps"`
	// True if the server support routed ip only.
	RoutedIpEnabled bool `pulumi:"routedIpEnabled"`
	// The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
	SecurityGroupId string `pulumi:"securityGroupId"`
	// The state of the server. Possible values are: `started`, `stopped` or `standby`.
	State string `pulumi:"state"`
	// List of tags used as filter. Servers with these exact tags are listed.
	Tags []string `pulumi:"tags"`
	// The commercial type of the server.
	Type string `pulumi:"type"`
	// `zone`) The zone in which servers exist.
	Zone string `pulumi:"zone"`
}

type GetServersServerArgs

type GetServersServerArgs struct {
	// The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
	BootType pulumi.StringInput `pulumi:"bootType"`
	// The ID of the bootscript.
	BootscriptId pulumi.StringInput `pulumi:"bootscriptId"`
	// If true a dynamic IP will be attached to the server.
	EnableDynamicIp pulumi.BoolInput `pulumi:"enableDynamicIp"`
	// Determines if IPv6 is enabled for the server.
	EnableIpv6 pulumi.BoolInput `pulumi:"enableIpv6"`
	// The ID of the IP
	Id pulumi.StringInput `pulumi:"id"`
	// The UUID or the label of the base image used by the server.
	Image pulumi.StringInput `pulumi:"image"`
	// The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6Address pulumi.StringInput `pulumi:"ipv6Address"`
	// The ipv6 gateway address. ( Only set when enableIpv6 is set to true )
	Ipv6Gateway pulumi.StringInput `pulumi:"ipv6Gateway"`
	// The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6PrefixLength pulumi.IntInput `pulumi:"ipv6PrefixLength"`
	// The server name used as filter. Servers with a name like it are listed.
	Name pulumi.StringInput `pulumi:"name"`
	// The organization ID the server is associated with.
	OrganizationId pulumi.StringInput `pulumi:"organizationId"`
	// The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
	PlacementGroupId              pulumi.StringInput `pulumi:"placementGroupId"`
	PlacementGroupPolicyRespected pulumi.BoolInput   `pulumi:"placementGroupPolicyRespected"`
	// The Scaleway internal IP address of the server.
	PrivateIp pulumi.StringInput `pulumi:"privateIp"`
	// The ID of the project the server is associated with.
	ProjectId pulumi.StringInput `pulumi:"projectId"`
	// The public IP address of the server.
	PublicIp pulumi.StringInput `pulumi:"publicIp"`
	// The list of public IPs of the server
	PublicIps GetServersServerPublicIpArrayInput `pulumi:"publicIps"`
	// True if the server support routed ip only.
	RoutedIpEnabled pulumi.BoolInput `pulumi:"routedIpEnabled"`
	// The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
	SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"`
	// The state of the server. Possible values are: `started`, `stopped` or `standby`.
	State pulumi.StringInput `pulumi:"state"`
	// List of tags used as filter. Servers with these exact tags are listed.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The commercial type of the server.
	Type pulumi.StringInput `pulumi:"type"`
	// `zone`) The zone in which servers exist.
	Zone pulumi.StringInput `pulumi:"zone"`
}

func (GetServersServerArgs) ElementType

func (GetServersServerArgs) ElementType() reflect.Type

func (GetServersServerArgs) ToGetServersServerOutput

func (i GetServersServerArgs) ToGetServersServerOutput() GetServersServerOutput

func (GetServersServerArgs) ToGetServersServerOutputWithContext

func (i GetServersServerArgs) ToGetServersServerOutputWithContext(ctx context.Context) GetServersServerOutput

type GetServersServerArray

type GetServersServerArray []GetServersServerInput

func (GetServersServerArray) ElementType

func (GetServersServerArray) ElementType() reflect.Type

func (GetServersServerArray) ToGetServersServerArrayOutput

func (i GetServersServerArray) ToGetServersServerArrayOutput() GetServersServerArrayOutput

func (GetServersServerArray) ToGetServersServerArrayOutputWithContext

func (i GetServersServerArray) ToGetServersServerArrayOutputWithContext(ctx context.Context) GetServersServerArrayOutput

type GetServersServerArrayInput

type GetServersServerArrayInput interface {
	pulumi.Input

	ToGetServersServerArrayOutput() GetServersServerArrayOutput
	ToGetServersServerArrayOutputWithContext(context.Context) GetServersServerArrayOutput
}

GetServersServerArrayInput is an input type that accepts GetServersServerArray and GetServersServerArrayOutput values. You can construct a concrete instance of `GetServersServerArrayInput` via:

GetServersServerArray{ GetServersServerArgs{...} }

type GetServersServerArrayOutput

type GetServersServerArrayOutput struct{ *pulumi.OutputState }

func (GetServersServerArrayOutput) ElementType

func (GetServersServerArrayOutput) Index

func (GetServersServerArrayOutput) ToGetServersServerArrayOutput

func (o GetServersServerArrayOutput) ToGetServersServerArrayOutput() GetServersServerArrayOutput

func (GetServersServerArrayOutput) ToGetServersServerArrayOutputWithContext

func (o GetServersServerArrayOutput) ToGetServersServerArrayOutputWithContext(ctx context.Context) GetServersServerArrayOutput

type GetServersServerInput

type GetServersServerInput interface {
	pulumi.Input

	ToGetServersServerOutput() GetServersServerOutput
	ToGetServersServerOutputWithContext(context.Context) GetServersServerOutput
}

GetServersServerInput is an input type that accepts GetServersServerArgs and GetServersServerOutput values. You can construct a concrete instance of `GetServersServerInput` via:

GetServersServerArgs{...}

type GetServersServerOutput

type GetServersServerOutput struct{ *pulumi.OutputState }

func (GetServersServerOutput) BootType

The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.

func (GetServersServerOutput) BootscriptId

func (o GetServersServerOutput) BootscriptId() pulumi.StringOutput

The ID of the bootscript.

func (GetServersServerOutput) ElementType

func (GetServersServerOutput) ElementType() reflect.Type

func (GetServersServerOutput) EnableDynamicIp

func (o GetServersServerOutput) EnableDynamicIp() pulumi.BoolOutput

If true a dynamic IP will be attached to the server.

func (GetServersServerOutput) EnableIpv6

func (o GetServersServerOutput) EnableIpv6() pulumi.BoolOutput

Determines if IPv6 is enabled for the server.

func (GetServersServerOutput) Id

The ID of the IP

func (GetServersServerOutput) Image

The UUID or the label of the base image used by the server.

func (GetServersServerOutput) Ipv6Address

func (o GetServersServerOutput) Ipv6Address() pulumi.StringOutput

The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )

func (GetServersServerOutput) Ipv6Gateway

func (o GetServersServerOutput) Ipv6Gateway() pulumi.StringOutput

The ipv6 gateway address. ( Only set when enableIpv6 is set to true )

func (GetServersServerOutput) Ipv6PrefixLength

func (o GetServersServerOutput) Ipv6PrefixLength() pulumi.IntOutput

The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )

func (GetServersServerOutput) Name

The server name used as filter. Servers with a name like it are listed.

func (GetServersServerOutput) OrganizationId

func (o GetServersServerOutput) OrganizationId() pulumi.StringOutput

The organization ID the server is associated with.

func (GetServersServerOutput) PlacementGroupId

func (o GetServersServerOutput) PlacementGroupId() pulumi.StringOutput

The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.

func (GetServersServerOutput) PlacementGroupPolicyRespected

func (o GetServersServerOutput) PlacementGroupPolicyRespected() pulumi.BoolOutput

func (GetServersServerOutput) PrivateIp

The Scaleway internal IP address of the server.

func (GetServersServerOutput) ProjectId

The ID of the project the server is associated with.

func (GetServersServerOutput) PublicIp

The public IP address of the server.

func (GetServersServerOutput) PublicIps

The list of public IPs of the server

func (GetServersServerOutput) RoutedIpEnabled

func (o GetServersServerOutput) RoutedIpEnabled() pulumi.BoolOutput

True if the server support routed ip only.

func (GetServersServerOutput) SecurityGroupId

func (o GetServersServerOutput) SecurityGroupId() pulumi.StringOutput

The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.

func (GetServersServerOutput) State

The state of the server. Possible values are: `started`, `stopped` or `standby`.

func (GetServersServerOutput) Tags

List of tags used as filter. Servers with these exact tags are listed.

func (GetServersServerOutput) ToGetServersServerOutput

func (o GetServersServerOutput) ToGetServersServerOutput() GetServersServerOutput

func (GetServersServerOutput) ToGetServersServerOutputWithContext

func (o GetServersServerOutput) ToGetServersServerOutputWithContext(ctx context.Context) GetServersServerOutput

func (GetServersServerOutput) Type

The commercial type of the server.

func (GetServersServerOutput) Zone

`zone`) The zone in which servers exist.

type GetServersServerPublicIp

type GetServersServerPublicIp struct {
	// The address of the IP
	Address string `pulumi:"address"`
	// The ID of the IP
	Id string `pulumi:"id"`
}

type GetServersServerPublicIpArgs

type GetServersServerPublicIpArgs struct {
	// The address of the IP
	Address pulumi.StringInput `pulumi:"address"`
	// The ID of the IP
	Id pulumi.StringInput `pulumi:"id"`
}

func (GetServersServerPublicIpArgs) ElementType

func (GetServersServerPublicIpArgs) ToGetServersServerPublicIpOutput

func (i GetServersServerPublicIpArgs) ToGetServersServerPublicIpOutput() GetServersServerPublicIpOutput

func (GetServersServerPublicIpArgs) ToGetServersServerPublicIpOutputWithContext

func (i GetServersServerPublicIpArgs) ToGetServersServerPublicIpOutputWithContext(ctx context.Context) GetServersServerPublicIpOutput

type GetServersServerPublicIpArray

type GetServersServerPublicIpArray []GetServersServerPublicIpInput

func (GetServersServerPublicIpArray) ElementType

func (GetServersServerPublicIpArray) ToGetServersServerPublicIpArrayOutput

func (i GetServersServerPublicIpArray) ToGetServersServerPublicIpArrayOutput() GetServersServerPublicIpArrayOutput

func (GetServersServerPublicIpArray) ToGetServersServerPublicIpArrayOutputWithContext

func (i GetServersServerPublicIpArray) ToGetServersServerPublicIpArrayOutputWithContext(ctx context.Context) GetServersServerPublicIpArrayOutput

type GetServersServerPublicIpArrayInput

type GetServersServerPublicIpArrayInput interface {
	pulumi.Input

	ToGetServersServerPublicIpArrayOutput() GetServersServerPublicIpArrayOutput
	ToGetServersServerPublicIpArrayOutputWithContext(context.Context) GetServersServerPublicIpArrayOutput
}

GetServersServerPublicIpArrayInput is an input type that accepts GetServersServerPublicIpArray and GetServersServerPublicIpArrayOutput values. You can construct a concrete instance of `GetServersServerPublicIpArrayInput` via:

GetServersServerPublicIpArray{ GetServersServerPublicIpArgs{...} }

type GetServersServerPublicIpArrayOutput

type GetServersServerPublicIpArrayOutput struct{ *pulumi.OutputState }

func (GetServersServerPublicIpArrayOutput) ElementType

func (GetServersServerPublicIpArrayOutput) Index

func (GetServersServerPublicIpArrayOutput) ToGetServersServerPublicIpArrayOutput

func (o GetServersServerPublicIpArrayOutput) ToGetServersServerPublicIpArrayOutput() GetServersServerPublicIpArrayOutput

func (GetServersServerPublicIpArrayOutput) ToGetServersServerPublicIpArrayOutputWithContext

func (o GetServersServerPublicIpArrayOutput) ToGetServersServerPublicIpArrayOutputWithContext(ctx context.Context) GetServersServerPublicIpArrayOutput

type GetServersServerPublicIpInput

type GetServersServerPublicIpInput interface {
	pulumi.Input

	ToGetServersServerPublicIpOutput() GetServersServerPublicIpOutput
	ToGetServersServerPublicIpOutputWithContext(context.Context) GetServersServerPublicIpOutput
}

GetServersServerPublicIpInput is an input type that accepts GetServersServerPublicIpArgs and GetServersServerPublicIpOutput values. You can construct a concrete instance of `GetServersServerPublicIpInput` via:

GetServersServerPublicIpArgs{...}

type GetServersServerPublicIpOutput

type GetServersServerPublicIpOutput struct{ *pulumi.OutputState }

func (GetServersServerPublicIpOutput) Address

The address of the IP

func (GetServersServerPublicIpOutput) ElementType

func (GetServersServerPublicIpOutput) Id

The ID of the IP

func (GetServersServerPublicIpOutput) ToGetServersServerPublicIpOutput

func (o GetServersServerPublicIpOutput) ToGetServersServerPublicIpOutput() GetServersServerPublicIpOutput

func (GetServersServerPublicIpOutput) ToGetServersServerPublicIpOutputWithContext

func (o GetServersServerPublicIpOutput) ToGetServersServerPublicIpOutputWithContext(ctx context.Context) GetServersServerPublicIpOutput

type GetSnapshotImport

type GetSnapshotImport struct {
	// Bucket containing qcow
	Bucket string `pulumi:"bucket"`
	// Key of the qcow file in the specified bucket
	Key string `pulumi:"key"`
}

type GetSnapshotImportArgs

type GetSnapshotImportArgs struct {
	// Bucket containing qcow
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Key of the qcow file in the specified bucket
	Key pulumi.StringInput `pulumi:"key"`
}

func (GetSnapshotImportArgs) ElementType

func (GetSnapshotImportArgs) ElementType() reflect.Type

func (GetSnapshotImportArgs) ToGetSnapshotImportOutput

func (i GetSnapshotImportArgs) ToGetSnapshotImportOutput() GetSnapshotImportOutput

func (GetSnapshotImportArgs) ToGetSnapshotImportOutputWithContext

func (i GetSnapshotImportArgs) ToGetSnapshotImportOutputWithContext(ctx context.Context) GetSnapshotImportOutput

type GetSnapshotImportArray

type GetSnapshotImportArray []GetSnapshotImportInput

func (GetSnapshotImportArray) ElementType

func (GetSnapshotImportArray) ElementType() reflect.Type

func (GetSnapshotImportArray) ToGetSnapshotImportArrayOutput

func (i GetSnapshotImportArray) ToGetSnapshotImportArrayOutput() GetSnapshotImportArrayOutput

func (GetSnapshotImportArray) ToGetSnapshotImportArrayOutputWithContext

func (i GetSnapshotImportArray) ToGetSnapshotImportArrayOutputWithContext(ctx context.Context) GetSnapshotImportArrayOutput

type GetSnapshotImportArrayInput

type GetSnapshotImportArrayInput interface {
	pulumi.Input

	ToGetSnapshotImportArrayOutput() GetSnapshotImportArrayOutput
	ToGetSnapshotImportArrayOutputWithContext(context.Context) GetSnapshotImportArrayOutput
}

GetSnapshotImportArrayInput is an input type that accepts GetSnapshotImportArray and GetSnapshotImportArrayOutput values. You can construct a concrete instance of `GetSnapshotImportArrayInput` via:

GetSnapshotImportArray{ GetSnapshotImportArgs{...} }

type GetSnapshotImportArrayOutput

type GetSnapshotImportArrayOutput struct{ *pulumi.OutputState }

func (GetSnapshotImportArrayOutput) ElementType

func (GetSnapshotImportArrayOutput) Index

func (GetSnapshotImportArrayOutput) ToGetSnapshotImportArrayOutput

func (o GetSnapshotImportArrayOutput) ToGetSnapshotImportArrayOutput() GetSnapshotImportArrayOutput

func (GetSnapshotImportArrayOutput) ToGetSnapshotImportArrayOutputWithContext

func (o GetSnapshotImportArrayOutput) ToGetSnapshotImportArrayOutputWithContext(ctx context.Context) GetSnapshotImportArrayOutput

type GetSnapshotImportInput

type GetSnapshotImportInput interface {
	pulumi.Input

	ToGetSnapshotImportOutput() GetSnapshotImportOutput
	ToGetSnapshotImportOutputWithContext(context.Context) GetSnapshotImportOutput
}

GetSnapshotImportInput is an input type that accepts GetSnapshotImportArgs and GetSnapshotImportOutput values. You can construct a concrete instance of `GetSnapshotImportInput` via:

GetSnapshotImportArgs{...}

type GetSnapshotImportOutput

type GetSnapshotImportOutput struct{ *pulumi.OutputState }

func (GetSnapshotImportOutput) Bucket

Bucket containing qcow

func (GetSnapshotImportOutput) ElementType

func (GetSnapshotImportOutput) ElementType() reflect.Type

func (GetSnapshotImportOutput) Key

Key of the qcow file in the specified bucket

func (GetSnapshotImportOutput) ToGetSnapshotImportOutput

func (o GetSnapshotImportOutput) ToGetSnapshotImportOutput() GetSnapshotImportOutput

func (GetSnapshotImportOutput) ToGetSnapshotImportOutputWithContext

func (o GetSnapshotImportOutput) ToGetSnapshotImportOutputWithContext(ctx context.Context) GetSnapshotImportOutput

type IP

type IP struct {
	pulumi.CustomResourceState

	// The IP address.
	Address pulumi.StringOutput `pulumi:"address"`
	// The organization ID the IP is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The IP Prefix.
	Prefix pulumi.StringOutput `pulumi:"prefix"`
	// `projectId`) The ID of the project the IP is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The reverse dns attached to this IP
	Reverse pulumi.StringOutput `pulumi:"reverse"`
	// The server associated with this IP
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The tags associated with the IP.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The type of the IP (`nat`, `routedIpv4`, `routedIpv6`), more information in [the documentation](https://www.scaleway.com/en/docs/compute/instances/api-cli/using-routed-ips/)
	//
	// > **Important:** An IP can migrate from `nat` to `routedIpv4` but cannot be converted back
	Type pulumi.StringOutput `pulumi:"type"`
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Compute Instance IPs. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#ips-268151).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewIP(ctx, "serverIp", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

IPs can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/iP:IP server_ip fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetIP

func GetIP(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IPState, opts ...pulumi.ResourceOption) (*IP, error)

GetIP gets an existing IP resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIP

func NewIP(ctx *pulumi.Context,
	name string, args *IPArgs, opts ...pulumi.ResourceOption) (*IP, error)

NewIP registers a new resource with the given unique name, arguments, and options.

func (*IP) ElementType

func (*IP) ElementType() reflect.Type

func (*IP) ToIPOutput

func (i *IP) ToIPOutput() IPOutput

func (*IP) ToIPOutputWithContext

func (i *IP) ToIPOutputWithContext(ctx context.Context) IPOutput

type IPArgs

type IPArgs struct {
	// `projectId`) The ID of the project the IP is associated with.
	ProjectId pulumi.StringPtrInput
	// The tags associated with the IP.
	Tags pulumi.StringArrayInput
	// The type of the IP (`nat`, `routedIpv4`, `routedIpv6`), more information in [the documentation](https://www.scaleway.com/en/docs/compute/instances/api-cli/using-routed-ips/)
	//
	// > **Important:** An IP can migrate from `nat` to `routedIpv4` but cannot be converted back
	Type pulumi.StringPtrInput
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a IP resource.

func (IPArgs) ElementType

func (IPArgs) ElementType() reflect.Type

type IPArray

type IPArray []IPInput

func (IPArray) ElementType

func (IPArray) ElementType() reflect.Type

func (IPArray) ToIPArrayOutput

func (i IPArray) ToIPArrayOutput() IPArrayOutput

func (IPArray) ToIPArrayOutputWithContext

func (i IPArray) ToIPArrayOutputWithContext(ctx context.Context) IPArrayOutput

type IPArrayInput

type IPArrayInput interface {
	pulumi.Input

	ToIPArrayOutput() IPArrayOutput
	ToIPArrayOutputWithContext(context.Context) IPArrayOutput
}

IPArrayInput is an input type that accepts IPArray and IPArrayOutput values. You can construct a concrete instance of `IPArrayInput` via:

IPArray{ IPArgs{...} }

type IPArrayOutput

type IPArrayOutput struct{ *pulumi.OutputState }

func (IPArrayOutput) ElementType

func (IPArrayOutput) ElementType() reflect.Type

func (IPArrayOutput) Index

func (IPArrayOutput) ToIPArrayOutput

func (o IPArrayOutput) ToIPArrayOutput() IPArrayOutput

func (IPArrayOutput) ToIPArrayOutputWithContext

func (o IPArrayOutput) ToIPArrayOutputWithContext(ctx context.Context) IPArrayOutput

type IPInput

type IPInput interface {
	pulumi.Input

	ToIPOutput() IPOutput
	ToIPOutputWithContext(ctx context.Context) IPOutput
}

type IPMap

type IPMap map[string]IPInput

func (IPMap) ElementType

func (IPMap) ElementType() reflect.Type

func (IPMap) ToIPMapOutput

func (i IPMap) ToIPMapOutput() IPMapOutput

func (IPMap) ToIPMapOutputWithContext

func (i IPMap) ToIPMapOutputWithContext(ctx context.Context) IPMapOutput

type IPMapInput

type IPMapInput interface {
	pulumi.Input

	ToIPMapOutput() IPMapOutput
	ToIPMapOutputWithContext(context.Context) IPMapOutput
}

IPMapInput is an input type that accepts IPMap and IPMapOutput values. You can construct a concrete instance of `IPMapInput` via:

IPMap{ "key": IPArgs{...} }

type IPMapOutput

type IPMapOutput struct{ *pulumi.OutputState }

func (IPMapOutput) ElementType

func (IPMapOutput) ElementType() reflect.Type

func (IPMapOutput) MapIndex

func (o IPMapOutput) MapIndex(k pulumi.StringInput) IPOutput

func (IPMapOutput) ToIPMapOutput

func (o IPMapOutput) ToIPMapOutput() IPMapOutput

func (IPMapOutput) ToIPMapOutputWithContext

func (o IPMapOutput) ToIPMapOutputWithContext(ctx context.Context) IPMapOutput

type IPOutput

type IPOutput struct{ *pulumi.OutputState }

func (IPOutput) Address

func (o IPOutput) Address() pulumi.StringOutput

The IP address.

func (IPOutput) ElementType

func (IPOutput) ElementType() reflect.Type

func (IPOutput) OrganizationId

func (o IPOutput) OrganizationId() pulumi.StringOutput

The organization ID the IP is associated with.

func (IPOutput) Prefix

func (o IPOutput) Prefix() pulumi.StringOutput

The IP Prefix.

func (IPOutput) ProjectId

func (o IPOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the IP is associated with.

func (IPOutput) Reverse

func (o IPOutput) Reverse() pulumi.StringOutput

The reverse dns attached to this IP

func (IPOutput) ServerId

func (o IPOutput) ServerId() pulumi.StringOutput

The server associated with this IP

func (IPOutput) Tags

The tags associated with the IP.

func (IPOutput) ToIPOutput

func (o IPOutput) ToIPOutput() IPOutput

func (IPOutput) ToIPOutputWithContext

func (o IPOutput) ToIPOutputWithContext(ctx context.Context) IPOutput

func (IPOutput) Type

func (o IPOutput) Type() pulumi.StringOutput

The type of the IP (`nat`, `routedIpv4`, `routedIpv6`), more information in [the documentation](https://www.scaleway.com/en/docs/compute/instances/api-cli/using-routed-ips/)

> **Important:** An IP can migrate from `nat` to `routedIpv4` but cannot be converted back

func (IPOutput) Zone

func (o IPOutput) Zone() pulumi.StringOutput

`zone`) The zone in which the IP should be reserved.

type IPReverseDNS

type IPReverseDNS struct {
	pulumi.CustomResourceState

	// The IP ID
	IpId pulumi.StringOutput `pulumi:"ipId"`
	// The reverse DNS for this IP.
	Reverse pulumi.StringOutput `pulumi:"reverse"`
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Manages Scaleway Compute Instance IPs Reverse DNS.

Please check our [guide](https://www.scaleway.com/en/docs/compute/instances/how-to/configure-reverse-dns/) for more details

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/dns"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		serverIp, err := instance.NewIP(ctx, "serverIp", nil)
		if err != nil {
			return err
		}
		_, err = dns.NewRecord(ctx, "tfA", &dns.RecordArgs{
			DnsZone:  pulumi.String("scaleway.com"),
			Type:     pulumi.String("A"),
			Data:     serverIp.Address,
			Ttl:      pulumi.Int(3600),
			Priority: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewIPReverseDNS(ctx, "reverse", &instance.IPReverseDNSArgs{
			IpId:    serverIp.ID(),
			Reverse: pulumi.String("www.scaleway.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

IPs reverse DNS can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/iPReverseDNS:IPReverseDNS reverse fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetIPReverseDNS

func GetIPReverseDNS(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IPReverseDNSState, opts ...pulumi.ResourceOption) (*IPReverseDNS, error)

GetIPReverseDNS gets an existing IPReverseDNS resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIPReverseDNS

func NewIPReverseDNS(ctx *pulumi.Context,
	name string, args *IPReverseDNSArgs, opts ...pulumi.ResourceOption) (*IPReverseDNS, error)

NewIPReverseDNS registers a new resource with the given unique name, arguments, and options.

func (*IPReverseDNS) ElementType

func (*IPReverseDNS) ElementType() reflect.Type

func (*IPReverseDNS) ToIPReverseDNSOutput

func (i *IPReverseDNS) ToIPReverseDNSOutput() IPReverseDNSOutput

func (*IPReverseDNS) ToIPReverseDNSOutputWithContext

func (i *IPReverseDNS) ToIPReverseDNSOutputWithContext(ctx context.Context) IPReverseDNSOutput

type IPReverseDNSArgs

type IPReverseDNSArgs struct {
	// The IP ID
	IpId pulumi.StringInput
	// The reverse DNS for this IP.
	Reverse pulumi.StringInput
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a IPReverseDNS resource.

func (IPReverseDNSArgs) ElementType

func (IPReverseDNSArgs) ElementType() reflect.Type

type IPReverseDNSArray

type IPReverseDNSArray []IPReverseDNSInput

func (IPReverseDNSArray) ElementType

func (IPReverseDNSArray) ElementType() reflect.Type

func (IPReverseDNSArray) ToIPReverseDNSArrayOutput

func (i IPReverseDNSArray) ToIPReverseDNSArrayOutput() IPReverseDNSArrayOutput

func (IPReverseDNSArray) ToIPReverseDNSArrayOutputWithContext

func (i IPReverseDNSArray) ToIPReverseDNSArrayOutputWithContext(ctx context.Context) IPReverseDNSArrayOutput

type IPReverseDNSArrayInput

type IPReverseDNSArrayInput interface {
	pulumi.Input

	ToIPReverseDNSArrayOutput() IPReverseDNSArrayOutput
	ToIPReverseDNSArrayOutputWithContext(context.Context) IPReverseDNSArrayOutput
}

IPReverseDNSArrayInput is an input type that accepts IPReverseDNSArray and IPReverseDNSArrayOutput values. You can construct a concrete instance of `IPReverseDNSArrayInput` via:

IPReverseDNSArray{ IPReverseDNSArgs{...} }

type IPReverseDNSArrayOutput

type IPReverseDNSArrayOutput struct{ *pulumi.OutputState }

func (IPReverseDNSArrayOutput) ElementType

func (IPReverseDNSArrayOutput) ElementType() reflect.Type

func (IPReverseDNSArrayOutput) Index

func (IPReverseDNSArrayOutput) ToIPReverseDNSArrayOutput

func (o IPReverseDNSArrayOutput) ToIPReverseDNSArrayOutput() IPReverseDNSArrayOutput

func (IPReverseDNSArrayOutput) ToIPReverseDNSArrayOutputWithContext

func (o IPReverseDNSArrayOutput) ToIPReverseDNSArrayOutputWithContext(ctx context.Context) IPReverseDNSArrayOutput

type IPReverseDNSInput

type IPReverseDNSInput interface {
	pulumi.Input

	ToIPReverseDNSOutput() IPReverseDNSOutput
	ToIPReverseDNSOutputWithContext(ctx context.Context) IPReverseDNSOutput
}

type IPReverseDNSMap

type IPReverseDNSMap map[string]IPReverseDNSInput

func (IPReverseDNSMap) ElementType

func (IPReverseDNSMap) ElementType() reflect.Type

func (IPReverseDNSMap) ToIPReverseDNSMapOutput

func (i IPReverseDNSMap) ToIPReverseDNSMapOutput() IPReverseDNSMapOutput

func (IPReverseDNSMap) ToIPReverseDNSMapOutputWithContext

func (i IPReverseDNSMap) ToIPReverseDNSMapOutputWithContext(ctx context.Context) IPReverseDNSMapOutput

type IPReverseDNSMapInput

type IPReverseDNSMapInput interface {
	pulumi.Input

	ToIPReverseDNSMapOutput() IPReverseDNSMapOutput
	ToIPReverseDNSMapOutputWithContext(context.Context) IPReverseDNSMapOutput
}

IPReverseDNSMapInput is an input type that accepts IPReverseDNSMap and IPReverseDNSMapOutput values. You can construct a concrete instance of `IPReverseDNSMapInput` via:

IPReverseDNSMap{ "key": IPReverseDNSArgs{...} }

type IPReverseDNSMapOutput

type IPReverseDNSMapOutput struct{ *pulumi.OutputState }

func (IPReverseDNSMapOutput) ElementType

func (IPReverseDNSMapOutput) ElementType() reflect.Type

func (IPReverseDNSMapOutput) MapIndex

func (IPReverseDNSMapOutput) ToIPReverseDNSMapOutput

func (o IPReverseDNSMapOutput) ToIPReverseDNSMapOutput() IPReverseDNSMapOutput

func (IPReverseDNSMapOutput) ToIPReverseDNSMapOutputWithContext

func (o IPReverseDNSMapOutput) ToIPReverseDNSMapOutputWithContext(ctx context.Context) IPReverseDNSMapOutput

type IPReverseDNSOutput

type IPReverseDNSOutput struct{ *pulumi.OutputState }

func (IPReverseDNSOutput) ElementType

func (IPReverseDNSOutput) ElementType() reflect.Type

func (IPReverseDNSOutput) IpId

The IP ID

func (IPReverseDNSOutput) Reverse

The reverse DNS for this IP.

func (IPReverseDNSOutput) ToIPReverseDNSOutput

func (o IPReverseDNSOutput) ToIPReverseDNSOutput() IPReverseDNSOutput

func (IPReverseDNSOutput) ToIPReverseDNSOutputWithContext

func (o IPReverseDNSOutput) ToIPReverseDNSOutputWithContext(ctx context.Context) IPReverseDNSOutput

func (IPReverseDNSOutput) Zone

`zone`) The zone in which the IP should be reserved.

type IPReverseDNSState

type IPReverseDNSState struct {
	// The IP ID
	IpId pulumi.StringPtrInput
	// The reverse DNS for this IP.
	Reverse pulumi.StringPtrInput
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringPtrInput
}

func (IPReverseDNSState) ElementType

func (IPReverseDNSState) ElementType() reflect.Type

type IPState

type IPState struct {
	// The IP address.
	Address pulumi.StringPtrInput
	// The organization ID the IP is associated with.
	OrganizationId pulumi.StringPtrInput
	// The IP Prefix.
	Prefix pulumi.StringPtrInput
	// `projectId`) The ID of the project the IP is associated with.
	ProjectId pulumi.StringPtrInput
	// The reverse dns attached to this IP
	Reverse pulumi.StringPtrInput
	// The server associated with this IP
	ServerId pulumi.StringPtrInput
	// The tags associated with the IP.
	Tags pulumi.StringArrayInput
	// The type of the IP (`nat`, `routedIpv4`, `routedIpv6`), more information in [the documentation](https://www.scaleway.com/en/docs/compute/instances/api-cli/using-routed-ips/)
	//
	// > **Important:** An IP can migrate from `nat` to `routedIpv4` but cannot be converted back
	Type pulumi.StringPtrInput
	// `zone`) The zone in which the IP should be reserved.
	Zone pulumi.StringPtrInput
}

func (IPState) ElementType

func (IPState) ElementType() reflect.Type

type Image

type Image struct {
	pulumi.CustomResourceState

	// List of IDs of the snapshots of the additional volumes to be attached to the image.
	//
	// > **Important:** For now it is only possible to have 1 additional_volume.
	AdditionalVolumeIds pulumi.StringPtrOutput `pulumi:"additionalVolumeIds"`
	// The description of the extra volumes attached to the image.
	AdditionalVolumes ImageAdditionalVolumeArrayOutput `pulumi:"additionalVolumes"`
	// The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
	Architecture pulumi.StringPtrOutput `pulumi:"architecture"`
	// Date of the volume creation.
	CreationDate pulumi.StringOutput `pulumi:"creationDate"`
	// ID of the server the image is based on (in case it is a backup).
	FromServerId pulumi.StringOutput `pulumi:"fromServerId"`
	// Date of volume latest update.
	ModificationDate pulumi.StringOutput `pulumi:"modificationDate"`
	// The name of the image. If not provided it will be randomly generated.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the image is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The ID of the project the image is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Set to `true` if the image is public.
	Public pulumi.BoolPtrOutput `pulumi:"public"`
	// The ID of the snapshot of the volume to be used as root in the image.
	RootVolumeId pulumi.StringOutput `pulumi:"rootVolumeId"`
	// State of the volume.
	State pulumi.StringOutput `pulumi:"state"`
	// A list of tags to apply to the image.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The zone in which the image should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Compute Images. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#images-41389b).

## Example Usage

### From a volume

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		volume, err := instance.NewVolume(ctx, "volume", &instance.VolumeArgs{
			Type:     pulumi.String("b_ssd"),
			SizeInGb: pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		volumeSnapshot, err := instance.NewSnapshot(ctx, "volumeSnapshot", &instance.SnapshotArgs{
			VolumeId: volume.ID(),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewImage(ctx, "volumeImage", &instance.ImageArgs{
			RootVolumeId: volumeSnapshot.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### From a server

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewServer(ctx, "server", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
		})
		if err != nil {
			return err
		}
		serverSnapshot, err := instance.NewSnapshot(ctx, "serverSnapshot", &instance.SnapshotArgs{
			VolumeId: pulumi.Any(scaleway_instance_server.Main.Root_volume[0].Volume_id),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewImage(ctx, "serverImage", &instance.ImageArgs{
			RootVolumeId: serverSnapshot.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Images can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/image:Image main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetImage

func GetImage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ImageState, opts ...pulumi.ResourceOption) (*Image, error)

GetImage gets an existing Image resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewImage

func NewImage(ctx *pulumi.Context,
	name string, args *ImageArgs, opts ...pulumi.ResourceOption) (*Image, error)

NewImage registers a new resource with the given unique name, arguments, and options.

func (*Image) ElementType

func (*Image) ElementType() reflect.Type

func (*Image) ToImageOutput

func (i *Image) ToImageOutput() ImageOutput

func (*Image) ToImageOutputWithContext

func (i *Image) ToImageOutputWithContext(ctx context.Context) ImageOutput

type ImageAdditionalVolume

type ImageAdditionalVolume struct {
	// Date of the volume creation.
	CreationDate *string `pulumi:"creationDate"`
	// The export URI of the volume.
	ExportUri *string `pulumi:"exportUri"`
	// ID of the server containing the volume.
	Id *string `pulumi:"id"`
	// Date of volume latest update.
	ModificationDate *string `pulumi:"modificationDate"`
	// The name of the image. If not provided it will be randomly generated.
	Name *string `pulumi:"name"`
	// The organization ID the volume is associated with.
	Organization *string `pulumi:"organization"`
	// ID of the project the volume is associated with
	Project *string `pulumi:"project"`
	// Description of the server containing the volume (in case the image is a backup from a server).
	Server map[string]string `pulumi:"server"`
	// The size of the volume.
	Size *int `pulumi:"size"`
	// State of the volume.
	State *string `pulumi:"state"`
	// A list of tags to apply to the image.
	Tags []string `pulumi:"tags"`
	// The type of volume, possible values are `lSsd` and `bSsd`.
	VolumeType *string `pulumi:"volumeType"`
	// The zone in which the image should be created.
	Zone *string `pulumi:"zone"`
}

type ImageAdditionalVolumeArgs

type ImageAdditionalVolumeArgs struct {
	// Date of the volume creation.
	CreationDate pulumi.StringPtrInput `pulumi:"creationDate"`
	// The export URI of the volume.
	ExportUri pulumi.StringPtrInput `pulumi:"exportUri"`
	// ID of the server containing the volume.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Date of volume latest update.
	ModificationDate pulumi.StringPtrInput `pulumi:"modificationDate"`
	// The name of the image. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The organization ID the volume is associated with.
	Organization pulumi.StringPtrInput `pulumi:"organization"`
	// ID of the project the volume is associated with
	Project pulumi.StringPtrInput `pulumi:"project"`
	// Description of the server containing the volume (in case the image is a backup from a server).
	Server pulumi.StringMapInput `pulumi:"server"`
	// The size of the volume.
	Size pulumi.IntPtrInput `pulumi:"size"`
	// State of the volume.
	State pulumi.StringPtrInput `pulumi:"state"`
	// A list of tags to apply to the image.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// The type of volume, possible values are `lSsd` and `bSsd`.
	VolumeType pulumi.StringPtrInput `pulumi:"volumeType"`
	// The zone in which the image should be created.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

func (ImageAdditionalVolumeArgs) ElementType

func (ImageAdditionalVolumeArgs) ElementType() reflect.Type

func (ImageAdditionalVolumeArgs) ToImageAdditionalVolumeOutput

func (i ImageAdditionalVolumeArgs) ToImageAdditionalVolumeOutput() ImageAdditionalVolumeOutput

func (ImageAdditionalVolumeArgs) ToImageAdditionalVolumeOutputWithContext

func (i ImageAdditionalVolumeArgs) ToImageAdditionalVolumeOutputWithContext(ctx context.Context) ImageAdditionalVolumeOutput

type ImageAdditionalVolumeArray

type ImageAdditionalVolumeArray []ImageAdditionalVolumeInput

func (ImageAdditionalVolumeArray) ElementType

func (ImageAdditionalVolumeArray) ElementType() reflect.Type

func (ImageAdditionalVolumeArray) ToImageAdditionalVolumeArrayOutput

func (i ImageAdditionalVolumeArray) ToImageAdditionalVolumeArrayOutput() ImageAdditionalVolumeArrayOutput

func (ImageAdditionalVolumeArray) ToImageAdditionalVolumeArrayOutputWithContext

func (i ImageAdditionalVolumeArray) ToImageAdditionalVolumeArrayOutputWithContext(ctx context.Context) ImageAdditionalVolumeArrayOutput

type ImageAdditionalVolumeArrayInput

type ImageAdditionalVolumeArrayInput interface {
	pulumi.Input

	ToImageAdditionalVolumeArrayOutput() ImageAdditionalVolumeArrayOutput
	ToImageAdditionalVolumeArrayOutputWithContext(context.Context) ImageAdditionalVolumeArrayOutput
}

ImageAdditionalVolumeArrayInput is an input type that accepts ImageAdditionalVolumeArray and ImageAdditionalVolumeArrayOutput values. You can construct a concrete instance of `ImageAdditionalVolumeArrayInput` via:

ImageAdditionalVolumeArray{ ImageAdditionalVolumeArgs{...} }

type ImageAdditionalVolumeArrayOutput

type ImageAdditionalVolumeArrayOutput struct{ *pulumi.OutputState }

func (ImageAdditionalVolumeArrayOutput) ElementType

func (ImageAdditionalVolumeArrayOutput) Index

func (ImageAdditionalVolumeArrayOutput) ToImageAdditionalVolumeArrayOutput

func (o ImageAdditionalVolumeArrayOutput) ToImageAdditionalVolumeArrayOutput() ImageAdditionalVolumeArrayOutput

func (ImageAdditionalVolumeArrayOutput) ToImageAdditionalVolumeArrayOutputWithContext

func (o ImageAdditionalVolumeArrayOutput) ToImageAdditionalVolumeArrayOutputWithContext(ctx context.Context) ImageAdditionalVolumeArrayOutput

type ImageAdditionalVolumeInput

type ImageAdditionalVolumeInput interface {
	pulumi.Input

	ToImageAdditionalVolumeOutput() ImageAdditionalVolumeOutput
	ToImageAdditionalVolumeOutputWithContext(context.Context) ImageAdditionalVolumeOutput
}

ImageAdditionalVolumeInput is an input type that accepts ImageAdditionalVolumeArgs and ImageAdditionalVolumeOutput values. You can construct a concrete instance of `ImageAdditionalVolumeInput` via:

ImageAdditionalVolumeArgs{...}

type ImageAdditionalVolumeOutput

type ImageAdditionalVolumeOutput struct{ *pulumi.OutputState }

func (ImageAdditionalVolumeOutput) CreationDate

Date of the volume creation.

func (ImageAdditionalVolumeOutput) ElementType

func (ImageAdditionalVolumeOutput) ExportUri

The export URI of the volume.

func (ImageAdditionalVolumeOutput) Id

ID of the server containing the volume.

func (ImageAdditionalVolumeOutput) ModificationDate

func (o ImageAdditionalVolumeOutput) ModificationDate() pulumi.StringPtrOutput

Date of volume latest update.

func (ImageAdditionalVolumeOutput) Name

The name of the image. If not provided it will be randomly generated.

func (ImageAdditionalVolumeOutput) Organization

The organization ID the volume is associated with.

func (ImageAdditionalVolumeOutput) Project

ID of the project the volume is associated with

func (ImageAdditionalVolumeOutput) Server

Description of the server containing the volume (in case the image is a backup from a server).

func (ImageAdditionalVolumeOutput) Size

The size of the volume.

func (ImageAdditionalVolumeOutput) State

State of the volume.

func (ImageAdditionalVolumeOutput) Tags

A list of tags to apply to the image.

func (ImageAdditionalVolumeOutput) ToImageAdditionalVolumeOutput

func (o ImageAdditionalVolumeOutput) ToImageAdditionalVolumeOutput() ImageAdditionalVolumeOutput

func (ImageAdditionalVolumeOutput) ToImageAdditionalVolumeOutputWithContext

func (o ImageAdditionalVolumeOutput) ToImageAdditionalVolumeOutputWithContext(ctx context.Context) ImageAdditionalVolumeOutput

func (ImageAdditionalVolumeOutput) VolumeType

The type of volume, possible values are `lSsd` and `bSsd`.

func (ImageAdditionalVolumeOutput) Zone

The zone in which the image should be created.

type ImageArgs

type ImageArgs struct {
	// List of IDs of the snapshots of the additional volumes to be attached to the image.
	//
	// > **Important:** For now it is only possible to have 1 additional_volume.
	AdditionalVolumeIds pulumi.StringPtrInput
	// The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
	Architecture pulumi.StringPtrInput
	// The name of the image. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The ID of the project the image is associated with.
	ProjectId pulumi.StringPtrInput
	// Set to `true` if the image is public.
	Public pulumi.BoolPtrInput
	// The ID of the snapshot of the volume to be used as root in the image.
	RootVolumeId pulumi.StringInput
	// A list of tags to apply to the image.
	Tags pulumi.StringArrayInput
	// The zone in which the image should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Image resource.

func (ImageArgs) ElementType

func (ImageArgs) ElementType() reflect.Type

type ImageArray

type ImageArray []ImageInput

func (ImageArray) ElementType

func (ImageArray) ElementType() reflect.Type

func (ImageArray) ToImageArrayOutput

func (i ImageArray) ToImageArrayOutput() ImageArrayOutput

func (ImageArray) ToImageArrayOutputWithContext

func (i ImageArray) ToImageArrayOutputWithContext(ctx context.Context) ImageArrayOutput

type ImageArrayInput

type ImageArrayInput interface {
	pulumi.Input

	ToImageArrayOutput() ImageArrayOutput
	ToImageArrayOutputWithContext(context.Context) ImageArrayOutput
}

ImageArrayInput is an input type that accepts ImageArray and ImageArrayOutput values. You can construct a concrete instance of `ImageArrayInput` via:

ImageArray{ ImageArgs{...} }

type ImageArrayOutput

type ImageArrayOutput struct{ *pulumi.OutputState }

func (ImageArrayOutput) ElementType

func (ImageArrayOutput) ElementType() reflect.Type

func (ImageArrayOutput) Index

func (ImageArrayOutput) ToImageArrayOutput

func (o ImageArrayOutput) ToImageArrayOutput() ImageArrayOutput

func (ImageArrayOutput) ToImageArrayOutputWithContext

func (o ImageArrayOutput) ToImageArrayOutputWithContext(ctx context.Context) ImageArrayOutput

type ImageInput

type ImageInput interface {
	pulumi.Input

	ToImageOutput() ImageOutput
	ToImageOutputWithContext(ctx context.Context) ImageOutput
}

type ImageMap

type ImageMap map[string]ImageInput

func (ImageMap) ElementType

func (ImageMap) ElementType() reflect.Type

func (ImageMap) ToImageMapOutput

func (i ImageMap) ToImageMapOutput() ImageMapOutput

func (ImageMap) ToImageMapOutputWithContext

func (i ImageMap) ToImageMapOutputWithContext(ctx context.Context) ImageMapOutput

type ImageMapInput

type ImageMapInput interface {
	pulumi.Input

	ToImageMapOutput() ImageMapOutput
	ToImageMapOutputWithContext(context.Context) ImageMapOutput
}

ImageMapInput is an input type that accepts ImageMap and ImageMapOutput values. You can construct a concrete instance of `ImageMapInput` via:

ImageMap{ "key": ImageArgs{...} }

type ImageMapOutput

type ImageMapOutput struct{ *pulumi.OutputState }

func (ImageMapOutput) ElementType

func (ImageMapOutput) ElementType() reflect.Type

func (ImageMapOutput) MapIndex

func (ImageMapOutput) ToImageMapOutput

func (o ImageMapOutput) ToImageMapOutput() ImageMapOutput

func (ImageMapOutput) ToImageMapOutputWithContext

func (o ImageMapOutput) ToImageMapOutputWithContext(ctx context.Context) ImageMapOutput

type ImageOutput

type ImageOutput struct{ *pulumi.OutputState }

func (ImageOutput) AdditionalVolumeIds

func (o ImageOutput) AdditionalVolumeIds() pulumi.StringPtrOutput

List of IDs of the snapshots of the additional volumes to be attached to the image.

> **Important:** For now it is only possible to have 1 additional_volume.

func (ImageOutput) AdditionalVolumes

func (o ImageOutput) AdditionalVolumes() ImageAdditionalVolumeArrayOutput

The description of the extra volumes attached to the image.

func (ImageOutput) Architecture

func (o ImageOutput) Architecture() pulumi.StringPtrOutput

The architecture the image is compatible with. Possible values are: `x8664` or `arm`.

func (ImageOutput) CreationDate

func (o ImageOutput) CreationDate() pulumi.StringOutput

Date of the volume creation.

func (ImageOutput) ElementType

func (ImageOutput) ElementType() reflect.Type

func (ImageOutput) FromServerId

func (o ImageOutput) FromServerId() pulumi.StringOutput

ID of the server the image is based on (in case it is a backup).

func (ImageOutput) ModificationDate

func (o ImageOutput) ModificationDate() pulumi.StringOutput

Date of volume latest update.

func (ImageOutput) Name

func (o ImageOutput) Name() pulumi.StringOutput

The name of the image. If not provided it will be randomly generated.

func (ImageOutput) OrganizationId

func (o ImageOutput) OrganizationId() pulumi.StringOutput

The organization ID the image is associated with.

func (ImageOutput) ProjectId

func (o ImageOutput) ProjectId() pulumi.StringOutput

The ID of the project the image is associated with.

func (ImageOutput) Public

func (o ImageOutput) Public() pulumi.BoolPtrOutput

Set to `true` if the image is public.

func (ImageOutput) RootVolumeId

func (o ImageOutput) RootVolumeId() pulumi.StringOutput

The ID of the snapshot of the volume to be used as root in the image.

func (ImageOutput) State

func (o ImageOutput) State() pulumi.StringOutput

State of the volume.

func (ImageOutput) Tags

A list of tags to apply to the image.

func (ImageOutput) ToImageOutput

func (o ImageOutput) ToImageOutput() ImageOutput

func (ImageOutput) ToImageOutputWithContext

func (o ImageOutput) ToImageOutputWithContext(ctx context.Context) ImageOutput

func (ImageOutput) Zone

func (o ImageOutput) Zone() pulumi.StringOutput

The zone in which the image should be created.

type ImageState

type ImageState struct {
	// List of IDs of the snapshots of the additional volumes to be attached to the image.
	//
	// > **Important:** For now it is only possible to have 1 additional_volume.
	AdditionalVolumeIds pulumi.StringPtrInput
	// The description of the extra volumes attached to the image.
	AdditionalVolumes ImageAdditionalVolumeArrayInput
	// The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
	Architecture pulumi.StringPtrInput
	// Date of the volume creation.
	CreationDate pulumi.StringPtrInput
	// ID of the server the image is based on (in case it is a backup).
	FromServerId pulumi.StringPtrInput
	// Date of volume latest update.
	ModificationDate pulumi.StringPtrInput
	// The name of the image. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The organization ID the image is associated with.
	OrganizationId pulumi.StringPtrInput
	// The ID of the project the image is associated with.
	ProjectId pulumi.StringPtrInput
	// Set to `true` if the image is public.
	Public pulumi.BoolPtrInput
	// The ID of the snapshot of the volume to be used as root in the image.
	RootVolumeId pulumi.StringPtrInput
	// State of the volume.
	State pulumi.StringPtrInput
	// A list of tags to apply to the image.
	Tags pulumi.StringArrayInput
	// The zone in which the image should be created.
	Zone pulumi.StringPtrInput
}

func (ImageState) ElementType

func (ImageState) ElementType() reflect.Type

type LookupIPArgs

type LookupIPArgs struct {
	// The IPv4 address to retrieve
	// Only one of `address` and `id` should be specified.
	Address *string `pulumi:"address"`
	// The ID of the IP address to retrieve
	// Only one of `address` and `id` should be specified.
	Id *string `pulumi:"id"`
}

A collection of arguments for invoking getIP.

type LookupIPOutputArgs

type LookupIPOutputArgs struct {
	// The IPv4 address to retrieve
	// Only one of `address` and `id` should be specified.
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The ID of the IP address to retrieve
	// Only one of `address` and `id` should be specified.
	Id pulumi.StringPtrInput `pulumi:"id"`
}

A collection of arguments for invoking getIP.

func (LookupIPOutputArgs) ElementType

func (LookupIPOutputArgs) ElementType() reflect.Type

type LookupIPResult

type LookupIPResult struct {
	// The IP address.
	Address *string `pulumi:"address"`
	// The ID of the IP.
	Id *string `pulumi:"id"`
	// The organization ID the IP is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The IP Prefix.
	Prefix    string `pulumi:"prefix"`
	ProjectId string `pulumi:"projectId"`
	// The reverse dns attached to this IP
	Reverse  string   `pulumi:"reverse"`
	ServerId string   `pulumi:"serverId"`
	Tags     []string `pulumi:"tags"`
	// The type of the IP
	Type string `pulumi:"type"`
	Zone string `pulumi:"zone"`
}

A collection of values returned by getIP.

func LookupIP

func LookupIP(ctx *pulumi.Context, args *LookupIPArgs, opts ...pulumi.InvokeOption) (*LookupIPResult, error)

Gets information about an instance IP.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupIP(ctx, &instance.LookupIPArgs{
			Id: pulumi.StringRef("fr-par-1/11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupIPResultOutput

type LookupIPResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIP.

func (LookupIPResultOutput) Address

The IP address.

func (LookupIPResultOutput) ElementType

func (LookupIPResultOutput) ElementType() reflect.Type

func (LookupIPResultOutput) Id

The ID of the IP.

func (LookupIPResultOutput) OrganizationId

func (o LookupIPResultOutput) OrganizationId() pulumi.StringOutput

The organization ID the IP is associated with.

func (LookupIPResultOutput) Prefix

The IP Prefix.

func (LookupIPResultOutput) ProjectId

func (LookupIPResultOutput) Reverse

The reverse dns attached to this IP

func (LookupIPResultOutput) ServerId

func (LookupIPResultOutput) Tags

func (LookupIPResultOutput) ToLookupIPResultOutput

func (o LookupIPResultOutput) ToLookupIPResultOutput() LookupIPResultOutput

func (LookupIPResultOutput) ToLookupIPResultOutputWithContext

func (o LookupIPResultOutput) ToLookupIPResultOutputWithContext(ctx context.Context) LookupIPResultOutput

func (LookupIPResultOutput) Type

The type of the IP

func (LookupIPResultOutput) Zone

type LookupImageArgs

type LookupImageArgs struct {
	// The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
	Architecture *string `pulumi:"architecture"`
	// The image id. Only one of `name` and `imageId` should be specified.
	ImageId *string `pulumi:"imageId"`
	// Use the latest image ID.
	Latest *bool `pulumi:"latest"`
	// The image name. Only one of `name` and `imageId` should be specified.
	Name *string `pulumi:"name"`
	// The ID of the project the image is associated with.
	ProjectId *string `pulumi:"projectId"`
	// `zone`) The zone in which the image exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getImage.

type LookupImageOutputArgs

type LookupImageOutputArgs struct {
	// The architecture the image is compatible with. Possible values are: `x8664` or `arm`.
	Architecture pulumi.StringPtrInput `pulumi:"architecture"`
	// The image id. Only one of `name` and `imageId` should be specified.
	ImageId pulumi.StringPtrInput `pulumi:"imageId"`
	// Use the latest image ID.
	Latest pulumi.BoolPtrInput `pulumi:"latest"`
	// The image name. Only one of `name` and `imageId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the image is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// `zone`) The zone in which the image exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getImage.

func (LookupImageOutputArgs) ElementType

func (LookupImageOutputArgs) ElementType() reflect.Type

type LookupImageResult

type LookupImageResult struct {
	// IDs of the additional volumes in this image.
	AdditionalVolumeIds []string `pulumi:"additionalVolumeIds"`
	Architecture        *string  `pulumi:"architecture"`
	// Date of the image creation.
	CreationDate string `pulumi:"creationDate"`
	// ID of the default bootscript for this image.
	DefaultBootscriptId string `pulumi:"defaultBootscriptId"`
	// ID of the server the image if based from.
	FromServerId string `pulumi:"fromServerId"`
	// The provider-assigned unique ID for this managed resource.
	Id      string  `pulumi:"id"`
	ImageId *string `pulumi:"imageId"`
	Latest  *bool   `pulumi:"latest"`
	// Date of image latest update.
	ModificationDate string  `pulumi:"modificationDate"`
	Name             *string `pulumi:"name"`
	// The ID of the organization the image is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The ID of the project the image is associated with.
	ProjectId string `pulumi:"projectId"`
	// Set to `true` if the image is public.
	Public bool `pulumi:"public"`
	// ID of the root volume in this image.
	RootVolumeId string `pulumi:"rootVolumeId"`
	// State of the image. Possible values are: `available`, `creating` or `error`.
	State string `pulumi:"state"`
	Zone  string `pulumi:"zone"`
}

A collection of values returned by getImage.

func LookupImage

func LookupImage(ctx *pulumi.Context, args *LookupImageArgs, opts ...pulumi.InvokeOption) (*LookupImageResult, error)

Gets information about an instance image.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupImage(ctx, &instance.LookupImageArgs{
			ImageId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupImageResultOutput

type LookupImageResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getImage.

func (LookupImageResultOutput) AdditionalVolumeIds

func (o LookupImageResultOutput) AdditionalVolumeIds() pulumi.StringArrayOutput

IDs of the additional volumes in this image.

func (LookupImageResultOutput) Architecture

func (LookupImageResultOutput) CreationDate

func (o LookupImageResultOutput) CreationDate() pulumi.StringOutput

Date of the image creation.

func (LookupImageResultOutput) DefaultBootscriptId

func (o LookupImageResultOutput) DefaultBootscriptId() pulumi.StringOutput

ID of the default bootscript for this image.

func (LookupImageResultOutput) ElementType

func (LookupImageResultOutput) ElementType() reflect.Type

func (LookupImageResultOutput) FromServerId

func (o LookupImageResultOutput) FromServerId() pulumi.StringOutput

ID of the server the image if based from.

func (LookupImageResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupImageResultOutput) ImageId

func (LookupImageResultOutput) Latest

func (LookupImageResultOutput) ModificationDate

func (o LookupImageResultOutput) ModificationDate() pulumi.StringOutput

Date of image latest update.

func (LookupImageResultOutput) Name

func (LookupImageResultOutput) OrganizationId

func (o LookupImageResultOutput) OrganizationId() pulumi.StringOutput

The ID of the organization the image is associated with.

func (LookupImageResultOutput) ProjectId

The ID of the project the image is associated with.

func (LookupImageResultOutput) Public

Set to `true` if the image is public.

func (LookupImageResultOutput) RootVolumeId

func (o LookupImageResultOutput) RootVolumeId() pulumi.StringOutput

ID of the root volume in this image.

func (LookupImageResultOutput) State

State of the image. Possible values are: `available`, `creating` or `error`.

func (LookupImageResultOutput) ToLookupImageResultOutput

func (o LookupImageResultOutput) ToLookupImageResultOutput() LookupImageResultOutput

func (LookupImageResultOutput) ToLookupImageResultOutputWithContext

func (o LookupImageResultOutput) ToLookupImageResultOutputWithContext(ctx context.Context) LookupImageResultOutput

func (LookupImageResultOutput) Zone

type LookupPlacementGroupArgs

type LookupPlacementGroupArgs struct {
	// The placement group name. Only one of `name` and `placementGroupId` should be specified.
	Name *string `pulumi:"name"`
	// The placement group id. Only one of `name` and `placementGroupId` should be specified.
	PlacementGroupId *string `pulumi:"placementGroupId"`
	// `projectId`) The ID of the project the placement group is associated with.
	ProjectId *string `pulumi:"projectId"`
	// `zone`) The zone in which the placement group exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getPlacementGroup.

type LookupPlacementGroupOutputArgs

type LookupPlacementGroupOutputArgs struct {
	// The placement group name. Only one of `name` and `placementGroupId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The placement group id. Only one of `name` and `placementGroupId` should be specified.
	PlacementGroupId pulumi.StringPtrInput `pulumi:"placementGroupId"`
	// `projectId`) The ID of the project the placement group is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// `zone`) The zone in which the placement group exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getPlacementGroup.

func (LookupPlacementGroupOutputArgs) ElementType

type LookupPlacementGroupResult

type LookupPlacementGroupResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
	// The organization ID the placement group is associated with.
	OrganizationId   string  `pulumi:"organizationId"`
	PlacementGroupId *string `pulumi:"placementGroupId"`
	// The [policy mode](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group.
	PolicyMode string `pulumi:"policyMode"`
	// Is true when the policy is respected.
	PolicyRespected bool `pulumi:"policyRespected"`
	// The [policy type](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group.
	PolicyType string `pulumi:"policyType"`
	ProjectId  string `pulumi:"projectId"`
	// A list of tags to apply to the placement group.
	Tags []string `pulumi:"tags"`
	Zone *string  `pulumi:"zone"`
}

A collection of values returned by getPlacementGroup.

func LookupPlacementGroup

func LookupPlacementGroup(ctx *pulumi.Context, args *LookupPlacementGroupArgs, opts ...pulumi.InvokeOption) (*LookupPlacementGroupResult, error)

Gets information about a Security Group.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupPlacementGroup(ctx, &instance.LookupPlacementGroupArgs{
			PlacementGroupId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPlacementGroupResultOutput

type LookupPlacementGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPlacementGroup.

func (LookupPlacementGroupResultOutput) ElementType

func (LookupPlacementGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPlacementGroupResultOutput) Name

func (LookupPlacementGroupResultOutput) OrganizationId

The organization ID the placement group is associated with.

func (LookupPlacementGroupResultOutput) PlacementGroupId

func (LookupPlacementGroupResultOutput) PolicyMode

The [policy mode](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group.

func (LookupPlacementGroupResultOutput) PolicyRespected

Is true when the policy is respected.

func (LookupPlacementGroupResultOutput) PolicyType

The [policy type](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group.

func (LookupPlacementGroupResultOutput) ProjectId

func (LookupPlacementGroupResultOutput) Tags

A list of tags to apply to the placement group.

func (LookupPlacementGroupResultOutput) ToLookupPlacementGroupResultOutput

func (o LookupPlacementGroupResultOutput) ToLookupPlacementGroupResultOutput() LookupPlacementGroupResultOutput

func (LookupPlacementGroupResultOutput) ToLookupPlacementGroupResultOutputWithContext

func (o LookupPlacementGroupResultOutput) ToLookupPlacementGroupResultOutputWithContext(ctx context.Context) LookupPlacementGroupResultOutput

func (LookupPlacementGroupResultOutput) Zone

type LookupPrivateNICArgs

type LookupPrivateNICArgs struct {
	// The ID of the private network
	// Only one of `privateNicId` and `privateNetworkId` should be specified.
	PrivateNetworkId *string `pulumi:"privateNetworkId"`
	// The ID of the instance server private nic
	// Only one of `privateNicId` and `privateNetworkId` should be specified.
	PrivateNicId *string `pulumi:"privateNicId"`
	// The server's id
	ServerId string `pulumi:"serverId"`
	// The tags associated with the private NIC.
	// As datasource only returns one private NIC, the search with given tags must return only one result
	Tags []string `pulumi:"tags"`
	// `zone`) The zone in which the private nic exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getPrivateNIC.

type LookupPrivateNICOutputArgs

type LookupPrivateNICOutputArgs struct {
	// The ID of the private network
	// Only one of `privateNicId` and `privateNetworkId` should be specified.
	PrivateNetworkId pulumi.StringPtrInput `pulumi:"privateNetworkId"`
	// The ID of the instance server private nic
	// Only one of `privateNicId` and `privateNetworkId` should be specified.
	PrivateNicId pulumi.StringPtrInput `pulumi:"privateNicId"`
	// The server's id
	ServerId pulumi.StringInput `pulumi:"serverId"`
	// The tags associated with the private NIC.
	// As datasource only returns one private NIC, the search with given tags must return only one result
	Tags pulumi.StringArrayInput `pulumi:"tags"`
	// `zone`) The zone in which the private nic exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getPrivateNIC.

func (LookupPrivateNICOutputArgs) ElementType

func (LookupPrivateNICOutputArgs) ElementType() reflect.Type

type LookupPrivateNICResult

type LookupPrivateNICResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id               string   `pulumi:"id"`
	IpIds            []string `pulumi:"ipIds"`
	MacAddress       string   `pulumi:"macAddress"`
	PrivateNetworkId *string  `pulumi:"privateNetworkId"`
	PrivateNicId     *string  `pulumi:"privateNicId"`
	ServerId         string   `pulumi:"serverId"`
	Tags             []string `pulumi:"tags"`
	Zone             *string  `pulumi:"zone"`
}

A collection of values returned by getPrivateNIC.

func LookupPrivateNIC

func LookupPrivateNIC(ctx *pulumi.Context, args *LookupPrivateNICArgs, opts ...pulumi.InvokeOption) (*LookupPrivateNICResult, error)

Gets information about an instance private NIC.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupPrivateNIC(ctx, &instance.LookupPrivateNICArgs{
			PrivateNicId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
			ServerId:     "11111111-1111-1111-1111-111111111111",
		}, nil)
		if err != nil {
			return err
		}
		_, err = instance.LookupPrivateNIC(ctx, &instance.LookupPrivateNICArgs{
			PrivateNetworkId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
			ServerId:         "11111111-1111-1111-1111-111111111111",
		}, nil)
		if err != nil {
			return err
		}
		_, err = instance.LookupPrivateNIC(ctx, &instance.LookupPrivateNICArgs{
			ServerId: "11111111-1111-1111-1111-111111111111",
			Tags: []string{
				"mytag",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupPrivateNICResultOutput

type LookupPrivateNICResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPrivateNIC.

func (LookupPrivateNICResultOutput) ElementType

func (LookupPrivateNICResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPrivateNICResultOutput) IpIds

func (LookupPrivateNICResultOutput) MacAddress

func (LookupPrivateNICResultOutput) PrivateNetworkId

func (LookupPrivateNICResultOutput) PrivateNicId

func (LookupPrivateNICResultOutput) ServerId

func (LookupPrivateNICResultOutput) Tags

func (LookupPrivateNICResultOutput) ToLookupPrivateNICResultOutput

func (o LookupPrivateNICResultOutput) ToLookupPrivateNICResultOutput() LookupPrivateNICResultOutput

func (LookupPrivateNICResultOutput) ToLookupPrivateNICResultOutputWithContext

func (o LookupPrivateNICResultOutput) ToLookupPrivateNICResultOutputWithContext(ctx context.Context) LookupPrivateNICResultOutput

func (LookupPrivateNICResultOutput) Zone

type LookupSecurityGroupArgs

type LookupSecurityGroupArgs struct {
	// The security group name. Only one of `name` and `securityGroupId` should be specified.
	Name *string `pulumi:"name"`
	// The ID of the project the security group is associated with.
	ProjectId *string `pulumi:"projectId"`
	// The security group id. Only one of `name` and `securityGroupId` should be specified.
	SecurityGroupId *string `pulumi:"securityGroupId"`
	// `zone`) The zone in which the security group exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getSecurityGroup.

type LookupSecurityGroupOutputArgs

type LookupSecurityGroupOutputArgs struct {
	// The security group name. Only one of `name` and `securityGroupId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the security group is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The security group id. Only one of `name` and `securityGroupId` should be specified.
	SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"`
	// `zone`) The zone in which the security group exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getSecurityGroup.

func (LookupSecurityGroupOutputArgs) ElementType

type LookupSecurityGroupResult

type LookupSecurityGroupResult struct {
	Description           string `pulumi:"description"`
	EnableDefaultSecurity bool   `pulumi:"enableDefaultSecurity"`
	ExternalRules         bool   `pulumi:"externalRules"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The default policy on incoming traffic. Possible values are: `accept` or `drop`.
	InboundDefaultPolicy string `pulumi:"inboundDefaultPolicy"`
	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules []GetSecurityGroupInboundRule `pulumi:"inboundRules"`
	Name         *string                       `pulumi:"name"`
	// The ID of the organization the security group is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
	OutboundDefaultPolicy string `pulumi:"outboundDefaultPolicy"`
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules   []GetSecurityGroupOutboundRule `pulumi:"outboundRules"`
	ProjectId       *string                        `pulumi:"projectId"`
	SecurityGroupId *string                        `pulumi:"securityGroupId"`
	Stateful        bool                           `pulumi:"stateful"`
	Tags            []string                       `pulumi:"tags"`
	Zone            *string                        `pulumi:"zone"`
}

A collection of values returned by getSecurityGroup.

func LookupSecurityGroup

func LookupSecurityGroup(ctx *pulumi.Context, args *LookupSecurityGroupArgs, opts ...pulumi.InvokeOption) (*LookupSecurityGroupResult, error)

Gets information about a Security Group.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupSecurityGroup(ctx, &instance.LookupSecurityGroupArgs{
			SecurityGroupId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupSecurityGroupResultOutput

type LookupSecurityGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSecurityGroup.

func (LookupSecurityGroupResultOutput) Description

func (LookupSecurityGroupResultOutput) ElementType

func (LookupSecurityGroupResultOutput) EnableDefaultSecurity

func (o LookupSecurityGroupResultOutput) EnableDefaultSecurity() pulumi.BoolOutput

func (LookupSecurityGroupResultOutput) ExternalRules

func (LookupSecurityGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSecurityGroupResultOutput) InboundDefaultPolicy

func (o LookupSecurityGroupResultOutput) InboundDefaultPolicy() pulumi.StringOutput

The default policy on incoming traffic. Possible values are: `accept` or `drop`.

func (LookupSecurityGroupResultOutput) InboundRules

A list of inbound rule to add to the security group. (Structure is documented below.)

func (LookupSecurityGroupResultOutput) Name

func (LookupSecurityGroupResultOutput) OrganizationId

The ID of the organization the security group is associated with.

func (LookupSecurityGroupResultOutput) OutboundDefaultPolicy

func (o LookupSecurityGroupResultOutput) OutboundDefaultPolicy() pulumi.StringOutput

The default policy on outgoing traffic. Possible values are: `accept` or `drop`.

func (LookupSecurityGroupResultOutput) OutboundRules

A list of outbound rule to add to the security group. (Structure is documented below.)

func (LookupSecurityGroupResultOutput) ProjectId

func (LookupSecurityGroupResultOutput) SecurityGroupId

func (LookupSecurityGroupResultOutput) Stateful

func (LookupSecurityGroupResultOutput) Tags

func (LookupSecurityGroupResultOutput) ToLookupSecurityGroupResultOutput

func (o LookupSecurityGroupResultOutput) ToLookupSecurityGroupResultOutput() LookupSecurityGroupResultOutput

func (LookupSecurityGroupResultOutput) ToLookupSecurityGroupResultOutputWithContext

func (o LookupSecurityGroupResultOutput) ToLookupSecurityGroupResultOutputWithContext(ctx context.Context) LookupSecurityGroupResultOutput

func (LookupSecurityGroupResultOutput) Zone

type LookupServerArgs

type LookupServerArgs struct {
	// The server name. Only one of `name` and `serverId` should be specified.
	Name *string `pulumi:"name"`
	// The ID of the project the instance server is associated with.
	ProjectId *string `pulumi:"projectId"`
	// The server id. Only one of `name` and `serverId` should be specified.
	ServerId *string `pulumi:"serverId"`
	// `zone`) The zone in which the server exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getServer.

type LookupServerOutputArgs

type LookupServerOutputArgs struct {
	// The server name. Only one of `name` and `serverId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the instance server is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The server id. Only one of `name` and `serverId` should be specified.
	ServerId pulumi.StringPtrInput `pulumi:"serverId"`
	// `zone`) The zone in which the server exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getServer.

func (LookupServerOutputArgs) ElementType

func (LookupServerOutputArgs) ElementType() reflect.Type

type LookupServerResult

type LookupServerResult struct {
	// The [additional volumes](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39)
	// attached to the server.
	AdditionalVolumeIds []string `pulumi:"additionalVolumeIds"`
	BootType            string   `pulumi:"bootType"`
	BootscriptId        string   `pulumi:"bootscriptId"`
	// The cloud init script associated with this server.
	CloudInit string `pulumi:"cloudInit"`
	// True if dynamic IP in enable on the server.
	EnableDynamicIp bool `pulumi:"enableDynamicIp"`
	// Determines if IPv6 is enabled for the server.
	EnableIpv6 bool `pulumi:"enableIpv6"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The UUID and the label of the base image used by the server.
	Image string   `pulumi:"image"`
	IpId  string   `pulumi:"ipId"`
	IpIds []string `pulumi:"ipIds"`
	// The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6Address string `pulumi:"ipv6Address"`
	// The ipv6 gateway address. ( Only set when enableIpv6 is set to true )
	Ipv6Gateway string `pulumi:"ipv6Gateway"`
	// The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6PrefixLength int     `pulumi:"ipv6PrefixLength"`
	Name             *string `pulumi:"name"`
	// The ID of the organization the server is associated with.
	OrganizationId string `pulumi:"organizationId"`
	// The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
	PlacementGroupId string `pulumi:"placementGroupId"`
	// True when the placement group policy is respected.
	PlacementGroupPolicyRespected bool `pulumi:"placementGroupPolicyRespected"`
	// The Scaleway internal IP address of the server.
	PrivateIp       string                    `pulumi:"privateIp"`
	PrivateNetworks []GetServerPrivateNetwork `pulumi:"privateNetworks"`
	ProjectId       *string                   `pulumi:"projectId"`
	// The public IP address of the server.
	PublicIp string `pulumi:"publicIp"`
	// The list of public IPs of the server
	PublicIps           []GetServerPublicIp   `pulumi:"publicIps"`
	ReplaceOnTypeChange bool                  `pulumi:"replaceOnTypeChange"`
	RootVolumes         []GetServerRootVolume `pulumi:"rootVolumes"`
	// True if the server support routed ip only.
	RoutedIpEnabled bool `pulumi:"routedIpEnabled"`
	// The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
	SecurityGroupId string  `pulumi:"securityGroupId"`
	ServerId        *string `pulumi:"serverId"`
	// The state of the server. Possible values are: `started`, `stopped` or `standby`.
	State string `pulumi:"state"`
	// The tags associated with the server.
	Tags []string `pulumi:"tags"`
	// The commercial type of the server.
	// You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
	Type string `pulumi:"type"`
	// The user data associated with the server.
	UserData map[string]string `pulumi:"userData"`
	Zone     *string           `pulumi:"zone"`
}

A collection of values returned by getServer.

func LookupServer

func LookupServer(ctx *pulumi.Context, args *LookupServerArgs, opts ...pulumi.InvokeOption) (*LookupServerResult, error)

Gets information about an instance server.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupServer(ctx, &instance.LookupServerArgs{
			ServerId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupServerResultOutput

type LookupServerResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getServer.

func (LookupServerResultOutput) AdditionalVolumeIds

func (o LookupServerResultOutput) AdditionalVolumeIds() pulumi.StringArrayOutput

The [additional volumes](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39) attached to the server.

func (LookupServerResultOutput) BootType

func (LookupServerResultOutput) BootscriptId

func (o LookupServerResultOutput) BootscriptId() pulumi.StringOutput

func (LookupServerResultOutput) CloudInit

The cloud init script associated with this server.

func (LookupServerResultOutput) ElementType

func (LookupServerResultOutput) ElementType() reflect.Type

func (LookupServerResultOutput) EnableDynamicIp

func (o LookupServerResultOutput) EnableDynamicIp() pulumi.BoolOutput

True if dynamic IP in enable on the server.

func (LookupServerResultOutput) EnableIpv6

Determines if IPv6 is enabled for the server.

func (LookupServerResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupServerResultOutput) Image

The UUID and the label of the base image used by the server.

func (LookupServerResultOutput) IpId

func (LookupServerResultOutput) IpIds

func (LookupServerResultOutput) Ipv6Address

The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )

func (LookupServerResultOutput) Ipv6Gateway

The ipv6 gateway address. ( Only set when enableIpv6 is set to true )

func (LookupServerResultOutput) Ipv6PrefixLength

func (o LookupServerResultOutput) Ipv6PrefixLength() pulumi.IntOutput

The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )

func (LookupServerResultOutput) Name

func (LookupServerResultOutput) OrganizationId

func (o LookupServerResultOutput) OrganizationId() pulumi.StringOutput

The ID of the organization the server is associated with.

func (LookupServerResultOutput) PlacementGroupId

func (o LookupServerResultOutput) PlacementGroupId() pulumi.StringOutput

The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.

func (LookupServerResultOutput) PlacementGroupPolicyRespected

func (o LookupServerResultOutput) PlacementGroupPolicyRespected() pulumi.BoolOutput

True when the placement group policy is respected.

func (LookupServerResultOutput) PrivateIp

The Scaleway internal IP address of the server.

func (LookupServerResultOutput) PrivateNetworks

func (LookupServerResultOutput) ProjectId

func (LookupServerResultOutput) PublicIp

The public IP address of the server.

func (LookupServerResultOutput) PublicIps

The list of public IPs of the server

func (LookupServerResultOutput) ReplaceOnTypeChange

func (o LookupServerResultOutput) ReplaceOnTypeChange() pulumi.BoolOutput

func (LookupServerResultOutput) RootVolumes

func (LookupServerResultOutput) RoutedIpEnabled

func (o LookupServerResultOutput) RoutedIpEnabled() pulumi.BoolOutput

True if the server support routed ip only.

func (LookupServerResultOutput) SecurityGroupId

func (o LookupServerResultOutput) SecurityGroupId() pulumi.StringOutput

The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.

func (LookupServerResultOutput) ServerId

func (LookupServerResultOutput) State

The state of the server. Possible values are: `started`, `stopped` or `standby`.

func (LookupServerResultOutput) Tags

The tags associated with the server.

func (LookupServerResultOutput) ToLookupServerResultOutput

func (o LookupServerResultOutput) ToLookupServerResultOutput() LookupServerResultOutput

func (LookupServerResultOutput) ToLookupServerResultOutputWithContext

func (o LookupServerResultOutput) ToLookupServerResultOutputWithContext(ctx context.Context) LookupServerResultOutput

func (LookupServerResultOutput) Type

The commercial type of the server. You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).

func (LookupServerResultOutput) UserData

The user data associated with the server.

func (LookupServerResultOutput) Zone

type LookupSnapshotArgs

type LookupSnapshotArgs struct {
	// The snapshot name.
	// Only one of `name` and `snapshotId` should be specified.
	Name *string `pulumi:"name"`
	// `projectId`) The ID of the project the snapshot is associated with.
	ProjectId *string `pulumi:"projectId"`
	// The snapshot id.
	// Only one of `name` and `snapshotId` should be specified.
	SnapshotId *string `pulumi:"snapshotId"`
	// `zone`) The zone in which the snapshot exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getSnapshot.

type LookupSnapshotOutputArgs

type LookupSnapshotOutputArgs struct {
	// The snapshot name.
	// Only one of `name` and `snapshotId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// `projectId`) The ID of the project the snapshot is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The snapshot id.
	// Only one of `name` and `snapshotId` should be specified.
	SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"`
	// `zone`) The zone in which the snapshot exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getSnapshot.

func (LookupSnapshotOutputArgs) ElementType

func (LookupSnapshotOutputArgs) ElementType() reflect.Type

type LookupSnapshotResult

type LookupSnapshotResult struct {
	CreatedAt string `pulumi:"createdAt"`
	// The provider-assigned unique ID for this managed resource.
	Id             string              `pulumi:"id"`
	Imports        []GetSnapshotImport `pulumi:"imports"`
	Name           *string             `pulumi:"name"`
	OrganizationId string              `pulumi:"organizationId"`
	ProjectId      *string             `pulumi:"projectId"`
	SizeInGb       int                 `pulumi:"sizeInGb"`
	SnapshotId     *string             `pulumi:"snapshotId"`
	Tags           []string            `pulumi:"tags"`
	Type           string              `pulumi:"type"`
	VolumeId       string              `pulumi:"volumeId"`
	Zone           *string             `pulumi:"zone"`
}

A collection of values returned by getSnapshot.

func LookupSnapshot

func LookupSnapshot(ctx *pulumi.Context, args *LookupSnapshotArgs, opts ...pulumi.InvokeOption) (*LookupSnapshotResult, error)

Gets information about an instance snapshot.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupSnapshot(ctx, &instance.LookupSnapshotArgs{
			Name: pulumi.StringRef("my-snapshot-name"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = instance.LookupSnapshot(ctx, &instance.LookupSnapshotArgs{
			SnapshotId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupSnapshotResultOutput

type LookupSnapshotResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnapshot.

func (LookupSnapshotResultOutput) CreatedAt

func (LookupSnapshotResultOutput) ElementType

func (LookupSnapshotResultOutput) ElementType() reflect.Type

func (LookupSnapshotResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSnapshotResultOutput) Imports

func (LookupSnapshotResultOutput) Name

func (LookupSnapshotResultOutput) OrganizationId

func (o LookupSnapshotResultOutput) OrganizationId() pulumi.StringOutput

func (LookupSnapshotResultOutput) ProjectId

func (LookupSnapshotResultOutput) SizeInGb

func (LookupSnapshotResultOutput) SnapshotId

func (LookupSnapshotResultOutput) Tags

func (LookupSnapshotResultOutput) ToLookupSnapshotResultOutput

func (o LookupSnapshotResultOutput) ToLookupSnapshotResultOutput() LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) ToLookupSnapshotResultOutputWithContext

func (o LookupSnapshotResultOutput) ToLookupSnapshotResultOutputWithContext(ctx context.Context) LookupSnapshotResultOutput

func (LookupSnapshotResultOutput) Type

func (LookupSnapshotResultOutput) VolumeId

func (LookupSnapshotResultOutput) Zone

type LookupVolumeArgs

type LookupVolumeArgs struct {
	// The volume name.
	// Only one of `name` and `volumeId` should be specified.
	Name *string `pulumi:"name"`
	// The ID of the project the volume is associated with.
	ProjectId *string `pulumi:"projectId"`
	// The volume id.
	// Only one of `name` and `volumeId` should be specified.
	VolumeId *string `pulumi:"volumeId"`
	// `zone`) The zone in which the volume exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getVolume.

type LookupVolumeOutputArgs

type LookupVolumeOutputArgs struct {
	// The volume name.
	// Only one of `name` and `volumeId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the volume is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The volume id.
	// Only one of `name` and `volumeId` should be specified.
	VolumeId pulumi.StringPtrInput `pulumi:"volumeId"`
	// `zone`) The zone in which the volume exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getVolume.

func (LookupVolumeOutputArgs) ElementType

func (LookupVolumeOutputArgs) ElementType() reflect.Type

type LookupVolumeResult

type LookupVolumeResult struct {
	FromSnapshotId string `pulumi:"fromSnapshotId"`
	// The provider-assigned unique ID for this managed resource.
	Id   string  `pulumi:"id"`
	Name *string `pulumi:"name"`
	// The ID of the organization the volume is associated with.
	OrganizationId string   `pulumi:"organizationId"`
	ProjectId      *string  `pulumi:"projectId"`
	ServerId       string   `pulumi:"serverId"`
	SizeInGb       int      `pulumi:"sizeInGb"`
	Tags           []string `pulumi:"tags"`
	Type           string   `pulumi:"type"`
	VolumeId       *string  `pulumi:"volumeId"`
	Zone           *string  `pulumi:"zone"`
}

A collection of values returned by getVolume.

func LookupVolume

func LookupVolume(ctx *pulumi.Context, args *LookupVolumeArgs, opts ...pulumi.InvokeOption) (*LookupVolumeResult, error)

Gets information about an instance volume.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.LookupVolume(ctx, &instance.LookupVolumeArgs{
			VolumeId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupVolumeResultOutput

type LookupVolumeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVolume.

func (LookupVolumeResultOutput) ElementType

func (LookupVolumeResultOutput) ElementType() reflect.Type

func (LookupVolumeResultOutput) FromSnapshotId

func (o LookupVolumeResultOutput) FromSnapshotId() pulumi.StringOutput

func (LookupVolumeResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupVolumeResultOutput) Name

func (LookupVolumeResultOutput) OrganizationId

func (o LookupVolumeResultOutput) OrganizationId() pulumi.StringOutput

The ID of the organization the volume is associated with.

func (LookupVolumeResultOutput) ProjectId

func (LookupVolumeResultOutput) ServerId

func (LookupVolumeResultOutput) SizeInGb

func (LookupVolumeResultOutput) Tags

func (LookupVolumeResultOutput) ToLookupVolumeResultOutput

func (o LookupVolumeResultOutput) ToLookupVolumeResultOutput() LookupVolumeResultOutput

func (LookupVolumeResultOutput) ToLookupVolumeResultOutputWithContext

func (o LookupVolumeResultOutput) ToLookupVolumeResultOutputWithContext(ctx context.Context) LookupVolumeResultOutput

func (LookupVolumeResultOutput) Type

func (LookupVolumeResultOutput) VolumeId

func (LookupVolumeResultOutput) Zone

type PlacementGroup

type PlacementGroup struct {
	pulumi.CustomResourceState

	// The name of the placement group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the placement group is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The [policy mode](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `optional` or `enforced`.
	PolicyMode pulumi.StringPtrOutput `pulumi:"policyMode"`
	// Is true when the policy is respected.
	PolicyRespected pulumi.BoolOutput `pulumi:"policyRespected"`
	// The [policy type](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `lowLatency` or `maxAvailability`.
	PolicyType pulumi.StringPtrOutput `pulumi:"policyType"`
	// `projectId`) The ID of the project the placement group is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// A list of tags to apply to the placement group.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// `zone`) The zone in which the placement group should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Compute Instance Placement Groups. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewPlacementGroup(ctx, "availabilityGroup", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Placement groups can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/placementGroup:PlacementGroup availability_group fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetPlacementGroup

func GetPlacementGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PlacementGroupState, opts ...pulumi.ResourceOption) (*PlacementGroup, error)

GetPlacementGroup gets an existing PlacementGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPlacementGroup

func NewPlacementGroup(ctx *pulumi.Context,
	name string, args *PlacementGroupArgs, opts ...pulumi.ResourceOption) (*PlacementGroup, error)

NewPlacementGroup registers a new resource with the given unique name, arguments, and options.

func (*PlacementGroup) ElementType

func (*PlacementGroup) ElementType() reflect.Type

func (*PlacementGroup) ToPlacementGroupOutput

func (i *PlacementGroup) ToPlacementGroupOutput() PlacementGroupOutput

func (*PlacementGroup) ToPlacementGroupOutputWithContext

func (i *PlacementGroup) ToPlacementGroupOutputWithContext(ctx context.Context) PlacementGroupOutput

type PlacementGroupArgs

type PlacementGroupArgs struct {
	// The name of the placement group.
	Name pulumi.StringPtrInput
	// The [policy mode](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `optional` or `enforced`.
	PolicyMode pulumi.StringPtrInput
	// The [policy type](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `lowLatency` or `maxAvailability`.
	PolicyType pulumi.StringPtrInput
	// `projectId`) The ID of the project the placement group is associated with.
	ProjectId pulumi.StringPtrInput
	// A list of tags to apply to the placement group.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the placement group should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PlacementGroup resource.

func (PlacementGroupArgs) ElementType

func (PlacementGroupArgs) ElementType() reflect.Type

type PlacementGroupArray

type PlacementGroupArray []PlacementGroupInput

func (PlacementGroupArray) ElementType

func (PlacementGroupArray) ElementType() reflect.Type

func (PlacementGroupArray) ToPlacementGroupArrayOutput

func (i PlacementGroupArray) ToPlacementGroupArrayOutput() PlacementGroupArrayOutput

func (PlacementGroupArray) ToPlacementGroupArrayOutputWithContext

func (i PlacementGroupArray) ToPlacementGroupArrayOutputWithContext(ctx context.Context) PlacementGroupArrayOutput

type PlacementGroupArrayInput

type PlacementGroupArrayInput interface {
	pulumi.Input

	ToPlacementGroupArrayOutput() PlacementGroupArrayOutput
	ToPlacementGroupArrayOutputWithContext(context.Context) PlacementGroupArrayOutput
}

PlacementGroupArrayInput is an input type that accepts PlacementGroupArray and PlacementGroupArrayOutput values. You can construct a concrete instance of `PlacementGroupArrayInput` via:

PlacementGroupArray{ PlacementGroupArgs{...} }

type PlacementGroupArrayOutput

type PlacementGroupArrayOutput struct{ *pulumi.OutputState }

func (PlacementGroupArrayOutput) ElementType

func (PlacementGroupArrayOutput) ElementType() reflect.Type

func (PlacementGroupArrayOutput) Index

func (PlacementGroupArrayOutput) ToPlacementGroupArrayOutput

func (o PlacementGroupArrayOutput) ToPlacementGroupArrayOutput() PlacementGroupArrayOutput

func (PlacementGroupArrayOutput) ToPlacementGroupArrayOutputWithContext

func (o PlacementGroupArrayOutput) ToPlacementGroupArrayOutputWithContext(ctx context.Context) PlacementGroupArrayOutput

type PlacementGroupInput

type PlacementGroupInput interface {
	pulumi.Input

	ToPlacementGroupOutput() PlacementGroupOutput
	ToPlacementGroupOutputWithContext(ctx context.Context) PlacementGroupOutput
}

type PlacementGroupMap

type PlacementGroupMap map[string]PlacementGroupInput

func (PlacementGroupMap) ElementType

func (PlacementGroupMap) ElementType() reflect.Type

func (PlacementGroupMap) ToPlacementGroupMapOutput

func (i PlacementGroupMap) ToPlacementGroupMapOutput() PlacementGroupMapOutput

func (PlacementGroupMap) ToPlacementGroupMapOutputWithContext

func (i PlacementGroupMap) ToPlacementGroupMapOutputWithContext(ctx context.Context) PlacementGroupMapOutput

type PlacementGroupMapInput

type PlacementGroupMapInput interface {
	pulumi.Input

	ToPlacementGroupMapOutput() PlacementGroupMapOutput
	ToPlacementGroupMapOutputWithContext(context.Context) PlacementGroupMapOutput
}

PlacementGroupMapInput is an input type that accepts PlacementGroupMap and PlacementGroupMapOutput values. You can construct a concrete instance of `PlacementGroupMapInput` via:

PlacementGroupMap{ "key": PlacementGroupArgs{...} }

type PlacementGroupMapOutput

type PlacementGroupMapOutput struct{ *pulumi.OutputState }

func (PlacementGroupMapOutput) ElementType

func (PlacementGroupMapOutput) ElementType() reflect.Type

func (PlacementGroupMapOutput) MapIndex

func (PlacementGroupMapOutput) ToPlacementGroupMapOutput

func (o PlacementGroupMapOutput) ToPlacementGroupMapOutput() PlacementGroupMapOutput

func (PlacementGroupMapOutput) ToPlacementGroupMapOutputWithContext

func (o PlacementGroupMapOutput) ToPlacementGroupMapOutputWithContext(ctx context.Context) PlacementGroupMapOutput

type PlacementGroupOutput

type PlacementGroupOutput struct{ *pulumi.OutputState }

func (PlacementGroupOutput) ElementType

func (PlacementGroupOutput) ElementType() reflect.Type

func (PlacementGroupOutput) Name

The name of the placement group.

func (PlacementGroupOutput) OrganizationId

func (o PlacementGroupOutput) OrganizationId() pulumi.StringOutput

The organization ID the placement group is associated with.

func (PlacementGroupOutput) PolicyMode

The [policy mode](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `optional` or `enforced`.

func (PlacementGroupOutput) PolicyRespected

func (o PlacementGroupOutput) PolicyRespected() pulumi.BoolOutput

Is true when the policy is respected.

func (PlacementGroupOutput) PolicyType

The [policy type](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `lowLatency` or `maxAvailability`.

func (PlacementGroupOutput) ProjectId

`projectId`) The ID of the project the placement group is associated with.

func (PlacementGroupOutput) Tags

A list of tags to apply to the placement group.

func (PlacementGroupOutput) ToPlacementGroupOutput

func (o PlacementGroupOutput) ToPlacementGroupOutput() PlacementGroupOutput

func (PlacementGroupOutput) ToPlacementGroupOutputWithContext

func (o PlacementGroupOutput) ToPlacementGroupOutputWithContext(ctx context.Context) PlacementGroupOutput

func (PlacementGroupOutput) Zone

`zone`) The zone in which the placement group should be created.

type PlacementGroupState

type PlacementGroupState struct {
	// The name of the placement group.
	Name pulumi.StringPtrInput
	// The organization ID the placement group is associated with.
	OrganizationId pulumi.StringPtrInput
	// The [policy mode](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `optional` or `enforced`.
	PolicyMode pulumi.StringPtrInput
	// Is true when the policy is respected.
	PolicyRespected pulumi.BoolPtrInput
	// The [policy type](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) of the placement group. Possible values are: `lowLatency` or `maxAvailability`.
	PolicyType pulumi.StringPtrInput
	// `projectId`) The ID of the project the placement group is associated with.
	ProjectId pulumi.StringPtrInput
	// A list of tags to apply to the placement group.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the placement group should be created.
	Zone pulumi.StringPtrInput
}

func (PlacementGroupState) ElementType

func (PlacementGroupState) ElementType() reflect.Type

type PrivateNIC

type PrivateNIC struct {
	pulumi.CustomResourceState

	// IPAM ip list, should be for internal use only
	IpIds pulumi.StringArrayOutput `pulumi:"ipIds"`
	// The MAC address of the private NIC.
	MacAddress pulumi.StringOutput `pulumi:"macAddress"`
	// The ID of the private network attached to.
	PrivateNetworkId pulumi.StringOutput `pulumi:"privateNetworkId"`
	// The ID of the server associated with.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The tags associated with the private NIC.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// `zone`) The zone in which the server must be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Instance Private NICs. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#private-nics-a42eea).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewPrivateNIC(ctx, "pnic01", &instance.PrivateNICArgs{
			PrivateNetworkId: pulumi.String("fr-par-1/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"),
			ServerId:         pulumi.String("fr-par-1/11111111-1111-1111-1111-111111111111"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With zone

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", &vpc.PrivateNetworkArgs{
			Zone: pulumi.String("fr-par-2"),
		})
		if err != nil {
			return err
		}
		base, err := instance.NewServer(ctx, "base", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
			Zone:  pn01.Zone,
		})
		if err != nil {
			return err
		}
		_, err = instance.NewPrivateNIC(ctx, "pnic01", &instance.PrivateNICArgs{
			ServerId:         base.ID(),
			PrivateNetworkId: pn01.ID(),
			Zone:             pn01.Zone,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Private NICs can be imported using the `{zone}/{server_id}/{private_nic_id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/privateNIC:PrivateNIC pnic01 fr-par-1/11111111-1111-1111-1111-111111111111/22222222-2222-2222-2222-222222222222 ```

func GetPrivateNIC

func GetPrivateNIC(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrivateNICState, opts ...pulumi.ResourceOption) (*PrivateNIC, error)

GetPrivateNIC gets an existing PrivateNIC resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPrivateNIC

func NewPrivateNIC(ctx *pulumi.Context,
	name string, args *PrivateNICArgs, opts ...pulumi.ResourceOption) (*PrivateNIC, error)

NewPrivateNIC registers a new resource with the given unique name, arguments, and options.

func (*PrivateNIC) ElementType

func (*PrivateNIC) ElementType() reflect.Type

func (*PrivateNIC) ToPrivateNICOutput

func (i *PrivateNIC) ToPrivateNICOutput() PrivateNICOutput

func (*PrivateNIC) ToPrivateNICOutputWithContext

func (i *PrivateNIC) ToPrivateNICOutputWithContext(ctx context.Context) PrivateNICOutput

type PrivateNICArgs

type PrivateNICArgs struct {
	// IPAM ip list, should be for internal use only
	IpIds pulumi.StringArrayInput
	// The ID of the private network attached to.
	PrivateNetworkId pulumi.StringInput
	// The ID of the server associated with.
	ServerId pulumi.StringInput
	// The tags associated with the private NIC.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the server must be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a PrivateNIC resource.

func (PrivateNICArgs) ElementType

func (PrivateNICArgs) ElementType() reflect.Type

type PrivateNICArray

type PrivateNICArray []PrivateNICInput

func (PrivateNICArray) ElementType

func (PrivateNICArray) ElementType() reflect.Type

func (PrivateNICArray) ToPrivateNICArrayOutput

func (i PrivateNICArray) ToPrivateNICArrayOutput() PrivateNICArrayOutput

func (PrivateNICArray) ToPrivateNICArrayOutputWithContext

func (i PrivateNICArray) ToPrivateNICArrayOutputWithContext(ctx context.Context) PrivateNICArrayOutput

type PrivateNICArrayInput

type PrivateNICArrayInput interface {
	pulumi.Input

	ToPrivateNICArrayOutput() PrivateNICArrayOutput
	ToPrivateNICArrayOutputWithContext(context.Context) PrivateNICArrayOutput
}

PrivateNICArrayInput is an input type that accepts PrivateNICArray and PrivateNICArrayOutput values. You can construct a concrete instance of `PrivateNICArrayInput` via:

PrivateNICArray{ PrivateNICArgs{...} }

type PrivateNICArrayOutput

type PrivateNICArrayOutput struct{ *pulumi.OutputState }

func (PrivateNICArrayOutput) ElementType

func (PrivateNICArrayOutput) ElementType() reflect.Type

func (PrivateNICArrayOutput) Index

func (PrivateNICArrayOutput) ToPrivateNICArrayOutput

func (o PrivateNICArrayOutput) ToPrivateNICArrayOutput() PrivateNICArrayOutput

func (PrivateNICArrayOutput) ToPrivateNICArrayOutputWithContext

func (o PrivateNICArrayOutput) ToPrivateNICArrayOutputWithContext(ctx context.Context) PrivateNICArrayOutput

type PrivateNICInput

type PrivateNICInput interface {
	pulumi.Input

	ToPrivateNICOutput() PrivateNICOutput
	ToPrivateNICOutputWithContext(ctx context.Context) PrivateNICOutput
}

type PrivateNICMap

type PrivateNICMap map[string]PrivateNICInput

func (PrivateNICMap) ElementType

func (PrivateNICMap) ElementType() reflect.Type

func (PrivateNICMap) ToPrivateNICMapOutput

func (i PrivateNICMap) ToPrivateNICMapOutput() PrivateNICMapOutput

func (PrivateNICMap) ToPrivateNICMapOutputWithContext

func (i PrivateNICMap) ToPrivateNICMapOutputWithContext(ctx context.Context) PrivateNICMapOutput

type PrivateNICMapInput

type PrivateNICMapInput interface {
	pulumi.Input

	ToPrivateNICMapOutput() PrivateNICMapOutput
	ToPrivateNICMapOutputWithContext(context.Context) PrivateNICMapOutput
}

PrivateNICMapInput is an input type that accepts PrivateNICMap and PrivateNICMapOutput values. You can construct a concrete instance of `PrivateNICMapInput` via:

PrivateNICMap{ "key": PrivateNICArgs{...} }

type PrivateNICMapOutput

type PrivateNICMapOutput struct{ *pulumi.OutputState }

func (PrivateNICMapOutput) ElementType

func (PrivateNICMapOutput) ElementType() reflect.Type

func (PrivateNICMapOutput) MapIndex

func (PrivateNICMapOutput) ToPrivateNICMapOutput

func (o PrivateNICMapOutput) ToPrivateNICMapOutput() PrivateNICMapOutput

func (PrivateNICMapOutput) ToPrivateNICMapOutputWithContext

func (o PrivateNICMapOutput) ToPrivateNICMapOutputWithContext(ctx context.Context) PrivateNICMapOutput

type PrivateNICOutput

type PrivateNICOutput struct{ *pulumi.OutputState }

func (PrivateNICOutput) ElementType

func (PrivateNICOutput) ElementType() reflect.Type

func (PrivateNICOutput) IpIds

IPAM ip list, should be for internal use only

func (PrivateNICOutput) MacAddress

func (o PrivateNICOutput) MacAddress() pulumi.StringOutput

The MAC address of the private NIC.

func (PrivateNICOutput) PrivateNetworkId

func (o PrivateNICOutput) PrivateNetworkId() pulumi.StringOutput

The ID of the private network attached to.

func (PrivateNICOutput) ServerId

func (o PrivateNICOutput) ServerId() pulumi.StringOutput

The ID of the server associated with.

func (PrivateNICOutput) Tags

The tags associated with the private NIC.

func (PrivateNICOutput) ToPrivateNICOutput

func (o PrivateNICOutput) ToPrivateNICOutput() PrivateNICOutput

func (PrivateNICOutput) ToPrivateNICOutputWithContext

func (o PrivateNICOutput) ToPrivateNICOutputWithContext(ctx context.Context) PrivateNICOutput

func (PrivateNICOutput) Zone

`zone`) The zone in which the server must be created.

type PrivateNICState

type PrivateNICState struct {
	// IPAM ip list, should be for internal use only
	IpIds pulumi.StringArrayInput
	// The MAC address of the private NIC.
	MacAddress pulumi.StringPtrInput
	// The ID of the private network attached to.
	PrivateNetworkId pulumi.StringPtrInput
	// The ID of the server associated with.
	ServerId pulumi.StringPtrInput
	// The tags associated with the private NIC.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the server must be created.
	Zone pulumi.StringPtrInput
}

func (PrivateNICState) ElementType

func (PrivateNICState) ElementType() reflect.Type

type SecurityGroup

type SecurityGroup struct {
	pulumi.CustomResourceState

	// The description of the security group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
	EnableDefaultSecurity pulumi.BoolPtrOutput `pulumi:"enableDefaultSecurity"`
	// A boolean to specify whether to use instance_security_group_rules.
	// If `externalRules` is set to `true`, `inboundRule` and `outboundRule` can not be set directly in the security group.
	ExternalRules pulumi.BoolPtrOutput `pulumi:"externalRules"`
	// The default policy on incoming traffic. Possible values are: `accept` or `drop`.
	InboundDefaultPolicy pulumi.StringPtrOutput `pulumi:"inboundDefaultPolicy"`
	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules SecurityGroupInboundRuleArrayOutput `pulumi:"inboundRules"`
	// The name of the security group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the security group is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
	OutboundDefaultPolicy pulumi.StringPtrOutput `pulumi:"outboundDefaultPolicy"`
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules SecurityGroupOutboundRuleArrayOutput `pulumi:"outboundRules"`
	// `projectId`) The ID of the project the security group is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// A boolean to specify whether the security group should be stateful or not.
	Stateful pulumi.BoolPtrOutput `pulumi:"stateful"`
	// The tags of the security group.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// `zone`) The zone in which the security group should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

## Import

Instance security group can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/securityGroup:SecurityGroup web fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetSecurityGroup

func GetSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityGroupState, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

GetSecurityGroup gets an existing SecurityGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroup

func NewSecurityGroup(ctx *pulumi.Context,
	name string, args *SecurityGroupArgs, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

NewSecurityGroup registers a new resource with the given unique name, arguments, and options.

func (*SecurityGroup) ElementType

func (*SecurityGroup) ElementType() reflect.Type

func (*SecurityGroup) ToSecurityGroupOutput

func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput

func (*SecurityGroup) ToSecurityGroupOutputWithContext

func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

type SecurityGroupArgs

type SecurityGroupArgs struct {
	// The description of the security group.
	Description pulumi.StringPtrInput
	// Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
	EnableDefaultSecurity pulumi.BoolPtrInput
	// A boolean to specify whether to use instance_security_group_rules.
	// If `externalRules` is set to `true`, `inboundRule` and `outboundRule` can not be set directly in the security group.
	ExternalRules pulumi.BoolPtrInput
	// The default policy on incoming traffic. Possible values are: `accept` or `drop`.
	InboundDefaultPolicy pulumi.StringPtrInput
	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules SecurityGroupInboundRuleArrayInput
	// The name of the security group.
	Name pulumi.StringPtrInput
	// The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
	OutboundDefaultPolicy pulumi.StringPtrInput
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules SecurityGroupOutboundRuleArrayInput
	// `projectId`) The ID of the project the security group is associated with.
	ProjectId pulumi.StringPtrInput
	// A boolean to specify whether the security group should be stateful or not.
	Stateful pulumi.BoolPtrInput
	// The tags of the security group.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the security group should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a SecurityGroup resource.

func (SecurityGroupArgs) ElementType

func (SecurityGroupArgs) ElementType() reflect.Type

type SecurityGroupArray

type SecurityGroupArray []SecurityGroupInput

func (SecurityGroupArray) ElementType

func (SecurityGroupArray) ElementType() reflect.Type

func (SecurityGroupArray) ToSecurityGroupArrayOutput

func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext

func (i SecurityGroupArray) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

type SecurityGroupArrayInput

type SecurityGroupArrayInput interface {
	pulumi.Input

	ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
	ToSecurityGroupArrayOutputWithContext(context.Context) SecurityGroupArrayOutput
}

SecurityGroupArrayInput is an input type that accepts SecurityGroupArray and SecurityGroupArrayOutput values. You can construct a concrete instance of `SecurityGroupArrayInput` via:

SecurityGroupArray{ SecurityGroupArgs{...} }

type SecurityGroupArrayOutput

type SecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupArrayOutput) ElementType

func (SecurityGroupArrayOutput) ElementType() reflect.Type

func (SecurityGroupArrayOutput) Index

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

type SecurityGroupInboundRule

type SecurityGroupInboundRule struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action string `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip *string `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange *string `pulumi:"ipRange"`
	// The port this rule applies to. If no `port` nor `portRange` are specified, the rule will apply to all port. Only one of `port` and `portRange` should be specified.
	Port *int `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange *string `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol *string `pulumi:"protocol"`
}

type SecurityGroupInboundRuleArgs

type SecurityGroupInboundRuleArgs struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action pulumi.StringInput `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip pulumi.StringPtrInput `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange pulumi.StringPtrInput `pulumi:"ipRange"`
	// The port this rule applies to. If no `port` nor `portRange` are specified, the rule will apply to all port. Only one of `port` and `portRange` should be specified.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange pulumi.StringPtrInput `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (SecurityGroupInboundRuleArgs) ElementType

func (SecurityGroupInboundRuleArgs) ToSecurityGroupInboundRuleOutput

func (i SecurityGroupInboundRuleArgs) ToSecurityGroupInboundRuleOutput() SecurityGroupInboundRuleOutput

func (SecurityGroupInboundRuleArgs) ToSecurityGroupInboundRuleOutputWithContext

func (i SecurityGroupInboundRuleArgs) ToSecurityGroupInboundRuleOutputWithContext(ctx context.Context) SecurityGroupInboundRuleOutput

type SecurityGroupInboundRuleArray

type SecurityGroupInboundRuleArray []SecurityGroupInboundRuleInput

func (SecurityGroupInboundRuleArray) ElementType

func (SecurityGroupInboundRuleArray) ToSecurityGroupInboundRuleArrayOutput

func (i SecurityGroupInboundRuleArray) ToSecurityGroupInboundRuleArrayOutput() SecurityGroupInboundRuleArrayOutput

func (SecurityGroupInboundRuleArray) ToSecurityGroupInboundRuleArrayOutputWithContext

func (i SecurityGroupInboundRuleArray) ToSecurityGroupInboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupInboundRuleArrayOutput

type SecurityGroupInboundRuleArrayInput

type SecurityGroupInboundRuleArrayInput interface {
	pulumi.Input

	ToSecurityGroupInboundRuleArrayOutput() SecurityGroupInboundRuleArrayOutput
	ToSecurityGroupInboundRuleArrayOutputWithContext(context.Context) SecurityGroupInboundRuleArrayOutput
}

SecurityGroupInboundRuleArrayInput is an input type that accepts SecurityGroupInboundRuleArray and SecurityGroupInboundRuleArrayOutput values. You can construct a concrete instance of `SecurityGroupInboundRuleArrayInput` via:

SecurityGroupInboundRuleArray{ SecurityGroupInboundRuleArgs{...} }

type SecurityGroupInboundRuleArrayOutput

type SecurityGroupInboundRuleArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupInboundRuleArrayOutput) ElementType

func (SecurityGroupInboundRuleArrayOutput) Index

func (SecurityGroupInboundRuleArrayOutput) ToSecurityGroupInboundRuleArrayOutput

func (o SecurityGroupInboundRuleArrayOutput) ToSecurityGroupInboundRuleArrayOutput() SecurityGroupInboundRuleArrayOutput

func (SecurityGroupInboundRuleArrayOutput) ToSecurityGroupInboundRuleArrayOutputWithContext

func (o SecurityGroupInboundRuleArrayOutput) ToSecurityGroupInboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupInboundRuleArrayOutput

type SecurityGroupInboundRuleInput

type SecurityGroupInboundRuleInput interface {
	pulumi.Input

	ToSecurityGroupInboundRuleOutput() SecurityGroupInboundRuleOutput
	ToSecurityGroupInboundRuleOutputWithContext(context.Context) SecurityGroupInboundRuleOutput
}

SecurityGroupInboundRuleInput is an input type that accepts SecurityGroupInboundRuleArgs and SecurityGroupInboundRuleOutput values. You can construct a concrete instance of `SecurityGroupInboundRuleInput` via:

SecurityGroupInboundRuleArgs{...}

type SecurityGroupInboundRuleOutput

type SecurityGroupInboundRuleOutput struct{ *pulumi.OutputState }

func (SecurityGroupInboundRuleOutput) Action

The action to take when rule match. Possible values are: `accept` or `drop`.

func (SecurityGroupInboundRuleOutput) ElementType

func (SecurityGroupInboundRuleOutput) Ip deprecated

The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

Deprecated: Ip address is deprecated. Please use ip_range instead

func (SecurityGroupInboundRuleOutput) IpRange

The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

func (SecurityGroupInboundRuleOutput) Port

The port this rule applies to. If no `port` nor `portRange` are specified, the rule will apply to all port. Only one of `port` and `portRange` should be specified.

func (SecurityGroupInboundRuleOutput) PortRange

Computed port range for this rule (e.g: 1-1024, 22-22)

func (SecurityGroupInboundRuleOutput) Protocol

The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.

func (SecurityGroupInboundRuleOutput) ToSecurityGroupInboundRuleOutput

func (o SecurityGroupInboundRuleOutput) ToSecurityGroupInboundRuleOutput() SecurityGroupInboundRuleOutput

func (SecurityGroupInboundRuleOutput) ToSecurityGroupInboundRuleOutputWithContext

func (o SecurityGroupInboundRuleOutput) ToSecurityGroupInboundRuleOutputWithContext(ctx context.Context) SecurityGroupInboundRuleOutput

type SecurityGroupInput

type SecurityGroupInput interface {
	pulumi.Input

	ToSecurityGroupOutput() SecurityGroupOutput
	ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
}

type SecurityGroupMap

type SecurityGroupMap map[string]SecurityGroupInput

func (SecurityGroupMap) ElementType

func (SecurityGroupMap) ElementType() reflect.Type

func (SecurityGroupMap) ToSecurityGroupMapOutput

func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext

func (i SecurityGroupMap) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupMapInput

type SecurityGroupMapInput interface {
	pulumi.Input

	ToSecurityGroupMapOutput() SecurityGroupMapOutput
	ToSecurityGroupMapOutputWithContext(context.Context) SecurityGroupMapOutput
}

SecurityGroupMapInput is an input type that accepts SecurityGroupMap and SecurityGroupMapOutput values. You can construct a concrete instance of `SecurityGroupMapInput` via:

SecurityGroupMap{ "key": SecurityGroupArgs{...} }

type SecurityGroupMapOutput

type SecurityGroupMapOutput struct{ *pulumi.OutputState }

func (SecurityGroupMapOutput) ElementType

func (SecurityGroupMapOutput) ElementType() reflect.Type

func (SecurityGroupMapOutput) MapIndex

func (SecurityGroupMapOutput) ToSecurityGroupMapOutput

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupOutboundRule

type SecurityGroupOutboundRule struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action string `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip *string `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange *string `pulumi:"ipRange"`
	// The port this rule applies to. If no `port` nor `portRange` are specified, the rule will apply to all port. Only one of `port` and `portRange` should be specified.
	Port *int `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange *string `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol *string `pulumi:"protocol"`
}

type SecurityGroupOutboundRuleArgs

type SecurityGroupOutboundRuleArgs struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action pulumi.StringInput `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip pulumi.StringPtrInput `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange pulumi.StringPtrInput `pulumi:"ipRange"`
	// The port this rule applies to. If no `port` nor `portRange` are specified, the rule will apply to all port. Only one of `port` and `portRange` should be specified.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange pulumi.StringPtrInput `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (SecurityGroupOutboundRuleArgs) ElementType

func (SecurityGroupOutboundRuleArgs) ToSecurityGroupOutboundRuleOutput

func (i SecurityGroupOutboundRuleArgs) ToSecurityGroupOutboundRuleOutput() SecurityGroupOutboundRuleOutput

func (SecurityGroupOutboundRuleArgs) ToSecurityGroupOutboundRuleOutputWithContext

func (i SecurityGroupOutboundRuleArgs) ToSecurityGroupOutboundRuleOutputWithContext(ctx context.Context) SecurityGroupOutboundRuleOutput

type SecurityGroupOutboundRuleArray

type SecurityGroupOutboundRuleArray []SecurityGroupOutboundRuleInput

func (SecurityGroupOutboundRuleArray) ElementType

func (SecurityGroupOutboundRuleArray) ToSecurityGroupOutboundRuleArrayOutput

func (i SecurityGroupOutboundRuleArray) ToSecurityGroupOutboundRuleArrayOutput() SecurityGroupOutboundRuleArrayOutput

func (SecurityGroupOutboundRuleArray) ToSecurityGroupOutboundRuleArrayOutputWithContext

func (i SecurityGroupOutboundRuleArray) ToSecurityGroupOutboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupOutboundRuleArrayOutput

type SecurityGroupOutboundRuleArrayInput

type SecurityGroupOutboundRuleArrayInput interface {
	pulumi.Input

	ToSecurityGroupOutboundRuleArrayOutput() SecurityGroupOutboundRuleArrayOutput
	ToSecurityGroupOutboundRuleArrayOutputWithContext(context.Context) SecurityGroupOutboundRuleArrayOutput
}

SecurityGroupOutboundRuleArrayInput is an input type that accepts SecurityGroupOutboundRuleArray and SecurityGroupOutboundRuleArrayOutput values. You can construct a concrete instance of `SecurityGroupOutboundRuleArrayInput` via:

SecurityGroupOutboundRuleArray{ SecurityGroupOutboundRuleArgs{...} }

type SecurityGroupOutboundRuleArrayOutput

type SecurityGroupOutboundRuleArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupOutboundRuleArrayOutput) ElementType

func (SecurityGroupOutboundRuleArrayOutput) Index

func (SecurityGroupOutboundRuleArrayOutput) ToSecurityGroupOutboundRuleArrayOutput

func (o SecurityGroupOutboundRuleArrayOutput) ToSecurityGroupOutboundRuleArrayOutput() SecurityGroupOutboundRuleArrayOutput

func (SecurityGroupOutboundRuleArrayOutput) ToSecurityGroupOutboundRuleArrayOutputWithContext

func (o SecurityGroupOutboundRuleArrayOutput) ToSecurityGroupOutboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupOutboundRuleArrayOutput

type SecurityGroupOutboundRuleInput

type SecurityGroupOutboundRuleInput interface {
	pulumi.Input

	ToSecurityGroupOutboundRuleOutput() SecurityGroupOutboundRuleOutput
	ToSecurityGroupOutboundRuleOutputWithContext(context.Context) SecurityGroupOutboundRuleOutput
}

SecurityGroupOutboundRuleInput is an input type that accepts SecurityGroupOutboundRuleArgs and SecurityGroupOutboundRuleOutput values. You can construct a concrete instance of `SecurityGroupOutboundRuleInput` via:

SecurityGroupOutboundRuleArgs{...}

type SecurityGroupOutboundRuleOutput

type SecurityGroupOutboundRuleOutput struct{ *pulumi.OutputState }

func (SecurityGroupOutboundRuleOutput) Action

The action to take when rule match. Possible values are: `accept` or `drop`.

func (SecurityGroupOutboundRuleOutput) ElementType

func (SecurityGroupOutboundRuleOutput) Ip deprecated

The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

Deprecated: Ip address is deprecated. Please use ip_range instead

func (SecurityGroupOutboundRuleOutput) IpRange

The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

func (SecurityGroupOutboundRuleOutput) Port

The port this rule applies to. If no `port` nor `portRange` are specified, the rule will apply to all port. Only one of `port` and `portRange` should be specified.

func (SecurityGroupOutboundRuleOutput) PortRange

Computed port range for this rule (e.g: 1-1024, 22-22)

func (SecurityGroupOutboundRuleOutput) Protocol

The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.

func (SecurityGroupOutboundRuleOutput) ToSecurityGroupOutboundRuleOutput

func (o SecurityGroupOutboundRuleOutput) ToSecurityGroupOutboundRuleOutput() SecurityGroupOutboundRuleOutput

func (SecurityGroupOutboundRuleOutput) ToSecurityGroupOutboundRuleOutputWithContext

func (o SecurityGroupOutboundRuleOutput) ToSecurityGroupOutboundRuleOutputWithContext(ctx context.Context) SecurityGroupOutboundRuleOutput

type SecurityGroupOutput

type SecurityGroupOutput struct{ *pulumi.OutputState }

func (SecurityGroupOutput) Description

func (o SecurityGroupOutput) Description() pulumi.StringPtrOutput

The description of the security group.

func (SecurityGroupOutput) ElementType

func (SecurityGroupOutput) ElementType() reflect.Type

func (SecurityGroupOutput) EnableDefaultSecurity

func (o SecurityGroupOutput) EnableDefaultSecurity() pulumi.BoolPtrOutput

Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).

func (SecurityGroupOutput) ExternalRules

func (o SecurityGroupOutput) ExternalRules() pulumi.BoolPtrOutput

A boolean to specify whether to use instance_security_group_rules. If `externalRules` is set to `true`, `inboundRule` and `outboundRule` can not be set directly in the security group.

func (SecurityGroupOutput) InboundDefaultPolicy

func (o SecurityGroupOutput) InboundDefaultPolicy() pulumi.StringPtrOutput

The default policy on incoming traffic. Possible values are: `accept` or `drop`.

func (SecurityGroupOutput) InboundRules

A list of inbound rule to add to the security group. (Structure is documented below.)

func (SecurityGroupOutput) Name

The name of the security group.

func (SecurityGroupOutput) OrganizationId

func (o SecurityGroupOutput) OrganizationId() pulumi.StringOutput

The organization ID the security group is associated with.

func (SecurityGroupOutput) OutboundDefaultPolicy

func (o SecurityGroupOutput) OutboundDefaultPolicy() pulumi.StringPtrOutput

The default policy on outgoing traffic. Possible values are: `accept` or `drop`.

func (SecurityGroupOutput) OutboundRules

A list of outbound rule to add to the security group. (Structure is documented below.)

func (SecurityGroupOutput) ProjectId

func (o SecurityGroupOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the security group is associated with.

func (SecurityGroupOutput) Stateful

A boolean to specify whether the security group should be stateful or not.

func (SecurityGroupOutput) Tags

The tags of the security group.

func (SecurityGroupOutput) ToSecurityGroupOutput

func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupOutputWithContext

func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

func (SecurityGroupOutput) Zone

`zone`) The zone in which the security group should be created.

type SecurityGroupRules

type SecurityGroupRules struct {
	pulumi.CustomResourceState

	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules SecurityGroupRulesInboundRuleArrayOutput `pulumi:"inboundRules"`
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules SecurityGroupRulesOutboundRuleArrayOutput `pulumi:"outboundRules"`
	// The ID of the security group.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
}

Creates and manages Scaleway Compute Instance security group rules. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89).

This resource can be used to externalize rules from a `instance.SecurityGroup` to solve circular dependency problems. When using this resource do not forget to set `externalRules = true` on the security group.

> **Warning:** In order to guaranty rules order in a given security group only one instance.SecurityGroupRules is allowed per security group.

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		sg01, err := instance.NewSecurityGroup(ctx, "sg01", &instance.SecurityGroupArgs{
			ExternalRules: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewSecurityGroupRules(ctx, "sgrs01", &instance.SecurityGroupRulesArgs{
			SecurityGroupId: sg01.ID(),
			InboundRules: instance.SecurityGroupRulesInboundRuleArray{
				&instance.SecurityGroupRulesInboundRuleArgs{
					Action:  pulumi.String("accept"),
					Port:    pulumi.Int(80),
					IpRange: pulumi.String("0.0.0.0/0"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Instance security group rules can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/securityGroupRules:SecurityGroupRules web fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetSecurityGroupRules

func GetSecurityGroupRules(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityGroupRulesState, opts ...pulumi.ResourceOption) (*SecurityGroupRules, error)

GetSecurityGroupRules gets an existing SecurityGroupRules resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroupRules

func NewSecurityGroupRules(ctx *pulumi.Context,
	name string, args *SecurityGroupRulesArgs, opts ...pulumi.ResourceOption) (*SecurityGroupRules, error)

NewSecurityGroupRules registers a new resource with the given unique name, arguments, and options.

func (*SecurityGroupRules) ElementType

func (*SecurityGroupRules) ElementType() reflect.Type

func (*SecurityGroupRules) ToSecurityGroupRulesOutput

func (i *SecurityGroupRules) ToSecurityGroupRulesOutput() SecurityGroupRulesOutput

func (*SecurityGroupRules) ToSecurityGroupRulesOutputWithContext

func (i *SecurityGroupRules) ToSecurityGroupRulesOutputWithContext(ctx context.Context) SecurityGroupRulesOutput

type SecurityGroupRulesArgs

type SecurityGroupRulesArgs struct {
	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules SecurityGroupRulesInboundRuleArrayInput
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules SecurityGroupRulesOutboundRuleArrayInput
	// The ID of the security group.
	SecurityGroupId pulumi.StringInput
}

The set of arguments for constructing a SecurityGroupRules resource.

func (SecurityGroupRulesArgs) ElementType

func (SecurityGroupRulesArgs) ElementType() reflect.Type

type SecurityGroupRulesArray

type SecurityGroupRulesArray []SecurityGroupRulesInput

func (SecurityGroupRulesArray) ElementType

func (SecurityGroupRulesArray) ElementType() reflect.Type

func (SecurityGroupRulesArray) ToSecurityGroupRulesArrayOutput

func (i SecurityGroupRulesArray) ToSecurityGroupRulesArrayOutput() SecurityGroupRulesArrayOutput

func (SecurityGroupRulesArray) ToSecurityGroupRulesArrayOutputWithContext

func (i SecurityGroupRulesArray) ToSecurityGroupRulesArrayOutputWithContext(ctx context.Context) SecurityGroupRulesArrayOutput

type SecurityGroupRulesArrayInput

type SecurityGroupRulesArrayInput interface {
	pulumi.Input

	ToSecurityGroupRulesArrayOutput() SecurityGroupRulesArrayOutput
	ToSecurityGroupRulesArrayOutputWithContext(context.Context) SecurityGroupRulesArrayOutput
}

SecurityGroupRulesArrayInput is an input type that accepts SecurityGroupRulesArray and SecurityGroupRulesArrayOutput values. You can construct a concrete instance of `SecurityGroupRulesArrayInput` via:

SecurityGroupRulesArray{ SecurityGroupRulesArgs{...} }

type SecurityGroupRulesArrayOutput

type SecurityGroupRulesArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesArrayOutput) ElementType

func (SecurityGroupRulesArrayOutput) Index

func (SecurityGroupRulesArrayOutput) ToSecurityGroupRulesArrayOutput

func (o SecurityGroupRulesArrayOutput) ToSecurityGroupRulesArrayOutput() SecurityGroupRulesArrayOutput

func (SecurityGroupRulesArrayOutput) ToSecurityGroupRulesArrayOutputWithContext

func (o SecurityGroupRulesArrayOutput) ToSecurityGroupRulesArrayOutputWithContext(ctx context.Context) SecurityGroupRulesArrayOutput

type SecurityGroupRulesInboundRule

type SecurityGroupRulesInboundRule struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action string `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip *string `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange *string `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port *int `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange *string `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol *string `pulumi:"protocol"`
}

type SecurityGroupRulesInboundRuleArgs

type SecurityGroupRulesInboundRuleArgs struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action pulumi.StringInput `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip pulumi.StringPtrInput `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange pulumi.StringPtrInput `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange pulumi.StringPtrInput `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (SecurityGroupRulesInboundRuleArgs) ElementType

func (SecurityGroupRulesInboundRuleArgs) ToSecurityGroupRulesInboundRuleOutput

func (i SecurityGroupRulesInboundRuleArgs) ToSecurityGroupRulesInboundRuleOutput() SecurityGroupRulesInboundRuleOutput

func (SecurityGroupRulesInboundRuleArgs) ToSecurityGroupRulesInboundRuleOutputWithContext

func (i SecurityGroupRulesInboundRuleArgs) ToSecurityGroupRulesInboundRuleOutputWithContext(ctx context.Context) SecurityGroupRulesInboundRuleOutput

type SecurityGroupRulesInboundRuleArray

type SecurityGroupRulesInboundRuleArray []SecurityGroupRulesInboundRuleInput

func (SecurityGroupRulesInboundRuleArray) ElementType

func (SecurityGroupRulesInboundRuleArray) ToSecurityGroupRulesInboundRuleArrayOutput

func (i SecurityGroupRulesInboundRuleArray) ToSecurityGroupRulesInboundRuleArrayOutput() SecurityGroupRulesInboundRuleArrayOutput

func (SecurityGroupRulesInboundRuleArray) ToSecurityGroupRulesInboundRuleArrayOutputWithContext

func (i SecurityGroupRulesInboundRuleArray) ToSecurityGroupRulesInboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupRulesInboundRuleArrayOutput

type SecurityGroupRulesInboundRuleArrayInput

type SecurityGroupRulesInboundRuleArrayInput interface {
	pulumi.Input

	ToSecurityGroupRulesInboundRuleArrayOutput() SecurityGroupRulesInboundRuleArrayOutput
	ToSecurityGroupRulesInboundRuleArrayOutputWithContext(context.Context) SecurityGroupRulesInboundRuleArrayOutput
}

SecurityGroupRulesInboundRuleArrayInput is an input type that accepts SecurityGroupRulesInboundRuleArray and SecurityGroupRulesInboundRuleArrayOutput values. You can construct a concrete instance of `SecurityGroupRulesInboundRuleArrayInput` via:

SecurityGroupRulesInboundRuleArray{ SecurityGroupRulesInboundRuleArgs{...} }

type SecurityGroupRulesInboundRuleArrayOutput

type SecurityGroupRulesInboundRuleArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesInboundRuleArrayOutput) ElementType

func (SecurityGroupRulesInboundRuleArrayOutput) Index

func (SecurityGroupRulesInboundRuleArrayOutput) ToSecurityGroupRulesInboundRuleArrayOutput

func (o SecurityGroupRulesInboundRuleArrayOutput) ToSecurityGroupRulesInboundRuleArrayOutput() SecurityGroupRulesInboundRuleArrayOutput

func (SecurityGroupRulesInboundRuleArrayOutput) ToSecurityGroupRulesInboundRuleArrayOutputWithContext

func (o SecurityGroupRulesInboundRuleArrayOutput) ToSecurityGroupRulesInboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupRulesInboundRuleArrayOutput

type SecurityGroupRulesInboundRuleInput

type SecurityGroupRulesInboundRuleInput interface {
	pulumi.Input

	ToSecurityGroupRulesInboundRuleOutput() SecurityGroupRulesInboundRuleOutput
	ToSecurityGroupRulesInboundRuleOutputWithContext(context.Context) SecurityGroupRulesInboundRuleOutput
}

SecurityGroupRulesInboundRuleInput is an input type that accepts SecurityGroupRulesInboundRuleArgs and SecurityGroupRulesInboundRuleOutput values. You can construct a concrete instance of `SecurityGroupRulesInboundRuleInput` via:

SecurityGroupRulesInboundRuleArgs{...}

type SecurityGroupRulesInboundRuleOutput

type SecurityGroupRulesInboundRuleOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesInboundRuleOutput) Action

The action to take when rule match. Possible values are: `accept` or `drop`.

func (SecurityGroupRulesInboundRuleOutput) ElementType

func (SecurityGroupRulesInboundRuleOutput) Ip deprecated

The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

Deprecated: Ip address is deprecated. Please use ip_range instead

func (SecurityGroupRulesInboundRuleOutput) IpRange

The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

func (SecurityGroupRulesInboundRuleOutput) Port

The port this rule apply to. If no port is specified, rule will apply to all port.

func (SecurityGroupRulesInboundRuleOutput) PortRange

Computed port range for this rule (e.g: 1-1024, 22-22)

func (SecurityGroupRulesInboundRuleOutput) Protocol

The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.

func (SecurityGroupRulesInboundRuleOutput) ToSecurityGroupRulesInboundRuleOutput

func (o SecurityGroupRulesInboundRuleOutput) ToSecurityGroupRulesInboundRuleOutput() SecurityGroupRulesInboundRuleOutput

func (SecurityGroupRulesInboundRuleOutput) ToSecurityGroupRulesInboundRuleOutputWithContext

func (o SecurityGroupRulesInboundRuleOutput) ToSecurityGroupRulesInboundRuleOutputWithContext(ctx context.Context) SecurityGroupRulesInboundRuleOutput

type SecurityGroupRulesInput

type SecurityGroupRulesInput interface {
	pulumi.Input

	ToSecurityGroupRulesOutput() SecurityGroupRulesOutput
	ToSecurityGroupRulesOutputWithContext(ctx context.Context) SecurityGroupRulesOutput
}

type SecurityGroupRulesMap

type SecurityGroupRulesMap map[string]SecurityGroupRulesInput

func (SecurityGroupRulesMap) ElementType

func (SecurityGroupRulesMap) ElementType() reflect.Type

func (SecurityGroupRulesMap) ToSecurityGroupRulesMapOutput

func (i SecurityGroupRulesMap) ToSecurityGroupRulesMapOutput() SecurityGroupRulesMapOutput

func (SecurityGroupRulesMap) ToSecurityGroupRulesMapOutputWithContext

func (i SecurityGroupRulesMap) ToSecurityGroupRulesMapOutputWithContext(ctx context.Context) SecurityGroupRulesMapOutput

type SecurityGroupRulesMapInput

type SecurityGroupRulesMapInput interface {
	pulumi.Input

	ToSecurityGroupRulesMapOutput() SecurityGroupRulesMapOutput
	ToSecurityGroupRulesMapOutputWithContext(context.Context) SecurityGroupRulesMapOutput
}

SecurityGroupRulesMapInput is an input type that accepts SecurityGroupRulesMap and SecurityGroupRulesMapOutput values. You can construct a concrete instance of `SecurityGroupRulesMapInput` via:

SecurityGroupRulesMap{ "key": SecurityGroupRulesArgs{...} }

type SecurityGroupRulesMapOutput

type SecurityGroupRulesMapOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesMapOutput) ElementType

func (SecurityGroupRulesMapOutput) MapIndex

func (SecurityGroupRulesMapOutput) ToSecurityGroupRulesMapOutput

func (o SecurityGroupRulesMapOutput) ToSecurityGroupRulesMapOutput() SecurityGroupRulesMapOutput

func (SecurityGroupRulesMapOutput) ToSecurityGroupRulesMapOutputWithContext

func (o SecurityGroupRulesMapOutput) ToSecurityGroupRulesMapOutputWithContext(ctx context.Context) SecurityGroupRulesMapOutput

type SecurityGroupRulesOutboundRule

type SecurityGroupRulesOutboundRule struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action string `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip *string `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange *string `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port *int `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange *string `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol *string `pulumi:"protocol"`
}

type SecurityGroupRulesOutboundRuleArgs

type SecurityGroupRulesOutboundRuleArgs struct {
	// The action to take when rule match. Possible values are: `accept` or `drop`.
	Action pulumi.StringInput `pulumi:"action"`
	// The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	//
	// Deprecated: Ip address is deprecated. Please use ip_range instead
	Ip pulumi.StringPtrInput `pulumi:"ip"`
	// The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.
	IpRange pulumi.StringPtrInput `pulumi:"ipRange"`
	// The port this rule apply to. If no port is specified, rule will apply to all port.
	Port pulumi.IntPtrInput `pulumi:"port"`
	// Computed port range for this rule (e.g: 1-1024, 22-22)
	PortRange pulumi.StringPtrInput `pulumi:"portRange"`
	// The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (SecurityGroupRulesOutboundRuleArgs) ElementType

func (SecurityGroupRulesOutboundRuleArgs) ToSecurityGroupRulesOutboundRuleOutput

func (i SecurityGroupRulesOutboundRuleArgs) ToSecurityGroupRulesOutboundRuleOutput() SecurityGroupRulesOutboundRuleOutput

func (SecurityGroupRulesOutboundRuleArgs) ToSecurityGroupRulesOutboundRuleOutputWithContext

func (i SecurityGroupRulesOutboundRuleArgs) ToSecurityGroupRulesOutboundRuleOutputWithContext(ctx context.Context) SecurityGroupRulesOutboundRuleOutput

type SecurityGroupRulesOutboundRuleArray

type SecurityGroupRulesOutboundRuleArray []SecurityGroupRulesOutboundRuleInput

func (SecurityGroupRulesOutboundRuleArray) ElementType

func (SecurityGroupRulesOutboundRuleArray) ToSecurityGroupRulesOutboundRuleArrayOutput

func (i SecurityGroupRulesOutboundRuleArray) ToSecurityGroupRulesOutboundRuleArrayOutput() SecurityGroupRulesOutboundRuleArrayOutput

func (SecurityGroupRulesOutboundRuleArray) ToSecurityGroupRulesOutboundRuleArrayOutputWithContext

func (i SecurityGroupRulesOutboundRuleArray) ToSecurityGroupRulesOutboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupRulesOutboundRuleArrayOutput

type SecurityGroupRulesOutboundRuleArrayInput

type SecurityGroupRulesOutboundRuleArrayInput interface {
	pulumi.Input

	ToSecurityGroupRulesOutboundRuleArrayOutput() SecurityGroupRulesOutboundRuleArrayOutput
	ToSecurityGroupRulesOutboundRuleArrayOutputWithContext(context.Context) SecurityGroupRulesOutboundRuleArrayOutput
}

SecurityGroupRulesOutboundRuleArrayInput is an input type that accepts SecurityGroupRulesOutboundRuleArray and SecurityGroupRulesOutboundRuleArrayOutput values. You can construct a concrete instance of `SecurityGroupRulesOutboundRuleArrayInput` via:

SecurityGroupRulesOutboundRuleArray{ SecurityGroupRulesOutboundRuleArgs{...} }

type SecurityGroupRulesOutboundRuleArrayOutput

type SecurityGroupRulesOutboundRuleArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesOutboundRuleArrayOutput) ElementType

func (SecurityGroupRulesOutboundRuleArrayOutput) Index

func (SecurityGroupRulesOutboundRuleArrayOutput) ToSecurityGroupRulesOutboundRuleArrayOutput

func (o SecurityGroupRulesOutboundRuleArrayOutput) ToSecurityGroupRulesOutboundRuleArrayOutput() SecurityGroupRulesOutboundRuleArrayOutput

func (SecurityGroupRulesOutboundRuleArrayOutput) ToSecurityGroupRulesOutboundRuleArrayOutputWithContext

func (o SecurityGroupRulesOutboundRuleArrayOutput) ToSecurityGroupRulesOutboundRuleArrayOutputWithContext(ctx context.Context) SecurityGroupRulesOutboundRuleArrayOutput

type SecurityGroupRulesOutboundRuleInput

type SecurityGroupRulesOutboundRuleInput interface {
	pulumi.Input

	ToSecurityGroupRulesOutboundRuleOutput() SecurityGroupRulesOutboundRuleOutput
	ToSecurityGroupRulesOutboundRuleOutputWithContext(context.Context) SecurityGroupRulesOutboundRuleOutput
}

SecurityGroupRulesOutboundRuleInput is an input type that accepts SecurityGroupRulesOutboundRuleArgs and SecurityGroupRulesOutboundRuleOutput values. You can construct a concrete instance of `SecurityGroupRulesOutboundRuleInput` via:

SecurityGroupRulesOutboundRuleArgs{...}

type SecurityGroupRulesOutboundRuleOutput

type SecurityGroupRulesOutboundRuleOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesOutboundRuleOutput) Action

The action to take when rule match. Possible values are: `accept` or `drop`.

func (SecurityGroupRulesOutboundRuleOutput) ElementType

func (SecurityGroupRulesOutboundRuleOutput) Ip deprecated

The ip this rule apply to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

Deprecated: Ip address is deprecated. Please use ip_range instead

func (SecurityGroupRulesOutboundRuleOutput) IpRange

The ip range (e.g `192.168.1.0/24`) this rule applies to. If no `ip` nor `ipRange` are specified, rule will apply to all ip. Only one of `ip` and `ipRange` should be specified.

func (SecurityGroupRulesOutboundRuleOutput) Port

The port this rule apply to. If no port is specified, rule will apply to all port.

func (SecurityGroupRulesOutboundRuleOutput) PortRange

Computed port range for this rule (e.g: 1-1024, 22-22)

func (SecurityGroupRulesOutboundRuleOutput) Protocol

The protocol this rule apply to. Possible values are: `TCP`, `UDP`, `ICMP` or `ANY`.

func (SecurityGroupRulesOutboundRuleOutput) ToSecurityGroupRulesOutboundRuleOutput

func (o SecurityGroupRulesOutboundRuleOutput) ToSecurityGroupRulesOutboundRuleOutput() SecurityGroupRulesOutboundRuleOutput

func (SecurityGroupRulesOutboundRuleOutput) ToSecurityGroupRulesOutboundRuleOutputWithContext

func (o SecurityGroupRulesOutboundRuleOutput) ToSecurityGroupRulesOutboundRuleOutputWithContext(ctx context.Context) SecurityGroupRulesOutboundRuleOutput

type SecurityGroupRulesOutput

type SecurityGroupRulesOutput struct{ *pulumi.OutputState }

func (SecurityGroupRulesOutput) ElementType

func (SecurityGroupRulesOutput) ElementType() reflect.Type

func (SecurityGroupRulesOutput) InboundRules

A list of inbound rule to add to the security group. (Structure is documented below.)

func (SecurityGroupRulesOutput) OutboundRules

A list of outbound rule to add to the security group. (Structure is documented below.)

func (SecurityGroupRulesOutput) SecurityGroupId

func (o SecurityGroupRulesOutput) SecurityGroupId() pulumi.StringOutput

The ID of the security group.

func (SecurityGroupRulesOutput) ToSecurityGroupRulesOutput

func (o SecurityGroupRulesOutput) ToSecurityGroupRulesOutput() SecurityGroupRulesOutput

func (SecurityGroupRulesOutput) ToSecurityGroupRulesOutputWithContext

func (o SecurityGroupRulesOutput) ToSecurityGroupRulesOutputWithContext(ctx context.Context) SecurityGroupRulesOutput

type SecurityGroupRulesState

type SecurityGroupRulesState struct {
	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules SecurityGroupRulesInboundRuleArrayInput
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules SecurityGroupRulesOutboundRuleArrayInput
	// The ID of the security group.
	SecurityGroupId pulumi.StringPtrInput
}

func (SecurityGroupRulesState) ElementType

func (SecurityGroupRulesState) ElementType() reflect.Type

type SecurityGroupState

type SecurityGroupState struct {
	// The description of the security group.
	Description pulumi.StringPtrInput
	// Whether to block SMTP on IPv4/IPv6 (Port 25, 465, 587). Set to false will unblock SMTP if your account is authorized to. If your organization is not yet authorized to send SMTP traffic, [open a support ticket](https://console.scaleway.com/support/tickets).
	EnableDefaultSecurity pulumi.BoolPtrInput
	// A boolean to specify whether to use instance_security_group_rules.
	// If `externalRules` is set to `true`, `inboundRule` and `outboundRule` can not be set directly in the security group.
	ExternalRules pulumi.BoolPtrInput
	// The default policy on incoming traffic. Possible values are: `accept` or `drop`.
	InboundDefaultPolicy pulumi.StringPtrInput
	// A list of inbound rule to add to the security group. (Structure is documented below.)
	InboundRules SecurityGroupInboundRuleArrayInput
	// The name of the security group.
	Name pulumi.StringPtrInput
	// The organization ID the security group is associated with.
	OrganizationId pulumi.StringPtrInput
	// The default policy on outgoing traffic. Possible values are: `accept` or `drop`.
	OutboundDefaultPolicy pulumi.StringPtrInput
	// A list of outbound rule to add to the security group. (Structure is documented below.)
	OutboundRules SecurityGroupOutboundRuleArrayInput
	// `projectId`) The ID of the project the security group is associated with.
	ProjectId pulumi.StringPtrInput
	// A boolean to specify whether the security group should be stateful or not.
	Stateful pulumi.BoolPtrInput
	// The tags of the security group.
	Tags pulumi.StringArrayInput
	// `zone`) The zone in which the security group should be created.
	Zone pulumi.StringPtrInput
}

func (SecurityGroupState) ElementType

func (SecurityGroupState) ElementType() reflect.Type

type Server

type Server struct {
	pulumi.CustomResourceState

	// The [additional volumes](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39)
	// attached to the server. Updates to this field will trigger a stop/start of the server.
	//
	// > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
	//
	// > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
	AdditionalVolumeIds pulumi.StringArrayOutput `pulumi:"additionalVolumeIds"`
	// The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
	BootType pulumi.StringPtrOutput `pulumi:"bootType"`
	// The ID of the bootscript to use  (set bootType to `bootscript`).
	BootscriptId pulumi.StringOutput `pulumi:"bootscriptId"`
	// The cloud init script associated with this server
	CloudInit pulumi.StringOutput `pulumi:"cloudInit"`
	// If true a dynamic IP will be attached to the server.
	EnableDynamicIp pulumi.BoolPtrOutput `pulumi:"enableDynamicIp"`
	// Determines if IPv6 is enabled for the server.
	EnableIpv6 pulumi.BoolPtrOutput `pulumi:"enableIpv6"`
	// The UUID or the label of the base image used by the server. You can use [this endpoint](https://api-marketplace.scaleway.com/images?page=1&per_page=100)
	// to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
	//
	// You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). “`scw marketplace image list“`
	//
	// To retrieve more information by label please use: “`scw marketplace image get label=<LABEL>“`
	Image pulumi.StringPtrOutput `pulumi:"image"`
	// The ID of the reserved IP that is attached to the server.
	IpId pulumi.StringPtrOutput `pulumi:"ipId"`
	// List of ID of reserved IPs that are attached to the server. Cannot be used with `ipId`.
	//
	// > `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip.
	IpIds pulumi.StringArrayOutput `pulumi:"ipIds"`
	// The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6Address pulumi.StringOutput `pulumi:"ipv6Address"`
	// The ipv6 gateway address. ( Only set when enableIpv6 is set to true )
	Ipv6Gateway pulumi.StringOutput `pulumi:"ipv6Gateway"`
	// The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6PrefixLength pulumi.IntOutput `pulumi:"ipv6PrefixLength"`
	// The name of the server.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the server is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
	//
	// > **Important:** When updating `placementGroupId` the `state` must be set to `stopped`, otherwise it will fail.
	PlacementGroupId pulumi.StringPtrOutput `pulumi:"placementGroupId"`
	// True when the placement group policy is respected.
	PlacementGroupPolicyRespected pulumi.BoolOutput `pulumi:"placementGroupPolicyRespected"`
	// The Scaleway internal IP address of the server.
	PrivateIp pulumi.StringOutput `pulumi:"privateIp"`
	// The private network associated with the server.
	// Use the `pnId` key to attach a [privateNetwork](https://developers.scaleway.com/en/products/instance/api/#private-nics-a42eea) on your instance.
	PrivateNetworks ServerPrivateNetworkArrayOutput `pulumi:"privateNetworks"`
	// `projectId`) The ID of the project the server is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The public IP address of the server.
	PublicIp pulumi.StringOutput `pulumi:"publicIp"`
	// The list of public IPs of the server.
	PublicIps ServerPublicIpArrayOutput `pulumi:"publicIps"`
	// If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
	ReplaceOnTypeChange pulumi.BoolPtrOutput `pulumi:"replaceOnTypeChange"`
	// Root [volume](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39) attached to the server on creation.
	RootVolume ServerRootVolumeOutput `pulumi:"rootVolume"`
	// If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
	//
	// > **Important:** Enabling routed ip will restart the server
	RoutedIpEnabled pulumi.BoolOutput `pulumi:"routedIpEnabled"`
	// The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// The state of the server. Possible values are: `started`, `stopped` or `standby`.
	State pulumi.StringPtrOutput `pulumi:"state"`
	// The tags associated with the server.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The commercial type of the server.
	// You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
	// Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
	// Use `replaceOnTypeChange` to trigger replacement instead of migration.
	//
	// > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
	Type pulumi.StringOutput `pulumi:"type"`
	// The user data associated with the server.
	// Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
	// You can define values using:
	// - string
	// - UTF-8 encoded file content using file
	// - Binary files using filebase64.
	UserData pulumi.StringMapOutput `pulumi:"userData"`
	// `zone`) The zone in which the server should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Compute Instance servers. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#servers-8bf7d7).

Please check our [FAQ - Instances](https://www.scaleway.com/en/docs/faq/instances).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		publicIp, err := instance.NewIP(ctx, "publicIp", nil)
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			Type:  pulumi.String("DEV1-S"),
			Image: pulumi.String("ubuntu_jammy"),
			IpId:  publicIp.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With additional volumes and tags

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		data, err := instance.NewVolume(ctx, "data", &instance.VolumeArgs{
			SizeInGb: pulumi.Int(100),
			Type:     pulumi.String("b_ssd"),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			Type:  pulumi.String("DEV1-S"),
			Image: pulumi.String("ubuntu_jammy"),
			Tags: pulumi.StringArray{
				pulumi.String("hello"),
				pulumi.String("public"),
			},
			RootVolume: &instance.ServerRootVolumeArgs{
				DeleteOnTermination: pulumi.Bool(false),
			},
			AdditionalVolumeIds: pulumi.StringArray{
				data.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With a reserved IP

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ip, err := instance.NewIP(ctx, "ip", nil)
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			Type:  pulumi.String("DEV1-S"),
			Image: pulumi.String("f974feac-abae-4365-b988-8ec7d1cec10d"),
			Tags: pulumi.StringArray{
				pulumi.String("hello"),
				pulumi.String("public"),
			},
			IpId: ip.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With security group

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		www, err := instance.NewSecurityGroup(ctx, "www", &instance.SecurityGroupArgs{
			InboundDefaultPolicy:  pulumi.String("drop"),
			OutboundDefaultPolicy: pulumi.String("accept"),
			InboundRules: instance.SecurityGroupInboundRuleArray{
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(22),
					Ip:     pulumi.String("212.47.225.64"),
				},
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(80),
				},
				&instance.SecurityGroupInboundRuleArgs{
					Action: pulumi.String("accept"),
					Port:   pulumi.Int(443),
				},
			},
			OutboundRules: instance.SecurityGroupOutboundRuleArray{
				&instance.SecurityGroupOutboundRuleArgs{
					Action:  pulumi.String("drop"),
					IpRange: pulumi.String("10.20.0.0/24"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "web", &instance.ServerArgs{
			Type:            pulumi.String("DEV1-S"),
			Image:           pulumi.String("ubuntu_jammy"),
			SecurityGroupId: www.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With user data and cloud-init

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"
"os"

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewServer(ctx, "web", &instance.ServerArgs{
			Type:  pulumi.String("DEV1-S"),
			Image: pulumi.String("ubuntu_jammy"),
			UserData: pulumi.StringMap{
				"foo":        pulumi.String("bar"),
				"cloud-init": readFileOrPanic(fmt.Sprintf("%v/cloud-init.yml", path.Module)),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With private network

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn01, err := vpc.NewPrivateNetwork(ctx, "pn01", nil)
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "base", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
			PrivateNetworks: instance.ServerPrivateNetworkArray{
				&instance.ServerPrivateNetworkArgs{
					PnId: pn01.ID(),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Root volume configuration

### Resized block volume with installed image

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewServer(ctx, "image", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			RootVolume: &instance.ServerRootVolumeArgs{
				SizeInGb:   pulumi.Int(100),
				VolumeType: pulumi.String("b_ssd"),
			},
			Type: pulumi.String("PRO2-XXS"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### From snapshot

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		snapshot, err := instance.LookupSnapshot(ctx, &instance.LookupSnapshotArgs{
			Name: pulumi.StringRef("my_snapshot"),
		}, nil)
		if err != nil {
			return err
		}
		fromSnapshotVolume, err := instance.NewVolume(ctx, "fromSnapshotVolume", &instance.VolumeArgs{
			FromSnapshotId: *pulumi.String(snapshot.Id),
			Type:           pulumi.String("b_ssd"),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewServer(ctx, "fromSnapshotServer", &instance.ServerArgs{
			Type: pulumi.String("PRO2-XXS"),
			RootVolume: &instance.ServerRootVolumeArgs{
				VolumeId: fromSnapshotVolume.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Private Network

> **Important:** Updates to `privateNetwork` will recreate a new private network interface.

- `pnId` - (Required) The private network ID where to connect. - `macAddress` The private NIC MAC address. - `status` The private NIC state. - `zone` - (Defaults to provider `zone`) The zone in which the server must be created.

> **Important:**

- You can only attach an instance in the same zone as a private network. - Instance supports maximum 8 different private networks.

## Import

Instance servers can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/server:Server web fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetServer

func GetServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerState, opts ...pulumi.ResourceOption) (*Server, error)

GetServer gets an existing Server resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServer

func NewServer(ctx *pulumi.Context,
	name string, args *ServerArgs, opts ...pulumi.ResourceOption) (*Server, error)

NewServer registers a new resource with the given unique name, arguments, and options.

func (*Server) ElementType

func (*Server) ElementType() reflect.Type

func (*Server) ToServerOutput

func (i *Server) ToServerOutput() ServerOutput

func (*Server) ToServerOutputWithContext

func (i *Server) ToServerOutputWithContext(ctx context.Context) ServerOutput

type ServerArgs

type ServerArgs struct {
	// The [additional volumes](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39)
	// attached to the server. Updates to this field will trigger a stop/start of the server.
	//
	// > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
	//
	// > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
	AdditionalVolumeIds pulumi.StringArrayInput
	// The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
	BootType pulumi.StringPtrInput
	// The ID of the bootscript to use  (set bootType to `bootscript`).
	BootscriptId pulumi.StringPtrInput
	// The cloud init script associated with this server
	CloudInit pulumi.StringPtrInput
	// If true a dynamic IP will be attached to the server.
	EnableDynamicIp pulumi.BoolPtrInput
	// Determines if IPv6 is enabled for the server.
	EnableIpv6 pulumi.BoolPtrInput
	// The UUID or the label of the base image used by the server. You can use [this endpoint](https://api-marketplace.scaleway.com/images?page=1&per_page=100)
	// to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
	//
	// You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). “`scw marketplace image list“`
	//
	// To retrieve more information by label please use: “`scw marketplace image get label=<LABEL>“`
	Image pulumi.StringPtrInput
	// The ID of the reserved IP that is attached to the server.
	IpId pulumi.StringPtrInput
	// List of ID of reserved IPs that are attached to the server. Cannot be used with `ipId`.
	//
	// > `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip.
	IpIds pulumi.StringArrayInput
	// The name of the server.
	Name pulumi.StringPtrInput
	// The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
	//
	// > **Important:** When updating `placementGroupId` the `state` must be set to `stopped`, otherwise it will fail.
	PlacementGroupId pulumi.StringPtrInput
	// The private network associated with the server.
	// Use the `pnId` key to attach a [privateNetwork](https://developers.scaleway.com/en/products/instance/api/#private-nics-a42eea) on your instance.
	PrivateNetworks ServerPrivateNetworkArrayInput
	// `projectId`) The ID of the project the server is associated with.
	ProjectId pulumi.StringPtrInput
	// The list of public IPs of the server.
	PublicIps ServerPublicIpArrayInput
	// If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
	ReplaceOnTypeChange pulumi.BoolPtrInput
	// Root [volume](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39) attached to the server on creation.
	RootVolume ServerRootVolumePtrInput
	// If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
	//
	// > **Important:** Enabling routed ip will restart the server
	RoutedIpEnabled pulumi.BoolPtrInput
	// The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
	SecurityGroupId pulumi.StringPtrInput
	// The state of the server. Possible values are: `started`, `stopped` or `standby`.
	State pulumi.StringPtrInput
	// The tags associated with the server.
	Tags pulumi.StringArrayInput
	// The commercial type of the server.
	// You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
	// Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
	// Use `replaceOnTypeChange` to trigger replacement instead of migration.
	//
	// > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
	Type pulumi.StringInput
	// The user data associated with the server.
	// Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
	// You can define values using:
	// - string
	// - UTF-8 encoded file content using file
	// - Binary files using filebase64.
	UserData pulumi.StringMapInput
	// `zone`) The zone in which the server should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Server resource.

func (ServerArgs) ElementType

func (ServerArgs) ElementType() reflect.Type

type ServerArray

type ServerArray []ServerInput

func (ServerArray) ElementType

func (ServerArray) ElementType() reflect.Type

func (ServerArray) ToServerArrayOutput

func (i ServerArray) ToServerArrayOutput() ServerArrayOutput

func (ServerArray) ToServerArrayOutputWithContext

func (i ServerArray) ToServerArrayOutputWithContext(ctx context.Context) ServerArrayOutput

type ServerArrayInput

type ServerArrayInput interface {
	pulumi.Input

	ToServerArrayOutput() ServerArrayOutput
	ToServerArrayOutputWithContext(context.Context) ServerArrayOutput
}

ServerArrayInput is an input type that accepts ServerArray and ServerArrayOutput values. You can construct a concrete instance of `ServerArrayInput` via:

ServerArray{ ServerArgs{...} }

type ServerArrayOutput

type ServerArrayOutput struct{ *pulumi.OutputState }

func (ServerArrayOutput) ElementType

func (ServerArrayOutput) ElementType() reflect.Type

func (ServerArrayOutput) Index

func (ServerArrayOutput) ToServerArrayOutput

func (o ServerArrayOutput) ToServerArrayOutput() ServerArrayOutput

func (ServerArrayOutput) ToServerArrayOutputWithContext

func (o ServerArrayOutput) ToServerArrayOutputWithContext(ctx context.Context) ServerArrayOutput

type ServerInput

type ServerInput interface {
	pulumi.Input

	ToServerOutput() ServerOutput
	ToServerOutputWithContext(ctx context.Context) ServerOutput
}

type ServerMap

type ServerMap map[string]ServerInput

func (ServerMap) ElementType

func (ServerMap) ElementType() reflect.Type

func (ServerMap) ToServerMapOutput

func (i ServerMap) ToServerMapOutput() ServerMapOutput

func (ServerMap) ToServerMapOutputWithContext

func (i ServerMap) ToServerMapOutputWithContext(ctx context.Context) ServerMapOutput

type ServerMapInput

type ServerMapInput interface {
	pulumi.Input

	ToServerMapOutput() ServerMapOutput
	ToServerMapOutputWithContext(context.Context) ServerMapOutput
}

ServerMapInput is an input type that accepts ServerMap and ServerMapOutput values. You can construct a concrete instance of `ServerMapInput` via:

ServerMap{ "key": ServerArgs{...} }

type ServerMapOutput

type ServerMapOutput struct{ *pulumi.OutputState }

func (ServerMapOutput) ElementType

func (ServerMapOutput) ElementType() reflect.Type

func (ServerMapOutput) MapIndex

func (ServerMapOutput) ToServerMapOutput

func (o ServerMapOutput) ToServerMapOutput() ServerMapOutput

func (ServerMapOutput) ToServerMapOutputWithContext

func (o ServerMapOutput) ToServerMapOutputWithContext(ctx context.Context) ServerMapOutput

type ServerOutput

type ServerOutput struct{ *pulumi.OutputState }

func (ServerOutput) AdditionalVolumeIds

func (o ServerOutput) AdditionalVolumeIds() pulumi.StringArrayOutput

The [additional volumes](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39) attached to the server. Updates to this field will trigger a stop/start of the server.

> **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.

> **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.

func (ServerOutput) BootType

func (o ServerOutput) BootType() pulumi.StringPtrOutput

The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.

func (ServerOutput) BootscriptId

func (o ServerOutput) BootscriptId() pulumi.StringOutput

The ID of the bootscript to use (set bootType to `bootscript`).

func (ServerOutput) CloudInit

func (o ServerOutput) CloudInit() pulumi.StringOutput

The cloud init script associated with this server

func (ServerOutput) ElementType

func (ServerOutput) ElementType() reflect.Type

func (ServerOutput) EnableDynamicIp

func (o ServerOutput) EnableDynamicIp() pulumi.BoolPtrOutput

If true a dynamic IP will be attached to the server.

func (ServerOutput) EnableIpv6

func (o ServerOutput) EnableIpv6() pulumi.BoolPtrOutput

Determines if IPv6 is enabled for the server.

func (ServerOutput) Image

The UUID or the label of the base image used by the server. You can use [this endpoint](https://api-marketplace.scaleway.com/images?page=1&per_page=100) to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.

You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). ```scw marketplace image list```

To retrieve more information by label please use: ```scw marketplace image get label=<LABEL>```

func (ServerOutput) IpId

The ID of the reserved IP that is attached to the server.

func (ServerOutput) IpIds

List of ID of reserved IPs that are attached to the server. Cannot be used with `ipId`.

> `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip.

func (ServerOutput) Ipv6Address

func (o ServerOutput) Ipv6Address() pulumi.StringOutput

The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )

func (ServerOutput) Ipv6Gateway

func (o ServerOutput) Ipv6Gateway() pulumi.StringOutput

The ipv6 gateway address. ( Only set when enableIpv6 is set to true )

func (ServerOutput) Ipv6PrefixLength

func (o ServerOutput) Ipv6PrefixLength() pulumi.IntOutput

The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )

func (ServerOutput) Name

func (o ServerOutput) Name() pulumi.StringOutput

The name of the server.

func (ServerOutput) OrganizationId

func (o ServerOutput) OrganizationId() pulumi.StringOutput

The organization ID the server is associated with.

func (ServerOutput) PlacementGroupId

func (o ServerOutput) PlacementGroupId() pulumi.StringPtrOutput

The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.

> **Important:** When updating `placementGroupId` the `state` must be set to `stopped`, otherwise it will fail.

func (ServerOutput) PlacementGroupPolicyRespected

func (o ServerOutput) PlacementGroupPolicyRespected() pulumi.BoolOutput

True when the placement group policy is respected.

func (ServerOutput) PrivateIp

func (o ServerOutput) PrivateIp() pulumi.StringOutput

The Scaleway internal IP address of the server.

func (ServerOutput) PrivateNetworks

func (o ServerOutput) PrivateNetworks() ServerPrivateNetworkArrayOutput

The private network associated with the server. Use the `pnId` key to attach a [privateNetwork](https://developers.scaleway.com/en/products/instance/api/#private-nics-a42eea) on your instance.

func (ServerOutput) ProjectId

func (o ServerOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the server is associated with.

func (ServerOutput) PublicIp

func (o ServerOutput) PublicIp() pulumi.StringOutput

The public IP address of the server.

func (ServerOutput) PublicIps

The list of public IPs of the server.

func (ServerOutput) ReplaceOnTypeChange

func (o ServerOutput) ReplaceOnTypeChange() pulumi.BoolPtrOutput

If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.

func (ServerOutput) RootVolume

func (o ServerOutput) RootVolume() ServerRootVolumeOutput

Root [volume](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39) attached to the server on creation.

func (ServerOutput) RoutedIpEnabled

func (o ServerOutput) RoutedIpEnabled() pulumi.BoolOutput

If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.

> **Important:** Enabling routed ip will restart the server

func (ServerOutput) SecurityGroupId

func (o ServerOutput) SecurityGroupId() pulumi.StringOutput

The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.

func (ServerOutput) State

The state of the server. Possible values are: `started`, `stopped` or `standby`.

func (ServerOutput) Tags

The tags associated with the server.

func (ServerOutput) ToServerOutput

func (o ServerOutput) ToServerOutput() ServerOutput

func (ServerOutput) ToServerOutputWithContext

func (o ServerOutput) ToServerOutputWithContext(ctx context.Context) ServerOutput

func (ServerOutput) Type

func (o ServerOutput) Type() pulumi.StringOutput

The commercial type of the server. You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/). Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/). Use `replaceOnTypeChange` to trigger replacement instead of migration.

> **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.

func (ServerOutput) UserData

func (o ServerOutput) UserData() pulumi.StringMapOutput

The user data associated with the server. Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance. You can define values using: - string - UTF-8 encoded file content using file - Binary files using filebase64.

func (ServerOutput) Zone

func (o ServerOutput) Zone() pulumi.StringOutput

`zone`) The zone in which the server should be created.

type ServerPrivateNetwork

type ServerPrivateNetwork struct {
	// MAC address of the NIC
	MacAddress *string `pulumi:"macAddress"`
	// The Private Network ID
	PnId string `pulumi:"pnId"`
	// The private NIC state
	Status *string `pulumi:"status"`
	// `zone`) The zone in which the server should be created.
	Zone *string `pulumi:"zone"`
}

type ServerPrivateNetworkArgs

type ServerPrivateNetworkArgs struct {
	// MAC address of the NIC
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
	// The Private Network ID
	PnId pulumi.StringInput `pulumi:"pnId"`
	// The private NIC state
	Status pulumi.StringPtrInput `pulumi:"status"`
	// `zone`) The zone in which the server should be created.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

func (ServerPrivateNetworkArgs) ElementType

func (ServerPrivateNetworkArgs) ElementType() reflect.Type

func (ServerPrivateNetworkArgs) ToServerPrivateNetworkOutput

func (i ServerPrivateNetworkArgs) ToServerPrivateNetworkOutput() ServerPrivateNetworkOutput

func (ServerPrivateNetworkArgs) ToServerPrivateNetworkOutputWithContext

func (i ServerPrivateNetworkArgs) ToServerPrivateNetworkOutputWithContext(ctx context.Context) ServerPrivateNetworkOutput

type ServerPrivateNetworkArray

type ServerPrivateNetworkArray []ServerPrivateNetworkInput

func (ServerPrivateNetworkArray) ElementType

func (ServerPrivateNetworkArray) ElementType() reflect.Type

func (ServerPrivateNetworkArray) ToServerPrivateNetworkArrayOutput

func (i ServerPrivateNetworkArray) ToServerPrivateNetworkArrayOutput() ServerPrivateNetworkArrayOutput

func (ServerPrivateNetworkArray) ToServerPrivateNetworkArrayOutputWithContext

func (i ServerPrivateNetworkArray) ToServerPrivateNetworkArrayOutputWithContext(ctx context.Context) ServerPrivateNetworkArrayOutput

type ServerPrivateNetworkArrayInput

type ServerPrivateNetworkArrayInput interface {
	pulumi.Input

	ToServerPrivateNetworkArrayOutput() ServerPrivateNetworkArrayOutput
	ToServerPrivateNetworkArrayOutputWithContext(context.Context) ServerPrivateNetworkArrayOutput
}

ServerPrivateNetworkArrayInput is an input type that accepts ServerPrivateNetworkArray and ServerPrivateNetworkArrayOutput values. You can construct a concrete instance of `ServerPrivateNetworkArrayInput` via:

ServerPrivateNetworkArray{ ServerPrivateNetworkArgs{...} }

type ServerPrivateNetworkArrayOutput

type ServerPrivateNetworkArrayOutput struct{ *pulumi.OutputState }

func (ServerPrivateNetworkArrayOutput) ElementType

func (ServerPrivateNetworkArrayOutput) Index

func (ServerPrivateNetworkArrayOutput) ToServerPrivateNetworkArrayOutput

func (o ServerPrivateNetworkArrayOutput) ToServerPrivateNetworkArrayOutput() ServerPrivateNetworkArrayOutput

func (ServerPrivateNetworkArrayOutput) ToServerPrivateNetworkArrayOutputWithContext

func (o ServerPrivateNetworkArrayOutput) ToServerPrivateNetworkArrayOutputWithContext(ctx context.Context) ServerPrivateNetworkArrayOutput

type ServerPrivateNetworkInput

type ServerPrivateNetworkInput interface {
	pulumi.Input

	ToServerPrivateNetworkOutput() ServerPrivateNetworkOutput
	ToServerPrivateNetworkOutputWithContext(context.Context) ServerPrivateNetworkOutput
}

ServerPrivateNetworkInput is an input type that accepts ServerPrivateNetworkArgs and ServerPrivateNetworkOutput values. You can construct a concrete instance of `ServerPrivateNetworkInput` via:

ServerPrivateNetworkArgs{...}

type ServerPrivateNetworkOutput

type ServerPrivateNetworkOutput struct{ *pulumi.OutputState }

func (ServerPrivateNetworkOutput) ElementType

func (ServerPrivateNetworkOutput) ElementType() reflect.Type

func (ServerPrivateNetworkOutput) MacAddress

MAC address of the NIC

func (ServerPrivateNetworkOutput) PnId

The Private Network ID

func (ServerPrivateNetworkOutput) Status

The private NIC state

func (ServerPrivateNetworkOutput) ToServerPrivateNetworkOutput

func (o ServerPrivateNetworkOutput) ToServerPrivateNetworkOutput() ServerPrivateNetworkOutput

func (ServerPrivateNetworkOutput) ToServerPrivateNetworkOutputWithContext

func (o ServerPrivateNetworkOutput) ToServerPrivateNetworkOutputWithContext(ctx context.Context) ServerPrivateNetworkOutput

func (ServerPrivateNetworkOutput) Zone

`zone`) The zone in which the server should be created.

type ServerPublicIp

type ServerPublicIp struct {
	// The address of the IP
	Address *string `pulumi:"address"`
	// The ID of the IP
	Id *string `pulumi:"id"`
}

type ServerPublicIpArgs

type ServerPublicIpArgs struct {
	// The address of the IP
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The ID of the IP
	Id pulumi.StringPtrInput `pulumi:"id"`
}

func (ServerPublicIpArgs) ElementType

func (ServerPublicIpArgs) ElementType() reflect.Type

func (ServerPublicIpArgs) ToServerPublicIpOutput

func (i ServerPublicIpArgs) ToServerPublicIpOutput() ServerPublicIpOutput

func (ServerPublicIpArgs) ToServerPublicIpOutputWithContext

func (i ServerPublicIpArgs) ToServerPublicIpOutputWithContext(ctx context.Context) ServerPublicIpOutput

type ServerPublicIpArray

type ServerPublicIpArray []ServerPublicIpInput

func (ServerPublicIpArray) ElementType

func (ServerPublicIpArray) ElementType() reflect.Type

func (ServerPublicIpArray) ToServerPublicIpArrayOutput

func (i ServerPublicIpArray) ToServerPublicIpArrayOutput() ServerPublicIpArrayOutput

func (ServerPublicIpArray) ToServerPublicIpArrayOutputWithContext

func (i ServerPublicIpArray) ToServerPublicIpArrayOutputWithContext(ctx context.Context) ServerPublicIpArrayOutput

type ServerPublicIpArrayInput

type ServerPublicIpArrayInput interface {
	pulumi.Input

	ToServerPublicIpArrayOutput() ServerPublicIpArrayOutput
	ToServerPublicIpArrayOutputWithContext(context.Context) ServerPublicIpArrayOutput
}

ServerPublicIpArrayInput is an input type that accepts ServerPublicIpArray and ServerPublicIpArrayOutput values. You can construct a concrete instance of `ServerPublicIpArrayInput` via:

ServerPublicIpArray{ ServerPublicIpArgs{...} }

type ServerPublicIpArrayOutput

type ServerPublicIpArrayOutput struct{ *pulumi.OutputState }

func (ServerPublicIpArrayOutput) ElementType

func (ServerPublicIpArrayOutput) ElementType() reflect.Type

func (ServerPublicIpArrayOutput) Index

func (ServerPublicIpArrayOutput) ToServerPublicIpArrayOutput

func (o ServerPublicIpArrayOutput) ToServerPublicIpArrayOutput() ServerPublicIpArrayOutput

func (ServerPublicIpArrayOutput) ToServerPublicIpArrayOutputWithContext

func (o ServerPublicIpArrayOutput) ToServerPublicIpArrayOutputWithContext(ctx context.Context) ServerPublicIpArrayOutput

type ServerPublicIpInput

type ServerPublicIpInput interface {
	pulumi.Input

	ToServerPublicIpOutput() ServerPublicIpOutput
	ToServerPublicIpOutputWithContext(context.Context) ServerPublicIpOutput
}

ServerPublicIpInput is an input type that accepts ServerPublicIpArgs and ServerPublicIpOutput values. You can construct a concrete instance of `ServerPublicIpInput` via:

ServerPublicIpArgs{...}

type ServerPublicIpOutput

type ServerPublicIpOutput struct{ *pulumi.OutputState }

func (ServerPublicIpOutput) Address

The address of the IP

func (ServerPublicIpOutput) ElementType

func (ServerPublicIpOutput) ElementType() reflect.Type

func (ServerPublicIpOutput) Id

The ID of the IP

func (ServerPublicIpOutput) ToServerPublicIpOutput

func (o ServerPublicIpOutput) ToServerPublicIpOutput() ServerPublicIpOutput

func (ServerPublicIpOutput) ToServerPublicIpOutputWithContext

func (o ServerPublicIpOutput) ToServerPublicIpOutputWithContext(ctx context.Context) ServerPublicIpOutput

type ServerRootVolume

type ServerRootVolume struct {
	// Set the volume where the boot the server
	Boot *bool `pulumi:"boot"`
	// Forces deletion of the root volume on instance termination.
	//
	// > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
	DeleteOnTermination *bool `pulumi:"deleteOnTermination"`
	// The name of the server.
	Name *string `pulumi:"name"`
	// Size of the root volume in gigabytes.
	// To find the right size use [this endpoint](https://api.scaleway.com/instance/v1/zones/fr-par-1/products/servers) and
	// check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`.
	// Updates to this field will recreate a new resource.
	SizeInGb *int `pulumi:"sizeInGb"`
	// The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
	VolumeId *string `pulumi:"volumeId"`
	// Volume type of root volume, can be `bSsd` or `lSsd`, default value depends on server type
	VolumeType *string `pulumi:"volumeType"`
}

type ServerRootVolumeArgs

type ServerRootVolumeArgs struct {
	// Set the volume where the boot the server
	Boot pulumi.BoolPtrInput `pulumi:"boot"`
	// Forces deletion of the root volume on instance termination.
	//
	// > **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.
	DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"`
	// The name of the server.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Size of the root volume in gigabytes.
	// To find the right size use [this endpoint](https://api.scaleway.com/instance/v1/zones/fr-par-1/products/servers) and
	// check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`.
	// Updates to this field will recreate a new resource.
	SizeInGb pulumi.IntPtrInput `pulumi:"sizeInGb"`
	// The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.
	VolumeId pulumi.StringPtrInput `pulumi:"volumeId"`
	// Volume type of root volume, can be `bSsd` or `lSsd`, default value depends on server type
	VolumeType pulumi.StringPtrInput `pulumi:"volumeType"`
}

func (ServerRootVolumeArgs) ElementType

func (ServerRootVolumeArgs) ElementType() reflect.Type

func (ServerRootVolumeArgs) ToServerRootVolumeOutput

func (i ServerRootVolumeArgs) ToServerRootVolumeOutput() ServerRootVolumeOutput

func (ServerRootVolumeArgs) ToServerRootVolumeOutputWithContext

func (i ServerRootVolumeArgs) ToServerRootVolumeOutputWithContext(ctx context.Context) ServerRootVolumeOutput

func (ServerRootVolumeArgs) ToServerRootVolumePtrOutput

func (i ServerRootVolumeArgs) ToServerRootVolumePtrOutput() ServerRootVolumePtrOutput

func (ServerRootVolumeArgs) ToServerRootVolumePtrOutputWithContext

func (i ServerRootVolumeArgs) ToServerRootVolumePtrOutputWithContext(ctx context.Context) ServerRootVolumePtrOutput

type ServerRootVolumeInput

type ServerRootVolumeInput interface {
	pulumi.Input

	ToServerRootVolumeOutput() ServerRootVolumeOutput
	ToServerRootVolumeOutputWithContext(context.Context) ServerRootVolumeOutput
}

ServerRootVolumeInput is an input type that accepts ServerRootVolumeArgs and ServerRootVolumeOutput values. You can construct a concrete instance of `ServerRootVolumeInput` via:

ServerRootVolumeArgs{...}

type ServerRootVolumeOutput

type ServerRootVolumeOutput struct{ *pulumi.OutputState }

func (ServerRootVolumeOutput) Boot

Set the volume where the boot the server

func (ServerRootVolumeOutput) DeleteOnTermination

func (o ServerRootVolumeOutput) DeleteOnTermination() pulumi.BoolPtrOutput

Forces deletion of the root volume on instance termination.

> **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.

func (ServerRootVolumeOutput) ElementType

func (ServerRootVolumeOutput) ElementType() reflect.Type

func (ServerRootVolumeOutput) Name

The name of the server.

func (ServerRootVolumeOutput) SizeInGb

Size of the root volume in gigabytes. To find the right size use [this endpoint](https://api.scaleway.com/instance/v1/zones/fr-par-1/products/servers) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. Updates to this field will recreate a new resource.

func (ServerRootVolumeOutput) ToServerRootVolumeOutput

func (o ServerRootVolumeOutput) ToServerRootVolumeOutput() ServerRootVolumeOutput

func (ServerRootVolumeOutput) ToServerRootVolumeOutputWithContext

func (o ServerRootVolumeOutput) ToServerRootVolumeOutputWithContext(ctx context.Context) ServerRootVolumeOutput

func (ServerRootVolumeOutput) ToServerRootVolumePtrOutput

func (o ServerRootVolumeOutput) ToServerRootVolumePtrOutput() ServerRootVolumePtrOutput

func (ServerRootVolumeOutput) ToServerRootVolumePtrOutputWithContext

func (o ServerRootVolumeOutput) ToServerRootVolumePtrOutputWithContext(ctx context.Context) ServerRootVolumePtrOutput

func (ServerRootVolumeOutput) VolumeId

The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.

func (ServerRootVolumeOutput) VolumeType

Volume type of root volume, can be `bSsd` or `lSsd`, default value depends on server type

type ServerRootVolumePtrInput

type ServerRootVolumePtrInput interface {
	pulumi.Input

	ToServerRootVolumePtrOutput() ServerRootVolumePtrOutput
	ToServerRootVolumePtrOutputWithContext(context.Context) ServerRootVolumePtrOutput
}

ServerRootVolumePtrInput is an input type that accepts ServerRootVolumeArgs, ServerRootVolumePtr and ServerRootVolumePtrOutput values. You can construct a concrete instance of `ServerRootVolumePtrInput` via:

        ServerRootVolumeArgs{...}

or:

        nil

type ServerRootVolumePtrOutput

type ServerRootVolumePtrOutput struct{ *pulumi.OutputState }

func (ServerRootVolumePtrOutput) Boot

Set the volume where the boot the server

func (ServerRootVolumePtrOutput) DeleteOnTermination

func (o ServerRootVolumePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput

Forces deletion of the root volume on instance termination.

> **Important:** Updates to `root_volume.size_in_gb` will be ignored after the creation of the server.

func (ServerRootVolumePtrOutput) Elem

func (ServerRootVolumePtrOutput) ElementType

func (ServerRootVolumePtrOutput) ElementType() reflect.Type

func (ServerRootVolumePtrOutput) Name

The name of the server.

func (ServerRootVolumePtrOutput) SizeInGb

Size of the root volume in gigabytes. To find the right size use [this endpoint](https://api.scaleway.com/instance/v1/zones/fr-par-1/products/servers) and check the `volumes_constraint.{min|max}_size` (in bytes) for your `commercialType`. Updates to this field will recreate a new resource.

func (ServerRootVolumePtrOutput) ToServerRootVolumePtrOutput

func (o ServerRootVolumePtrOutput) ToServerRootVolumePtrOutput() ServerRootVolumePtrOutput

func (ServerRootVolumePtrOutput) ToServerRootVolumePtrOutputWithContext

func (o ServerRootVolumePtrOutput) ToServerRootVolumePtrOutputWithContext(ctx context.Context) ServerRootVolumePtrOutput

func (ServerRootVolumePtrOutput) VolumeId

The volume ID of the root volume of the server, allows you to create server with an existing volume. If empty, will be computed to a created volume ID.

func (ServerRootVolumePtrOutput) VolumeType

Volume type of root volume, can be `bSsd` or `lSsd`, default value depends on server type

type ServerState

type ServerState struct {
	// The [additional volumes](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39)
	// attached to the server. Updates to this field will trigger a stop/start of the server.
	//
	// > **Important:** If this field contains local volumes, the `state` must be set to `stopped`, otherwise it will fail.
	//
	// > **Important:** If this field contains local volumes, you have to first detach them, in one apply, and then delete the volume in another apply.
	AdditionalVolumeIds pulumi.StringArrayInput
	// The boot Type of the server. Possible values are: `local`, `bootscript` or `rescue`.
	BootType pulumi.StringPtrInput
	// The ID of the bootscript to use  (set bootType to `bootscript`).
	BootscriptId pulumi.StringPtrInput
	// The cloud init script associated with this server
	CloudInit pulumi.StringPtrInput
	// If true a dynamic IP will be attached to the server.
	EnableDynamicIp pulumi.BoolPtrInput
	// Determines if IPv6 is enabled for the server.
	EnableIpv6 pulumi.BoolPtrInput
	// The UUID or the label of the base image used by the server. You can use [this endpoint](https://api-marketplace.scaleway.com/images?page=1&per_page=100)
	// to find either the right `label` or the right local image `ID` for a given `type`. Optional when creating an instance with an existing root volume.
	//
	// You can check the available labels with our [CLI](https://www.scaleway.com/en/docs/compute/instances/api-cli/creating-managing-instances-with-cliv2/). “`scw marketplace image list“`
	//
	// To retrieve more information by label please use: “`scw marketplace image get label=<LABEL>“`
	Image pulumi.StringPtrInput
	// The ID of the reserved IP that is attached to the server.
	IpId pulumi.StringPtrInput
	// List of ID of reserved IPs that are attached to the server. Cannot be used with `ipId`.
	//
	// > `ipId` to `ipIds` migration: if moving the ip from the old `ipId` field to the new `ipIds`, it should not detach the ip.
	IpIds pulumi.StringArrayInput
	// The default ipv6 address routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6Address pulumi.StringPtrInput
	// The ipv6 gateway address. ( Only set when enableIpv6 is set to true )
	Ipv6Gateway pulumi.StringPtrInput
	// The prefix length of the ipv6 subnet routed to the server. ( Only set when enableIpv6 is set to true )
	Ipv6PrefixLength pulumi.IntPtrInput
	// The name of the server.
	Name pulumi.StringPtrInput
	// The organization ID the server is associated with.
	OrganizationId pulumi.StringPtrInput
	// The [placement group](https://developers.scaleway.com/en/products/instance/api/#placement-groups-d8f653) the server is attached to.
	//
	// > **Important:** When updating `placementGroupId` the `state` must be set to `stopped`, otherwise it will fail.
	PlacementGroupId pulumi.StringPtrInput
	// True when the placement group policy is respected.
	PlacementGroupPolicyRespected pulumi.BoolPtrInput
	// The Scaleway internal IP address of the server.
	PrivateIp pulumi.StringPtrInput
	// The private network associated with the server.
	// Use the `pnId` key to attach a [privateNetwork](https://developers.scaleway.com/en/products/instance/api/#private-nics-a42eea) on your instance.
	PrivateNetworks ServerPrivateNetworkArrayInput
	// `projectId`) The ID of the project the server is associated with.
	ProjectId pulumi.StringPtrInput
	// The public IP address of the server.
	PublicIp pulumi.StringPtrInput
	// The list of public IPs of the server.
	PublicIps ServerPublicIpArrayInput
	// If true, the server will be replaced if `type` is changed. Otherwise, the server will migrate.
	ReplaceOnTypeChange pulumi.BoolPtrInput
	// Root [volume](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39) attached to the server on creation.
	RootVolume ServerRootVolumePtrInput
	// If true, the server will support routed ips only. Changing it to true will migrate the server and its IP to routed type.
	//
	// > **Important:** Enabling routed ip will restart the server
	RoutedIpEnabled pulumi.BoolPtrInput
	// The [security group](https://developers.scaleway.com/en/products/instance/api/#security-groups-8d7f89) the server is attached to.
	SecurityGroupId pulumi.StringPtrInput
	// The state of the server. Possible values are: `started`, `stopped` or `standby`.
	State pulumi.StringPtrInput
	// The tags associated with the server.
	Tags pulumi.StringArrayInput
	// The commercial type of the server.
	// You find all the available types on the [pricing page](https://www.scaleway.com/en/pricing/).
	// Updates to this field will migrate the server, local storage constraint must be respected. [More info](https://www.scaleway.com/en/docs/compute/instances/api-cli/migrating-instances/).
	// Use `replaceOnTypeChange` to trigger replacement instead of migration.
	//
	// > **Important:** If `type` change and migration occurs, the server will be stopped and changed backed to its original state. It will be started again if it was running.
	Type pulumi.StringPtrInput
	// The user data associated with the server.
	// Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
	// You can define values using:
	// - string
	// - UTF-8 encoded file content using file
	// - Binary files using filebase64.
	UserData pulumi.StringMapInput
	// `zone`) The zone in which the server should be created.
	Zone pulumi.StringPtrInput
}

func (ServerState) ElementType

func (ServerState) ElementType() reflect.Type

type Snapshot

type Snapshot struct {
	pulumi.CustomResourceState

	// The snapshot creation time.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Import a snapshot from a qcow2 file located in a bucket
	Import SnapshotImportPtrOutput `pulumi:"import"`
	// The name of the snapshot. If not provided it will be randomly generated.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the snapshot is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the snapshot is
	// associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// (Optional) The size of the snapshot.
	SizeInGb pulumi.IntOutput `pulumi:"sizeInGb"`
	// A list of tags to apply to the snapshot.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The snapshot's volume type.  The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD) and `unified`.
	// Updates to this field will recreate a new resource.
	Type pulumi.StringOutput `pulumi:"type"`
	// The ID of the volume to take a snapshot from.
	VolumeId pulumi.StringPtrOutput `pulumi:"volumeId"`
	// `zone`) The zone in which
	// the snapshot should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Compute Snapshots. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#snapshots-756fae).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewSnapshot(ctx, "main", &instance.SnapshotArgs{
			VolumeId: pulumi.String("11111111-1111-1111-1111-111111111111"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example with Unified type snapshot

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mainVolume, err := instance.NewVolume(ctx, "mainVolume", &instance.VolumeArgs{
			Type:     pulumi.String("l_ssd"),
			SizeInGb: pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		mainServer, err := instance.NewServer(ctx, "mainServer", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_jammy"),
			Type:  pulumi.String("DEV1-S"),
			RootVolume: &instance.ServerRootVolumeArgs{
				SizeInGb:   pulumi.Int(10),
				VolumeType: pulumi.String("l_ssd"),
			},
			AdditionalVolumeIds: pulumi.StringArray{
				mainVolume.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = instance.NewSnapshot(ctx, "mainSnapshot", &instance.SnapshotArgs{
			VolumeId: mainVolume.ID(),
			Type:     pulumi.String("unified"),
		}, pulumi.DependsOn([]pulumi.Resource{
			mainServer,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example importing a local qcow2 file

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/objectstorage"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := objectstorage.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		qcow, err := objectstorage.NewItem(ctx, "qcow", &objectstorage.ItemArgs{
			Bucket: bucket.Name,
			Key:    pulumi.String("server.qcow2"),
			File:   pulumi.String("myqcow.qcow2"),
		})
		if err != nil {
			return err
		}
		_, err = instance.NewSnapshot(ctx, "snapshot", &instance.SnapshotArgs{
			Type: pulumi.String("unified"),
			Import: &instance.SnapshotImportArgs{
				Bucket: qcow.Bucket,
				Key:    qcow.Key,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Snapshots can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/snapshot:Snapshot main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetSnapshot

func GetSnapshot(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnapshotState, opts ...pulumi.ResourceOption) (*Snapshot, error)

GetSnapshot gets an existing Snapshot resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSnapshot

func NewSnapshot(ctx *pulumi.Context,
	name string, args *SnapshotArgs, opts ...pulumi.ResourceOption) (*Snapshot, error)

NewSnapshot registers a new resource with the given unique name, arguments, and options.

func (*Snapshot) ElementType

func (*Snapshot) ElementType() reflect.Type

func (*Snapshot) ToSnapshotOutput

func (i *Snapshot) ToSnapshotOutput() SnapshotOutput

func (*Snapshot) ToSnapshotOutputWithContext

func (i *Snapshot) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

type SnapshotArgs

type SnapshotArgs struct {
	// Import a snapshot from a qcow2 file located in a bucket
	Import SnapshotImportPtrInput
	// The name of the snapshot. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// `projectId`) The ID of the project the snapshot is
	// associated with.
	ProjectId pulumi.StringPtrInput
	// A list of tags to apply to the snapshot.
	Tags pulumi.StringArrayInput
	// The snapshot's volume type.  The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD) and `unified`.
	// Updates to this field will recreate a new resource.
	Type pulumi.StringPtrInput
	// The ID of the volume to take a snapshot from.
	VolumeId pulumi.StringPtrInput
	// `zone`) The zone in which
	// the snapshot should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Snapshot resource.

func (SnapshotArgs) ElementType

func (SnapshotArgs) ElementType() reflect.Type

type SnapshotArray

type SnapshotArray []SnapshotInput

func (SnapshotArray) ElementType

func (SnapshotArray) ElementType() reflect.Type

func (SnapshotArray) ToSnapshotArrayOutput

func (i SnapshotArray) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArray) ToSnapshotArrayOutputWithContext

func (i SnapshotArray) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotArrayInput

type SnapshotArrayInput interface {
	pulumi.Input

	ToSnapshotArrayOutput() SnapshotArrayOutput
	ToSnapshotArrayOutputWithContext(context.Context) SnapshotArrayOutput
}

SnapshotArrayInput is an input type that accepts SnapshotArray and SnapshotArrayOutput values. You can construct a concrete instance of `SnapshotArrayInput` via:

SnapshotArray{ SnapshotArgs{...} }

type SnapshotArrayOutput

type SnapshotArrayOutput struct{ *pulumi.OutputState }

func (SnapshotArrayOutput) ElementType

func (SnapshotArrayOutput) ElementType() reflect.Type

func (SnapshotArrayOutput) Index

func (SnapshotArrayOutput) ToSnapshotArrayOutput

func (o SnapshotArrayOutput) ToSnapshotArrayOutput() SnapshotArrayOutput

func (SnapshotArrayOutput) ToSnapshotArrayOutputWithContext

func (o SnapshotArrayOutput) ToSnapshotArrayOutputWithContext(ctx context.Context) SnapshotArrayOutput

type SnapshotImport

type SnapshotImport struct {
	// Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
	Bucket string `pulumi:"bucket"`
	// Key of the object to import
	//
	// > **Note:** The type `unified` could be instantiated on both `lSsd` and `bSsd` volumes.
	Key string `pulumi:"key"`
}

type SnapshotImportArgs

type SnapshotImportArgs struct {
	// Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import
	Bucket pulumi.StringInput `pulumi:"bucket"`
	// Key of the object to import
	//
	// > **Note:** The type `unified` could be instantiated on both `lSsd` and `bSsd` volumes.
	Key pulumi.StringInput `pulumi:"key"`
}

func (SnapshotImportArgs) ElementType

func (SnapshotImportArgs) ElementType() reflect.Type

func (SnapshotImportArgs) ToSnapshotImportOutput

func (i SnapshotImportArgs) ToSnapshotImportOutput() SnapshotImportOutput

func (SnapshotImportArgs) ToSnapshotImportOutputWithContext

func (i SnapshotImportArgs) ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput

func (SnapshotImportArgs) ToSnapshotImportPtrOutput

func (i SnapshotImportArgs) ToSnapshotImportPtrOutput() SnapshotImportPtrOutput

func (SnapshotImportArgs) ToSnapshotImportPtrOutputWithContext

func (i SnapshotImportArgs) ToSnapshotImportPtrOutputWithContext(ctx context.Context) SnapshotImportPtrOutput

type SnapshotImportInput

type SnapshotImportInput interface {
	pulumi.Input

	ToSnapshotImportOutput() SnapshotImportOutput
	ToSnapshotImportOutputWithContext(context.Context) SnapshotImportOutput
}

SnapshotImportInput is an input type that accepts SnapshotImportArgs and SnapshotImportOutput values. You can construct a concrete instance of `SnapshotImportInput` via:

SnapshotImportArgs{...}

type SnapshotImportOutput

type SnapshotImportOutput struct{ *pulumi.OutputState }

func (SnapshotImportOutput) Bucket

Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import

func (SnapshotImportOutput) ElementType

func (SnapshotImportOutput) ElementType() reflect.Type

func (SnapshotImportOutput) Key

Key of the object to import

> **Note:** The type `unified` could be instantiated on both `lSsd` and `bSsd` volumes.

func (SnapshotImportOutput) ToSnapshotImportOutput

func (o SnapshotImportOutput) ToSnapshotImportOutput() SnapshotImportOutput

func (SnapshotImportOutput) ToSnapshotImportOutputWithContext

func (o SnapshotImportOutput) ToSnapshotImportOutputWithContext(ctx context.Context) SnapshotImportOutput

func (SnapshotImportOutput) ToSnapshotImportPtrOutput

func (o SnapshotImportOutput) ToSnapshotImportPtrOutput() SnapshotImportPtrOutput

func (SnapshotImportOutput) ToSnapshotImportPtrOutputWithContext

func (o SnapshotImportOutput) ToSnapshotImportPtrOutputWithContext(ctx context.Context) SnapshotImportPtrOutput

type SnapshotImportPtrInput

type SnapshotImportPtrInput interface {
	pulumi.Input

	ToSnapshotImportPtrOutput() SnapshotImportPtrOutput
	ToSnapshotImportPtrOutputWithContext(context.Context) SnapshotImportPtrOutput
}

SnapshotImportPtrInput is an input type that accepts SnapshotImportArgs, SnapshotImportPtr and SnapshotImportPtrOutput values. You can construct a concrete instance of `SnapshotImportPtrInput` via:

        SnapshotImportArgs{...}

or:

        nil

type SnapshotImportPtrOutput

type SnapshotImportPtrOutput struct{ *pulumi.OutputState }

func (SnapshotImportPtrOutput) Bucket

Bucket name containing [qcow2](https://en.wikipedia.org/wiki/Qcow) to import

func (SnapshotImportPtrOutput) Elem

func (SnapshotImportPtrOutput) ElementType

func (SnapshotImportPtrOutput) ElementType() reflect.Type

func (SnapshotImportPtrOutput) Key

Key of the object to import

> **Note:** The type `unified` could be instantiated on both `lSsd` and `bSsd` volumes.

func (SnapshotImportPtrOutput) ToSnapshotImportPtrOutput

func (o SnapshotImportPtrOutput) ToSnapshotImportPtrOutput() SnapshotImportPtrOutput

func (SnapshotImportPtrOutput) ToSnapshotImportPtrOutputWithContext

func (o SnapshotImportPtrOutput) ToSnapshotImportPtrOutputWithContext(ctx context.Context) SnapshotImportPtrOutput

type SnapshotInput

type SnapshotInput interface {
	pulumi.Input

	ToSnapshotOutput() SnapshotOutput
	ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput
}

type SnapshotMap

type SnapshotMap map[string]SnapshotInput

func (SnapshotMap) ElementType

func (SnapshotMap) ElementType() reflect.Type

func (SnapshotMap) ToSnapshotMapOutput

func (i SnapshotMap) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMap) ToSnapshotMapOutputWithContext

func (i SnapshotMap) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotMapInput

type SnapshotMapInput interface {
	pulumi.Input

	ToSnapshotMapOutput() SnapshotMapOutput
	ToSnapshotMapOutputWithContext(context.Context) SnapshotMapOutput
}

SnapshotMapInput is an input type that accepts SnapshotMap and SnapshotMapOutput values. You can construct a concrete instance of `SnapshotMapInput` via:

SnapshotMap{ "key": SnapshotArgs{...} }

type SnapshotMapOutput

type SnapshotMapOutput struct{ *pulumi.OutputState }

func (SnapshotMapOutput) ElementType

func (SnapshotMapOutput) ElementType() reflect.Type

func (SnapshotMapOutput) MapIndex

func (SnapshotMapOutput) ToSnapshotMapOutput

func (o SnapshotMapOutput) ToSnapshotMapOutput() SnapshotMapOutput

func (SnapshotMapOutput) ToSnapshotMapOutputWithContext

func (o SnapshotMapOutput) ToSnapshotMapOutputWithContext(ctx context.Context) SnapshotMapOutput

type SnapshotOutput

type SnapshotOutput struct{ *pulumi.OutputState }

func (SnapshotOutput) CreatedAt

func (o SnapshotOutput) CreatedAt() pulumi.StringOutput

The snapshot creation time.

func (SnapshotOutput) ElementType

func (SnapshotOutput) ElementType() reflect.Type

func (SnapshotOutput) Import

Import a snapshot from a qcow2 file located in a bucket

func (SnapshotOutput) Name

The name of the snapshot. If not provided it will be randomly generated.

func (SnapshotOutput) OrganizationId

func (o SnapshotOutput) OrganizationId() pulumi.StringOutput

The organization ID the snapshot is associated with.

func (SnapshotOutput) ProjectId

func (o SnapshotOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the snapshot is associated with.

func (SnapshotOutput) SizeInGb

func (o SnapshotOutput) SizeInGb() pulumi.IntOutput

(Optional) The size of the snapshot.

func (SnapshotOutput) Tags

A list of tags to apply to the snapshot.

func (SnapshotOutput) ToSnapshotOutput

func (o SnapshotOutput) ToSnapshotOutput() SnapshotOutput

func (SnapshotOutput) ToSnapshotOutputWithContext

func (o SnapshotOutput) ToSnapshotOutputWithContext(ctx context.Context) SnapshotOutput

func (SnapshotOutput) Type

The snapshot's volume type. The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD) and `unified`. Updates to this field will recreate a new resource.

func (SnapshotOutput) VolumeId

func (o SnapshotOutput) VolumeId() pulumi.StringPtrOutput

The ID of the volume to take a snapshot from.

func (SnapshotOutput) Zone

`zone`) The zone in which the snapshot should be created.

type SnapshotState

type SnapshotState struct {
	// The snapshot creation time.
	CreatedAt pulumi.StringPtrInput
	// Import a snapshot from a qcow2 file located in a bucket
	Import SnapshotImportPtrInput
	// The name of the snapshot. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The organization ID the snapshot is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the snapshot is
	// associated with.
	ProjectId pulumi.StringPtrInput
	// (Optional) The size of the snapshot.
	SizeInGb pulumi.IntPtrInput
	// A list of tags to apply to the snapshot.
	Tags pulumi.StringArrayInput
	// The snapshot's volume type.  The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD) and `unified`.
	// Updates to this field will recreate a new resource.
	Type pulumi.StringPtrInput
	// The ID of the volume to take a snapshot from.
	VolumeId pulumi.StringPtrInput
	// `zone`) The zone in which
	// the snapshot should be created.
	Zone pulumi.StringPtrInput
}

func (SnapshotState) ElementType

func (SnapshotState) ElementType() reflect.Type

type UserData

type UserData struct {
	pulumi.CustomResourceState

	// Key of the user data.
	Key pulumi.StringOutput `pulumi:"key"`
	// The ID of the server associated with.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// Value associated with your key
	Value pulumi.StringOutput `pulumi:"value"`
	// `zone`) The zone in which the server should be created.
	//
	// > **Important:**   Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
	// You can define values using:
	// - string
	// - UTF-8 encoded file content using file
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Compute Instance User Data values.

User data is a key value store API you can use to provide data from and to your server without authentication. It is the mechanism by which a user can pass information contained in a local file to an Instance at launch time.

The typical use case is to pass something like a shell script or a configuration file as user data.

For more information about [userData](https://developers.scaleway.com/en/products/instance/api/#patch-9ef3ec) check our documentation guide [here](https://www.scaleway.com/en/docs/compute/instances/how-to/use-boot-modes/#how-to-use-cloud-init).

About cloud-init documentation please check this [link](https://cloudinit.readthedocs.io/en/latest/).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		userData := map[string]interface{}{
			"cloud-init": "#cloud-config\napt-update: true\napt-upgrade: true\n",
			"foo":        "bar",
		}
		if param := cfg.GetObject("userData"); param != nil {
			userData = param
		}
		mainServer, err := instance.NewServer(ctx, "mainServer", &instance.ServerArgs{
			Image: pulumi.String("ubuntu_focal"),
			Type:  pulumi.String("DEV1-S"),
		})
		if err != nil {
			return err
		}
		// User data with a single value
		_, err = instance.NewUserData(ctx, "mainUserData", &instance.UserDataArgs{
			ServerId: mainServer.ID(),
			Key:      pulumi.String("foo"),
			Value:    pulumi.String("bar"),
		})
		if err != nil {
			return err
		}
		// User Data with many keys.
		var data []*instance.UserData
		for index := 0; index < userData; index++ {
			key0 := index
			val0 := index
			__res, err := instance.NewUserData(ctx, fmt.Sprintf("data-%v", key0), &instance.UserDataArgs{
				ServerId: mainServer.ID(),
				Key:      pulumi.Any(key0),
				Value:    pulumi.Any(val0),
			})
			if err != nil {
				return err
			}
			data = append(data, __res)
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

User data can be imported using the `{zone}/{key}/{server_id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/userData:UserData main fr-par-1/cloud-init/11111111-1111-1111-1111-111111111111 ```

func GetUserData

func GetUserData(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserDataState, opts ...pulumi.ResourceOption) (*UserData, error)

GetUserData gets an existing UserData resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewUserData

func NewUserData(ctx *pulumi.Context,
	name string, args *UserDataArgs, opts ...pulumi.ResourceOption) (*UserData, error)

NewUserData registers a new resource with the given unique name, arguments, and options.

func (*UserData) ElementType

func (*UserData) ElementType() reflect.Type

func (*UserData) ToUserDataOutput

func (i *UserData) ToUserDataOutput() UserDataOutput

func (*UserData) ToUserDataOutputWithContext

func (i *UserData) ToUserDataOutputWithContext(ctx context.Context) UserDataOutput

type UserDataArgs

type UserDataArgs struct {
	// Key of the user data.
	Key pulumi.StringInput
	// The ID of the server associated with.
	ServerId pulumi.StringInput
	// Value associated with your key
	Value pulumi.StringInput
	// `zone`) The zone in which the server should be created.
	//
	// > **Important:**   Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
	// You can define values using:
	// - string
	// - UTF-8 encoded file content using file
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a UserData resource.

func (UserDataArgs) ElementType

func (UserDataArgs) ElementType() reflect.Type

type UserDataArray

type UserDataArray []UserDataInput

func (UserDataArray) ElementType

func (UserDataArray) ElementType() reflect.Type

func (UserDataArray) ToUserDataArrayOutput

func (i UserDataArray) ToUserDataArrayOutput() UserDataArrayOutput

func (UserDataArray) ToUserDataArrayOutputWithContext

func (i UserDataArray) ToUserDataArrayOutputWithContext(ctx context.Context) UserDataArrayOutput

type UserDataArrayInput

type UserDataArrayInput interface {
	pulumi.Input

	ToUserDataArrayOutput() UserDataArrayOutput
	ToUserDataArrayOutputWithContext(context.Context) UserDataArrayOutput
}

UserDataArrayInput is an input type that accepts UserDataArray and UserDataArrayOutput values. You can construct a concrete instance of `UserDataArrayInput` via:

UserDataArray{ UserDataArgs{...} }

type UserDataArrayOutput

type UserDataArrayOutput struct{ *pulumi.OutputState }

func (UserDataArrayOutput) ElementType

func (UserDataArrayOutput) ElementType() reflect.Type

func (UserDataArrayOutput) Index

func (UserDataArrayOutput) ToUserDataArrayOutput

func (o UserDataArrayOutput) ToUserDataArrayOutput() UserDataArrayOutput

func (UserDataArrayOutput) ToUserDataArrayOutputWithContext

func (o UserDataArrayOutput) ToUserDataArrayOutputWithContext(ctx context.Context) UserDataArrayOutput

type UserDataInput

type UserDataInput interface {
	pulumi.Input

	ToUserDataOutput() UserDataOutput
	ToUserDataOutputWithContext(ctx context.Context) UserDataOutput
}

type UserDataMap

type UserDataMap map[string]UserDataInput

func (UserDataMap) ElementType

func (UserDataMap) ElementType() reflect.Type

func (UserDataMap) ToUserDataMapOutput

func (i UserDataMap) ToUserDataMapOutput() UserDataMapOutput

func (UserDataMap) ToUserDataMapOutputWithContext

func (i UserDataMap) ToUserDataMapOutputWithContext(ctx context.Context) UserDataMapOutput

type UserDataMapInput

type UserDataMapInput interface {
	pulumi.Input

	ToUserDataMapOutput() UserDataMapOutput
	ToUserDataMapOutputWithContext(context.Context) UserDataMapOutput
}

UserDataMapInput is an input type that accepts UserDataMap and UserDataMapOutput values. You can construct a concrete instance of `UserDataMapInput` via:

UserDataMap{ "key": UserDataArgs{...} }

type UserDataMapOutput

type UserDataMapOutput struct{ *pulumi.OutputState }

func (UserDataMapOutput) ElementType

func (UserDataMapOutput) ElementType() reflect.Type

func (UserDataMapOutput) MapIndex

func (UserDataMapOutput) ToUserDataMapOutput

func (o UserDataMapOutput) ToUserDataMapOutput() UserDataMapOutput

func (UserDataMapOutput) ToUserDataMapOutputWithContext

func (o UserDataMapOutput) ToUserDataMapOutputWithContext(ctx context.Context) UserDataMapOutput

type UserDataOutput

type UserDataOutput struct{ *pulumi.OutputState }

func (UserDataOutput) ElementType

func (UserDataOutput) ElementType() reflect.Type

func (UserDataOutput) Key

Key of the user data.

func (UserDataOutput) ServerId

func (o UserDataOutput) ServerId() pulumi.StringOutput

The ID of the server associated with.

func (UserDataOutput) ToUserDataOutput

func (o UserDataOutput) ToUserDataOutput() UserDataOutput

func (UserDataOutput) ToUserDataOutputWithContext

func (o UserDataOutput) ToUserDataOutputWithContext(ctx context.Context) UserDataOutput

func (UserDataOutput) Value

Value associated with your key

func (UserDataOutput) Zone

`zone`) The zone in which the server should be created.

> **Important:** Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance. You can define values using: - string - UTF-8 encoded file content using file

type UserDataState

type UserDataState struct {
	// Key of the user data.
	Key pulumi.StringPtrInput
	// The ID of the server associated with.
	ServerId pulumi.StringPtrInput
	// Value associated with your key
	Value pulumi.StringPtrInput
	// `zone`) The zone in which the server should be created.
	//
	// > **Important:**   Use the `cloud-init` key to use [cloud-init](https://cloudinit.readthedocs.io/en/latest/) on your instance.
	// You can define values using:
	// - string
	// - UTF-8 encoded file content using file
	Zone pulumi.StringPtrInput
}

func (UserDataState) ElementType

func (UserDataState) ElementType() reflect.Type

type Volume

type Volume struct {
	pulumi.CustomResourceState

	// If set, the new volume will be created from this snapshot. Only one of `sizeInGb` and `fromSnapshotId` should be specified.
	FromSnapshotId pulumi.StringPtrOutput `pulumi:"fromSnapshotId"`
	// The name of the volume. If not provided it will be randomly generated.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization ID the volume is associated with.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
	// `projectId`) The ID of the project the volume is associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The id of the associated server.
	ServerId pulumi.StringOutput `pulumi:"serverId"`
	// The size of the volume. Only one of `sizeInGb` and `fromSnapshotId` should be specified.
	SizeInGb pulumi.IntPtrOutput `pulumi:"sizeInGb"`
	// A list of tags to apply to the volume.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// The type of the volume. The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD), `scratch` (Local Scratch SSD).
	Type pulumi.StringOutput `pulumi:"type"`
	// `zone`) The zone in which the volume should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Compute Instance Volumes. For more information, see [the documentation](https://developers.scaleway.com/en/products/instance/api/#volumes-7e8a39).

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/instance"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := instance.NewVolume(ctx, "serverVolume", &instance.VolumeArgs{
			SizeInGb: pulumi.Int(20),
			Type:     pulumi.String("l_ssd"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

volumes can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:instance/volume:Volume server_volume fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetVolume

func GetVolume(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeState, opts ...pulumi.ResourceOption) (*Volume, error)

GetVolume gets an existing Volume resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVolume

func NewVolume(ctx *pulumi.Context,
	name string, args *VolumeArgs, opts ...pulumi.ResourceOption) (*Volume, error)

NewVolume registers a new resource with the given unique name, arguments, and options.

func (*Volume) ElementType

func (*Volume) ElementType() reflect.Type

func (*Volume) ToVolumeOutput

func (i *Volume) ToVolumeOutput() VolumeOutput

func (*Volume) ToVolumeOutputWithContext

func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

type VolumeArgs

type VolumeArgs struct {
	// If set, the new volume will be created from this snapshot. Only one of `sizeInGb` and `fromSnapshotId` should be specified.
	FromSnapshotId pulumi.StringPtrInput
	// The name of the volume. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// `projectId`) The ID of the project the volume is associated with.
	ProjectId pulumi.StringPtrInput
	// The size of the volume. Only one of `sizeInGb` and `fromSnapshotId` should be specified.
	SizeInGb pulumi.IntPtrInput
	// A list of tags to apply to the volume.
	Tags pulumi.StringArrayInput
	// The type of the volume. The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD), `scratch` (Local Scratch SSD).
	Type pulumi.StringInput
	// `zone`) The zone in which the volume should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Volume resource.

func (VolumeArgs) ElementType

func (VolumeArgs) ElementType() reflect.Type

type VolumeArray

type VolumeArray []VolumeInput

func (VolumeArray) ElementType

func (VolumeArray) ElementType() reflect.Type

func (VolumeArray) ToVolumeArrayOutput

func (i VolumeArray) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArray) ToVolumeArrayOutputWithContext

func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeArrayInput

type VolumeArrayInput interface {
	pulumi.Input

	ToVolumeArrayOutput() VolumeArrayOutput
	ToVolumeArrayOutputWithContext(context.Context) VolumeArrayOutput
}

VolumeArrayInput is an input type that accepts VolumeArray and VolumeArrayOutput values. You can construct a concrete instance of `VolumeArrayInput` via:

VolumeArray{ VolumeArgs{...} }

type VolumeArrayOutput

type VolumeArrayOutput struct{ *pulumi.OutputState }

func (VolumeArrayOutput) ElementType

func (VolumeArrayOutput) ElementType() reflect.Type

func (VolumeArrayOutput) Index

func (VolumeArrayOutput) ToVolumeArrayOutput

func (o VolumeArrayOutput) ToVolumeArrayOutput() VolumeArrayOutput

func (VolumeArrayOutput) ToVolumeArrayOutputWithContext

func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeArrayOutput

type VolumeInput

type VolumeInput interface {
	pulumi.Input

	ToVolumeOutput() VolumeOutput
	ToVolumeOutputWithContext(ctx context.Context) VolumeOutput
}

type VolumeMap

type VolumeMap map[string]VolumeInput

func (VolumeMap) ElementType

func (VolumeMap) ElementType() reflect.Type

func (VolumeMap) ToVolumeMapOutput

func (i VolumeMap) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMap) ToVolumeMapOutputWithContext

func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeMapInput

type VolumeMapInput interface {
	pulumi.Input

	ToVolumeMapOutput() VolumeMapOutput
	ToVolumeMapOutputWithContext(context.Context) VolumeMapOutput
}

VolumeMapInput is an input type that accepts VolumeMap and VolumeMapOutput values. You can construct a concrete instance of `VolumeMapInput` via:

VolumeMap{ "key": VolumeArgs{...} }

type VolumeMapOutput

type VolumeMapOutput struct{ *pulumi.OutputState }

func (VolumeMapOutput) ElementType

func (VolumeMapOutput) ElementType() reflect.Type

func (VolumeMapOutput) MapIndex

func (VolumeMapOutput) ToVolumeMapOutput

func (o VolumeMapOutput) ToVolumeMapOutput() VolumeMapOutput

func (VolumeMapOutput) ToVolumeMapOutputWithContext

func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOutput

type VolumeOutput

type VolumeOutput struct{ *pulumi.OutputState }

func (VolumeOutput) ElementType

func (VolumeOutput) ElementType() reflect.Type

func (VolumeOutput) FromSnapshotId

func (o VolumeOutput) FromSnapshotId() pulumi.StringPtrOutput

If set, the new volume will be created from this snapshot. Only one of `sizeInGb` and `fromSnapshotId` should be specified.

func (VolumeOutput) Name

func (o VolumeOutput) Name() pulumi.StringOutput

The name of the volume. If not provided it will be randomly generated.

func (VolumeOutput) OrganizationId

func (o VolumeOutput) OrganizationId() pulumi.StringOutput

The organization ID the volume is associated with.

func (VolumeOutput) ProjectId

func (o VolumeOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the volume is associated with.

func (VolumeOutput) ServerId

func (o VolumeOutput) ServerId() pulumi.StringOutput

The id of the associated server.

func (VolumeOutput) SizeInGb

func (o VolumeOutput) SizeInGb() pulumi.IntPtrOutput

The size of the volume. Only one of `sizeInGb` and `fromSnapshotId` should be specified.

func (VolumeOutput) Tags

A list of tags to apply to the volume.

func (VolumeOutput) ToVolumeOutput

func (o VolumeOutput) ToVolumeOutput() VolumeOutput

func (VolumeOutput) ToVolumeOutputWithContext

func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput

func (VolumeOutput) Type

func (o VolumeOutput) Type() pulumi.StringOutput

The type of the volume. The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD), `scratch` (Local Scratch SSD).

func (VolumeOutput) Zone

func (o VolumeOutput) Zone() pulumi.StringOutput

`zone`) The zone in which the volume should be created.

type VolumeState

type VolumeState struct {
	// If set, the new volume will be created from this snapshot. Only one of `sizeInGb` and `fromSnapshotId` should be specified.
	FromSnapshotId pulumi.StringPtrInput
	// The name of the volume. If not provided it will be randomly generated.
	Name pulumi.StringPtrInput
	// The organization ID the volume is associated with.
	OrganizationId pulumi.StringPtrInput
	// `projectId`) The ID of the project the volume is associated with.
	ProjectId pulumi.StringPtrInput
	// The id of the associated server.
	ServerId pulumi.StringPtrInput
	// The size of the volume. Only one of `sizeInGb` and `fromSnapshotId` should be specified.
	SizeInGb pulumi.IntPtrInput
	// A list of tags to apply to the volume.
	Tags pulumi.StringArrayInput
	// The type of the volume. The possible values are: `bSsd` (Block SSD), `lSsd` (Local SSD), `scratch` (Local Scratch SSD).
	Type pulumi.StringPtrInput
	// `zone`) The zone in which the volume should be created.
	Zone pulumi.StringPtrInput
}

func (VolumeState) ElementType

func (VolumeState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL