ecp

package
v3.55.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetInstanceTypesArgs added in v3.19.0

type GetInstanceTypesArgs struct {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getInstanceTypes.

type GetInstanceTypesInstanceType added in v3.19.0

type GetInstanceTypesInstanceType struct {
	// The cpu core count of the current instance type.
	CpuCoreCount int `pulumi:"cpuCoreCount"`
	// The default resolution of the current instance type.
	DefaultResolution string `pulumi:"defaultResolution"`
	// The list of available instance type.
	InstanceType       string `pulumi:"instanceType"`
	InstanceTypeFamily string `pulumi:"instanceTypeFamily"`
	// The name of the current instance type.
	Name string `pulumi:"name"`
	// The English name of the current instance type.
	NameEn string `pulumi:"nameEn"`
}

type GetInstanceTypesInstanceTypeArgs added in v3.19.0

type GetInstanceTypesInstanceTypeArgs struct {
	// The cpu core count of the current instance type.
	CpuCoreCount pulumi.IntInput `pulumi:"cpuCoreCount"`
	// The default resolution of the current instance type.
	DefaultResolution pulumi.StringInput `pulumi:"defaultResolution"`
	// The list of available instance type.
	InstanceType       pulumi.StringInput `pulumi:"instanceType"`
	InstanceTypeFamily pulumi.StringInput `pulumi:"instanceTypeFamily"`
	// The name of the current instance type.
	Name pulumi.StringInput `pulumi:"name"`
	// The English name of the current instance type.
	NameEn pulumi.StringInput `pulumi:"nameEn"`
}

func (GetInstanceTypesInstanceTypeArgs) ElementType added in v3.19.0

func (GetInstanceTypesInstanceTypeArgs) ToGetInstanceTypesInstanceTypeOutput added in v3.19.0

func (i GetInstanceTypesInstanceTypeArgs) ToGetInstanceTypesInstanceTypeOutput() GetInstanceTypesInstanceTypeOutput

func (GetInstanceTypesInstanceTypeArgs) ToGetInstanceTypesInstanceTypeOutputWithContext added in v3.19.0

func (i GetInstanceTypesInstanceTypeArgs) ToGetInstanceTypesInstanceTypeOutputWithContext(ctx context.Context) GetInstanceTypesInstanceTypeOutput

type GetInstanceTypesInstanceTypeArray added in v3.19.0

type GetInstanceTypesInstanceTypeArray []GetInstanceTypesInstanceTypeInput

func (GetInstanceTypesInstanceTypeArray) ElementType added in v3.19.0

func (GetInstanceTypesInstanceTypeArray) ToGetInstanceTypesInstanceTypeArrayOutput added in v3.19.0

func (i GetInstanceTypesInstanceTypeArray) ToGetInstanceTypesInstanceTypeArrayOutput() GetInstanceTypesInstanceTypeArrayOutput

func (GetInstanceTypesInstanceTypeArray) ToGetInstanceTypesInstanceTypeArrayOutputWithContext added in v3.19.0

func (i GetInstanceTypesInstanceTypeArray) ToGetInstanceTypesInstanceTypeArrayOutputWithContext(ctx context.Context) GetInstanceTypesInstanceTypeArrayOutput

type GetInstanceTypesInstanceTypeArrayInput added in v3.19.0

type GetInstanceTypesInstanceTypeArrayInput interface {
	pulumi.Input

	ToGetInstanceTypesInstanceTypeArrayOutput() GetInstanceTypesInstanceTypeArrayOutput
	ToGetInstanceTypesInstanceTypeArrayOutputWithContext(context.Context) GetInstanceTypesInstanceTypeArrayOutput
}

GetInstanceTypesInstanceTypeArrayInput is an input type that accepts GetInstanceTypesInstanceTypeArray and GetInstanceTypesInstanceTypeArrayOutput values. You can construct a concrete instance of `GetInstanceTypesInstanceTypeArrayInput` via:

GetInstanceTypesInstanceTypeArray{ GetInstanceTypesInstanceTypeArgs{...} }

type GetInstanceTypesInstanceTypeArrayOutput added in v3.19.0

type GetInstanceTypesInstanceTypeArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceTypesInstanceTypeArrayOutput) ElementType added in v3.19.0

func (GetInstanceTypesInstanceTypeArrayOutput) Index added in v3.19.0

func (GetInstanceTypesInstanceTypeArrayOutput) ToGetInstanceTypesInstanceTypeArrayOutput added in v3.19.0

func (o GetInstanceTypesInstanceTypeArrayOutput) ToGetInstanceTypesInstanceTypeArrayOutput() GetInstanceTypesInstanceTypeArrayOutput

func (GetInstanceTypesInstanceTypeArrayOutput) ToGetInstanceTypesInstanceTypeArrayOutputWithContext added in v3.19.0

func (o GetInstanceTypesInstanceTypeArrayOutput) ToGetInstanceTypesInstanceTypeArrayOutputWithContext(ctx context.Context) GetInstanceTypesInstanceTypeArrayOutput

type GetInstanceTypesInstanceTypeInput added in v3.19.0

type GetInstanceTypesInstanceTypeInput interface {
	pulumi.Input

	ToGetInstanceTypesInstanceTypeOutput() GetInstanceTypesInstanceTypeOutput
	ToGetInstanceTypesInstanceTypeOutputWithContext(context.Context) GetInstanceTypesInstanceTypeOutput
}

GetInstanceTypesInstanceTypeInput is an input type that accepts GetInstanceTypesInstanceTypeArgs and GetInstanceTypesInstanceTypeOutput values. You can construct a concrete instance of `GetInstanceTypesInstanceTypeInput` via:

GetInstanceTypesInstanceTypeArgs{...}

type GetInstanceTypesInstanceTypeOutput added in v3.19.0

type GetInstanceTypesInstanceTypeOutput struct{ *pulumi.OutputState }

func (GetInstanceTypesInstanceTypeOutput) CpuCoreCount added in v3.19.0

The cpu core count of the current instance type.

