workspace

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 Desktop

type Desktop struct {
	pulumi.CustomResourceState

	// Specifies the availability zone where the desktop is located.
	// Changing this will create a new resource.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// Specifies the configuration of data volumes.
	// The object structure is documented below.
	DataVolumes DesktopDataVolumeArrayOutput `pulumi:"dataVolumes"`
	// Specifies whether to delete user associated with this desktop after deleting it.
	// The user can only be successfully deleted if the user has no other desktops.
	DeleteUser pulumi.BoolPtrOutput `pulumi:"deleteUser"`
	// Specifies whether to send emails to user mailbox during important
	// operations.
	// Defaults to **false**. Changing this will create a new resource.
	EmailNotification pulumi.BoolPtrOutput `pulumi:"emailNotification"`
	// Specifies the flavor ID of desktop.
	FlavorId pulumi.StringOutput `pulumi:"flavorId"`
	// Specifies the image ID to create the desktop.
	// Changing this will create a new resource.
	ImageId pulumi.StringOutput `pulumi:"imageId"`
	// Specifies the image type. The valid values are as follows:
	// + **market**: The market image.
	// + **gold**: The public image.
	// + **private**: The private image.
	ImageType pulumi.StringOutput `pulumi:"imageType"`
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the NIC information corresponding to the desktop.
	// The object structure is documented below. Changing this will create a new resource.
	Nics DesktopNicArrayOutput `pulumi:"nics"`
	// The region in which to create the Workspace desktop resource.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the configuration of system volume.
	// The object structure is documented below.
	RootVolume DesktopRootVolumeOutput `pulumi:"rootVolume"`
	// Specifies the ID list of security groups.
	// In addition to the custom security group, it must also contain a security group called **WorkspaceUserSecurityGroup**.
	// Changing this will create a new resource.
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	// Specifies the key/value pairs of the desktop.
	// Changing this will create a new resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the user email.
	// Some operations on the desktop (such as creation, deletion) will notify the user by sending an email.
	// Changing this will create a new resource.
	UserEmail pulumi.StringOutput `pulumi:"userEmail"`
	// Specifies the user group to which the desktop belongs.
	// The valid values are as follows:
	// + **sudo**: Linux administrator group.
	// + **default**: Linux default user group.
	// + **administrators**: Windows administrator group.
	// + **users**: Windows standard user group.
	UserGroup pulumi.StringOutput `pulumi:"userGroup"`
	// Specifies the user name to which the desktop belongs.
	// The name can contain `1` to `20` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.
	// The name must start with a letter. Changing this will create a new resource.
	UserName pulumi.StringOutput `pulumi:"userName"`
	// Specifies the VPC ID to which the desktop belongs.
	// Changing this will create a new resource.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages a Workspace desktop resource within HuaweiCloud.

## Example Usage

## Import

Desktops can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Workspace/desktop:Desktop test 339d2539-e945-4090-a08d-c16badc0c6bb

```

Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response. The missing attributes include`nic` and `user_email`. It is generally recommended running `terraform plan` after importing a desktop. You can then decide if changes should be applied to the desktop, or the resource definition should be updated to align with the desktop. Also you can ignore changes as below. resource "huaweicloud_workspace_desktop" "test" {

...

lifecycle {

ignore_changes = [

user_email, nic,

]

} }

func GetDesktop

func GetDesktop(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DesktopState, opts ...pulumi.ResourceOption) (*Desktop, error)

GetDesktop gets an existing Desktop 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 NewDesktop

func NewDesktop(ctx *pulumi.Context,
	name string, args *DesktopArgs, opts ...pulumi.ResourceOption) (*Desktop, error)

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

func (*Desktop) ElementType

func (*Desktop) ElementType() reflect.Type

func (*Desktop) ToDesktopOutput

func (i *Desktop) ToDesktopOutput() DesktopOutput

func (*Desktop) ToDesktopOutputWithContext

func (i *Desktop) ToDesktopOutputWithContext(ctx context.Context) DesktopOutput

type DesktopArgs

type DesktopArgs struct {
	// Specifies the availability zone where the desktop is located.
	// Changing this will create a new resource.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the configuration of data volumes.
	// The object structure is documented below.
	DataVolumes DesktopDataVolumeArrayInput
	// Specifies whether to delete user associated with this desktop after deleting it.
	// The user can only be successfully deleted if the user has no other desktops.
	DeleteUser pulumi.BoolPtrInput
	// Specifies whether to send emails to user mailbox during important
	// operations.
	// Defaults to **false**. Changing this will create a new resource.
	EmailNotification pulumi.BoolPtrInput
	// Specifies the flavor ID of desktop.
	FlavorId pulumi.StringInput
	// Specifies the image ID to create the desktop.
	// Changing this will create a new resource.
	ImageId pulumi.StringInput
	// Specifies the image type. The valid values are as follows:
	// + **market**: The market image.
	// + **gold**: The public image.
	// + **private**: The private image.
	ImageType pulumi.StringInput
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name pulumi.StringPtrInput
	// Specifies the NIC information corresponding to the desktop.
	// The object structure is documented below. Changing this will create a new resource.
	Nics DesktopNicArrayInput
	// The region in which to create the Workspace desktop resource.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the configuration of system volume.
	// The object structure is documented below.
	RootVolume DesktopRootVolumeInput
	// Specifies the ID list of security groups.
	// In addition to the custom security group, it must also contain a security group called **WorkspaceUserSecurityGroup**.
	// Changing this will create a new resource.
	SecurityGroups pulumi.StringArrayInput
	// Specifies the key/value pairs of the desktop.
	// Changing this will create a new resource.
	Tags pulumi.StringMapInput
	// Specifies the user email.
	// Some operations on the desktop (such as creation, deletion) will notify the user by sending an email.
	// Changing this will create a new resource.
	UserEmail pulumi.StringInput
	// Specifies the user group to which the desktop belongs.
	// The valid values are as follows:
	// + **sudo**: Linux administrator group.
	// + **default**: Linux default user group.
	// + **administrators**: Windows administrator group.
	// + **users**: Windows standard user group.
	UserGroup pulumi.StringInput
	// Specifies the user name to which the desktop belongs.
	// The name can contain `1` to `20` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.
	// The name must start with a letter. Changing this will create a new resource.
	UserName pulumi.StringInput
	// Specifies the VPC ID to which the desktop belongs.
	// Changing this will create a new resource.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Desktop resource.

func (DesktopArgs) ElementType

func (DesktopArgs) ElementType() reflect.Type

type DesktopArray

type DesktopArray []DesktopInput

func (DesktopArray) ElementType

func (DesktopArray) ElementType() reflect.Type

func (DesktopArray) ToDesktopArrayOutput

func (i DesktopArray) ToDesktopArrayOutput() DesktopArrayOutput

func (DesktopArray) ToDesktopArrayOutputWithContext

func (i DesktopArray) ToDesktopArrayOutputWithContext(ctx context.Context) DesktopArrayOutput

type DesktopArrayInput

type DesktopArrayInput interface {
	pulumi.Input

	ToDesktopArrayOutput() DesktopArrayOutput
	ToDesktopArrayOutputWithContext(context.Context) DesktopArrayOutput
}

DesktopArrayInput is an input type that accepts DesktopArray and DesktopArrayOutput values. You can construct a concrete instance of `DesktopArrayInput` via:

DesktopArray{ DesktopArgs{...} }

type DesktopArrayOutput

type DesktopArrayOutput struct{ *pulumi.OutputState }

func (DesktopArrayOutput) ElementType

func (DesktopArrayOutput) ElementType() reflect.Type

func (DesktopArrayOutput) Index

func (DesktopArrayOutput) ToDesktopArrayOutput

func (o DesktopArrayOutput) ToDesktopArrayOutput() DesktopArrayOutput

func (DesktopArrayOutput) ToDesktopArrayOutputWithContext

func (o DesktopArrayOutput) ToDesktopArrayOutputWithContext(ctx context.Context) DesktopArrayOutput

type DesktopDataVolume

type DesktopDataVolume struct {
	// The time that the volume was created.
	CreatedAt *string `pulumi:"createdAt"`
	// The device location to which the volume is attached.
	Device *string `pulumi:"device"`
	// The volume ID.
	Id *string `pulumi:"id"`
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name *string `pulumi:"name"`
	// Specifies the size of system volume, in GB.
	// + For root volume, the valid value is range from `80` to `1,020`.
	// + For data volume, the valid value is range from `10` to `8,200`.
	Size int `pulumi:"size"`
	// Specifies the type of system volume.
	// The valid values are as follows:
	// + **SAS**: High I/O disk type.
	// + **SSD**: Ultra-high I/O disk type.
	Type string `pulumi:"type"`
}

type DesktopDataVolumeArgs

type DesktopDataVolumeArgs struct {
	// The time that the volume was created.
	CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"`
	// The device location to which the volume is attached.
	Device pulumi.StringPtrInput `pulumi:"device"`
	// The volume ID.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the size of system volume, in GB.
	// + For root volume, the valid value is range from `80` to `1,020`.
	// + For data volume, the valid value is range from `10` to `8,200`.
	Size pulumi.IntInput `pulumi:"size"`
	// Specifies the type of system volume.
	// The valid values are as follows:
	// + **SAS**: High I/O disk type.
	// + **SSD**: Ultra-high I/O disk type.
	Type pulumi.StringInput `pulumi:"type"`
}

func (DesktopDataVolumeArgs) ElementType

func (DesktopDataVolumeArgs) ElementType() reflect.Type

func (DesktopDataVolumeArgs) ToDesktopDataVolumeOutput

func (i DesktopDataVolumeArgs) ToDesktopDataVolumeOutput() DesktopDataVolumeOutput

func (DesktopDataVolumeArgs) ToDesktopDataVolumeOutputWithContext

