ecs

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.2

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

Types

type EipAssociate

type EipAssociate struct {
	pulumi.CustomResourceState

	// Specifies the **shared** bandwidth ID to associate.
	// It's **mandatory** when you want to associate the ECS instance with a specified shared bandwidth.
	// Changing this creates a new resource.
	BandwidthId pulumi.StringPtrOutput `pulumi:"bandwidthId"`
	// Specifies the private IP address to direct traffic to. It's **mandatory**
	// and must be a valid IPv6 address when you want to associate the ECS instance with a specified shared bandwidth.
	// Changing this creates a new resource.
	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// Specifies the ID of ECS instance to associated with.
	// Changing this creates a new resource.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The port ID of the ECS instance that associated with.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// Specifies the EIP address to associate. It's **mandatory**
	// when you want to associate the ECS instance with an EIP. Changing this creates a new resource.
	PublicIp pulumi.StringPtrOutput `pulumi:"publicIp"`
	// Specifies the region in which to create the associated resource.
	// If omitted, the provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
}

* Associates the **IPv4** address of an ECS instance to a specified EIP. * Associates the **IPv6** address of an ECS instance to a specified **Shared** Bandwidth.

## Example Usage

## Import

This resource can be imported using the related `eip address` or `bandwidth_id`, `instance_id` and `fixed_ip`, separated by slashes, e.g.

```sh

$ pulumi import huaweicloud:Ecs/eipAssociate:EipAssociate bind <eip address or bandwidth_id>/<instance_id>/<fixed_ip>

```

func GetEipAssociate

func GetEipAssociate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EipAssociateState, opts ...pulumi.ResourceOption) (*EipAssociate, error)

GetEipAssociate gets an existing EipAssociate 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 NewEipAssociate

func NewEipAssociate(ctx *pulumi.Context,
	name string, args *EipAssociateArgs, opts ...pulumi.ResourceOption) (*EipAssociate, error)

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

func (*EipAssociate) ElementType

func (*EipAssociate) ElementType() reflect.Type

func (*EipAssociate) ToEipAssociateOutput

func (i *EipAssociate) ToEipAssociateOutput() EipAssociateOutput

func (*EipAssociate) ToEipAssociateOutputWithContext

func (i *EipAssociate) ToEipAssociateOutputWithContext(ctx context.Context) EipAssociateOutput

type EipAssociateArgs