func (GetInstanceTypesInstanceTypeOutput) DefaultResolution added in v3.19.0

The default resolution of the current instance type.

func (GetInstanceTypesInstanceTypeOutput) ElementType added in v3.19.0

func (GetInstanceTypesInstanceTypeOutput) InstanceType added in v3.19.0

The list of available instance type.

func (GetInstanceTypesInstanceTypeOutput) InstanceTypeFamily added in v3.19.0

func (GetInstanceTypesInstanceTypeOutput) Name added in v3.19.0

The name of the current instance type.

func (GetInstanceTypesInstanceTypeOutput) NameEn added in v3.19.0

The English name of the current instance type.

func (GetInstanceTypesInstanceTypeOutput) ToGetInstanceTypesInstanceTypeOutput added in v3.19.0

func (o GetInstanceTypesInstanceTypeOutput) ToGetInstanceTypesInstanceTypeOutput() GetInstanceTypesInstanceTypeOutput

func (GetInstanceTypesInstanceTypeOutput) ToGetInstanceTypesInstanceTypeOutputWithContext added in v3.19.0

func (o GetInstanceTypesInstanceTypeOutput) ToGetInstanceTypesInstanceTypeOutputWithContext(ctx context.Context) GetInstanceTypesInstanceTypeOutput

type GetInstanceTypesOutputArgs added in v3.19.0

type GetInstanceTypesOutputArgs struct {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getInstanceTypes.

func (GetInstanceTypesOutputArgs) ElementType added in v3.19.0

func (GetInstanceTypesOutputArgs) ElementType() reflect.Type

type GetInstanceTypesResult added in v3.19.0

type GetInstanceTypesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id            string                         `pulumi:"id"`
	InstanceTypes []GetInstanceTypesInstanceType `pulumi:"instanceTypes"`
	OutputFile    *string                        `pulumi:"outputFile"`
}

A collection of values returned by getInstanceTypes.

func GetInstanceTypes added in v3.19.0

func GetInstanceTypes(ctx *pulumi.Context, args *GetInstanceTypesArgs, opts ...pulumi.InvokeOption) (*GetInstanceTypesResult, error)

This data source provides the available instance types with the Cloud Phone (ECP) Instance of the current Alibaba Cloud user.

> **NOTE:** Available in v1.158.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := ecp.GetInstanceTypes(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstEcpInstanceTypesInstanceType", _default.InstanceTypes[0].InstanceType)
		return nil
	})
}

```

type GetInstanceTypesResultOutput added in v3.19.0

type GetInstanceTypesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstanceTypes.

func GetInstanceTypesOutput added in v3.19.0

func (GetInstanceTypesResultOutput) ElementType added in v3.19.0

func (GetInstanceTypesResultOutput) Id added in v3.19.0

The provider-assigned unique ID for this managed resource.

func (GetInstanceTypesResultOutput) InstanceTypes added in v3.19.0

func (GetInstanceTypesResultOutput) OutputFile added in v3.19.0

func (GetInstanceTypesResultOutput) ToGetInstanceTypesResultOutput added in v3.19.0

func (o GetInstanceTypesResultOutput) ToGetInstanceTypesResultOutput() GetInstanceTypesResultOutput

func (GetInstanceTypesResultOutput) ToGetInstanceTypesResultOutputWithContext added in v3.19.0

func (o GetInstanceTypesResultOutput) ToGetInstanceTypesResultOutputWithContext(ctx context.Context) GetInstanceTypesResultOutput

type GetInstancesArgs added in v3.19.0

type GetInstancesArgs struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of Ecp Instances IDs.
	Ids []string `pulumi:"ids"`
	// The ID Of The Image.
	ImageId *string `pulumi:"imageId"`
	// The name of the instance. It must be 2 to 128 characters in length and must start with an
	// uppercase letter or Chinese. It cannot start with http:// or https. It can contain Chinese, English, numbers,
	// half-width colons (:), underscores (_), half-width periods (.), or dashes (-). The default value is the InstanceId of
	// the instance.
	InstanceName *string `pulumi:"instanceName"`
	// Instance Type.
	InstanceType *string `pulumi:"instanceType"`
	// The name of the key pair of the mobile phone instance.
	KeyPairName *string `pulumi:"keyPairName"`
	// A regex string to filter results by mobile phone name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType *string `pulumi:"paymentType"`
	// The selected resolution for the cloud mobile phone instance.
	Resolution *string `pulumi:"resolution"`
	// Instance status. Valid values: `Pending`, `Running`, `Starting`, `Stopped`, `Stopping`
	// .
	Status *string `pulumi:"status"`
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance added in v3.19.0

type GetInstancesInstance struct {
	// Instance Description.
	Description string `pulumi:"description"`
	// The ID of the Instance.
	Id string `pulumi:"id"`
	// The ID Of The Image.
	ImageId string `pulumi:"imageId"`
	// InstanceId.
	InstanceId string `pulumi:"instanceId"`
	// Instance Name.
	InstanceName string `pulumi:"instanceName"`
	// Instance Type.
	InstanceType string `pulumi:"instanceType"`
	// The Key Name.
	KeyPairName string `pulumi:"keyPairName"`
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType string `pulumi:"paymentType"`
	// Resolution.
	Resolution string `pulumi:"resolution"`
	// Security Group ID.
	SecurityGroupId string `pulumi:"securityGroupId"`
	// Instance Status.
	Status string `pulumi:"status"`
	// VNC login address.
	VncUrl string `pulumi:"vncUrl"`
	// The vswitch id.
	VswitchId string `pulumi:"vswitchId"`
	ZoneId    string `pulumi:"zoneId"`
}

type GetInstancesInstanceArgs added in v3.19.0

type GetInstancesInstanceArgs struct {
	// Instance Description.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the Instance.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID Of The Image.
	ImageId pulumi.StringInput `pulumi:"imageId"`
	// InstanceId.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Instance Name.
	InstanceName pulumi.StringInput `pulumi:"instanceName"`
	// Instance Type.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// The Key Name.
	KeyPairName pulumi.StringInput `pulumi:"keyPairName"`
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType pulumi.StringInput `pulumi:"paymentType"`
	// Resolution.
	Resolution pulumi.StringInput `pulumi:"resolution"`
	// Security Group ID.
	SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"`
	// Instance Status.
	Status pulumi.StringInput `pulumi:"status"`
	// VNC login address.
	VncUrl pulumi.StringInput `pulumi:"vncUrl"`
	// The vswitch id.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	ZoneId    pulumi.StringInput `pulumi:"zoneId"`
}