func (i DesktopDataVolumeArgs) ToDesktopDataVolumeOutputWithContext(ctx context.Context) DesktopDataVolumeOutput

type DesktopDataVolumeArray

type DesktopDataVolumeArray []DesktopDataVolumeInput

func (DesktopDataVolumeArray) ElementType

func (DesktopDataVolumeArray) ElementType() reflect.Type

func (DesktopDataVolumeArray) ToDesktopDataVolumeArrayOutput

func (i DesktopDataVolumeArray) ToDesktopDataVolumeArrayOutput() DesktopDataVolumeArrayOutput

func (DesktopDataVolumeArray) ToDesktopDataVolumeArrayOutputWithContext

func (i DesktopDataVolumeArray) ToDesktopDataVolumeArrayOutputWithContext(ctx context.Context) DesktopDataVolumeArrayOutput

type DesktopDataVolumeArrayInput

type DesktopDataVolumeArrayInput interface {
	pulumi.Input

	ToDesktopDataVolumeArrayOutput() DesktopDataVolumeArrayOutput
	ToDesktopDataVolumeArrayOutputWithContext(context.Context) DesktopDataVolumeArrayOutput
}

DesktopDataVolumeArrayInput is an input type that accepts DesktopDataVolumeArray and DesktopDataVolumeArrayOutput values. You can construct a concrete instance of `DesktopDataVolumeArrayInput` via:

DesktopDataVolumeArray{ DesktopDataVolumeArgs{...} }

type DesktopDataVolumeArrayOutput

type DesktopDataVolumeArrayOutput struct{ *pulumi.OutputState }

func (DesktopDataVolumeArrayOutput) ElementType

func (DesktopDataVolumeArrayOutput) Index

func (DesktopDataVolumeArrayOutput) ToDesktopDataVolumeArrayOutput

func (o DesktopDataVolumeArrayOutput) ToDesktopDataVolumeArrayOutput() DesktopDataVolumeArrayOutput

func (DesktopDataVolumeArrayOutput) ToDesktopDataVolumeArrayOutputWithContext

func (o DesktopDataVolumeArrayOutput) ToDesktopDataVolumeArrayOutputWithContext(ctx context.Context) DesktopDataVolumeArrayOutput

type DesktopDataVolumeInput

type DesktopDataVolumeInput interface {
	pulumi.Input

	ToDesktopDataVolumeOutput() DesktopDataVolumeOutput
	ToDesktopDataVolumeOutputWithContext(context.Context) DesktopDataVolumeOutput
}

DesktopDataVolumeInput is an input type that accepts DesktopDataVolumeArgs and DesktopDataVolumeOutput values. You can construct a concrete instance of `DesktopDataVolumeInput` via:

DesktopDataVolumeArgs{...}

type DesktopDataVolumeOutput

type DesktopDataVolumeOutput struct{ *pulumi.OutputState }

func (DesktopDataVolumeOutput) CreatedAt

The time that the volume was created.

func (DesktopDataVolumeOutput) Device

The device location to which the volume is attached.

func (DesktopDataVolumeOutput) ElementType

func (DesktopDataVolumeOutput) ElementType() reflect.Type

func (DesktopDataVolumeOutput) Id

The volume ID.

func (DesktopDataVolumeOutput) Name

Specifies the desktop name. The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed. The name must start with a letter or digit and cannot end with a hyphen. Changing this will create a new resource.

func (DesktopDataVolumeOutput) Size

Specifies the size of system volume, in GB. + For root volume, the valid value is range from `80` to `1,020`. + For data volume, the valid value is range from `10` to `8,200`.

func (DesktopDataVolumeOutput) ToDesktopDataVolumeOutput

func (o DesktopDataVolumeOutput) ToDesktopDataVolumeOutput() DesktopDataVolumeOutput

func (DesktopDataVolumeOutput) ToDesktopDataVolumeOutputWithContext

func (o DesktopDataVolumeOutput) ToDesktopDataVolumeOutputWithContext(ctx context.Context) DesktopDataVolumeOutput

func (DesktopDataVolumeOutput) Type

Specifies the type of system volume. The valid values are as follows: + **SAS**: High I/O disk type. + **SSD**: Ultra-high I/O disk type.

type DesktopInput

type DesktopInput interface {
	pulumi.Input

	ToDesktopOutput() DesktopOutput
	ToDesktopOutputWithContext(ctx context.Context) DesktopOutput
}

type DesktopMap

type DesktopMap map[string]DesktopInput

func (DesktopMap) ElementType

func (DesktopMap) ElementType() reflect.Type

func (DesktopMap) ToDesktopMapOutput

func (i DesktopMap) ToDesktopMapOutput() DesktopMapOutput

func (DesktopMap) ToDesktopMapOutputWithContext

func (i DesktopMap) ToDesktopMapOutputWithContext(ctx context.Context) DesktopMapOutput

type DesktopMapInput

type DesktopMapInput interface {
	pulumi.Input

	ToDesktopMapOutput() DesktopMapOutput
	ToDesktopMapOutputWithContext(context.Context) DesktopMapOutput
}

DesktopMapInput is an input type that accepts DesktopMap and DesktopMapOutput values. You can construct a concrete instance of `DesktopMapInput` via:

DesktopMap{ "key": DesktopArgs{...} }

type DesktopMapOutput

type DesktopMapOutput struct{ *pulumi.OutputState }

func (DesktopMapOutput) ElementType

func (DesktopMapOutput) ElementType() reflect.Type

func (DesktopMapOutput) MapIndex

func (DesktopMapOutput) ToDesktopMapOutput

func (o DesktopMapOutput) ToDesktopMapOutput() DesktopMapOutput

func (DesktopMapOutput) ToDesktopMapOutputWithContext

func (o DesktopMapOutput) ToDesktopMapOutputWithContext(ctx context.Context) DesktopMapOutput

type DesktopNic

type DesktopNic struct {
	// Specifies the network ID of subnet resource.
	// Changing this will create a new resource.
	NetworkId string `pulumi:"networkId"`
}

type DesktopNicArgs

type DesktopNicArgs struct {
	// Specifies the network ID of subnet resource.
	// Changing this will create a new resource.
	NetworkId pulumi.StringInput `pulumi:"networkId"`
}

func (DesktopNicArgs) ElementType

func (DesktopNicArgs) ElementType() reflect.Type

func (DesktopNicArgs) ToDesktopNicOutput

func (i DesktopNicArgs) ToDesktopNicOutput() DesktopNicOutput

func (DesktopNicArgs) ToDesktopNicOutputWithContext

func (i DesktopNicArgs) ToDesktopNicOutputWithContext(ctx context.Context) DesktopNicOutput

type DesktopNicArray

type DesktopNicArray []DesktopNicInput

func (DesktopNicArray) ElementType

func (DesktopNicArray) ElementType() reflect.Type

func (DesktopNicArray) ToDesktopNicArrayOutput

func (i DesktopNicArray) ToDesktopNicArrayOutput() DesktopNicArrayOutput

func (DesktopNicArray) ToDesktopNicArrayOutputWithContext

func (i DesktopNicArray) ToDesktopNicArrayOutputWithContext(ctx context.Context) DesktopNicArrayOutput

type DesktopNicArrayInput

type DesktopNicArrayInput interface {
	pulumi.Input

	ToDesktopNicArrayOutput() DesktopNicArrayOutput
	ToDesktopNicArrayOutputWithContext(context.Context) DesktopNicArrayOutput
}

DesktopNicArrayInput is an input type that accepts DesktopNicArray and DesktopNicArrayOutput values. You can construct a concrete instance of `DesktopNicArrayInput` via:

DesktopNicArray{ DesktopNicArgs{...} }

type DesktopNicArrayOutput

type DesktopNicArrayOutput struct{ *pulumi.OutputState }

func (DesktopNicArrayOutput) ElementType

func (DesktopNicArrayOutput) ElementType() reflect.Type

func (DesktopNicArrayOutput) Index

func (DesktopNicArrayOutput) ToDesktopNicArrayOutput

func (o DesktopNicArrayOutput) ToDesktopNicArrayOutput() DesktopNicArrayOutput

func (DesktopNicArrayOutput) ToDesktopNicArrayOutputWithContext

func (o DesktopNicArrayOutput) ToDesktopNicArrayOutputWithContext(ctx context.Context) DesktopNicArrayOutput

type DesktopNicInput

type DesktopNicInput interface {
	pulumi.Input

	ToDesktopNicOutput() DesktopNicOutput
	ToDesktopNicOutputWithContext(context.Context) DesktopNicOutput
}

DesktopNicInput is an input type that accepts DesktopNicArgs and DesktopNicOutput values. You can construct a concrete instance of `DesktopNicInput` via:

DesktopNicArgs{...}

type DesktopNicOutput

type DesktopNicOutput struct{ *pulumi.OutputState }

func (DesktopNicOutput) ElementType

func (DesktopNicOutput) ElementType() reflect.Type

func (DesktopNicOutput) NetworkId

func (o DesktopNicOutput) NetworkId() pulumi.StringOutput

Specifies the network ID of subnet resource. Changing this will create a new resource.

func (DesktopNicOutput) ToDesktopNicOutput

func (o DesktopNicOutput) ToDesktopNicOutput() DesktopNicOutput

func (DesktopNicOutput) ToDesktopNicOutputWithContext

func (o DesktopNicOutput) ToDesktopNicOutputWithContext(ctx context.Context) DesktopNicOutput

type DesktopOutput

type DesktopOutput struct{ *pulumi.OutputState }

func (DesktopOutput) AvailabilityZone