type EipAssociateArgs struct {
	// Specifies the **shared** bandwidth ID to associate.
	// It's **mandatory** when you want to associate the ECS instance with a specified shared bandwidth.
	// Changing this creates a new resource.
	BandwidthId pulumi.StringPtrInput
	// Specifies the private IP address to direct traffic to. It's **mandatory**
	// and must be a valid IPv6 address when you want to associate the ECS instance with a specified shared bandwidth.
	// Changing this creates a new resource.
	FixedIp pulumi.StringPtrInput
	// Specifies the ID of ECS instance to associated with.
	// Changing this creates a new resource.
	InstanceId pulumi.StringInput
	// Specifies the EIP address to associate. It's **mandatory**
	// when you want to associate the ECS instance with an EIP. Changing this creates a new resource.
	PublicIp pulumi.StringPtrInput
	// Specifies the region in which to create the associated resource.
	// If omitted, the provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a EipAssociate resource.

func (EipAssociateArgs) ElementType

func (EipAssociateArgs) ElementType() reflect.Type

type EipAssociateArray

type EipAssociateArray []EipAssociateInput

func (EipAssociateArray) ElementType

func (EipAssociateArray) ElementType() reflect.Type

func (EipAssociateArray) ToEipAssociateArrayOutput

func (i EipAssociateArray) ToEipAssociateArrayOutput() EipAssociateArrayOutput

func (EipAssociateArray) ToEipAssociateArrayOutputWithContext

func (i EipAssociateArray) ToEipAssociateArrayOutputWithContext(ctx context.Context) EipAssociateArrayOutput

type EipAssociateArrayInput

type EipAssociateArrayInput interface {
	pulumi.Input

	ToEipAssociateArrayOutput() EipAssociateArrayOutput
	ToEipAssociateArrayOutputWithContext(context.Context) EipAssociateArrayOutput
}

EipAssociateArrayInput is an input type that accepts EipAssociateArray and EipAssociateArrayOutput values. You can construct a concrete instance of `EipAssociateArrayInput` via:

EipAssociateArray{ EipAssociateArgs{...} }

type EipAssociateArrayOutput

type EipAssociateArrayOutput struct{ *pulumi.OutputState }

func (EipAssociateArrayOutput) ElementType

func (EipAssociateArrayOutput) ElementType() reflect.Type

func (EipAssociateArrayOutput) Index

func (EipAssociateArrayOutput) ToEipAssociateArrayOutput

func (o EipAssociateArrayOutput) ToEipAssociateArrayOutput() EipAssociateArrayOutput

func (EipAssociateArrayOutput) ToEipAssociateArrayOutputWithContext

func (o EipAssociateArrayOutput) ToEipAssociateArrayOutputWithContext(ctx context.Context) EipAssociateArrayOutput

type EipAssociateInput

type EipAssociateInput interface {
	pulumi.Input

	ToEipAssociateOutput() EipAssociateOutput
	ToEipAssociateOutputWithContext(ctx context.Context) EipAssociateOutput
}

type EipAssociateMap

type EipAssociateMap map[string]EipAssociateInput

func (EipAssociateMap) ElementType

func (EipAssociateMap) ElementType() reflect.Type

func (EipAssociateMap) ToEipAssociateMapOutput

func (i EipAssociateMap) ToEipAssociateMapOutput() EipAssociateMapOutput

func (EipAssociateMap) ToEipAssociateMapOutputWithContext

func (i EipAssociateMap) ToEipAssociateMapOutputWithContext(ctx context.Context) EipAssociateMapOutput

type EipAssociateMapInput

type EipAssociateMapInput interface {
	pulumi.Input

	ToEipAssociateMapOutput() EipAssociateMapOutput
	ToEipAssociateMapOutputWithContext(context.Context) EipAssociateMapOutput
}

EipAssociateMapInput is an input type that accepts EipAssociateMap and EipAssociateMapOutput values. You can construct a concrete instance of `EipAssociateMapInput` via:

EipAssociateMap{ "key": EipAssociateArgs{...} }

type EipAssociateMapOutput

type EipAssociateMapOutput struct{ *pulumi.OutputState }

func (EipAssociateMapOutput) ElementType

func (EipAssociateMapOutput) ElementType() reflect.Type

func (EipAssociateMapOutput) MapIndex

func (EipAssociateMapOutput) ToEipAssociateMapOutput

func (o EipAssociateMapOutput) ToEipAssociateMapOutput() EipAssociateMapOutput

func (EipAssociateMapOutput) ToEipAssociateMapOutputWithContext

func (o EipAssociateMapOutput) ToEipAssociateMapOutputWithContext(ctx context.Context) EipAssociateMapOutput

type EipAssociateOutput

type EipAssociateOutput struct{ *pulumi.OutputState }

func (EipAssociateOutput) BandwidthId

func (o EipAssociateOutput) BandwidthId() pulumi.StringPtrOutput

Specifies the **shared** bandwidth ID to associate. It's **mandatory** when you want to associate the ECS instance with a specified shared bandwidth. Changing this creates a new resource.

func (EipAssociateOutput) ElementType

func (EipAssociateOutput) ElementType() reflect.Type

func (EipAssociateOutput) FixedIp

Specifies the private IP address to direct traffic to. It's **mandatory** and must be a valid IPv6 address when you want to associate the ECS instance with a specified shared bandwidth. Changing this creates a new resource.

func (EipAssociateOutput) InstanceId

func (o EipAssociateOutput) InstanceId() pulumi.StringOutput

Specifies the ID of ECS instance to associated with. Changing this creates a new resource.

func (EipAssociateOutput) PortId

The port ID of the ECS instance that associated with.

func (EipAssociateOutput) PublicIp

Specifies the EIP address to associate. It's **mandatory** when you want to associate the ECS instance with an EIP. Changing this creates a new resource.

func (EipAssociateOutput) Region

Specifies the region in which to create the associated resource. If omitted, the provider-level region will be used. Changing this creates a new resource.

func (EipAssociateOutput) ToEipAssociateOutput

func (o EipAssociateOutput) ToEipAssociateOutput() EipAssociateOutput

func (EipAssociateOutput) ToEipAssociateOutputWithContext

func (o EipAssociateOutput) ToEipAssociateOutputWithContext(ctx context.Context) EipAssociateOutput

type EipAssociateState

type EipAssociateState struct {
	// Specifies the **shared** bandwidth ID to associate.
	// It's **mandatory** when you want to associate the ECS instance with a specified shared bandwidth.
	// Changing this creates a new resource.
	BandwidthId pulumi.StringPtrInput
	// Specifies the private IP address to direct traffic to. It's **mandatory**
	// and must be a valid IPv6 address when you want to associate the ECS instance with a specified shared bandwidth.
	// Changing this creates a new resource.
	FixedIp pulumi.StringPtrInput
	// Specifies the ID of ECS instance to associated with.
	// Changing this creates a new resource.
	InstanceId pulumi.StringPtrInput
	// The port ID of the ECS instance that associated with.
	PortId pulumi.StringPtrInput
	// Specifies the EIP address to associate. It's **mandatory**
	// when you want to associate the ECS instance with an EIP. Changing this creates a new resource.
	PublicIp pulumi.StringPtrInput
	// Specifies the region in which to create the associated resource.
	// If omitted, the provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
}

func (EipAssociateState) ElementType

func (EipAssociateState) ElementType() reflect.Type

type GetFlavorsArgs

type GetFlavorsArgs struct {
	// Specifies the AZ name.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// Specifies the number of vCPUs in the ECS flavor.
	CpuCoreCount *int `pulumi:"cpuCoreCount"`
	// Specifies the generation of an ECS type. For example, **s3** indicates
	// the general-purpose third-generation ECSs. For details, see
	// [ECS Specifications](https://support.huaweicloud.com/intl/en-us/productdesc-ecs/ecs_01_0014.html).
	Generation *string `pulumi:"generation"`
	// Specifies the memory size(GB) in the ECS flavor.
	MemorySize *int `pulumi:"memorySize"`
	// Specifies the ECS flavor type. Possible values are as follows:
	// + **normal**: General computing
	// + **computingv3**: General computing-plus
	// + **highmem**: Memory-optimized
	// + **saphana**: Large-memory HANA ECS
	// + **diskintensive**: Disk-intensive
	PerformanceType *string `pulumi:"performanceType"`
	// The region in which to obtain the flavors.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getFlavors.

type GetFlavorsOutputArgs

type GetFlavorsOutputArgs struct {
	// Specifies the AZ name.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	// Specifies the number of vCPUs in the ECS flavor.
	CpuCoreCount pulumi.IntPtrInput `pulumi:"cpuCoreCount"`
	// Specifies the generation of an ECS type. For example, **s3** indicates
	// the general-purpose third-generation ECSs. For details, see
	// [ECS Specifications](https://support.huaweicloud.com/intl/en-us/productdesc-ecs/ecs_01_0014.html).
	Generation pulumi.StringPtrInput `pulumi:"generation"`
	// Specifies the memory size(GB) in the ECS flavor.
	MemorySize pulumi.IntPtrInput `pulumi:"memorySize"`
	// Specifies the ECS flavor type. Possible values are as follows:
	// + **normal**: General computing
	// + **computingv3**: General computing-plus
	// + **highmem**: Memory-optimized
	// + **saphana**: Large-memory HANA ECS
	// + **diskintensive**: Disk-intensive
	PerformanceType pulumi.StringPtrInput `pulumi:"performanceType"`
	// The region in which to obtain the flavors.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getFlavors.

func (GetFlavorsOutputArgs) ElementType

func (GetFlavorsOutputArgs) ElementType() reflect.Type

type GetFlavorsResult

type GetFlavorsResult struct {
	AvailabilityZone *string `pulumi:"availabilityZone"`
	CpuCoreCount     *int    `pulumi:"cpuCoreCount"`
	Generation       *string `pulumi:"generation"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of flavor IDs.
	Ids             []string `pulumi:"ids"`
	MemorySize      *int     `pulumi:"memorySize"`
	PerformanceType *string  `pulumi:"performanceType"`
	Region          string   `pulumi:"region"`
}

A collection of values returned by getFlavors.

func GetFlavors

func GetFlavors(ctx *pulumi.Context, args *GetFlavorsArgs, opts ...pulumi.InvokeOption) (*GetFlavorsResult, error)

Use this data source to get the available Compute Flavors.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		flavors, err := Ecs.GetFlavors(ctx, &ecs.GetFlavorsArgs{
			AvailabilityZone: pulumi.StringRef("cn-north-1a"),
			PerformanceType:  pulumi.StringRef("normal"),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.IntRef(4),
		}, nil)
		if err != nil {
			return err
		}
		_, err = Ecs.NewInstance(ctx, "instance", &Ecs.InstanceArgs{
			FlavorId: pulumi.String(flavors.Ids[0]),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetFlavorsResultOutput

type GetFlavorsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFlavors.

func (GetFlavorsResultOutput) AvailabilityZone

func (o GetFlavorsResultOutput) AvailabilityZone() pulumi.StringPtrOutput

func (GetFlavorsResultOutput) CpuCoreCount

func (o GetFlavorsResultOutput) CpuCoreCount() pulumi.IntPtrOutput

func (GetFlavorsResultOutput) ElementType

func (GetFlavorsResultOutput) ElementType() reflect.Type

func (GetFlavorsResultOutput) Generation

func (GetFlavorsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetFlavorsResultOutput) Ids

A list of flavor IDs.

func (GetFlavorsResultOutput) MemorySize

func (GetFlavorsResultOutput) PerformanceType

func (o GetFlavorsResultOutput) PerformanceType() pulumi.StringPtrOutput

func (GetFlavorsResultOutput) Region

func (GetFlavorsResultOutput) ToGetFlavorsResultOutput

func (o GetFlavorsResultOutput) ToGetFlavorsResultOutput() GetFlavorsResultOutput

func (GetFlavorsResultOutput) ToGetFlavorsResultOutputWithContext

func (o GetFlavorsResultOutput) ToGetFlavorsResultOutputWithContext(ctx context.Context) GetFlavorsResultOutput

type GetInstanceNetwork

type GetInstanceNetwork struct {
	// Specifies the IPv4 addresses of the ECS.
	FixedIpV4 string `pulumi:"fixedIpV4"`
	// The Fixed IPv6 address of the instance on that network.
	FixedIpV6 string `pulumi:"fixedIpV6"`
	// The MAC address of the NIC on that network.
	Mac string `pulumi:"mac"`
	// The port ID corresponding to the IP address on that network.
	Port string `pulumi:"port"`
	// The network ID to attach to the server.
	Uuid string `pulumi:"uuid"`
}

type GetInstanceNetworkArgs

type GetInstanceNetworkArgs struct {
	// Specifies the IPv4 addresses of the ECS.
	FixedIpV4 pulumi.StringInput `pulumi:"fixedIpV4"`
	// The Fixed IPv6 address of the instance on that network.
	FixedIpV6 pulumi.StringInput `pulumi:"fixedIpV6"`
	// The MAC address of the NIC on that network.
	Mac pulumi.StringInput `pulumi:"mac"`
	// The port ID corresponding to the IP address on that network.
	Port pulumi.StringInput `pulumi:"port"`
	// The network ID to attach to the server.
	Uuid pulumi.StringInput `pulumi:"uuid"`
}

func (GetInstanceNetworkArgs) ElementType

func (GetInstanceNetworkArgs) ElementType() reflect.Type

func (GetInstanceNetworkArgs) ToGetInstanceNetworkOutput

func (i GetInstanceNetworkArgs) ToGetInstanceNetworkOutput() GetInstanceNetworkOutput

func (GetInstanceNetworkArgs) ToGetInstanceNetworkOutputWithContext

func (i GetInstanceNetworkArgs) ToGetInstanceNetworkOutputWithContext(ctx context.Context) GetInstanceNetworkOutput

type GetInstanceNetworkArray

type GetInstanceNetworkArray []GetInstanceNetworkInput

func (GetInstanceNetworkArray) ElementType

func (GetInstanceNetworkArray) ElementType() reflect.Type

func (GetInstanceNetworkArray) ToGetInstanceNetworkArrayOutput

func (i GetInstanceNetworkArray) ToGetInstanceNetworkArrayOutput() GetInstanceNetworkArrayOutput

func (GetInstanceNetworkArray) ToGetInstanceNetworkArrayOutputWithContext

func (i GetInstanceNetworkArray) ToGetInstanceNetworkArrayOutputWithContext(ctx context.Context) GetInstanceNetworkArrayOutput

type GetInstanceNetworkArrayInput

type GetInstanceNetworkArrayInput interface {
	pulumi.Input

	ToGetInstanceNetworkArrayOutput() GetInstanceNetworkArrayOutput
	ToGetInstanceNetworkArrayOutputWithContext(context.Context) GetInstanceNetworkArrayOutput
}

GetInstanceNetworkArrayInput is an input type that accepts GetInstanceNetworkArray and GetInstanceNetworkArrayOutput values. You can construct a concrete instance of `GetInstanceNetworkArrayInput` via:

GetInstanceNetworkArray{ GetInstanceNetworkArgs{...} }

type GetInstanceNetworkArrayOutput

type GetInstanceNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceNetworkArrayOutput) ElementType

func (GetInstanceNetworkArrayOutput) Index

func (GetInstanceNetworkArrayOutput) ToGetInstanceNetworkArrayOutput

func (o GetInstanceNetworkArrayOutput) ToGetInstanceNetworkArrayOutput() GetInstanceNetworkArrayOutput

func (GetInstanceNetworkArrayOutput) ToGetInstanceNetworkArrayOutputWithContext

func (o GetInstanceNetworkArrayOutput) ToGetInstanceNetworkArrayOutputWithContext(ctx context.Context) GetInstanceNetworkArrayOutput

type GetInstanceNetworkInput

type GetInstanceNetworkInput interface {
	pulumi.Input

	ToGetInstanceNetworkOutput() GetInstanceNetworkOutput
	ToGetInstanceNetworkOutputWithContext(context.Context) GetInstanceNetworkOutput
}

GetInstanceNetworkInput is an input type that accepts GetInstanceNetworkArgs and GetInstanceNetworkOutput values. You can construct a concrete instance of `GetInstanceNetworkInput` via:

GetInstanceNetworkArgs{...}

type GetInstanceNetworkOutput

type GetInstanceNetworkOutput struct{ *pulumi.OutputState }

func (GetInstanceNetworkOutput) ElementType

func (GetInstanceNetworkOutput) ElementType() reflect.Type

func (GetInstanceNetworkOutput) FixedIpV4

Specifies the IPv4 addresses of the ECS.

func (GetInstanceNetworkOutput) FixedIpV6

The Fixed IPv6 address of the instance on that network.

func (GetInstanceNetworkOutput) Mac

The MAC address of the NIC on that network.

func (GetInstanceNetworkOutput) Port

The port ID corresponding to the IP address on that network.

func (GetInstanceNetworkOutput) ToGetInstanceNetworkOutput

func (o GetInstanceNetworkOutput) ToGetInstanceNetworkOutput() GetInstanceNetworkOutput

func (GetInstanceNetworkOutput) ToGetInstanceNetworkOutputWithContext

func (o GetInstanceNetworkOutput) ToGetInstanceNetworkOutputWithContext(ctx context.Context) GetInstanceNetworkOutput

func (GetInstanceNetworkOutput) Uuid

The network ID to attach to the server.

type GetInstanceSchedulerHint

type GetInstanceSchedulerHint struct {
	// The server group ID where the instance will be placed into.
	Group string `pulumi:"group"`
}

type GetInstanceSchedulerHintArgs

type GetInstanceSchedulerHintArgs struct {
	// The server group ID where the instance will be placed into.
	Group pulumi.StringInput `pulumi:"group"`
}

func (GetInstanceSchedulerHintArgs) ElementType

func (GetInstanceSchedulerHintArgs) ToGetInstanceSchedulerHintOutput

func (i GetInstanceSchedulerHintArgs) ToGetInstanceSchedulerHintOutput() GetInstanceSchedulerHintOutput

func (GetInstanceSchedulerHintArgs) ToGetInstanceSchedulerHintOutputWithContext

func (i GetInstanceSchedulerHintArgs) ToGetInstanceSchedulerHintOutputWithContext(ctx context.Context) GetInstanceSchedulerHintOutput

type GetInstanceSchedulerHintArray

type GetInstanceSchedulerHintArray []GetInstanceSchedulerHintInput

func (GetInstanceSchedulerHintArray) ElementType

func (GetInstanceSchedulerHintArray) ToGetInstanceSchedulerHintArrayOutput

func (i GetInstanceSchedulerHintArray) ToGetInstanceSchedulerHintArrayOutput() GetInstanceSchedulerHintArrayOutput

func (GetInstanceSchedulerHintArray) ToGetInstanceSchedulerHintArrayOutputWithContext

func (i GetInstanceSchedulerHintArray) ToGetInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) GetInstanceSchedulerHintArrayOutput

type GetInstanceSchedulerHintArrayInput

type GetInstanceSchedulerHintArrayInput interface {
	pulumi.Input

	ToGetInstanceSchedulerHintArrayOutput() GetInstanceSchedulerHintArrayOutput
	ToGetInstanceSchedulerHintArrayOutputWithContext(context.Context) GetInstanceSchedulerHintArrayOutput
}

GetInstanceSchedulerHintArrayInput is an input type that accepts GetInstanceSchedulerHintArray and GetInstanceSchedulerHintArrayOutput values. You can construct a concrete instance of `GetInstanceSchedulerHintArrayInput` via:

GetInstanceSchedulerHintArray{ GetInstanceSchedulerHintArgs{...} }

type GetInstanceSchedulerHintArrayOutput

type GetInstanceSchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceSchedulerHintArrayOutput) ElementType

func (GetInstanceSchedulerHintArrayOutput) Index

func (GetInstanceSchedulerHintArrayOutput) ToGetInstanceSchedulerHintArrayOutput

func (o GetInstanceSchedulerHintArrayOutput) ToGetInstanceSchedulerHintArrayOutput() GetInstanceSchedulerHintArrayOutput

func (GetInstanceSchedulerHintArrayOutput) ToGetInstanceSchedulerHintArrayOutputWithContext

func (o GetInstanceSchedulerHintArrayOutput) ToGetInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) GetInstanceSchedulerHintArrayOutput

type GetInstanceSchedulerHintInput

type GetInstanceSchedulerHintInput interface {
	pulumi.Input

	ToGetInstanceSchedulerHintOutput() GetInstanceSchedulerHintOutput
	ToGetInstanceSchedulerHintOutputWithContext(context.Context) GetInstanceSchedulerHintOutput
}

GetInstanceSchedulerHintInput is an input type that accepts GetInstanceSchedulerHintArgs and GetInstanceSchedulerHintOutput values. You can construct a concrete instance of `GetInstanceSchedulerHintInput` via:

GetInstanceSchedulerHintArgs{...}

type GetInstanceSchedulerHintOutput

type GetInstanceSchedulerHintOutput struct{ *pulumi.OutputState }

func (GetInstanceSchedulerHintOutput) ElementType

func (GetInstanceSchedulerHintOutput) Group

The server group ID where the instance will be placed into.

func (GetInstanceSchedulerHintOutput) ToGetInstanceSchedulerHintOutput

func (o GetInstanceSchedulerHintOutput) ToGetInstanceSchedulerHintOutput() GetInstanceSchedulerHintOutput

func (GetInstanceSchedulerHintOutput) ToGetInstanceSchedulerHintOutputWithContext

func (o GetInstanceSchedulerHintOutput) ToGetInstanceSchedulerHintOutputWithContext(ctx context.Context) GetInstanceSchedulerHintOutput

type GetInstanceVolumeAttached

type GetInstanceVolumeAttached struct {
	// The volume boot index on that attachment.
	BootIndex int `pulumi:"bootIndex"`
	// Whether the volume is the system disk.
	IsSysVolume bool `pulumi:"isSysVolume"`
	// The volume pci address on that attachment.
	PciAddress string `pulumi:"pciAddress"`
	// The volume size on that attachment.
	Size int `pulumi:"size"`
	// The volume type on that attachment.
	Type string `pulumi:"type"`
	// The volume ID on that attachment.
	VolumeId string `pulumi:"volumeId"`
}

type GetInstanceVolumeAttachedArgs

type GetInstanceVolumeAttachedArgs struct {
	// The volume boot index on that attachment.
	BootIndex pulumi.IntInput `pulumi:"bootIndex"`
	// Whether the volume is the system disk.
	IsSysVolume pulumi.BoolInput `pulumi:"isSysVolume"`
	// The volume pci address on that attachment.
	PciAddress pulumi.StringInput `pulumi:"pciAddress"`
	// The volume size on that attachment.
	Size pulumi.IntInput `pulumi:"size"`
	// The volume type on that attachment.
	Type pulumi.StringInput `pulumi:"type"`
	// The volume ID on that attachment.
	VolumeId pulumi.StringInput `pulumi:"volumeId"`
}

func (GetInstanceVolumeAttachedArgs) ElementType

func (GetInstanceVolumeAttachedArgs) ToGetInstanceVolumeAttachedOutput

func (i GetInstanceVolumeAttachedArgs) ToGetInstanceVolumeAttachedOutput() GetInstanceVolumeAttachedOutput

func (GetInstanceVolumeAttachedArgs) ToGetInstanceVolumeAttachedOutputWithContext

func (i GetInstanceVolumeAttachedArgs) ToGetInstanceVolumeAttachedOutputWithContext(ctx context.Context) GetInstanceVolumeAttachedOutput

type GetInstanceVolumeAttachedArray

type GetInstanceVolumeAttachedArray []GetInstanceVolumeAttachedInput

func (GetInstanceVolumeAttachedArray) ElementType

func (GetInstanceVolumeAttachedArray) ToGetInstanceVolumeAttachedArrayOutput

func (i GetInstanceVolumeAttachedArray) ToGetInstanceVolumeAttachedArrayOutput() GetInstanceVolumeAttachedArrayOutput

func (GetInstanceVolumeAttachedArray) ToGetInstanceVolumeAttachedArrayOutputWithContext

func (i GetInstanceVolumeAttachedArray) ToGetInstanceVolumeAttachedArrayOutputWithContext(ctx context.Context) GetInstanceVolumeAttachedArrayOutput

type GetInstanceVolumeAttachedArrayInput

type GetInstanceVolumeAttachedArrayInput interface {
	pulumi.Input

	ToGetInstanceVolumeAttachedArrayOutput() GetInstanceVolumeAttachedArrayOutput
	ToGetInstanceVolumeAttachedArrayOutputWithContext(context.Context) GetInstanceVolumeAttachedArrayOutput
}

GetInstanceVolumeAttachedArrayInput is an input type that accepts GetInstanceVolumeAttachedArray and GetInstanceVolumeAttachedArrayOutput values. You can construct a concrete instance of `GetInstanceVolumeAttachedArrayInput` via:

GetInstanceVolumeAttachedArray{ GetInstanceVolumeAttachedArgs{...} }

type GetInstanceVolumeAttachedArrayOutput

type GetInstanceVolumeAttachedArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceVolumeAttachedArrayOutput) ElementType

func (GetInstanceVolumeAttachedArrayOutput) Index

func (GetInstanceVolumeAttachedArrayOutput) ToGetInstanceVolumeAttachedArrayOutput

func (o GetInstanceVolumeAttachedArrayOutput) ToGetInstanceVolumeAttachedArrayOutput() GetInstanceVolumeAttachedArrayOutput

func (GetInstanceVolumeAttachedArrayOutput) ToGetInstanceVolumeAttachedArrayOutputWithContext

func (o GetInstanceVolumeAttachedArrayOutput) ToGetInstanceVolumeAttachedArrayOutputWithContext(ctx context.Context) GetInstanceVolumeAttachedArrayOutput

type GetInstanceVolumeAttachedInput

type GetInstanceVolumeAttachedInput interface {
	pulumi.Input

	ToGetInstanceVolumeAttachedOutput() GetInstanceVolumeAttachedOutput
	ToGetInstanceVolumeAttachedOutputWithContext(context.Context) GetInstanceVolumeAttachedOutput
}

GetInstanceVolumeAttachedInput is an input type that accepts GetInstanceVolumeAttachedArgs and GetInstanceVolumeAttachedOutput values. You can construct a concrete instance of `GetInstanceVolumeAttachedInput` via:

GetInstanceVolumeAttachedArgs{...}

type GetInstanceVolumeAttachedOutput

type GetInstanceVolumeAttachedOutput struct{ *pulumi.OutputState }

func (GetInstanceVolumeAttachedOutput) BootIndex

The volume boot index on that attachment.

func (GetInstanceVolumeAttachedOutput) ElementType

func (GetInstanceVolumeAttachedOutput) IsSysVolume added in v0.0.8

Whether the volume is the system disk.

func (GetInstanceVolumeAttachedOutput) PciAddress

The volume pci address on that attachment.

func (GetInstanceVolumeAttachedOutput) Size

The volume size on that attachment.

func (GetInstanceVolumeAttachedOutput) ToGetInstanceVolumeAttachedOutput

func (o GetInstanceVolumeAttachedOutput) ToGetInstanceVolumeAttachedOutput() GetInstanceVolumeAttachedOutput

func (GetInstanceVolumeAttachedOutput) ToGetInstanceVolumeAttachedOutputWithContext

func (o GetInstanceVolumeAttachedOutput) ToGetInstanceVolumeAttachedOutputWithContext(ctx context.Context) GetInstanceVolumeAttachedOutput

func (GetInstanceVolumeAttachedOutput) Type

The volume type on that attachment.

func (GetInstanceVolumeAttachedOutput) VolumeId

The volume ID on that attachment.

type GetInstancesArgs

type GetInstancesArgs struct {
	// Specifies the availability zone where the instance is located.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint?ECS) for this argument.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// Specifies the enterprise project ID.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the flavor ID.
	FlavorId *string `pulumi:"flavorId"`
	// Specifies the flavor name of the instance.
	FlavorName *string `pulumi:"flavorName"`
	// Specifies the image ID of the instance.
	ImageId *string `pulumi:"imageId"`
	// Specifies the ECS ID.
	InstanceId *string `pulumi:"instanceId"`
	// Specifies the key pair that is used to authenticate the instance.
	KeyPair *string `pulumi:"keyPair"`
	// Specifies the instance name, which can be queried with a regular expression.
	// The instance name supports fuzzy matching query too.
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the instances.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
	// Specifies the status of the instance. The valid values are as follows:
	// + **ACTIVE**: The instance is running properly.
	// + **SHUTOFF**: The instance has been properly stopped.
	// + **ERROR**: An error has occurred on the instance.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// Specifies the availability zone where the instance is located.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint?ECS) for this argument.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Specifies the enterprise project ID.
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	// Specifies the flavor ID.
	FlavorId string `pulumi:"flavorId"`
	// Specifies the flavor name of the instance.
	FlavorName string `pulumi:"flavorName"`
	// The instance ID in UUID format.
	Id string `pulumi:"id"`
	// Specifies the image ID of the instance.
	ImageId string `pulumi:"imageId"`
	// The image name of the instance.
	ImageName string `pulumi:"imageName"`
	// Specifies the key pair that is used to authenticate the instance.
	KeyPair string `pulumi:"keyPair"`
	// Specifies the instance name, which can be queried with a regular expression.
	// The instance name supports fuzzy matching query too.
	Name string `pulumi:"name"`
	// An array of one or more networks to attach to the instance.
	// The network object structure is documented below.
	Networks []GetInstancesInstanceNetwork `pulumi:"networks"`
	// The EIP address that is associted to the instance.
	PublicIp string `pulumi:"publicIp"`
	// The scheduler with hints on how the instance should be launched.
	// The scheduler hints structure is documented below.
	SchedulerHints []GetInstancesInstanceSchedulerHint `pulumi:"schedulerHints"`
	// An array of one or more security group IDs to associate with the instance.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// Specifies the status of the instance. The valid values are as follows:
	// + **ACTIVE**: The instance is running properly.
	// + **SHUTOFF**: The instance has been properly stopped.
	// + **ERROR**: An error has occurred on the instance.
	Status string `pulumi:"status"`
	// The system disk voume ID.
	SystemDiskId string `pulumi:"systemDiskId"`
	// The key/value pairs to associate with the instance.
	Tags map[string]string `pulumi:"tags"`
	// The user data (information after encoding) configured during instance creation.
	UserData string `pulumi:"userData"`
	// An array of one or more disks to attach to the instance.
	// The volume attached object structure is documented below.
	VolumeAttacheds []GetInstancesInstanceVolumeAttached `pulumi:"volumeAttacheds"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// Specifies the availability zone where the instance is located.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint?ECS) for this argument.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	// Specifies the enterprise project ID.
	EnterpriseProjectId pulumi.StringInput `pulumi:"enterpriseProjectId"`
	// Specifies the flavor ID.
	FlavorId pulumi.StringInput `pulumi:"flavorId"`
	// Specifies the flavor name of the instance.
	FlavorName pulumi.StringInput `pulumi:"flavorName"`
	// The instance ID in UUID format.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the image ID of the instance.
	ImageId pulumi.StringInput `pulumi:"imageId"`
	// The image name of the instance.
	ImageName pulumi.StringInput `pulumi:"imageName"`
	// Specifies the key pair that is used to authenticate the instance.
	KeyPair pulumi.StringInput `pulumi:"keyPair"`
	// Specifies the instance name, which can be queried with a regular expression.
	// The instance name supports fuzzy matching query too.
	Name pulumi.StringInput `pulumi:"name"`
	// An array of one or more networks to attach to the instance.
	// The network object structure is documented below.
	Networks GetInstancesInstanceNetworkArrayInput `pulumi:"networks"`
	// The EIP address that is associted to the instance.
	PublicIp pulumi.StringInput `pulumi:"publicIp"`
	// The scheduler with hints on how the instance should be launched.
	// The scheduler hints structure is documented below.
	SchedulerHints GetInstancesInstanceSchedulerHintArrayInput `pulumi:"schedulerHints"`
	// An array of one or more security group IDs to associate with the instance.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// Specifies the status of the instance. The valid values are as follows:
	// + **ACTIVE**: The instance is running properly.
	// + **SHUTOFF**: The instance has been properly stopped.
	// + **ERROR**: An error has occurred on the instance.
	Status pulumi.StringInput `pulumi:"status"`
	// The system disk voume ID.
	SystemDiskId pulumi.StringInput `pulumi:"systemDiskId"`
	// The key/value pairs to associate with the instance.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// The user data (information after encoding) configured during instance creation.
	UserData pulumi.StringInput `pulumi:"userData"`
	// An array of one or more disks to attach to the instance.
	// The volume attached object structure is documented below.
	VolumeAttacheds GetInstancesInstanceVolumeAttachedArrayInput `pulumi:"volumeAttacheds"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput
	ToGetInstancesInstanceArrayOutputWithContext(context.Context) GetInstancesInstanceArrayOutput
}

GetInstancesInstanceArrayInput is an input type that accepts GetInstancesInstanceArray and GetInstancesInstanceArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceArrayInput` via:

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext(ctx context.Context) GetInstancesInstanceArrayOutput

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

	ToGetInstancesInstanceOutput() GetInstancesInstanceOutput
	ToGetInstancesInstanceOutputWithContext(context.Context) GetInstancesInstanceOutput
}

GetInstancesInstanceInput is an input type that accepts GetInstancesInstanceArgs and GetInstancesInstanceOutput values. You can construct a concrete instance of `GetInstancesInstanceInput` via:

GetInstancesInstanceArgs{...}

type GetInstancesInstanceNetwork added in v0.0.8

type GetInstancesInstanceNetwork struct {
	// The fixed IPv4 address of the instance on this network.
	FixedIpV4 string `pulumi:"fixedIpV4"`
	// The Fixed IPv6 address of the instance on that network.
	FixedIpV6 string `pulumi:"fixedIpV6"`
	// The MAC address of the NIC on that network.
	Mac string `pulumi:"mac"`
	// The port ID corresponding to the IP address on that network.
	Port string `pulumi:"port"`
	// The network ID to attach to the server.
	Uuid string `pulumi:"uuid"`
}

type GetInstancesInstanceNetworkArgs added in v0.0.8

type GetInstancesInstanceNetworkArgs struct {
	// The fixed IPv4 address of the instance on this network.
	FixedIpV4 pulumi.StringInput `pulumi:"fixedIpV4"`
	// The Fixed IPv6 address of the instance on that network.
	FixedIpV6 pulumi.StringInput `pulumi:"fixedIpV6"`
	// The MAC address of the NIC on that network.
	Mac pulumi.StringInput `pulumi:"mac"`
	// The port ID corresponding to the IP address on that network.
	Port pulumi.StringInput `pulumi:"port"`
	// The network ID to attach to the server.
	Uuid pulumi.StringInput `pulumi:"uuid"`
}

func (GetInstancesInstanceNetworkArgs) ElementType added in v0.0.8

func (GetInstancesInstanceNetworkArgs) ToGetInstancesInstanceNetworkOutput added in v0.0.8

func (i GetInstancesInstanceNetworkArgs) ToGetInstancesInstanceNetworkOutput() GetInstancesInstanceNetworkOutput

func (GetInstancesInstanceNetworkArgs) ToGetInstancesInstanceNetworkOutputWithContext added in v0.0.8

func (i GetInstancesInstanceNetworkArgs) ToGetInstancesInstanceNetworkOutputWithContext(ctx context.Context) GetInstancesInstanceNetworkOutput

type GetInstancesInstanceNetworkArray added in v0.0.8

type GetInstancesInstanceNetworkArray []GetInstancesInstanceNetworkInput

func (GetInstancesInstanceNetworkArray) ElementType added in v0.0.8

func (GetInstancesInstanceNetworkArray) ToGetInstancesInstanceNetworkArrayOutput added in v0.0.8

func (i GetInstancesInstanceNetworkArray) ToGetInstancesInstanceNetworkArrayOutput() GetInstancesInstanceNetworkArrayOutput

func (GetInstancesInstanceNetworkArray) ToGetInstancesInstanceNetworkArrayOutputWithContext added in v0.0.8

func (i GetInstancesInstanceNetworkArray) ToGetInstancesInstanceNetworkArrayOutputWithContext(ctx context.Context) GetInstancesInstanceNetworkArrayOutput

type GetInstancesInstanceNetworkArrayInput added in v0.0.8

type GetInstancesInstanceNetworkArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceNetworkArrayOutput() GetInstancesInstanceNetworkArrayOutput
	ToGetInstancesInstanceNetworkArrayOutputWithContext(context.Context) GetInstancesInstanceNetworkArrayOutput
}

GetInstancesInstanceNetworkArrayInput is an input type that accepts GetInstancesInstanceNetworkArray and GetInstancesInstanceNetworkArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceNetworkArrayInput` via:

GetInstancesInstanceNetworkArray{ GetInstancesInstanceNetworkArgs{...} }

type GetInstancesInstanceNetworkArrayOutput added in v0.0.8

type GetInstancesInstanceNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceNetworkArrayOutput) ElementType added in v0.0.8

func (GetInstancesInstanceNetworkArrayOutput) Index added in v0.0.8

func (GetInstancesInstanceNetworkArrayOutput) ToGetInstancesInstanceNetworkArrayOutput added in v0.0.8

func (o GetInstancesInstanceNetworkArrayOutput) ToGetInstancesInstanceNetworkArrayOutput() GetInstancesInstanceNetworkArrayOutput

func (GetInstancesInstanceNetworkArrayOutput) ToGetInstancesInstanceNetworkArrayOutputWithContext added in v0.0.8

func (o GetInstancesInstanceNetworkArrayOutput) ToGetInstancesInstanceNetworkArrayOutputWithContext(ctx context.Context) GetInstancesInstanceNetworkArrayOutput

type GetInstancesInstanceNetworkInput added in v0.0.8

type GetInstancesInstanceNetworkInput interface {
	pulumi.Input

	ToGetInstancesInstanceNetworkOutput() GetInstancesInstanceNetworkOutput
	ToGetInstancesInstanceNetworkOutputWithContext(context.Context) GetInstancesInstanceNetworkOutput
}

GetInstancesInstanceNetworkInput is an input type that accepts GetInstancesInstanceNetworkArgs and GetInstancesInstanceNetworkOutput values. You can construct a concrete instance of `GetInstancesInstanceNetworkInput` via:

GetInstancesInstanceNetworkArgs{...}

type GetInstancesInstanceNetworkOutput added in v0.0.8

type GetInstancesInstanceNetworkOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceNetworkOutput) ElementType added in v0.0.8

func (GetInstancesInstanceNetworkOutput) FixedIpV4 added in v0.0.8

The fixed IPv4 address of the instance on this network.

func (GetInstancesInstanceNetworkOutput) FixedIpV6 added in v0.0.8

The Fixed IPv6 address of the instance on that network.

func (GetInstancesInstanceNetworkOutput) Mac added in v0.0.8

The MAC address of the NIC on that network.

func (GetInstancesInstanceNetworkOutput) Port added in v0.0.8

The port ID corresponding to the IP address on that network.

func (GetInstancesInstanceNetworkOutput) ToGetInstancesInstanceNetworkOutput added in v0.0.8

func (o GetInstancesInstanceNetworkOutput) ToGetInstancesInstanceNetworkOutput() GetInstancesInstanceNetworkOutput

func (GetInstancesInstanceNetworkOutput) ToGetInstancesInstanceNetworkOutputWithContext added in v0.0.8

func (o GetInstancesInstanceNetworkOutput) ToGetInstancesInstanceNetworkOutputWithContext(ctx context.Context) GetInstancesInstanceNetworkOutput

func (GetInstancesInstanceNetworkOutput) Uuid added in v0.0.8

The network ID to attach to the server.

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) AvailabilityZone

func (o GetInstancesInstanceOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone where the instance is located. Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint?ECS) for this argument.

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) EnterpriseProjectId

func (o GetInstancesInstanceOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project ID.

func (GetInstancesInstanceOutput) FlavorId

Specifies the flavor ID.

func (GetInstancesInstanceOutput) FlavorName

Specifies the flavor name of the instance.

func (GetInstancesInstanceOutput) Id

The instance ID in UUID format.

func (GetInstancesInstanceOutput) ImageId

Specifies the image ID of the instance.

func (GetInstancesInstanceOutput) ImageName added in v0.0.8

The image name of the instance.

func (GetInstancesInstanceOutput) KeyPair

Specifies the key pair that is used to authenticate the instance.

func (GetInstancesInstanceOutput) Name

Specifies the instance name, which can be queried with a regular expression. The instance name supports fuzzy matching query too.

func (GetInstancesInstanceOutput) Networks added in v0.0.8

An array of one or more networks to attach to the instance. The network object structure is documented below.

func (GetInstancesInstanceOutput) PublicIp added in v0.0.8

The EIP address that is associted to the instance.

func (GetInstancesInstanceOutput) SchedulerHints

The scheduler with hints on how the instance should be launched. The scheduler hints structure is documented below.

func (GetInstancesInstanceOutput) SecurityGroupIds

An array of one or more security group IDs to associate with the instance.

func (GetInstancesInstanceOutput) Status

Specifies the status of the instance. The valid values are as follows: + **ACTIVE**: The instance is running properly. + **SHUTOFF**: The instance has been properly stopped. + **ERROR**: An error has occurred on the instance.

func (GetInstancesInstanceOutput) SystemDiskId added in v0.0.8

The system disk voume ID.

func (GetInstancesInstanceOutput) Tags

The key/value pairs to associate with the instance.

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext(ctx context.Context) GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) UserData

The user data (information after encoding) configured during instance creation.

func (GetInstancesInstanceOutput) VolumeAttacheds

An array of one or more disks to attach to the instance. The volume attached object structure is documented below.

type GetInstancesInstanceSchedulerHint

type GetInstancesInstanceSchedulerHint struct {
	// The server group ID where the instance will be placed into.
	Group string `pulumi:"group"`
}

type GetInstancesInstanceSchedulerHintArgs

type GetInstancesInstanceSchedulerHintArgs struct {
	// The server group ID where the instance will be placed into.
	Group pulumi.StringInput `pulumi:"group"`
}

func (GetInstancesInstanceSchedulerHintArgs) ElementType

func (GetInstancesInstanceSchedulerHintArgs) ToGetInstancesInstanceSchedulerHintOutput

func (i GetInstancesInstanceSchedulerHintArgs) ToGetInstancesInstanceSchedulerHintOutput() GetInstancesInstanceSchedulerHintOutput

func (GetInstancesInstanceSchedulerHintArgs) ToGetInstancesInstanceSchedulerHintOutputWithContext

func (i GetInstancesInstanceSchedulerHintArgs) ToGetInstancesInstanceSchedulerHintOutputWithContext(ctx context.Context) GetInstancesInstanceSchedulerHintOutput

type GetInstancesInstanceSchedulerHintArray

type GetInstancesInstanceSchedulerHintArray []GetInstancesInstanceSchedulerHintInput

func (GetInstancesInstanceSchedulerHintArray) ElementType

func (GetInstancesInstanceSchedulerHintArray) ToGetInstancesInstanceSchedulerHintArrayOutput

func (i GetInstancesInstanceSchedulerHintArray) ToGetInstancesInstanceSchedulerHintArrayOutput() GetInstancesInstanceSchedulerHintArrayOutput

func (GetInstancesInstanceSchedulerHintArray) ToGetInstancesInstanceSchedulerHintArrayOutputWithContext

func (i GetInstancesInstanceSchedulerHintArray) ToGetInstancesInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) GetInstancesInstanceSchedulerHintArrayOutput

type GetInstancesInstanceSchedulerHintArrayInput

type GetInstancesInstanceSchedulerHintArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceSchedulerHintArrayOutput() GetInstancesInstanceSchedulerHintArrayOutput
	ToGetInstancesInstanceSchedulerHintArrayOutputWithContext(context.Context) GetInstancesInstanceSchedulerHintArrayOutput
}

GetInstancesInstanceSchedulerHintArrayInput is an input type that accepts GetInstancesInstanceSchedulerHintArray and GetInstancesInstanceSchedulerHintArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceSchedulerHintArrayInput` via:

GetInstancesInstanceSchedulerHintArray{ GetInstancesInstanceSchedulerHintArgs{...} }

type GetInstancesInstanceSchedulerHintArrayOutput

type GetInstancesInstanceSchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceSchedulerHintArrayOutput) ElementType

func (GetInstancesInstanceSchedulerHintArrayOutput) Index

func (GetInstancesInstanceSchedulerHintArrayOutput) ToGetInstancesInstanceSchedulerHintArrayOutput

func (o GetInstancesInstanceSchedulerHintArrayOutput) ToGetInstancesInstanceSchedulerHintArrayOutput() GetInstancesInstanceSchedulerHintArrayOutput

func (GetInstancesInstanceSchedulerHintArrayOutput) ToGetInstancesInstanceSchedulerHintArrayOutputWithContext

func (o GetInstancesInstanceSchedulerHintArrayOutput) ToGetInstancesInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) GetInstancesInstanceSchedulerHintArrayOutput