func (GetInstancesInstanceArgs) ElementType added in v3.19.0

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput added in v3.19.0

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext added in v3.19.0

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

type GetInstancesInstanceArray added in v3.19.0

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType added in v3.19.0

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput added in v3.19.0

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext added in v3.19.0

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

type GetInstancesInstanceArrayInput added in v3.19.0

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 added in v3.19.0

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType added in v3.19.0

func (GetInstancesInstanceArrayOutput) Index added in v3.19.0

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput added in v3.19.0

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext added in v3.19.0

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

type GetInstancesInstanceInput added in v3.19.0

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 GetInstancesInstanceOutput added in v3.19.0

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) Description added in v3.19.0

Instance Description.

func (GetInstancesInstanceOutput) ElementType added in v3.19.0

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) Id added in v3.19.0

The ID of the Instance.

func (GetInstancesInstanceOutput) ImageId added in v3.19.0

The ID Of The Image.

func (GetInstancesInstanceOutput) InstanceId added in v3.19.0

InstanceId.

func (GetInstancesInstanceOutput) InstanceName added in v3.19.0

Instance Name.

func (GetInstancesInstanceOutput) InstanceType added in v3.19.0

Instance Type.

func (GetInstancesInstanceOutput) KeyPairName added in v3.19.0

The Key Name.

func (GetInstancesInstanceOutput) PaymentType added in v3.19.0

The payment type.Valid values: `PayAsYouGo`,`Subscription`

func (GetInstancesInstanceOutput) Resolution added in v3.19.0

Resolution.

func (GetInstancesInstanceOutput) SecurityGroupId added in v3.19.0

func (o GetInstancesInstanceOutput) SecurityGroupId() pulumi.StringOutput

Security Group ID.

func (GetInstancesInstanceOutput) Status added in v3.19.0

Instance Status.

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput added in v3.19.0

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext added in v3.19.0

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

func (GetInstancesInstanceOutput) VncUrl added in v3.19.0

VNC login address.

func (GetInstancesInstanceOutput) VswitchId added in v3.19.0

The vswitch id.

func (GetInstancesInstanceOutput) ZoneId added in v3.19.0

type GetInstancesOutputArgs added in v3.19.0

type GetInstancesOutputArgs struct {
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of Ecp Instances IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The ID Of The Image.
	ImageId pulumi.StringPtrInput `pulumi:"imageId"`
	// The name of the instance. It must be 2 to 128 characters in length and must start with an
	// uppercase letter or Chinese. It cannot start with http:// or https. It can contain Chinese, English, numbers,
	// half-width colons (:), underscores (_), half-width periods (.), or dashes (-). The default value is the InstanceId of
	// the instance.
	InstanceName pulumi.StringPtrInput `pulumi:"instanceName"`
	// Instance Type.
	InstanceType pulumi.StringPtrInput `pulumi:"instanceType"`
	// The name of the key pair of the mobile phone instance.
	KeyPairName pulumi.StringPtrInput `pulumi:"keyPairName"`
	// A regex string to filter results by mobile phone name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType pulumi.StringPtrInput `pulumi:"paymentType"`
	// The selected resolution for the cloud mobile phone instance.
	Resolution pulumi.StringPtrInput `pulumi:"resolution"`
	// Instance status. Valid values: `Pending`, `Running`, `Starting`, `Stopped`, `Stopping`
	// .
	Status pulumi.StringPtrInput `pulumi:"status"`
	ZoneId pulumi.StringPtrInput `pulumi:"zoneId"`
}

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType added in v3.19.0

func (GetInstancesOutputArgs) ElementType() reflect.Type

type GetInstancesResult added in v3.19.0

type GetInstancesResult struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id           string                 `pulumi:"id"`
	Ids          []string               `pulumi:"ids"`
	ImageId      *string                `pulumi:"imageId"`
	InstanceName *string                `pulumi:"instanceName"`
	InstanceType *string                `pulumi:"instanceType"`
	Instances    []GetInstancesInstance `pulumi:"instances"`
	KeyPairName  *string                `pulumi:"keyPairName"`
	NameRegex    *string                `pulumi:"nameRegex"`
	Names        []string               `pulumi:"names"`
	OutputFile   *string                `pulumi:"outputFile"`
	PaymentType  *string                `pulumi:"paymentType"`
	Resolution   *string                `pulumi:"resolution"`
	Status       *string                `pulumi:"status"`
	ZoneId       *string                `pulumi:"zoneId"`
}

A collection of values returned by getInstances.

func GetInstances added in v3.19.0

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

This data source provides the Ecp Instances of the current Alibaba Cloud user.