func (o DesktopOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone where the desktop is located. Changing this will create a new resource.

func (DesktopOutput) DataVolumes

Specifies the configuration of data volumes. The object structure is documented below.

func (DesktopOutput) DeleteUser

func (o DesktopOutput) DeleteUser() pulumi.BoolPtrOutput

Specifies whether to delete user associated with this desktop after deleting it. The user can only be successfully deleted if the user has no other desktops.

func (DesktopOutput) ElementType

func (DesktopOutput) ElementType() reflect.Type

func (DesktopOutput) EmailNotification

func (o DesktopOutput) EmailNotification() pulumi.BoolPtrOutput

Specifies whether to send emails to user mailbox during important operations. Defaults to **false**. Changing this will create a new resource.

func (DesktopOutput) FlavorId

func (o DesktopOutput) FlavorId() pulumi.StringOutput

Specifies the flavor ID of desktop.

func (DesktopOutput) ImageId

func (o DesktopOutput) ImageId() pulumi.StringOutput

Specifies the image ID to create the desktop. Changing this will create a new resource.

func (DesktopOutput) ImageType

func (o DesktopOutput) ImageType() pulumi.StringOutput

Specifies the image type. The valid values are as follows: + **market**: The market image. + **gold**: The public image. + **private**: The private image.

func (DesktopOutput) Name

Specifies the desktop name. The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed. The name must start with a letter or digit and cannot end with a hyphen. Changing this will create a new resource.

func (DesktopOutput) Nics

Specifies the NIC information corresponding to the desktop. The object structure is documented below. Changing this will create a new resource.

func (DesktopOutput) Region

func (o DesktopOutput) Region() pulumi.StringOutput

The region in which to create the Workspace desktop resource. If omitted, the provider-level region will be used. Changing this will create a new resource.

func (DesktopOutput) RootVolume

func (o DesktopOutput) RootVolume() DesktopRootVolumeOutput

Specifies the configuration of system volume. The object structure is documented below.

func (DesktopOutput) SecurityGroups

func (o DesktopOutput) SecurityGroups() pulumi.StringArrayOutput

Specifies the ID list of security groups. In addition to the custom security group, it must also contain a security group called **WorkspaceUserSecurityGroup**. Changing this will create a new resource.

func (DesktopOutput) Tags

Specifies the key/value pairs of the desktop. Changing this will create a new resource.

func (DesktopOutput) ToDesktopOutput

func (o DesktopOutput) ToDesktopOutput() DesktopOutput

func (DesktopOutput) ToDesktopOutputWithContext

func (o DesktopOutput) ToDesktopOutputWithContext(ctx context.Context) DesktopOutput

func (DesktopOutput) UserEmail

func (o DesktopOutput) UserEmail() pulumi.StringOutput

Specifies the user email. Some operations on the desktop (such as creation, deletion) will notify the user by sending an email. Changing this will create a new resource.

func (DesktopOutput) UserGroup

func (o DesktopOutput) UserGroup() pulumi.StringOutput

Specifies the user group to which the desktop belongs. The valid values are as follows: + **sudo**: Linux administrator group. + **default**: Linux default user group. + **administrators**: Windows administrator group. + **users**: Windows standard user group.

func (DesktopOutput) UserName

func (o DesktopOutput) UserName() pulumi.StringOutput

Specifies the user name to which the desktop belongs. The name can contain `1` to `20` characters, only letters, digits, hyphens (-) and underscores (_) are allowed. The name must start with a letter. Changing this will create a new resource.

func (DesktopOutput) VpcId

func (o DesktopOutput) VpcId() pulumi.StringOutput

Specifies the VPC ID to which the desktop belongs. Changing this will create a new resource.

type DesktopRootVolume

type DesktopRootVolume struct {
	// The time that the volume was created.
	CreatedAt *string `pulumi:"createdAt"`
	// The device location to which the volume is attached.
	Device *string `pulumi:"device"`
	// The volume ID.
	Id *string `pulumi:"id"`
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name *string `pulumi:"name"`
	// Specifies the size of system volume, in GB.
	// + For root volume, the valid value is range from `80` to `1,020`.
	// + For data volume, the valid value is range from `10` to `8,200`.
	Size int `pulumi:"size"`
	// Specifies the type of system volume.
	// The valid values are as follows:
	// + **SAS**: High I/O disk type.
	// + **SSD**: Ultra-high I/O disk type.
	Type string `pulumi:"type"`
}

type DesktopRootVolumeArgs

type DesktopRootVolumeArgs struct {
	// The time that the volume was created.
	CreatedAt pulumi.StringPtrInput `pulumi:"createdAt"`
	// The device location to which the volume is attached.
	Device pulumi.StringPtrInput `pulumi:"device"`
	// The volume ID.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the size of system volume, in GB.
	// + For root volume, the valid value is range from `80` to `1,020`.
	// + For data volume, the valid value is range from `10` to `8,200`.
	Size pulumi.IntInput `pulumi:"size"`
	// Specifies the type of system volume.
	// The valid values are as follows:
	// + **SAS**: High I/O disk type.
	// + **SSD**: Ultra-high I/O disk type.
	Type pulumi.StringInput `pulumi:"type"`
}

func (DesktopRootVolumeArgs) ElementType

func (DesktopRootVolumeArgs) ElementType() reflect.Type

func (DesktopRootVolumeArgs) ToDesktopRootVolumeOutput

func (i DesktopRootVolumeArgs) ToDesktopRootVolumeOutput() DesktopRootVolumeOutput

func (DesktopRootVolumeArgs) ToDesktopRootVolumeOutputWithContext

func (i DesktopRootVolumeArgs) ToDesktopRootVolumeOutputWithContext(ctx context.Context) DesktopRootVolumeOutput

func (DesktopRootVolumeArgs) ToDesktopRootVolumePtrOutput

func (i DesktopRootVolumeArgs) ToDesktopRootVolumePtrOutput() DesktopRootVolumePtrOutput

func (DesktopRootVolumeArgs) ToDesktopRootVolumePtrOutputWithContext

func (i DesktopRootVolumeArgs) ToDesktopRootVolumePtrOutputWithContext(ctx context.Context) DesktopRootVolumePtrOutput

type DesktopRootVolumeInput

type DesktopRootVolumeInput interface {
	pulumi.Input

	ToDesktopRootVolumeOutput() DesktopRootVolumeOutput
	ToDesktopRootVolumeOutputWithContext(context.Context) DesktopRootVolumeOutput
}

DesktopRootVolumeInput is an input type that accepts DesktopRootVolumeArgs and DesktopRootVolumeOutput values. You can construct a concrete instance of `DesktopRootVolumeInput` via:

DesktopRootVolumeArgs{...}

type DesktopRootVolumeOutput

type DesktopRootVolumeOutput struct{ *pulumi.OutputState }

func (DesktopRootVolumeOutput) CreatedAt

The time that the volume was created.

func (DesktopRootVolumeOutput) Device

The device location to which the volume is attached.

func (DesktopRootVolumeOutput) ElementType

func (DesktopRootVolumeOutput) ElementType() reflect.Type

func (DesktopRootVolumeOutput) Id

The volume ID.

func (DesktopRootVolumeOutput) Name

Specifies the desktop name. The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed. The name must start with a letter or digit and cannot end with a hyphen. Changing this will create a new resource.

func (DesktopRootVolumeOutput) Size

Specifies the size of system volume, in GB. + For root volume, the valid value is range from `80` to `1,020`. + For data volume, the valid value is range from `10` to `8,200`.

func (DesktopRootVolumeOutput) ToDesktopRootVolumeOutput

func (o DesktopRootVolumeOutput) ToDesktopRootVolumeOutput() DesktopRootVolumeOutput

func (DesktopRootVolumeOutput) ToDesktopRootVolumeOutputWithContext

func (o DesktopRootVolumeOutput) ToDesktopRootVolumeOutputWithContext(ctx context.Context) DesktopRootVolumeOutput

func (DesktopRootVolumeOutput) ToDesktopRootVolumePtrOutput

func (o DesktopRootVolumeOutput) ToDesktopRootVolumePtrOutput() DesktopRootVolumePtrOutput

func (DesktopRootVolumeOutput) ToDesktopRootVolumePtrOutputWithContext

func (o DesktopRootVolumeOutput) ToDesktopRootVolumePtrOutputWithContext(ctx context.Context) DesktopRootVolumePtrOutput

func (DesktopRootVolumeOutput) Type

Specifies the type of system volume. The valid values are as follows: + **SAS**: High I/O disk type. + **SSD**: Ultra-high I/O disk type.

type DesktopRootVolumePtrInput

type DesktopRootVolumePtrInput interface {
	pulumi.Input

	ToDesktopRootVolumePtrOutput() DesktopRootVolumePtrOutput
	ToDesktopRootVolumePtrOutputWithContext(context.Context) DesktopRootVolumePtrOutput
}

DesktopRootVolumePtrInput is an input type that accepts DesktopRootVolumeArgs, DesktopRootVolumePtr and DesktopRootVolumePtrOutput values. You can construct a concrete instance of `DesktopRootVolumePtrInput` via:

        DesktopRootVolumeArgs{...}

or:

        nil

type DesktopRootVolumePtrOutput

type DesktopRootVolumePtrOutput struct{ *pulumi.OutputState }

func (DesktopRootVolumePtrOutput) CreatedAt

The time that the volume was created.

func (DesktopRootVolumePtrOutput) Device

The device location to which the volume is attached.

func (DesktopRootVolumePtrOutput) Elem

func (DesktopRootVolumePtrOutput) ElementType

func (DesktopRootVolumePtrOutput) ElementType() reflect.Type

func (DesktopRootVolumePtrOutput) Id

The volume ID.

func (DesktopRootVolumePtrOutput) Name

Specifies the desktop name. The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed. The name must start with a letter or digit and cannot end with a hyphen. Changing this will create a new resource.

func (DesktopRootVolumePtrOutput) Size

Specifies the size of system volume, in GB. + For root volume, the valid value is range from `80` to `1,020`. + For data volume, the valid value is range from `10` to `8,200`.

func (DesktopRootVolumePtrOutput) ToDesktopRootVolumePtrOutput

func (o DesktopRootVolumePtrOutput) ToDesktopRootVolumePtrOutput() DesktopRootVolumePtrOutput

func (DesktopRootVolumePtrOutput) ToDesktopRootVolumePtrOutputWithContext

func (o DesktopRootVolumePtrOutput) ToDesktopRootVolumePtrOutputWithContext(ctx context.Context) DesktopRootVolumePtrOutput

func (DesktopRootVolumePtrOutput) Type

Specifies the type of system volume. The valid values are as follows: + **SAS**: High I/O disk type. + **SSD**: Ultra-high I/O disk type.

type DesktopState

type DesktopState struct {
	// Specifies the availability zone where the desktop is located.
	// Changing this will create a new resource.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the configuration of data volumes.
	// The object structure is documented below.
	DataVolumes DesktopDataVolumeArrayInput
	// Specifies whether to delete user associated with this desktop after deleting it.
	// The user can only be successfully deleted if the user has no other desktops.
	DeleteUser pulumi.BoolPtrInput
	// Specifies whether to send emails to user mailbox during important
	// operations.
	// Defaults to **false**. Changing this will create a new resource.
	EmailNotification pulumi.BoolPtrInput
	// Specifies the flavor ID of desktop.
	FlavorId pulumi.StringPtrInput
	// Specifies the image ID to create the desktop.
	// Changing this will create a new resource.
	ImageId pulumi.StringPtrInput
	// Specifies the image type. The valid values are as follows:
	// + **market**: The market image.
	// + **gold**: The public image.
	// + **private**: The private image.
	ImageType pulumi.StringPtrInput
	// Specifies the desktop name.
	// The name can contain `1` to `15` characters, only letters, digits and hyphens (-) are allowed.
	// The name must start with a letter or digit and cannot end with a hyphen.
	// Changing this will create a new resource.
	Name pulumi.StringPtrInput
	// Specifies the NIC information corresponding to the desktop.
	// The object structure is documented below. Changing this will create a new resource.
	Nics DesktopNicArrayInput
	// The region in which to create the Workspace desktop resource.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the configuration of system volume.
	// The object structure is documented below.
	RootVolume DesktopRootVolumePtrInput
	// Specifies the ID list of security groups.
	// In addition to the custom security group, it must also contain a security group called **WorkspaceUserSecurityGroup**.
	// Changing this will create a new resource.
	SecurityGroups pulumi.StringArrayInput
	// Specifies the key/value pairs of the desktop.
	// Changing this will create a new resource.
	Tags pulumi.StringMapInput
	// Specifies the user email.
	// Some operations on the desktop (such as creation, deletion) will notify the user by sending an email.
	// Changing this will create a new resource.
	UserEmail pulumi.StringPtrInput
	// Specifies the user group to which the desktop belongs.
	// The valid values are as follows:
	// + **sudo**: Linux administrator group.
	// + **default**: Linux default user group.
	// + **administrators**: Windows administrator group.
	// + **users**: Windows standard user group.
	UserGroup pulumi.StringPtrInput
	// Specifies the user name to which the desktop belongs.
	// The name can contain `1` to `20` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.
	// The name must start with a letter. Changing this will create a new resource.
	UserName pulumi.StringPtrInput
	// Specifies the VPC ID to which the desktop belongs.
	// Changing this will create a new resource.
	VpcId pulumi.StringPtrInput
}

func (DesktopState) ElementType

func (DesktopState) ElementType() reflect.Type

type Service

type Service struct {
	pulumi.CustomResourceState

	// Specifies the access mode of Workspace service.
	// The valid values are as follows:
	// + **INTERNET**: internet access.
	// + **DEDICATED**: dedicated line access.
	// + **BOTH**: both internet access and dedicated access are supported.
	AccessMode pulumi.StringOutput `pulumi:"accessMode"`
	// Specifies the configuration of AD domain.
	// Required if `authType` is **LOCAL_AD**. Make sure that the selected VPC network and the network to which AD
	// belongs can be connected. The object structure is documented below.
	AdDomain ServiceAdDomainOutput `pulumi:"adDomain"`
	// Specifies the authentication type of Workspace service.
	// The valid values are as follows:
	// + **LITE_AS**: Local authentication.
	// + **LOCAL_AD**: Connect to AD domain.
	AuthType pulumi.StringPtrOutput `pulumi:"authType"`
	// The subnet segments of the dedicated access.
	DedicatedSubnets pulumi.StringArrayOutput `pulumi:"dedicatedSubnets"`
	// The desktop security group automatically created under the specified VPC after the service
	// is registered. The object structure is documented below.
	DesktopSecurityGroups ServiceDesktopSecurityGroupArrayOutput `pulumi:"desktopSecurityGroups"`
	// Specifies the enterprise ID.
	// The enterprise ID is the unique identification in the Workspace service.
	// If omitted, the system will automatically generate an enterprise ID.
	// The ID can contain `1` to `32` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.
	EnterpriseId pulumi.StringOutput `pulumi:"enterpriseId"`
	// The management component security group automatically created under the specified
	// VPC after the service is registered. The object structure is documented below.
	InfrastructureSecurityGroups ServiceInfrastructureSecurityGroupArrayOutput `pulumi:"infrastructureSecurityGroups"`
	// The internet access address.
	// This attribute is returned only when the accessMode is **INTERNET** or **BOTH**.
	InternetAccessAddress pulumi.StringOutput `pulumi:"internetAccessAddress"`
	// Specifies the internet access port.
	// The valid value is range from `1,025` to `65,535`.
	InternetAccessPort pulumi.IntOutput `pulumi:"internetAccessPort"`
	// The subnet segment of the management component.
	ManagementSubnetCidr pulumi.StringOutput `pulumi:"managementSubnetCidr"`
	// The network ID list of subnets that the service have.
	// The subnets corresponding to this parameter must be included in the VPC resource corresponding to `vpcId`.
	// These subnet segments cannot conflict with `172.16.0.0/12`.
	NetworkIds pulumi.StringArrayOutput `pulumi:"networkIds"`
	// The region in which to register the Workspace service.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The current status of the Workspace service.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the VPC ID to which the service belongs.
	// Changing this will create a new resource.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Use this resource to register or unregister the Workspace service in HuaweiCloud.

## Example Usage ### Register the Workspace service and use local authentication

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Workspace"
"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, "")
		vpcId := cfg.RequireObject("vpcId")
		networkIds := cfg.Require("networkIds")
		_, err := Workspace.NewService(ctx, "test", &Workspace.ServiceArgs{
			AccessMode: pulumi.String("INTERNET"),
			VpcId:      pulumi.Any(vpcId),
			NetworkIds: networkIds,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Appendix

<a name="secgroupRulesForAdDomainConnection"></a> If a firewall is deployed between Windows AD and the Workspace service, you need to open the following ports on the firewall for the desktops of Workspace service to connect to Windows AD or DNS:

| Protocol | Ports | Usage | | ---- | ---- | ---- | | TCP | 135 | RPC protocol (required for LDAP, Distributed File System, and Distributed File Replication) | | UDP | 137 | NetBIOS name resolution (required by the network login service) | | UDP | 138 | NetBIOS datagram service (distributed file system, network login and other services need to use this port) | | TCP | 139 | NetBIOS-SSN Service (Network Basic I/O Interface) | | TCP | 445 | NetBIOS-SSN Service (Network Basic I/O Interface) | | UDP | 445 | NetBIOS-SSN Service (Network Basic I/O Interface) | | TCP | 49152-65535 | RPC dynamic ports (ports that are not hardened and open by AD. If AD is hardened, ports 50152-51151 need to be opened) | | UDP | 49152-65535 | RPC dynamic ports (ports that are not hardened and open by AD. If AD is hardened, ports 50152-51151 need to be opened) | | TCP | 88 | Kerberos Key Distribution Center Service | | UDP | 88 | Kerberos Key Distribution Center Service | | UDP | 123 | Port used by NTP service | | TCP | 389 | LDAP server | | UDP | 389 | LDAP server | | TCP | 464 | Kerberos authentication protocol | | UDP | 464 | Kerberos Authentication Protocol | | UDP | 500 | isakmp | | TCP | 593 | RPC over HTTP | | TCP | 636 | LDAP SSL | | TCP | 53 | DNS server | | UDP | 53 | DNS server |

## Import

Service can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Workspace/service:Service test fd3f81cb-d95f-43ce-b342-81b6b5dcadda

```

func GetService

func GetService(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceState, opts ...pulumi.ResourceOption) (*Service, error)

GetService gets an existing Service 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 NewService

func NewService(ctx *pulumi.Context,
	name string, args *ServiceArgs, opts ...pulumi.ResourceOption) (*Service, error)

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

func (*Service) ElementType

func (*Service) ElementType() reflect.Type

func (*Service) ToServiceOutput

func (i *Service) ToServiceOutput() ServiceOutput

func (*Service) ToServiceOutputWithContext

func (i *Service) ToServiceOutputWithContext(ctx context.Context) ServiceOutput

type ServiceAdDomain

type ServiceAdDomain struct {
	// Specifies the primary DNS IP address.
	ActiveDnsIp *string `pulumi:"activeDnsIp"`
	// Specifies the IP address of primary domain controller.
	ActiveDomainIp string `pulumi:"activeDomainIp"`
	// Specifies the name of primary domain controller.
	ActiveDomainName string `pulumi:"activeDomainName"`
	// Specifies the domain administrator account.
	// It must be an existing domain administrator account on the AD server.
	AdminAccount string `pulumi:"adminAccount"`
	// Specifies whether to delete the corresponding computer object on AD
	// while deleting the desktop.
	DeleteComputerObject *bool `pulumi:"deleteComputerObject"`
	// Specifies the domain name.
	// The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
	Name string `pulumi:"name"`
	// Specifies the account password of domain administrator.
	Password string `pulumi:"password"`
	// Specifies the standby DNS IP address.
	StandbyDnsIp *string `pulumi:"standbyDnsIp"`
	// Specifies the IP address of the standby domain controller.
	StandbyDomainIp *string `pulumi:"standbyDomainIp"`
	// Specifies the name of the standby domain controller.
	StandbyDomainName *string `pulumi:"standbyDomainName"`
}

type ServiceAdDomainArgs

type ServiceAdDomainArgs struct {
	// Specifies the primary DNS IP address.
	ActiveDnsIp pulumi.StringPtrInput `pulumi:"activeDnsIp"`
	// Specifies the IP address of primary domain controller.
	ActiveDomainIp pulumi.StringInput `pulumi:"activeDomainIp"`
	// Specifies the name of primary domain controller.
	ActiveDomainName pulumi.StringInput `pulumi:"activeDomainName"`
	// Specifies the domain administrator account.
	// It must be an existing domain administrator account on the AD server.
	AdminAccount pulumi.StringInput `pulumi:"adminAccount"`
	// Specifies whether to delete the corresponding computer object on AD
	// while deleting the desktop.
	DeleteComputerObject pulumi.BoolPtrInput `pulumi:"deleteComputerObject"`
	// Specifies the domain name.
	// The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the account password of domain administrator.
	Password pulumi.StringInput `pulumi:"password"`
	// Specifies the standby DNS IP address.
	StandbyDnsIp pulumi.StringPtrInput `pulumi:"standbyDnsIp"`
	// Specifies the IP address of the standby domain controller.
	StandbyDomainIp pulumi.StringPtrInput `pulumi:"standbyDomainIp"`
	// Specifies the name of the standby domain controller.
	StandbyDomainName pulumi.StringPtrInput `pulumi:"standbyDomainName"`
}

func (ServiceAdDomainArgs) ElementType

func (ServiceAdDomainArgs) ElementType() reflect.Type

func (ServiceAdDomainArgs) ToServiceAdDomainOutput

func (i ServiceAdDomainArgs) ToServiceAdDomainOutput() ServiceAdDomainOutput

func (ServiceAdDomainArgs) ToServiceAdDomainOutputWithContext

func (i ServiceAdDomainArgs) ToServiceAdDomainOutputWithContext(ctx context.Context) ServiceAdDomainOutput

func (ServiceAdDomainArgs) ToServiceAdDomainPtrOutput

func (i ServiceAdDomainArgs) ToServiceAdDomainPtrOutput() ServiceAdDomainPtrOutput

func (ServiceAdDomainArgs) ToServiceAdDomainPtrOutputWithContext

func (i ServiceAdDomainArgs) ToServiceAdDomainPtrOutputWithContext(ctx context.Context) ServiceAdDomainPtrOutput

type ServiceAdDomainInput

type ServiceAdDomainInput interface {
	pulumi.Input

	ToServiceAdDomainOutput() ServiceAdDomainOutput
	ToServiceAdDomainOutputWithContext(context.Context) ServiceAdDomainOutput
}

ServiceAdDomainInput is an input type that accepts ServiceAdDomainArgs and ServiceAdDomainOutput values. You can construct a concrete instance of `ServiceAdDomainInput` via:

ServiceAdDomainArgs{...}

type ServiceAdDomainOutput

type ServiceAdDomainOutput struct{ *pulumi.OutputState }

func (ServiceAdDomainOutput) ActiveDnsIp

Specifies the primary DNS IP address.

func (ServiceAdDomainOutput) ActiveDomainIp

func (o ServiceAdDomainOutput) ActiveDomainIp() pulumi.StringOutput

Specifies the IP address of primary domain controller.

func (ServiceAdDomainOutput) ActiveDomainName

func (o ServiceAdDomainOutput) ActiveDomainName() pulumi.StringOutput

Specifies the name of primary domain controller.

func (ServiceAdDomainOutput) AdminAccount

func (o ServiceAdDomainOutput) AdminAccount() pulumi.StringOutput

Specifies the domain administrator account. It must be an existing domain administrator account on the AD server.

func (ServiceAdDomainOutput) DeleteComputerObject

func (o ServiceAdDomainOutput) DeleteComputerObject() pulumi.BoolPtrOutput

Specifies whether to delete the corresponding computer object on AD while deleting the desktop.

func (ServiceAdDomainOutput) ElementType

func (ServiceAdDomainOutput) ElementType() reflect.Type

func (ServiceAdDomainOutput) Name

Specifies the domain name. The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.

func (ServiceAdDomainOutput) Password

Specifies the account password of domain administrator.

func (ServiceAdDomainOutput) StandbyDnsIp

func (o ServiceAdDomainOutput) StandbyDnsIp() pulumi.StringPtrOutput

Specifies the standby DNS IP address.

func (ServiceAdDomainOutput) StandbyDomainIp

func (o ServiceAdDomainOutput) StandbyDomainIp() pulumi.StringPtrOutput

Specifies the IP address of the standby domain controller.

func (ServiceAdDomainOutput) StandbyDomainName

func (o ServiceAdDomainOutput) StandbyDomainName() pulumi.StringPtrOutput

Specifies the name of the standby domain controller.

func (ServiceAdDomainOutput) ToServiceAdDomainOutput

func (o ServiceAdDomainOutput) ToServiceAdDomainOutput() ServiceAdDomainOutput

func (ServiceAdDomainOutput) ToServiceAdDomainOutputWithContext

func (o ServiceAdDomainOutput) ToServiceAdDomainOutputWithContext(ctx context.Context) ServiceAdDomainOutput

func (ServiceAdDomainOutput) ToServiceAdDomainPtrOutput

func (o ServiceAdDomainOutput) ToServiceAdDomainPtrOutput() ServiceAdDomainPtrOutput

func (ServiceAdDomainOutput) ToServiceAdDomainPtrOutputWithContext

func (o ServiceAdDomainOutput) ToServiceAdDomainPtrOutputWithContext(ctx context.Context) ServiceAdDomainPtrOutput

type ServiceAdDomainPtrInput

type ServiceAdDomainPtrInput interface {
	pulumi.Input

	ToServiceAdDomainPtrOutput() ServiceAdDomainPtrOutput
	ToServiceAdDomainPtrOutputWithContext(context.Context) ServiceAdDomainPtrOutput
}

ServiceAdDomainPtrInput is an input type that accepts ServiceAdDomainArgs, ServiceAdDomainPtr and ServiceAdDomainPtrOutput values. You can construct a concrete instance of `ServiceAdDomainPtrInput` via:

        ServiceAdDomainArgs{...}

or:

        nil

type ServiceAdDomainPtrOutput

type ServiceAdDomainPtrOutput struct{ *pulumi.OutputState }

func (ServiceAdDomainPtrOutput) ActiveDnsIp

Specifies the primary DNS IP address.

func (ServiceAdDomainPtrOutput) ActiveDomainIp

func (o ServiceAdDomainPtrOutput) ActiveDomainIp() pulumi.StringPtrOutput

Specifies the IP address of primary domain controller.

func (ServiceAdDomainPtrOutput) ActiveDomainName

func (o ServiceAdDomainPtrOutput) ActiveDomainName() pulumi.StringPtrOutput

Specifies the name of primary domain controller.

func (ServiceAdDomainPtrOutput) AdminAccount

Specifies the domain administrator account. It must be an existing domain administrator account on the AD server.

func (ServiceAdDomainPtrOutput) DeleteComputerObject

func (o ServiceAdDomainPtrOutput) DeleteComputerObject() pulumi.BoolPtrOutput

Specifies whether to delete the corresponding computer object on AD while deleting the desktop.

func (ServiceAdDomainPtrOutput) Elem

func (ServiceAdDomainPtrOutput) ElementType

func (ServiceAdDomainPtrOutput) ElementType() reflect.Type

func (ServiceAdDomainPtrOutput) Name

Specifies the domain name. The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.

func (ServiceAdDomainPtrOutput) Password

Specifies the account password of domain administrator.

func (ServiceAdDomainPtrOutput) StandbyDnsIp

Specifies the standby DNS IP address.

func (ServiceAdDomainPtrOutput) StandbyDomainIp

func (o ServiceAdDomainPtrOutput) StandbyDomainIp() pulumi.StringPtrOutput

Specifies the IP address of the standby domain controller.

func (ServiceAdDomainPtrOutput) StandbyDomainName

func (o ServiceAdDomainPtrOutput) StandbyDomainName() pulumi.StringPtrOutput

Specifies the name of the standby domain controller.

func (ServiceAdDomainPtrOutput) ToServiceAdDomainPtrOutput

func (o ServiceAdDomainPtrOutput) ToServiceAdDomainPtrOutput() ServiceAdDomainPtrOutput

func (ServiceAdDomainPtrOutput) ToServiceAdDomainPtrOutputWithContext

func (o ServiceAdDomainPtrOutput) ToServiceAdDomainPtrOutputWithContext(ctx context.Context) ServiceAdDomainPtrOutput

type ServiceArgs

type ServiceArgs struct {
	// Specifies the access mode of Workspace service.
	// The valid values are as follows:
	// + **INTERNET**: internet access.
	// + **DEDICATED**: dedicated line access.
	// + **BOTH**: both internet access and dedicated access are supported.
	AccessMode pulumi.StringInput
	// Specifies the configuration of AD domain.
	// Required if `authType` is **LOCAL_AD**. Make sure that the selected VPC network and the network to which AD
	// belongs can be connected. The object structure is documented below.
	AdDomain ServiceAdDomainPtrInput
	// Specifies the authentication type of Workspace service.
	// The valid values are as follows:
	// + **LITE_AS**: Local authentication.
	// + **LOCAL_AD**: Connect to AD domain.
	AuthType pulumi.StringPtrInput
	// The subnet segments of the dedicated access.
	DedicatedSubnets pulumi.StringArrayInput
	// Specifies the enterprise ID.
	// The enterprise ID is the unique identification in the Workspace service.
	// If omitted, the system will automatically generate an enterprise ID.
	// The ID can contain `1` to `32` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.
	EnterpriseId pulumi.StringPtrInput
	// Specifies the internet access port.
	// The valid value is range from `1,025` to `65,535`.
	InternetAccessPort pulumi.IntPtrInput
	// The subnet segment of the management component.
	ManagementSubnetCidr pulumi.StringPtrInput
	// The network ID list of subnets that the service have.
	// The subnets corresponding to this parameter must be included in the VPC resource corresponding to `vpcId`.
	// These subnet segments cannot conflict with `172.16.0.0/12`.
	NetworkIds pulumi.StringArrayInput
	// The region in which to register the Workspace service.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the VPC ID to which the service belongs.
	// Changing this will create a new resource.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Service resource.

func (ServiceArgs) ElementType

func (ServiceArgs) ElementType() reflect.Type

type ServiceArray

type ServiceArray []ServiceInput

func (ServiceArray) ElementType

func (ServiceArray) ElementType() reflect.Type

func (ServiceArray) ToServiceArrayOutput

func (i ServiceArray) ToServiceArrayOutput() ServiceArrayOutput

func (ServiceArray) ToServiceArrayOutputWithContext

func (i ServiceArray) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput

type ServiceArrayInput

type ServiceArrayInput interface {
	pulumi.Input

	ToServiceArrayOutput() ServiceArrayOutput
	ToServiceArrayOutputWithContext(context.Context) ServiceArrayOutput
}

ServiceArrayInput is an input type that accepts ServiceArray and ServiceArrayOutput values. You can construct a concrete instance of `ServiceArrayInput` via:

ServiceArray{ ServiceArgs{...} }

type ServiceArrayOutput

type ServiceArrayOutput struct{ *pulumi.OutputState }

func (ServiceArrayOutput) ElementType

func (ServiceArrayOutput) ElementType() reflect.Type

func (ServiceArrayOutput) Index

func (ServiceArrayOutput) ToServiceArrayOutput

func (o ServiceArrayOutput) ToServiceArrayOutput() ServiceArrayOutput

func (ServiceArrayOutput) ToServiceArrayOutputWithContext

func (o ServiceArrayOutput) ToServiceArrayOutputWithContext(ctx context.Context) ServiceArrayOutput

type ServiceDesktopSecurityGroup

type ServiceDesktopSecurityGroup struct {
	// Security group ID.
	Id *string `pulumi:"id"`
	// Specifies the domain name.
	// The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
	Name *string `pulumi:"name"`
}

type ServiceDesktopSecurityGroupArgs

type ServiceDesktopSecurityGroupArgs struct {
	// Security group ID.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the domain name.
	// The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (ServiceDesktopSecurityGroupArgs) ElementType

func (ServiceDesktopSecurityGroupArgs) ToServiceDesktopSecurityGroupOutput

func (i ServiceDesktopSecurityGroupArgs) ToServiceDesktopSecurityGroupOutput() ServiceDesktopSecurityGroupOutput

func (ServiceDesktopSecurityGroupArgs) ToServiceDesktopSecurityGroupOutputWithContext

func (i ServiceDesktopSecurityGroupArgs) ToServiceDesktopSecurityGroupOutputWithContext(ctx context.Context) ServiceDesktopSecurityGroupOutput

type ServiceDesktopSecurityGroupArray

type ServiceDesktopSecurityGroupArray []ServiceDesktopSecurityGroupInput

func (ServiceDesktopSecurityGroupArray) ElementType

func (ServiceDesktopSecurityGroupArray) ToServiceDesktopSecurityGroupArrayOutput

func (i ServiceDesktopSecurityGroupArray) ToServiceDesktopSecurityGroupArrayOutput() ServiceDesktopSecurityGroupArrayOutput

func (ServiceDesktopSecurityGroupArray) ToServiceDesktopSecurityGroupArrayOutputWithContext

func (i ServiceDesktopSecurityGroupArray) ToServiceDesktopSecurityGroupArrayOutputWithContext(ctx context.Context) ServiceDesktopSecurityGroupArrayOutput

type ServiceDesktopSecurityGroupArrayInput

type ServiceDesktopSecurityGroupArrayInput interface {
	pulumi.Input

	ToServiceDesktopSecurityGroupArrayOutput() ServiceDesktopSecurityGroupArrayOutput
	ToServiceDesktopSecurityGroupArrayOutputWithContext(context.Context) ServiceDesktopSecurityGroupArrayOutput
}

ServiceDesktopSecurityGroupArrayInput is an input type that accepts ServiceDesktopSecurityGroupArray and ServiceDesktopSecurityGroupArrayOutput values. You can construct a concrete instance of `ServiceDesktopSecurityGroupArrayInput` via:

ServiceDesktopSecurityGroupArray{ ServiceDesktopSecurityGroupArgs{...} }

type ServiceDesktopSecurityGroupArrayOutput

type ServiceDesktopSecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (ServiceDesktopSecurityGroupArrayOutput) ElementType

func (ServiceDesktopSecurityGroupArrayOutput) Index

func (ServiceDesktopSecurityGroupArrayOutput) ToServiceDesktopSecurityGroupArrayOutput

func (o ServiceDesktopSecurityGroupArrayOutput) ToServiceDesktopSecurityGroupArrayOutput() ServiceDesktopSecurityGroupArrayOutput

func (ServiceDesktopSecurityGroupArrayOutput) ToServiceDesktopSecurityGroupArrayOutputWithContext

func (o ServiceDesktopSecurityGroupArrayOutput) ToServiceDesktopSecurityGroupArrayOutputWithContext(ctx context.Context) ServiceDesktopSecurityGroupArrayOutput

type ServiceDesktopSecurityGroupInput

type ServiceDesktopSecurityGroupInput interface {
	pulumi.Input

	ToServiceDesktopSecurityGroupOutput() ServiceDesktopSecurityGroupOutput
	ToServiceDesktopSecurityGroupOutputWithContext(context.Context) ServiceDesktopSecurityGroupOutput
}

ServiceDesktopSecurityGroupInput is an input type that accepts ServiceDesktopSecurityGroupArgs and ServiceDesktopSecurityGroupOutput values. You can construct a concrete instance of `ServiceDesktopSecurityGroupInput` via:

ServiceDesktopSecurityGroupArgs{...}

type ServiceDesktopSecurityGroupOutput

type ServiceDesktopSecurityGroupOutput struct{ *pulumi.OutputState }

func (ServiceDesktopSecurityGroupOutput) ElementType

func (ServiceDesktopSecurityGroupOutput) Id

Security group ID.

func (ServiceDesktopSecurityGroupOutput) Name

Specifies the domain name. The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.

func (ServiceDesktopSecurityGroupOutput) ToServiceDesktopSecurityGroupOutput

func (o ServiceDesktopSecurityGroupOutput) ToServiceDesktopSecurityGroupOutput() ServiceDesktopSecurityGroupOutput

func (ServiceDesktopSecurityGroupOutput) ToServiceDesktopSecurityGroupOutputWithContext

func (o ServiceDesktopSecurityGroupOutput) ToServiceDesktopSecurityGroupOutputWithContext(ctx context.Context) ServiceDesktopSecurityGroupOutput

type ServiceInfrastructureSecurityGroup

type ServiceInfrastructureSecurityGroup struct {
	// Security group ID.
	Id *string `pulumi:"id"`
	// Specifies the domain name.
	// The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
	Name *string `pulumi:"name"`
}

type ServiceInfrastructureSecurityGroupArgs

type ServiceInfrastructureSecurityGroupArgs struct {
	// Security group ID.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the domain name.
	// The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

func (ServiceInfrastructureSecurityGroupArgs) ElementType

func (ServiceInfrastructureSecurityGroupArgs) ToServiceInfrastructureSecurityGroupOutput

func (i ServiceInfrastructureSecurityGroupArgs) ToServiceInfrastructureSecurityGroupOutput() ServiceInfrastructureSecurityGroupOutput

func (ServiceInfrastructureSecurityGroupArgs) ToServiceInfrastructureSecurityGroupOutputWithContext

func (i ServiceInfrastructureSecurityGroupArgs) ToServiceInfrastructureSecurityGroupOutputWithContext(ctx context.Context) ServiceInfrastructureSecurityGroupOutput

type ServiceInfrastructureSecurityGroupArray

type ServiceInfrastructureSecurityGroupArray []ServiceInfrastructureSecurityGroupInput

func (ServiceInfrastructureSecurityGroupArray) ElementType

func (ServiceInfrastructureSecurityGroupArray) ToServiceInfrastructureSecurityGroupArrayOutput

func (i ServiceInfrastructureSecurityGroupArray) ToServiceInfrastructureSecurityGroupArrayOutput() ServiceInfrastructureSecurityGroupArrayOutput

func (ServiceInfrastructureSecurityGroupArray) ToServiceInfrastructureSecurityGroupArrayOutputWithContext

func (i ServiceInfrastructureSecurityGroupArray) ToServiceInfrastructureSecurityGroupArrayOutputWithContext(ctx context.Context) ServiceInfrastructureSecurityGroupArrayOutput

type ServiceInfrastructureSecurityGroupArrayInput

type ServiceInfrastructureSecurityGroupArrayInput interface {
	pulumi.Input

	ToServiceInfrastructureSecurityGroupArrayOutput() ServiceInfrastructureSecurityGroupArrayOutput
	ToServiceInfrastructureSecurityGroupArrayOutputWithContext(context.Context) ServiceInfrastructureSecurityGroupArrayOutput
}

ServiceInfrastructureSecurityGroupArrayInput is an input type that accepts ServiceInfrastructureSecurityGroupArray and ServiceInfrastructureSecurityGroupArrayOutput values. You can construct a concrete instance of `ServiceInfrastructureSecurityGroupArrayInput` via:

ServiceInfrastructureSecurityGroupArray{ ServiceInfrastructureSecurityGroupArgs{...} }

type ServiceInfrastructureSecurityGroupArrayOutput

type ServiceInfrastructureSecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (ServiceInfrastructureSecurityGroupArrayOutput) ElementType

func (ServiceInfrastructureSecurityGroupArrayOutput) Index

func (ServiceInfrastructureSecurityGroupArrayOutput) ToServiceInfrastructureSecurityGroupArrayOutput

func (o ServiceInfrastructureSecurityGroupArrayOutput) ToServiceInfrastructureSecurityGroupArrayOutput() ServiceInfrastructureSecurityGroupArrayOutput

func (ServiceInfrastructureSecurityGroupArrayOutput) ToServiceInfrastructureSecurityGroupArrayOutputWithContext

func (o ServiceInfrastructureSecurityGroupArrayOutput) ToServiceInfrastructureSecurityGroupArrayOutputWithContext(ctx context.Context) ServiceInfrastructureSecurityGroupArrayOutput

type ServiceInfrastructureSecurityGroupInput

type ServiceInfrastructureSecurityGroupInput interface {
	pulumi.Input

	ToServiceInfrastructureSecurityGroupOutput() ServiceInfrastructureSecurityGroupOutput
	ToServiceInfrastructureSecurityGroupOutputWithContext(context.Context) ServiceInfrastructureSecurityGroupOutput
}

ServiceInfrastructureSecurityGroupInput is an input type that accepts ServiceInfrastructureSecurityGroupArgs and ServiceInfrastructureSecurityGroupOutput values. You can construct a concrete instance of `ServiceInfrastructureSecurityGroupInput` via:

ServiceInfrastructureSecurityGroupArgs{...}

type ServiceInfrastructureSecurityGroupOutput

type ServiceInfrastructureSecurityGroupOutput struct{ *pulumi.OutputState }

func (ServiceInfrastructureSecurityGroupOutput) ElementType

func (ServiceInfrastructureSecurityGroupOutput) Id

Security group ID.

func (ServiceInfrastructureSecurityGroupOutput) Name

Specifies the domain name. The domain name must be an existing domain name on the AD server, and the length cannot exceed `55`.

func (ServiceInfrastructureSecurityGroupOutput) ToServiceInfrastructureSecurityGroupOutput

func (o ServiceInfrastructureSecurityGroupOutput) ToServiceInfrastructureSecurityGroupOutput() ServiceInfrastructureSecurityGroupOutput

func (ServiceInfrastructureSecurityGroupOutput) ToServiceInfrastructureSecurityGroupOutputWithContext

func (o ServiceInfrastructureSecurityGroupOutput) ToServiceInfrastructureSecurityGroupOutputWithContext(ctx context.Context) ServiceInfrastructureSecurityGroupOutput

type ServiceInput

type ServiceInput interface {
	pulumi.Input

	ToServiceOutput() ServiceOutput
	ToServiceOutputWithContext(ctx context.Context) ServiceOutput
}

type ServiceMap

type ServiceMap map[string]ServiceInput

func (ServiceMap) ElementType

func (ServiceMap) ElementType() reflect.Type

func (ServiceMap) ToServiceMapOutput

func (i ServiceMap) ToServiceMapOutput() ServiceMapOutput

func (ServiceMap) ToServiceMapOutputWithContext

func (i ServiceMap) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput

type ServiceMapInput

type ServiceMapInput interface {
	pulumi.Input

	ToServiceMapOutput() ServiceMapOutput
	ToServiceMapOutputWithContext(context.Context) ServiceMapOutput
}

ServiceMapInput is an input type that accepts ServiceMap and ServiceMapOutput values. You can construct a concrete instance of `ServiceMapInput` via:

ServiceMap{ "key": ServiceArgs{...} }

type ServiceMapOutput

type ServiceMapOutput struct{ *pulumi.OutputState }

func (ServiceMapOutput) ElementType

func (ServiceMapOutput) ElementType() reflect.Type

func (ServiceMapOutput) MapIndex

func (ServiceMapOutput) ToServiceMapOutput

func (o ServiceMapOutput) ToServiceMapOutput() ServiceMapOutput

func (ServiceMapOutput) ToServiceMapOutputWithContext

func (o ServiceMapOutput) ToServiceMapOutputWithContext(ctx context.Context) ServiceMapOutput

type ServiceOutput

type ServiceOutput struct{ *pulumi.OutputState }

func (ServiceOutput) AccessMode

func (o ServiceOutput) AccessMode() pulumi.StringOutput

Specifies the access mode of Workspace service. The valid values are as follows: + **INTERNET**: internet access. + **DEDICATED**: dedicated line access. + **BOTH**: both internet access and dedicated access are supported.

func (ServiceOutput) AdDomain

func (o ServiceOutput) AdDomain() ServiceAdDomainOutput

Specifies the configuration of AD domain. Required if `authType` is **LOCAL_AD**. Make sure that the selected VPC network and the network to which AD belongs can be connected. The object structure is documented below.

func (ServiceOutput) AuthType

func (o ServiceOutput) AuthType() pulumi.StringPtrOutput

Specifies the authentication type of Workspace service. The valid values are as follows: + **LITE_AS**: Local authentication. + **LOCAL_AD**: Connect to AD domain.

func (ServiceOutput) DedicatedSubnets

func (o ServiceOutput) DedicatedSubnets() pulumi.StringArrayOutput

The subnet segments of the dedicated access.

func (ServiceOutput) DesktopSecurityGroups

func (o ServiceOutput) DesktopSecurityGroups() ServiceDesktopSecurityGroupArrayOutput

The desktop security group automatically created under the specified VPC after the service is registered. The object structure is documented below.

func (ServiceOutput) ElementType

func (ServiceOutput) ElementType() reflect.Type

func (ServiceOutput) EnterpriseId

func (o ServiceOutput) EnterpriseId() pulumi.StringOutput

Specifies the enterprise ID. The enterprise ID is the unique identification in the Workspace service. If omitted, the system will automatically generate an enterprise ID. The ID can contain `1` to `32` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.

func (ServiceOutput) InfrastructureSecurityGroups

func (o ServiceOutput) InfrastructureSecurityGroups() ServiceInfrastructureSecurityGroupArrayOutput

The management component security group automatically created under the specified VPC after the service is registered. The object structure is documented below.

func (ServiceOutput) InternetAccessAddress

func (o ServiceOutput) InternetAccessAddress() pulumi.StringOutput

The internet access address. This attribute is returned only when the accessMode is **INTERNET** or **BOTH**.

func (ServiceOutput) InternetAccessPort

func (o ServiceOutput) InternetAccessPort() pulumi.IntOutput

Specifies the internet access port. The valid value is range from `1,025` to `65,535`.

func (ServiceOutput) ManagementSubnetCidr

func (o ServiceOutput) ManagementSubnetCidr() pulumi.StringOutput

The subnet segment of the management component.

func (ServiceOutput) NetworkIds

func (o ServiceOutput) NetworkIds() pulumi.StringArrayOutput

The network ID list of subnets that the service have. The subnets corresponding to this parameter must be included in the VPC resource corresponding to `vpcId`. These subnet segments cannot conflict with `172.16.0.0/12`.

func (ServiceOutput) Region

func (o ServiceOutput) Region() pulumi.StringOutput

The region in which to register the Workspace service. If omitted, the provider-level region will be used. Changing this will create a new resource.

func (ServiceOutput) Status

func (o ServiceOutput) Status() pulumi.StringOutput

The current status of the Workspace service.

func (ServiceOutput) ToServiceOutput

func (o ServiceOutput) ToServiceOutput() ServiceOutput

func (ServiceOutput) ToServiceOutputWithContext

func (o ServiceOutput) ToServiceOutputWithContext(ctx context.Context) ServiceOutput

func (ServiceOutput) VpcId

func (o ServiceOutput) VpcId() pulumi.StringOutput

Specifies the VPC ID to which the service belongs. Changing this will create a new resource.

type ServiceState

type ServiceState struct {
	// Specifies the access mode of Workspace service.
	// The valid values are as follows:
	// + **INTERNET**: internet access.
	// + **DEDICATED**: dedicated line access.
	// + **BOTH**: both internet access and dedicated access are supported.
	AccessMode pulumi.StringPtrInput
	// Specifies the configuration of AD domain.
	// Required if `authType` is **LOCAL_AD**. Make sure that the selected VPC network and the network to which AD
	// belongs can be connected. The object structure is documented below.
	AdDomain ServiceAdDomainPtrInput
	// Specifies the authentication type of Workspace service.
	// The valid values are as follows:
	// + **LITE_AS**: Local authentication.
	// + **LOCAL_AD**: Connect to AD domain.
	AuthType pulumi.StringPtrInput
	// The subnet segments of the dedicated access.
	DedicatedSubnets pulumi.StringArrayInput
	// The desktop security group automatically created under the specified VPC after the service
	// is registered. The object structure is documented below.
	DesktopSecurityGroups ServiceDesktopSecurityGroupArrayInput
	// Specifies the enterprise ID.
	// The enterprise ID is the unique identification in the Workspace service.
	// If omitted, the system will automatically generate an enterprise ID.
	// The ID can contain `1` to `32` characters, only letters, digits, hyphens (-) and underscores (_) are allowed.
	EnterpriseId pulumi.StringPtrInput
	// The management component security group automatically created under the specified
	// VPC after the service is registered. The object structure is documented below.
	InfrastructureSecurityGroups ServiceInfrastructureSecurityGroupArrayInput
	// The internet access address.
	// This attribute is returned only when the accessMode is **INTERNET** or **BOTH**.
	InternetAccessAddress pulumi.StringPtrInput
	// Specifies the internet access port.
	// The valid value is range from `1,025` to `65,535`.
	InternetAccessPort pulumi.IntPtrInput
	// The subnet segment of the management component.
	ManagementSubnetCidr pulumi.StringPtrInput
	// The network ID list of subnets that the service have.
	// The subnets corresponding to this parameter must be included in the VPC resource corresponding to `vpcId`.
	// These subnet segments cannot conflict with `172.16.0.0/12`.
	NetworkIds pulumi.StringArrayInput
	// The region in which to register the Workspace service.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// The current status of the Workspace service.
	Status pulumi.StringPtrInput
	// Specifies the VPC ID to which the service belongs.
	// Changing this will create a new resource.
	VpcId pulumi.StringPtrInput
}

func (ServiceState) ElementType

func (ServiceState) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// Specifies the user's valid period configuration.
	// + Never expires: **0**.
	// + Expires at a certain time: account expires must in RFC3339 format like `yyyy-MM-ddTHH:mm:ssZ`.
	//   The times is in local time, depending on the timezone.
	AccountExpires pulumi.StringPtrOutput `pulumi:"accountExpires"`
	// Specifies the description of user. The maximum length is `255` characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies whether the user is disabled.
	// Defaults to **false**.
	Disabled pulumi.BoolPtrOutput `pulumi:"disabled"`
	// Specifies the email address of user. The value can contain `1` to `64` characters.
	Email pulumi.StringOutput `pulumi:"email"`
	// Specifies whether to allow password modification.
	// Defaults to **true**.
	EnableChangePassword pulumi.BoolPtrOutput `pulumi:"enableChangePassword"`
	// Whether the user is locked.
	Locked pulumi.BoolOutput `pulumi:"locked"`
	// Specifies the user name.
	// + Pure numeric: the valid length is between `1` and `20`.
	// + Non-pure numeric: the name can contain `1` to `20` characters, only letters, digits, hyphens (-), underscore (_) and
	//   dots (.) are allowed. The name must start with a letter.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies whether the next login requires a password reset.
	// Defaults to **true**.
	NextLoginChangePassword pulumi.BoolPtrOutput `pulumi:"nextLoginChangePassword"`
	// Specifies whether the password will never expires.
	// Defaults to **false**.
	PasswordNeverExpires pulumi.BoolPtrOutput `pulumi:"passwordNeverExpires"`
	// The region in which to create the Workspace user resource.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The number of desktops the user has.
	TotalDesktops pulumi.IntOutput `pulumi:"totalDesktops"`
}

Manages a Workspace user resource within HuaweiCloud.

## Example Usage ### Create a user that never expires

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Workspace"
"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, "")
		userName := cfg.RequireObject("userName")
		emailAddress := cfg.RequireObject("emailAddress")
		_, err := Workspace.NewUser(ctx, "test", &Workspace.UserArgs{
			Email:                   pulumi.Any(emailAddress),
			AccountExpires:          pulumi.String("0"),
			PasswordNeverExpires:    pulumi.Bool(false),
			EnableChangePassword:    pulumi.Bool(true),
			NextLoginChangePassword: pulumi.Bool(true),
			Disabled:                pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Users can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Workspace/user:User test a96e632a399d452eb29e5091e0af806a

```

func GetUser

func GetUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)

GetUser gets an existing User 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 NewUser

func NewUser(ctx *pulumi.Context,
	name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)

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

func (*User) ElementType

func (*User) ElementType() reflect.Type

func (*User) ToUserOutput

func (i *User) ToUserOutput() UserOutput

func (*User) ToUserOutputWithContext

func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput

type UserArgs

type UserArgs struct {
	// Specifies the user's valid period configuration.
	// + Never expires: **0**.
	// + Expires at a certain time: account expires must in RFC3339 format like `yyyy-MM-ddTHH:mm:ssZ`.
	//   The times is in local time, depending on the timezone.
	AccountExpires pulumi.StringPtrInput
	// Specifies the description of user. The maximum length is `255` characters.
	Description pulumi.StringPtrInput
	// Specifies whether the user is disabled.
	// Defaults to **false**.
	Disabled pulumi.BoolPtrInput
	// Specifies the email address of user. The value can contain `1` to `64` characters.
	Email pulumi.StringInput
	// Specifies whether to allow password modification.
	// Defaults to **true**.
	EnableChangePassword pulumi.BoolPtrInput
	// Specifies the user name.
	// + Pure numeric: the valid length is between `1` and `20`.
	// + Non-pure numeric: the name can contain `1` to `20` characters, only letters, digits, hyphens (-), underscore (_) and
	//   dots (.) are allowed. The name must start with a letter.
	Name pulumi.StringPtrInput
	// Specifies whether the next login requires a password reset.
	// Defaults to **true**.
	NextLoginChangePassword pulumi.BoolPtrInput
	// Specifies whether the password will never expires.
	// Defaults to **false**.
	PasswordNeverExpires pulumi.BoolPtrInput
	// The region in which to create the Workspace user resource.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType

func (UserArgs) ElementType() reflect.Type

type UserArray

type UserArray []UserInput

func (UserArray) ElementType

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext

func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserArrayInput

type UserArrayInput interface {
	pulumi.Input

	ToUserArrayOutput() UserArrayOutput
	ToUserArrayOutputWithContext(context.Context) UserArrayOutput
}

UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:

UserArray{ UserArgs{...} }

type UserArrayOutput

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index

func (UserArrayOutput) ToUserArrayOutput

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext

func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserInput

type UserInput interface {
	pulumi.Input

	ToUserOutput() UserOutput
	ToUserOutputWithContext(ctx context.Context) UserOutput
}

type UserMap

type UserMap map[string]UserInput

func (UserMap) ElementType

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext

func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserMapInput

type UserMapInput interface {
	pulumi.Input

	ToUserMapOutput() UserMapOutput
	ToUserMapOutputWithContext(context.Context) UserMapOutput
}

UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:

UserMap{ "key": UserArgs{...} }

type UserMapOutput

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex

func (UserMapOutput) ToUserMapOutput

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext

func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserOutput

type UserOutput struct{ *pulumi.OutputState }

func (UserOutput) AccountExpires

func (o UserOutput) AccountExpires() pulumi.StringPtrOutput

Specifies the user's valid period configuration.

  • Never expires: **0**.
  • Expires at a certain time: account expires must in RFC3339 format like `yyyy-MM-ddTHH:mm:ssZ`. The times is in local time, depending on the timezone.

func (UserOutput) Description

func (o UserOutput) Description() pulumi.StringPtrOutput

Specifies the description of user. The maximum length is `255` characters.

func (UserOutput) Disabled

func (o UserOutput) Disabled() pulumi.BoolPtrOutput

Specifies whether the user is disabled. Defaults to **false**.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Email

func (o UserOutput) Email() pulumi.StringOutput

Specifies the email address of user. The value can contain `1` to `64` characters.

func (UserOutput) EnableChangePassword

func (o UserOutput) EnableChangePassword() pulumi.BoolPtrOutput

Specifies whether to allow password modification. Defaults to **true**.

func (UserOutput) Locked

func (o UserOutput) Locked() pulumi.BoolOutput

Whether the user is locked.

func (UserOutput) Name

func (o UserOutput) Name() pulumi.StringOutput

Specifies the user name.

  • Pure numeric: the valid length is between `1` and `20`.
  • Non-pure numeric: the name can contain `1` to `20` characters, only letters, digits, hyphens (-), underscore (_) and dots (.) are allowed. The name must start with a letter.

func (UserOutput) NextLoginChangePassword

func (o UserOutput) NextLoginChangePassword() pulumi.BoolPtrOutput

Specifies whether the next login requires a password reset. Defaults to **true**.

func (UserOutput) PasswordNeverExpires

func (o UserOutput) PasswordNeverExpires() pulumi.BoolPtrOutput

Specifies whether the password will never expires. Defaults to **false**.

func (UserOutput) Region

func (o UserOutput) Region() pulumi.StringOutput

The region in which to create the Workspace user resource. If omitted, the provider-level region will be used. Changing this will create a new resource.

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput

func (UserOutput) TotalDesktops

func (o UserOutput) TotalDesktops() pulumi.IntOutput

The number of desktops the user has.

type UserState

type UserState struct {
	// Specifies the user's valid period configuration.
	// + Never expires: **0**.
	// + Expires at a certain time: account expires must in RFC3339 format like `yyyy-MM-ddTHH:mm:ssZ`.
	//   The times is in local time, depending on the timezone.
	AccountExpires pulumi.StringPtrInput
	// Specifies the description of user. The maximum length is `255` characters.
	Description pulumi.StringPtrInput
	// Specifies whether the user is disabled.
	// Defaults to **false**.
	Disabled pulumi.BoolPtrInput
	// Specifies the email address of user. The value can contain `1` to `64` characters.
	Email pulumi.StringPtrInput
	// Specifies whether to allow password modification.
	// Defaults to **true**.
	EnableChangePassword pulumi.BoolPtrInput
	// Whether the user is locked.
	Locked pulumi.BoolPtrInput
	// Specifies the user name.
	// + Pure numeric: the valid length is between `1` and `20`.
	// + Non-pure numeric: the name can contain `1` to `20` characters, only letters, digits, hyphens (-), underscore (_) and
	//   dots (.) are allowed. The name must start with a letter.
	Name pulumi.StringPtrInput
	// Specifies whether the next login requires a password reset.
	// Defaults to **true**.
	NextLoginChangePassword pulumi.BoolPtrInput
	// Specifies whether the password will never expires.
	// Defaults to **false**.
	PasswordNeverExpires pulumi.BoolPtrInput
	// The region in which to create the Workspace user resource.
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// The number of desktops the user has.
	TotalDesktops pulumi.IntPtrInput
}

func (UserState) ElementType

func (UserState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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