type GetInstancesInstanceSchedulerHintInput

type GetInstancesInstanceSchedulerHintInput interface {
	pulumi.Input

	ToGetInstancesInstanceSchedulerHintOutput() GetInstancesInstanceSchedulerHintOutput
	ToGetInstancesInstanceSchedulerHintOutputWithContext(context.Context) GetInstancesInstanceSchedulerHintOutput
}

GetInstancesInstanceSchedulerHintInput is an input type that accepts GetInstancesInstanceSchedulerHintArgs and GetInstancesInstanceSchedulerHintOutput values. You can construct a concrete instance of `GetInstancesInstanceSchedulerHintInput` via:

GetInstancesInstanceSchedulerHintArgs{...}

type GetInstancesInstanceSchedulerHintOutput

type GetInstancesInstanceSchedulerHintOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceSchedulerHintOutput) ElementType

func (GetInstancesInstanceSchedulerHintOutput) Group

The server group ID where the instance will be placed into.

func (GetInstancesInstanceSchedulerHintOutput) ToGetInstancesInstanceSchedulerHintOutput

func (o GetInstancesInstanceSchedulerHintOutput) ToGetInstancesInstanceSchedulerHintOutput() GetInstancesInstanceSchedulerHintOutput

func (GetInstancesInstanceSchedulerHintOutput) ToGetInstancesInstanceSchedulerHintOutputWithContext

func (o GetInstancesInstanceSchedulerHintOutput) ToGetInstancesInstanceSchedulerHintOutputWithContext(ctx context.Context) GetInstancesInstanceSchedulerHintOutput

type GetInstancesInstanceVolumeAttached

type GetInstancesInstanceVolumeAttached struct {
	// The volume boot index on that attachment.
	BootIndex int `pulumi:"bootIndex"`
	// Whether the volume is the system disk.
	IsSysVolume bool `pulumi:"isSysVolume"`
	// The volume pci address on that attachment.
	PciAddress string `pulumi:"pciAddress"`
	// The volume size on that attachment.
	Size int `pulumi:"size"`
	// The volume type on that attachment.
	Type string `pulumi:"type"`
	// The volume ID on that attachment.
	VolumeId string `pulumi:"volumeId"`
}

type GetInstancesInstanceVolumeAttachedArgs

type GetInstancesInstanceVolumeAttachedArgs struct {
	// The volume boot index on that attachment.
	BootIndex pulumi.IntInput `pulumi:"bootIndex"`
	// Whether the volume is the system disk.
	IsSysVolume pulumi.BoolInput `pulumi:"isSysVolume"`
	// The volume pci address on that attachment.
	PciAddress pulumi.StringInput `pulumi:"pciAddress"`
	// The volume size on that attachment.
	Size pulumi.IntInput `pulumi:"size"`
	// The volume type on that attachment.
	Type pulumi.StringInput `pulumi:"type"`
	// The volume ID on that attachment.
	VolumeId pulumi.StringInput `pulumi:"volumeId"`
}

func (GetInstancesInstanceVolumeAttachedArgs) ElementType

func (GetInstancesInstanceVolumeAttachedArgs) ToGetInstancesInstanceVolumeAttachedOutput

func (i GetInstancesInstanceVolumeAttachedArgs) ToGetInstancesInstanceVolumeAttachedOutput() GetInstancesInstanceVolumeAttachedOutput

func (GetInstancesInstanceVolumeAttachedArgs) ToGetInstancesInstanceVolumeAttachedOutputWithContext

func (i GetInstancesInstanceVolumeAttachedArgs) ToGetInstancesInstanceVolumeAttachedOutputWithContext(ctx context.Context) GetInstancesInstanceVolumeAttachedOutput

type GetInstancesInstanceVolumeAttachedArray

type GetInstancesInstanceVolumeAttachedArray []GetInstancesInstanceVolumeAttachedInput

func (GetInstancesInstanceVolumeAttachedArray) ElementType

func (GetInstancesInstanceVolumeAttachedArray) ToGetInstancesInstanceVolumeAttachedArrayOutput

func (i GetInstancesInstanceVolumeAttachedArray) ToGetInstancesInstanceVolumeAttachedArrayOutput() GetInstancesInstanceVolumeAttachedArrayOutput

func (GetInstancesInstanceVolumeAttachedArray) ToGetInstancesInstanceVolumeAttachedArrayOutputWithContext

func (i GetInstancesInstanceVolumeAttachedArray) ToGetInstancesInstanceVolumeAttachedArrayOutputWithContext(ctx context.Context) GetInstancesInstanceVolumeAttachedArrayOutput

type GetInstancesInstanceVolumeAttachedArrayInput

type GetInstancesInstanceVolumeAttachedArrayInput interface {
	pulumi.Input

	ToGetInstancesInstanceVolumeAttachedArrayOutput() GetInstancesInstanceVolumeAttachedArrayOutput
	ToGetInstancesInstanceVolumeAttachedArrayOutputWithContext(context.Context) GetInstancesInstanceVolumeAttachedArrayOutput
}

GetInstancesInstanceVolumeAttachedArrayInput is an input type that accepts GetInstancesInstanceVolumeAttachedArray and GetInstancesInstanceVolumeAttachedArrayOutput values. You can construct a concrete instance of `GetInstancesInstanceVolumeAttachedArrayInput` via:

GetInstancesInstanceVolumeAttachedArray{ GetInstancesInstanceVolumeAttachedArgs{...} }

type GetInstancesInstanceVolumeAttachedArrayOutput

type GetInstancesInstanceVolumeAttachedArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceVolumeAttachedArrayOutput) ElementType

func (GetInstancesInstanceVolumeAttachedArrayOutput) Index

func (GetInstancesInstanceVolumeAttachedArrayOutput) ToGetInstancesInstanceVolumeAttachedArrayOutput

func (o GetInstancesInstanceVolumeAttachedArrayOutput) ToGetInstancesInstanceVolumeAttachedArrayOutput() GetInstancesInstanceVolumeAttachedArrayOutput

func (GetInstancesInstanceVolumeAttachedArrayOutput) ToGetInstancesInstanceVolumeAttachedArrayOutputWithContext

func (o GetInstancesInstanceVolumeAttachedArrayOutput) ToGetInstancesInstanceVolumeAttachedArrayOutputWithContext(ctx context.Context) GetInstancesInstanceVolumeAttachedArrayOutput

type GetInstancesInstanceVolumeAttachedInput

type GetInstancesInstanceVolumeAttachedInput interface {
	pulumi.Input

	ToGetInstancesInstanceVolumeAttachedOutput() GetInstancesInstanceVolumeAttachedOutput
	ToGetInstancesInstanceVolumeAttachedOutputWithContext(context.Context) GetInstancesInstanceVolumeAttachedOutput
}

GetInstancesInstanceVolumeAttachedInput is an input type that accepts GetInstancesInstanceVolumeAttachedArgs and GetInstancesInstanceVolumeAttachedOutput values. You can construct a concrete instance of `GetInstancesInstanceVolumeAttachedInput` via:

GetInstancesInstanceVolumeAttachedArgs{...}

type GetInstancesInstanceVolumeAttachedOutput

type GetInstancesInstanceVolumeAttachedOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceVolumeAttachedOutput) BootIndex added in v0.0.8

The volume boot index on that attachment.

func (GetInstancesInstanceVolumeAttachedOutput) ElementType

func (GetInstancesInstanceVolumeAttachedOutput) IsSysVolume

Whether the volume is the system disk.

func (GetInstancesInstanceVolumeAttachedOutput) PciAddress added in v0.0.8

The volume pci address on that attachment.

func (GetInstancesInstanceVolumeAttachedOutput) Size added in v0.0.8

The volume size on that attachment.

func (GetInstancesInstanceVolumeAttachedOutput) ToGetInstancesInstanceVolumeAttachedOutput

func (o GetInstancesInstanceVolumeAttachedOutput) ToGetInstancesInstanceVolumeAttachedOutput() GetInstancesInstanceVolumeAttachedOutput

func (GetInstancesInstanceVolumeAttachedOutput) ToGetInstancesInstanceVolumeAttachedOutputWithContext

func (o GetInstancesInstanceVolumeAttachedOutput) ToGetInstancesInstanceVolumeAttachedOutputWithContext(ctx context.Context) GetInstancesInstanceVolumeAttachedOutput

func (GetInstancesInstanceVolumeAttachedOutput) Type added in v0.0.8

The volume type on that attachment.

func (GetInstancesInstanceVolumeAttachedOutput) VolumeId

The volume ID on that attachment.

type GetInstancesOutputArgs