> **NOTE:** Available in v1.158.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := ecp.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecp.GetInstanceTypes(ctx, nil, nil)
		if err != nil {
			return err
		}
		countSize := len(_default.Zones)
		zoneId := _default.Zones[countSize-1].ZoneId
		instanceTypeCountSize := len(defaultGetInstanceTypes.InstanceTypes)
		_ := defaultGetInstanceTypes.InstanceTypes[instanceTypeCountSize-1].InstanceType
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(zoneId),
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
			Name:  pulumi.Any(name),
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultKeyPair, err := ecp.NewKeyPair(ctx, "default", &ecp.KeyPairArgs{
			KeyPairName:   pulumi.Any(name),
			PublicKeyBody: pulumi.String("ssh-rsa AAAAB3Nza12345678qwertyuudsfsg"),
		})
		if err != nil {
			return err
		}
		_, err = ecp.NewInstance(ctx, "default", &ecp.InstanceArgs{
			InstanceName: pulumi.Any(name),
			Description:  pulumi.Any(name),
			Force:        pulumi.Bool(true),
			KeyPairName:  defaultKeyPair.KeyPairName,
			VswitchId:    pulumi.String(defaultGetSwitches.Ids[0]),
			ImageId:      pulumi.String("android_9_0_0_release_2851157_20211201.vhd"),
			InstanceType: defaultGetInstanceTypes.InstanceTypes[instanceTypeCountSize-1].InstanceType,
			PaymentType:  pulumi.String("PayAsYouGo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetInstancesResultOutput added in v3.19.0

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func GetInstancesOutput added in v3.19.0

func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput

func (GetInstancesResultOutput) ElementType added in v3.19.0

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) EnableDetails added in v3.19.0

func (o GetInstancesResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetInstancesResultOutput) Id added in v3.19.0

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids added in v3.19.0

func (GetInstancesResultOutput) ImageId added in v3.19.0

func (GetInstancesResultOutput) InstanceName added in v3.19.0

func (GetInstancesResultOutput) InstanceType added in v3.19.0

func (GetInstancesResultOutput) Instances added in v3.19.0

func (GetInstancesResultOutput) KeyPairName added in v3.19.0

func (GetInstancesResultOutput) NameRegex added in v3.19.0

func (GetInstancesResultOutput) Names added in v3.19.0

func (GetInstancesResultOutput) OutputFile added in v3.19.0

func (GetInstancesResultOutput) PaymentType added in v3.19.0

func (GetInstancesResultOutput) Resolution added in v3.19.0

func (GetInstancesResultOutput) Status added in v3.19.0

func (GetInstancesResultOutput) ToGetInstancesResultOutput added in v3.19.0

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext added in v3.19.0

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

func (GetInstancesResultOutput) ZoneId added in v3.19.0

type GetKeyPairsArgs

type GetKeyPairsArgs struct {
	// A list of Key Pair IDs. Its element value is same as Key Pair Name.
	Ids []string `pulumi:"ids"`
	// The Private Key of the Fingerprint.
	KeyPairFingerPrint *string `pulumi:"keyPairFingerPrint"`
	// A regex string to filter results by Key Pair name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getKeyPairs.

type GetKeyPairsOutputArgs added in v3.9.0

type GetKeyPairsOutputArgs struct {
	// A list of Key Pair IDs. Its element value is same as Key Pair Name.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The Private Key of the Fingerprint.
	KeyPairFingerPrint pulumi.StringPtrInput `pulumi:"keyPairFingerPrint"`
	// A regex string to filter results by Key Pair name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getKeyPairs.

func (GetKeyPairsOutputArgs) ElementType added in v3.9.0

func (GetKeyPairsOutputArgs) ElementType() reflect.Type

type GetKeyPairsPair

type GetKeyPairsPair struct {
	// The ID of the Key Pair. Its value is same as Queue Name.
	Id string `pulumi:"id"`
	// The Private Key of the Fingerprint.
	KeyPairFingerPrint string `pulumi:"keyPairFingerPrint"`
	// The Key Name.
	KeyPairName string `pulumi:"keyPairName"`
}

type GetKeyPairsPairArgs

type GetKeyPairsPairArgs struct {
	// The ID of the Key Pair. Its value is same as Queue Name.
	Id pulumi.StringInput `pulumi:"id"`
	// The Private Key of the Fingerprint.
	KeyPairFingerPrint pulumi.StringInput `pulumi:"keyPairFingerPrint"`
	// The Key Name.
	KeyPairName pulumi.StringInput `pulumi:"keyPairName"`
}

func (GetKeyPairsPairArgs) ElementType

func (GetKeyPairsPairArgs) ElementType() reflect.Type

func (GetKeyPairsPairArgs) ToGetKeyPairsPairOutput

func (i GetKeyPairsPairArgs) ToGetKeyPairsPairOutput() GetKeyPairsPairOutput

func (GetKeyPairsPairArgs) ToGetKeyPairsPairOutputWithContext

func (i GetKeyPairsPairArgs) ToGetKeyPairsPairOutputWithContext(ctx context.Context) GetKeyPairsPairOutput

type GetKeyPairsPairArray

type GetKeyPairsPairArray []GetKeyPairsPairInput

func (GetKeyPairsPairArray) ElementType

func (GetKeyPairsPairArray) ElementType() reflect.Type

func (GetKeyPairsPairArray) ToGetKeyPairsPairArrayOutput

func (i GetKeyPairsPairArray) ToGetKeyPairsPairArrayOutput() GetKeyPairsPairArrayOutput

func (GetKeyPairsPairArray) ToGetKeyPairsPairArrayOutputWithContext

func (i GetKeyPairsPairArray) ToGetKeyPairsPairArrayOutputWithContext(ctx context.Context) GetKeyPairsPairArrayOutput

type GetKeyPairsPairArrayInput

type GetKeyPairsPairArrayInput interface {
	pulumi.Input

	ToGetKeyPairsPairArrayOutput() GetKeyPairsPairArrayOutput
	ToGetKeyPairsPairArrayOutputWithContext(context.Context) GetKeyPairsPairArrayOutput
}

GetKeyPairsPairArrayInput is an input type that accepts GetKeyPairsPairArray and GetKeyPairsPairArrayOutput values. You can construct a concrete instance of `GetKeyPairsPairArrayInput` via:

GetKeyPairsPairArray{ GetKeyPairsPairArgs{...} }

type GetKeyPairsPairArrayOutput

type GetKeyPairsPairArrayOutput struct{ *pulumi.OutputState }

func (GetKeyPairsPairArrayOutput) ElementType

func (GetKeyPairsPairArrayOutput) ElementType() reflect.Type

func (GetKeyPairsPairArrayOutput) Index

func (GetKeyPairsPairArrayOutput) ToGetKeyPairsPairArrayOutput

func (o GetKeyPairsPairArrayOutput) ToGetKeyPairsPairArrayOutput() GetKeyPairsPairArrayOutput

func (GetKeyPairsPairArrayOutput) ToGetKeyPairsPairArrayOutputWithContext

func (o GetKeyPairsPairArrayOutput) ToGetKeyPairsPairArrayOutputWithContext(ctx context.Context) GetKeyPairsPairArrayOutput

type GetKeyPairsPairInput

type GetKeyPairsPairInput interface {
	pulumi.Input

	ToGetKeyPairsPairOutput() GetKeyPairsPairOutput
	ToGetKeyPairsPairOutputWithContext(context.Context) GetKeyPairsPairOutput
}

GetKeyPairsPairInput is an input type that accepts GetKeyPairsPairArgs and GetKeyPairsPairOutput values. You can construct a concrete instance of `GetKeyPairsPairInput` via:

GetKeyPairsPairArgs{...}

type GetKeyPairsPairOutput

type GetKeyPairsPairOutput struct{ *pulumi.OutputState }

func (GetKeyPairsPairOutput) ElementType

func (GetKeyPairsPairOutput) ElementType() reflect.Type

func (GetKeyPairsPairOutput) Id

The ID of the Key Pair. Its value is same as Queue Name.

func (GetKeyPairsPairOutput) KeyPairFingerPrint

func (o GetKeyPairsPairOutput) KeyPairFingerPrint() pulumi.StringOutput

The Private Key of the Fingerprint.

func (GetKeyPairsPairOutput) KeyPairName

func (o GetKeyPairsPairOutput) KeyPairName() pulumi.StringOutput

The Key Name.

func (GetKeyPairsPairOutput) ToGetKeyPairsPairOutput

func (o GetKeyPairsPairOutput) ToGetKeyPairsPairOutput() GetKeyPairsPairOutput

func (GetKeyPairsPairOutput) ToGetKeyPairsPairOutputWithContext

func (o GetKeyPairsPairOutput) ToGetKeyPairsPairOutputWithContext(ctx context.Context) GetKeyPairsPairOutput

type GetKeyPairsResult

type GetKeyPairsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                 string            `pulumi:"id"`
	Ids                []string          `pulumi:"ids"`
	KeyPairFingerPrint *string           `pulumi:"keyPairFingerPrint"`
	NameRegex          *string           `pulumi:"nameRegex"`
	Names              []string          `pulumi:"names"`
	OutputFile         *string           `pulumi:"outputFile"`
	Pairs              []GetKeyPairsPair `pulumi:"pairs"`
}

A collection of values returned by getKeyPairs.

func GetKeyPairs

func GetKeyPairs(ctx *pulumi.Context, args *GetKeyPairsArgs, opts ...pulumi.InvokeOption) (*GetKeyPairsResult, error)

This data source provides the Ecp Key Pairs of the current Alibaba Cloud user.

> **NOTE:** Available in v1.130.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := ecp.GetKeyPairs(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("ecpKeyPairId1", ids.Pairs[0].Id)
		nameRegex, err := ecp.GetKeyPairs(ctx, &ecp.GetKeyPairsArgs{
			NameRegex: pulumi.StringRef("^my-KeyPair"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("ecpKeyPairId2", nameRegex.Pairs[0].Id)
		return nil
	})
}

```

type GetKeyPairsResultOutput added in v3.9.0

type GetKeyPairsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getKeyPairs.

func GetKeyPairsOutput added in v3.9.0

func GetKeyPairsOutput(ctx *pulumi.Context, args GetKeyPairsOutputArgs, opts ...pulumi.InvokeOption) GetKeyPairsResultOutput

func (GetKeyPairsResultOutput) ElementType added in v3.9.0

func (GetKeyPairsResultOutput) ElementType() reflect.Type

func (GetKeyPairsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetKeyPairsResultOutput) Ids added in v3.9.0

func (GetKeyPairsResultOutput) KeyPairFingerPrint added in v3.9.0

func (o GetKeyPairsResultOutput) KeyPairFingerPrint() pulumi.StringPtrOutput

func (GetKeyPairsResultOutput) NameRegex added in v3.9.0

func (GetKeyPairsResultOutput) Names added in v3.9.0

func (GetKeyPairsResultOutput) OutputFile added in v3.9.0

func (GetKeyPairsResultOutput) Pairs added in v3.9.0

func (GetKeyPairsResultOutput) ToGetKeyPairsResultOutput added in v3.9.0

func (o GetKeyPairsResultOutput) ToGetKeyPairsResultOutput() GetKeyPairsResultOutput

func (GetKeyPairsResultOutput) ToGetKeyPairsResultOutputWithContext added in v3.9.0

func (o GetKeyPairsResultOutput) ToGetKeyPairsResultOutputWithContext(ctx context.Context) GetKeyPairsResultOutput

type GetZonesArgs added in v3.19.0

type GetZonesArgs struct {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

type GetZonesOutputArgs added in v3.19.0

type GetZonesOutputArgs struct {
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType added in v3.19.0

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult added in v3.19.0

type GetZonesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string         `pulumi:"id"`
	OutputFile *string        `pulumi:"outputFile"`
	Zones      []GetZonesZone `pulumi:"zones"`
}

A collection of values returned by getZones.

func GetZones added in v3.19.0

func GetZones(ctx *pulumi.Context, args *GetZonesArgs, opts ...pulumi.InvokeOption) (*GetZonesResult, error)

This data source provides the available zones with the Cloud Phone (ECP) Instance of the current Alibaba Cloud user.

> **NOTE:** Available in v1.158.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := ecp.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("alicloudNasZonesId", _default.Zones[0].ZoneId)
		return nil
	})
}

```

type GetZonesResultOutput added in v3.19.0

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func GetZonesOutput added in v3.19.0

func GetZonesOutput(ctx *pulumi.Context, args GetZonesOutputArgs, opts ...pulumi.InvokeOption) GetZonesResultOutput

func (GetZonesResultOutput) ElementType added in v3.19.0

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) Id added in v3.19.0

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) OutputFile added in v3.19.0

func (GetZonesResultOutput) ToGetZonesResultOutput added in v3.19.0

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext added in v3.19.0

func (o GetZonesResultOutput) ToGetZonesResultOutputWithContext(ctx context.Context) GetZonesResultOutput

func (GetZonesResultOutput) Zones added in v3.19.0

type GetZonesZone added in v3.19.0

type GetZonesZone struct {
	// String to filter results by zone id.
	ZoneId string `pulumi:"zoneId"`
}

type GetZonesZoneArgs added in v3.19.0

type GetZonesZoneArgs struct {
	// String to filter results by zone id.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetZonesZoneArgs) ElementType added in v3.19.0

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput added in v3.19.0

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext added in v3.19.0

func (i GetZonesZoneArgs) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

type GetZonesZoneArray added in v3.19.0

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType added in v3.19.0

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput added in v3.19.0

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext added in v3.19.0

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneArrayInput added in v3.19.0

type GetZonesZoneArrayInput interface {
	pulumi.Input

	ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput
	ToGetZonesZoneArrayOutputWithContext(context.Context) GetZonesZoneArrayOutput
}

GetZonesZoneArrayInput is an input type that accepts GetZonesZoneArray and GetZonesZoneArrayOutput values. You can construct a concrete instance of `GetZonesZoneArrayInput` via:

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput added in v3.19.0

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType added in v3.19.0

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index added in v3.19.0

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput added in v3.19.0

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext added in v3.19.0

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext(ctx context.Context) GetZonesZoneArrayOutput

type GetZonesZoneInput added in v3.19.0

type GetZonesZoneInput interface {
	pulumi.Input

	ToGetZonesZoneOutput() GetZonesZoneOutput
	ToGetZonesZoneOutputWithContext(context.Context) GetZonesZoneOutput
}

GetZonesZoneInput is an input type that accepts GetZonesZoneArgs and GetZonesZoneOutput values. You can construct a concrete instance of `GetZonesZoneInput` via:

GetZonesZoneArgs{...}

type GetZonesZoneOutput added in v3.19.0

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType added in v3.19.0

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) ToGetZonesZoneOutput added in v3.19.0

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext added in v3.19.0

func (o GetZonesZoneOutput) ToGetZonesZoneOutputWithContext(ctx context.Context) GetZonesZoneOutput

func (GetZonesZoneOutput) ZoneId added in v3.19.0

String to filter results by zone id.

type Instance added in v3.18.0

type Instance struct {
	pulumi.CustomResourceState

	// The auto pay.
	AutoPay pulumi.BoolPtrOutput `pulumi:"autoPay"`
	// The auto renew.
	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
	// Description of the instance. 2 to 256 English or Chinese characters in length and cannot
	// start with `http://` and `https`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The eip bandwidth.
	EipBandwidth pulumi.IntPtrOutput `pulumi:"eipBandwidth"`
	// The force.
	Force pulumi.BoolPtrOutput `pulumi:"force"`
	// The ID Of The Image.
	ImageId pulumi.StringOutput `pulumi:"imageId"`
	// The name of the instance. It must be 2 to 128 characters in length and must start with an
	// uppercase letter or Chinese. It cannot start with http:// or https. It can contain Chinese, English, numbers,
	// half-width colons (:), underscores (_), half-width periods (.), or dashes (-). The default value is the InstanceId of
	// the instance.
	InstanceName pulumi.StringPtrOutput `pulumi:"instanceName"`
	// Instance Type.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// The name of the key pair of the mobile phone instance.
	KeyPairName pulumi.StringPtrOutput `pulumi:"keyPairName"`
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType pulumi.StringPtrOutput `pulumi:"paymentType"`
	// The period. It is valid when `periodUnit` is 'Year'. Valid value: `1`, `2`, `3`, `4`, `5`. It
	// is valid when `periodUnit` is 'Month'. Valid value: `1`, `2`, `3`, `5`
	Period pulumi.StringPtrOutput `pulumi:"period"`
	// The duration unit that you will buy the resource. Valid value: `Year`,`Month`. Default
	// to `Month`.
	PeriodUnit pulumi.StringPtrOutput `pulumi:"periodUnit"`
	// The selected resolution for the cloud mobile phone instance.
	Resolution pulumi.StringOutput `pulumi:"resolution"`
	// The ID of the security group. The security group is the same as that of the
	// ECS instance.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// Instance status. Valid values: `Running`, `Stopped`.
	Status pulumi.StringOutput `pulumi:"status"`
	// Cloud mobile phone VNC password. The password must be six characters in length and must
	// contain only uppercase, lowercase English letters and Arabic numerals.
	VncPassword pulumi.StringPtrOutput `pulumi:"vncPassword"`
	// The vswitch id.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a Elastic Cloud Phone (ECP) Instance resource.

For information about Elastic Cloud Phone (ECP) Instance and how to use it, see [What is Instance](https://www.alibabacloud.com/help/en/cloudphone/latest/api-cloudphone-2020-12-30-runinstances).

> **NOTE:** Available since v1.158.0.

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"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, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
			Min: 10000,
			Max: 99999,
		})
		if err != nil {
			return err
		}
		_default, err := ecp.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecp.GetInstanceTypes(ctx, nil, nil)
		if err != nil {
			return err
		}
		countSize := len(_default.Zones)
		zoneId := _default.Zones[countSize-1].ZoneId
		instanceTypeCountSize := len(defaultGetInstanceTypes.InstanceTypes)
		_ := defaultGetInstanceTypes.InstanceTypes[instanceTypeCountSize-1].InstanceType
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(zoneId),
		}, nil)
		if err != nil {
			return err
		}
		group, err := ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(name),
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultKeyPair, err := ecp.NewKeyPair(ctx, "default", &ecp.KeyPairArgs{
			KeyPairName:   pulumi.String(fmt.Sprintf("%v-%v", name, defaultInteger.Result)),
			PublicKeyBody: pulumi.String("ssh-rsa AAAAB3Nza12345678qwertyuudsfsg"),
		})
		if err != nil {
			return err
		}
		_, err = ecp.NewInstance(ctx, "default", &ecp.InstanceArgs{
			InstanceName:    pulumi.String(name),
			Description:     pulumi.String(name),
			KeyPairName:     defaultKeyPair.KeyPairName,
			SecurityGroupId: group.ID(),
			VswitchId:       pulumi.String(defaultGetSwitches.Ids[0]),
			ImageId:         pulumi.String("android_9_0_0_release_2851157_20211201.vhd"),
			InstanceType:    pulumi.String(defaultGetInstanceTypes.InstanceTypes[1].InstanceType),
			VncPassword:     pulumi.String("Ecp123"),
			PaymentType:     pulumi.String("PayAsYouGo"),
			Force:           pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Elastic Cloud Phone (ECP) Instance can be imported using the id, e.g.

```sh $ pulumi import alicloud:ecp/instance:Instance example <id> ```

func GetInstance added in v3.18.0

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 added in v3.18.0

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 added in v3.18.0

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput added in v3.18.0

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext added in v3.18.0

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

type InstanceArgs added in v3.18.0

type InstanceArgs struct {
	// The auto pay.
	AutoPay pulumi.BoolPtrInput
	// The auto renew.
	AutoRenew pulumi.BoolPtrInput
	// Description of the instance. 2 to 256 English or Chinese characters in length and cannot
	// start with `http://` and `https`.
	Description pulumi.StringPtrInput
	// The eip bandwidth.
	EipBandwidth pulumi.IntPtrInput
	// The force.
	Force pulumi.BoolPtrInput
	// The ID Of The Image.
	ImageId pulumi.StringInput
	// The name of the instance. It must be 2 to 128 characters in length and must start with an
	// uppercase letter or Chinese. It cannot start with http:// or https. It can contain Chinese, English, numbers,
	// half-width colons (:), underscores (_), half-width periods (.), or dashes (-). The default value is the InstanceId of
	// the instance.
	InstanceName pulumi.StringPtrInput
	// Instance Type.
	InstanceType pulumi.StringInput
	// The name of the key pair of the mobile phone instance.
	KeyPairName pulumi.StringPtrInput
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType pulumi.StringPtrInput
	// The period. It is valid when `periodUnit` is 'Year'. Valid value: `1`, `2`, `3`, `4`, `5`. It
	// is valid when `periodUnit` is 'Month'. Valid value: `1`, `2`, `3`, `5`
	Period pulumi.StringPtrInput
	// The duration unit that you will buy the resource. Valid value: `Year`,`Month`. Default
	// to `Month`.
	PeriodUnit pulumi.StringPtrInput
	// The selected resolution for the cloud mobile phone instance.
	Resolution pulumi.StringPtrInput
	// The ID of the security group. The security group is the same as that of the
	// ECS instance.
	SecurityGroupId pulumi.StringInput
	// Instance status. Valid values: `Running`, `Stopped`.
	Status pulumi.StringPtrInput
	// Cloud mobile phone VNC password. The password must be six characters in length and must
	// contain only uppercase, lowercase English letters and Arabic numerals.
	VncPassword pulumi.StringPtrInput
	// The vswitch id.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType added in v3.18.0

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray added in v3.18.0

type InstanceArray []InstanceInput

func (InstanceArray) ElementType added in v3.18.0

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput added in v3.18.0

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext added in v3.18.0

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

type InstanceArrayInput added in v3.18.0

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 added in v3.18.0

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType added in v3.18.0

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index added in v3.18.0

func (InstanceArrayOutput) ToInstanceArrayOutput added in v3.18.0

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext added in v3.18.0

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

type InstanceInput added in v3.18.0

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap added in v3.18.0

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType added in v3.18.0

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput added in v3.18.0

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext added in v3.18.0

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

type InstanceMapInput added in v3.18.0

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 added in v3.18.0

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType added in v3.18.0

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex added in v3.18.0

func (InstanceMapOutput) ToInstanceMapOutput added in v3.18.0

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext added in v3.18.0

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

type InstanceOutput added in v3.18.0

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) AutoPay added in v3.27.0

func (o InstanceOutput) AutoPay() pulumi.BoolPtrOutput

The auto pay.

func (InstanceOutput) AutoRenew added in v3.27.0

func (o InstanceOutput) AutoRenew() pulumi.BoolPtrOutput

The auto renew.

func (InstanceOutput) Description added in v3.27.0

func (o InstanceOutput) Description() pulumi.StringPtrOutput

Description of the instance. 2 to 256 English or Chinese characters in length and cannot start with `http://` and `https`.

func (InstanceOutput) EipBandwidth added in v3.27.0

func (o InstanceOutput) EipBandwidth() pulumi.IntPtrOutput

The eip bandwidth.

func (InstanceOutput) ElementType added in v3.18.0

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) Force added in v3.27.0

The force.

func (InstanceOutput) ImageId added in v3.27.0

func (o InstanceOutput) ImageId() pulumi.StringOutput

The ID Of The Image.

func (InstanceOutput) InstanceName added in v3.27.0

func (o InstanceOutput) InstanceName() pulumi.StringPtrOutput

The name of the instance. It must be 2 to 128 characters in length and must start with an uppercase letter or Chinese. It cannot start with http:// or https. It can contain Chinese, English, numbers, half-width colons (:), underscores (_), half-width periods (.), or dashes (-). The default value is the InstanceId of the instance.

func (InstanceOutput) InstanceType added in v3.27.0

func (o InstanceOutput) InstanceType() pulumi.StringOutput

Instance Type.

func (InstanceOutput) KeyPairName added in v3.27.0

func (o InstanceOutput) KeyPairName() pulumi.StringPtrOutput

The name of the key pair of the mobile phone instance.

func (InstanceOutput) PaymentType added in v3.27.0

func (o InstanceOutput) PaymentType() pulumi.StringPtrOutput

The payment type.Valid values: `PayAsYouGo`,`Subscription`

func (InstanceOutput) Period added in v3.27.0

The period. It is valid when `periodUnit` is 'Year'. Valid value: `1`, `2`, `3`, `4`, `5`. It is valid when `periodUnit` is 'Month'. Valid value: `1`, `2`, `3`, `5`

func (InstanceOutput) PeriodUnit added in v3.27.0

func (o InstanceOutput) PeriodUnit() pulumi.StringPtrOutput

The duration unit that you will buy the resource. Valid value: `Year`,`Month`. Default to `Month`.

func (InstanceOutput) Resolution added in v3.27.0

func (o InstanceOutput) Resolution() pulumi.StringOutput

The selected resolution for the cloud mobile phone instance.

func (InstanceOutput) SecurityGroupId added in v3.27.0

func (o InstanceOutput) SecurityGroupId() pulumi.StringOutput

The ID of the security group. The security group is the same as that of the ECS instance.

func (InstanceOutput) Status added in v3.27.0

func (o InstanceOutput) Status() pulumi.StringOutput

Instance status. Valid values: `Running`, `Stopped`.

func (InstanceOutput) ToInstanceOutput added in v3.18.0

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext added in v3.18.0

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

func (InstanceOutput) VncPassword added in v3.27.0

func (o InstanceOutput) VncPassword() pulumi.StringPtrOutput

Cloud mobile phone VNC password. The password must be six characters in length and must contain only uppercase, lowercase English letters and Arabic numerals.

func (InstanceOutput) VswitchId added in v3.27.0

func (o InstanceOutput) VswitchId() pulumi.StringOutput

The vswitch id.

type InstanceState added in v3.18.0

type InstanceState struct {
	// The auto pay.
	AutoPay pulumi.BoolPtrInput
	// The auto renew.
	AutoRenew pulumi.BoolPtrInput
	// Description of the instance. 2 to 256 English or Chinese characters in length and cannot
	// start with `http://` and `https`.
	Description pulumi.StringPtrInput
	// The eip bandwidth.
	EipBandwidth pulumi.IntPtrInput
	// The force.
	Force pulumi.BoolPtrInput
	// The ID Of The Image.
	ImageId pulumi.StringPtrInput
	// The name of the instance. It must be 2 to 128 characters in length and must start with an
	// uppercase letter or Chinese. It cannot start with http:// or https. It can contain Chinese, English, numbers,
	// half-width colons (:), underscores (_), half-width periods (.), or dashes (-). The default value is the InstanceId of
	// the instance.
	InstanceName pulumi.StringPtrInput
	// Instance Type.
	InstanceType pulumi.StringPtrInput
	// The name of the key pair of the mobile phone instance.
	KeyPairName pulumi.StringPtrInput
	// The payment type.Valid values: `PayAsYouGo`,`Subscription`
	PaymentType pulumi.StringPtrInput
	// The period. It is valid when `periodUnit` is 'Year'. Valid value: `1`, `2`, `3`, `4`, `5`. It
	// is valid when `periodUnit` is 'Month'. Valid value: `1`, `2`, `3`, `5`
	Period pulumi.StringPtrInput
	// The duration unit that you will buy the resource. Valid value: `Year`,`Month`. Default
	// to `Month`.
	PeriodUnit pulumi.StringPtrInput
	// The selected resolution for the cloud mobile phone instance.
	Resolution pulumi.StringPtrInput
	// The ID of the security group. The security group is the same as that of the
	// ECS instance.
	SecurityGroupId pulumi.StringPtrInput
	// Instance status. Valid values: `Running`, `Stopped`.
	Status pulumi.StringPtrInput
	// Cloud mobile phone VNC password. The password must be six characters in length and must
	// contain only uppercase, lowercase English letters and Arabic numerals.
	VncPassword pulumi.StringPtrInput
	// The vswitch id.
	VswitchId pulumi.StringPtrInput
}

func (InstanceState) ElementType added in v3.18.0

func (InstanceState) ElementType() reflect.Type

type KeyPair

type KeyPair struct {
	pulumi.CustomResourceState

	// The Key Name.
	KeyPairName pulumi.StringOutput `pulumi:"keyPairName"`
	// The public key body.
	PublicKeyBody pulumi.StringOutput `pulumi:"publicKeyBody"`
}

Provides a Elastic Cloud Phone (ECP) Key Pair resource.

For information about Elastic Cloud Phone (ECP) Key Pair and how to use it, see [What is Key Pair](https://help.aliyun.com/document_detail/257197.html).

> **NOTE:** Available in v1.130.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecp.NewKeyPair(ctx, "example", &ecp.KeyPairArgs{
			KeyPairName:   pulumi.String("my-KeyPair"),
			PublicKeyBody: pulumi.String("ssh-rsa AAAAxxxxxxxxxxtyuudsfsg"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Elastic Cloud Phone (ECP) Key Pair can be imported using the id, e.g.

```sh $ pulumi import alicloud:ecp/keyPair:KeyPair example <key_pair_name> ```

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 {
	// The Key Name.
	KeyPairName pulumi.StringInput
	// The public key body.
	PublicKeyBody pulumi.StringInput
}

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) KeyPairName added in v3.27.0

func (o KeyPairOutput) KeyPairName() pulumi.StringOutput

The Key Name.

func (KeyPairOutput) PublicKeyBody added in v3.27.0

func (o KeyPairOutput) PublicKeyBody() pulumi.StringOutput

The public key body.

func (KeyPairOutput) ToKeyPairOutput

func (o KeyPairOutput) ToKeyPairOutput() KeyPairOutput

func (KeyPairOutput) ToKeyPairOutputWithContext

func (o KeyPairOutput) ToKeyPairOutputWithContext(ctx context.Context) KeyPairOutput

type KeyPairState

type KeyPairState struct {
	// The Key Name.
	KeyPairName pulumi.StringPtrInput
	// The public key body.
	PublicKeyBody pulumi.StringPtrInput
}

func (KeyPairState) ElementType

func (KeyPairState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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