type GetInstancesOutputArgs struct {
	// Specifies the availability zone where the instance is located.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint?ECS) for this argument.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	// Specifies the enterprise project ID.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the flavor ID.
	FlavorId pulumi.StringPtrInput `pulumi:"flavorId"`
	// Specifies the flavor name of the instance.
	FlavorName pulumi.StringPtrInput `pulumi:"flavorName"`
	// Specifies the image ID of the instance.
	ImageId pulumi.StringPtrInput `pulumi:"imageId"`
	// Specifies the ECS ID.
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
	// Specifies the key pair that is used to authenticate the instance.
	KeyPair pulumi.StringPtrInput `pulumi:"keyPair"`
	// Specifies the instance name, which can be queried with a regular expression.
	// The instance name supports fuzzy matching query too.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the instances.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the status of the instance. The valid values are as follows:
	// + **ACTIVE**: The instance is running properly.
	// + **SHUTOFF**: The instance has been properly stopped.
	// + **ERROR**: An error has occurred on the instance.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType

func (GetInstancesOutputArgs) ElementType() reflect.Type

type GetInstancesResult

type GetInstancesResult struct {
	// The availability zone where the instance is located.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// The enterprise project ID.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// The flavor ID.
	FlavorId *string `pulumi:"flavorId"`
	// The flavor name of the instance.
	FlavorName *string `pulumi:"flavorName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The image ID of the instance.
	ImageId    *string `pulumi:"imageId"`
	InstanceId *string `pulumi:"instanceId"`
	// List of ECS instance details. The object structure of each ECS instance is documented below.
	Instances []GetInstancesInstance `pulumi:"instances"`
	// The key pair that is used to authenticate the instance.
	KeyPair *string `pulumi:"keyPair"`
	// The instance name.
	Name   *string `pulumi:"name"`
	Region *string `pulumi:"region"`
	// The instance status.
	Status *string `pulumi:"status"`
}

A collection of values returned by getInstances.

func GetInstances

func GetInstances(ctx *pulumi.Context, args *GetInstancesArgs, opts ...pulumi.InvokeOption) (*GetInstancesResult, error)

Use this data source to get the list of the compute instances.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		nameRegex := cfg.RequireObject("nameRegex")
		_, err := Ecs.GetInstances(ctx, &ecs.GetInstancesArgs{
			Name: pulumi.StringRef(nameRegex),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetInstancesResultOutput

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func (GetInstancesResultOutput) AvailabilityZone

func (o GetInstancesResultOutput) AvailabilityZone() pulumi.StringPtrOutput

The availability zone where the instance is located.

func (GetInstancesResultOutput) ElementType

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) EnterpriseProjectId

func (o GetInstancesResultOutput) EnterpriseProjectId() pulumi.StringPtrOutput

The enterprise project ID.

func (GetInstancesResultOutput) FlavorId

The flavor ID.

func (GetInstancesResultOutput) FlavorName

The flavor name of the instance.

func (GetInstancesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) ImageId

The image ID of the instance.

func (GetInstancesResultOutput) InstanceId added in v0.0.8

func (GetInstancesResultOutput) Instances

List of ECS instance details. The object structure of each ECS instance is documented below.

func (GetInstancesResultOutput) KeyPair

The key pair that is used to authenticate the instance.

func (GetInstancesResultOutput) Name

The instance name.

func (GetInstancesResultOutput) Region

func (GetInstancesResultOutput) Status

The instance status.

func (GetInstancesResultOutput) ToGetInstancesResultOutput

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext

func (o GetInstancesResultOutput) ToGetInstancesResultOutputWithContext(ctx context.Context) GetInstancesResultOutput

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// The first detected Fixed IPv4 address or the Floating IP.
	AccessIpV4 pulumi.StringOutput `pulumi:"accessIpV4"`
	// The first detected Fixed IPv6 address.
	AccessIpV6 pulumi.StringOutput `pulumi:"accessIpV6"`
	// Specifies the administrative password to assign to the instance.
	AdminPass pulumi.StringPtrOutput `pulumi:"adminPass"`
	// Specifies the IAM agency name which is created on IAM to provide
	// temporary credentials for ECS to access cloud services.
	AgencyName pulumi.StringOutput `pulumi:"agencyName"`
	// Specifies the agent list in comma-separated string.
	// Available agents are:
	// + `ces`: enable cloud eye monitoring(free).
	// + `hss`: enable host security basic(free).
	// + `hss,hss-ent`: enable host security enterprise edition.
	AgentList pulumi.StringOutput `pulumi:"agentList"`
	// Deprecated: Deprecated
	AutoPay pulumi.StringPtrOutput `pulumi:"autoPay"`
	// Specifies whether auto renew is enabled.
	// Valid values are *true* and *false*. Defaults to *false*.
	AutoRenew pulumi.StringPtrOutput `pulumi:"autoRenew"`
	// Specifies the availability zone in which to create the instance.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint/?ECS)
	// for the values. Changing this creates a new instance.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// Specifies the bandwidth of an EIP that will be automatically assigned to the instance.
	// The object structure is documented below. Changing this creates a new instance.
	Bandwidth InstanceBandwidthPtrOutput `pulumi:"bandwidth"`
	// Specifies the charging mode of the instance. Valid values are *prePaid*,
	// *postPaid* and *spot*, defaults to *postPaid*. Changing this creates a new instance.
	ChargingMode pulumi.StringOutput `pulumi:"chargingMode"`
	// The creation time, in UTC format.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Specifies an array of one or more data disks to attach to the instance.
	// The dataDisks object structure is documented below. Changing this creates a new instance.
	DataDisks InstanceDataDiskArrayOutput `pulumi:"dataDisks"`
	// Specifies whether to delete the data disks when the instance is terminated.
	// Defaults to *false*. This parameter is valid if `chargingMode` is set to *postPaid*, and all data disks will be deleted
	// in *prePaid* charging mode.
	DeleteDisksOnTermination pulumi.BoolPtrOutput `pulumi:"deleteDisksOnTermination"`
	// Specifies whether the EIP is released when the instance is terminated.
	// Defaults to *true*.
	DeleteEipOnTermination pulumi.BoolPtrOutput `pulumi:"deleteEipOnTermination"`
	// Specifies the description of the instance. The description consists of 0 to 85
	// characters, and can't contain '<' or '>'.
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies the ID of an *existing* EIP assigned to the instance.
	// This parameter and `eipType`, `bandwidth` are alternative. Changing this creates a new instance.
	EipId pulumi.StringPtrOutput `pulumi:"eipId"`
	// Specifies the type of an EIP that will be automatically assigned to the instance.
	// Available values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP). Changing this creates a new instance.
	EipType pulumi.StringPtrOutput `pulumi:"eipType"`
	// Specifies a unique id in UUID format of enterprise project.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies the flavor ID of the instance to be created.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// The flavor name of the instance.
	FlavorName pulumi.StringOutput `pulumi:"flavorName"`
	// Required if `imageName` is empty. Specifies the image ID of the desired
	// image for the instance. Changing this creates a new instance.
	ImageId pulumi.StringOutput `pulumi:"imageId"`
	// Required if `imageId` is empty. Specifies the name of the desired image
	// for the instance. Changing this creates a new instance.
	ImageName pulumi.StringOutput `pulumi:"imageName"`
	// Specifies the SSH keypair name used for logging in to the instance.
	KeyPair pulumi.StringPtrOutput `pulumi:"keyPair"`
	// Specifies a unique name for the instance. The name consists of 1 to 64 characters,
	// including letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies an array of one or more networks to attach to the instance. The
	// network object structure is documented below. Changing this creates a new instance.
	Networks InstanceNetworkArrayOutput `pulumi:"networks"`
	// Specifies the charging period of the instance.
	// If `periodUnit` is set to *month* , the value ranges from 1 to 9. If `periodUnit` is set to *year*, the value
	// ranges from 1 to 3. This parameter is mandatory if `chargingMode` is set to *prePaid*. Changing this creates a
	// new resource.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Specifies the charging period unit of the instance.
	// Valid values are *month* and *year*. This parameter is mandatory if `chargingMode` is set to *prePaid*.
	// Changing this creates a new instance.
	PeriodUnit pulumi.StringPtrOutput `pulumi:"periodUnit"`
	// Specifies the power action to be done for the instance.
	// The valid values are *ON*, *OFF*, *REBOOT*, *FORCE-OFF* and *FORCE-REBOOT*.
	PowerAction pulumi.StringOutput `pulumi:"powerAction"`
	// Specifies the the private key of the keypair in use. This parameter is mandatory
	// when replacing or unbinding a keypair and the instance is in **Running** state.
	PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"`
	// The EIP address that is associted to the instance.
	PublicIp pulumi.StringOutput `pulumi:"publicIp"`
	// Specifies the region in which to create the instance.
	// If omitted, the provider-level region will be used. Changing this creates a new instance.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the scheduler with hints on how the instance should be launched. The
	// available hints are described below.
	SchedulerHints InstanceSchedulerHintArrayOutput `pulumi:"schedulerHints"`
	// Specifies an array of one or more security group IDs to associate with the
	// instance.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// An array of one or more security groups to associate with the instance.
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	// Specifies the service duration of the spot ECS in hours.
	// This parameter takes effect only when `chargingMode` is set to *spot*.
	// Changing this creates a new instance.
	SpotDuration pulumi.IntPtrOutput `pulumi:"spotDuration"`
	// Specifies the number of time periods in the service duration.
	// This parameter takes effect only when `chargingMode` is set to *spot* and the default value is 1.
	// Changing this creates a new instance.
	SpotDurationCount pulumi.IntOutput `pulumi:"spotDurationCount"`
	// Specifies the highest price per hour you accept for a spot ECS.
	// This parameter takes effect only when `chargingMode` is set to *spot*. If the price is not specified,
	// the pay-per-use price is used by default. Changing this creates a new instance.
	SpotMaximumPrice pulumi.StringPtrOutput `pulumi:"spotMaximumPrice"`
	// The status of the instance.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies whether to try stop instance gracefully before destroying it, thus giving
	// chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
	StopBeforeDestroy pulumi.BoolPtrOutput `pulumi:"stopBeforeDestroy"`
	// The system disk voume ID.
	SystemDiskId pulumi.StringOutput `pulumi:"systemDiskId"`
	// Specifies the ID of a KMS key used to encrypt the system disk.
	// Changing this creates a new instance.
	SystemDiskKmsKeyId pulumi.StringOutput `pulumi:"systemDiskKmsKeyId"`
	// Specifies the system disk size in GB, The value range is 1 to 1024.
	// Shrinking the disk is not supported.
	SystemDiskSize pulumi.IntOutput `pulumi:"systemDiskSize"`
	// Specifies the system disk type of the instance. Defaults to `GPSSD`.
	// Changing this creates a new instance.
	SystemDiskType pulumi.StringOutput `pulumi:"systemDiskType"`
	// Specifies the key/value pairs to associate with the instance.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The last update time, in UTC format.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// Specifies the user data to be injected during the instance creation. Text
	// and text files can be injected. Changing this creates a new instance.
	UserData pulumi.StringPtrOutput `pulumi:"userData"`
	// Specifies a user ID, required when using keyPair in prePaid charging mode.
	// Changing this creates a new instance.
	UserId pulumi.StringPtrOutput `pulumi:"userId"`
	// An array of one or more disks to attach to the instance.
	// The volume attached object structure is documented below.
	VolumeAttacheds InstanceVolumeAttachedArrayOutput `pulumi:"volumeAttacheds"`
}

Manages a ECS VM instance resource within HuaweiCloud.

## Example Usage ### Basic Instance

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ims"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ims"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		secgroupId := cfg.RequireObject("secgroupId")
		myaz, err := huaweicloud.GetAvailabilityZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		myflavor, err := Ecs.GetFlavors(ctx, &ecs.GetFlavorsArgs{
			AvailabilityZone: pulumi.StringRef(myaz.Names[0]),
			PerformanceType:  pulumi.StringRef("normal"),
			CpuCoreCount:     pulumi.IntRef(2),
			MemorySize:       pulumi.IntRef(4),
		}, nil)
		if err != nil {
			return err
		}
		mynet, err := Vpc.GetSubnet(ctx, &vpc.GetSubnetArgs{
			Name: pulumi.StringRef("subnet-default"),
		}, nil)
		if err != nil {
			return err
		}
		myimage, err := Ims.GetImage(ctx, &ims.GetImageArgs{
			Name:       pulumi.StringRef("Ubuntu 18.04 server 64bit"),
			MostRecent: pulumi.BoolRef(true),
		}, nil)
		if err != nil {
			return err
		}
		_, err = Ecs.NewInstance(ctx, "basic", &Ecs.InstanceArgs{
			ImageId:  pulumi.String(myimage.Id),
			FlavorId: pulumi.String(myflavor.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(secgroupId),
			},
			AvailabilityZone: pulumi.String(myaz.Names[0]),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String(mynet.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Instance With Associated Eip

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		secgroupId := cfg.RequireObject("secgroupId")
		myinstance, err := Ecs.NewInstance(ctx, "myinstance", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(secgroupId),
			},
			AvailabilityZone: pulumi.String("cn-north-4a"),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
			},
		})
		if err != nil {
			return err
		}
		myeip, err := Vpc.NewEip(ctx, "myeip", &Vpc.EipArgs{
			Publicip: &vpc.EipPublicipArgs{
				Type: pulumi.String("5_bgp"),
			},
			Bandwidth: &vpc.EipBandwidthArgs{
				Name:       pulumi.String("test"),
				Size:       pulumi.Int(8),
				ShareType:  pulumi.String("PER"),
				ChargeMode: pulumi.String("traffic"),
			},
		})
		if err != nil {
			return err
		}
		_, err = Ecs.NewEipAssociate(ctx, "associated", &Ecs.EipAssociateArgs{
			PublicIp:   myeip.Address,
			InstanceId: myinstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Instance With Attached Volume

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Evs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		secgroupId := cfg.RequireObject("secgroupId")
		myvolume, err := Evs.NewVolume(ctx, "myvolume", &Evs.VolumeArgs{
			AvailabilityZone: pulumi.String("cn-north-4a"),
			VolumeType:       pulumi.String("SAS"),
			Size:             pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		myinstance, err := Ecs.NewInstance(ctx, "myinstance", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(secgroupId),
			},
			AvailabilityZone: pulumi.String("cn-north-4a"),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = Ecs.NewVolumeAttach(ctx, "attached", &Ecs.VolumeAttachArgs{
			InstanceId: myinstance.ID(),
			VolumeId:   myvolume.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Instance With Multiple Data Disks

It's possible to specify multiple `dataDisks` entries to create an instance with multiple data disks, but we can't ensure the volume attached order. So it's recommended to use `Instance With Attached Volume` above.

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		secgroupId := cfg.RequireObject("secgroupId")
		_, err := Ecs.NewInstance(ctx, "multi-disk", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(secgroupId),
			},
			AvailabilityZone: pulumi.String("cn-north-4a"),
			SystemDiskType:   pulumi.String("SAS"),
			SystemDiskSize:   pulumi.Int(40),
			DataDisks: ecs.InstanceDataDiskArray{
				&ecs.InstanceDataDiskArgs{
					Type: pulumi.String("SAS"),
					Size: pulumi.Int(10),
				},
				&ecs.InstanceDataDiskArgs{
					Type: pulumi.String("SAS"),
					Size: pulumi.Int(20),
				},
			},
			DeleteDisksOnTermination: pulumi.Bool(true),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Instance With Multiple Networks

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		secgroupId := cfg.RequireObject("secgroupId")
		_, err := Ecs.NewInstance(ctx, "multi-net", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(secgroupId),
			},
			AvailabilityZone: pulumi.String("cn-north-4a"),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("3c4a0d74-24b9-46cf-9d7f-8b7a4dc2f65c"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Instance with User Data (cloud-init)

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		secgroupId := cfg.RequireObject("secgroupId")
		_, err := Ecs.NewInstance(ctx, "myinstance", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(secgroupId),
			},
			AvailabilityZone: pulumi.String("az"),
			UserData:         pulumi.String("#cloud-config\nhostname: instance_1.example.com\nfqdn: instance_1.example.com"),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Instances can be imported by their `id`. For example,

```sh

$ pulumi import huaweicloud:Ecs/instance:Instance my_instance b11b407c-e604-4e8d-8bc4-92398320b847

```

Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response, security or some other reason. The missing attributes include`admin_pass`, `user_data`, `data_disks`, `scheduler_hints`, `stop_before_destroy`, `delete_disks_on_termination`, `delete_eip_on_termination`, `network/access_network`, `bandwidth`, `eip_type`, `power_action` and arguments for pre-paid and spot price. It is generally recommended running `terraform plan` after importing an instance. You can then decide if changes should be applied to the instance, or the resource definition should be updated to align with the instance. Also you can ignore changes as below. resource "huaweicloud_compute_instance" "myinstance" {

...

lifecycle {

ignore_changes = [

user_data, data_disks,

]

} }

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// Specifies the administrative password to assign to the instance.
	AdminPass pulumi.StringPtrInput
	// Specifies the IAM agency name which is created on IAM to provide
	// temporary credentials for ECS to access cloud services.
	AgencyName pulumi.StringPtrInput
	// Specifies the agent list in comma-separated string.
	// Available agents are:
	// + `ces`: enable cloud eye monitoring(free).
	// + `hss`: enable host security basic(free).
	// + `hss,hss-ent`: enable host security enterprise edition.
	AgentList pulumi.StringPtrInput
	// Deprecated: Deprecated
	AutoPay pulumi.StringPtrInput
	// Specifies whether auto renew is enabled.
	// Valid values are *true* and *false*. Defaults to *false*.
	AutoRenew pulumi.StringPtrInput
	// Specifies the availability zone in which to create the instance.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint/?ECS)
	// for the values. Changing this creates a new instance.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the bandwidth of an EIP that will be automatically assigned to the instance.
	// The object structure is documented below. Changing this creates a new instance.
	Bandwidth InstanceBandwidthPtrInput
	// Specifies the charging mode of the instance. Valid values are *prePaid*,
	// *postPaid* and *spot*, defaults to *postPaid*. Changing this creates a new instance.
	ChargingMode pulumi.StringPtrInput
	// Specifies an array of one or more data disks to attach to the instance.
	// The dataDisks object structure is documented below. Changing this creates a new instance.
	DataDisks InstanceDataDiskArrayInput
	// Specifies whether to delete the data disks when the instance is terminated.
	// Defaults to *false*. This parameter is valid if `chargingMode` is set to *postPaid*, and all data disks will be deleted
	// in *prePaid* charging mode.
	DeleteDisksOnTermination pulumi.BoolPtrInput
	// Specifies whether the EIP is released when the instance is terminated.
	// Defaults to *true*.
	DeleteEipOnTermination pulumi.BoolPtrInput
	// Specifies the description of the instance. The description consists of 0 to 85
	// characters, and can't contain '<' or '>'.
	Description pulumi.StringPtrInput
	// Specifies the ID of an *existing* EIP assigned to the instance.
	// This parameter and `eipType`, `bandwidth` are alternative. Changing this creates a new instance.
	EipId pulumi.StringPtrInput
	// Specifies the type of an EIP that will be automatically assigned to the instance.
	// Available values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP). Changing this creates a new instance.
	EipType pulumi.StringPtrInput
	// Specifies a unique id in UUID format of enterprise project.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the flavor ID of the instance to be created.
	FlavorId pulumi.StringPtrInput
	// The flavor name of the instance.
	FlavorName pulumi.StringPtrInput
	// Required if `imageName` is empty. Specifies the image ID of the desired
	// image for the instance. Changing this creates a new instance.
	ImageId pulumi.StringPtrInput
	// Required if `imageId` is empty. Specifies the name of the desired image
	// for the instance. Changing this creates a new instance.
	ImageName pulumi.StringPtrInput
	// Specifies the SSH keypair name used for logging in to the instance.
	KeyPair pulumi.StringPtrInput
	// Specifies a unique name for the instance. The name consists of 1 to 64 characters,
	// including letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringPtrInput
	// Specifies an array of one or more networks to attach to the instance. The
	// network object structure is documented below. Changing this creates a new instance.
	Networks InstanceNetworkArrayInput
	// Specifies the charging period of the instance.
	// If `periodUnit` is set to *month* , the value ranges from 1 to 9. If `periodUnit` is set to *year*, the value
	// ranges from 1 to 3. This parameter is mandatory if `chargingMode` is set to *prePaid*. Changing this creates a
	// new resource.
	Period pulumi.IntPtrInput
	// Specifies the charging period unit of the instance.
	// Valid values are *month* and *year*. This parameter is mandatory if `chargingMode` is set to *prePaid*.
	// Changing this creates a new instance.
	PeriodUnit pulumi.StringPtrInput
	// Specifies the power action to be done for the instance.
	// The valid values are *ON*, *OFF*, *REBOOT*, *FORCE-OFF* and *FORCE-REBOOT*.
	PowerAction pulumi.StringPtrInput
	// Specifies the the private key of the keypair in use. This parameter is mandatory
	// when replacing or unbinding a keypair and the instance is in **Running** state.
	PrivateKey pulumi.StringPtrInput
	// Specifies the region in which to create the instance.
	// If omitted, the provider-level region will be used. Changing this creates a new instance.
	Region pulumi.StringPtrInput
	// Specifies the scheduler with hints on how the instance should be launched. The
	// available hints are described below.
	SchedulerHints InstanceSchedulerHintArrayInput
	// Specifies an array of one or more security group IDs to associate with the
	// instance.
	SecurityGroupIds pulumi.StringArrayInput
	// An array of one or more security groups to associate with the instance.
	SecurityGroups pulumi.StringArrayInput
	// Specifies the service duration of the spot ECS in hours.
	// This parameter takes effect only when `chargingMode` is set to *spot*.
	// Changing this creates a new instance.
	SpotDuration pulumi.IntPtrInput
	// Specifies the number of time periods in the service duration.
	// This parameter takes effect only when `chargingMode` is set to *spot* and the default value is 1.
	// Changing this creates a new instance.
	SpotDurationCount pulumi.IntPtrInput
	// Specifies the highest price per hour you accept for a spot ECS.
	// This parameter takes effect only when `chargingMode` is set to *spot*. If the price is not specified,
	// the pay-per-use price is used by default. Changing this creates a new instance.
	SpotMaximumPrice pulumi.StringPtrInput
	// Specifies whether to try stop instance gracefully before destroying it, thus giving
	// chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
	StopBeforeDestroy pulumi.BoolPtrInput
	// Specifies the ID of a KMS key used to encrypt the system disk.
	// Changing this creates a new instance.
	SystemDiskKmsKeyId pulumi.StringPtrInput
	// Specifies the system disk size in GB, The value range is 1 to 1024.
	// Shrinking the disk is not supported.
	SystemDiskSize pulumi.IntPtrInput
	// Specifies the system disk type of the instance. Defaults to `GPSSD`.
	// Changing this creates a new instance.
	SystemDiskType pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the instance.
	Tags pulumi.StringMapInput
	// Specifies the user data to be injected during the instance creation. Text
	// and text files can be injected. Changing this creates a new instance.
	UserData pulumi.StringPtrInput
	// Specifies a user ID, required when using keyPair in prePaid charging mode.
	// Changing this creates a new instance.
	UserId pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceBandwidth

type InstanceBandwidth struct {
	// Specifies the bandwidth billing mode. The value can be *traffic* or *bandwidth*.
	// Changing this creates a new instance.
	ChargeMode *string `pulumi:"chargeMode"`
	// Specifies the **shared** bandwidth id. This parameter is mandatory when
	// `shareType` is set to **WHOLE**. Changing this creates a new instance.
	Id *string `pulumi:"id"`
	// Specifies the bandwidth sharing type. Changing this creates a new instance.
	// Possible values are as follows:
	// + **PER**: Dedicated bandwidth
	// + **WHOLE**: Shared bandwidth
	ShareType string `pulumi:"shareType"`
	// Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
	// This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
	Size *int `pulumi:"size"`
}

type InstanceBandwidthArgs

type InstanceBandwidthArgs struct {
	// Specifies the bandwidth billing mode. The value can be *traffic* or *bandwidth*.
	// Changing this creates a new instance.
	ChargeMode pulumi.StringPtrInput `pulumi:"chargeMode"`
	// Specifies the **shared** bandwidth id. This parameter is mandatory when
	// `shareType` is set to **WHOLE**. Changing this creates a new instance.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the bandwidth sharing type. Changing this creates a new instance.
	// Possible values are as follows:
	// + **PER**: Dedicated bandwidth
	// + **WHOLE**: Shared bandwidth
	ShareType pulumi.StringInput `pulumi:"shareType"`
	// Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
	// This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
	Size pulumi.IntPtrInput `pulumi:"size"`
}

func (InstanceBandwidthArgs) ElementType

func (InstanceBandwidthArgs) ElementType() reflect.Type

func (InstanceBandwidthArgs) ToInstanceBandwidthOutput

func (i InstanceBandwidthArgs) ToInstanceBandwidthOutput() InstanceBandwidthOutput

func (InstanceBandwidthArgs) ToInstanceBandwidthOutputWithContext

func (i InstanceBandwidthArgs) ToInstanceBandwidthOutputWithContext(ctx context.Context) InstanceBandwidthOutput

func (InstanceBandwidthArgs) ToInstanceBandwidthPtrOutput

func (i InstanceBandwidthArgs) ToInstanceBandwidthPtrOutput() InstanceBandwidthPtrOutput

func (InstanceBandwidthArgs) ToInstanceBandwidthPtrOutputWithContext

func (i InstanceBandwidthArgs) ToInstanceBandwidthPtrOutputWithContext(ctx context.Context) InstanceBandwidthPtrOutput

type InstanceBandwidthInput

type InstanceBandwidthInput interface {
	pulumi.Input

	ToInstanceBandwidthOutput() InstanceBandwidthOutput
	ToInstanceBandwidthOutputWithContext(context.Context) InstanceBandwidthOutput
}

InstanceBandwidthInput is an input type that accepts InstanceBandwidthArgs and InstanceBandwidthOutput values. You can construct a concrete instance of `InstanceBandwidthInput` via:

InstanceBandwidthArgs{...}

type InstanceBandwidthOutput

type InstanceBandwidthOutput struct{ *pulumi.OutputState }

func (InstanceBandwidthOutput) ChargeMode

Specifies the bandwidth billing mode. The value can be *traffic* or *bandwidth*. Changing this creates a new instance.

func (InstanceBandwidthOutput) ElementType

func (InstanceBandwidthOutput) ElementType() reflect.Type

func (InstanceBandwidthOutput) Id

Specifies the **shared** bandwidth id. This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this creates a new instance.

func (InstanceBandwidthOutput) ShareType

Specifies the bandwidth sharing type. Changing this creates a new instance. Possible values are as follows: + **PER**: Dedicated bandwidth + **WHOLE**: Shared bandwidth

func (InstanceBandwidthOutput) Size

Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s. This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.

func (InstanceBandwidthOutput) ToInstanceBandwidthOutput

func (o InstanceBandwidthOutput) ToInstanceBandwidthOutput() InstanceBandwidthOutput

func (InstanceBandwidthOutput) ToInstanceBandwidthOutputWithContext

func (o InstanceBandwidthOutput) ToInstanceBandwidthOutputWithContext(ctx context.Context) InstanceBandwidthOutput

func (InstanceBandwidthOutput) ToInstanceBandwidthPtrOutput

func (o InstanceBandwidthOutput) ToInstanceBandwidthPtrOutput() InstanceBandwidthPtrOutput

func (InstanceBandwidthOutput) ToInstanceBandwidthPtrOutputWithContext

func (o InstanceBandwidthOutput) ToInstanceBandwidthPtrOutputWithContext(ctx context.Context) InstanceBandwidthPtrOutput

type InstanceBandwidthPtrInput

type InstanceBandwidthPtrInput interface {
	pulumi.Input

	ToInstanceBandwidthPtrOutput() InstanceBandwidthPtrOutput
	ToInstanceBandwidthPtrOutputWithContext(context.Context) InstanceBandwidthPtrOutput
}

InstanceBandwidthPtrInput is an input type that accepts InstanceBandwidthArgs, InstanceBandwidthPtr and InstanceBandwidthPtrOutput values. You can construct a concrete instance of `InstanceBandwidthPtrInput` via:

        InstanceBandwidthArgs{...}

or:

        nil

type InstanceBandwidthPtrOutput

type InstanceBandwidthPtrOutput struct{ *pulumi.OutputState }

func (InstanceBandwidthPtrOutput) ChargeMode

Specifies the bandwidth billing mode. The value can be *traffic* or *bandwidth*. Changing this creates a new instance.

func (InstanceBandwidthPtrOutput) Elem

func (InstanceBandwidthPtrOutput) ElementType

func (InstanceBandwidthPtrOutput) ElementType() reflect.Type

func (InstanceBandwidthPtrOutput) Id

Specifies the **shared** bandwidth id. This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this creates a new instance.

func (InstanceBandwidthPtrOutput) ShareType

Specifies the bandwidth sharing type. Changing this creates a new instance. Possible values are as follows: + **PER**: Dedicated bandwidth + **WHOLE**: Shared bandwidth

func (InstanceBandwidthPtrOutput) Size

Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s. This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.

func (InstanceBandwidthPtrOutput) ToInstanceBandwidthPtrOutput

func (o InstanceBandwidthPtrOutput) ToInstanceBandwidthPtrOutput() InstanceBandwidthPtrOutput

func (InstanceBandwidthPtrOutput) ToInstanceBandwidthPtrOutputWithContext

func (o InstanceBandwidthPtrOutput) ToInstanceBandwidthPtrOutputWithContext(ctx context.Context) InstanceBandwidthPtrOutput

type InstanceDataDisk

type InstanceDataDisk struct {
	// Specifies the ID of a KMS key. This is used to encrypt the disk.
	// Changing this creates a new instance.
	KmsKeyId *string `pulumi:"kmsKeyId"`
	// Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
	// This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
	Size int `pulumi:"size"`
	// Specifies the EVS snapshot ID or ID of the original data disk contained in
	// the full-ECS image. Changing this creates a new instance.
	SnapshotId *string `pulumi:"snapshotId"`
	// Specifies the ECS data disk type, which must be one of available disk types,
	// contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.
	Type string `pulumi:"type"`
}

type InstanceDataDiskArgs

type InstanceDataDiskArgs struct {
	// Specifies the ID of a KMS key. This is used to encrypt the disk.
	// Changing this creates a new instance.
	KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"`
	// Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
	// This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
	Size pulumi.IntInput `pulumi:"size"`
	// Specifies the EVS snapshot ID or ID of the original data disk contained in
	// the full-ECS image. Changing this creates a new instance.
	SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"`
	// Specifies the ECS data disk type, which must be one of available disk types,
	// contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.
	Type pulumi.StringInput `pulumi:"type"`
}

func (InstanceDataDiskArgs) ElementType

func (InstanceDataDiskArgs) ElementType() reflect.Type

func (InstanceDataDiskArgs) ToInstanceDataDiskOutput

func (i InstanceDataDiskArgs) ToInstanceDataDiskOutput() InstanceDataDiskOutput

func (InstanceDataDiskArgs) ToInstanceDataDiskOutputWithContext

func (i InstanceDataDiskArgs) ToInstanceDataDiskOutputWithContext(ctx context.Context) InstanceDataDiskOutput

type InstanceDataDiskArray

type InstanceDataDiskArray []InstanceDataDiskInput

func (InstanceDataDiskArray) ElementType

func (InstanceDataDiskArray) ElementType() reflect.Type

func (InstanceDataDiskArray) ToInstanceDataDiskArrayOutput

func (i InstanceDataDiskArray) ToInstanceDataDiskArrayOutput() InstanceDataDiskArrayOutput

func (InstanceDataDiskArray) ToInstanceDataDiskArrayOutputWithContext

func (i InstanceDataDiskArray) ToInstanceDataDiskArrayOutputWithContext(ctx context.Context) InstanceDataDiskArrayOutput

type InstanceDataDiskArrayInput

type InstanceDataDiskArrayInput interface {
	pulumi.Input

	ToInstanceDataDiskArrayOutput() InstanceDataDiskArrayOutput
	ToInstanceDataDiskArrayOutputWithContext(context.Context) InstanceDataDiskArrayOutput
}

InstanceDataDiskArrayInput is an input type that accepts InstanceDataDiskArray and InstanceDataDiskArrayOutput values. You can construct a concrete instance of `InstanceDataDiskArrayInput` via:

InstanceDataDiskArray{ InstanceDataDiskArgs{...} }

type InstanceDataDiskArrayOutput

type InstanceDataDiskArrayOutput struct{ *pulumi.OutputState }

func (InstanceDataDiskArrayOutput) ElementType

func (InstanceDataDiskArrayOutput) Index

func (InstanceDataDiskArrayOutput) ToInstanceDataDiskArrayOutput

func (o InstanceDataDiskArrayOutput) ToInstanceDataDiskArrayOutput() InstanceDataDiskArrayOutput

func (InstanceDataDiskArrayOutput) ToInstanceDataDiskArrayOutputWithContext

func (o InstanceDataDiskArrayOutput) ToInstanceDataDiskArrayOutputWithContext(ctx context.Context) InstanceDataDiskArrayOutput

type InstanceDataDiskInput

type InstanceDataDiskInput interface {
	pulumi.Input

	ToInstanceDataDiskOutput() InstanceDataDiskOutput
	ToInstanceDataDiskOutputWithContext(context.Context) InstanceDataDiskOutput
}

InstanceDataDiskInput is an input type that accepts InstanceDataDiskArgs and InstanceDataDiskOutput values. You can construct a concrete instance of `InstanceDataDiskInput` via:

InstanceDataDiskArgs{...}

type InstanceDataDiskOutput

type InstanceDataDiskOutput struct{ *pulumi.OutputState }

func (InstanceDataDiskOutput) ElementType

func (InstanceDataDiskOutput) ElementType() reflect.Type

func (InstanceDataDiskOutput) KmsKeyId added in v0.0.8

Specifies the ID of a KMS key. This is used to encrypt the disk. Changing this creates a new instance.

func (InstanceDataDiskOutput) Size

Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s. This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.

func (InstanceDataDiskOutput) SnapshotId

Specifies the EVS snapshot ID or ID of the original data disk contained in the full-ECS image. Changing this creates a new instance.

func (InstanceDataDiskOutput) ToInstanceDataDiskOutput

func (o InstanceDataDiskOutput) ToInstanceDataDiskOutput() InstanceDataDiskOutput

func (InstanceDataDiskOutput) ToInstanceDataDiskOutputWithContext

func (o InstanceDataDiskOutput) ToInstanceDataDiskOutputWithContext(ctx context.Context) InstanceDataDiskOutput

func (InstanceDataDiskOutput) Type

Specifies the ECS data disk type, which must be one of available disk types, contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceNetwork

type InstanceNetwork struct {
	// Specifies if this network should be used for provisioning access.
	// Accepts true or false. Defaults to false.
	AccessNetwork *bool `pulumi:"accessNetwork"`
	// Specifies a fixed IPv4 address to be used on this network.
	// Changing this creates a new instance.
	FixedIpV4 *string `pulumi:"fixedIpV4"`
	// The Fixed IPv6 address of the instance on that network.
	FixedIpV6 *string `pulumi:"fixedIpV6"`
	// Specifies whether the IPv6 function is enabled for the nic.
	// Defaults to false. Changing this creates a new instance.
	Ipv6Enable *bool `pulumi:"ipv6Enable"`
	// The MAC address of the NIC on that network.
	Mac *string `pulumi:"mac"`
	// The port ID corresponding to the IP address on that network.
	Port *string `pulumi:"port"`
	// Specifies whether the ECS processes only traffic that is destined specifically
	// for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a
	// virtual IP address bound to it.
	SourceDestCheck *bool `pulumi:"sourceDestCheck"`
	// Specifies the network UUID to attach to the instance.
	// Changing this creates a new instance.
	Uuid *string `pulumi:"uuid"`
}

type InstanceNetworkArgs

type InstanceNetworkArgs struct {
	// Specifies if this network should be used for provisioning access.
	// Accepts true or false. Defaults to false.
	AccessNetwork pulumi.BoolPtrInput `pulumi:"accessNetwork"`
	// Specifies a fixed IPv4 address to be used on this network.
	// Changing this creates a new instance.
	FixedIpV4 pulumi.StringPtrInput `pulumi:"fixedIpV4"`
	// The Fixed IPv6 address of the instance on that network.
	FixedIpV6 pulumi.StringPtrInput `pulumi:"fixedIpV6"`
	// Specifies whether the IPv6 function is enabled for the nic.
	// Defaults to false. Changing this creates a new instance.
	Ipv6Enable pulumi.BoolPtrInput `pulumi:"ipv6Enable"`
	// The MAC address of the NIC on that network.
	Mac pulumi.StringPtrInput `pulumi:"mac"`
	// The port ID corresponding to the IP address on that network.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// Specifies whether the ECS processes only traffic that is destined specifically
	// for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a
	// virtual IP address bound to it.
	SourceDestCheck pulumi.BoolPtrInput `pulumi:"sourceDestCheck"`
	// Specifies the network UUID to attach to the instance.
	// Changing this creates a new instance.
	Uuid pulumi.StringPtrInput `pulumi:"uuid"`
}

func (InstanceNetworkArgs) ElementType

func (InstanceNetworkArgs) ElementType() reflect.Type

func (InstanceNetworkArgs) ToInstanceNetworkOutput

func (i InstanceNetworkArgs) ToInstanceNetworkOutput() InstanceNetworkOutput

func (InstanceNetworkArgs) ToInstanceNetworkOutputWithContext

func (i InstanceNetworkArgs) ToInstanceNetworkOutputWithContext(ctx context.Context) InstanceNetworkOutput

type InstanceNetworkArray

type InstanceNetworkArray []InstanceNetworkInput

func (InstanceNetworkArray) ElementType

func (InstanceNetworkArray) ElementType() reflect.Type

func (InstanceNetworkArray) ToInstanceNetworkArrayOutput

func (i InstanceNetworkArray) ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput

func (InstanceNetworkArray) ToInstanceNetworkArrayOutputWithContext

func (i InstanceNetworkArray) ToInstanceNetworkArrayOutputWithContext(ctx context.Context) InstanceNetworkArrayOutput

type InstanceNetworkArrayInput

type InstanceNetworkArrayInput interface {
	pulumi.Input

	ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput
	ToInstanceNetworkArrayOutputWithContext(context.Context) InstanceNetworkArrayOutput
}

InstanceNetworkArrayInput is an input type that accepts InstanceNetworkArray and InstanceNetworkArrayOutput values. You can construct a concrete instance of `InstanceNetworkArrayInput` via:

InstanceNetworkArray{ InstanceNetworkArgs{...} }

type InstanceNetworkArrayOutput

type InstanceNetworkArrayOutput struct{ *pulumi.OutputState }

func (InstanceNetworkArrayOutput) ElementType

func (InstanceNetworkArrayOutput) ElementType() reflect.Type

func (InstanceNetworkArrayOutput) Index

func (InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutput

func (o InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutput() InstanceNetworkArrayOutput

func (InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutputWithContext

func (o InstanceNetworkArrayOutput) ToInstanceNetworkArrayOutputWithContext(ctx context.Context) InstanceNetworkArrayOutput

type InstanceNetworkInput

type InstanceNetworkInput interface {
	pulumi.Input

	ToInstanceNetworkOutput() InstanceNetworkOutput
	ToInstanceNetworkOutputWithContext(context.Context) InstanceNetworkOutput
}

InstanceNetworkInput is an input type that accepts InstanceNetworkArgs and InstanceNetworkOutput values. You can construct a concrete instance of `InstanceNetworkInput` via:

InstanceNetworkArgs{...}

type InstanceNetworkOutput

type InstanceNetworkOutput struct{ *pulumi.OutputState }

func (InstanceNetworkOutput) AccessNetwork

func (o InstanceNetworkOutput) AccessNetwork() pulumi.BoolPtrOutput

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

func (InstanceNetworkOutput) ElementType

func (InstanceNetworkOutput) ElementType() reflect.Type

func (InstanceNetworkOutput) FixedIpV4

Specifies a fixed IPv4 address to be used on this network. Changing this creates a new instance.

func (InstanceNetworkOutput) FixedIpV6

The Fixed IPv6 address of the instance on that network.

func (InstanceNetworkOutput) Ipv6Enable

Specifies whether the IPv6 function is enabled for the nic. Defaults to false. Changing this creates a new instance.

func (InstanceNetworkOutput) Mac

The MAC address of the NIC on that network.

func (InstanceNetworkOutput) Port

The port ID corresponding to the IP address on that network.

func (InstanceNetworkOutput) SourceDestCheck

func (o InstanceNetworkOutput) SourceDestCheck() pulumi.BoolPtrOutput

Specifies whether the ECS processes only traffic that is destined specifically for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a virtual IP address bound to it.

func (InstanceNetworkOutput) ToInstanceNetworkOutput

func (o InstanceNetworkOutput) ToInstanceNetworkOutput() InstanceNetworkOutput

func (InstanceNetworkOutput) ToInstanceNetworkOutputWithContext

func (o InstanceNetworkOutput) ToInstanceNetworkOutputWithContext(ctx context.Context) InstanceNetworkOutput

func (InstanceNetworkOutput) Uuid

Specifies the network UUID to attach to the instance. Changing this creates a new instance.

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) AccessIpV4

func (o InstanceOutput) AccessIpV4() pulumi.StringOutput

The first detected Fixed IPv4 address or the Floating IP.

func (InstanceOutput) AccessIpV6

func (o InstanceOutput) AccessIpV6() pulumi.StringOutput

The first detected Fixed IPv6 address.

func (InstanceOutput) AdminPass

func (o InstanceOutput) AdminPass() pulumi.StringPtrOutput

Specifies the administrative password to assign to the instance.

func (InstanceOutput) AgencyName

func (o InstanceOutput) AgencyName() pulumi.StringOutput

Specifies the IAM agency name which is created on IAM to provide temporary credentials for ECS to access cloud services.

func (InstanceOutput) AgentList

func (o InstanceOutput) AgentList() pulumi.StringOutput

Specifies the agent list in comma-separated string. Available agents are: + `ces`: enable cloud eye monitoring(free). + `hss`: enable host security basic(free). + `hss,hss-ent`: enable host security enterprise edition.

func (InstanceOutput) AutoPay deprecated

Deprecated: Deprecated

func (InstanceOutput) AutoRenew

func (o InstanceOutput) AutoRenew() pulumi.StringPtrOutput

Specifies whether auto renew is enabled. Valid values are *true* and *false*. Defaults to *false*.

func (InstanceOutput) AvailabilityZone

func (o InstanceOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone in which to create the instance. Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint/?ECS) for the values. Changing this creates a new instance.

func (InstanceOutput) Bandwidth

Specifies the bandwidth of an EIP that will be automatically assigned to the instance. The object structure is documented below. Changing this creates a new instance.

func (InstanceOutput) ChargingMode

func (o InstanceOutput) ChargingMode() pulumi.StringOutput

Specifies the charging mode of the instance. Valid values are *prePaid*, *postPaid* and *spot*, defaults to *postPaid*. Changing this creates a new instance.

func (InstanceOutput) CreatedAt added in v0.0.8

func (o InstanceOutput) CreatedAt() pulumi.StringOutput

The creation time, in UTC format.

func (InstanceOutput) DataDisks

Specifies an array of one or more data disks to attach to the instance. The dataDisks object structure is documented below. Changing this creates a new instance.

func (InstanceOutput) DeleteDisksOnTermination

func (o InstanceOutput) DeleteDisksOnTermination() pulumi.BoolPtrOutput

Specifies whether to delete the data disks when the instance is terminated. Defaults to *false*. This parameter is valid if `chargingMode` is set to *postPaid*, and all data disks will be deleted in *prePaid* charging mode.

func (InstanceOutput) DeleteEipOnTermination

func (o InstanceOutput) DeleteEipOnTermination() pulumi.BoolPtrOutput

Specifies whether the EIP is released when the instance is terminated. Defaults to *true*.

func (InstanceOutput) Description added in v0.0.8

func (o InstanceOutput) Description() pulumi.StringOutput

Specifies the description of the instance. The description consists of 0 to 85 characters, and can't contain '<' or '>'.

func (InstanceOutput) EipId

Specifies the ID of an *existing* EIP assigned to the instance. This parameter and `eipType`, `bandwidth` are alternative. Changing this creates a new instance.

func (InstanceOutput) EipType

Specifies the type of an EIP that will be automatically assigned to the instance. Available values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP). Changing this creates a new instance.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) EnterpriseProjectId

func (o InstanceOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies a unique id in UUID format of enterprise project.

func (InstanceOutput) FlavorId

func (o InstanceOutput) FlavorId() pulumi.StringOutput

Specifies the flavor ID of the instance to be created.

func (InstanceOutput) FlavorName

func (o InstanceOutput) FlavorName() pulumi.StringOutput

The flavor name of the instance.

func (InstanceOutput) ImageId

func (o InstanceOutput) ImageId() pulumi.StringOutput

Required if `imageName` is empty. Specifies the image ID of the desired image for the instance. Changing this creates a new instance.

func (InstanceOutput) ImageName

func (o InstanceOutput) ImageName() pulumi.StringOutput

Required if `imageId` is empty. Specifies the name of the desired image for the instance. Changing this creates a new instance.

func (InstanceOutput) KeyPair

Specifies the SSH keypair name used for logging in to the instance.

func (InstanceOutput) Name

Specifies a unique name for the instance. The name consists of 1 to 64 characters, including letters, digits, underscores (_), hyphens (-), and periods (.).

func (InstanceOutput) Networks

Specifies an array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new instance.

func (InstanceOutput) Period

func (o InstanceOutput) Period() pulumi.IntPtrOutput

Specifies the charging period of the instance. If `periodUnit` is set to *month* , the value ranges from 1 to 9. If `periodUnit` is set to *year*, the value ranges from 1 to 3. This parameter is mandatory if `chargingMode` is set to *prePaid*. Changing this creates a new resource.

func (InstanceOutput) PeriodUnit

func (o InstanceOutput) PeriodUnit() pulumi.StringPtrOutput

Specifies the charging period unit of the instance. Valid values are *month* and *year*. This parameter is mandatory if `chargingMode` is set to *prePaid*. Changing this creates a new instance.

func (InstanceOutput) PowerAction

func (o InstanceOutput) PowerAction() pulumi.StringOutput

Specifies the power action to be done for the instance. The valid values are *ON*, *OFF*, *REBOOT*, *FORCE-OFF* and *FORCE-REBOOT*.

func (InstanceOutput) PrivateKey

func (o InstanceOutput) PrivateKey() pulumi.StringPtrOutput

Specifies the the private key of the keypair in use. This parameter is mandatory when replacing or unbinding a keypair and the instance is in **Running** state.

func (InstanceOutput) PublicIp

func (o InstanceOutput) PublicIp() pulumi.StringOutput

The EIP address that is associted to the instance.

func (InstanceOutput) Region

func (o InstanceOutput) Region() pulumi.StringOutput

Specifies the region in which to create the instance. If omitted, the provider-level region will be used. Changing this creates a new instance.

func (InstanceOutput) SchedulerHints

Specifies the scheduler with hints on how the instance should be launched. The available hints are described below.

func (InstanceOutput) SecurityGroupIds

func (o InstanceOutput) SecurityGroupIds() pulumi.StringArrayOutput

Specifies an array of one or more security group IDs to associate with the instance.

func (InstanceOutput) SecurityGroups

func (o InstanceOutput) SecurityGroups() pulumi.StringArrayOutput

An array of one or more security groups to associate with the instance.

func (InstanceOutput) SpotDuration added in v0.0.8

func (o InstanceOutput) SpotDuration() pulumi.IntPtrOutput

Specifies the service duration of the spot ECS in hours. This parameter takes effect only when `chargingMode` is set to *spot*. Changing this creates a new instance.

func (InstanceOutput) SpotDurationCount added in v0.0.8

func (o InstanceOutput) SpotDurationCount() pulumi.IntOutput

Specifies the number of time periods in the service duration. This parameter takes effect only when `chargingMode` is set to *spot* and the default value is 1. Changing this creates a new instance.

func (InstanceOutput) SpotMaximumPrice added in v0.0.8

func (o InstanceOutput) SpotMaximumPrice() pulumi.StringPtrOutput

Specifies the highest price per hour you accept for a spot ECS. This parameter takes effect only when `chargingMode` is set to *spot*. If the price is not specified, the pay-per-use price is used by default. Changing this creates a new instance.

func (InstanceOutput) Status

func (o InstanceOutput) Status() pulumi.StringOutput

The status of the instance.

func (InstanceOutput) StopBeforeDestroy

func (o InstanceOutput) StopBeforeDestroy() pulumi.BoolPtrOutput

Specifies whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.

func (InstanceOutput) SystemDiskId

func (o InstanceOutput) SystemDiskId() pulumi.StringOutput

The system disk voume ID.

func (InstanceOutput) SystemDiskKmsKeyId added in v0.0.8

func (o InstanceOutput) SystemDiskKmsKeyId() pulumi.StringOutput

Specifies the ID of a KMS key used to encrypt the system disk. Changing this creates a new instance.

func (InstanceOutput) SystemDiskSize

func (o InstanceOutput) SystemDiskSize() pulumi.IntOutput

Specifies the system disk size in GB, The value range is 1 to 1024. Shrinking the disk is not supported.

func (InstanceOutput) SystemDiskType

func (o InstanceOutput) SystemDiskType() pulumi.StringOutput

Specifies the system disk type of the instance. Defaults to `GPSSD`. Changing this creates a new instance.

func (InstanceOutput) Tags

Specifies the key/value pairs to associate with the instance.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) UpdatedAt added in v0.0.8

func (o InstanceOutput) UpdatedAt() pulumi.StringOutput

The last update time, in UTC format.

func (InstanceOutput) UserData

func (o InstanceOutput) UserData() pulumi.StringPtrOutput

Specifies the user data to be injected during the instance creation. Text and text files can be injected. Changing this creates a new instance.

func (InstanceOutput) UserId

Specifies a user ID, required when using keyPair in prePaid charging mode. Changing this creates a new instance.

func (InstanceOutput) VolumeAttacheds

An array of one or more disks to attach to the instance. The volume attached object structure is documented below.

type InstanceSchedulerHint

type InstanceSchedulerHint struct {
	// Specifies the ID of DeH.
	// This parameter takes effect only when the value of tenancy is dedicated. Changing this creates a new instance.
	DehId       *string `pulumi:"dehId"`
	FaultDomain *string `pulumi:"faultDomain"`
	// Specifies a UUID of a Server Group.
	// The instance will be placed into that group. Changing this creates a new instance.
	Group *string `pulumi:"group"`
	// Specifies the tenancy specifies whether the ECS is to be created on a
	// Dedicated Host
	// (DeH) or in a shared pool. Changing this creates a new instance.
	Tenancy *string `pulumi:"tenancy"`
}

type InstanceSchedulerHintArgs

type InstanceSchedulerHintArgs struct {
	// Specifies the ID of DeH.
	// This parameter takes effect only when the value of tenancy is dedicated. Changing this creates a new instance.
	DehId       pulumi.StringPtrInput `pulumi:"dehId"`
	FaultDomain pulumi.StringPtrInput `pulumi:"faultDomain"`
	// Specifies a UUID of a Server Group.
	// The instance will be placed into that group. Changing this creates a new instance.
	Group pulumi.StringPtrInput `pulumi:"group"`
	// Specifies the tenancy specifies whether the ECS is to be created on a
	// Dedicated Host
	// (DeH) or in a shared pool. Changing this creates a new instance.
	Tenancy pulumi.StringPtrInput `pulumi:"tenancy"`
}

func (InstanceSchedulerHintArgs) ElementType

func (InstanceSchedulerHintArgs) ElementType() reflect.Type

func (InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutput

func (i InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutput() InstanceSchedulerHintOutput

func (InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutputWithContext

func (i InstanceSchedulerHintArgs) ToInstanceSchedulerHintOutputWithContext(ctx context.Context) InstanceSchedulerHintOutput

type InstanceSchedulerHintArray

type InstanceSchedulerHintArray []InstanceSchedulerHintInput

func (InstanceSchedulerHintArray) ElementType

func (InstanceSchedulerHintArray) ElementType() reflect.Type

func (InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutput

func (i InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutput() InstanceSchedulerHintArrayOutput

func (InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutputWithContext

func (i InstanceSchedulerHintArray) ToInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) InstanceSchedulerHintArrayOutput

type InstanceSchedulerHintArrayInput

type InstanceSchedulerHintArrayInput interface {
	pulumi.Input

	ToInstanceSchedulerHintArrayOutput() InstanceSchedulerHintArrayOutput
	ToInstanceSchedulerHintArrayOutputWithContext(context.Context) InstanceSchedulerHintArrayOutput
}

InstanceSchedulerHintArrayInput is an input type that accepts InstanceSchedulerHintArray and InstanceSchedulerHintArrayOutput values. You can construct a concrete instance of `InstanceSchedulerHintArrayInput` via:

InstanceSchedulerHintArray{ InstanceSchedulerHintArgs{...} }

type InstanceSchedulerHintArrayOutput

type InstanceSchedulerHintArrayOutput struct{ *pulumi.OutputState }

func (InstanceSchedulerHintArrayOutput) ElementType

func (InstanceSchedulerHintArrayOutput) Index

func (InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutput

func (o InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutput() InstanceSchedulerHintArrayOutput

func (InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutputWithContext

func (o InstanceSchedulerHintArrayOutput) ToInstanceSchedulerHintArrayOutputWithContext(ctx context.Context) InstanceSchedulerHintArrayOutput

type InstanceSchedulerHintInput

type InstanceSchedulerHintInput interface {
	pulumi.Input

	ToInstanceSchedulerHintOutput() InstanceSchedulerHintOutput
	ToInstanceSchedulerHintOutputWithContext(context.Context) InstanceSchedulerHintOutput
}

InstanceSchedulerHintInput is an input type that accepts InstanceSchedulerHintArgs and InstanceSchedulerHintOutput values. You can construct a concrete instance of `InstanceSchedulerHintInput` via:

InstanceSchedulerHintArgs{...}

type InstanceSchedulerHintOutput

type InstanceSchedulerHintOutput struct{ *pulumi.OutputState }

func (InstanceSchedulerHintOutput) DehId

Specifies the ID of DeH. This parameter takes effect only when the value of tenancy is dedicated. Changing this creates a new instance.

func (InstanceSchedulerHintOutput) ElementType

func (InstanceSchedulerHintOutput) FaultDomain

func (InstanceSchedulerHintOutput) Group

Specifies a UUID of a Server Group. The instance will be placed into that group. Changing this creates a new instance.

func (InstanceSchedulerHintOutput) Tenancy

Specifies the tenancy specifies whether the ECS is to be created on a Dedicated Host (DeH) or in a shared pool. Changing this creates a new instance.

func (InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutput

func (o InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutput() InstanceSchedulerHintOutput

func (InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutputWithContext

func (o InstanceSchedulerHintOutput) ToInstanceSchedulerHintOutputWithContext(ctx context.Context) InstanceSchedulerHintOutput

type InstanceState

type InstanceState struct {
	// The first detected Fixed IPv4 address or the Floating IP.
	AccessIpV4 pulumi.StringPtrInput
	// The first detected Fixed IPv6 address.
	AccessIpV6 pulumi.StringPtrInput
	// Specifies the administrative password to assign to the instance.
	AdminPass pulumi.StringPtrInput
	// Specifies the IAM agency name which is created on IAM to provide
	// temporary credentials for ECS to access cloud services.
	AgencyName pulumi.StringPtrInput
	// Specifies the agent list in comma-separated string.
	// Available agents are:
	// + `ces`: enable cloud eye monitoring(free).
	// + `hss`: enable host security basic(free).
	// + `hss,hss-ent`: enable host security enterprise edition.
	AgentList pulumi.StringPtrInput
	// Deprecated: Deprecated
	AutoPay pulumi.StringPtrInput
	// Specifies whether auto renew is enabled.
	// Valid values are *true* and *false*. Defaults to *false*.
	AutoRenew pulumi.StringPtrInput
	// Specifies the availability zone in which to create the instance.
	// Please following [reference](https://developer.huaweicloud.com/intl/en-us/endpoint/?ECS)
	// for the values. Changing this creates a new instance.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the bandwidth of an EIP that will be automatically assigned to the instance.
	// The object structure is documented below. Changing this creates a new instance.
	Bandwidth InstanceBandwidthPtrInput
	// Specifies the charging mode of the instance. Valid values are *prePaid*,
	// *postPaid* and *spot*, defaults to *postPaid*. Changing this creates a new instance.
	ChargingMode pulumi.StringPtrInput
	// The creation time, in UTC format.
	CreatedAt pulumi.StringPtrInput
	// Specifies an array of one or more data disks to attach to the instance.
	// The dataDisks object structure is documented below. Changing this creates a new instance.
	DataDisks InstanceDataDiskArrayInput
	// Specifies whether to delete the data disks when the instance is terminated.
	// Defaults to *false*. This parameter is valid if `chargingMode` is set to *postPaid*, and all data disks will be deleted
	// in *prePaid* charging mode.
	DeleteDisksOnTermination pulumi.BoolPtrInput
	// Specifies whether the EIP is released when the instance is terminated.
	// Defaults to *true*.
	DeleteEipOnTermination pulumi.BoolPtrInput
	// Specifies the description of the instance. The description consists of 0 to 85
	// characters, and can't contain '<' or '>'.
	Description pulumi.StringPtrInput
	// Specifies the ID of an *existing* EIP assigned to the instance.
	// This parameter and `eipType`, `bandwidth` are alternative. Changing this creates a new instance.
	EipId pulumi.StringPtrInput
	// Specifies the type of an EIP that will be automatically assigned to the instance.
	// Available values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP). Changing this creates a new instance.
	EipType pulumi.StringPtrInput
	// Specifies a unique id in UUID format of enterprise project.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the flavor ID of the instance to be created.
	FlavorId pulumi.StringPtrInput
	// The flavor name of the instance.
	FlavorName pulumi.StringPtrInput
	// Required if `imageName` is empty. Specifies the image ID of the desired
	// image for the instance. Changing this creates a new instance.
	ImageId pulumi.StringPtrInput
	// Required if `imageId` is empty. Specifies the name of the desired image
	// for the instance. Changing this creates a new instance.
	ImageName pulumi.StringPtrInput
	// Specifies the SSH keypair name used for logging in to the instance.
	KeyPair pulumi.StringPtrInput
	// Specifies a unique name for the instance. The name consists of 1 to 64 characters,
	// including letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringPtrInput
	// Specifies an array of one or more networks to attach to the instance. The
	// network object structure is documented below. Changing this creates a new instance.
	Networks InstanceNetworkArrayInput
	// Specifies the charging period of the instance.
	// If `periodUnit` is set to *month* , the value ranges from 1 to 9. If `periodUnit` is set to *year*, the value
	// ranges from 1 to 3. This parameter is mandatory if `chargingMode` is set to *prePaid*. Changing this creates a
	// new resource.
	Period pulumi.IntPtrInput
	// Specifies the charging period unit of the instance.
	// Valid values are *month* and *year*. This parameter is mandatory if `chargingMode` is set to *prePaid*.
	// Changing this creates a new instance.
	PeriodUnit pulumi.StringPtrInput
	// Specifies the power action to be done for the instance.
	// The valid values are *ON*, *OFF*, *REBOOT*, *FORCE-OFF* and *FORCE-REBOOT*.
	PowerAction pulumi.StringPtrInput
	// Specifies the the private key of the keypair in use. This parameter is mandatory
	// when replacing or unbinding a keypair and the instance is in **Running** state.
	PrivateKey pulumi.StringPtrInput
	// The EIP address that is associted to the instance.
	PublicIp pulumi.StringPtrInput
	// Specifies the region in which to create the instance.
	// If omitted, the provider-level region will be used. Changing this creates a new instance.
	Region pulumi.StringPtrInput
	// Specifies the scheduler with hints on how the instance should be launched. The
	// available hints are described below.
	SchedulerHints InstanceSchedulerHintArrayInput
	// Specifies an array of one or more security group IDs to associate with the
	// instance.
	SecurityGroupIds pulumi.StringArrayInput
	// An array of one or more security groups to associate with the instance.
	SecurityGroups pulumi.StringArrayInput
	// Specifies the service duration of the spot ECS in hours.
	// This parameter takes effect only when `chargingMode` is set to *spot*.
	// Changing this creates a new instance.
	SpotDuration pulumi.IntPtrInput
	// Specifies the number of time periods in the service duration.
	// This parameter takes effect only when `chargingMode` is set to *spot* and the default value is 1.
	// Changing this creates a new instance.
	SpotDurationCount pulumi.IntPtrInput
	// Specifies the highest price per hour you accept for a spot ECS.
	// This parameter takes effect only when `chargingMode` is set to *spot*. If the price is not specified,
	// the pay-per-use price is used by default. Changing this creates a new instance.
	SpotMaximumPrice pulumi.StringPtrInput
	// The status of the instance.
	Status pulumi.StringPtrInput
	// Specifies whether to try stop instance gracefully before destroying it, thus giving
	// chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
	StopBeforeDestroy pulumi.BoolPtrInput
	// The system disk voume ID.
	SystemDiskId pulumi.StringPtrInput
	// Specifies the ID of a KMS key used to encrypt the system disk.
	// Changing this creates a new instance.
	SystemDiskKmsKeyId pulumi.StringPtrInput
	// Specifies the system disk size in GB, The value range is 1 to 1024.
	// Shrinking the disk is not supported.
	SystemDiskSize pulumi.IntPtrInput
	// Specifies the system disk type of the instance. Defaults to `GPSSD`.
	// Changing this creates a new instance.
	SystemDiskType pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the instance.
	Tags pulumi.StringMapInput
	// The last update time, in UTC format.
	UpdatedAt pulumi.StringPtrInput
	// Specifies the user data to be injected during the instance creation. Text
	// and text files can be injected. Changing this creates a new instance.
	UserData pulumi.StringPtrInput
	// Specifies a user ID, required when using keyPair in prePaid charging mode.
	// Changing this creates a new instance.
	UserId pulumi.StringPtrInput
	// An array of one or more disks to attach to the instance.
	// The volume attached object structure is documented below.
	VolumeAttacheds InstanceVolumeAttachedArrayInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type InstanceVolumeAttached

type InstanceVolumeAttached struct {
	// The volume boot index on that attachment.
	BootIndex *int `pulumi:"bootIndex"`
	// Specifies the ID of a KMS key. This is used to encrypt the disk.
	// Changing this creates a new instance.
	KmsKeyId *string `pulumi:"kmsKeyId"`
	// The volume pci address on that attachment.
	PciAddress *string `pulumi:"pciAddress"`
	// Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
	// This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
	Size *int `pulumi:"size"`
	// Specifies the ECS data disk type, which must be one of available disk types,
	// contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.
	Type *string `pulumi:"type"`
	// The volume ID on that attachment.
	VolumeId *string `pulumi:"volumeId"`
}

type InstanceVolumeAttachedArgs

type InstanceVolumeAttachedArgs struct {
	// The volume boot index on that attachment.
	BootIndex pulumi.IntPtrInput `pulumi:"bootIndex"`
	// Specifies the ID of a KMS key. This is used to encrypt the disk.
	// Changing this creates a new instance.
	KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"`
	// The volume pci address on that attachment.
	PciAddress pulumi.StringPtrInput `pulumi:"pciAddress"`
	// Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s.
	// This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.
	Size pulumi.IntPtrInput `pulumi:"size"`
	// Specifies the ECS data disk type, which must be one of available disk types,
	// contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.
	Type pulumi.StringPtrInput `pulumi:"type"`
	// The volume ID on that attachment.
	VolumeId pulumi.StringPtrInput `pulumi:"volumeId"`
}

func (InstanceVolumeAttachedArgs) ElementType

func (InstanceVolumeAttachedArgs) ElementType() reflect.Type

func (InstanceVolumeAttachedArgs) ToInstanceVolumeAttachedOutput

func (i InstanceVolumeAttachedArgs) ToInstanceVolumeAttachedOutput() InstanceVolumeAttachedOutput

func (InstanceVolumeAttachedArgs) ToInstanceVolumeAttachedOutputWithContext

func (i InstanceVolumeAttachedArgs) ToInstanceVolumeAttachedOutputWithContext(ctx context.Context) InstanceVolumeAttachedOutput

type InstanceVolumeAttachedArray

type InstanceVolumeAttachedArray []InstanceVolumeAttachedInput

func (InstanceVolumeAttachedArray) ElementType

func (InstanceVolumeAttachedArray) ToInstanceVolumeAttachedArrayOutput

func (i InstanceVolumeAttachedArray) ToInstanceVolumeAttachedArrayOutput() InstanceVolumeAttachedArrayOutput

func (InstanceVolumeAttachedArray) ToInstanceVolumeAttachedArrayOutputWithContext

func (i InstanceVolumeAttachedArray) ToInstanceVolumeAttachedArrayOutputWithContext(ctx context.Context) InstanceVolumeAttachedArrayOutput

type InstanceVolumeAttachedArrayInput

type InstanceVolumeAttachedArrayInput interface {
	pulumi.Input

	ToInstanceVolumeAttachedArrayOutput() InstanceVolumeAttachedArrayOutput
	ToInstanceVolumeAttachedArrayOutputWithContext(context.Context) InstanceVolumeAttachedArrayOutput
}

InstanceVolumeAttachedArrayInput is an input type that accepts InstanceVolumeAttachedArray and InstanceVolumeAttachedArrayOutput values. You can construct a concrete instance of `InstanceVolumeAttachedArrayInput` via:

InstanceVolumeAttachedArray{ InstanceVolumeAttachedArgs{...} }

type InstanceVolumeAttachedArrayOutput

type InstanceVolumeAttachedArrayOutput struct{ *pulumi.OutputState }

func (InstanceVolumeAttachedArrayOutput) ElementType

func (InstanceVolumeAttachedArrayOutput) Index

func (InstanceVolumeAttachedArrayOutput) ToInstanceVolumeAttachedArrayOutput

func (o InstanceVolumeAttachedArrayOutput) ToInstanceVolumeAttachedArrayOutput() InstanceVolumeAttachedArrayOutput

func (InstanceVolumeAttachedArrayOutput) ToInstanceVolumeAttachedArrayOutputWithContext

func (o InstanceVolumeAttachedArrayOutput) ToInstanceVolumeAttachedArrayOutputWithContext(ctx context.Context) InstanceVolumeAttachedArrayOutput

type InstanceVolumeAttachedInput

type InstanceVolumeAttachedInput interface {
	pulumi.Input

	ToInstanceVolumeAttachedOutput() InstanceVolumeAttachedOutput
	ToInstanceVolumeAttachedOutputWithContext(context.Context) InstanceVolumeAttachedOutput
}

InstanceVolumeAttachedInput is an input type that accepts InstanceVolumeAttachedArgs and InstanceVolumeAttachedOutput values. You can construct a concrete instance of `InstanceVolumeAttachedInput` via:

InstanceVolumeAttachedArgs{...}

type InstanceVolumeAttachedOutput

type InstanceVolumeAttachedOutput struct{ *pulumi.OutputState }

func (InstanceVolumeAttachedOutput) BootIndex

The volume boot index on that attachment.

func (InstanceVolumeAttachedOutput) ElementType

func (InstanceVolumeAttachedOutput) KmsKeyId added in v0.0.8

Specifies the ID of a KMS key. This is used to encrypt the disk. Changing this creates a new instance.

func (InstanceVolumeAttachedOutput) PciAddress

The volume pci address on that attachment.

func (InstanceVolumeAttachedOutput) Size

Specifies the bandwidth size. The value ranges from 1 to 300 Mbit/s. This parameter is mandatory when `shareType` is set to **PER**. Changing this creates a new instance.

func (InstanceVolumeAttachedOutput) ToInstanceVolumeAttachedOutput

func (o InstanceVolumeAttachedOutput) ToInstanceVolumeAttachedOutput() InstanceVolumeAttachedOutput

func (InstanceVolumeAttachedOutput) ToInstanceVolumeAttachedOutputWithContext

func (o InstanceVolumeAttachedOutput) ToInstanceVolumeAttachedOutputWithContext(ctx context.Context) InstanceVolumeAttachedOutput

func (InstanceVolumeAttachedOutput) Type

Specifies the ECS data disk type, which must be one of available disk types, contains of *SSD*, *GPSSD* and *SAS*. Changing this creates a new instance.

func (InstanceVolumeAttachedOutput) VolumeId

The volume ID on that attachment.

type InterfaceAttach

type InterfaceAttach struct {
	pulumi.CustomResourceState

	// An IP address to assosciate with the port.
	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// The ID of the Instance to attach the Port or Network to.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The MAC address of the NIC.
	Mac pulumi.StringOutput `pulumi:"mac"`
	// The ID of the Network to attach to an Instance. A port will be created
	// automatically.
	// This option and `portId` are mutually exclusive.
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// The ID of the Port to attach to an Instance.
	// This option and `networkId` are mutually exclusive.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The region in which to create the network interface attache resource. If
	// omitted, the provider-level region will be used. Changing this creates a new network interface attache resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the list of security group IDs bound to the specified port.\
	// Defaults to the default security group.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// Specifies whether the ECS processes only traffic that is destined specifically
	// for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a
	// virtual IP address bound to it.
	SourceDestCheck pulumi.BoolPtrOutput `pulumi:"sourceDestCheck"`
}

Attaches a Network Interface to an Instance.

## Example Usage ### Attach a port (under the specified network) to the ECS instance and generate a random IP address

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		instanceId := cfg.RequireObject("instanceId")
		networkId := cfg.RequireObject("networkId")
		_, err := Ecs.NewInterfaceAttach(ctx, "test", &Ecs.InterfaceAttachArgs{
			InstanceId: pulumi.Any(instanceId),
			NetworkId:  pulumi.Any(networkId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Attach a custom port to the ECS instance

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		securityGroupId := cfg.RequireObject("securityGroupId")
		mynet, err := Vpc.GetSubnet(ctx, &vpc.GetSubnetArgs{
			Name: pulumi.StringRef("subnet-default"),
		}, nil)
		if err != nil {
			return err
		}
		myport, err := Vpc.GetPort(ctx, &vpc.GetPortArgs{
			NetworkId: pulumi.StringRef(mynet.Id),
			FixedIp:   pulumi.StringRef("192.168.0.100"),
		}, nil)
		if err != nil {
			return err
		}
		myinstance, err := Ecs.NewInstance(ctx, "myinstance", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(securityGroupId),
			},
			AvailabilityZone: pulumi.String("cn-north-4a"),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = Ecs.NewInterfaceAttach(ctx, "attached", &Ecs.InterfaceAttachArgs{
			InstanceId: myinstance.ID(),
			PortId:     pulumi.String(myport.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Interface Attachments can be imported using the Instance ID and Port ID separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:Ecs/interfaceAttach:InterfaceAttach ai_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666

```

func GetInterfaceAttach

func GetInterfaceAttach(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InterfaceAttachState, opts ...pulumi.ResourceOption) (*InterfaceAttach, error)

GetInterfaceAttach gets an existing InterfaceAttach 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 NewInterfaceAttach

func NewInterfaceAttach(ctx *pulumi.Context,
	name string, args *InterfaceAttachArgs, opts ...pulumi.ResourceOption) (*InterfaceAttach, error)

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

func (*InterfaceAttach) ElementType

func (*InterfaceAttach) ElementType() reflect.Type

func (*InterfaceAttach) ToInterfaceAttachOutput

func (i *InterfaceAttach) ToInterfaceAttachOutput() InterfaceAttachOutput

func (*InterfaceAttach) ToInterfaceAttachOutputWithContext

func (i *InterfaceAttach) ToInterfaceAttachOutputWithContext(ctx context.Context) InterfaceAttachOutput

type InterfaceAttachArgs

type InterfaceAttachArgs struct {
	// An IP address to assosciate with the port.
	FixedIp pulumi.StringPtrInput
	// The ID of the Instance to attach the Port or Network to.
	InstanceId pulumi.StringInput
	// The ID of the Network to attach to an Instance. A port will be created
	// automatically.
	// This option and `portId` are mutually exclusive.
	NetworkId pulumi.StringPtrInput
	// The ID of the Port to attach to an Instance.
	// This option and `networkId` are mutually exclusive.
	PortId pulumi.StringPtrInput
	// The region in which to create the network interface attache resource. If
	// omitted, the provider-level region will be used. Changing this creates a new network interface attache resource.
	Region pulumi.StringPtrInput
	// Specifies the list of security group IDs bound to the specified port.\
	// Defaults to the default security group.
	SecurityGroupIds pulumi.StringArrayInput
	// Specifies whether the ECS processes only traffic that is destined specifically
	// for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a
	// virtual IP address bound to it.
	SourceDestCheck pulumi.BoolPtrInput
}

The set of arguments for constructing a InterfaceAttach resource.

func (InterfaceAttachArgs) ElementType

func (InterfaceAttachArgs) ElementType() reflect.Type

type InterfaceAttachArray

type InterfaceAttachArray []InterfaceAttachInput

func (InterfaceAttachArray) ElementType

func (InterfaceAttachArray) ElementType() reflect.Type

func (InterfaceAttachArray) ToInterfaceAttachArrayOutput

func (i InterfaceAttachArray) ToInterfaceAttachArrayOutput() InterfaceAttachArrayOutput

func (InterfaceAttachArray) ToInterfaceAttachArrayOutputWithContext

func (i InterfaceAttachArray) ToInterfaceAttachArrayOutputWithContext(ctx context.Context) InterfaceAttachArrayOutput

type InterfaceAttachArrayInput

type InterfaceAttachArrayInput interface {
	pulumi.Input

	ToInterfaceAttachArrayOutput() InterfaceAttachArrayOutput
	ToInterfaceAttachArrayOutputWithContext(context.Context) InterfaceAttachArrayOutput
}

InterfaceAttachArrayInput is an input type that accepts InterfaceAttachArray and InterfaceAttachArrayOutput values. You can construct a concrete instance of `InterfaceAttachArrayInput` via:

InterfaceAttachArray{ InterfaceAttachArgs{...} }

type InterfaceAttachArrayOutput

type InterfaceAttachArrayOutput struct{ *pulumi.OutputState }

func (InterfaceAttachArrayOutput) ElementType

func (InterfaceAttachArrayOutput) ElementType() reflect.Type

func (InterfaceAttachArrayOutput) Index

func (InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutput

func (o InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutput() InterfaceAttachArrayOutput

func (InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutputWithContext

func (o InterfaceAttachArrayOutput) ToInterfaceAttachArrayOutputWithContext(ctx context.Context) InterfaceAttachArrayOutput

type InterfaceAttachInput

type InterfaceAttachInput interface {
	pulumi.Input

	ToInterfaceAttachOutput() InterfaceAttachOutput
	ToInterfaceAttachOutputWithContext(ctx context.Context) InterfaceAttachOutput
}

type InterfaceAttachMap

type InterfaceAttachMap map[string]InterfaceAttachInput

func (InterfaceAttachMap) ElementType

func (InterfaceAttachMap) ElementType() reflect.Type

func (InterfaceAttachMap) ToInterfaceAttachMapOutput

func (i InterfaceAttachMap) ToInterfaceAttachMapOutput() InterfaceAttachMapOutput

func (InterfaceAttachMap) ToInterfaceAttachMapOutputWithContext

func (i InterfaceAttachMap) ToInterfaceAttachMapOutputWithContext(ctx context.Context) InterfaceAttachMapOutput

type InterfaceAttachMapInput

type InterfaceAttachMapInput interface {
	pulumi.Input

	ToInterfaceAttachMapOutput() InterfaceAttachMapOutput
	ToInterfaceAttachMapOutputWithContext(context.Context) InterfaceAttachMapOutput
}

InterfaceAttachMapInput is an input type that accepts InterfaceAttachMap and InterfaceAttachMapOutput values. You can construct a concrete instance of `InterfaceAttachMapInput` via:

InterfaceAttachMap{ "key": InterfaceAttachArgs{...} }

type InterfaceAttachMapOutput

type InterfaceAttachMapOutput struct{ *pulumi.OutputState }

func (InterfaceAttachMapOutput) ElementType

func (InterfaceAttachMapOutput) ElementType() reflect.Type

func (InterfaceAttachMapOutput) MapIndex

func (InterfaceAttachMapOutput) ToInterfaceAttachMapOutput

func (o InterfaceAttachMapOutput) ToInterfaceAttachMapOutput() InterfaceAttachMapOutput

func (InterfaceAttachMapOutput) ToInterfaceAttachMapOutputWithContext

func (o InterfaceAttachMapOutput) ToInterfaceAttachMapOutputWithContext(ctx context.Context) InterfaceAttachMapOutput

type InterfaceAttachOutput

type InterfaceAttachOutput struct{ *pulumi.OutputState }

func (InterfaceAttachOutput) ElementType

func (InterfaceAttachOutput) ElementType() reflect.Type

func (InterfaceAttachOutput) FixedIp

An IP address to assosciate with the port.

func (InterfaceAttachOutput) InstanceId

func (o InterfaceAttachOutput) InstanceId() pulumi.StringOutput

The ID of the Instance to attach the Port or Network to.

func (InterfaceAttachOutput) Mac

The MAC address of the NIC.

func (InterfaceAttachOutput) NetworkId

The ID of the Network to attach to an Instance. A port will be created automatically. This option and `portId` are mutually exclusive.

func (InterfaceAttachOutput) PortId

The ID of the Port to attach to an Instance. This option and `networkId` are mutually exclusive.

func (InterfaceAttachOutput) Region

The region in which to create the network interface attache resource. If omitted, the provider-level region will be used. Changing this creates a new network interface attache resource.

func (InterfaceAttachOutput) SecurityGroupIds added in v0.0.8

func (o InterfaceAttachOutput) SecurityGroupIds() pulumi.StringArrayOutput

Specifies the list of security group IDs bound to the specified port.\ Defaults to the default security group.

func (InterfaceAttachOutput) SourceDestCheck

func (o InterfaceAttachOutput) SourceDestCheck() pulumi.BoolPtrOutput

Specifies whether the ECS processes only traffic that is destined specifically for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a virtual IP address bound to it.

func (InterfaceAttachOutput) ToInterfaceAttachOutput

func (o InterfaceAttachOutput) ToInterfaceAttachOutput() InterfaceAttachOutput

func (InterfaceAttachOutput) ToInterfaceAttachOutputWithContext

func (o InterfaceAttachOutput) ToInterfaceAttachOutputWithContext(ctx context.Context) InterfaceAttachOutput

type InterfaceAttachState

type InterfaceAttachState struct {
	// An IP address to assosciate with the port.
	FixedIp pulumi.StringPtrInput
	// The ID of the Instance to attach the Port or Network to.
	InstanceId pulumi.StringPtrInput
	// The MAC address of the NIC.
	Mac pulumi.StringPtrInput
	// The ID of the Network to attach to an Instance. A port will be created
	// automatically.
	// This option and `portId` are mutually exclusive.
	NetworkId pulumi.StringPtrInput
	// The ID of the Port to attach to an Instance.
	// This option and `networkId` are mutually exclusive.
	PortId pulumi.StringPtrInput
	// The region in which to create the network interface attache resource. If
	// omitted, the provider-level region will be used. Changing this creates a new network interface attache resource.
	Region pulumi.StringPtrInput
	// Specifies the list of security group IDs bound to the specified port.\
	// Defaults to the default security group.
	SecurityGroupIds pulumi.StringArrayInput
	// Specifies whether the ECS processes only traffic that is destined specifically
	// for it. This function is enabled by default but should be disabled if the ECS functions as a SNAT server or has a
	// virtual IP address bound to it.
	SourceDestCheck pulumi.BoolPtrInput
}

func (InterfaceAttachState) ElementType

func (InterfaceAttachState) ElementType() reflect.Type

type Keypair

type Keypair struct {
	pulumi.CustomResourceState

	// Specifies the path of the created private key.
	// The private key file (**.pem**) is created only after the resource is created.
	// By default, the private key file will be created in the same folder as the current script file.
	// If you need to create it in another folder, please specify the path for `keyFile`.
	// Changing this creates a new keypair.
	KeyFile pulumi.StringOutput `pulumi:"keyFile"`
	// Specifies a unique name for the keypair. Changing this creates a new keypair.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the imported OpenSSH-formatted public key. Changing this creates
	// a new keypair.
	// This parameter and `keyFile` are alternative.
	PublicKey pulumi.StringOutput `pulumi:"publicKey"`
	// Specifies the region in which to create the keypair resource. If omitted, the
	// provider-level region will be used. Changing this creates a new keypair.
	Region pulumi.StringOutput `pulumi:"region"`
}

## Example Usage ### Create a new keypair and export private key to current folder

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Ecs.NewKeypair(ctx, "test-keypair", &Ecs.KeypairArgs{
			KeyFile: pulumi.String("private_key.pem"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Import an exist keypair

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Ecs.NewKeypair(ctx, "test-keypair", &Ecs.KeypairArgs{
			PublicKey: pulumi.String("ssh-rsa AAAAB3NzaC1yc2EAAAlJq5Pu+eizhou7nFFDxXofr2ySF8k/yuA9OnJdVF9Fbf85Z59CWNZBvcAT... root@terra-dev"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Keypairs can be imported using the `name`, e.g.

```sh

$ pulumi import huaweicloud:Ecs/keypair:Keypair my-keypair test-keypair

```

func GetKeypair

func GetKeypair(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *KeypairState, opts ...pulumi.ResourceOption) (*Keypair, error)

GetKeypair gets an existing Keypair 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 NewKeypair

func NewKeypair(ctx *pulumi.Context,
	name string, args *KeypairArgs, opts ...pulumi.ResourceOption) (*Keypair, error)

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

func (*Keypair) ElementType

func (*Keypair) ElementType() reflect.Type

func (*Keypair) ToKeypairOutput

func (i *Keypair) ToKeypairOutput() KeypairOutput

func (*Keypair) ToKeypairOutputWithContext

func (i *Keypair) ToKeypairOutputWithContext(ctx context.Context) KeypairOutput

type KeypairArgs

type KeypairArgs struct {
	// Specifies the path of the created private key.
	// The private key file (**.pem**) is created only after the resource is created.
	// By default, the private key file will be created in the same folder as the current script file.
	// If you need to create it in another folder, please specify the path for `keyFile`.
	// Changing this creates a new keypair.
	KeyFile pulumi.StringPtrInput
	// Specifies a unique name for the keypair. Changing this creates a new keypair.
	Name pulumi.StringPtrInput
	// Specifies the imported OpenSSH-formatted public key. Changing this creates
	// a new keypair.
	// This parameter and `keyFile` are alternative.
	PublicKey pulumi.StringPtrInput
	// Specifies the region in which to create the keypair resource. If omitted, the
	// provider-level region will be used. Changing this creates a new keypair.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a Keypair resource.

func (KeypairArgs) ElementType

func (KeypairArgs) ElementType() reflect.Type

type KeypairArray

type KeypairArray []KeypairInput

func (KeypairArray) ElementType

func (KeypairArray) ElementType() reflect.Type

func (KeypairArray) ToKeypairArrayOutput

func (i KeypairArray) ToKeypairArrayOutput() KeypairArrayOutput

func (KeypairArray) ToKeypairArrayOutputWithContext

func (i KeypairArray) ToKeypairArrayOutputWithContext(ctx context.Context) KeypairArrayOutput

type KeypairArrayInput

type KeypairArrayInput interface {
	pulumi.Input

	ToKeypairArrayOutput() KeypairArrayOutput
	ToKeypairArrayOutputWithContext(context.Context) KeypairArrayOutput
}

KeypairArrayInput is an input type that accepts KeypairArray and KeypairArrayOutput values. You can construct a concrete instance of `KeypairArrayInput` via:

KeypairArray{ KeypairArgs{...} }

type KeypairArrayOutput

type KeypairArrayOutput struct{ *pulumi.OutputState }

func (KeypairArrayOutput) ElementType

func (KeypairArrayOutput) ElementType() reflect.Type

func (KeypairArrayOutput) Index

func (KeypairArrayOutput) ToKeypairArrayOutput

func (o KeypairArrayOutput) ToKeypairArrayOutput() KeypairArrayOutput

func (KeypairArrayOutput) ToKeypairArrayOutputWithContext

func (o KeypairArrayOutput) ToKeypairArrayOutputWithContext(ctx context.Context) KeypairArrayOutput

type KeypairInput

type KeypairInput interface {
	pulumi.Input

	ToKeypairOutput() KeypairOutput
	ToKeypairOutputWithContext(ctx context.Context) KeypairOutput
}

type KeypairMap

type KeypairMap map[string]KeypairInput

func (KeypairMap) ElementType

func (KeypairMap) ElementType() reflect.Type

func (KeypairMap) ToKeypairMapOutput

func (i KeypairMap) ToKeypairMapOutput() KeypairMapOutput

func (KeypairMap) ToKeypairMapOutputWithContext

func (i KeypairMap) ToKeypairMapOutputWithContext(ctx context.Context) KeypairMapOutput

type KeypairMapInput

type KeypairMapInput interface {
	pulumi.Input

	ToKeypairMapOutput() KeypairMapOutput
	ToKeypairMapOutputWithContext(context.Context) KeypairMapOutput
}

KeypairMapInput is an input type that accepts KeypairMap and KeypairMapOutput values. You can construct a concrete instance of `KeypairMapInput` via:

KeypairMap{ "key": KeypairArgs{...} }

type KeypairMapOutput

type KeypairMapOutput struct{ *pulumi.OutputState }

func (KeypairMapOutput) ElementType

func (KeypairMapOutput) ElementType() reflect.Type

func (KeypairMapOutput) MapIndex

func (KeypairMapOutput) ToKeypairMapOutput

func (o KeypairMapOutput) ToKeypairMapOutput() KeypairMapOutput

func (KeypairMapOutput) ToKeypairMapOutputWithContext

func (o KeypairMapOutput) ToKeypairMapOutputWithContext(ctx context.Context) KeypairMapOutput

type KeypairOutput

type KeypairOutput struct{ *pulumi.OutputState }

func (KeypairOutput) ElementType

func (KeypairOutput) ElementType() reflect.Type

func (KeypairOutput) KeyFile

func (o KeypairOutput) KeyFile() pulumi.StringOutput

Specifies the path of the created private key. The private key file (**.pem**) is created only after the resource is created. By default, the private key file will be created in the same folder as the current script file. If you need to create it in another folder, please specify the path for `keyFile`. Changing this creates a new keypair.

func (KeypairOutput) Name

Specifies a unique name for the keypair. Changing this creates a new keypair.

func (KeypairOutput) PublicKey

func (o KeypairOutput) PublicKey() pulumi.StringOutput

Specifies the imported OpenSSH-formatted public key. Changing this creates a new keypair. This parameter and `keyFile` are alternative.

func (KeypairOutput) Region

func (o KeypairOutput) Region() pulumi.StringOutput

Specifies the region in which to create the keypair resource. If omitted, the provider-level region will be used. Changing this creates a new keypair.

func (KeypairOutput) ToKeypairOutput

func (o KeypairOutput) ToKeypairOutput() KeypairOutput

func (KeypairOutput) ToKeypairOutputWithContext

func (o KeypairOutput) ToKeypairOutputWithContext(ctx context.Context) KeypairOutput

type KeypairState

type KeypairState struct {
	// Specifies the path of the created private key.
	// The private key file (**.pem**) is created only after the resource is created.
	// By default, the private key file will be created in the same folder as the current script file.
	// If you need to create it in another folder, please specify the path for `keyFile`.
	// Changing this creates a new keypair.
	KeyFile pulumi.StringPtrInput
	// Specifies a unique name for the keypair. Changing this creates a new keypair.
	Name pulumi.StringPtrInput
	// Specifies the imported OpenSSH-formatted public key. Changing this creates
	// a new keypair.
	// This parameter and `keyFile` are alternative.
	PublicKey pulumi.StringPtrInput
	// Specifies the region in which to create the keypair resource. If omitted, the
	// provider-level region will be used. Changing this creates a new keypair.
	Region pulumi.StringPtrInput
}

func (KeypairState) ElementType

func (KeypairState) ElementType() reflect.Type

type LookupInstanceArgs

type LookupInstanceArgs struct {
	// Specifies the enterprise project id.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the IPv4 addresses of the ECS.
	FixedIpV4 *string `pulumi:"fixedIpV4"`
	// Specifies the flavor ID.
	FlavorId *string `pulumi:"flavorId"`
	// Specifies the ECS ID.
	InstanceId *string `pulumi:"instanceId"`
	// Specifies the ECS name, which can be queried with a regular expression.
	Name *string `pulumi:"name"`
	// The region in which to obtain the instance.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getInstance.

type LookupInstanceOutputArgs

type LookupInstanceOutputArgs struct {
	// Specifies the enterprise project id.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the IPv4 addresses of the ECS.
	FixedIpV4 pulumi.StringPtrInput `pulumi:"fixedIpV4"`
	// Specifies the flavor ID.
	FlavorId pulumi.StringPtrInput `pulumi:"flavorId"`
	// Specifies the ECS ID.
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
	// Specifies the ECS name, which can be queried with a regular expression.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the instance.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getInstance.

func (LookupInstanceOutputArgs) ElementType

func (LookupInstanceOutputArgs) ElementType() reflect.Type

type LookupInstanceResult

type LookupInstanceResult struct {
	// The availability zone where the instance is located.
	AvailabilityZone    string `pulumi:"availabilityZone"`
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	// The fixed IPv4 address of the instance on this network.
	FixedIpV4 *string `pulumi:"fixedIpV4"`
	FlavorId  string  `pulumi:"flavorId"`
	// The flavor name of the instance.
	FlavorName string `pulumi:"flavorName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The image ID of the instance.
	ImageId string `pulumi:"imageId"`
	// The image name of the instance.
	ImageName  string  `pulumi:"imageName"`
	InstanceId *string `pulumi:"instanceId"`
	// The key pair that is used to authenticate the instance.
	KeyPair string `pulumi:"keyPair"`
	Name    string `pulumi:"name"`
	// An array of one or more networks to attach to the instance.
	// The network object structure is documented below.
	Networks []GetInstanceNetwork `pulumi:"networks"`
	// The EIP address that is associted to the instance.
	PublicIp string `pulumi:"publicIp"`
	Region   string `pulumi:"region"`
	// The scheduler with hints on how the instance should be launched.
	// The scheduler hints structure is documented below.
	SchedulerHints []GetInstanceSchedulerHint `pulumi:"schedulerHints"`
	// An array of one or more security group IDs to associate with the instance.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// An array of one or more security groups to associate with the instance.
	SecurityGroups []string `pulumi:"securityGroups"`
	// The status of the instance.
	Status string `pulumi:"status"`
	// The system disk voume ID.
	SystemDiskId string `pulumi:"systemDiskId"`
	// The key/value pairs to associate with the instance.
	Tags map[string]string `pulumi:"tags"`
	// The user data (information after encoding) configured during instance creation.
	UserData string `pulumi:"userData"`
	// An array of one or more disks to attach to the instance.
	// The volume attached object structure is documented below.
	VolumeAttacheds []GetInstanceVolumeAttached `pulumi:"volumeAttacheds"`
}

A collection of values returned by getInstance.

func LookupInstance

func LookupInstance(ctx *pulumi.Context, args *LookupInstanceArgs, opts ...pulumi.InvokeOption) (*LookupInstanceResult, error)

Use this data source to get the details of a specified compute instance.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		ecsName := cfg.RequireObject("ecsName")
		_, err := Ecs.GetInstance(ctx, &ecs.GetInstanceArgs{
			Name: pulumi.StringRef(ecsName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupInstanceResultOutput

type LookupInstanceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstance.

func (LookupInstanceResultOutput) AvailabilityZone

func (o LookupInstanceResultOutput) AvailabilityZone() pulumi.StringOutput

The availability zone where the instance is located.

func (LookupInstanceResultOutput) ElementType

func (LookupInstanceResultOutput) ElementType() reflect.Type

func (LookupInstanceResultOutput) EnterpriseProjectId

func (o LookupInstanceResultOutput) EnterpriseProjectId() pulumi.StringOutput

func (LookupInstanceResultOutput) FixedIpV4

The fixed IPv4 address of the instance on this network.

func (LookupInstanceResultOutput) FlavorId

func (LookupInstanceResultOutput) FlavorName

The flavor name of the instance.

func (LookupInstanceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupInstanceResultOutput) ImageId

The image ID of the instance.

func (LookupInstanceResultOutput) ImageName

The image name of the instance.

func (LookupInstanceResultOutput) InstanceId added in v0.0.8

func (LookupInstanceResultOutput) KeyPair

The key pair that is used to authenticate the instance.

func (LookupInstanceResultOutput) Name

func (LookupInstanceResultOutput) Networks

An array of one or more networks to attach to the instance. The network object structure is documented below.

func (LookupInstanceResultOutput) PublicIp

The EIP address that is associted to the instance.

func (LookupInstanceResultOutput) Region

func (LookupInstanceResultOutput) SchedulerHints

The scheduler with hints on how the instance should be launched. The scheduler hints structure is documented below.

func (LookupInstanceResultOutput) SecurityGroupIds

An array of one or more security group IDs to associate with the instance.

func (LookupInstanceResultOutput) SecurityGroups

An array of one or more security groups to associate with the instance.

func (LookupInstanceResultOutput) Status

The status of the instance.

func (LookupInstanceResultOutput) SystemDiskId

The system disk voume ID.

func (LookupInstanceResultOutput) Tags

The key/value pairs to associate with the instance.

func (LookupInstanceResultOutput) ToLookupInstanceResultOutput

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutput() LookupInstanceResultOutput

func (LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext(ctx context.Context) LookupInstanceResultOutput

func (LookupInstanceResultOutput) UserData

The user data (information after encoding) configured during instance creation.

func (LookupInstanceResultOutput) VolumeAttacheds

An array of one or more disks to attach to the instance. The volume attached object structure is documented below.

type Servergroup

type Servergroup struct {
	pulumi.CustomResourceState

	// schema: Internal
	FaultDomains pulumi.StringArrayOutput `pulumi:"faultDomains"`
	// Specifies an array of one or more instance ID to attach server group.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// Specifies a unique name for the server group. This parameter can contain a
	// maximum of 255 characters, which may consist of letters, digits, underscores (_), and hyphens (-). Changing this
	// creates a new server group.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the set of policies for the server group. Only *anti-affinity*
	// policies are supported.
	Policies pulumi.StringArrayOutput `pulumi:"policies"`
	// Specifies the region in which to create the server group resource. If omitted,
	// the provider-level region will be used. Changing this creates a new server group.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages Server Group resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		instanceDemo, err := Ecs.GetInstance(ctx, &ecs.GetInstanceArgs{
			Name: pulumi.StringRef("ecs-servergroup-demo"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = Ecs.NewServergroup(ctx, "test-sg", &Ecs.ServergroupArgs{
			Policies: pulumi.StringArray{
				pulumi.String("anti-affinity"),
			},
			Members: pulumi.StringArray{
				pulumi.String(instanceDemo.Id),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Server Groups can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Ecs/servergroup:Servergroup test-sg 1bc30ee9-9d5b-4c30-bdd5-7f1e663f5edf

```

func GetServergroup

func GetServergroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServergroupState, opts ...pulumi.ResourceOption) (*Servergroup, error)

GetServergroup gets an existing Servergroup 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 NewServergroup

func NewServergroup(ctx *pulumi.Context,
	name string, args *ServergroupArgs, opts ...pulumi.ResourceOption) (*Servergroup, error)

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

func (*Servergroup) ElementType

func (*Servergroup) ElementType() reflect.Type

func (*Servergroup) ToServergroupOutput

func (i *Servergroup) ToServergroupOutput() ServergroupOutput

func (*Servergroup) ToServergroupOutputWithContext

func (i *Servergroup) ToServergroupOutputWithContext(ctx context.Context) ServergroupOutput

type ServergroupArgs

type ServergroupArgs struct {
	// Specifies an array of one or more instance ID to attach server group.
	Members pulumi.StringArrayInput
	// Specifies a unique name for the server group. This parameter can contain a
	// maximum of 255 characters, which may consist of letters, digits, underscores (_), and hyphens (-). Changing this
	// creates a new server group.
	Name pulumi.StringPtrInput
	// Specifies the set of policies for the server group. Only *anti-affinity*
	// policies are supported.
	Policies pulumi.StringArrayInput
	// Specifies the region in which to create the server group resource. If omitted,
	// the provider-level region will be used. Changing this creates a new server group.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a Servergroup resource.

func (ServergroupArgs) ElementType

func (ServergroupArgs) ElementType() reflect.Type

type ServergroupArray

type ServergroupArray []ServergroupInput

func (ServergroupArray) ElementType

func (ServergroupArray) ElementType() reflect.Type

func (ServergroupArray) ToServergroupArrayOutput

func (i ServergroupArray) ToServergroupArrayOutput() ServergroupArrayOutput

func (ServergroupArray) ToServergroupArrayOutputWithContext

func (i ServergroupArray) ToServergroupArrayOutputWithContext(ctx context.Context) ServergroupArrayOutput

type ServergroupArrayInput

type ServergroupArrayInput interface {
	pulumi.Input

	ToServergroupArrayOutput() ServergroupArrayOutput
	ToServergroupArrayOutputWithContext(context.Context) ServergroupArrayOutput
}

ServergroupArrayInput is an input type that accepts ServergroupArray and ServergroupArrayOutput values. You can construct a concrete instance of `ServergroupArrayInput` via:

ServergroupArray{ ServergroupArgs{...} }

type ServergroupArrayOutput

type ServergroupArrayOutput struct{ *pulumi.OutputState }

func (ServergroupArrayOutput) ElementType

func (ServergroupArrayOutput) ElementType() reflect.Type

func (ServergroupArrayOutput) Index

func (ServergroupArrayOutput) ToServergroupArrayOutput

func (o ServergroupArrayOutput) ToServergroupArrayOutput() ServergroupArrayOutput

func (ServergroupArrayOutput) ToServergroupArrayOutputWithContext

func (o ServergroupArrayOutput) ToServergroupArrayOutputWithContext(ctx context.Context) ServergroupArrayOutput

type ServergroupInput

type ServergroupInput interface {
	pulumi.Input

	ToServergroupOutput() ServergroupOutput
	ToServergroupOutputWithContext(ctx context.Context) ServergroupOutput
}

type ServergroupMap

type ServergroupMap map[string]ServergroupInput

func (ServergroupMap) ElementType

func (ServergroupMap) ElementType() reflect.Type

func (ServergroupMap) ToServergroupMapOutput

func (i ServergroupMap) ToServergroupMapOutput() ServergroupMapOutput

func (ServergroupMap) ToServergroupMapOutputWithContext

func (i ServergroupMap) ToServergroupMapOutputWithContext(ctx context.Context) ServergroupMapOutput

type ServergroupMapInput

type ServergroupMapInput interface {
	pulumi.Input

	ToServergroupMapOutput() ServergroupMapOutput
	ToServergroupMapOutputWithContext(context.Context) ServergroupMapOutput
}

ServergroupMapInput is an input type that accepts ServergroupMap and ServergroupMapOutput values. You can construct a concrete instance of `ServergroupMapInput` via:

ServergroupMap{ "key": ServergroupArgs{...} }

type ServergroupMapOutput

type ServergroupMapOutput struct{ *pulumi.OutputState }

func (ServergroupMapOutput) ElementType

func (ServergroupMapOutput) ElementType() reflect.Type

func (ServergroupMapOutput) MapIndex

func (ServergroupMapOutput) ToServergroupMapOutput

func (o ServergroupMapOutput) ToServergroupMapOutput() ServergroupMapOutput

func (ServergroupMapOutput) ToServergroupMapOutputWithContext

func (o ServergroupMapOutput) ToServergroupMapOutputWithContext(ctx context.Context) ServergroupMapOutput

type ServergroupOutput

type ServergroupOutput struct{ *pulumi.OutputState }

func (ServergroupOutput) ElementType

func (ServergroupOutput) ElementType() reflect.Type

func (ServergroupOutput) FaultDomains

func (o ServergroupOutput) FaultDomains() pulumi.StringArrayOutput

schema: Internal

func (ServergroupOutput) Members

Specifies an array of one or more instance ID to attach server group.

func (ServergroupOutput) Name

Specifies a unique name for the server group. This parameter can contain a maximum of 255 characters, which may consist of letters, digits, underscores (_), and hyphens (-). Changing this creates a new server group.

func (ServergroupOutput) Policies

Specifies the set of policies for the server group. Only *anti-affinity* policies are supported.

func (ServergroupOutput) Region

Specifies the region in which to create the server group resource. If omitted, the provider-level region will be used. Changing this creates a new server group.

func (ServergroupOutput) ToServergroupOutput

func (o ServergroupOutput) ToServergroupOutput() ServergroupOutput

func (ServergroupOutput) ToServergroupOutputWithContext

func (o ServergroupOutput) ToServergroupOutputWithContext(ctx context.Context) ServergroupOutput

type ServergroupState

type ServergroupState struct {
	// schema: Internal
	FaultDomains pulumi.StringArrayInput
	// Specifies an array of one or more instance ID to attach server group.
	Members pulumi.StringArrayInput
	// Specifies a unique name for the server group. This parameter can contain a
	// maximum of 255 characters, which may consist of letters, digits, underscores (_), and hyphens (-). Changing this
	// creates a new server group.
	Name pulumi.StringPtrInput
	// Specifies the set of policies for the server group. Only *anti-affinity*
	// policies are supported.
	Policies pulumi.StringArrayInput
	// Specifies the region in which to create the server group resource. If omitted,
	// the provider-level region will be used. Changing this creates a new server group.
	Region pulumi.StringPtrInput
}

func (ServergroupState) ElementType

func (ServergroupState) ElementType() reflect.Type

type VolumeAttach

type VolumeAttach struct {
	pulumi.CustomResourceState

	// Specifies the device of the volume attachment (ex: `/dev/vdc`).
	Device pulumi.StringOutput `pulumi:"device"`
	// Specifies the ID of the Instance to attach the Volume to.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// PCI address of the block device.
	PciAddress pulumi.StringOutput `pulumi:"pciAddress"`
	// Specifies the region in which to create the volume resource. If omitted, the
	// provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringOutput `pulumi:"volumeId"`
}

Attaches a volume to an ECS Instance.

## Example Usage ### Basic attachment of a single volume to a single instance

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Evs"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		securityGroupId := cfg.RequireObject("securityGroupId")
		myvol, err := Evs.NewVolume(ctx, "myvol", &Evs.VolumeArgs{
			AvailabilityZone: pulumi.String("cn-north-4a"),
			VolumeType:       pulumi.String("SAS"),
			Size:             pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		myinstance, err := Ecs.NewInstance(ctx, "myinstance", &Ecs.InstanceArgs{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s6.small.1"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(securityGroupId),
			},
			AvailabilityZone: pulumi.String("cn-north-4a"),
			Networks: ecs.InstanceNetworkArray{
				&ecs.InstanceNetworkArgs{
					Uuid: pulumi.String("55534eaa-533a-419d-9b40-ec427ea7195a"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = Ecs.NewVolumeAttach(ctx, "attached", &Ecs.VolumeAttachArgs{
			InstanceId: myinstance.ID(),
			VolumeId:   myvol.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Volume Attachments can be imported using the Instance ID and Volume ID separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:Ecs/volumeAttach:VolumeAttach va_1 89c60255-9bd6-460c-822a-e2b959ede9d2/45670584-225f-46c3-b33e-6707b589b666

```

func GetVolumeAttach

func GetVolumeAttach(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VolumeAttachState, opts ...pulumi.ResourceOption) (*VolumeAttach, error)

GetVolumeAttach gets an existing VolumeAttach 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 NewVolumeAttach

func NewVolumeAttach(ctx *pulumi.Context,
	name string, args *VolumeAttachArgs, opts ...pulumi.ResourceOption) (*VolumeAttach, error)

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

func (*VolumeAttach) ElementType

func (*VolumeAttach) ElementType() reflect.Type

func (*VolumeAttach) ToVolumeAttachOutput

func (i *VolumeAttach) ToVolumeAttachOutput() VolumeAttachOutput

func (*VolumeAttach) ToVolumeAttachOutputWithContext

func (i *VolumeAttach) ToVolumeAttachOutputWithContext(ctx context.Context) VolumeAttachOutput

type VolumeAttachArgs

type VolumeAttachArgs struct {
	// Specifies the device of the volume attachment (ex: `/dev/vdc`).
	Device pulumi.StringPtrInput
	// Specifies the ID of the Instance to attach the Volume to.
	InstanceId pulumi.StringInput
	// Specifies the region in which to create the volume resource. If omitted, the
	// provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// Specifies the ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringInput
}

The set of arguments for constructing a VolumeAttach resource.

func (VolumeAttachArgs) ElementType

func (VolumeAttachArgs) ElementType() reflect.Type

type VolumeAttachArray

type VolumeAttachArray []VolumeAttachInput

func (VolumeAttachArray) ElementType

func (VolumeAttachArray) ElementType() reflect.Type

func (VolumeAttachArray) ToVolumeAttachArrayOutput

func (i VolumeAttachArray) ToVolumeAttachArrayOutput() VolumeAttachArrayOutput

func (VolumeAttachArray) ToVolumeAttachArrayOutputWithContext

func (i VolumeAttachArray) ToVolumeAttachArrayOutputWithContext(ctx context.Context) VolumeAttachArrayOutput

type VolumeAttachArrayInput

type VolumeAttachArrayInput interface {
	pulumi.Input

	ToVolumeAttachArrayOutput() VolumeAttachArrayOutput
	ToVolumeAttachArrayOutputWithContext(context.Context) VolumeAttachArrayOutput
}

VolumeAttachArrayInput is an input type that accepts VolumeAttachArray and VolumeAttachArrayOutput values. You can construct a concrete instance of `VolumeAttachArrayInput` via:

VolumeAttachArray{ VolumeAttachArgs{...} }

type VolumeAttachArrayOutput

type VolumeAttachArrayOutput struct{ *pulumi.OutputState }

func (VolumeAttachArrayOutput) ElementType

func (VolumeAttachArrayOutput) ElementType() reflect.Type

func (VolumeAttachArrayOutput) Index

func (VolumeAttachArrayOutput) ToVolumeAttachArrayOutput

func (o VolumeAttachArrayOutput) ToVolumeAttachArrayOutput() VolumeAttachArrayOutput

func (VolumeAttachArrayOutput) ToVolumeAttachArrayOutputWithContext

func (o VolumeAttachArrayOutput) ToVolumeAttachArrayOutputWithContext(ctx context.Context) VolumeAttachArrayOutput

type VolumeAttachInput

type VolumeAttachInput interface {
	pulumi.Input

	ToVolumeAttachOutput() VolumeAttachOutput
	ToVolumeAttachOutputWithContext(ctx context.Context) VolumeAttachOutput
}

type VolumeAttachMap

type VolumeAttachMap map[string]VolumeAttachInput

func (VolumeAttachMap) ElementType

func (VolumeAttachMap) ElementType() reflect.Type

func (VolumeAttachMap) ToVolumeAttachMapOutput

func (i VolumeAttachMap) ToVolumeAttachMapOutput() VolumeAttachMapOutput

func (VolumeAttachMap) ToVolumeAttachMapOutputWithContext

func (i VolumeAttachMap) ToVolumeAttachMapOutputWithContext(ctx context.Context) VolumeAttachMapOutput

type VolumeAttachMapInput

type VolumeAttachMapInput interface {
	pulumi.Input

	ToVolumeAttachMapOutput() VolumeAttachMapOutput
	ToVolumeAttachMapOutputWithContext(context.Context) VolumeAttachMapOutput
}

VolumeAttachMapInput is an input type that accepts VolumeAttachMap and VolumeAttachMapOutput values. You can construct a concrete instance of `VolumeAttachMapInput` via:

VolumeAttachMap{ "key": VolumeAttachArgs{...} }

type VolumeAttachMapOutput

type VolumeAttachMapOutput struct{ *pulumi.OutputState }

func (VolumeAttachMapOutput) ElementType

func (VolumeAttachMapOutput) ElementType() reflect.Type

func (VolumeAttachMapOutput) MapIndex

func (VolumeAttachMapOutput) ToVolumeAttachMapOutput

func (o VolumeAttachMapOutput) ToVolumeAttachMapOutput() VolumeAttachMapOutput

func (VolumeAttachMapOutput) ToVolumeAttachMapOutputWithContext

func (o VolumeAttachMapOutput) ToVolumeAttachMapOutputWithContext(ctx context.Context) VolumeAttachMapOutput

type VolumeAttachOutput

type VolumeAttachOutput struct{ *pulumi.OutputState }

func (VolumeAttachOutput) Device

Specifies the device of the volume attachment (ex: `/dev/vdc`).

func (VolumeAttachOutput) ElementType

func (VolumeAttachOutput) ElementType() reflect.Type

func (VolumeAttachOutput) InstanceId

func (o VolumeAttachOutput) InstanceId() pulumi.StringOutput

Specifies the ID of the Instance to attach the Volume to.

func (VolumeAttachOutput) PciAddress

func (o VolumeAttachOutput) PciAddress() pulumi.StringOutput

PCI address of the block device.

func (VolumeAttachOutput) Region

Specifies the region in which to create the volume resource. If omitted, the provider-level region will be used. Changing this creates a new resource.

func (VolumeAttachOutput) ToVolumeAttachOutput

func (o VolumeAttachOutput) ToVolumeAttachOutput() VolumeAttachOutput

func (VolumeAttachOutput) ToVolumeAttachOutputWithContext

func (o VolumeAttachOutput) ToVolumeAttachOutputWithContext(ctx context.Context) VolumeAttachOutput

func (VolumeAttachOutput) VolumeId

func (o VolumeAttachOutput) VolumeId() pulumi.StringOutput

Specifies the ID of the Volume to attach to an Instance.

type VolumeAttachState

type VolumeAttachState struct {
	// Specifies the device of the volume attachment (ex: `/dev/vdc`).
	Device pulumi.StringPtrInput
	// Specifies the ID of the Instance to attach the Volume to.
	InstanceId pulumi.StringPtrInput
	// PCI address of the block device.
	PciAddress pulumi.StringPtrInput
	// Specifies the region in which to create the volume resource. If omitted, the
	// provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// Specifies the ID of the Volume to attach to an Instance.
	VolumeId pulumi.StringPtrInput
}

func (VolumeAttachState) ElementType

func (VolumeAttachState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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