bastionhost

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

type GetHostAccountsAccount struct {
	// Whether to set a new password.
	HasPassword bool `pulumi:"hasPassword"`
	// Hosting account ID.
	HostAccountId string `pulumi:"hostAccountId"`
	// Specify the new hosting account's name, support the longest 128 characters.
	HostAccountName string `pulumi:"hostAccountName"`
	// Specifies the database where you want to create your hosting account's host ID.
	HostId string `pulumi:"hostId"`
	// The ID of the Host Account.
	Id string `pulumi:"id"`
	// Specifies the database where you want to create your hosting account's host bastion host ID of.
	InstanceId string `pulumi:"instanceId"`
	// The situation where the private keys of the fingerprint information.
	PrivateKeyFingerprint string `pulumi:"privateKeyFingerprint"`
	// Specify the new hosting account of the agreement name. Valid values: USING SSH and RDP.
	ProtocolName string `pulumi:"protocolName"`
}

type GetHostAccountsAccountArgs added in v3.8.0

type GetHostAccountsAccountArgs struct {
	// Whether to set a new password.
	HasPassword pulumi.BoolInput `pulumi:"hasPassword"`
	// Hosting account ID.
	HostAccountId pulumi.StringInput `pulumi:"hostAccountId"`
	// Specify the new hosting account's name, support the longest 128 characters.
	HostAccountName pulumi.StringInput `pulumi:"hostAccountName"`
	// Specifies the database where you want to create your hosting account's host ID.
	HostId pulumi.StringInput `pulumi:"hostId"`
	// The ID of the Host Account.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the database where you want to create your hosting account's host bastion host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The situation where the private keys of the fingerprint information.
	PrivateKeyFingerprint pulumi.StringInput `pulumi:"privateKeyFingerprint"`
	// Specify the new hosting account of the agreement name. Valid values: USING SSH and RDP.
	ProtocolName pulumi.StringInput `pulumi:"protocolName"`
}

func (GetHostAccountsAccountArgs) ElementType added in v3.8.0

func (GetHostAccountsAccountArgs) ElementType() reflect.Type

func (GetHostAccountsAccountArgs) ToGetHostAccountsAccountOutput added in v3.8.0

func (i GetHostAccountsAccountArgs) ToGetHostAccountsAccountOutput() GetHostAccountsAccountOutput

func (GetHostAccountsAccountArgs) ToGetHostAccountsAccountOutputWithContext added in v3.8.0

func (i GetHostAccountsAccountArgs) ToGetHostAccountsAccountOutputWithContext(ctx context.Context) GetHostAccountsAccountOutput

type GetHostAccountsAccountArray added in v3.8.0

type GetHostAccountsAccountArray []GetHostAccountsAccountInput

func (GetHostAccountsAccountArray) ElementType added in v3.8.0

func (GetHostAccountsAccountArray) ToGetHostAccountsAccountArrayOutput added in v3.8.0

func (i GetHostAccountsAccountArray) ToGetHostAccountsAccountArrayOutput() GetHostAccountsAccountArrayOutput

func (GetHostAccountsAccountArray) ToGetHostAccountsAccountArrayOutputWithContext added in v3.8.0

func (i GetHostAccountsAccountArray) ToGetHostAccountsAccountArrayOutputWithContext(ctx context.Context) GetHostAccountsAccountArrayOutput

type GetHostAccountsAccountArrayInput added in v3.8.0

type GetHostAccountsAccountArrayInput interface {
	pulumi.Input

	ToGetHostAccountsAccountArrayOutput() GetHostAccountsAccountArrayOutput
	ToGetHostAccountsAccountArrayOutputWithContext(context.Context) GetHostAccountsAccountArrayOutput
}

GetHostAccountsAccountArrayInput is an input type that accepts GetHostAccountsAccountArray and GetHostAccountsAccountArrayOutput values. You can construct a concrete instance of `GetHostAccountsAccountArrayInput` via:

GetHostAccountsAccountArray{ GetHostAccountsAccountArgs{...} }

type GetHostAccountsAccountArrayOutput added in v3.8.0

type GetHostAccountsAccountArrayOutput struct{ *pulumi.OutputState }

func (GetHostAccountsAccountArrayOutput) ElementType added in v3.8.0

func (GetHostAccountsAccountArrayOutput) Index added in v3.8.0

func (GetHostAccountsAccountArrayOutput) ToGetHostAccountsAccountArrayOutput added in v3.8.0

func (o GetHostAccountsAccountArrayOutput) ToGetHostAccountsAccountArrayOutput() GetHostAccountsAccountArrayOutput

func (GetHostAccountsAccountArrayOutput) ToGetHostAccountsAccountArrayOutputWithContext added in v3.8.0

func (o GetHostAccountsAccountArrayOutput) ToGetHostAccountsAccountArrayOutputWithContext(ctx context.Context) GetHostAccountsAccountArrayOutput

type GetHostAccountsAccountInput added in v3.8.0

type GetHostAccountsAccountInput interface {
	pulumi.Input

	ToGetHostAccountsAccountOutput() GetHostAccountsAccountOutput
	ToGetHostAccountsAccountOutputWithContext(context.Context) GetHostAccountsAccountOutput
}

GetHostAccountsAccountInput is an input type that accepts GetHostAccountsAccountArgs and GetHostAccountsAccountOutput values. You can construct a concrete instance of `GetHostAccountsAccountInput` via:

GetHostAccountsAccountArgs{...}

type GetHostAccountsAccountOutput added in v3.8.0

type GetHostAccountsAccountOutput struct{ *pulumi.OutputState }

func (GetHostAccountsAccountOutput) ElementType added in v3.8.0

func (GetHostAccountsAccountOutput) HasPassword added in v3.8.0

Whether to set a new password.

func (GetHostAccountsAccountOutput) HostAccountId added in v3.8.0

Hosting account ID.

func (GetHostAccountsAccountOutput) HostAccountName added in v3.8.0

func (o GetHostAccountsAccountOutput) HostAccountName() pulumi.StringOutput

Specify the new hosting account's name, support the longest 128 characters.

func (GetHostAccountsAccountOutput) HostId added in v3.8.0

Specifies the database where you want to create your hosting account's host ID.

func (GetHostAccountsAccountOutput) Id added in v3.8.0

The ID of the Host Account.

func (GetHostAccountsAccountOutput) InstanceId added in v3.8.0

Specifies the database where you want to create your hosting account's host bastion host ID of.

func (GetHostAccountsAccountOutput) PrivateKeyFingerprint added in v3.8.0

func (o GetHostAccountsAccountOutput) PrivateKeyFingerprint() pulumi.StringOutput

The situation where the private keys of the fingerprint information.

func (GetHostAccountsAccountOutput) ProtocolName added in v3.8.0

Specify the new hosting account of the agreement name. Valid values: USING SSH and RDP.

func (GetHostAccountsAccountOutput) ToGetHostAccountsAccountOutput added in v3.8.0

func (o GetHostAccountsAccountOutput) ToGetHostAccountsAccountOutput() GetHostAccountsAccountOutput

func (GetHostAccountsAccountOutput) ToGetHostAccountsAccountOutputWithContext added in v3.8.0

func (o GetHostAccountsAccountOutput) ToGetHostAccountsAccountOutputWithContext(ctx context.Context) GetHostAccountsAccountOutput

type GetHostAccountsArgs added in v3.8.0

type GetHostAccountsArgs struct {
	// Specify the new hosting account's name, support the longest 128 characters.
	HostAccountName *string `pulumi:"hostAccountName"`
	// Specifies the database where you want to create your hosting account's host ID.
	HostId string `pulumi:"hostId"`
	// A list of Host Account IDs.
	Ids []string `pulumi:"ids"`
	// Specifies the database where you want to create your hosting account's host bastion host ID of.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by Host Account name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Specify the new hosting account of the agreement name. Valid values: USING SSH and RDP.
	ProtocolName *string `pulumi:"protocolName"`
}

A collection of arguments for invoking getHostAccounts.

type GetHostAccountsOutputArgs added in v3.9.0

type GetHostAccountsOutputArgs struct {
	// Specify the new hosting account's name, support the longest 128 characters.
	HostAccountName pulumi.StringPtrInput `pulumi:"hostAccountName"`
	// Specifies the database where you want to create your hosting account's host ID.
	HostId pulumi.StringInput `pulumi:"hostId"`
	// A list of Host Account IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Specifies the database where you want to create your hosting account's host bastion host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by Host Account name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Specify the new hosting account of the agreement name. Valid values: USING SSH and RDP.
	ProtocolName pulumi.StringPtrInput `pulumi:"protocolName"`
}

A collection of arguments for invoking getHostAccounts.

func (GetHostAccountsOutputArgs) ElementType added in v3.9.0

func (GetHostAccountsOutputArgs) ElementType() reflect.Type

type GetHostAccountsResult added in v3.8.0

type GetHostAccountsResult struct {
	Accounts        []GetHostAccountsAccount `pulumi:"accounts"`
	HostAccountName *string                  `pulumi:"hostAccountName"`
	HostId          string                   `pulumi:"hostId"`
	// The provider-assigned unique ID for this managed resource.
	Id           string   `pulumi:"id"`
	Ids          []string `pulumi:"ids"`
	InstanceId   string   `pulumi:"instanceId"`
	NameRegex    *string  `pulumi:"nameRegex"`
	Names        []string `pulumi:"names"`
	OutputFile   *string  `pulumi:"outputFile"`
	ProtocolName *string  `pulumi:"protocolName"`
}

A collection of values returned by getHostAccounts.

func GetHostAccounts added in v3.8.0

func GetHostAccounts(ctx *pulumi.Context, args *GetHostAccountsArgs, opts ...pulumi.InvokeOption) (*GetHostAccountsResult, error)

This data source provides the Bastionhost Host Accounts of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := bastionhost.GetHostAccounts(ctx, &bastionhost.GetHostAccountsArgs{
			HostId:     "15",
			InstanceId: "example_value",
			Ids: []string{
				"1",
				"2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostAccountId1", ids.Accounts[0].Id)
		nameRegex, err := bastionhost.GetHostAccounts(ctx, &bastionhost.GetHostAccountsArgs{
			HostId:     "15",
			InstanceId: "example_value",
			NameRegex:  pulumi.StringRef("^my-HostAccount"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostAccountId2", nameRegex.Accounts[0].Id)
		return nil
	})
}

```

type GetHostAccountsResultOutput added in v3.9.0

type GetHostAccountsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHostAccounts.

func GetHostAccountsOutput added in v3.9.0

func (GetHostAccountsResultOutput) Accounts added in v3.9.0

func (GetHostAccountsResultOutput) ElementType added in v3.9.0

func (GetHostAccountsResultOutput) HostAccountName added in v3.9.0

func (GetHostAccountsResultOutput) HostId added in v3.9.0

func (GetHostAccountsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetHostAccountsResultOutput) Ids added in v3.9.0

func (GetHostAccountsResultOutput) InstanceId added in v3.9.0

func (GetHostAccountsResultOutput) NameRegex added in v3.9.0

func (GetHostAccountsResultOutput) Names added in v3.9.0

func (GetHostAccountsResultOutput) OutputFile added in v3.9.0

func (GetHostAccountsResultOutput) ProtocolName added in v3.9.0

func (GetHostAccountsResultOutput) ToGetHostAccountsResultOutput added in v3.9.0

func (o GetHostAccountsResultOutput) ToGetHostAccountsResultOutput() GetHostAccountsResultOutput

func (GetHostAccountsResultOutput) ToGetHostAccountsResultOutputWithContext added in v3.9.0

func (o GetHostAccountsResultOutput) ToGetHostAccountsResultOutputWithContext(ctx context.Context) GetHostAccountsResultOutput

type GetHostGroupsArgs added in v3.8.0

type GetHostGroupsArgs struct {
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName *string `pulumi:"hostGroupName"`
	// A list of Host Group IDs.
	Ids []string `pulumi:"ids"`
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by Host Group 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 getHostGroups.

type GetHostGroupsGroup added in v3.8.0

type GetHostGroupsGroup struct {
	// Specify the New Host Group of Notes, Supports up to 500 Characters.
	Comment string `pulumi:"comment"`
	// Host Group ID.
	HostGroupId string `pulumi:"hostGroupId"`
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName string `pulumi:"hostGroupName"`
	// The ID of the Host Group.
	Id string `pulumi:"id"`
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId string `pulumi:"instanceId"`
}

type GetHostGroupsGroupArgs added in v3.8.0

type GetHostGroupsGroupArgs struct {
	// Specify the New Host Group of Notes, Supports up to 500 Characters.
	Comment pulumi.StringInput `pulumi:"comment"`
	// Host Group ID.
	HostGroupId pulumi.StringInput `pulumi:"hostGroupId"`
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName pulumi.StringInput `pulumi:"hostGroupName"`
	// The ID of the Host Group.
	Id pulumi.StringInput `pulumi:"id"`
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
}

func (GetHostGroupsGroupArgs) ElementType added in v3.8.0

func (GetHostGroupsGroupArgs) ElementType() reflect.Type

func (GetHostGroupsGroupArgs) ToGetHostGroupsGroupOutput added in v3.8.0

func (i GetHostGroupsGroupArgs) ToGetHostGroupsGroupOutput() GetHostGroupsGroupOutput

func (GetHostGroupsGroupArgs) ToGetHostGroupsGroupOutputWithContext added in v3.8.0

func (i GetHostGroupsGroupArgs) ToGetHostGroupsGroupOutputWithContext(ctx context.Context) GetHostGroupsGroupOutput

type GetHostGroupsGroupArray added in v3.8.0

type GetHostGroupsGroupArray []GetHostGroupsGroupInput

func (GetHostGroupsGroupArray) ElementType added in v3.8.0

func (GetHostGroupsGroupArray) ElementType() reflect.Type

func (GetHostGroupsGroupArray) ToGetHostGroupsGroupArrayOutput added in v3.8.0

func (i GetHostGroupsGroupArray) ToGetHostGroupsGroupArrayOutput() GetHostGroupsGroupArrayOutput

func (GetHostGroupsGroupArray) ToGetHostGroupsGroupArrayOutputWithContext added in v3.8.0

func (i GetHostGroupsGroupArray) ToGetHostGroupsGroupArrayOutputWithContext(ctx context.Context) GetHostGroupsGroupArrayOutput

type GetHostGroupsGroupArrayInput added in v3.8.0

type GetHostGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetHostGroupsGroupArrayOutput() GetHostGroupsGroupArrayOutput
	ToGetHostGroupsGroupArrayOutputWithContext(context.Context) GetHostGroupsGroupArrayOutput
}

GetHostGroupsGroupArrayInput is an input type that accepts GetHostGroupsGroupArray and GetHostGroupsGroupArrayOutput values. You can construct a concrete instance of `GetHostGroupsGroupArrayInput` via:

GetHostGroupsGroupArray{ GetHostGroupsGroupArgs{...} }

type GetHostGroupsGroupArrayOutput added in v3.8.0

type GetHostGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetHostGroupsGroupArrayOutput) ElementType added in v3.8.0

func (GetHostGroupsGroupArrayOutput) Index added in v3.8.0

func (GetHostGroupsGroupArrayOutput) ToGetHostGroupsGroupArrayOutput added in v3.8.0

func (o GetHostGroupsGroupArrayOutput) ToGetHostGroupsGroupArrayOutput() GetHostGroupsGroupArrayOutput

func (GetHostGroupsGroupArrayOutput) ToGetHostGroupsGroupArrayOutputWithContext added in v3.8.0

func (o GetHostGroupsGroupArrayOutput) ToGetHostGroupsGroupArrayOutputWithContext(ctx context.Context) GetHostGroupsGroupArrayOutput

type GetHostGroupsGroupInput added in v3.8.0

type GetHostGroupsGroupInput interface {
	pulumi.Input

	ToGetHostGroupsGroupOutput() GetHostGroupsGroupOutput
	ToGetHostGroupsGroupOutputWithContext(context.Context) GetHostGroupsGroupOutput
}

GetHostGroupsGroupInput is an input type that accepts GetHostGroupsGroupArgs and GetHostGroupsGroupOutput values. You can construct a concrete instance of `GetHostGroupsGroupInput` via:

GetHostGroupsGroupArgs{...}

type GetHostGroupsGroupOutput added in v3.8.0

type GetHostGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetHostGroupsGroupOutput) Comment added in v3.8.0

Specify the New Host Group of Notes, Supports up to 500 Characters.

func (GetHostGroupsGroupOutput) ElementType added in v3.8.0

func (GetHostGroupsGroupOutput) ElementType() reflect.Type

func (GetHostGroupsGroupOutput) HostGroupId added in v3.8.0

Host Group ID.

func (GetHostGroupsGroupOutput) HostGroupName added in v3.8.0

func (o GetHostGroupsGroupOutput) HostGroupName() pulumi.StringOutput

Specify the New Host Group Name, Supports up to 128 Characters.

func (GetHostGroupsGroupOutput) Id added in v3.8.0

The ID of the Host Group.

func (GetHostGroupsGroupOutput) InstanceId added in v3.8.0

Specify the New Host Group Where the Bastion Host ID of.

func (GetHostGroupsGroupOutput) ToGetHostGroupsGroupOutput added in v3.8.0

func (o GetHostGroupsGroupOutput) ToGetHostGroupsGroupOutput() GetHostGroupsGroupOutput

func (GetHostGroupsGroupOutput) ToGetHostGroupsGroupOutputWithContext added in v3.8.0

func (o GetHostGroupsGroupOutput) ToGetHostGroupsGroupOutputWithContext(ctx context.Context) GetHostGroupsGroupOutput

type GetHostGroupsOutputArgs added in v3.9.0

type GetHostGroupsOutputArgs struct {
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName pulumi.StringPtrInput `pulumi:"hostGroupName"`
	// A list of Host Group IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by Host Group 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 getHostGroups.

func (GetHostGroupsOutputArgs) ElementType added in v3.9.0

func (GetHostGroupsOutputArgs) ElementType() reflect.Type

type GetHostGroupsResult added in v3.8.0

type GetHostGroupsResult struct {
	Groups        []GetHostGroupsGroup `pulumi:"groups"`
	HostGroupName *string              `pulumi:"hostGroupName"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	InstanceId string   `pulumi:"instanceId"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getHostGroups.

func GetHostGroups added in v3.8.0

func GetHostGroups(ctx *pulumi.Context, args *GetHostGroupsArgs, opts ...pulumi.InvokeOption) (*GetHostGroupsResult, error)

This data source provides the Bastionhost Host Groups of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := bastionhost.GetHostGroups(ctx, &bastionhost.GetHostGroupsArgs{
			InstanceId: "bastionhost-cn-tl3xxxxxxx",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostGroupId1", ids.Groups[0].Id)
		nameRegex, err := bastionhost.GetHostGroups(ctx, &bastionhost.GetHostGroupsArgs{
			InstanceId: "bastionhost-cn-tl3xxxxxxx",
			NameRegex:  pulumi.StringRef("^my-HostGroup"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostGroupId2", nameRegex.Groups[0].Id)
		return nil
	})
}

```

type GetHostGroupsResultOutput added in v3.9.0

type GetHostGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHostGroups.

func GetHostGroupsOutput added in v3.9.0

func GetHostGroupsOutput(ctx *pulumi.Context, args GetHostGroupsOutputArgs, opts ...pulumi.InvokeOption) GetHostGroupsResultOutput

func (GetHostGroupsResultOutput) ElementType added in v3.9.0

func (GetHostGroupsResultOutput) ElementType() reflect.Type

func (GetHostGroupsResultOutput) Groups added in v3.9.0

func (GetHostGroupsResultOutput) HostGroupName added in v3.9.0

func (GetHostGroupsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetHostGroupsResultOutput) Ids added in v3.9.0

func (GetHostGroupsResultOutput) InstanceId added in v3.9.0

func (GetHostGroupsResultOutput) NameRegex added in v3.9.0

func (GetHostGroupsResultOutput) Names added in v3.9.0

func (GetHostGroupsResultOutput) OutputFile added in v3.9.0

func (GetHostGroupsResultOutput) ToGetHostGroupsResultOutput added in v3.9.0

func (o GetHostGroupsResultOutput) ToGetHostGroupsResultOutput() GetHostGroupsResultOutput

func (GetHostGroupsResultOutput) ToGetHostGroupsResultOutputWithContext added in v3.9.0

func (o GetHostGroupsResultOutput) ToGetHostGroupsResultOutputWithContext(ctx context.Context) GetHostGroupsResultOutput

type GetHostShareKeysArgs added in v3.20.0

type GetHostShareKeysArgs struct {
	// Default to `false`. Set it to `true` can output more details about resource attributes.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of Host Share Key IDs.
	Ids []string `pulumi:"ids"`
	// The ID of the Bastion instance.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by Host Share Key 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 getHostShareKeys.

type GetHostShareKeysKey added in v3.20.0

type GetHostShareKeysKey struct {
	// The first ID of the resource.
	HostShareKeyId string `pulumi:"hostShareKeyId"`
	// The name of the host shared key.
	HostShareKeyName string `pulumi:"hostShareKeyName"`
	// The ID of the Host Share Key.
	Id string `pulumi:"id"`
	// The ID of the Bastion instance.
	InstanceId string `pulumi:"instanceId"`
	// The fingerprint of the private key.
	PrivateKeyFingerPrint string `pulumi:"privateKeyFingerPrint"`
}

type GetHostShareKeysKeyArgs added in v3.20.0

type GetHostShareKeysKeyArgs struct {
	// The first ID of the resource.
	HostShareKeyId pulumi.StringInput `pulumi:"hostShareKeyId"`
	// The name of the host shared key.
	HostShareKeyName pulumi.StringInput `pulumi:"hostShareKeyName"`
	// The ID of the Host Share Key.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the Bastion instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The fingerprint of the private key.
	PrivateKeyFingerPrint pulumi.StringInput `pulumi:"privateKeyFingerPrint"`
}

func (GetHostShareKeysKeyArgs) ElementType added in v3.20.0

func (GetHostShareKeysKeyArgs) ElementType() reflect.Type

func (GetHostShareKeysKeyArgs) ToGetHostShareKeysKeyOutput added in v3.20.0

func (i GetHostShareKeysKeyArgs) ToGetHostShareKeysKeyOutput() GetHostShareKeysKeyOutput

func (GetHostShareKeysKeyArgs) ToGetHostShareKeysKeyOutputWithContext added in v3.20.0

func (i GetHostShareKeysKeyArgs) ToGetHostShareKeysKeyOutputWithContext(ctx context.Context) GetHostShareKeysKeyOutput

type GetHostShareKeysKeyArray added in v3.20.0

type GetHostShareKeysKeyArray []GetHostShareKeysKeyInput

func (GetHostShareKeysKeyArray) ElementType added in v3.20.0

func (GetHostShareKeysKeyArray) ElementType() reflect.Type

func (GetHostShareKeysKeyArray) ToGetHostShareKeysKeyArrayOutput added in v3.20.0

func (i GetHostShareKeysKeyArray) ToGetHostShareKeysKeyArrayOutput() GetHostShareKeysKeyArrayOutput

func (GetHostShareKeysKeyArray) ToGetHostShareKeysKeyArrayOutputWithContext added in v3.20.0

func (i GetHostShareKeysKeyArray) ToGetHostShareKeysKeyArrayOutputWithContext(ctx context.Context) GetHostShareKeysKeyArrayOutput

type GetHostShareKeysKeyArrayInput added in v3.20.0

type GetHostShareKeysKeyArrayInput interface {
	pulumi.Input

	ToGetHostShareKeysKeyArrayOutput() GetHostShareKeysKeyArrayOutput
	ToGetHostShareKeysKeyArrayOutputWithContext(context.Context) GetHostShareKeysKeyArrayOutput
}

GetHostShareKeysKeyArrayInput is an input type that accepts GetHostShareKeysKeyArray and GetHostShareKeysKeyArrayOutput values. You can construct a concrete instance of `GetHostShareKeysKeyArrayInput` via:

GetHostShareKeysKeyArray{ GetHostShareKeysKeyArgs{...} }

type GetHostShareKeysKeyArrayOutput added in v3.20.0

type GetHostShareKeysKeyArrayOutput struct{ *pulumi.OutputState }

func (GetHostShareKeysKeyArrayOutput) ElementType added in v3.20.0

func (GetHostShareKeysKeyArrayOutput) Index added in v3.20.0

func (GetHostShareKeysKeyArrayOutput) ToGetHostShareKeysKeyArrayOutput added in v3.20.0

func (o GetHostShareKeysKeyArrayOutput) ToGetHostShareKeysKeyArrayOutput() GetHostShareKeysKeyArrayOutput

func (GetHostShareKeysKeyArrayOutput) ToGetHostShareKeysKeyArrayOutputWithContext added in v3.20.0

func (o GetHostShareKeysKeyArrayOutput) ToGetHostShareKeysKeyArrayOutputWithContext(ctx context.Context) GetHostShareKeysKeyArrayOutput

type GetHostShareKeysKeyInput added in v3.20.0

type GetHostShareKeysKeyInput interface {
	pulumi.Input

	ToGetHostShareKeysKeyOutput() GetHostShareKeysKeyOutput
	ToGetHostShareKeysKeyOutputWithContext(context.Context) GetHostShareKeysKeyOutput
}

GetHostShareKeysKeyInput is an input type that accepts GetHostShareKeysKeyArgs and GetHostShareKeysKeyOutput values. You can construct a concrete instance of `GetHostShareKeysKeyInput` via:

GetHostShareKeysKeyArgs{...}

type GetHostShareKeysKeyOutput added in v3.20.0

type GetHostShareKeysKeyOutput struct{ *pulumi.OutputState }

func (GetHostShareKeysKeyOutput) ElementType added in v3.20.0

func (GetHostShareKeysKeyOutput) ElementType() reflect.Type

func (GetHostShareKeysKeyOutput) HostShareKeyId added in v3.20.0

func (o GetHostShareKeysKeyOutput) HostShareKeyId() pulumi.StringOutput

The first ID of the resource.

func (GetHostShareKeysKeyOutput) HostShareKeyName added in v3.20.0

func (o GetHostShareKeysKeyOutput) HostShareKeyName() pulumi.StringOutput

The name of the host shared key.

func (GetHostShareKeysKeyOutput) Id added in v3.20.0

The ID of the Host Share Key.

func (GetHostShareKeysKeyOutput) InstanceId added in v3.20.0

The ID of the Bastion instance.

func (GetHostShareKeysKeyOutput) PrivateKeyFingerPrint added in v3.20.0

func (o GetHostShareKeysKeyOutput) PrivateKeyFingerPrint() pulumi.StringOutput

The fingerprint of the private key.

func (GetHostShareKeysKeyOutput) ToGetHostShareKeysKeyOutput added in v3.20.0

func (o GetHostShareKeysKeyOutput) ToGetHostShareKeysKeyOutput() GetHostShareKeysKeyOutput

func (GetHostShareKeysKeyOutput) ToGetHostShareKeysKeyOutputWithContext added in v3.20.0

func (o GetHostShareKeysKeyOutput) ToGetHostShareKeysKeyOutputWithContext(ctx context.Context) GetHostShareKeysKeyOutput

type GetHostShareKeysOutputArgs added in v3.20.0

type GetHostShareKeysOutputArgs struct {
	// Default to `false`. Set it to `true` can output more details about resource attributes.
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of Host Share Key IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The ID of the Bastion instance.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by Host Share Key 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 getHostShareKeys.

func (GetHostShareKeysOutputArgs) ElementType added in v3.20.0

func (GetHostShareKeysOutputArgs) ElementType() reflect.Type

type GetHostShareKeysResult added in v3.20.0

type GetHostShareKeysResult struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id         string                `pulumi:"id"`
	Ids        []string              `pulumi:"ids"`
	InstanceId string                `pulumi:"instanceId"`
	Keys       []GetHostShareKeysKey `pulumi:"keys"`
	NameRegex  *string               `pulumi:"nameRegex"`
	Names      []string              `pulumi:"names"`
	OutputFile *string               `pulumi:"outputFile"`
}

A collection of values returned by getHostShareKeys.

func GetHostShareKeys added in v3.20.0

func GetHostShareKeys(ctx *pulumi.Context, args *GetHostShareKeysArgs, opts ...pulumi.InvokeOption) (*GetHostShareKeysResult, error)

This data source provides the Bastionhost Host Share Keys of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := bastionhost.GetHostShareKeys(ctx, &bastionhost.GetHostShareKeysArgs{
			InstanceId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostShareKeyId1", ids.Keys[0].Id)
		nameRegex, err := bastionhost.GetHostShareKeys(ctx, &bastionhost.GetHostShareKeysArgs{
			InstanceId: "example_value",
			NameRegex:  pulumi.StringRef("^my-HostShareKey"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostShareKeyId2", nameRegex.Keys[0].Id)
		return nil
	})
}

```

type GetHostShareKeysResultOutput added in v3.20.0

type GetHostShareKeysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHostShareKeys.

func GetHostShareKeysOutput added in v3.20.0

func (GetHostShareKeysResultOutput) ElementType added in v3.20.0

func (GetHostShareKeysResultOutput) EnableDetails added in v3.20.0

func (GetHostShareKeysResultOutput) Id added in v3.20.0

The provider-assigned unique ID for this managed resource.

func (GetHostShareKeysResultOutput) Ids added in v3.20.0

func (GetHostShareKeysResultOutput) InstanceId added in v3.20.0

func (GetHostShareKeysResultOutput) Keys added in v3.20.0

func (GetHostShareKeysResultOutput) NameRegex added in v3.20.0

func (GetHostShareKeysResultOutput) Names added in v3.20.0

func (GetHostShareKeysResultOutput) OutputFile added in v3.20.0

func (GetHostShareKeysResultOutput) ToGetHostShareKeysResultOutput added in v3.20.0

func (o GetHostShareKeysResultOutput) ToGetHostShareKeysResultOutput() GetHostShareKeysResultOutput

func (GetHostShareKeysResultOutput) ToGetHostShareKeysResultOutputWithContext added in v3.20.0

func (o GetHostShareKeysResultOutput) ToGetHostShareKeysResultOutputWithContext(ctx context.Context) GetHostShareKeysResultOutput

type GetHostsArgs added in v3.8.0

type GetHostsArgs struct {
	// Default to `false`. Set it to `true` can output more details about resource attributes.
	EnableDetails *bool `pulumi:"enableDetails"`
	// The host address.
	HostAddress *string `pulumi:"hostAddress"`
	// Specify the new create a host name of the supports up to 128 characters.
	HostName *string `pulumi:"hostName"`
	// A list of Host IDs.
	Ids []string `pulumi:"ids"`
	// Specify the new create a host where the Bastion host ID of.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by Host name.
	NameRegex *string `pulumi:"nameRegex"`
	// Specify the new create the host's operating system. Valid values: Linux Windows.
	OsType *string `pulumi:"osType"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Specify the new create a host of source. Valid values: Local: localhost Ecs:ECS instance Rds:RDS exclusive cluster host.
	Source *string `pulumi:"source"`
	// Specify the newly created ECS instance ID or dedicated cluster host ID.
	SourceInstanceId *string `pulumi:"sourceInstanceId"`
	// The source instance state.
	SourceInstanceState *string `pulumi:"sourceInstanceState"`
}

A collection of arguments for invoking getHosts.

type GetHostsHost added in v3.8.0

type GetHostsHost struct {
	// Specify the new create a host of address types. Valid values: Public: the IP address of a Public network Private: Private network address.
	ActiveAddressType string `pulumi:"activeAddressType"`
	// Specify a host of notes, supports up to 500 characters.
	Comment string `pulumi:"comment"`
	// The host ID.
	HostId string `pulumi:"hostId"`
	// Specify the new create a host name of the supports up to 128 characters.
	HostName string `pulumi:"hostName"`
	// Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS.
	HostPrivateAddress string `pulumi:"hostPrivateAddress"`
	// Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.
	HostPublicAddress string `pulumi:"hostPublicAddress"`
	// The ID of the Host.
	Id string `pulumi:"id"`
	// Specify the new create a host where the Bastion host ID of.
	InstanceId string `pulumi:"instanceId"`
	// Specify the new create the host's operating system. Valid values: Linux Windows.
	OsType string `pulumi:"osType"`
	// The host of the protocol information.
	Protocols []GetHostsHostProtocol `pulumi:"protocols"`
	// Specify the new create a host of source. Valid values: Local: localhost Ecs:ECS instance Rds:RDS exclusive cluster host.
	Source string `pulumi:"source"`
	// Specify the newly created ECS instance ID or dedicated cluster host ID.
	SourceInstanceId string `pulumi:"sourceInstanceId"`
}

type GetHostsHostArgs added in v3.8.0

type GetHostsHostArgs struct {
	// Specify the new create a host of address types. Valid values: Public: the IP address of a Public network Private: Private network address.
	ActiveAddressType pulumi.StringInput `pulumi:"activeAddressType"`
	// Specify a host of notes, supports up to 500 characters.
	Comment pulumi.StringInput `pulumi:"comment"`
	// The host ID.
	HostId pulumi.StringInput `pulumi:"hostId"`
	// Specify the new create a host name of the supports up to 128 characters.
	HostName pulumi.StringInput `pulumi:"hostName"`
	// Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS.
	HostPrivateAddress pulumi.StringInput `pulumi:"hostPrivateAddress"`
	// Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.
	HostPublicAddress pulumi.StringInput `pulumi:"hostPublicAddress"`
	// The ID of the Host.
	Id pulumi.StringInput `pulumi:"id"`
	// Specify the new create a host where the Bastion host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Specify the new create the host's operating system. Valid values: Linux Windows.
	OsType pulumi.StringInput `pulumi:"osType"`
	// The host of the protocol information.
	Protocols GetHostsHostProtocolArrayInput `pulumi:"protocols"`
	// Specify the new create a host of source. Valid values: Local: localhost Ecs:ECS instance Rds:RDS exclusive cluster host.
	Source pulumi.StringInput `pulumi:"source"`
	// Specify the newly created ECS instance ID or dedicated cluster host ID.
	SourceInstanceId pulumi.StringInput `pulumi:"sourceInstanceId"`
}

func (GetHostsHostArgs) ElementType added in v3.8.0

func (GetHostsHostArgs) ElementType() reflect.Type

func (GetHostsHostArgs) ToGetHostsHostOutput added in v3.8.0

func (i GetHostsHostArgs) ToGetHostsHostOutput() GetHostsHostOutput

func (GetHostsHostArgs) ToGetHostsHostOutputWithContext added in v3.8.0

func (i GetHostsHostArgs) ToGetHostsHostOutputWithContext(ctx context.Context) GetHostsHostOutput

type GetHostsHostArray added in v3.8.0

type GetHostsHostArray []GetHostsHostInput

func (GetHostsHostArray) ElementType added in v3.8.0

func (GetHostsHostArray) ElementType() reflect.Type

func (GetHostsHostArray) ToGetHostsHostArrayOutput added in v3.8.0

func (i GetHostsHostArray) ToGetHostsHostArrayOutput() GetHostsHostArrayOutput

func (GetHostsHostArray) ToGetHostsHostArrayOutputWithContext added in v3.8.0

func (i GetHostsHostArray) ToGetHostsHostArrayOutputWithContext(ctx context.Context) GetHostsHostArrayOutput

type GetHostsHostArrayInput added in v3.8.0

type GetHostsHostArrayInput interface {
	pulumi.Input

	ToGetHostsHostArrayOutput() GetHostsHostArrayOutput
	ToGetHostsHostArrayOutputWithContext(context.Context) GetHostsHostArrayOutput
}

GetHostsHostArrayInput is an input type that accepts GetHostsHostArray and GetHostsHostArrayOutput values. You can construct a concrete instance of `GetHostsHostArrayInput` via:

GetHostsHostArray{ GetHostsHostArgs{...} }

type GetHostsHostArrayOutput added in v3.8.0

type GetHostsHostArrayOutput struct{ *pulumi.OutputState }

func (GetHostsHostArrayOutput) ElementType added in v3.8.0

func (GetHostsHostArrayOutput) ElementType() reflect.Type

func (GetHostsHostArrayOutput) Index added in v3.8.0

func (GetHostsHostArrayOutput) ToGetHostsHostArrayOutput added in v3.8.0

func (o GetHostsHostArrayOutput) ToGetHostsHostArrayOutput() GetHostsHostArrayOutput

func (GetHostsHostArrayOutput) ToGetHostsHostArrayOutputWithContext added in v3.8.0

func (o GetHostsHostArrayOutput) ToGetHostsHostArrayOutputWithContext(ctx context.Context) GetHostsHostArrayOutput

type GetHostsHostInput added in v3.8.0

type GetHostsHostInput interface {
	pulumi.Input

	ToGetHostsHostOutput() GetHostsHostOutput
	ToGetHostsHostOutputWithContext(context.Context) GetHostsHostOutput
}

GetHostsHostInput is an input type that accepts GetHostsHostArgs and GetHostsHostOutput values. You can construct a concrete instance of `GetHostsHostInput` via:

GetHostsHostArgs{...}

type GetHostsHostOutput added in v3.8.0

type GetHostsHostOutput struct{ *pulumi.OutputState }

func (GetHostsHostOutput) ActiveAddressType added in v3.8.0

func (o GetHostsHostOutput) ActiveAddressType() pulumi.StringOutput

Specify the new create a host of address types. Valid values: Public: the IP address of a Public network Private: Private network address.

func (GetHostsHostOutput) Comment added in v3.8.0

Specify a host of notes, supports up to 500 characters.

func (GetHostsHostOutput) ElementType added in v3.8.0

func (GetHostsHostOutput) ElementType() reflect.Type

func (GetHostsHostOutput) HostId added in v3.8.0

The host ID.

func (GetHostsHostOutput) HostName added in v3.8.0

func (o GetHostsHostOutput) HostName() pulumi.StringOutput

Specify the new create a host name of the supports up to 128 characters.

func (GetHostsHostOutput) HostPrivateAddress added in v3.8.0

func (o GetHostsHostOutput) HostPrivateAddress() pulumi.StringOutput

Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS.

func (GetHostsHostOutput) HostPublicAddress added in v3.8.0

func (o GetHostsHostOutput) HostPublicAddress() pulumi.StringOutput

Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.

func (GetHostsHostOutput) Id added in v3.8.0

The ID of the Host.

func (GetHostsHostOutput) InstanceId added in v3.8.0

func (o GetHostsHostOutput) InstanceId() pulumi.StringOutput

Specify the new create a host where the Bastion host ID of.

func (GetHostsHostOutput) OsType added in v3.8.0

Specify the new create the host's operating system. Valid values: Linux Windows.

func (GetHostsHostOutput) Protocols added in v3.8.0

The host of the protocol information.

func (GetHostsHostOutput) Source added in v3.8.0

Specify the new create a host of source. Valid values: Local: localhost Ecs:ECS instance Rds:RDS exclusive cluster host.

func (GetHostsHostOutput) SourceInstanceId added in v3.8.0

func (o GetHostsHostOutput) SourceInstanceId() pulumi.StringOutput

Specify the newly created ECS instance ID or dedicated cluster host ID.

func (GetHostsHostOutput) ToGetHostsHostOutput added in v3.8.0

func (o GetHostsHostOutput) ToGetHostsHostOutput() GetHostsHostOutput

func (GetHostsHostOutput) ToGetHostsHostOutputWithContext added in v3.8.0

func (o GetHostsHostOutput) ToGetHostsHostOutputWithContext(ctx context.Context) GetHostsHostOutput

type GetHostsHostProtocol added in v3.8.0

type GetHostsHostProtocol struct {
	// Host fingerprint information, it is possible to uniquely identify a host.
	HostFingerPrint string `pulumi:"hostFingerPrint"`
	// Host the service port of the RDS.
	Port int `pulumi:"port"`
	// The host uses the protocol name.
	ProtocolName string `pulumi:"protocolName"`
}

type GetHostsHostProtocolArgs added in v3.8.0

type GetHostsHostProtocolArgs struct {
	// Host fingerprint information, it is possible to uniquely identify a host.
	HostFingerPrint pulumi.StringInput `pulumi:"hostFingerPrint"`
	// Host the service port of the RDS.
	Port pulumi.IntInput `pulumi:"port"`
	// The host uses the protocol name.
	ProtocolName pulumi.StringInput `pulumi:"protocolName"`
}

func (GetHostsHostProtocolArgs) ElementType added in v3.8.0

func (GetHostsHostProtocolArgs) ElementType() reflect.Type

func (GetHostsHostProtocolArgs) ToGetHostsHostProtocolOutput added in v3.8.0

func (i GetHostsHostProtocolArgs) ToGetHostsHostProtocolOutput() GetHostsHostProtocolOutput

func (GetHostsHostProtocolArgs) ToGetHostsHostProtocolOutputWithContext added in v3.8.0

func (i GetHostsHostProtocolArgs) ToGetHostsHostProtocolOutputWithContext(ctx context.Context) GetHostsHostProtocolOutput

type GetHostsHostProtocolArray added in v3.8.0

type GetHostsHostProtocolArray []GetHostsHostProtocolInput

func (GetHostsHostProtocolArray) ElementType added in v3.8.0

func (GetHostsHostProtocolArray) ElementType() reflect.Type

func (GetHostsHostProtocolArray) ToGetHostsHostProtocolArrayOutput added in v3.8.0

func (i GetHostsHostProtocolArray) ToGetHostsHostProtocolArrayOutput() GetHostsHostProtocolArrayOutput

func (GetHostsHostProtocolArray) ToGetHostsHostProtocolArrayOutputWithContext added in v3.8.0

func (i GetHostsHostProtocolArray) ToGetHostsHostProtocolArrayOutputWithContext(ctx context.Context) GetHostsHostProtocolArrayOutput

type GetHostsHostProtocolArrayInput added in v3.8.0

type GetHostsHostProtocolArrayInput interface {
	pulumi.Input

	ToGetHostsHostProtocolArrayOutput() GetHostsHostProtocolArrayOutput
	ToGetHostsHostProtocolArrayOutputWithContext(context.Context) GetHostsHostProtocolArrayOutput
}

GetHostsHostProtocolArrayInput is an input type that accepts GetHostsHostProtocolArray and GetHostsHostProtocolArrayOutput values. You can construct a concrete instance of `GetHostsHostProtocolArrayInput` via:

GetHostsHostProtocolArray{ GetHostsHostProtocolArgs{...} }

type GetHostsHostProtocolArrayOutput added in v3.8.0

type GetHostsHostProtocolArrayOutput struct{ *pulumi.OutputState }

func (GetHostsHostProtocolArrayOutput) ElementType added in v3.8.0

func (GetHostsHostProtocolArrayOutput) Index added in v3.8.0

func (GetHostsHostProtocolArrayOutput) ToGetHostsHostProtocolArrayOutput added in v3.8.0

func (o GetHostsHostProtocolArrayOutput) ToGetHostsHostProtocolArrayOutput() GetHostsHostProtocolArrayOutput

func (GetHostsHostProtocolArrayOutput) ToGetHostsHostProtocolArrayOutputWithContext added in v3.8.0

func (o GetHostsHostProtocolArrayOutput) ToGetHostsHostProtocolArrayOutputWithContext(ctx context.Context) GetHostsHostProtocolArrayOutput

type GetHostsHostProtocolInput added in v3.8.0

type GetHostsHostProtocolInput interface {
	pulumi.Input

	ToGetHostsHostProtocolOutput() GetHostsHostProtocolOutput
	ToGetHostsHostProtocolOutputWithContext(context.Context) GetHostsHostProtocolOutput
}

GetHostsHostProtocolInput is an input type that accepts GetHostsHostProtocolArgs and GetHostsHostProtocolOutput values. You can construct a concrete instance of `GetHostsHostProtocolInput` via:

GetHostsHostProtocolArgs{...}

type GetHostsHostProtocolOutput added in v3.8.0

type GetHostsHostProtocolOutput struct{ *pulumi.OutputState }

func (GetHostsHostProtocolOutput) ElementType added in v3.8.0

func (GetHostsHostProtocolOutput) ElementType() reflect.Type

func (GetHostsHostProtocolOutput) HostFingerPrint added in v3.8.0

func (o GetHostsHostProtocolOutput) HostFingerPrint() pulumi.StringOutput

Host fingerprint information, it is possible to uniquely identify a host.

func (GetHostsHostProtocolOutput) Port added in v3.8.0

Host the service port of the RDS.

func (GetHostsHostProtocolOutput) ProtocolName added in v3.8.0

The host uses the protocol name.

func (GetHostsHostProtocolOutput) ToGetHostsHostProtocolOutput added in v3.8.0

func (o GetHostsHostProtocolOutput) ToGetHostsHostProtocolOutput() GetHostsHostProtocolOutput

func (GetHostsHostProtocolOutput) ToGetHostsHostProtocolOutputWithContext added in v3.8.0

func (o GetHostsHostProtocolOutput) ToGetHostsHostProtocolOutputWithContext(ctx context.Context) GetHostsHostProtocolOutput

type GetHostsOutputArgs added in v3.9.0

type GetHostsOutputArgs struct {
	// Default to `false`. Set it to `true` can output more details about resource attributes.
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// The host address.
	HostAddress pulumi.StringPtrInput `pulumi:"hostAddress"`
	// Specify the new create a host name of the supports up to 128 characters.
	HostName pulumi.StringPtrInput `pulumi:"hostName"`
	// A list of Host IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Specify the new create a host where the Bastion host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by Host name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Specify the new create the host's operating system. Valid values: Linux Windows.
	OsType pulumi.StringPtrInput `pulumi:"osType"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Specify the new create a host of source. Valid values: Local: localhost Ecs:ECS instance Rds:RDS exclusive cluster host.
	Source pulumi.StringPtrInput `pulumi:"source"`
	// Specify the newly created ECS instance ID or dedicated cluster host ID.
	SourceInstanceId pulumi.StringPtrInput `pulumi:"sourceInstanceId"`
	// The source instance state.
	SourceInstanceState pulumi.StringPtrInput `pulumi:"sourceInstanceState"`
}

A collection of arguments for invoking getHosts.

func (GetHostsOutputArgs) ElementType added in v3.9.0

func (GetHostsOutputArgs) ElementType() reflect.Type

type GetHostsResult added in v3.8.0

type GetHostsResult struct {
	EnableDetails *bool          `pulumi:"enableDetails"`
	HostAddress   *string        `pulumi:"hostAddress"`
	HostName      *string        `pulumi:"hostName"`
	Hosts         []GetHostsHost `pulumi:"hosts"`
	// The provider-assigned unique ID for this managed resource.
	Id                  string   `pulumi:"id"`
	Ids                 []string `pulumi:"ids"`
	InstanceId          string   `pulumi:"instanceId"`
	NameRegex           *string  `pulumi:"nameRegex"`
	Names               []string `pulumi:"names"`
	OsType              *string  `pulumi:"osType"`
	OutputFile          *string  `pulumi:"outputFile"`
	Source              *string  `pulumi:"source"`
	SourceInstanceId    *string  `pulumi:"sourceInstanceId"`
	SourceInstanceState *string  `pulumi:"sourceInstanceState"`
}

A collection of values returned by getHosts.

func GetHosts added in v3.8.0

func GetHosts(ctx *pulumi.Context, args *GetHostsArgs, opts ...pulumi.InvokeOption) (*GetHostsResult, error)

This data source provides the Bastionhost Hosts of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := bastionhost.GetHosts(ctx, &bastionhost.GetHostsArgs{
			InstanceId: "example_value",
			Ids: []string{
				"1",
				"2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostId1", ids.Hosts[0].Id)
		nameRegex, err := bastionhost.GetHosts(ctx, &bastionhost.GetHostsArgs{
			InstanceId: "example_value",
			NameRegex:  pulumi.StringRef("^my-Host"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostHostId2", nameRegex.Hosts[0].Id)
		return nil
	})
}

```

type GetHostsResultOutput added in v3.9.0

type GetHostsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHosts.

func GetHostsOutput added in v3.9.0

func GetHostsOutput(ctx *pulumi.Context, args GetHostsOutputArgs, opts ...pulumi.InvokeOption) GetHostsResultOutput

func (GetHostsResultOutput) ElementType added in v3.9.0

func (GetHostsResultOutput) ElementType() reflect.Type

func (GetHostsResultOutput) EnableDetails added in v3.9.0

func (o GetHostsResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetHostsResultOutput) HostAddress added in v3.9.0

func (GetHostsResultOutput) HostName added in v3.9.0

func (GetHostsResultOutput) Hosts added in v3.9.0

func (GetHostsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetHostsResultOutput) Ids added in v3.9.0

func (GetHostsResultOutput) InstanceId added in v3.9.0

func (o GetHostsResultOutput) InstanceId() pulumi.StringOutput

func (GetHostsResultOutput) NameRegex added in v3.9.0

func (GetHostsResultOutput) Names added in v3.9.0

func (GetHostsResultOutput) OsType added in v3.9.0

func (GetHostsResultOutput) OutputFile added in v3.9.0

func (GetHostsResultOutput) Source added in v3.9.0

func (GetHostsResultOutput) SourceInstanceId added in v3.9.0

func (o GetHostsResultOutput) SourceInstanceId() pulumi.StringPtrOutput

func (GetHostsResultOutput) SourceInstanceState added in v3.9.0

func (o GetHostsResultOutput) SourceInstanceState() pulumi.StringPtrOutput

func (GetHostsResultOutput) ToGetHostsResultOutput added in v3.9.0

func (o GetHostsResultOutput) ToGetHostsResultOutput() GetHostsResultOutput

func (GetHostsResultOutput) ToGetHostsResultOutputWithContext added in v3.9.0

func (o GetHostsResultOutput) ToGetHostsResultOutputWithContext(ctx context.Context) GetHostsResultOutput

type GetInstancesArgs

type GetInstancesArgs struct {
	// A regex string to filter results by the instance description.
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// Matched instance IDs to filter data source result.
	Ids []string `pulumi:"ids"`
	// File name to persist data source output.
	OutputFile *string `pulumi:"outputFile"`
	// A map of tags assigned to the bastionhost instance. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := bastionhost.GetInstances(ctx, &bastionhost.GetInstancesArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// The instance's remark.
	Description string `pulumi:"description"`
	// The instance's id.
	Id string `pulumi:"id"`
	// The instance's status.
	InstanceStatus string `pulumi:"instanceStatus"`
	LicenseCode    string `pulumi:"licenseCode"`
	// The instance's private domain name.
	PrivateDomain string `pulumi:"privateDomain"`
	// The instance's public domain name.
	PublicDomain string `pulumi:"publicDomain"`
	// The instance's public network access configuration.
	PublicNetworkAccess bool `pulumi:"publicNetworkAccess"`
	// The instance's security group configuration.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// A map of tags assigned to the bastionhost instance. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := bastionhost.GetInstances(ctx, &bastionhost.GetInstancesArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags map[string]interface{} `pulumi:"tags"`
	// The instance's vSwitch ID.
	UserVswitchId string `pulumi:"userVswitchId"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// The instance's remark.
	Description pulumi.StringInput `pulumi:"description"`
	// The instance's id.
	Id pulumi.StringInput `pulumi:"id"`
	// The instance's status.
	InstanceStatus pulumi.StringInput `pulumi:"instanceStatus"`
	LicenseCode    pulumi.StringInput `pulumi:"licenseCode"`
	// The instance's private domain name.
	PrivateDomain pulumi.StringInput `pulumi:"privateDomain"`
	// The instance's public domain name.
	PublicDomain pulumi.StringInput `pulumi:"publicDomain"`
	// The instance's public network access configuration.
	PublicNetworkAccess pulumi.BoolInput `pulumi:"publicNetworkAccess"`
	// The instance's security group configuration.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// A map of tags assigned to the bastionhost instance. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := bastionhost.GetInstances(ctx, &bastionhost.GetInstancesArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags pulumi.MapInput `pulumi:"tags"`
	// The instance's vSwitch ID.
	UserVswitchId pulumi.StringInput `pulumi:"userVswitchId"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

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

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

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

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

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

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

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

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

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

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

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

GetInstancesInstanceArgs{...}

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) Description

The instance's remark.

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) Id

The instance's id.

func (GetInstancesInstanceOutput) InstanceStatus

func (o GetInstancesInstanceOutput) InstanceStatus() pulumi.StringOutput

The instance's status.

func (GetInstancesInstanceOutput) LicenseCode

func (GetInstancesInstanceOutput) PrivateDomain

The instance's private domain name.

func (GetInstancesInstanceOutput) PublicDomain

The instance's public domain name.

func (GetInstancesInstanceOutput) PublicNetworkAccess

func (o GetInstancesInstanceOutput) PublicNetworkAccess() pulumi.BoolOutput

The instance's public network access configuration.

func (GetInstancesInstanceOutput) SecurityGroupIds

The instance's security group configuration.

func (GetInstancesInstanceOutput) Tags

A map of tags assigned to the bastionhost instance. It must be in the format: ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := bastionhost.GetInstances(ctx, &bastionhost.GetInstancesArgs{
			Tags: map[string]interface{}{
				"tagKey1": "tagValue1",
			},
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

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

func (GetInstancesInstanceOutput) UserVswitchId

The instance's vSwitch ID.

type GetInstancesOutputArgs added in v3.9.0

type GetInstancesOutputArgs struct {
	// A regex string to filter results by the instance description.
	DescriptionRegex pulumi.StringPtrInput `pulumi:"descriptionRegex"`
	// Matched instance IDs to filter data source result.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name to persist data source output.
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// A map of tags assigned to the bastionhost instance. It must be in the format:
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := bastionhost.GetInstances(ctx, &bastionhost.GetInstancesArgs{
	// 			Tags: map[string]interface{}{
	// 				"tagKey1": "tagValue1",
	// 			},
	// 		}, nil)
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	Tags pulumi.MapInput `pulumi:"tags"`
}

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType added in v3.9.0

func (GetInstancesOutputArgs) ElementType() reflect.Type

type GetInstancesResult

type GetInstancesResult struct {
	DescriptionRegex *string  `pulumi:"descriptionRegex"`
	Descriptions     []string `pulumi:"descriptions"`
	// The provider-assigned unique ID for this managed resource.
	Id  string   `pulumi:"id"`
	Ids []string `pulumi:"ids"`
	// A list of apis. Each element contains the following attributes:
	Instances  []GetInstancesInstance `pulumi:"instances"`
	OutputFile *string                `pulumi:"outputFile"`
	// A map of tags assigned to the bastionhost instance.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getInstances.

func GetInstances

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

> **NOTE:** From the version 1.132.0, the data source has been renamed to `bastionhost.getInstances`.

This data source provides a list of cloud Bastionhost instances in an Alibaba Cloud account according to the specified filters.

> **NOTE:** Available in 1.63.0+ .

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := bastionhost.GetInstances(ctx, &bastionhost.GetInstancesArgs{
			DescriptionRegex: pulumi.StringRef("^bastionhost"),
		}, nil)
		if err != nil {
			return err
		}
		var splat0 []interface{}
		for _, val0 := range instanceAlicloudBastionhostInstances {
			splat0 = append(splat0, val0.Id)
		}
		ctx.Export("instance", splat0)
		return nil
	})
}

```

type GetInstancesResultOutput added in v3.9.0

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func GetInstancesOutput added in v3.9.0

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

func (GetInstancesResultOutput) DescriptionRegex added in v3.9.0

func (o GetInstancesResultOutput) DescriptionRegex() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Descriptions added in v3.9.0

func (GetInstancesResultOutput) ElementType added in v3.9.0

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids added in v3.9.0

func (GetInstancesResultOutput) Instances added in v3.9.0

A list of apis. Each element contains the following attributes:

func (GetInstancesResultOutput) OutputFile added in v3.9.0

func (GetInstancesResultOutput) Tags added in v3.9.0

A map of tags assigned to the bastionhost instance.

func (GetInstancesResultOutput) ToGetInstancesResultOutput added in v3.9.0

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext added in v3.9.0

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

type GetUserGroupsArgs

type GetUserGroupsArgs struct {
	// A list of User Group self IDs.
	Ids []string `pulumi:"ids"`
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId string `pulumi:"instanceId"`
	// A regex string to filter results by User Group name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName *string `pulumi:"userGroupName"`
}

A collection of arguments for invoking getUserGroups.

type GetUserGroupsGroup

type GetUserGroupsGroup struct {
	// Specify the New Group of Remark Information. Supports up to 500 Characters.
	Comment string `pulumi:"comment"`
	// The ID of the User Group.
	Id string `pulumi:"id"`
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId string `pulumi:"instanceId"`
	// The User Group ID.
	UserGroupId string `pulumi:"userGroupId"`
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName string `pulumi:"userGroupName"`
}

type GetUserGroupsGroupArgs

type GetUserGroupsGroupArgs struct {
	// Specify the New Group of Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringInput `pulumi:"comment"`
	// The ID of the User Group.
	Id pulumi.StringInput `pulumi:"id"`
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The User Group ID.
	UserGroupId pulumi.StringInput `pulumi:"userGroupId"`
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName pulumi.StringInput `pulumi:"userGroupName"`
}

func (GetUserGroupsGroupArgs) ElementType

func (GetUserGroupsGroupArgs) ElementType() reflect.Type

func (GetUserGroupsGroupArgs) ToGetUserGroupsGroupOutput

func (i GetUserGroupsGroupArgs) ToGetUserGroupsGroupOutput() GetUserGroupsGroupOutput

func (GetUserGroupsGroupArgs) ToGetUserGroupsGroupOutputWithContext

func (i GetUserGroupsGroupArgs) ToGetUserGroupsGroupOutputWithContext(ctx context.Context) GetUserGroupsGroupOutput

type GetUserGroupsGroupArray

type GetUserGroupsGroupArray []GetUserGroupsGroupInput

func (GetUserGroupsGroupArray) ElementType

func (GetUserGroupsGroupArray) ElementType() reflect.Type

func (GetUserGroupsGroupArray) ToGetUserGroupsGroupArrayOutput

func (i GetUserGroupsGroupArray) ToGetUserGroupsGroupArrayOutput() GetUserGroupsGroupArrayOutput

func (GetUserGroupsGroupArray) ToGetUserGroupsGroupArrayOutputWithContext

func (i GetUserGroupsGroupArray) ToGetUserGroupsGroupArrayOutputWithContext(ctx context.Context) GetUserGroupsGroupArrayOutput

type GetUserGroupsGroupArrayInput

type GetUserGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetUserGroupsGroupArrayOutput() GetUserGroupsGroupArrayOutput
	ToGetUserGroupsGroupArrayOutputWithContext(context.Context) GetUserGroupsGroupArrayOutput
}

GetUserGroupsGroupArrayInput is an input type that accepts GetUserGroupsGroupArray and GetUserGroupsGroupArrayOutput values. You can construct a concrete instance of `GetUserGroupsGroupArrayInput` via:

GetUserGroupsGroupArray{ GetUserGroupsGroupArgs{...} }

type GetUserGroupsGroupArrayOutput

type GetUserGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetUserGroupsGroupArrayOutput) ElementType

func (GetUserGroupsGroupArrayOutput) Index

func (GetUserGroupsGroupArrayOutput) ToGetUserGroupsGroupArrayOutput

func (o GetUserGroupsGroupArrayOutput) ToGetUserGroupsGroupArrayOutput() GetUserGroupsGroupArrayOutput

func (GetUserGroupsGroupArrayOutput) ToGetUserGroupsGroupArrayOutputWithContext

func (o GetUserGroupsGroupArrayOutput) ToGetUserGroupsGroupArrayOutputWithContext(ctx context.Context) GetUserGroupsGroupArrayOutput

type GetUserGroupsGroupInput

type GetUserGroupsGroupInput interface {
	pulumi.Input

	ToGetUserGroupsGroupOutput() GetUserGroupsGroupOutput
	ToGetUserGroupsGroupOutputWithContext(context.Context) GetUserGroupsGroupOutput
}

GetUserGroupsGroupInput is an input type that accepts GetUserGroupsGroupArgs and GetUserGroupsGroupOutput values. You can construct a concrete instance of `GetUserGroupsGroupInput` via:

GetUserGroupsGroupArgs{...}

type GetUserGroupsGroupOutput

type GetUserGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetUserGroupsGroupOutput) Comment

Specify the New Group of Remark Information. Supports up to 500 Characters.

func (GetUserGroupsGroupOutput) ElementType

func (GetUserGroupsGroupOutput) ElementType() reflect.Type

func (GetUserGroupsGroupOutput) Id

The ID of the User Group.

func (GetUserGroupsGroupOutput) InstanceId

Specify the New Group of the Bastion Host of Instance Id.

func (GetUserGroupsGroupOutput) ToGetUserGroupsGroupOutput

func (o GetUserGroupsGroupOutput) ToGetUserGroupsGroupOutput() GetUserGroupsGroupOutput

func (GetUserGroupsGroupOutput) ToGetUserGroupsGroupOutputWithContext

func (o GetUserGroupsGroupOutput) ToGetUserGroupsGroupOutputWithContext(ctx context.Context) GetUserGroupsGroupOutput

func (GetUserGroupsGroupOutput) UserGroupId

The User Group ID.

func (GetUserGroupsGroupOutput) UserGroupName

func (o GetUserGroupsGroupOutput) UserGroupName() pulumi.StringOutput

Specify the New Group Name. Supports up to 128 Characters.

type GetUserGroupsOutputArgs added in v3.9.0

type GetUserGroupsOutputArgs struct {
	// A list of User Group self IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// A regex string to filter results by User Group name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName pulumi.StringPtrInput `pulumi:"userGroupName"`
}

A collection of arguments for invoking getUserGroups.

func (GetUserGroupsOutputArgs) ElementType added in v3.9.0

func (GetUserGroupsOutputArgs) ElementType() reflect.Type

type GetUserGroupsResult

type GetUserGroupsResult struct {
	Groups []GetUserGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id            string   `pulumi:"id"`
	Ids           []string `pulumi:"ids"`
	InstanceId    string   `pulumi:"instanceId"`
	NameRegex     *string  `pulumi:"nameRegex"`
	Names         []string `pulumi:"names"`
	OutputFile    *string  `pulumi:"outputFile"`
	UserGroupName *string  `pulumi:"userGroupName"`
}

A collection of values returned by getUserGroups.

func GetUserGroups

func GetUserGroups(ctx *pulumi.Context, args *GetUserGroupsArgs, opts ...pulumi.InvokeOption) (*GetUserGroupsResult, error)

This data source provides the Bastionhost User Groups of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := bastionhost.GetUserGroups(ctx, &bastionhost.GetUserGroupsArgs{
			InstanceId: "bastionhost-cn-xxxx",
			Ids: []string{
				"1",
				"2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostUserGroupId1", ids.Groups[0].Id)
		nameRegex, err := bastionhost.GetUserGroups(ctx, &bastionhost.GetUserGroupsArgs{
			InstanceId: "bastionhost-cn-xxxx",
			NameRegex:  pulumi.StringRef("^my-UserGroup"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostUserGroupId2", nameRegex.Groups[0].Id)
		return nil
	})
}

```

type GetUserGroupsResultOutput added in v3.9.0

type GetUserGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUserGroups.

func GetUserGroupsOutput added in v3.9.0

func GetUserGroupsOutput(ctx *pulumi.Context, args GetUserGroupsOutputArgs, opts ...pulumi.InvokeOption) GetUserGroupsResultOutput

func (GetUserGroupsResultOutput) ElementType added in v3.9.0

func (GetUserGroupsResultOutput) ElementType() reflect.Type

func (GetUserGroupsResultOutput) Groups added in v3.9.0

func (GetUserGroupsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetUserGroupsResultOutput) Ids added in v3.9.0

func (GetUserGroupsResultOutput) InstanceId added in v3.9.0

func (GetUserGroupsResultOutput) NameRegex added in v3.9.0

func (GetUserGroupsResultOutput) Names added in v3.9.0

func (GetUserGroupsResultOutput) OutputFile added in v3.9.0

func (GetUserGroupsResultOutput) ToGetUserGroupsResultOutput added in v3.9.0

func (o GetUserGroupsResultOutput) ToGetUserGroupsResultOutput() GetUserGroupsResultOutput

func (GetUserGroupsResultOutput) ToGetUserGroupsResultOutputWithContext added in v3.9.0

func (o GetUserGroupsResultOutput) ToGetUserGroupsResultOutputWithContext(ctx context.Context) GetUserGroupsResultOutput

func (GetUserGroupsResultOutput) UserGroupName added in v3.9.0

type GetUsersArgs

type GetUsersArgs struct {
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName *string `pulumi:"displayName"`
	// A list of User IDs.
	Ids []string `pulumi:"ids"`
	// You Want to Query the User the Bastion Host ID of.
	InstanceId string `pulumi:"instanceId"`
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile *string `pulumi:"mobile"`
	// A regex string to filter results by User name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// Specify the New of the User That Created the Source. Valid Values: Local: Local User RAM: Ram User.
	Source *string `pulumi:"source"`
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId *string `pulumi:"sourceUserId"`
	// The status of the resource.
	Status *string `pulumi:"status"`
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName *string `pulumi:"userName"`
}

A collection of arguments for invoking getUsers.

type GetUsersOutputArgs added in v3.9.0

type GetUsersOutputArgs struct {
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// A list of User IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// You Want to Query the User the Bastion Host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile pulumi.StringPtrInput `pulumi:"mobile"`
	// A regex string to filter results by User name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Specify the New of the User That Created the Source. Valid Values: Local: Local User RAM: Ram User.
	Source pulumi.StringPtrInput `pulumi:"source"`
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId pulumi.StringPtrInput `pulumi:"sourceUserId"`
	// The status of the resource.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName pulumi.StringPtrInput `pulumi:"userName"`
}

A collection of arguments for invoking getUsers.

func (GetUsersOutputArgs) ElementType added in v3.9.0

func (GetUsersOutputArgs) ElementType() reflect.Type

type GetUsersResult

type GetUsersResult struct {
	DisplayName *string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id           string         `pulumi:"id"`
	Ids          []string       `pulumi:"ids"`
	InstanceId   string         `pulumi:"instanceId"`
	Mobile       *string        `pulumi:"mobile"`
	NameRegex    *string        `pulumi:"nameRegex"`
	Names        []string       `pulumi:"names"`
	OutputFile   *string        `pulumi:"outputFile"`
	Source       *string        `pulumi:"source"`
	SourceUserId *string        `pulumi:"sourceUserId"`
	Status       *string        `pulumi:"status"`
	UserName     *string        `pulumi:"userName"`
	Users        []GetUsersUser `pulumi:"users"`
}

A collection of values returned by getUsers.

func GetUsers

func GetUsers(ctx *pulumi.Context, args *GetUsersArgs, opts ...pulumi.InvokeOption) (*GetUsersResult, error)

This data source provides the Bastionhost Users of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := bastionhost.GetUsers(ctx, &bastionhost.GetUsersArgs{
			InstanceId: "example_value",
			Ids: []string{
				"1",
				"10",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostUserId1", ids.Users[0].Id)
		nameRegex, err := bastionhost.GetUsers(ctx, &bastionhost.GetUsersArgs{
			InstanceId: "example_value",
			NameRegex:  pulumi.StringRef("^my-User"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("bastionhostUserId2", nameRegex.Users[0].Id)
		return nil
	})
}

```

type GetUsersResultOutput added in v3.9.0

type GetUsersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUsers.

func GetUsersOutput added in v3.9.0

func GetUsersOutput(ctx *pulumi.Context, args GetUsersOutputArgs, opts ...pulumi.InvokeOption) GetUsersResultOutput

func (GetUsersResultOutput) DisplayName added in v3.9.0

func (GetUsersResultOutput) ElementType added in v3.9.0

func (GetUsersResultOutput) ElementType() reflect.Type

func (GetUsersResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetUsersResultOutput) Ids added in v3.9.0

func (GetUsersResultOutput) InstanceId added in v3.9.0

func (o GetUsersResultOutput) InstanceId() pulumi.StringOutput

func (GetUsersResultOutput) Mobile added in v3.9.0

func (GetUsersResultOutput) NameRegex added in v3.9.0

func (GetUsersResultOutput) Names added in v3.9.0

func (GetUsersResultOutput) OutputFile added in v3.9.0

func (GetUsersResultOutput) Source added in v3.9.0

func (GetUsersResultOutput) SourceUserId added in v3.9.0

func (o GetUsersResultOutput) SourceUserId() pulumi.StringPtrOutput

func (GetUsersResultOutput) Status added in v3.9.0

func (GetUsersResultOutput) ToGetUsersResultOutput added in v3.9.0

func (o GetUsersResultOutput) ToGetUsersResultOutput() GetUsersResultOutput

func (GetUsersResultOutput) ToGetUsersResultOutputWithContext added in v3.9.0

func (o GetUsersResultOutput) ToGetUsersResultOutputWithContext(ctx context.Context) GetUsersResultOutput

func (GetUsersResultOutput) UserName added in v3.9.0

func (GetUsersResultOutput) Users added in v3.9.0

type GetUsersUser

type GetUsersUser struct {
	// Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.
	Comment string `pulumi:"comment"`
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName string `pulumi:"displayName"`
	// Specify the New User's Mailbox.
	Email string `pulumi:"email"`
	// The ID of the User.
	Id string `pulumi:"id"`
	// You Want to Query the User the Bastion Host ID of.
	InstanceId string `pulumi:"instanceId"`
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile string `pulumi:"mobile"`
	// Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN Value: CN: Mainland China (+86) HK: hong Kong, China (+852) Mo: Macau, China (+853) TW: Taiwan, China (+886) ru: Russian (+7) SG: Singapore (+65) My: malaysia (+60) ID: Indonesia (+62) De: Germany (+49) AU: Australia (+61) US: United States (+1) AE: dubai (+971) JP: Japan (+81) Introducing the Long-Range GB: United Kingdom (+44) in: India (+91) KR: South Korea (+82) Ph: philippines (+63) Ch: Switzerland (+41) Se: Sweden (+46).
	MobileCountryCode string `pulumi:"mobileCountryCode"`
	// Specify the New of the User That Created the Source. Valid Values: Local: Local User RAM: Ram User.
	Source string `pulumi:"source"`
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId string `pulumi:"sourceUserId"`
	// The status of the resource.
	Status string `pulumi:"status"`
	// The User ID.
	UserId string `pulumi:"userId"`
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName string `pulumi:"userName"`
}

type GetUsersUserArgs

type GetUsersUserArgs struct {
	// Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringInput `pulumi:"comment"`
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName pulumi.StringInput `pulumi:"displayName"`
	// Specify the New User's Mailbox.
	Email pulumi.StringInput `pulumi:"email"`
	// The ID of the User.
	Id pulumi.StringInput `pulumi:"id"`
	// You Want to Query the User the Bastion Host ID of.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile pulumi.StringInput `pulumi:"mobile"`
	// Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN Value: CN: Mainland China (+86) HK: hong Kong, China (+852) Mo: Macau, China (+853) TW: Taiwan, China (+886) ru: Russian (+7) SG: Singapore (+65) My: malaysia (+60) ID: Indonesia (+62) De: Germany (+49) AU: Australia (+61) US: United States (+1) AE: dubai (+971) JP: Japan (+81) Introducing the Long-Range GB: United Kingdom (+44) in: India (+91) KR: South Korea (+82) Ph: philippines (+63) Ch: Switzerland (+41) Se: Sweden (+46).
	MobileCountryCode pulumi.StringInput `pulumi:"mobileCountryCode"`
	// Specify the New of the User That Created the Source. Valid Values: Local: Local User RAM: Ram User.
	Source pulumi.StringInput `pulumi:"source"`
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId pulumi.StringInput `pulumi:"sourceUserId"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
	// The User ID.
	UserId pulumi.StringInput `pulumi:"userId"`
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName pulumi.StringInput `pulumi:"userName"`
}

func (GetUsersUserArgs) ElementType

func (GetUsersUserArgs) ElementType() reflect.Type

func (GetUsersUserArgs) ToGetUsersUserOutput

func (i GetUsersUserArgs) ToGetUsersUserOutput() GetUsersUserOutput

func (GetUsersUserArgs) ToGetUsersUserOutputWithContext

func (i GetUsersUserArgs) ToGetUsersUserOutputWithContext(ctx context.Context) GetUsersUserOutput

type GetUsersUserArray

type GetUsersUserArray []GetUsersUserInput

func (GetUsersUserArray) ElementType

func (GetUsersUserArray) ElementType() reflect.Type

func (GetUsersUserArray) ToGetUsersUserArrayOutput

func (i GetUsersUserArray) ToGetUsersUserArrayOutput() GetUsersUserArrayOutput

func (GetUsersUserArray) ToGetUsersUserArrayOutputWithContext

func (i GetUsersUserArray) ToGetUsersUserArrayOutputWithContext(ctx context.Context) GetUsersUserArrayOutput

type GetUsersUserArrayInput

type GetUsersUserArrayInput interface {
	pulumi.Input

	ToGetUsersUserArrayOutput() GetUsersUserArrayOutput
	ToGetUsersUserArrayOutputWithContext(context.Context) GetUsersUserArrayOutput
}

GetUsersUserArrayInput is an input type that accepts GetUsersUserArray and GetUsersUserArrayOutput values. You can construct a concrete instance of `GetUsersUserArrayInput` via:

GetUsersUserArray{ GetUsersUserArgs{...} }

type GetUsersUserArrayOutput

type GetUsersUserArrayOutput struct{ *pulumi.OutputState }

func (GetUsersUserArrayOutput) ElementType

func (GetUsersUserArrayOutput) ElementType() reflect.Type

func (GetUsersUserArrayOutput) Index

func (GetUsersUserArrayOutput) ToGetUsersUserArrayOutput

func (o GetUsersUserArrayOutput) ToGetUsersUserArrayOutput() GetUsersUserArrayOutput

func (GetUsersUserArrayOutput) ToGetUsersUserArrayOutputWithContext

func (o GetUsersUserArrayOutput) ToGetUsersUserArrayOutputWithContext(ctx context.Context) GetUsersUserArrayOutput

type GetUsersUserInput

type GetUsersUserInput interface {
	pulumi.Input

	ToGetUsersUserOutput() GetUsersUserOutput
	ToGetUsersUserOutputWithContext(context.Context) GetUsersUserOutput
}

GetUsersUserInput is an input type that accepts GetUsersUserArgs and GetUsersUserOutput values. You can construct a concrete instance of `GetUsersUserInput` via:

GetUsersUserArgs{...}

type GetUsersUserOutput

type GetUsersUserOutput struct{ *pulumi.OutputState }

func (GetUsersUserOutput) Comment

Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.

func (GetUsersUserOutput) DisplayName

func (o GetUsersUserOutput) DisplayName() pulumi.StringOutput

Specify the New Created the User's Display Name. Supports up to 128 Characters.

func (GetUsersUserOutput) ElementType

func (GetUsersUserOutput) ElementType() reflect.Type

func (GetUsersUserOutput) Email

Specify the New User's Mailbox.

func (GetUsersUserOutput) Id

The ID of the User.

func (GetUsersUserOutput) InstanceId

func (o GetUsersUserOutput) InstanceId() pulumi.StringOutput

You Want to Query the User the Bastion Host ID of.

func (GetUsersUserOutput) Mobile

Specify the New of the User That Created a Different Mobile Phone Number from Your.

func (GetUsersUserOutput) MobileCountryCode

func (o GetUsersUserOutput) MobileCountryCode() pulumi.StringOutput

Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN Value: CN: Mainland China (+86) HK: hong Kong, China (+852) Mo: Macau, China (+853) TW: Taiwan, China (+886) ru: Russian (+7) SG: Singapore (+65) My: malaysia (+60) ID: Indonesia (+62) De: Germany (+49) AU: Australia (+61) US: United States (+1) AE: dubai (+971) JP: Japan (+81) Introducing the Long-Range GB: United Kingdom (+44) in: India (+91) KR: South Korea (+82) Ph: philippines (+63) Ch: Switzerland (+41) Se: Sweden (+46).

func (GetUsersUserOutput) Source

Specify the New of the User That Created the Source. Valid Values: Local: Local User RAM: Ram User.

func (GetUsersUserOutput) SourceUserId

func (o GetUsersUserOutput) SourceUserId() pulumi.StringOutput

Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.

func (GetUsersUserOutput) Status

The status of the resource.

func (GetUsersUserOutput) ToGetUsersUserOutput

func (o GetUsersUserOutput) ToGetUsersUserOutput() GetUsersUserOutput

func (GetUsersUserOutput) ToGetUsersUserOutputWithContext

func (o GetUsersUserOutput) ToGetUsersUserOutputWithContext(ctx context.Context) GetUsersUserOutput

func (GetUsersUserOutput) UserId

The User ID.

func (GetUsersUserOutput) UserName

func (o GetUsersUserOutput) UserName() pulumi.StringOutput

Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.

type Host added in v3.8.0

type Host struct {
	pulumi.CustomResourceState

	// Specify the new create a host of address types. Valid values: `Public`: the IP address of a Public network. `Private`: Private network address.
	ActiveAddressType pulumi.StringOutput `pulumi:"activeAddressType"`
	// Specify a host of notes, supports up to 500 characters.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// The host ID.
	HostId pulumi.StringOutput `pulumi:"hostId"`
	// Specify the new create a host name of the supports up to 128 characters.
	HostName pulumi.StringOutput `pulumi:"hostName"`
	// Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS. **NOTE:**  This parameter is required if the `activeAddressType` parameter is set to `Private`.
	HostPrivateAddress pulumi.StringPtrOutput `pulumi:"hostPrivateAddress"`
	// Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.
	HostPublicAddress pulumi.StringPtrOutput `pulumi:"hostPublicAddress"`
	// Specify the new create a host where the Bastion host ID of.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The instance region id.
	InstanceRegionId pulumi.StringPtrOutput `pulumi:"instanceRegionId"`
	// Specify the new create the host's operating system. Valid values: `Linux`,`Windows`.
	OsType pulumi.StringOutput `pulumi:"osType"`
	// Specify the new create a host of source. Valid values:
	Source pulumi.StringOutput `pulumi:"source"`
	// Specify the newly created ECS instance ID or dedicated cluster host ID. **NOTE:** This parameter is required if the `source` parameter is set to `Ecs` or `Rds`.
	SourceInstanceId pulumi.StringPtrOutput `pulumi:"sourceInstanceId"`
}

Provides a Bastion Host Host resource.

For information about Bastion Host Host and how to use it, see [What is Host](https://www.alibabacloud.com/help/en/doc-detail/201330.htm).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/host:Host example <instance_id>:<host_id> ```

func GetHost added in v3.8.0

func GetHost(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostState, opts ...pulumi.ResourceOption) (*Host, error)

GetHost gets an existing Host 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 NewHost added in v3.8.0

func NewHost(ctx *pulumi.Context,
	name string, args *HostArgs, opts ...pulumi.ResourceOption) (*Host, error)

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

func (*Host) ElementType added in v3.8.0

func (*Host) ElementType() reflect.Type

func (*Host) ToHostOutput added in v3.8.0

func (i *Host) ToHostOutput() HostOutput

func (*Host) ToHostOutputWithContext added in v3.8.0

func (i *Host) ToHostOutputWithContext(ctx context.Context) HostOutput

type HostAccount added in v3.8.0

type HostAccount struct {
	pulumi.CustomResourceState

	// Hosting account ID.
	HostAccountId pulumi.StringOutput `pulumi:"hostAccountId"`
	// The name of the host account. The name can be up to 128 characters in length.
	HostAccountName pulumi.StringOutput `pulumi:"hostAccountName"`
	// The ID of the host for which you want to create an account.
	HostId pulumi.StringOutput `pulumi:"hostId"`
	// The ID of the Bastionhost instance where you want to create an account for the host.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The passphrase of the private key for the host account. **NOTE:** It is valid when the attribute `protocolName` is `SSH`.
	PassPhrase pulumi.StringPtrOutput `pulumi:"passPhrase"`
	// The password of the host account.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// The private key of the host account. The value is a Base64-encoded string. **NOTE:** It is valid when the attribute `protocolName` is `SSH`
	PrivateKey pulumi.StringPtrOutput `pulumi:"privateKey"`
	// The protocol used by the host account. Valid values: SSH,RDP
	ProtocolName pulumi.StringOutput `pulumi:"protocolName"`
}

Provides a Bastion Host Host Account resource.

For information about Bastion Host Host Account and how to use it, see [What is Host Account](https://www.alibabacloud.com/help/en/doc-detail/204377.htm).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostAccount(ctx, "default", &bastionhost.HostAccountArgs{
			HostAccountName: pulumi.String(name),
			HostId:          defaultHost.HostId,
			InstanceId:      defaultHost.InstanceId,
			ProtocolName:    pulumi.String("SSH"),
			Password:        pulumi.String("YourPassword12345"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Account can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostAccount:HostAccount example <instance_id>:<host_account_id> ```

func GetHostAccount added in v3.8.0

func GetHostAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostAccountState, opts ...pulumi.ResourceOption) (*HostAccount, error)

GetHostAccount gets an existing HostAccount 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 NewHostAccount added in v3.8.0

func NewHostAccount(ctx *pulumi.Context,
	name string, args *HostAccountArgs, opts ...pulumi.ResourceOption) (*HostAccount, error)

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

func (*HostAccount) ElementType added in v3.8.0

func (*HostAccount) ElementType() reflect.Type

func (*HostAccount) ToHostAccountOutput added in v3.8.0

func (i *HostAccount) ToHostAccountOutput() HostAccountOutput

func (*HostAccount) ToHostAccountOutputWithContext added in v3.8.0

func (i *HostAccount) ToHostAccountOutputWithContext(ctx context.Context) HostAccountOutput

type HostAccountArgs added in v3.8.0

type HostAccountArgs struct {
	// The name of the host account. The name can be up to 128 characters in length.
	HostAccountName pulumi.StringInput
	// The ID of the host for which you want to create an account.
	HostId pulumi.StringInput
	// The ID of the Bastionhost instance where you want to create an account for the host.
	InstanceId pulumi.StringInput
	// The passphrase of the private key for the host account. **NOTE:** It is valid when the attribute `protocolName` is `SSH`.
	PassPhrase pulumi.StringPtrInput
	// The password of the host account.
	Password pulumi.StringPtrInput
	// The private key of the host account. The value is a Base64-encoded string. **NOTE:** It is valid when the attribute `protocolName` is `SSH`
	PrivateKey pulumi.StringPtrInput
	// The protocol used by the host account. Valid values: SSH,RDP
	ProtocolName pulumi.StringInput
}

The set of arguments for constructing a HostAccount resource.

func (HostAccountArgs) ElementType added in v3.8.0

func (HostAccountArgs) ElementType() reflect.Type

type HostAccountArray added in v3.8.0

type HostAccountArray []HostAccountInput

func (HostAccountArray) ElementType added in v3.8.0

func (HostAccountArray) ElementType() reflect.Type

func (HostAccountArray) ToHostAccountArrayOutput added in v3.8.0

func (i HostAccountArray) ToHostAccountArrayOutput() HostAccountArrayOutput

func (HostAccountArray) ToHostAccountArrayOutputWithContext added in v3.8.0

func (i HostAccountArray) ToHostAccountArrayOutputWithContext(ctx context.Context) HostAccountArrayOutput

type HostAccountArrayInput added in v3.8.0

type HostAccountArrayInput interface {
	pulumi.Input

	ToHostAccountArrayOutput() HostAccountArrayOutput
	ToHostAccountArrayOutputWithContext(context.Context) HostAccountArrayOutput
}

HostAccountArrayInput is an input type that accepts HostAccountArray and HostAccountArrayOutput values. You can construct a concrete instance of `HostAccountArrayInput` via:

HostAccountArray{ HostAccountArgs{...} }

type HostAccountArrayOutput added in v3.8.0

type HostAccountArrayOutput struct{ *pulumi.OutputState }

func (HostAccountArrayOutput) ElementType added in v3.8.0

func (HostAccountArrayOutput) ElementType() reflect.Type

func (HostAccountArrayOutput) Index added in v3.8.0

func (HostAccountArrayOutput) ToHostAccountArrayOutput added in v3.8.0

func (o HostAccountArrayOutput) ToHostAccountArrayOutput() HostAccountArrayOutput

func (HostAccountArrayOutput) ToHostAccountArrayOutputWithContext added in v3.8.0

func (o HostAccountArrayOutput) ToHostAccountArrayOutputWithContext(ctx context.Context) HostAccountArrayOutput

type HostAccountInput added in v3.8.0

type HostAccountInput interface {
	pulumi.Input

	ToHostAccountOutput() HostAccountOutput
	ToHostAccountOutputWithContext(ctx context.Context) HostAccountOutput
}

type HostAccountMap added in v3.8.0

type HostAccountMap map[string]HostAccountInput

func (HostAccountMap) ElementType added in v3.8.0

func (HostAccountMap) ElementType() reflect.Type

func (HostAccountMap) ToHostAccountMapOutput added in v3.8.0

func (i HostAccountMap) ToHostAccountMapOutput() HostAccountMapOutput

func (HostAccountMap) ToHostAccountMapOutputWithContext added in v3.8.0

func (i HostAccountMap) ToHostAccountMapOutputWithContext(ctx context.Context) HostAccountMapOutput

type HostAccountMapInput added in v3.8.0

type HostAccountMapInput interface {
	pulumi.Input

	ToHostAccountMapOutput() HostAccountMapOutput
	ToHostAccountMapOutputWithContext(context.Context) HostAccountMapOutput
}

HostAccountMapInput is an input type that accepts HostAccountMap and HostAccountMapOutput values. You can construct a concrete instance of `HostAccountMapInput` via:

HostAccountMap{ "key": HostAccountArgs{...} }

type HostAccountMapOutput added in v3.8.0

type HostAccountMapOutput struct{ *pulumi.OutputState }

func (HostAccountMapOutput) ElementType added in v3.8.0

func (HostAccountMapOutput) ElementType() reflect.Type

func (HostAccountMapOutput) MapIndex added in v3.8.0

func (HostAccountMapOutput) ToHostAccountMapOutput added in v3.8.0

func (o HostAccountMapOutput) ToHostAccountMapOutput() HostAccountMapOutput

func (HostAccountMapOutput) ToHostAccountMapOutputWithContext added in v3.8.0

func (o HostAccountMapOutput) ToHostAccountMapOutputWithContext(ctx context.Context) HostAccountMapOutput

type HostAccountOutput added in v3.8.0

type HostAccountOutput struct{ *pulumi.OutputState }

func (HostAccountOutput) ElementType added in v3.8.0

func (HostAccountOutput) ElementType() reflect.Type

func (HostAccountOutput) HostAccountId added in v3.27.0

func (o HostAccountOutput) HostAccountId() pulumi.StringOutput

Hosting account ID.

func (HostAccountOutput) HostAccountName added in v3.27.0

func (o HostAccountOutput) HostAccountName() pulumi.StringOutput

The name of the host account. The name can be up to 128 characters in length.

func (HostAccountOutput) HostId added in v3.27.0

The ID of the host for which you want to create an account.

func (HostAccountOutput) InstanceId added in v3.27.0

func (o HostAccountOutput) InstanceId() pulumi.StringOutput

The ID of the Bastionhost instance where you want to create an account for the host.

func (HostAccountOutput) PassPhrase added in v3.27.0

func (o HostAccountOutput) PassPhrase() pulumi.StringPtrOutput

The passphrase of the private key for the host account. **NOTE:** It is valid when the attribute `protocolName` is `SSH`.

func (HostAccountOutput) Password added in v3.27.0

The password of the host account.

func (HostAccountOutput) PrivateKey added in v3.27.0

func (o HostAccountOutput) PrivateKey() pulumi.StringPtrOutput

The private key of the host account. The value is a Base64-encoded string. **NOTE:** It is valid when the attribute `protocolName` is `SSH`

func (HostAccountOutput) ProtocolName added in v3.27.0

func (o HostAccountOutput) ProtocolName() pulumi.StringOutput

The protocol used by the host account. Valid values: SSH,RDP

func (HostAccountOutput) ToHostAccountOutput added in v3.8.0

func (o HostAccountOutput) ToHostAccountOutput() HostAccountOutput

func (HostAccountOutput) ToHostAccountOutputWithContext added in v3.8.0

func (o HostAccountOutput) ToHostAccountOutputWithContext(ctx context.Context) HostAccountOutput

type HostAccountShareKeyAttachment added in v3.20.0

type HostAccountShareKeyAttachment struct {
	pulumi.CustomResourceState

	// The ID list of the host account.
	HostAccountId pulumi.StringOutput `pulumi:"hostAccountId"`
	// The ID of the host shared key.
	HostShareKeyId pulumi.StringOutput `pulumi:"hostShareKeyId"`
	// The ID of the Bastion machine instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

Provides a Bastion Host Account Share Key Attachment resource.

For information about Bastion Host Host Account Share Key Attachment and how to use it, see [What is Host Account Share Key Attachment](https://www.alibabacloud.com/help/en/bastion-host/latest/attachhostaccountstohostsharekey).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		defaultHostAccount, err := bastionhost.NewHostAccount(ctx, "default", &bastionhost.HostAccountArgs{
			HostAccountName: pulumi.String(name),
			HostId:          defaultHost.HostId,
			InstanceId:      defaultHost.InstanceId,
			ProtocolName:    pulumi.String("SSH"),
			Password:        pulumi.String("YourPassword12345"),
		})
		if err != nil {
			return err
		}
		privateKey := "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ=="
		if param := cfg.Get("privateKey"); param != "" {
			privateKey = param
		}
		defaultHostShareKey, err := bastionhost.NewHostShareKey(ctx, "default", &bastionhost.HostShareKeyArgs{
			HostShareKeyName: pulumi.String(name),
			InstanceId:       defaultInstance.ID(),
			PrivateKey:       pulumi.String(privateKey),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostAccountShareKeyAttachment(ctx, "default", &bastionhost.HostAccountShareKeyAttachmentArgs{
			InstanceId:     defaultInstance.ID(),
			HostShareKeyId: defaultHostShareKey.HostShareKeyId,
			HostAccountId:  defaultHostAccount.HostAccountId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Account Share Key Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostAccountShareKeyAttachment:HostAccountShareKeyAttachment example <instance_id>:<host_share_key_id>:<host_account_id> ```

func GetHostAccountShareKeyAttachment added in v3.20.0

func GetHostAccountShareKeyAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostAccountShareKeyAttachmentState, opts ...pulumi.ResourceOption) (*HostAccountShareKeyAttachment, error)

GetHostAccountShareKeyAttachment gets an existing HostAccountShareKeyAttachment 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 NewHostAccountShareKeyAttachment added in v3.20.0

func NewHostAccountShareKeyAttachment(ctx *pulumi.Context,
	name string, args *HostAccountShareKeyAttachmentArgs, opts ...pulumi.ResourceOption) (*HostAccountShareKeyAttachment, error)

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

func (*HostAccountShareKeyAttachment) ElementType added in v3.20.0

func (*HostAccountShareKeyAttachment) ToHostAccountShareKeyAttachmentOutput added in v3.20.0

func (i *HostAccountShareKeyAttachment) ToHostAccountShareKeyAttachmentOutput() HostAccountShareKeyAttachmentOutput

func (*HostAccountShareKeyAttachment) ToHostAccountShareKeyAttachmentOutputWithContext added in v3.20.0

func (i *HostAccountShareKeyAttachment) ToHostAccountShareKeyAttachmentOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentOutput

type HostAccountShareKeyAttachmentArgs added in v3.20.0

type HostAccountShareKeyAttachmentArgs struct {
	// The ID list of the host account.
	HostAccountId pulumi.StringInput
	// The ID of the host shared key.
	HostShareKeyId pulumi.StringInput
	// The ID of the Bastion machine instance.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a HostAccountShareKeyAttachment resource.

func (HostAccountShareKeyAttachmentArgs) ElementType added in v3.20.0

type HostAccountShareKeyAttachmentArray added in v3.20.0

type HostAccountShareKeyAttachmentArray []HostAccountShareKeyAttachmentInput

func (HostAccountShareKeyAttachmentArray) ElementType added in v3.20.0

func (HostAccountShareKeyAttachmentArray) ToHostAccountShareKeyAttachmentArrayOutput added in v3.20.0

func (i HostAccountShareKeyAttachmentArray) ToHostAccountShareKeyAttachmentArrayOutput() HostAccountShareKeyAttachmentArrayOutput

func (HostAccountShareKeyAttachmentArray) ToHostAccountShareKeyAttachmentArrayOutputWithContext added in v3.20.0

func (i HostAccountShareKeyAttachmentArray) ToHostAccountShareKeyAttachmentArrayOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentArrayOutput

type HostAccountShareKeyAttachmentArrayInput added in v3.20.0

type HostAccountShareKeyAttachmentArrayInput interface {
	pulumi.Input

	ToHostAccountShareKeyAttachmentArrayOutput() HostAccountShareKeyAttachmentArrayOutput
	ToHostAccountShareKeyAttachmentArrayOutputWithContext(context.Context) HostAccountShareKeyAttachmentArrayOutput
}

HostAccountShareKeyAttachmentArrayInput is an input type that accepts HostAccountShareKeyAttachmentArray and HostAccountShareKeyAttachmentArrayOutput values. You can construct a concrete instance of `HostAccountShareKeyAttachmentArrayInput` via:

HostAccountShareKeyAttachmentArray{ HostAccountShareKeyAttachmentArgs{...} }

type HostAccountShareKeyAttachmentArrayOutput added in v3.20.0

type HostAccountShareKeyAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HostAccountShareKeyAttachmentArrayOutput) ElementType added in v3.20.0

func (HostAccountShareKeyAttachmentArrayOutput) Index added in v3.20.0

func (HostAccountShareKeyAttachmentArrayOutput) ToHostAccountShareKeyAttachmentArrayOutput added in v3.20.0

func (o HostAccountShareKeyAttachmentArrayOutput) ToHostAccountShareKeyAttachmentArrayOutput() HostAccountShareKeyAttachmentArrayOutput

func (HostAccountShareKeyAttachmentArrayOutput) ToHostAccountShareKeyAttachmentArrayOutputWithContext added in v3.20.0

func (o HostAccountShareKeyAttachmentArrayOutput) ToHostAccountShareKeyAttachmentArrayOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentArrayOutput

type HostAccountShareKeyAttachmentInput added in v3.20.0

type HostAccountShareKeyAttachmentInput interface {
	pulumi.Input

	ToHostAccountShareKeyAttachmentOutput() HostAccountShareKeyAttachmentOutput
	ToHostAccountShareKeyAttachmentOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentOutput
}

type HostAccountShareKeyAttachmentMap added in v3.20.0

type HostAccountShareKeyAttachmentMap map[string]HostAccountShareKeyAttachmentInput

func (HostAccountShareKeyAttachmentMap) ElementType added in v3.20.0

func (HostAccountShareKeyAttachmentMap) ToHostAccountShareKeyAttachmentMapOutput added in v3.20.0

func (i HostAccountShareKeyAttachmentMap) ToHostAccountShareKeyAttachmentMapOutput() HostAccountShareKeyAttachmentMapOutput

func (HostAccountShareKeyAttachmentMap) ToHostAccountShareKeyAttachmentMapOutputWithContext added in v3.20.0

func (i HostAccountShareKeyAttachmentMap) ToHostAccountShareKeyAttachmentMapOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentMapOutput

type HostAccountShareKeyAttachmentMapInput added in v3.20.0

type HostAccountShareKeyAttachmentMapInput interface {
	pulumi.Input

	ToHostAccountShareKeyAttachmentMapOutput() HostAccountShareKeyAttachmentMapOutput
	ToHostAccountShareKeyAttachmentMapOutputWithContext(context.Context) HostAccountShareKeyAttachmentMapOutput
}

HostAccountShareKeyAttachmentMapInput is an input type that accepts HostAccountShareKeyAttachmentMap and HostAccountShareKeyAttachmentMapOutput values. You can construct a concrete instance of `HostAccountShareKeyAttachmentMapInput` via:

HostAccountShareKeyAttachmentMap{ "key": HostAccountShareKeyAttachmentArgs{...} }

type HostAccountShareKeyAttachmentMapOutput added in v3.20.0

type HostAccountShareKeyAttachmentMapOutput struct{ *pulumi.OutputState }

func (HostAccountShareKeyAttachmentMapOutput) ElementType added in v3.20.0

func (HostAccountShareKeyAttachmentMapOutput) MapIndex added in v3.20.0

func (HostAccountShareKeyAttachmentMapOutput) ToHostAccountShareKeyAttachmentMapOutput added in v3.20.0

func (o HostAccountShareKeyAttachmentMapOutput) ToHostAccountShareKeyAttachmentMapOutput() HostAccountShareKeyAttachmentMapOutput

func (HostAccountShareKeyAttachmentMapOutput) ToHostAccountShareKeyAttachmentMapOutputWithContext added in v3.20.0

func (o HostAccountShareKeyAttachmentMapOutput) ToHostAccountShareKeyAttachmentMapOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentMapOutput

type HostAccountShareKeyAttachmentOutput added in v3.20.0

type HostAccountShareKeyAttachmentOutput struct{ *pulumi.OutputState }

func (HostAccountShareKeyAttachmentOutput) ElementType added in v3.20.0

func (HostAccountShareKeyAttachmentOutput) HostAccountId added in v3.27.0

The ID list of the host account.

func (HostAccountShareKeyAttachmentOutput) HostShareKeyId added in v3.27.0

The ID of the host shared key.

func (HostAccountShareKeyAttachmentOutput) InstanceId added in v3.27.0

The ID of the Bastion machine instance.

func (HostAccountShareKeyAttachmentOutput) ToHostAccountShareKeyAttachmentOutput added in v3.20.0

func (o HostAccountShareKeyAttachmentOutput) ToHostAccountShareKeyAttachmentOutput() HostAccountShareKeyAttachmentOutput

func (HostAccountShareKeyAttachmentOutput) ToHostAccountShareKeyAttachmentOutputWithContext added in v3.20.0

func (o HostAccountShareKeyAttachmentOutput) ToHostAccountShareKeyAttachmentOutputWithContext(ctx context.Context) HostAccountShareKeyAttachmentOutput

type HostAccountShareKeyAttachmentState added in v3.20.0

type HostAccountShareKeyAttachmentState struct {
	// The ID list of the host account.
	HostAccountId pulumi.StringPtrInput
	// The ID of the host shared key.
	HostShareKeyId pulumi.StringPtrInput
	// The ID of the Bastion machine instance.
	InstanceId pulumi.StringPtrInput
}

func (HostAccountShareKeyAttachmentState) ElementType added in v3.20.0

type HostAccountState added in v3.8.0

type HostAccountState struct {
	// Hosting account ID.
	HostAccountId pulumi.StringPtrInput
	// The name of the host account. The name can be up to 128 characters in length.
	HostAccountName pulumi.StringPtrInput
	// The ID of the host for which you want to create an account.
	HostId pulumi.StringPtrInput
	// The ID of the Bastionhost instance where you want to create an account for the host.
	InstanceId pulumi.StringPtrInput
	// The passphrase of the private key for the host account. **NOTE:** It is valid when the attribute `protocolName` is `SSH`.
	PassPhrase pulumi.StringPtrInput
	// The password of the host account.
	Password pulumi.StringPtrInput
	// The private key of the host account. The value is a Base64-encoded string. **NOTE:** It is valid when the attribute `protocolName` is `SSH`
	PrivateKey pulumi.StringPtrInput
	// The protocol used by the host account. Valid values: SSH,RDP
	ProtocolName pulumi.StringPtrInput
}

func (HostAccountState) ElementType added in v3.8.0

func (HostAccountState) ElementType() reflect.Type

type HostAccountUserAttachment added in v3.8.0

type HostAccountUserAttachment struct {
	pulumi.CustomResourceState

	// A list IDs of the host account.
	HostAccountIds pulumi.StringArrayOutput `pulumi:"hostAccountIds"`
	// The ID of the host.
	HostId pulumi.StringOutput `pulumi:"hostId"`
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ID of the user that you want to authorize to manage the specified hosts and host accounts.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user.

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		defaultHostAccount, err := bastionhost.NewHostAccount(ctx, "default", &bastionhost.HostAccountArgs{
			HostAccountName: pulumi.String(name),
			HostId:          defaultHost.HostId,
			InstanceId:      defaultHost.InstanceId,
			ProtocolName:    pulumi.String("SSH"),
			Password:        pulumi.String("YourPassword12345"),
		})
		if err != nil {
			return err
		}
		localUser, err := bastionhost.NewUser(ctx, "local_user", &bastionhost.UserArgs{
			InstanceId:        defaultInstance.ID(),
			MobileCountryCode: pulumi.String("CN"),
			Mobile:            pulumi.String("13312345678"),
			Password:          pulumi.String("YourPassword-123"),
			Source:            pulumi.String("Local"),
			UserName:          pulumi.String(fmt.Sprintf("%v_local_user", name)),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostAccountUserAttachment(ctx, "default", &bastionhost.HostAccountUserAttachmentArgs{
			InstanceId: defaultHost.InstanceId,
			UserId:     localUser.UserId,
			HostId:     defaultHost.HostId,
			HostAccountIds: pulumi.StringArray{
				defaultHostAccount.HostAccountId,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Account can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostAccountUserAttachment:HostAccountUserAttachment example <instance_id>:<user_id>:<host_id> ```

func GetHostAccountUserAttachment added in v3.8.0

func GetHostAccountUserAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostAccountUserAttachmentState, opts ...pulumi.ResourceOption) (*HostAccountUserAttachment, error)

GetHostAccountUserAttachment gets an existing HostAccountUserAttachment 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 NewHostAccountUserAttachment added in v3.8.0

func NewHostAccountUserAttachment(ctx *pulumi.Context,
	name string, args *HostAccountUserAttachmentArgs, opts ...pulumi.ResourceOption) (*HostAccountUserAttachment, error)

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

func (*HostAccountUserAttachment) ElementType added in v3.8.0

func (*HostAccountUserAttachment) ElementType() reflect.Type

func (*HostAccountUserAttachment) ToHostAccountUserAttachmentOutput added in v3.8.0

func (i *HostAccountUserAttachment) ToHostAccountUserAttachmentOutput() HostAccountUserAttachmentOutput

func (*HostAccountUserAttachment) ToHostAccountUserAttachmentOutputWithContext added in v3.8.0

func (i *HostAccountUserAttachment) ToHostAccountUserAttachmentOutputWithContext(ctx context.Context) HostAccountUserAttachmentOutput

type HostAccountUserAttachmentArgs added in v3.8.0

type HostAccountUserAttachmentArgs struct {
	// A list IDs of the host account.
	HostAccountIds pulumi.StringArrayInput
	// The ID of the host.
	HostId pulumi.StringInput
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringInput
	// The ID of the user that you want to authorize to manage the specified hosts and host accounts.
	UserId pulumi.StringInput
}

The set of arguments for constructing a HostAccountUserAttachment resource.

func (HostAccountUserAttachmentArgs) ElementType added in v3.8.0

type HostAccountUserAttachmentArray added in v3.8.0

type HostAccountUserAttachmentArray []HostAccountUserAttachmentInput

func (HostAccountUserAttachmentArray) ElementType added in v3.8.0

func (HostAccountUserAttachmentArray) ToHostAccountUserAttachmentArrayOutput added in v3.8.0

func (i HostAccountUserAttachmentArray) ToHostAccountUserAttachmentArrayOutput() HostAccountUserAttachmentArrayOutput

func (HostAccountUserAttachmentArray) ToHostAccountUserAttachmentArrayOutputWithContext added in v3.8.0

func (i HostAccountUserAttachmentArray) ToHostAccountUserAttachmentArrayOutputWithContext(ctx context.Context) HostAccountUserAttachmentArrayOutput

type HostAccountUserAttachmentArrayInput added in v3.8.0

type HostAccountUserAttachmentArrayInput interface {
	pulumi.Input

	ToHostAccountUserAttachmentArrayOutput() HostAccountUserAttachmentArrayOutput
	ToHostAccountUserAttachmentArrayOutputWithContext(context.Context) HostAccountUserAttachmentArrayOutput
}

HostAccountUserAttachmentArrayInput is an input type that accepts HostAccountUserAttachmentArray and HostAccountUserAttachmentArrayOutput values. You can construct a concrete instance of `HostAccountUserAttachmentArrayInput` via:

HostAccountUserAttachmentArray{ HostAccountUserAttachmentArgs{...} }

type HostAccountUserAttachmentArrayOutput added in v3.8.0

type HostAccountUserAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HostAccountUserAttachmentArrayOutput) ElementType added in v3.8.0

func (HostAccountUserAttachmentArrayOutput) Index added in v3.8.0

func (HostAccountUserAttachmentArrayOutput) ToHostAccountUserAttachmentArrayOutput added in v3.8.0

func (o HostAccountUserAttachmentArrayOutput) ToHostAccountUserAttachmentArrayOutput() HostAccountUserAttachmentArrayOutput

func (HostAccountUserAttachmentArrayOutput) ToHostAccountUserAttachmentArrayOutputWithContext added in v3.8.0

func (o HostAccountUserAttachmentArrayOutput) ToHostAccountUserAttachmentArrayOutputWithContext(ctx context.Context) HostAccountUserAttachmentArrayOutput

type HostAccountUserAttachmentInput added in v3.8.0

type HostAccountUserAttachmentInput interface {
	pulumi.Input

	ToHostAccountUserAttachmentOutput() HostAccountUserAttachmentOutput
	ToHostAccountUserAttachmentOutputWithContext(ctx context.Context) HostAccountUserAttachmentOutput
}

type HostAccountUserAttachmentMap added in v3.8.0

type HostAccountUserAttachmentMap map[string]HostAccountUserAttachmentInput

func (HostAccountUserAttachmentMap) ElementType added in v3.8.0

func (HostAccountUserAttachmentMap) ToHostAccountUserAttachmentMapOutput added in v3.8.0

func (i HostAccountUserAttachmentMap) ToHostAccountUserAttachmentMapOutput() HostAccountUserAttachmentMapOutput

func (HostAccountUserAttachmentMap) ToHostAccountUserAttachmentMapOutputWithContext added in v3.8.0

func (i HostAccountUserAttachmentMap) ToHostAccountUserAttachmentMapOutputWithContext(ctx context.Context) HostAccountUserAttachmentMapOutput

type HostAccountUserAttachmentMapInput added in v3.8.0

type HostAccountUserAttachmentMapInput interface {
	pulumi.Input

	ToHostAccountUserAttachmentMapOutput() HostAccountUserAttachmentMapOutput
	ToHostAccountUserAttachmentMapOutputWithContext(context.Context) HostAccountUserAttachmentMapOutput
}

HostAccountUserAttachmentMapInput is an input type that accepts HostAccountUserAttachmentMap and HostAccountUserAttachmentMapOutput values. You can construct a concrete instance of `HostAccountUserAttachmentMapInput` via:

HostAccountUserAttachmentMap{ "key": HostAccountUserAttachmentArgs{...} }

type HostAccountUserAttachmentMapOutput added in v3.8.0

type HostAccountUserAttachmentMapOutput struct{ *pulumi.OutputState }

func (HostAccountUserAttachmentMapOutput) ElementType added in v3.8.0

func (HostAccountUserAttachmentMapOutput) MapIndex added in v3.8.0

func (HostAccountUserAttachmentMapOutput) ToHostAccountUserAttachmentMapOutput added in v3.8.0

func (o HostAccountUserAttachmentMapOutput) ToHostAccountUserAttachmentMapOutput() HostAccountUserAttachmentMapOutput

func (HostAccountUserAttachmentMapOutput) ToHostAccountUserAttachmentMapOutputWithContext added in v3.8.0

func (o HostAccountUserAttachmentMapOutput) ToHostAccountUserAttachmentMapOutputWithContext(ctx context.Context) HostAccountUserAttachmentMapOutput

type HostAccountUserAttachmentOutput added in v3.8.0

type HostAccountUserAttachmentOutput struct{ *pulumi.OutputState }

func (HostAccountUserAttachmentOutput) ElementType added in v3.8.0

func (HostAccountUserAttachmentOutput) HostAccountIds added in v3.27.0

A list IDs of the host account.

func (HostAccountUserAttachmentOutput) HostId added in v3.27.0

The ID of the host.

func (HostAccountUserAttachmentOutput) InstanceId added in v3.27.0

The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.

func (HostAccountUserAttachmentOutput) ToHostAccountUserAttachmentOutput added in v3.8.0

func (o HostAccountUserAttachmentOutput) ToHostAccountUserAttachmentOutput() HostAccountUserAttachmentOutput

func (HostAccountUserAttachmentOutput) ToHostAccountUserAttachmentOutputWithContext added in v3.8.0

func (o HostAccountUserAttachmentOutput) ToHostAccountUserAttachmentOutputWithContext(ctx context.Context) HostAccountUserAttachmentOutput

func (HostAccountUserAttachmentOutput) UserId added in v3.27.0

The ID of the user that you want to authorize to manage the specified hosts and host accounts.

type HostAccountUserAttachmentState added in v3.8.0

type HostAccountUserAttachmentState struct {
	// A list IDs of the host account.
	HostAccountIds pulumi.StringArrayInput
	// The ID of the host.
	HostId pulumi.StringPtrInput
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringPtrInput
	// The ID of the user that you want to authorize to manage the specified hosts and host accounts.
	UserId pulumi.StringPtrInput
}

func (HostAccountUserAttachmentState) ElementType added in v3.8.0

type HostAccountUserGroupAttachment added in v3.8.0

type HostAccountUserGroupAttachment struct {
	pulumi.CustomResourceState

	// A list IDs of the host account.
	HostAccountIds pulumi.StringArrayOutput `pulumi:"hostAccountIds"`
	// The ID of the host.
	HostId pulumi.StringOutput `pulumi:"hostId"`
	// The ID of the Bastionhost instance where you want to authorize the user group to manage the specified hosts and host accounts.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ID of the user group that you want to authorize to manage the specified hosts and host accounts.
	UserGroupId pulumi.StringOutput `pulumi:"userGroupId"`
}

Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user group.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		defaultHostAccount, err := bastionhost.NewHostAccount(ctx, "default", &bastionhost.HostAccountArgs{
			HostAccountName: pulumi.String(name),
			HostId:          defaultHost.HostId,
			InstanceId:      defaultHost.InstanceId,
			ProtocolName:    pulumi.String("SSH"),
			Password:        pulumi.String("YourPassword12345"),
		})
		if err != nil {
			return err
		}
		defaultUserGroup, err := bastionhost.NewUserGroup(ctx, "default", &bastionhost.UserGroupArgs{
			InstanceId:    defaultHost.InstanceId,
			UserGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostAccountUserGroupAttachment(ctx, "default", &bastionhost.HostAccountUserGroupAttachmentArgs{
			InstanceId:  defaultHost.InstanceId,
			UserGroupId: defaultUserGroup.UserGroupId,
			HostId:      defaultHost.HostId,
			HostAccountIds: pulumi.StringArray{
				defaultHostAccount.HostAccountId,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Account can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostAccountUserGroupAttachment:HostAccountUserGroupAttachment example <instance_id>:<user_group_id>:<host_id> ```

func GetHostAccountUserGroupAttachment added in v3.8.0

func GetHostAccountUserGroupAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostAccountUserGroupAttachmentState, opts ...pulumi.ResourceOption) (*HostAccountUserGroupAttachment, error)

GetHostAccountUserGroupAttachment gets an existing HostAccountUserGroupAttachment 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 NewHostAccountUserGroupAttachment added in v3.8.0

func NewHostAccountUserGroupAttachment(ctx *pulumi.Context,
	name string, args *HostAccountUserGroupAttachmentArgs, opts ...pulumi.ResourceOption) (*HostAccountUserGroupAttachment, error)

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

func (*HostAccountUserGroupAttachment) ElementType added in v3.8.0

func (*HostAccountUserGroupAttachment) ToHostAccountUserGroupAttachmentOutput added in v3.8.0

func (i *HostAccountUserGroupAttachment) ToHostAccountUserGroupAttachmentOutput() HostAccountUserGroupAttachmentOutput

func (*HostAccountUserGroupAttachment) ToHostAccountUserGroupAttachmentOutputWithContext added in v3.8.0

func (i *HostAccountUserGroupAttachment) ToHostAccountUserGroupAttachmentOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentOutput

type HostAccountUserGroupAttachmentArgs added in v3.8.0

type HostAccountUserGroupAttachmentArgs struct {
	// A list IDs of the host account.
	HostAccountIds pulumi.StringArrayInput
	// The ID of the host.
	HostId pulumi.StringInput
	// The ID of the Bastionhost instance where you want to authorize the user group to manage the specified hosts and host accounts.
	InstanceId pulumi.StringInput
	// The ID of the user group that you want to authorize to manage the specified hosts and host accounts.
	UserGroupId pulumi.StringInput
}

The set of arguments for constructing a HostAccountUserGroupAttachment resource.

func (HostAccountUserGroupAttachmentArgs) ElementType added in v3.8.0

type HostAccountUserGroupAttachmentArray added in v3.8.0

type HostAccountUserGroupAttachmentArray []HostAccountUserGroupAttachmentInput

func (HostAccountUserGroupAttachmentArray) ElementType added in v3.8.0

func (HostAccountUserGroupAttachmentArray) ToHostAccountUserGroupAttachmentArrayOutput added in v3.8.0

func (i HostAccountUserGroupAttachmentArray) ToHostAccountUserGroupAttachmentArrayOutput() HostAccountUserGroupAttachmentArrayOutput

func (HostAccountUserGroupAttachmentArray) ToHostAccountUserGroupAttachmentArrayOutputWithContext added in v3.8.0

func (i HostAccountUserGroupAttachmentArray) ToHostAccountUserGroupAttachmentArrayOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentArrayOutput

type HostAccountUserGroupAttachmentArrayInput added in v3.8.0

type HostAccountUserGroupAttachmentArrayInput interface {
	pulumi.Input

	ToHostAccountUserGroupAttachmentArrayOutput() HostAccountUserGroupAttachmentArrayOutput
	ToHostAccountUserGroupAttachmentArrayOutputWithContext(context.Context) HostAccountUserGroupAttachmentArrayOutput
}

HostAccountUserGroupAttachmentArrayInput is an input type that accepts HostAccountUserGroupAttachmentArray and HostAccountUserGroupAttachmentArrayOutput values. You can construct a concrete instance of `HostAccountUserGroupAttachmentArrayInput` via:

HostAccountUserGroupAttachmentArray{ HostAccountUserGroupAttachmentArgs{...} }

type HostAccountUserGroupAttachmentArrayOutput added in v3.8.0

type HostAccountUserGroupAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HostAccountUserGroupAttachmentArrayOutput) ElementType added in v3.8.0

func (HostAccountUserGroupAttachmentArrayOutput) Index added in v3.8.0

func (HostAccountUserGroupAttachmentArrayOutput) ToHostAccountUserGroupAttachmentArrayOutput added in v3.8.0

func (o HostAccountUserGroupAttachmentArrayOutput) ToHostAccountUserGroupAttachmentArrayOutput() HostAccountUserGroupAttachmentArrayOutput

func (HostAccountUserGroupAttachmentArrayOutput) ToHostAccountUserGroupAttachmentArrayOutputWithContext added in v3.8.0

func (o HostAccountUserGroupAttachmentArrayOutput) ToHostAccountUserGroupAttachmentArrayOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentArrayOutput

type HostAccountUserGroupAttachmentInput added in v3.8.0

type HostAccountUserGroupAttachmentInput interface {
	pulumi.Input

	ToHostAccountUserGroupAttachmentOutput() HostAccountUserGroupAttachmentOutput
	ToHostAccountUserGroupAttachmentOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentOutput
}

type HostAccountUserGroupAttachmentMap added in v3.8.0

type HostAccountUserGroupAttachmentMap map[string]HostAccountUserGroupAttachmentInput

func (HostAccountUserGroupAttachmentMap) ElementType added in v3.8.0

func (HostAccountUserGroupAttachmentMap) ToHostAccountUserGroupAttachmentMapOutput added in v3.8.0

func (i HostAccountUserGroupAttachmentMap) ToHostAccountUserGroupAttachmentMapOutput() HostAccountUserGroupAttachmentMapOutput

func (HostAccountUserGroupAttachmentMap) ToHostAccountUserGroupAttachmentMapOutputWithContext added in v3.8.0

func (i HostAccountUserGroupAttachmentMap) ToHostAccountUserGroupAttachmentMapOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentMapOutput

type HostAccountUserGroupAttachmentMapInput added in v3.8.0

type HostAccountUserGroupAttachmentMapInput interface {
	pulumi.Input

	ToHostAccountUserGroupAttachmentMapOutput() HostAccountUserGroupAttachmentMapOutput
	ToHostAccountUserGroupAttachmentMapOutputWithContext(context.Context) HostAccountUserGroupAttachmentMapOutput
}

HostAccountUserGroupAttachmentMapInput is an input type that accepts HostAccountUserGroupAttachmentMap and HostAccountUserGroupAttachmentMapOutput values. You can construct a concrete instance of `HostAccountUserGroupAttachmentMapInput` via:

HostAccountUserGroupAttachmentMap{ "key": HostAccountUserGroupAttachmentArgs{...} }

type HostAccountUserGroupAttachmentMapOutput added in v3.8.0

type HostAccountUserGroupAttachmentMapOutput struct{ *pulumi.OutputState }

func (HostAccountUserGroupAttachmentMapOutput) ElementType added in v3.8.0

func (HostAccountUserGroupAttachmentMapOutput) MapIndex added in v3.8.0

func (HostAccountUserGroupAttachmentMapOutput) ToHostAccountUserGroupAttachmentMapOutput added in v3.8.0

func (o HostAccountUserGroupAttachmentMapOutput) ToHostAccountUserGroupAttachmentMapOutput() HostAccountUserGroupAttachmentMapOutput

func (HostAccountUserGroupAttachmentMapOutput) ToHostAccountUserGroupAttachmentMapOutputWithContext added in v3.8.0

func (o HostAccountUserGroupAttachmentMapOutput) ToHostAccountUserGroupAttachmentMapOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentMapOutput

type HostAccountUserGroupAttachmentOutput added in v3.8.0

type HostAccountUserGroupAttachmentOutput struct{ *pulumi.OutputState }

func (HostAccountUserGroupAttachmentOutput) ElementType added in v3.8.0

func (HostAccountUserGroupAttachmentOutput) HostAccountIds added in v3.27.0

A list IDs of the host account.

func (HostAccountUserGroupAttachmentOutput) HostId added in v3.27.0

The ID of the host.

func (HostAccountUserGroupAttachmentOutput) InstanceId added in v3.27.0

The ID of the Bastionhost instance where you want to authorize the user group to manage the specified hosts and host accounts.

func (HostAccountUserGroupAttachmentOutput) ToHostAccountUserGroupAttachmentOutput added in v3.8.0

func (o HostAccountUserGroupAttachmentOutput) ToHostAccountUserGroupAttachmentOutput() HostAccountUserGroupAttachmentOutput

func (HostAccountUserGroupAttachmentOutput) ToHostAccountUserGroupAttachmentOutputWithContext added in v3.8.0

func (o HostAccountUserGroupAttachmentOutput) ToHostAccountUserGroupAttachmentOutputWithContext(ctx context.Context) HostAccountUserGroupAttachmentOutput

func (HostAccountUserGroupAttachmentOutput) UserGroupId added in v3.27.0

The ID of the user group that you want to authorize to manage the specified hosts and host accounts.

type HostAccountUserGroupAttachmentState added in v3.8.0

type HostAccountUserGroupAttachmentState struct {
	// A list IDs of the host account.
	HostAccountIds pulumi.StringArrayInput
	// The ID of the host.
	HostId pulumi.StringPtrInput
	// The ID of the Bastionhost instance where you want to authorize the user group to manage the specified hosts and host accounts.
	InstanceId pulumi.StringPtrInput
	// The ID of the user group that you want to authorize to manage the specified hosts and host accounts.
	UserGroupId pulumi.StringPtrInput
}

func (HostAccountUserGroupAttachmentState) ElementType added in v3.8.0

type HostArgs added in v3.8.0

type HostArgs struct {
	// Specify the new create a host of address types. Valid values: `Public`: the IP address of a Public network. `Private`: Private network address.
	ActiveAddressType pulumi.StringInput
	// Specify a host of notes, supports up to 500 characters.
	Comment pulumi.StringPtrInput
	// Specify the new create a host name of the supports up to 128 characters.
	HostName pulumi.StringInput
	// Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS. **NOTE:**  This parameter is required if the `activeAddressType` parameter is set to `Private`.
	HostPrivateAddress pulumi.StringPtrInput
	// Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.
	HostPublicAddress pulumi.StringPtrInput
	// Specify the new create a host where the Bastion host ID of.
	InstanceId pulumi.StringInput
	// The instance region id.
	InstanceRegionId pulumi.StringPtrInput
	// Specify the new create the host's operating system. Valid values: `Linux`,`Windows`.
	OsType pulumi.StringInput
	// Specify the new create a host of source. Valid values:
	Source pulumi.StringInput
	// Specify the newly created ECS instance ID or dedicated cluster host ID. **NOTE:** This parameter is required if the `source` parameter is set to `Ecs` or `Rds`.
	SourceInstanceId pulumi.StringPtrInput
}

The set of arguments for constructing a Host resource.

func (HostArgs) ElementType added in v3.8.0

func (HostArgs) ElementType() reflect.Type

type HostArray added in v3.8.0

type HostArray []HostInput

func (HostArray) ElementType added in v3.8.0

func (HostArray) ElementType() reflect.Type

func (HostArray) ToHostArrayOutput added in v3.8.0

func (i HostArray) ToHostArrayOutput() HostArrayOutput

func (HostArray) ToHostArrayOutputWithContext added in v3.8.0

func (i HostArray) ToHostArrayOutputWithContext(ctx context.Context) HostArrayOutput

type HostArrayInput added in v3.8.0

type HostArrayInput interface {
	pulumi.Input

	ToHostArrayOutput() HostArrayOutput
	ToHostArrayOutputWithContext(context.Context) HostArrayOutput
}

HostArrayInput is an input type that accepts HostArray and HostArrayOutput values. You can construct a concrete instance of `HostArrayInput` via:

HostArray{ HostArgs{...} }

type HostArrayOutput added in v3.8.0

type HostArrayOutput struct{ *pulumi.OutputState }

func (HostArrayOutput) ElementType added in v3.8.0

func (HostArrayOutput) ElementType() reflect.Type

func (HostArrayOutput) Index added in v3.8.0

func (HostArrayOutput) ToHostArrayOutput added in v3.8.0

func (o HostArrayOutput) ToHostArrayOutput() HostArrayOutput

func (HostArrayOutput) ToHostArrayOutputWithContext added in v3.8.0

func (o HostArrayOutput) ToHostArrayOutputWithContext(ctx context.Context) HostArrayOutput

type HostAttachment added in v3.8.0

type HostAttachment struct {
	pulumi.CustomResourceState

	// Specifies the added to the host group ID.
	HostGroupId pulumi.StringOutput `pulumi:"hostGroupId"`
	// Specified to be part of a host group of host ID.
	HostId pulumi.StringOutput `pulumi:"hostId"`
	// The bastion host instance id.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

Provides a Bastion Host Host Attachment resource to add host into one host group.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultHostGroup, err := bastionhost.NewHostGroup(ctx, "default", &bastionhost.HostGroupArgs{
			HostGroupName: pulumi.String(name),
			InstanceId:    defaultInstance.ID(),
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostAttachment(ctx, "default", &bastionhost.HostAttachmentArgs{
			HostGroupId: defaultHostGroup.HostGroupId,
			HostId:      defaultHost.HostId,
			InstanceId:  defaultInstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostAttachment:HostAttachment example <instance_id>:<host_group_id>:<host_id> ```

func GetHostAttachment added in v3.8.0

func GetHostAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostAttachmentState, opts ...pulumi.ResourceOption) (*HostAttachment, error)

GetHostAttachment gets an existing HostAttachment 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 NewHostAttachment added in v3.8.0

func NewHostAttachment(ctx *pulumi.Context,
	name string, args *HostAttachmentArgs, opts ...pulumi.ResourceOption) (*HostAttachment, error)

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

func (*HostAttachment) ElementType added in v3.8.0

func (*HostAttachment) ElementType() reflect.Type

func (*HostAttachment) ToHostAttachmentOutput added in v3.8.0

func (i *HostAttachment) ToHostAttachmentOutput() HostAttachmentOutput

func (*HostAttachment) ToHostAttachmentOutputWithContext added in v3.8.0

func (i *HostAttachment) ToHostAttachmentOutputWithContext(ctx context.Context) HostAttachmentOutput

type HostAttachmentArgs added in v3.8.0

type HostAttachmentArgs struct {
	// Specifies the added to the host group ID.
	HostGroupId pulumi.StringInput
	// Specified to be part of a host group of host ID.
	HostId pulumi.StringInput
	// The bastion host instance id.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a HostAttachment resource.

func (HostAttachmentArgs) ElementType added in v3.8.0

func (HostAttachmentArgs) ElementType() reflect.Type

type HostAttachmentArray added in v3.8.0

type HostAttachmentArray []HostAttachmentInput

func (HostAttachmentArray) ElementType added in v3.8.0

func (HostAttachmentArray) ElementType() reflect.Type

func (HostAttachmentArray) ToHostAttachmentArrayOutput added in v3.8.0

func (i HostAttachmentArray) ToHostAttachmentArrayOutput() HostAttachmentArrayOutput

func (HostAttachmentArray) ToHostAttachmentArrayOutputWithContext added in v3.8.0

func (i HostAttachmentArray) ToHostAttachmentArrayOutputWithContext(ctx context.Context) HostAttachmentArrayOutput

type HostAttachmentArrayInput added in v3.8.0

type HostAttachmentArrayInput interface {
	pulumi.Input

	ToHostAttachmentArrayOutput() HostAttachmentArrayOutput
	ToHostAttachmentArrayOutputWithContext(context.Context) HostAttachmentArrayOutput
}

HostAttachmentArrayInput is an input type that accepts HostAttachmentArray and HostAttachmentArrayOutput values. You can construct a concrete instance of `HostAttachmentArrayInput` via:

HostAttachmentArray{ HostAttachmentArgs{...} }

type HostAttachmentArrayOutput added in v3.8.0

type HostAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HostAttachmentArrayOutput) ElementType added in v3.8.0

func (HostAttachmentArrayOutput) ElementType() reflect.Type

func (HostAttachmentArrayOutput) Index added in v3.8.0

func (HostAttachmentArrayOutput) ToHostAttachmentArrayOutput added in v3.8.0

func (o HostAttachmentArrayOutput) ToHostAttachmentArrayOutput() HostAttachmentArrayOutput

func (HostAttachmentArrayOutput) ToHostAttachmentArrayOutputWithContext added in v3.8.0

func (o HostAttachmentArrayOutput) ToHostAttachmentArrayOutputWithContext(ctx context.Context) HostAttachmentArrayOutput

type HostAttachmentInput added in v3.8.0

type HostAttachmentInput interface {
	pulumi.Input

	ToHostAttachmentOutput() HostAttachmentOutput
	ToHostAttachmentOutputWithContext(ctx context.Context) HostAttachmentOutput
}

type HostAttachmentMap added in v3.8.0

type HostAttachmentMap map[string]HostAttachmentInput

func (HostAttachmentMap) ElementType added in v3.8.0

func (HostAttachmentMap) ElementType() reflect.Type

func (HostAttachmentMap) ToHostAttachmentMapOutput added in v3.8.0

func (i HostAttachmentMap) ToHostAttachmentMapOutput() HostAttachmentMapOutput

func (HostAttachmentMap) ToHostAttachmentMapOutputWithContext added in v3.8.0

func (i HostAttachmentMap) ToHostAttachmentMapOutputWithContext(ctx context.Context) HostAttachmentMapOutput

type HostAttachmentMapInput added in v3.8.0

type HostAttachmentMapInput interface {
	pulumi.Input

	ToHostAttachmentMapOutput() HostAttachmentMapOutput
	ToHostAttachmentMapOutputWithContext(context.Context) HostAttachmentMapOutput
}

HostAttachmentMapInput is an input type that accepts HostAttachmentMap and HostAttachmentMapOutput values. You can construct a concrete instance of `HostAttachmentMapInput` via:

HostAttachmentMap{ "key": HostAttachmentArgs{...} }

type HostAttachmentMapOutput added in v3.8.0

type HostAttachmentMapOutput struct{ *pulumi.OutputState }

func (HostAttachmentMapOutput) ElementType added in v3.8.0

func (HostAttachmentMapOutput) ElementType() reflect.Type

func (HostAttachmentMapOutput) MapIndex added in v3.8.0

func (HostAttachmentMapOutput) ToHostAttachmentMapOutput added in v3.8.0

func (o HostAttachmentMapOutput) ToHostAttachmentMapOutput() HostAttachmentMapOutput

func (HostAttachmentMapOutput) ToHostAttachmentMapOutputWithContext added in v3.8.0

func (o HostAttachmentMapOutput) ToHostAttachmentMapOutputWithContext(ctx context.Context) HostAttachmentMapOutput

type HostAttachmentOutput added in v3.8.0

type HostAttachmentOutput struct{ *pulumi.OutputState }

func (HostAttachmentOutput) ElementType added in v3.8.0

func (HostAttachmentOutput) ElementType() reflect.Type

func (HostAttachmentOutput) HostGroupId added in v3.27.0

func (o HostAttachmentOutput) HostGroupId() pulumi.StringOutput

Specifies the added to the host group ID.

func (HostAttachmentOutput) HostId added in v3.27.0

Specified to be part of a host group of host ID.

func (HostAttachmentOutput) InstanceId added in v3.27.0

func (o HostAttachmentOutput) InstanceId() pulumi.StringOutput

The bastion host instance id.

func (HostAttachmentOutput) ToHostAttachmentOutput added in v3.8.0

func (o HostAttachmentOutput) ToHostAttachmentOutput() HostAttachmentOutput

func (HostAttachmentOutput) ToHostAttachmentOutputWithContext added in v3.8.0

func (o HostAttachmentOutput) ToHostAttachmentOutputWithContext(ctx context.Context) HostAttachmentOutput

type HostAttachmentState added in v3.8.0

type HostAttachmentState struct {
	// Specifies the added to the host group ID.
	HostGroupId pulumi.StringPtrInput
	// Specified to be part of a host group of host ID.
	HostId pulumi.StringPtrInput
	// The bastion host instance id.
	InstanceId pulumi.StringPtrInput
}

func (HostAttachmentState) ElementType added in v3.8.0

func (HostAttachmentState) ElementType() reflect.Type

type HostGroup added in v3.8.0

type HostGroup struct {
	pulumi.CustomResourceState

	// Specify the New Host Group of Notes, Supports up to 500 Characters.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Host Group ID.
	HostGroupId pulumi.StringOutput `pulumi:"hostGroupId"`
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName pulumi.StringOutput `pulumi:"hostGroupName"`
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

Provides a Bastion Host Host Group resource.

For information about Bastion Host Host Group and how to use it, see [What is Host Group](https://www.alibabacloud.com/help/en/doc-detail/204307.htm).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostGroup(ctx, "default", &bastionhost.HostGroupArgs{
			HostGroupName: pulumi.String(name),
			InstanceId:    defaultInstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Group can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostGroup:HostGroup example <instance_id>:<host_group_id> ```

func GetHostGroup added in v3.8.0

func GetHostGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostGroupState, opts ...pulumi.ResourceOption) (*HostGroup, error)

GetHostGroup gets an existing HostGroup 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 NewHostGroup added in v3.8.0

func NewHostGroup(ctx *pulumi.Context,
	name string, args *HostGroupArgs, opts ...pulumi.ResourceOption) (*HostGroup, error)

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

func (*HostGroup) ElementType added in v3.8.0

func (*HostGroup) ElementType() reflect.Type

func (*HostGroup) ToHostGroupOutput added in v3.8.0

func (i *HostGroup) ToHostGroupOutput() HostGroupOutput

func (*HostGroup) ToHostGroupOutputWithContext added in v3.8.0

func (i *HostGroup) ToHostGroupOutputWithContext(ctx context.Context) HostGroupOutput

type HostGroupAccountUserAttachment added in v3.8.0

type HostGroupAccountUserAttachment struct {
	pulumi.CustomResourceState

	// A list names of the host account.
	HostAccountNames pulumi.StringArrayOutput `pulumi:"hostAccountNames"`
	// The ID of the host group.
	HostGroupId pulumi.StringOutput `pulumi:"hostGroupId"`
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ID of the user that you want to authorize to manage the specified hosts and host accounts.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user and one host group.

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		localUser, err := bastionhost.NewUser(ctx, "local_user", &bastionhost.UserArgs{
			InstanceId:        defaultInstance.ID(),
			MobileCountryCode: pulumi.String("CN"),
			Mobile:            pulumi.String("13312345678"),
			Password:          pulumi.String("YourPassword-123"),
			Source:            pulumi.String("Local"),
			UserName:          pulumi.String(fmt.Sprintf("%v_local_user", name)),
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		defaultHostAccount, err := bastionhost.NewHostAccount(ctx, "default", &bastionhost.HostAccountArgs{
			HostAccountName: pulumi.String(name),
			HostId:          defaultHost.HostId,
			InstanceId:      defaultHost.InstanceId,
			ProtocolName:    pulumi.String("SSH"),
			Password:        pulumi.String("YourPassword12345"),
		})
		if err != nil {
			return err
		}
		defaultHostGroup, err := bastionhost.NewHostGroup(ctx, "default", &bastionhost.HostGroupArgs{
			HostGroupName: pulumi.String(name),
			InstanceId:    defaultInstance.ID(),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostGroupAccountUserAttachment(ctx, "default", &bastionhost.HostGroupAccountUserAttachmentArgs{
			InstanceId:  defaultHost.InstanceId,
			UserId:      localUser.UserId,
			HostGroupId: defaultHostGroup.HostGroupId,
			HostAccountNames: pulumi.StringArray{
				defaultHostAccount.HostAccountName,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Account can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostGroupAccountUserAttachment:HostGroupAccountUserAttachment example <instance_id>:<user_id>:<host_group_id> ```

func GetHostGroupAccountUserAttachment added in v3.8.0

func GetHostGroupAccountUserAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostGroupAccountUserAttachmentState, opts ...pulumi.ResourceOption) (*HostGroupAccountUserAttachment, error)

GetHostGroupAccountUserAttachment gets an existing HostGroupAccountUserAttachment 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 NewHostGroupAccountUserAttachment added in v3.8.0

func NewHostGroupAccountUserAttachment(ctx *pulumi.Context,
	name string, args *HostGroupAccountUserAttachmentArgs, opts ...pulumi.ResourceOption) (*HostGroupAccountUserAttachment, error)

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

func (*HostGroupAccountUserAttachment) ElementType added in v3.8.0

func (*HostGroupAccountUserAttachment) ToHostGroupAccountUserAttachmentOutput added in v3.8.0

func (i *HostGroupAccountUserAttachment) ToHostGroupAccountUserAttachmentOutput() HostGroupAccountUserAttachmentOutput

func (*HostGroupAccountUserAttachment) ToHostGroupAccountUserAttachmentOutputWithContext added in v3.8.0

func (i *HostGroupAccountUserAttachment) ToHostGroupAccountUserAttachmentOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentOutput

type HostGroupAccountUserAttachmentArgs added in v3.8.0

type HostGroupAccountUserAttachmentArgs struct {
	// A list names of the host account.
	HostAccountNames pulumi.StringArrayInput
	// The ID of the host group.
	HostGroupId pulumi.StringInput
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringInput
	// The ID of the user that you want to authorize to manage the specified hosts and host accounts.
	UserId pulumi.StringInput
}

The set of arguments for constructing a HostGroupAccountUserAttachment resource.

func (HostGroupAccountUserAttachmentArgs) ElementType added in v3.8.0

type HostGroupAccountUserAttachmentArray added in v3.8.0

type HostGroupAccountUserAttachmentArray []HostGroupAccountUserAttachmentInput

func (HostGroupAccountUserAttachmentArray) ElementType added in v3.8.0

func (HostGroupAccountUserAttachmentArray) ToHostGroupAccountUserAttachmentArrayOutput added in v3.8.0

func (i HostGroupAccountUserAttachmentArray) ToHostGroupAccountUserAttachmentArrayOutput() HostGroupAccountUserAttachmentArrayOutput

func (HostGroupAccountUserAttachmentArray) ToHostGroupAccountUserAttachmentArrayOutputWithContext added in v3.8.0

func (i HostGroupAccountUserAttachmentArray) ToHostGroupAccountUserAttachmentArrayOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentArrayOutput

type HostGroupAccountUserAttachmentArrayInput added in v3.8.0

type HostGroupAccountUserAttachmentArrayInput interface {
	pulumi.Input

	ToHostGroupAccountUserAttachmentArrayOutput() HostGroupAccountUserAttachmentArrayOutput
	ToHostGroupAccountUserAttachmentArrayOutputWithContext(context.Context) HostGroupAccountUserAttachmentArrayOutput
}

HostGroupAccountUserAttachmentArrayInput is an input type that accepts HostGroupAccountUserAttachmentArray and HostGroupAccountUserAttachmentArrayOutput values. You can construct a concrete instance of `HostGroupAccountUserAttachmentArrayInput` via:

HostGroupAccountUserAttachmentArray{ HostGroupAccountUserAttachmentArgs{...} }

type HostGroupAccountUserAttachmentArrayOutput added in v3.8.0

type HostGroupAccountUserAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HostGroupAccountUserAttachmentArrayOutput) ElementType added in v3.8.0

func (HostGroupAccountUserAttachmentArrayOutput) Index added in v3.8.0

func (HostGroupAccountUserAttachmentArrayOutput) ToHostGroupAccountUserAttachmentArrayOutput added in v3.8.0

func (o HostGroupAccountUserAttachmentArrayOutput) ToHostGroupAccountUserAttachmentArrayOutput() HostGroupAccountUserAttachmentArrayOutput

func (HostGroupAccountUserAttachmentArrayOutput) ToHostGroupAccountUserAttachmentArrayOutputWithContext added in v3.8.0

func (o HostGroupAccountUserAttachmentArrayOutput) ToHostGroupAccountUserAttachmentArrayOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentArrayOutput

type HostGroupAccountUserAttachmentInput added in v3.8.0

type HostGroupAccountUserAttachmentInput interface {
	pulumi.Input

	ToHostGroupAccountUserAttachmentOutput() HostGroupAccountUserAttachmentOutput
	ToHostGroupAccountUserAttachmentOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentOutput
}

type HostGroupAccountUserAttachmentMap added in v3.8.0

type HostGroupAccountUserAttachmentMap map[string]HostGroupAccountUserAttachmentInput

func (HostGroupAccountUserAttachmentMap) ElementType added in v3.8.0

func (HostGroupAccountUserAttachmentMap) ToHostGroupAccountUserAttachmentMapOutput added in v3.8.0

func (i HostGroupAccountUserAttachmentMap) ToHostGroupAccountUserAttachmentMapOutput() HostGroupAccountUserAttachmentMapOutput

func (HostGroupAccountUserAttachmentMap) ToHostGroupAccountUserAttachmentMapOutputWithContext added in v3.8.0

func (i HostGroupAccountUserAttachmentMap) ToHostGroupAccountUserAttachmentMapOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentMapOutput

type HostGroupAccountUserAttachmentMapInput added in v3.8.0

type HostGroupAccountUserAttachmentMapInput interface {
	pulumi.Input

	ToHostGroupAccountUserAttachmentMapOutput() HostGroupAccountUserAttachmentMapOutput
	ToHostGroupAccountUserAttachmentMapOutputWithContext(context.Context) HostGroupAccountUserAttachmentMapOutput
}

HostGroupAccountUserAttachmentMapInput is an input type that accepts HostGroupAccountUserAttachmentMap and HostGroupAccountUserAttachmentMapOutput values. You can construct a concrete instance of `HostGroupAccountUserAttachmentMapInput` via:

HostGroupAccountUserAttachmentMap{ "key": HostGroupAccountUserAttachmentArgs{...} }

type HostGroupAccountUserAttachmentMapOutput added in v3.8.0

type HostGroupAccountUserAttachmentMapOutput struct{ *pulumi.OutputState }

func (HostGroupAccountUserAttachmentMapOutput) ElementType added in v3.8.0

func (HostGroupAccountUserAttachmentMapOutput) MapIndex added in v3.8.0

func (HostGroupAccountUserAttachmentMapOutput) ToHostGroupAccountUserAttachmentMapOutput added in v3.8.0

func (o HostGroupAccountUserAttachmentMapOutput) ToHostGroupAccountUserAttachmentMapOutput() HostGroupAccountUserAttachmentMapOutput

func (HostGroupAccountUserAttachmentMapOutput) ToHostGroupAccountUserAttachmentMapOutputWithContext added in v3.8.0

func (o HostGroupAccountUserAttachmentMapOutput) ToHostGroupAccountUserAttachmentMapOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentMapOutput

type HostGroupAccountUserAttachmentOutput added in v3.8.0

type HostGroupAccountUserAttachmentOutput struct{ *pulumi.OutputState }

func (HostGroupAccountUserAttachmentOutput) ElementType added in v3.8.0

func (HostGroupAccountUserAttachmentOutput) HostAccountNames added in v3.27.0

A list names of the host account.

func (HostGroupAccountUserAttachmentOutput) HostGroupId added in v3.27.0

The ID of the host group.

func (HostGroupAccountUserAttachmentOutput) InstanceId added in v3.27.0

The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.

func (HostGroupAccountUserAttachmentOutput) ToHostGroupAccountUserAttachmentOutput added in v3.8.0

func (o HostGroupAccountUserAttachmentOutput) ToHostGroupAccountUserAttachmentOutput() HostGroupAccountUserAttachmentOutput

func (HostGroupAccountUserAttachmentOutput) ToHostGroupAccountUserAttachmentOutputWithContext added in v3.8.0

func (o HostGroupAccountUserAttachmentOutput) ToHostGroupAccountUserAttachmentOutputWithContext(ctx context.Context) HostGroupAccountUserAttachmentOutput

func (HostGroupAccountUserAttachmentOutput) UserId added in v3.27.0

The ID of the user that you want to authorize to manage the specified hosts and host accounts.

type HostGroupAccountUserAttachmentState added in v3.8.0

type HostGroupAccountUserAttachmentState struct {
	// A list names of the host account.
	HostAccountNames pulumi.StringArrayInput
	// The ID of the host group.
	HostGroupId pulumi.StringPtrInput
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringPtrInput
	// The ID of the user that you want to authorize to manage the specified hosts and host accounts.
	UserId pulumi.StringPtrInput
}

func (HostGroupAccountUserAttachmentState) ElementType added in v3.8.0

type HostGroupAccountUserGroupAttachment added in v3.8.0

type HostGroupAccountUserGroupAttachment struct {
	pulumi.CustomResourceState

	// A list names of the host account.
	HostAccountNames pulumi.StringArrayOutput `pulumi:"hostAccountNames"`
	// The ID of the host group.
	HostGroupId pulumi.StringOutput `pulumi:"hostGroupId"`
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ID of the user group that you want to authorize to manage the specified hosts and host accounts.
	UserGroupId pulumi.StringOutput `pulumi:"userGroupId"`
}

Provides a Bastion Host Host Account Attachment resource to add list host accounts into one user group and one host group.

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultHost, err := bastionhost.NewHost(ctx, "default", &bastionhost.HostArgs{
			InstanceId:         defaultInstance.ID(),
			HostName:           pulumi.String(name),
			ActiveAddressType:  pulumi.String("Private"),
			HostPrivateAddress: pulumi.String("172.16.0.10"),
			OsType:             pulumi.String("Linux"),
			Source:             pulumi.String("Local"),
		})
		if err != nil {
			return err
		}
		defaultHostAccount, err := bastionhost.NewHostAccount(ctx, "default", &bastionhost.HostAccountArgs{
			HostAccountName: pulumi.String(name),
			HostId:          defaultHost.HostId,
			InstanceId:      defaultHost.InstanceId,
			ProtocolName:    pulumi.String("SSH"),
			Password:        pulumi.String("YourPassword12345"),
		})
		if err != nil {
			return err
		}
		defaultHostGroup, err := bastionhost.NewHostGroup(ctx, "default", &bastionhost.HostGroupArgs{
			HostGroupName: pulumi.String(name),
			InstanceId:    defaultInstance.ID(),
		})
		if err != nil {
			return err
		}
		defaultUserGroup, err := bastionhost.NewUserGroup(ctx, "default", &bastionhost.UserGroupArgs{
			InstanceId:    defaultHost.InstanceId,
			UserGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewHostGroupAccountUserGroupAttachment(ctx, "default", &bastionhost.HostGroupAccountUserGroupAttachmentArgs{
			InstanceId:  defaultHost.InstanceId,
			UserGroupId: defaultUserGroup.UserGroupId,
			HostGroupId: defaultHostGroup.HostGroupId,
			HostAccountNames: pulumi.StringArray{
				defaultHostAccount.HostAccountName,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host Host Account can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostGroupAccountUserGroupAttachment:HostGroupAccountUserGroupAttachment example <instance_id>:<user_group_id>:<host_group_id> ```

func GetHostGroupAccountUserGroupAttachment added in v3.8.0

func GetHostGroupAccountUserGroupAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostGroupAccountUserGroupAttachmentState, opts ...pulumi.ResourceOption) (*HostGroupAccountUserGroupAttachment, error)

GetHostGroupAccountUserGroupAttachment gets an existing HostGroupAccountUserGroupAttachment 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 NewHostGroupAccountUserGroupAttachment added in v3.8.0

func NewHostGroupAccountUserGroupAttachment(ctx *pulumi.Context,
	name string, args *HostGroupAccountUserGroupAttachmentArgs, opts ...pulumi.ResourceOption) (*HostGroupAccountUserGroupAttachment, error)

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

func (*HostGroupAccountUserGroupAttachment) ElementType added in v3.8.0

func (*HostGroupAccountUserGroupAttachment) ToHostGroupAccountUserGroupAttachmentOutput added in v3.8.0

func (i *HostGroupAccountUserGroupAttachment) ToHostGroupAccountUserGroupAttachmentOutput() HostGroupAccountUserGroupAttachmentOutput

func (*HostGroupAccountUserGroupAttachment) ToHostGroupAccountUserGroupAttachmentOutputWithContext added in v3.8.0

func (i *HostGroupAccountUserGroupAttachment) ToHostGroupAccountUserGroupAttachmentOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentOutput

type HostGroupAccountUserGroupAttachmentArgs added in v3.8.0

type HostGroupAccountUserGroupAttachmentArgs struct {
	// A list names of the host account.
	HostAccountNames pulumi.StringArrayInput
	// The ID of the host group.
	HostGroupId pulumi.StringInput
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringInput
	// The ID of the user group that you want to authorize to manage the specified hosts and host accounts.
	UserGroupId pulumi.StringInput
}

The set of arguments for constructing a HostGroupAccountUserGroupAttachment resource.

func (HostGroupAccountUserGroupAttachmentArgs) ElementType added in v3.8.0

type HostGroupAccountUserGroupAttachmentArray added in v3.8.0

type HostGroupAccountUserGroupAttachmentArray []HostGroupAccountUserGroupAttachmentInput

func (HostGroupAccountUserGroupAttachmentArray) ElementType added in v3.8.0

func (HostGroupAccountUserGroupAttachmentArray) ToHostGroupAccountUserGroupAttachmentArrayOutput added in v3.8.0

func (i HostGroupAccountUserGroupAttachmentArray) ToHostGroupAccountUserGroupAttachmentArrayOutput() HostGroupAccountUserGroupAttachmentArrayOutput

func (HostGroupAccountUserGroupAttachmentArray) ToHostGroupAccountUserGroupAttachmentArrayOutputWithContext added in v3.8.0

func (i HostGroupAccountUserGroupAttachmentArray) ToHostGroupAccountUserGroupAttachmentArrayOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentArrayOutput

type HostGroupAccountUserGroupAttachmentArrayInput added in v3.8.0

type HostGroupAccountUserGroupAttachmentArrayInput interface {
	pulumi.Input

	ToHostGroupAccountUserGroupAttachmentArrayOutput() HostGroupAccountUserGroupAttachmentArrayOutput
	ToHostGroupAccountUserGroupAttachmentArrayOutputWithContext(context.Context) HostGroupAccountUserGroupAttachmentArrayOutput
}

HostGroupAccountUserGroupAttachmentArrayInput is an input type that accepts HostGroupAccountUserGroupAttachmentArray and HostGroupAccountUserGroupAttachmentArrayOutput values. You can construct a concrete instance of `HostGroupAccountUserGroupAttachmentArrayInput` via:

HostGroupAccountUserGroupAttachmentArray{ HostGroupAccountUserGroupAttachmentArgs{...} }

type HostGroupAccountUserGroupAttachmentArrayOutput added in v3.8.0

type HostGroupAccountUserGroupAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HostGroupAccountUserGroupAttachmentArrayOutput) ElementType added in v3.8.0

func (HostGroupAccountUserGroupAttachmentArrayOutput) Index added in v3.8.0

func (HostGroupAccountUserGroupAttachmentArrayOutput) ToHostGroupAccountUserGroupAttachmentArrayOutput added in v3.8.0

func (o HostGroupAccountUserGroupAttachmentArrayOutput) ToHostGroupAccountUserGroupAttachmentArrayOutput() HostGroupAccountUserGroupAttachmentArrayOutput

func (HostGroupAccountUserGroupAttachmentArrayOutput) ToHostGroupAccountUserGroupAttachmentArrayOutputWithContext added in v3.8.0

func (o HostGroupAccountUserGroupAttachmentArrayOutput) ToHostGroupAccountUserGroupAttachmentArrayOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentArrayOutput

type HostGroupAccountUserGroupAttachmentInput added in v3.8.0

type HostGroupAccountUserGroupAttachmentInput interface {
	pulumi.Input

	ToHostGroupAccountUserGroupAttachmentOutput() HostGroupAccountUserGroupAttachmentOutput
	ToHostGroupAccountUserGroupAttachmentOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentOutput
}

type HostGroupAccountUserGroupAttachmentMap added in v3.8.0

type HostGroupAccountUserGroupAttachmentMap map[string]HostGroupAccountUserGroupAttachmentInput

func (HostGroupAccountUserGroupAttachmentMap) ElementType added in v3.8.0

func (HostGroupAccountUserGroupAttachmentMap) ToHostGroupAccountUserGroupAttachmentMapOutput added in v3.8.0

func (i HostGroupAccountUserGroupAttachmentMap) ToHostGroupAccountUserGroupAttachmentMapOutput() HostGroupAccountUserGroupAttachmentMapOutput

func (HostGroupAccountUserGroupAttachmentMap) ToHostGroupAccountUserGroupAttachmentMapOutputWithContext added in v3.8.0

func (i HostGroupAccountUserGroupAttachmentMap) ToHostGroupAccountUserGroupAttachmentMapOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentMapOutput

type HostGroupAccountUserGroupAttachmentMapInput added in v3.8.0

type HostGroupAccountUserGroupAttachmentMapInput interface {
	pulumi.Input

	ToHostGroupAccountUserGroupAttachmentMapOutput() HostGroupAccountUserGroupAttachmentMapOutput
	ToHostGroupAccountUserGroupAttachmentMapOutputWithContext(context.Context) HostGroupAccountUserGroupAttachmentMapOutput
}

HostGroupAccountUserGroupAttachmentMapInput is an input type that accepts HostGroupAccountUserGroupAttachmentMap and HostGroupAccountUserGroupAttachmentMapOutput values. You can construct a concrete instance of `HostGroupAccountUserGroupAttachmentMapInput` via:

HostGroupAccountUserGroupAttachmentMap{ "key": HostGroupAccountUserGroupAttachmentArgs{...} }

type HostGroupAccountUserGroupAttachmentMapOutput added in v3.8.0

type HostGroupAccountUserGroupAttachmentMapOutput struct{ *pulumi.OutputState }

func (HostGroupAccountUserGroupAttachmentMapOutput) ElementType added in v3.8.0

func (HostGroupAccountUserGroupAttachmentMapOutput) MapIndex added in v3.8.0

func (HostGroupAccountUserGroupAttachmentMapOutput) ToHostGroupAccountUserGroupAttachmentMapOutput added in v3.8.0

func (o HostGroupAccountUserGroupAttachmentMapOutput) ToHostGroupAccountUserGroupAttachmentMapOutput() HostGroupAccountUserGroupAttachmentMapOutput

func (HostGroupAccountUserGroupAttachmentMapOutput) ToHostGroupAccountUserGroupAttachmentMapOutputWithContext added in v3.8.0

func (o HostGroupAccountUserGroupAttachmentMapOutput) ToHostGroupAccountUserGroupAttachmentMapOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentMapOutput

type HostGroupAccountUserGroupAttachmentOutput added in v3.8.0

type HostGroupAccountUserGroupAttachmentOutput struct{ *pulumi.OutputState }

func (HostGroupAccountUserGroupAttachmentOutput) ElementType added in v3.8.0

func (HostGroupAccountUserGroupAttachmentOutput) HostAccountNames added in v3.27.0

A list names of the host account.

func (HostGroupAccountUserGroupAttachmentOutput) HostGroupId added in v3.27.0

The ID of the host group.

func (HostGroupAccountUserGroupAttachmentOutput) InstanceId added in v3.27.0

The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.

func (HostGroupAccountUserGroupAttachmentOutput) ToHostGroupAccountUserGroupAttachmentOutput added in v3.8.0

func (o HostGroupAccountUserGroupAttachmentOutput) ToHostGroupAccountUserGroupAttachmentOutput() HostGroupAccountUserGroupAttachmentOutput

func (HostGroupAccountUserGroupAttachmentOutput) ToHostGroupAccountUserGroupAttachmentOutputWithContext added in v3.8.0

func (o HostGroupAccountUserGroupAttachmentOutput) ToHostGroupAccountUserGroupAttachmentOutputWithContext(ctx context.Context) HostGroupAccountUserGroupAttachmentOutput

func (HostGroupAccountUserGroupAttachmentOutput) UserGroupId added in v3.27.0

The ID of the user group that you want to authorize to manage the specified hosts and host accounts.

type HostGroupAccountUserGroupAttachmentState added in v3.8.0

type HostGroupAccountUserGroupAttachmentState struct {
	// A list names of the host account.
	HostAccountNames pulumi.StringArrayInput
	// The ID of the host group.
	HostGroupId pulumi.StringPtrInput
	// The ID of the Bastionhost instance where you want to authorize the user to manage the specified hosts and host accounts.
	InstanceId pulumi.StringPtrInput
	// The ID of the user group that you want to authorize to manage the specified hosts and host accounts.
	UserGroupId pulumi.StringPtrInput
}

func (HostGroupAccountUserGroupAttachmentState) ElementType added in v3.8.0

type HostGroupArgs added in v3.8.0

type HostGroupArgs struct {
	// Specify the New Host Group of Notes, Supports up to 500 Characters.
	Comment pulumi.StringPtrInput
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName pulumi.StringInput
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a HostGroup resource.

func (HostGroupArgs) ElementType added in v3.8.0

func (HostGroupArgs) ElementType() reflect.Type

type HostGroupArray added in v3.8.0

type HostGroupArray []HostGroupInput

func (HostGroupArray) ElementType added in v3.8.0

func (HostGroupArray) ElementType() reflect.Type

func (HostGroupArray) ToHostGroupArrayOutput added in v3.8.0

func (i HostGroupArray) ToHostGroupArrayOutput() HostGroupArrayOutput

func (HostGroupArray) ToHostGroupArrayOutputWithContext added in v3.8.0

func (i HostGroupArray) ToHostGroupArrayOutputWithContext(ctx context.Context) HostGroupArrayOutput

type HostGroupArrayInput added in v3.8.0

type HostGroupArrayInput interface {
	pulumi.Input

	ToHostGroupArrayOutput() HostGroupArrayOutput
	ToHostGroupArrayOutputWithContext(context.Context) HostGroupArrayOutput
}

HostGroupArrayInput is an input type that accepts HostGroupArray and HostGroupArrayOutput values. You can construct a concrete instance of `HostGroupArrayInput` via:

HostGroupArray{ HostGroupArgs{...} }

type HostGroupArrayOutput added in v3.8.0

type HostGroupArrayOutput struct{ *pulumi.OutputState }

func (HostGroupArrayOutput) ElementType added in v3.8.0

func (HostGroupArrayOutput) ElementType() reflect.Type

func (HostGroupArrayOutput) Index added in v3.8.0

func (HostGroupArrayOutput) ToHostGroupArrayOutput added in v3.8.0

func (o HostGroupArrayOutput) ToHostGroupArrayOutput() HostGroupArrayOutput

func (HostGroupArrayOutput) ToHostGroupArrayOutputWithContext added in v3.8.0

func (o HostGroupArrayOutput) ToHostGroupArrayOutputWithContext(ctx context.Context) HostGroupArrayOutput

type HostGroupInput added in v3.8.0

type HostGroupInput interface {
	pulumi.Input

	ToHostGroupOutput() HostGroupOutput
	ToHostGroupOutputWithContext(ctx context.Context) HostGroupOutput
}

type HostGroupMap added in v3.8.0

type HostGroupMap map[string]HostGroupInput

func (HostGroupMap) ElementType added in v3.8.0

func (HostGroupMap) ElementType() reflect.Type

func (HostGroupMap) ToHostGroupMapOutput added in v3.8.0

func (i HostGroupMap) ToHostGroupMapOutput() HostGroupMapOutput

func (HostGroupMap) ToHostGroupMapOutputWithContext added in v3.8.0

func (i HostGroupMap) ToHostGroupMapOutputWithContext(ctx context.Context) HostGroupMapOutput

type HostGroupMapInput added in v3.8.0

type HostGroupMapInput interface {
	pulumi.Input

	ToHostGroupMapOutput() HostGroupMapOutput
	ToHostGroupMapOutputWithContext(context.Context) HostGroupMapOutput
}

HostGroupMapInput is an input type that accepts HostGroupMap and HostGroupMapOutput values. You can construct a concrete instance of `HostGroupMapInput` via:

HostGroupMap{ "key": HostGroupArgs{...} }

type HostGroupMapOutput added in v3.8.0

type HostGroupMapOutput struct{ *pulumi.OutputState }

func (HostGroupMapOutput) ElementType added in v3.8.0

func (HostGroupMapOutput) ElementType() reflect.Type

func (HostGroupMapOutput) MapIndex added in v3.8.0

func (HostGroupMapOutput) ToHostGroupMapOutput added in v3.8.0

func (o HostGroupMapOutput) ToHostGroupMapOutput() HostGroupMapOutput

func (HostGroupMapOutput) ToHostGroupMapOutputWithContext added in v3.8.0

func (o HostGroupMapOutput) ToHostGroupMapOutputWithContext(ctx context.Context) HostGroupMapOutput

type HostGroupOutput added in v3.8.0

type HostGroupOutput struct{ *pulumi.OutputState }

func (HostGroupOutput) Comment added in v3.27.0

Specify the New Host Group of Notes, Supports up to 500 Characters.

func (HostGroupOutput) ElementType added in v3.8.0

func (HostGroupOutput) ElementType() reflect.Type

func (HostGroupOutput) HostGroupId added in v3.27.0

func (o HostGroupOutput) HostGroupId() pulumi.StringOutput

Host Group ID.

func (HostGroupOutput) HostGroupName added in v3.27.0

func (o HostGroupOutput) HostGroupName() pulumi.StringOutput

Specify the New Host Group Name, Supports up to 128 Characters.

func (HostGroupOutput) InstanceId added in v3.27.0

func (o HostGroupOutput) InstanceId() pulumi.StringOutput

Specify the New Host Group Where the Bastion Host ID of.

func (HostGroupOutput) ToHostGroupOutput added in v3.8.0

func (o HostGroupOutput) ToHostGroupOutput() HostGroupOutput

func (HostGroupOutput) ToHostGroupOutputWithContext added in v3.8.0

func (o HostGroupOutput) ToHostGroupOutputWithContext(ctx context.Context) HostGroupOutput

type HostGroupState added in v3.8.0

type HostGroupState struct {
	// Specify the New Host Group of Notes, Supports up to 500 Characters.
	Comment pulumi.StringPtrInput
	// Host Group ID.
	HostGroupId pulumi.StringPtrInput
	// Specify the New Host Group Name, Supports up to 128 Characters.
	HostGroupName pulumi.StringPtrInput
	// Specify the New Host Group Where the Bastion Host ID of.
	InstanceId pulumi.StringPtrInput
}

func (HostGroupState) ElementType added in v3.8.0

func (HostGroupState) ElementType() reflect.Type

type HostInput added in v3.8.0

type HostInput interface {
	pulumi.Input

	ToHostOutput() HostOutput
	ToHostOutputWithContext(ctx context.Context) HostOutput
}

type HostMap added in v3.8.0

type HostMap map[string]HostInput

func (HostMap) ElementType added in v3.8.0

func (HostMap) ElementType() reflect.Type

func (HostMap) ToHostMapOutput added in v3.8.0

func (i HostMap) ToHostMapOutput() HostMapOutput

func (HostMap) ToHostMapOutputWithContext added in v3.8.0

func (i HostMap) ToHostMapOutputWithContext(ctx context.Context) HostMapOutput

type HostMapInput added in v3.8.0

type HostMapInput interface {
	pulumi.Input

	ToHostMapOutput() HostMapOutput
	ToHostMapOutputWithContext(context.Context) HostMapOutput
}

HostMapInput is an input type that accepts HostMap and HostMapOutput values. You can construct a concrete instance of `HostMapInput` via:

HostMap{ "key": HostArgs{...} }

type HostMapOutput added in v3.8.0

type HostMapOutput struct{ *pulumi.OutputState }

func (HostMapOutput) ElementType added in v3.8.0

func (HostMapOutput) ElementType() reflect.Type

func (HostMapOutput) MapIndex added in v3.8.0

func (HostMapOutput) ToHostMapOutput added in v3.8.0

func (o HostMapOutput) ToHostMapOutput() HostMapOutput

func (HostMapOutput) ToHostMapOutputWithContext added in v3.8.0

func (o HostMapOutput) ToHostMapOutputWithContext(ctx context.Context) HostMapOutput

type HostOutput added in v3.8.0

type HostOutput struct{ *pulumi.OutputState }

func (HostOutput) ActiveAddressType added in v3.27.0

func (o HostOutput) ActiveAddressType() pulumi.StringOutput

Specify the new create a host of address types. Valid values: `Public`: the IP address of a Public network. `Private`: Private network address.

func (HostOutput) Comment added in v3.27.0

func (o HostOutput) Comment() pulumi.StringPtrOutput

Specify a host of notes, supports up to 500 characters.

func (HostOutput) ElementType added in v3.8.0

func (HostOutput) ElementType() reflect.Type

func (HostOutput) HostId added in v3.27.0

func (o HostOutput) HostId() pulumi.StringOutput

The host ID.

func (HostOutput) HostName added in v3.27.0

func (o HostOutput) HostName() pulumi.StringOutput

Specify the new create a host name of the supports up to 128 characters.

func (HostOutput) HostPrivateAddress added in v3.27.0

func (o HostOutput) HostPrivateAddress() pulumi.StringPtrOutput

Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS. **NOTE:** This parameter is required if the `activeAddressType` parameter is set to `Private`.

func (HostOutput) HostPublicAddress added in v3.27.0

func (o HostOutput) HostPublicAddress() pulumi.StringPtrOutput

Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.

func (HostOutput) InstanceId added in v3.27.0

func (o HostOutput) InstanceId() pulumi.StringOutput

Specify the new create a host where the Bastion host ID of.

func (HostOutput) InstanceRegionId added in v3.27.0

func (o HostOutput) InstanceRegionId() pulumi.StringPtrOutput

The instance region id.

func (HostOutput) OsType added in v3.27.0

func (o HostOutput) OsType() pulumi.StringOutput

Specify the new create the host's operating system. Valid values: `Linux`,`Windows`.

func (HostOutput) Source added in v3.27.0

func (o HostOutput) Source() pulumi.StringOutput

Specify the new create a host of source. Valid values:

func (HostOutput) SourceInstanceId added in v3.27.0

func (o HostOutput) SourceInstanceId() pulumi.StringPtrOutput

Specify the newly created ECS instance ID or dedicated cluster host ID. **NOTE:** This parameter is required if the `source` parameter is set to `Ecs` or `Rds`.

func (HostOutput) ToHostOutput added in v3.8.0

func (o HostOutput) ToHostOutput() HostOutput

func (HostOutput) ToHostOutputWithContext added in v3.8.0

func (o HostOutput) ToHostOutputWithContext(ctx context.Context) HostOutput

type HostShareKey added in v3.20.0

type HostShareKey struct {
	pulumi.CustomResourceState

	// The first ID of the resource.
	HostShareKeyId pulumi.StringOutput `pulumi:"hostShareKeyId"`
	// The name of the host shared key to be added. The name can be a maximum of 128 characters in length.
	HostShareKeyName pulumi.StringOutput `pulumi:"hostShareKeyName"`
	// The ID of the Bastion instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The password of the private key. The value is a Base64-encoded string.
	PassPhrase pulumi.StringPtrOutput `pulumi:"passPhrase"`
	// The private key. The value is a Base64-encoded string.
	PrivateKey pulumi.StringOutput `pulumi:"privateKey"`
	// The fingerprint of the private key.
	PrivateKeyFingerPrint pulumi.StringOutput `pulumi:"privateKeyFingerPrint"`
}

Provides a Bastion Host Share Key resource.

For information about Bastion Host Host Share Key and how to use it, see [What is Host Share Key](https://www.alibabacloud.com/help/en/bastion-host/latest/createhostsharekey).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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 } _default, err := bastionhost.GetInstances(ctx, nil, nil); if err != nil { return err } defaultGetZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{ AvailableResourceCreation: pulumi.StringRef("VSwitch"), }, nil); if err != nil { return err } defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{ NameRegex: pulumi.StringRef("^default-NODELETING$"), CidrBlock: pulumi.StringRef("10.4.0.0/16"), }, nil); if err != nil { return err } defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{ CidrBlock: pulumi.StringRef("10.4.0.0/24"), VpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]), ZoneId: pulumi.StringRef(defaultGetZones.Zones[0].Id), }, nil); if err != nil { return err } var defaultSecurityGroup []*ecs.SecurityGroup

for index := 0; index < %!v(PANIC=Format method: fatal: A failure has occurred: unlowered conditional expression @ example.pp:23,13-44); index++ {
    key0 := index
    _ := index

__res, err := ecs.NewSecurityGroup(ctx, fmt.Sprintf("default-%v", key0), &ecs.SecurityGroupArgs{ VpcId: pulumi.String(defaultGetNetworks.Ids[0]), }) if err != nil { return err } defaultSecurityGroup = append(defaultSecurityGroup, __res) } var defaultInstance []*bastionhost.Instance

for index := 0; index < %!v(PANIC=Format method: fatal: A failure has occurred: unlowered conditional expression @ example.pp:31,13-44); index++ {
    key0 := index
    _ := index

__res, err := bastionhost.NewInstance(ctx, fmt.Sprintf("default-%v", key0), &bastionhost.InstanceArgs{ Description: pulumi.String(name), LicenseCode: pulumi.String("bhah_ent_50_asset"), PlanCode: pulumi.String("cloudbastion"), Storage: pulumi.String("5"), Bandwidth: pulumi.String("5"), Period: pulumi.Int(1), VswitchId: pulumi.String(defaultGetSwitches.Ids[0]), SecurityGroupIds: pulumi.StringArray{ defaultSecurityGroup[0].ID(), }, }) if err != nil { return err } defaultInstance = append(defaultInstance, __res) } var tmp0 *string if len(_default.Ids) > 0 { tmp0 = _default.Ids[0] } else { tmp0 = defaultInstance[0].ID() } instanceId := tmp0; privateKey := "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc25oc29SSVVwVXltSG1FVHJXUGxDbkhMa3c3N0JYTm44ZHcvbDg3eG10SUhjd2syCkRybjFDZk5jZkpJV0tSdkFaYkdKMlZTS1RiRDhPTmcyT3JvUHFGUHBLOHJ5QjJRb1NYQVRsaUVHWFhNeW1tRm8KeDBmem12THFscUxpNGZnOExhcTc5UC85aGxLU1djTWhJU0pYVTNHMS9KdEFBUmEyQXc4cXEzSVQvMkZ5NktrdwowMU9MdDdLN2pGUFRPaHhtdmNoSkZ1SVo1YXI0cW5HUlFHQnpCL2hoRHVIWEMwRlhJZ2ozd0NXMDZ4R2V2WjJyCmNCWWwwN1luL2lvZk95MU0wRjZZN0JrMU95N21vYndzM1JsalUyL2FpZlhLMmNOUlk2Qjl5WXNvd1RBZmQ5OTQKQ2YxSlF3TlhsaUZCeTZueEJLQk1YbDhIU1grS1o3L29PUlIwVXdJREFRQUJBb0lCQVFDbU5JSXR5ckhSY3oxdApJMGo0L0FQc295ZE1EL0owRkJMa2FoSUxKWjFaYW1tbmx4ZHh4WHBQUndXRnVXTEw2OTFVbDI5aUoxb1ptazU1Ci9ka2EvZlhnOUN3OUxXWVN2aExLdVlaMEZOTmhxZ3VoUEVBZy9uLytlR1ZCM2ZYZkxaZVZpK0E0L1VHMG15ZFMKVXVlQ2ZRSElZeWh4VkgvWnc3WER5WmNhVFVZVVdMUWlYcVN0Y2JRbnZFOXpwOGc5TWh5UkhBcWYwbEt2UTRqdwphUnNKTnlob3lhZWcvUXlFeHVYNGdBR1lIc1lTSDRFVmtXOHl5WE1aOHpRdk1OSUNiYXhmUkRuSngybUh6a09rCnFHczVXbFp5L3VrQk5jWTQwd2Y0eTY2bEVJaVpKbiswaFhtSTF4Tk5SdHRwMjZnY3ROOXZWbmVicTdLTnpjTDgKeFQrMXZJaEpBb0dCQU9iMVM1YlE4NVRFWDBoZTRmdXc2R3ExbnhRLzJUSU03emZhK2VhZThPQlh2eVNFV3JpdwpPZzM3RFhVUDFNVU1iTEJRenE0STl1dE5YSVZadEFLR0h6ZDR6WmtQeGxORjZPN0FyWnJEWElDNEdKZHdmSEhxCjJZcDkxUDlWekJlOVhkTVdZVGFCNkMzWVdtYzQwM08vYWdyRCtNb2JnL0hqMSt0d2xZR2hjdlV2QW9HQkFNWFMKT2VnWHc5VUF3VEZabFBtZzZKeDI3TzNXUFBHd1E3QzRnYitFZzZkR1pLRnJVR1ZId2VUUG1HaGtwN1BmYU5ESwplaFVoUWFnNm9XOTF4dkE2YldZZ29SQmczUWkxc01MblRWeTExeVN1UEVFSCtMT2s1N3d2akNLSk5XZnM0SjVyCmg1NGw0QXZ6UVhyWWN0UlZkSmYrNjFacGFnTkdZMVBvWVJMTHJMSWRBb0dBTndydzErRzJtNWJ0YW04S2hwU1QKMzVLbmRnajlkM3N6cStrcE03aGZpZWYvcXZGTU9jWHVJQlRjRVRFVHNWNlRyTFdsZkQ2d3NrVitybDFCbEhSbwpqaXpoT3dCU2NOZ3hlbTA3TXE0cXBwYTViYVltVW5QNUlwTjRwdDNJeFVPaFQ4UitxS0h2TnJYZ1hjZGlSYXl4CjFoejhkeFoxckxselpTNHd3M001MVlzQ2dZRUFpUDEwTEUySXg5Q2wrTTdZWTZZU2I0Zkx1MGhKRy9XOGFuemIKSFExZlBrOTVFRytJVlJyRUl2ZS95MHNvOTE4VzdyL0lteWxVbG5ORHFEUWZkK3grSmVNaXBuenRsRUorRGZxdgprQ3c4dUtJUUI5akZXV0l4T0JpVktyVnB6bll6ZG9Gd2dRd3BneDBKazFDZzlIblpMQWpVWUJyUDEwUy9ORFFRClJUdldjK0VDZ1lBeGRIZWxQNG1RdkJaS1oxMlNKbHlLbFVLeW43aHhzSHVkMkphMVNtS3FWeHBERDNlR0w0Y3QKZXA1QTZ5NkF4eGViZkI0aDdYNEZ0QTBBRURPdkZDR0J1QlRvZ3ZBdUNDVUtqK2JIUG1SNG53UVYzcWZ2M3loRAp0TGkwU2FHVElta2wvbUNCUDhZaW9JUys2N0xjby9kbHphUTNGVDlxTnJieFdFWjJlaS9LVlE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQ=="; if param := cfg.Get("privateKey"); param != ""{ privateKey = param } _, err = bastionhost.NewHostShareKey(ctx, "default", &bastionhost.HostShareKeyArgs{ HostShareKeyName: pulumi.String(name), InstanceId: pulumi.String(instanceId), PrivateKey: pulumi.String(privateKey), }) if err != nil { return err } return nil }) } ```

## Import

Bastion Host Share Key can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/hostShareKey:HostShareKey example <instance_id>:<host_share_key_id> ```

func GetHostShareKey added in v3.20.0

func GetHostShareKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostShareKeyState, opts ...pulumi.ResourceOption) (*HostShareKey, error)

GetHostShareKey gets an existing HostShareKey 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 NewHostShareKey added in v3.20.0

func NewHostShareKey(ctx *pulumi.Context,
	name string, args *HostShareKeyArgs, opts ...pulumi.ResourceOption) (*HostShareKey, error)

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

func (*HostShareKey) ElementType added in v3.20.0

func (*HostShareKey) ElementType() reflect.Type

func (*HostShareKey) ToHostShareKeyOutput added in v3.20.0

func (i *HostShareKey) ToHostShareKeyOutput() HostShareKeyOutput

func (*HostShareKey) ToHostShareKeyOutputWithContext added in v3.20.0

func (i *HostShareKey) ToHostShareKeyOutputWithContext(ctx context.Context) HostShareKeyOutput

type HostShareKeyArgs added in v3.20.0

type HostShareKeyArgs struct {
	// The name of the host shared key to be added. The name can be a maximum of 128 characters in length.
	HostShareKeyName pulumi.StringInput
	// The ID of the Bastion instance.
	InstanceId pulumi.StringInput
	// The password of the private key. The value is a Base64-encoded string.
	PassPhrase pulumi.StringPtrInput
	// The private key. The value is a Base64-encoded string.
	PrivateKey pulumi.StringInput
}

The set of arguments for constructing a HostShareKey resource.

func (HostShareKeyArgs) ElementType added in v3.20.0

func (HostShareKeyArgs) ElementType() reflect.Type

type HostShareKeyArray added in v3.20.0

type HostShareKeyArray []HostShareKeyInput

func (HostShareKeyArray) ElementType added in v3.20.0

func (HostShareKeyArray) ElementType() reflect.Type

func (HostShareKeyArray) ToHostShareKeyArrayOutput added in v3.20.0

func (i HostShareKeyArray) ToHostShareKeyArrayOutput() HostShareKeyArrayOutput

func (HostShareKeyArray) ToHostShareKeyArrayOutputWithContext added in v3.20.0

func (i HostShareKeyArray) ToHostShareKeyArrayOutputWithContext(ctx context.Context) HostShareKeyArrayOutput

type HostShareKeyArrayInput added in v3.20.0

type HostShareKeyArrayInput interface {
	pulumi.Input

	ToHostShareKeyArrayOutput() HostShareKeyArrayOutput
	ToHostShareKeyArrayOutputWithContext(context.Context) HostShareKeyArrayOutput
}

HostShareKeyArrayInput is an input type that accepts HostShareKeyArray and HostShareKeyArrayOutput values. You can construct a concrete instance of `HostShareKeyArrayInput` via:

HostShareKeyArray{ HostShareKeyArgs{...} }

type HostShareKeyArrayOutput added in v3.20.0

type HostShareKeyArrayOutput struct{ *pulumi.OutputState }

func (HostShareKeyArrayOutput) ElementType added in v3.20.0

func (HostShareKeyArrayOutput) ElementType() reflect.Type

func (HostShareKeyArrayOutput) Index added in v3.20.0

func (HostShareKeyArrayOutput) ToHostShareKeyArrayOutput added in v3.20.0

func (o HostShareKeyArrayOutput) ToHostShareKeyArrayOutput() HostShareKeyArrayOutput

func (HostShareKeyArrayOutput) ToHostShareKeyArrayOutputWithContext added in v3.20.0

func (o HostShareKeyArrayOutput) ToHostShareKeyArrayOutputWithContext(ctx context.Context) HostShareKeyArrayOutput

type HostShareKeyInput added in v3.20.0

type HostShareKeyInput interface {
	pulumi.Input

	ToHostShareKeyOutput() HostShareKeyOutput
	ToHostShareKeyOutputWithContext(ctx context.Context) HostShareKeyOutput
}

type HostShareKeyMap added in v3.20.0

type HostShareKeyMap map[string]HostShareKeyInput

func (HostShareKeyMap) ElementType added in v3.20.0

func (HostShareKeyMap) ElementType() reflect.Type

func (HostShareKeyMap) ToHostShareKeyMapOutput added in v3.20.0

func (i HostShareKeyMap) ToHostShareKeyMapOutput() HostShareKeyMapOutput

func (HostShareKeyMap) ToHostShareKeyMapOutputWithContext added in v3.20.0

func (i HostShareKeyMap) ToHostShareKeyMapOutputWithContext(ctx context.Context) HostShareKeyMapOutput

type HostShareKeyMapInput added in v3.20.0

type HostShareKeyMapInput interface {
	pulumi.Input

	ToHostShareKeyMapOutput() HostShareKeyMapOutput
	ToHostShareKeyMapOutputWithContext(context.Context) HostShareKeyMapOutput
}

HostShareKeyMapInput is an input type that accepts HostShareKeyMap and HostShareKeyMapOutput values. You can construct a concrete instance of `HostShareKeyMapInput` via:

HostShareKeyMap{ "key": HostShareKeyArgs{...} }

type HostShareKeyMapOutput added in v3.20.0

type HostShareKeyMapOutput struct{ *pulumi.OutputState }

func (HostShareKeyMapOutput) ElementType added in v3.20.0

func (HostShareKeyMapOutput) ElementType() reflect.Type

func (HostShareKeyMapOutput) MapIndex added in v3.20.0

func (HostShareKeyMapOutput) ToHostShareKeyMapOutput added in v3.20.0

func (o HostShareKeyMapOutput) ToHostShareKeyMapOutput() HostShareKeyMapOutput

func (HostShareKeyMapOutput) ToHostShareKeyMapOutputWithContext added in v3.20.0

func (o HostShareKeyMapOutput) ToHostShareKeyMapOutputWithContext(ctx context.Context) HostShareKeyMapOutput

type HostShareKeyOutput added in v3.20.0

type HostShareKeyOutput struct{ *pulumi.OutputState }

func (HostShareKeyOutput) ElementType added in v3.20.0

func (HostShareKeyOutput) ElementType() reflect.Type

func (HostShareKeyOutput) HostShareKeyId added in v3.27.0

func (o HostShareKeyOutput) HostShareKeyId() pulumi.StringOutput

The first ID of the resource.

func (HostShareKeyOutput) HostShareKeyName added in v3.27.0

func (o HostShareKeyOutput) HostShareKeyName() pulumi.StringOutput

The name of the host shared key to be added. The name can be a maximum of 128 characters in length.

func (HostShareKeyOutput) InstanceId added in v3.27.0

func (o HostShareKeyOutput) InstanceId() pulumi.StringOutput

The ID of the Bastion instance.

func (HostShareKeyOutput) PassPhrase added in v3.27.0

func (o HostShareKeyOutput) PassPhrase() pulumi.StringPtrOutput

The password of the private key. The value is a Base64-encoded string.

func (HostShareKeyOutput) PrivateKey added in v3.27.0

func (o HostShareKeyOutput) PrivateKey() pulumi.StringOutput

The private key. The value is a Base64-encoded string.

func (HostShareKeyOutput) PrivateKeyFingerPrint added in v3.27.0

func (o HostShareKeyOutput) PrivateKeyFingerPrint() pulumi.StringOutput

The fingerprint of the private key.

func (HostShareKeyOutput) ToHostShareKeyOutput added in v3.20.0

func (o HostShareKeyOutput) ToHostShareKeyOutput() HostShareKeyOutput

func (HostShareKeyOutput) ToHostShareKeyOutputWithContext added in v3.20.0

func (o HostShareKeyOutput) ToHostShareKeyOutputWithContext(ctx context.Context) HostShareKeyOutput

type HostShareKeyState added in v3.20.0

type HostShareKeyState struct {
	// The first ID of the resource.
	HostShareKeyId pulumi.StringPtrInput
	// The name of the host shared key to be added. The name can be a maximum of 128 characters in length.
	HostShareKeyName pulumi.StringPtrInput
	// The ID of the Bastion instance.
	InstanceId pulumi.StringPtrInput
	// The password of the private key. The value is a Base64-encoded string.
	PassPhrase pulumi.StringPtrInput
	// The private key. The value is a Base64-encoded string.
	PrivateKey pulumi.StringPtrInput
	// The fingerprint of the private key.
	PrivateKeyFingerPrint pulumi.StringPtrInput
}

func (HostShareKeyState) ElementType added in v3.20.0

func (HostShareKeyState) ElementType() reflect.Type

type HostState added in v3.8.0

type HostState struct {
	// Specify the new create a host of address types. Valid values: `Public`: the IP address of a Public network. `Private`: Private network address.
	ActiveAddressType pulumi.StringPtrInput
	// Specify a host of notes, supports up to 500 characters.
	Comment pulumi.StringPtrInput
	// The host ID.
	HostId pulumi.StringPtrInput
	// Specify the new create a host name of the supports up to 128 characters.
	HostName pulumi.StringPtrInput
	// Specify the new create a host of the private network address, it is possible to use the domain name or IP ADDRESS. **NOTE:**  This parameter is required if the `activeAddressType` parameter is set to `Private`.
	HostPrivateAddress pulumi.StringPtrInput
	// Specify the new create a host of the IP address of a public network, it is possible to use the domain name or IP ADDRESS.
	HostPublicAddress pulumi.StringPtrInput
	// Specify the new create a host where the Bastion host ID of.
	InstanceId pulumi.StringPtrInput
	// The instance region id.
	InstanceRegionId pulumi.StringPtrInput
	// Specify the new create the host's operating system. Valid values: `Linux`,`Windows`.
	OsType pulumi.StringPtrInput
	// Specify the new create a host of source. Valid values:
	Source pulumi.StringPtrInput
	// Specify the newly created ECS instance ID or dedicated cluster host ID. **NOTE:** This parameter is required if the `source` parameter is set to `Ecs` or `Rds`.
	SourceInstanceId pulumi.StringPtrInput
}

func (HostState) ElementType added in v3.8.0

func (HostState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// The AD auth server of the Instance. See `adAuthServer` below.
	AdAuthServers InstanceAdAuthServerArrayOutput `pulumi:"adAuthServers"`
	// The bandwidth of Cloud Bastionhost instance.
	// If China-Site Account, its valid values: 0 to 150. Unit: Mbit/s. The value must be a multiple of 5.
	// If International-Site Account, its valid values: 0 to 200. Unit: Mbit/s. The value must be a multiple of 10.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// Description of the instance. This name can have a string of 1 to 63 characters.
	Description pulumi.StringOutput `pulumi:"description"`
	// Whether to Enable the public internet access to a specified Bastionhost instance. The valid values: `true`, `false`.
	EnablePublicAccess pulumi.BoolOutput `pulumi:"enablePublicAccess"`
	// The LDAP auth server of the Instance. See `ldapAuthServer` below.
	LdapAuthServers InstanceLdapAuthServerArrayOutput `pulumi:"ldapAuthServers"`
	// The package type of Cloud Bastionhost instance. You can query more supported types through the [DescribePricingModule](https://help.aliyun.com/document_detail/96469.html).
	LicenseCode pulumi.StringOutput `pulumi:"licenseCode"`
	// Duration for initially producing the instance. Valid values: [1~9], 12, 24, 36. At present, the provider does not support modify "period".
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The plan code of Cloud Bastionhost instance. Valid values:
	PlanCode         pulumi.StringOutput      `pulumi:"planCode"`
	PublicWhiteLists pulumi.StringArrayOutput `pulumi:"publicWhiteLists"`
	// Automatic renewal period. Valid values: `1` to `9`, `12`, `24`, `36`. **NOTE:** The `renewPeriod` is required under the condition that `renewalStatus` is `AutoRenewal`. From version 1.193.0, `renewPeriod` can be modified.
	RenewPeriod pulumi.IntPtrOutput `pulumi:"renewPeriod"`
	// The unit of the auto-renewal period. Valid values:  **NOTE:** The `renewalPeriodUnit` is required under the condition that `renewalStatus` is `AutoRenewal`.
	RenewalPeriodUnit pulumi.StringOutput `pulumi:"renewalPeriodUnit"`
	// Automatic renewal status. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`. From version 1.193.0, `renewalStatus` can be modified.
	RenewalStatus pulumi.StringOutput `pulumi:"renewalStatus"`
	// The Id of resource group which the Bastionhost Instance belongs. If not set, the resource is created in the default resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// security group IDs configured to Bastionhost.
	// **NOTE:** There is a potential diff error because of the order of `securityGroupIds` values indefinite.
	// So, from version 1.160.0, `securityGroupIds` type has been updated as `set` from `list`,
	// and you can use tolist to convert it to a list.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// The storage of Cloud Bastionhost instance. Valid values: 0 to 500. Unit: TB.
	Storage pulumi.StringOutput `pulumi:"storage"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// VSwitch ID configured to Bastionhost.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

## Import

Yundun_bastionhost instance can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/instance:Instance example bastionhost-exampe123456 ```

func GetInstance

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

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

func NewInstance

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

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

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

type InstanceAdAuthServer added in v3.20.0

type InstanceAdAuthServer struct {
	// The username of the account that is used for the AD server.
	Account string `pulumi:"account"`
	// The Base distinguished name (DN).
	BaseDn string `pulumi:"baseDn"`
	// The domain on the AD server.
	Domain string `pulumi:"domain"`
	// The field that is used to indicate the email address of a user on the AD server.
	EmailMapping *string `pulumi:"emailMapping"`
	// The condition that is used to filter users.
	Filter *string `pulumi:"filter"`
	// Specifies whether to support SSL.
	IsSsl bool `pulumi:"isSsl"`
	// The field that is used to indicate the mobile phone number of a user on the AD server.
	MobileMapping *string `pulumi:"mobileMapping"`
	// The field that is used to indicate the name of a user on the AD server.
	NameMapping *string `pulumi:"nameMapping"`
	// The password of the account that is used for the AD server.
	Password string `pulumi:"password"`
	// The port that is used to access the AD server.
	Port int `pulumi:"port"`
	// The address of the AD server.
	Server string `pulumi:"server"`
	// The address of the secondary AD server.
	StandbyServer *string `pulumi:"standbyServer"`
}

type InstanceAdAuthServerArgs added in v3.20.0

type InstanceAdAuthServerArgs struct {
	// The username of the account that is used for the AD server.
	Account pulumi.StringInput `pulumi:"account"`
	// The Base distinguished name (DN).
	BaseDn pulumi.StringInput `pulumi:"baseDn"`
	// The domain on the AD server.
	Domain pulumi.StringInput `pulumi:"domain"`
	// The field that is used to indicate the email address of a user on the AD server.
	EmailMapping pulumi.StringPtrInput `pulumi:"emailMapping"`
	// The condition that is used to filter users.
	Filter pulumi.StringPtrInput `pulumi:"filter"`
	// Specifies whether to support SSL.
	IsSsl pulumi.BoolInput `pulumi:"isSsl"`
	// The field that is used to indicate the mobile phone number of a user on the AD server.
	MobileMapping pulumi.StringPtrInput `pulumi:"mobileMapping"`
	// The field that is used to indicate the name of a user on the AD server.
	NameMapping pulumi.StringPtrInput `pulumi:"nameMapping"`
	// The password of the account that is used for the AD server.
	Password pulumi.StringInput `pulumi:"password"`
	// The port that is used to access the AD server.
	Port pulumi.IntInput `pulumi:"port"`
	// The address of the AD server.
	Server pulumi.StringInput `pulumi:"server"`
	// The address of the secondary AD server.
	StandbyServer pulumi.StringPtrInput `pulumi:"standbyServer"`
}

func (InstanceAdAuthServerArgs) ElementType added in v3.20.0

func (InstanceAdAuthServerArgs) ElementType() reflect.Type

func (InstanceAdAuthServerArgs) ToInstanceAdAuthServerOutput added in v3.20.0

func (i InstanceAdAuthServerArgs) ToInstanceAdAuthServerOutput() InstanceAdAuthServerOutput

func (InstanceAdAuthServerArgs) ToInstanceAdAuthServerOutputWithContext added in v3.20.0

func (i InstanceAdAuthServerArgs) ToInstanceAdAuthServerOutputWithContext(ctx context.Context) InstanceAdAuthServerOutput

type InstanceAdAuthServerArray added in v3.20.0

type InstanceAdAuthServerArray []InstanceAdAuthServerInput

func (InstanceAdAuthServerArray) ElementType added in v3.20.0

func (InstanceAdAuthServerArray) ElementType() reflect.Type

func (InstanceAdAuthServerArray) ToInstanceAdAuthServerArrayOutput added in v3.20.0

func (i InstanceAdAuthServerArray) ToInstanceAdAuthServerArrayOutput() InstanceAdAuthServerArrayOutput

func (InstanceAdAuthServerArray) ToInstanceAdAuthServerArrayOutputWithContext added in v3.20.0

func (i InstanceAdAuthServerArray) ToInstanceAdAuthServerArrayOutputWithContext(ctx context.Context) InstanceAdAuthServerArrayOutput

type InstanceAdAuthServerArrayInput added in v3.20.0

type InstanceAdAuthServerArrayInput interface {
	pulumi.Input

	ToInstanceAdAuthServerArrayOutput() InstanceAdAuthServerArrayOutput
	ToInstanceAdAuthServerArrayOutputWithContext(context.Context) InstanceAdAuthServerArrayOutput
}

InstanceAdAuthServerArrayInput is an input type that accepts InstanceAdAuthServerArray and InstanceAdAuthServerArrayOutput values. You can construct a concrete instance of `InstanceAdAuthServerArrayInput` via:

InstanceAdAuthServerArray{ InstanceAdAuthServerArgs{...} }

type InstanceAdAuthServerArrayOutput added in v3.20.0

type InstanceAdAuthServerArrayOutput struct{ *pulumi.OutputState }

func (InstanceAdAuthServerArrayOutput) ElementType added in v3.20.0

func (InstanceAdAuthServerArrayOutput) Index added in v3.20.0

func (InstanceAdAuthServerArrayOutput) ToInstanceAdAuthServerArrayOutput added in v3.20.0

func (o InstanceAdAuthServerArrayOutput) ToInstanceAdAuthServerArrayOutput() InstanceAdAuthServerArrayOutput

func (InstanceAdAuthServerArrayOutput) ToInstanceAdAuthServerArrayOutputWithContext added in v3.20.0

func (o InstanceAdAuthServerArrayOutput) ToInstanceAdAuthServerArrayOutputWithContext(ctx context.Context) InstanceAdAuthServerArrayOutput

type InstanceAdAuthServerInput added in v3.20.0

type InstanceAdAuthServerInput interface {
	pulumi.Input

	ToInstanceAdAuthServerOutput() InstanceAdAuthServerOutput
	ToInstanceAdAuthServerOutputWithContext(context.Context) InstanceAdAuthServerOutput
}

InstanceAdAuthServerInput is an input type that accepts InstanceAdAuthServerArgs and InstanceAdAuthServerOutput values. You can construct a concrete instance of `InstanceAdAuthServerInput` via:

InstanceAdAuthServerArgs{...}

type InstanceAdAuthServerOutput added in v3.20.0

type InstanceAdAuthServerOutput struct{ *pulumi.OutputState }

func (InstanceAdAuthServerOutput) Account added in v3.20.0

The username of the account that is used for the AD server.

func (InstanceAdAuthServerOutput) BaseDn added in v3.20.0

The Base distinguished name (DN).

func (InstanceAdAuthServerOutput) Domain added in v3.20.0

The domain on the AD server.

func (InstanceAdAuthServerOutput) ElementType added in v3.20.0

func (InstanceAdAuthServerOutput) ElementType() reflect.Type

func (InstanceAdAuthServerOutput) EmailMapping added in v3.20.0

The field that is used to indicate the email address of a user on the AD server.

func (InstanceAdAuthServerOutput) Filter added in v3.20.0

The condition that is used to filter users.

func (InstanceAdAuthServerOutput) IsSsl added in v3.20.0

Specifies whether to support SSL.

func (InstanceAdAuthServerOutput) MobileMapping added in v3.20.0

The field that is used to indicate the mobile phone number of a user on the AD server.

func (InstanceAdAuthServerOutput) NameMapping added in v3.20.0

The field that is used to indicate the name of a user on the AD server.

func (InstanceAdAuthServerOutput) Password added in v3.20.0

The password of the account that is used for the AD server.

func (InstanceAdAuthServerOutput) Port added in v3.20.0

The port that is used to access the AD server.

func (InstanceAdAuthServerOutput) Server added in v3.20.0

The address of the AD server.

func (InstanceAdAuthServerOutput) StandbyServer added in v3.20.0

The address of the secondary AD server.

func (InstanceAdAuthServerOutput) ToInstanceAdAuthServerOutput added in v3.20.0

func (o InstanceAdAuthServerOutput) ToInstanceAdAuthServerOutput() InstanceAdAuthServerOutput

func (InstanceAdAuthServerOutput) ToInstanceAdAuthServerOutputWithContext added in v3.20.0

func (o InstanceAdAuthServerOutput) ToInstanceAdAuthServerOutputWithContext(ctx context.Context) InstanceAdAuthServerOutput

type InstanceArgs

type InstanceArgs struct {
	// The AD auth server of the Instance. See `adAuthServer` below.
	AdAuthServers InstanceAdAuthServerArrayInput
	// The bandwidth of Cloud Bastionhost instance.
	// If China-Site Account, its valid values: 0 to 150. Unit: Mbit/s. The value must be a multiple of 5.
	// If International-Site Account, its valid values: 0 to 200. Unit: Mbit/s. The value must be a multiple of 10.
	Bandwidth pulumi.StringInput
	// Description of the instance. This name can have a string of 1 to 63 characters.
	Description pulumi.StringInput
	// Whether to Enable the public internet access to a specified Bastionhost instance. The valid values: `true`, `false`.
	EnablePublicAccess pulumi.BoolPtrInput
	// The LDAP auth server of the Instance. See `ldapAuthServer` below.
	LdapAuthServers InstanceLdapAuthServerArrayInput
	// The package type of Cloud Bastionhost instance. You can query more supported types through the [DescribePricingModule](https://help.aliyun.com/document_detail/96469.html).
	LicenseCode pulumi.StringInput
	// Duration for initially producing the instance. Valid values: [1~9], 12, 24, 36. At present, the provider does not support modify "period".
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	Period pulumi.IntPtrInput
	// The plan code of Cloud Bastionhost instance. Valid values:
	PlanCode         pulumi.StringInput
	PublicWhiteLists pulumi.StringArrayInput
	// Automatic renewal period. Valid values: `1` to `9`, `12`, `24`, `36`. **NOTE:** The `renewPeriod` is required under the condition that `renewalStatus` is `AutoRenewal`. From version 1.193.0, `renewPeriod` can be modified.
	RenewPeriod pulumi.IntPtrInput
	// The unit of the auto-renewal period. Valid values:  **NOTE:** The `renewalPeriodUnit` is required under the condition that `renewalStatus` is `AutoRenewal`.
	RenewalPeriodUnit pulumi.StringPtrInput
	// Automatic renewal status. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`. From version 1.193.0, `renewalStatus` can be modified.
	RenewalStatus pulumi.StringPtrInput
	// The Id of resource group which the Bastionhost Instance belongs. If not set, the resource is created in the default resource group.
	ResourceGroupId pulumi.StringPtrInput
	// security group IDs configured to Bastionhost.
	// **NOTE:** There is a potential diff error because of the order of `securityGroupIds` values indefinite.
	// So, from version 1.160.0, `securityGroupIds` type has been updated as `set` from `list`,
	// and you can use tolist to convert it to a list.
	SecurityGroupIds pulumi.StringArrayInput
	// The storage of Cloud Bastionhost instance. Valid values: 0 to 500. Unit: TB.
	Storage pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// VSwitch ID configured to Bastionhost.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

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

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

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

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

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

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

type InstanceInput

type InstanceInput interface {
	pulumi.Input

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

type InstanceLdapAuthServer added in v3.20.0

type InstanceLdapAuthServer struct {
	// The username of the account that is used for the LDAP server.
	Account string `pulumi:"account"`
	// The Base distinguished name (DN).
	BaseDn string `pulumi:"baseDn"`
	// The field that is used to indicate the email address of a user on the LDAP server.
	EmailMapping *string `pulumi:"emailMapping"`
	// The condition that is used to filter users.
	Filter *string `pulumi:"filter"`
	// Specifies whether to support SSL.
	IsSsl *bool `pulumi:"isSsl"`
	// The field that is used to indicate the logon name of a user on the LDAP server.
	LoginNameMapping *string `pulumi:"loginNameMapping"`
	// The field that is used to indicate the mobile phone number of a user on the LDAP server.
	MobileMapping *string `pulumi:"mobileMapping"`
	// The field that is used to indicate the name of a user on the LDAP server.
	NameMapping *string `pulumi:"nameMapping"`
	// The password of the account that is used for the LDAP server.
	Password string `pulumi:"password"`
	// The port that is used to access the LDAP server.
	Port int `pulumi:"port"`
	// The address of the LDAP server.
	Server string `pulumi:"server"`
	// The address of the secondary LDAP server.
	StandbyServer *string `pulumi:"standbyServer"`
}

type InstanceLdapAuthServerArgs added in v3.20.0

type InstanceLdapAuthServerArgs struct {
	// The username of the account that is used for the LDAP server.
	Account pulumi.StringInput `pulumi:"account"`
	// The Base distinguished name (DN).
	BaseDn pulumi.StringInput `pulumi:"baseDn"`
	// The field that is used to indicate the email address of a user on the LDAP server.
	EmailMapping pulumi.StringPtrInput `pulumi:"emailMapping"`
	// The condition that is used to filter users.
	Filter pulumi.StringPtrInput `pulumi:"filter"`
	// Specifies whether to support SSL.
	IsSsl pulumi.BoolPtrInput `pulumi:"isSsl"`
	// The field that is used to indicate the logon name of a user on the LDAP server.
	LoginNameMapping pulumi.StringPtrInput `pulumi:"loginNameMapping"`
	// The field that is used to indicate the mobile phone number of a user on the LDAP server.
	MobileMapping pulumi.StringPtrInput `pulumi:"mobileMapping"`
	// The field that is used to indicate the name of a user on the LDAP server.
	NameMapping pulumi.StringPtrInput `pulumi:"nameMapping"`
	// The password of the account that is used for the LDAP server.
	Password pulumi.StringInput `pulumi:"password"`
	// The port that is used to access the LDAP server.
	Port pulumi.IntInput `pulumi:"port"`
	// The address of the LDAP server.
	Server pulumi.StringInput `pulumi:"server"`
	// The address of the secondary LDAP server.
	StandbyServer pulumi.StringPtrInput `pulumi:"standbyServer"`
}

func (InstanceLdapAuthServerArgs) ElementType added in v3.20.0

func (InstanceLdapAuthServerArgs) ElementType() reflect.Type

func (InstanceLdapAuthServerArgs) ToInstanceLdapAuthServerOutput added in v3.20.0

func (i InstanceLdapAuthServerArgs) ToInstanceLdapAuthServerOutput() InstanceLdapAuthServerOutput

func (InstanceLdapAuthServerArgs) ToInstanceLdapAuthServerOutputWithContext added in v3.20.0

func (i InstanceLdapAuthServerArgs) ToInstanceLdapAuthServerOutputWithContext(ctx context.Context) InstanceLdapAuthServerOutput

type InstanceLdapAuthServerArray added in v3.20.0

type InstanceLdapAuthServerArray []InstanceLdapAuthServerInput

func (InstanceLdapAuthServerArray) ElementType added in v3.20.0

func (InstanceLdapAuthServerArray) ToInstanceLdapAuthServerArrayOutput added in v3.20.0

func (i InstanceLdapAuthServerArray) ToInstanceLdapAuthServerArrayOutput() InstanceLdapAuthServerArrayOutput

func (InstanceLdapAuthServerArray) ToInstanceLdapAuthServerArrayOutputWithContext added in v3.20.0

func (i InstanceLdapAuthServerArray) ToInstanceLdapAuthServerArrayOutputWithContext(ctx context.Context) InstanceLdapAuthServerArrayOutput

type InstanceLdapAuthServerArrayInput added in v3.20.0

type InstanceLdapAuthServerArrayInput interface {
	pulumi.Input

	ToInstanceLdapAuthServerArrayOutput() InstanceLdapAuthServerArrayOutput
	ToInstanceLdapAuthServerArrayOutputWithContext(context.Context) InstanceLdapAuthServerArrayOutput
}

InstanceLdapAuthServerArrayInput is an input type that accepts InstanceLdapAuthServerArray and InstanceLdapAuthServerArrayOutput values. You can construct a concrete instance of `InstanceLdapAuthServerArrayInput` via:

InstanceLdapAuthServerArray{ InstanceLdapAuthServerArgs{...} }

type InstanceLdapAuthServerArrayOutput added in v3.20.0

type InstanceLdapAuthServerArrayOutput struct{ *pulumi.OutputState }

func (InstanceLdapAuthServerArrayOutput) ElementType added in v3.20.0

func (InstanceLdapAuthServerArrayOutput) Index added in v3.20.0

func (InstanceLdapAuthServerArrayOutput) ToInstanceLdapAuthServerArrayOutput added in v3.20.0

func (o InstanceLdapAuthServerArrayOutput) ToInstanceLdapAuthServerArrayOutput() InstanceLdapAuthServerArrayOutput

func (InstanceLdapAuthServerArrayOutput) ToInstanceLdapAuthServerArrayOutputWithContext added in v3.20.0

func (o InstanceLdapAuthServerArrayOutput) ToInstanceLdapAuthServerArrayOutputWithContext(ctx context.Context) InstanceLdapAuthServerArrayOutput

type InstanceLdapAuthServerInput added in v3.20.0

type InstanceLdapAuthServerInput interface {
	pulumi.Input

	ToInstanceLdapAuthServerOutput() InstanceLdapAuthServerOutput
	ToInstanceLdapAuthServerOutputWithContext(context.Context) InstanceLdapAuthServerOutput
}

InstanceLdapAuthServerInput is an input type that accepts InstanceLdapAuthServerArgs and InstanceLdapAuthServerOutput values. You can construct a concrete instance of `InstanceLdapAuthServerInput` via:

InstanceLdapAuthServerArgs{...}

type InstanceLdapAuthServerOutput added in v3.20.0

type InstanceLdapAuthServerOutput struct{ *pulumi.OutputState }

func (InstanceLdapAuthServerOutput) Account added in v3.20.0

The username of the account that is used for the LDAP server.

func (InstanceLdapAuthServerOutput) BaseDn added in v3.20.0

The Base distinguished name (DN).

func (InstanceLdapAuthServerOutput) ElementType added in v3.20.0

func (InstanceLdapAuthServerOutput) EmailMapping added in v3.20.0

The field that is used to indicate the email address of a user on the LDAP server.

func (InstanceLdapAuthServerOutput) Filter added in v3.20.0

The condition that is used to filter users.

func (InstanceLdapAuthServerOutput) IsSsl added in v3.20.0

Specifies whether to support SSL.

func (InstanceLdapAuthServerOutput) LoginNameMapping added in v3.20.0

The field that is used to indicate the logon name of a user on the LDAP server.

func (InstanceLdapAuthServerOutput) MobileMapping added in v3.20.0

The field that is used to indicate the mobile phone number of a user on the LDAP server.

func (InstanceLdapAuthServerOutput) NameMapping added in v3.20.0

The field that is used to indicate the name of a user on the LDAP server.

func (InstanceLdapAuthServerOutput) Password added in v3.20.0

The password of the account that is used for the LDAP server.

func (InstanceLdapAuthServerOutput) Port added in v3.20.0

The port that is used to access the LDAP server.

func (InstanceLdapAuthServerOutput) Server added in v3.20.0

The address of the LDAP server.

func (InstanceLdapAuthServerOutput) StandbyServer added in v3.20.0

The address of the secondary LDAP server.

func (InstanceLdapAuthServerOutput) ToInstanceLdapAuthServerOutput added in v3.20.0

func (o InstanceLdapAuthServerOutput) ToInstanceLdapAuthServerOutput() InstanceLdapAuthServerOutput

func (InstanceLdapAuthServerOutput) ToInstanceLdapAuthServerOutputWithContext added in v3.20.0

func (o InstanceLdapAuthServerOutput) ToInstanceLdapAuthServerOutputWithContext(ctx context.Context) InstanceLdapAuthServerOutput

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

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

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

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

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

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

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

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

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) AdAuthServers added in v3.27.0

The AD auth server of the Instance. See `adAuthServer` below.

func (InstanceOutput) Bandwidth added in v3.29.0

func (o InstanceOutput) Bandwidth() pulumi.StringOutput

The bandwidth of Cloud Bastionhost instance. If China-Site Account, its valid values: 0 to 150. Unit: Mbit/s. The value must be a multiple of 5. If International-Site Account, its valid values: 0 to 200. Unit: Mbit/s. The value must be a multiple of 10.

func (InstanceOutput) Description added in v3.27.0

func (o InstanceOutput) Description() pulumi.StringOutput

Description of the instance. This name can have a string of 1 to 63 characters.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) EnablePublicAccess added in v3.27.0

func (o InstanceOutput) EnablePublicAccess() pulumi.BoolOutput

Whether to Enable the public internet access to a specified Bastionhost instance. The valid values: `true`, `false`.

func (InstanceOutput) LdapAuthServers added in v3.27.0

The LDAP auth server of the Instance. See `ldapAuthServer` below.

func (InstanceOutput) LicenseCode added in v3.27.0

func (o InstanceOutput) LicenseCode() pulumi.StringOutput

The package type of Cloud Bastionhost instance. You can query more supported types through the [DescribePricingModule](https://help.aliyun.com/document_detail/96469.html).

func (InstanceOutput) Period added in v3.27.0

func (o InstanceOutput) Period() pulumi.IntPtrOutput

Duration for initially producing the instance. Valid values: [1~9], 12, 24, 36. At present, the provider does not support modify "period". > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.

func (InstanceOutput) PlanCode added in v3.29.0

func (o InstanceOutput) PlanCode() pulumi.StringOutput

The plan code of Cloud Bastionhost instance. Valid values:

func (InstanceOutput) PublicWhiteLists added in v3.33.0

func (o InstanceOutput) PublicWhiteLists() pulumi.StringArrayOutput

func (InstanceOutput) RenewPeriod added in v3.29.0

func (o InstanceOutput) RenewPeriod() pulumi.IntPtrOutput

Automatic renewal period. Valid values: `1` to `9`, `12`, `24`, `36`. **NOTE:** The `renewPeriod` is required under the condition that `renewalStatus` is `AutoRenewal`. From version 1.193.0, `renewPeriod` can be modified.

func (InstanceOutput) RenewalPeriodUnit added in v3.29.0

func (o InstanceOutput) RenewalPeriodUnit() pulumi.StringOutput

The unit of the auto-renewal period. Valid values: **NOTE:** The `renewalPeriodUnit` is required under the condition that `renewalStatus` is `AutoRenewal`.

func (InstanceOutput) RenewalStatus added in v3.29.0

func (o InstanceOutput) RenewalStatus() pulumi.StringOutput

Automatic renewal status. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`. From version 1.193.0, `renewalStatus` can be modified.

func (InstanceOutput) ResourceGroupId added in v3.27.0

func (o InstanceOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which the Bastionhost Instance belongs. If not set, the resource is created in the default resource group.

func (InstanceOutput) SecurityGroupIds added in v3.27.0

func (o InstanceOutput) SecurityGroupIds() pulumi.StringArrayOutput

security group IDs configured to Bastionhost. **NOTE:** There is a potential diff error because of the order of `securityGroupIds` values indefinite. So, from version 1.160.0, `securityGroupIds` type has been updated as `set` from `list`, and you can use tolist to convert it to a list.

func (InstanceOutput) Storage added in v3.29.0

func (o InstanceOutput) Storage() pulumi.StringOutput

The storage of Cloud Bastionhost instance. Valid values: 0 to 500. Unit: TB.

func (InstanceOutput) Tags added in v3.27.0

func (o InstanceOutput) Tags() pulumi.MapOutput

A mapping of tags to assign to the resource.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

func (InstanceOutput) VswitchId added in v3.27.0

func (o InstanceOutput) VswitchId() pulumi.StringOutput

VSwitch ID configured to Bastionhost.

type InstanceState

type InstanceState struct {
	// The AD auth server of the Instance. See `adAuthServer` below.
	AdAuthServers InstanceAdAuthServerArrayInput
	// The bandwidth of Cloud Bastionhost instance.
	// If China-Site Account, its valid values: 0 to 150. Unit: Mbit/s. The value must be a multiple of 5.
	// If International-Site Account, its valid values: 0 to 200. Unit: Mbit/s. The value must be a multiple of 10.
	Bandwidth pulumi.StringPtrInput
	// Description of the instance. This name can have a string of 1 to 63 characters.
	Description pulumi.StringPtrInput
	// Whether to Enable the public internet access to a specified Bastionhost instance. The valid values: `true`, `false`.
	EnablePublicAccess pulumi.BoolPtrInput
	// The LDAP auth server of the Instance. See `ldapAuthServer` below.
	LdapAuthServers InstanceLdapAuthServerArrayInput
	// The package type of Cloud Bastionhost instance. You can query more supported types through the [DescribePricingModule](https://help.aliyun.com/document_detail/96469.html).
	LicenseCode pulumi.StringPtrInput
	// Duration for initially producing the instance. Valid values: [1~9], 12, 24, 36. At present, the provider does not support modify "period".
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	Period pulumi.IntPtrInput
	// The plan code of Cloud Bastionhost instance. Valid values:
	PlanCode         pulumi.StringPtrInput
	PublicWhiteLists pulumi.StringArrayInput
	// Automatic renewal period. Valid values: `1` to `9`, `12`, `24`, `36`. **NOTE:** The `renewPeriod` is required under the condition that `renewalStatus` is `AutoRenewal`. From version 1.193.0, `renewPeriod` can be modified.
	RenewPeriod pulumi.IntPtrInput
	// The unit of the auto-renewal period. Valid values:  **NOTE:** The `renewalPeriodUnit` is required under the condition that `renewalStatus` is `AutoRenewal`.
	RenewalPeriodUnit pulumi.StringPtrInput
	// Automatic renewal status. Valid values: `AutoRenewal`, `ManualRenewal`, `NotRenewal`. From version 1.193.0, `renewalStatus` can be modified.
	RenewalStatus pulumi.StringPtrInput
	// The Id of resource group which the Bastionhost Instance belongs. If not set, the resource is created in the default resource group.
	ResourceGroupId pulumi.StringPtrInput
	// security group IDs configured to Bastionhost.
	// **NOTE:** There is a potential diff error because of the order of `securityGroupIds` values indefinite.
	// So, from version 1.160.0, `securityGroupIds` type has been updated as `set` from `list`,
	// and you can use tolist to convert it to a list.
	SecurityGroupIds pulumi.StringArrayInput
	// The storage of Cloud Bastionhost instance. Valid values: 0 to 500. Unit: TB.
	Storage pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// VSwitch ID configured to Bastionhost.
	VswitchId pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Specify the New User's Mailbox.
	Email pulumi.StringPtrOutput `pulumi:"email"`
	// You Want to Query the User the Bastion Host ID of.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile pulumi.StringPtrOutput `pulumi:"mobile"`
	// Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN. Valid Values:
	// * CN: Mainland China (+86)
	// * HK: hong Kong, China (+852)
	// * MO: Macau, China (+853)
	// * TW: Taiwan, China (+886)
	// * RU: Russian (+7)
	// * SG: Singapore (+65)
	// * MY: malaysia (+60)
	// * ID: Indonesia (+62)
	// * DE: Germany (+49)
	// * AU: Australia (+61)
	// * US: United States (+1)
	// * AE: dubai (+971)
	// * JP: Japan (+81) Introducing the Long-Range
	// * GB: United Kingdom (+44)
	// * IN: India (+91)
	// * KR: South Korea (+82)
	// * PH: philippines (+63)
	// * CH: Switzerland (+41)
	// * SE: Sweden (+46)
	MobileCountryCode pulumi.StringOutput `pulumi:"mobileCountryCode"`
	// Specify the New User's Password. Supports up to 128 Characters. Description of the New User as the Source of the Local User That Is, Source Value for Local, this Parameter Is Required.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// Specify the New of the User That Created the Source. Valid Values:
	// * Local: Local User
	// * Ram: Ram User
	// * AD: AD-authenticated User
	// * LDAP: LDAP-authenticated User
	// > **NOTE:** From version 1.199.0, `source` can be set to `AD`, `LDAP`.
	Source pulumi.StringOutput `pulumi:"source"`
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId pulumi.StringPtrOutput `pulumi:"sourceUserId"`
	// The status of the resource. Valid values: `Frozen`, `Normal`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The User ID.
	UserId pulumi.StringOutput `pulumi:"userId"`
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName pulumi.StringOutput `pulumi:"userName"`
}

Provides a Bastion Host User resource.

For information about Bastion Host User and how to use it, see [What is User](https://www.alibabacloud.com/help/en/bastion-host/latest/api-yundun-bastionhost-2019-12-09-createuser).

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf_example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewUser(ctx, "local_user", &bastionhost.UserArgs{
			InstanceId:        defaultInstance.ID(),
			MobileCountryCode: pulumi.String("CN"),
			Mobile:            pulumi.String("13312345678"),
			Password:          pulumi.String("YourPassword-123"),
			Source:            pulumi.String("Local"),
			UserName:          pulumi.String(fmt.Sprintf("%v_local_user", name)),
		})
		if err != nil {
			return err
		}
		user, err := ram.NewUser(ctx, "user", &ram.UserArgs{
			Name:        pulumi.String(fmt.Sprintf("%v_bastionhost_user", name)),
			DisplayName: pulumi.String(fmt.Sprintf("%v_bastionhost_user", name)),
			Mobile:      pulumi.String("86-18688888888"),
			Email:       pulumi.String("hello.uuu@aaa.com"),
			Comments:    pulumi.String("yoyoyo"),
			Force:       pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		defaultGetAccount, err := alicloud.GetAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = bastionhost.NewUser(ctx, "ram_user", &bastionhost.UserArgs{
			InstanceId:   defaultInstance.ID(),
			Source:       pulumi.String("Ram"),
			SourceUserId: pulumi.String(defaultGetAccount.Id),
			UserName:     user.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host User can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/user:User example <instance_id>:<user_id> ```

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 {
	// Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringPtrInput
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName pulumi.StringPtrInput
	// Specify the New User's Mailbox.
	Email pulumi.StringPtrInput
	// You Want to Query the User the Bastion Host ID of.
	InstanceId pulumi.StringInput
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile pulumi.StringPtrInput
	// Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN. Valid Values:
	// * CN: Mainland China (+86)
	// * HK: hong Kong, China (+852)
	// * MO: Macau, China (+853)
	// * TW: Taiwan, China (+886)
	// * RU: Russian (+7)
	// * SG: Singapore (+65)
	// * MY: malaysia (+60)
	// * ID: Indonesia (+62)
	// * DE: Germany (+49)
	// * AU: Australia (+61)
	// * US: United States (+1)
	// * AE: dubai (+971)
	// * JP: Japan (+81) Introducing the Long-Range
	// * GB: United Kingdom (+44)
	// * IN: India (+91)
	// * KR: South Korea (+82)
	// * PH: philippines (+63)
	// * CH: Switzerland (+41)
	// * SE: Sweden (+46)
	MobileCountryCode pulumi.StringPtrInput
	// Specify the New User's Password. Supports up to 128 Characters. Description of the New User as the Source of the Local User That Is, Source Value for Local, this Parameter Is Required.
	Password pulumi.StringPtrInput
	// Specify the New of the User That Created the Source. Valid Values:
	// * Local: Local User
	// * Ram: Ram User
	// * AD: AD-authenticated User
	// * LDAP: LDAP-authenticated User
	// > **NOTE:** From version 1.199.0, `source` can be set to `AD`, `LDAP`.
	Source pulumi.StringInput
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId pulumi.StringPtrInput
	// The status of the resource. Valid values: `Frozen`, `Normal`.
	Status pulumi.StringPtrInput
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName pulumi.StringInput
}

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

type UserAttachment struct {
	pulumi.CustomResourceState

	// Specifies the user group to add the user's bastion host ID of.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Specifies the user group to which you want to add the user ID.
	UserGroupId pulumi.StringOutput `pulumi:"userGroupId"`
	// Specify that you want to add to the policy attached to the user group ID. This includes response parameters in a Json-formatted string supports up to set up 100 USER ID.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Provides a Bastion Host User Attachment resource to add user to one user group.

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultUserGroup, err := bastionhost.NewUserGroup(ctx, "default", &bastionhost.UserGroupArgs{
			InstanceId:    defaultInstance.ID(),
			UserGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		localUser, err := bastionhost.NewUser(ctx, "local_user", &bastionhost.UserArgs{
			InstanceId:        defaultInstance.ID(),
			MobileCountryCode: pulumi.String("CN"),
			Mobile:            pulumi.String("13312345678"),
			Password:          pulumi.String("YourPassword-123"),
			Source:            pulumi.String("Local"),
			UserName:          pulumi.String(fmt.Sprintf("%v_local_user", name)),
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewUserAttachment(ctx, "default", &bastionhost.UserAttachmentArgs{
			InstanceId:  defaultInstance.ID(),
			UserGroupId: defaultUserGroup.UserGroupId,
			UserId:      localUser.UserId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host User Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/userAttachment:UserAttachment example <instance_id>:<user_group_id>:<user_id> ```

func GetUserAttachment added in v3.8.0

func GetUserAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserAttachmentState, opts ...pulumi.ResourceOption) (*UserAttachment, error)

GetUserAttachment gets an existing UserAttachment 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 NewUserAttachment added in v3.8.0

func NewUserAttachment(ctx *pulumi.Context,
	name string, args *UserAttachmentArgs, opts ...pulumi.ResourceOption) (*UserAttachment, error)

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

func (*UserAttachment) ElementType added in v3.8.0

func (*UserAttachment) ElementType() reflect.Type

func (*UserAttachment) ToUserAttachmentOutput added in v3.8.0

func (i *UserAttachment) ToUserAttachmentOutput() UserAttachmentOutput

func (*UserAttachment) ToUserAttachmentOutputWithContext added in v3.8.0

func (i *UserAttachment) ToUserAttachmentOutputWithContext(ctx context.Context) UserAttachmentOutput

type UserAttachmentArgs added in v3.8.0

type UserAttachmentArgs struct {
	// Specifies the user group to add the user's bastion host ID of.
	InstanceId pulumi.StringInput
	// Specifies the user group to which you want to add the user ID.
	UserGroupId pulumi.StringInput
	// Specify that you want to add to the policy attached to the user group ID. This includes response parameters in a Json-formatted string supports up to set up 100 USER ID.
	UserId pulumi.StringInput
}

The set of arguments for constructing a UserAttachment resource.

func (UserAttachmentArgs) ElementType added in v3.8.0

func (UserAttachmentArgs) ElementType() reflect.Type

type UserAttachmentArray added in v3.8.0

type UserAttachmentArray []UserAttachmentInput

func (UserAttachmentArray) ElementType added in v3.8.0

func (UserAttachmentArray) ElementType() reflect.Type

func (UserAttachmentArray) ToUserAttachmentArrayOutput added in v3.8.0

func (i UserAttachmentArray) ToUserAttachmentArrayOutput() UserAttachmentArrayOutput

func (UserAttachmentArray) ToUserAttachmentArrayOutputWithContext added in v3.8.0

func (i UserAttachmentArray) ToUserAttachmentArrayOutputWithContext(ctx context.Context) UserAttachmentArrayOutput

type UserAttachmentArrayInput added in v3.8.0

type UserAttachmentArrayInput interface {
	pulumi.Input

	ToUserAttachmentArrayOutput() UserAttachmentArrayOutput
	ToUserAttachmentArrayOutputWithContext(context.Context) UserAttachmentArrayOutput
}

UserAttachmentArrayInput is an input type that accepts UserAttachmentArray and UserAttachmentArrayOutput values. You can construct a concrete instance of `UserAttachmentArrayInput` via:

UserAttachmentArray{ UserAttachmentArgs{...} }

type UserAttachmentArrayOutput added in v3.8.0

type UserAttachmentArrayOutput struct{ *pulumi.OutputState }

func (UserAttachmentArrayOutput) ElementType added in v3.8.0

func (UserAttachmentArrayOutput) ElementType() reflect.Type

func (UserAttachmentArrayOutput) Index added in v3.8.0

func (UserAttachmentArrayOutput) ToUserAttachmentArrayOutput added in v3.8.0

func (o UserAttachmentArrayOutput) ToUserAttachmentArrayOutput() UserAttachmentArrayOutput

func (UserAttachmentArrayOutput) ToUserAttachmentArrayOutputWithContext added in v3.8.0

func (o UserAttachmentArrayOutput) ToUserAttachmentArrayOutputWithContext(ctx context.Context) UserAttachmentArrayOutput

type UserAttachmentInput added in v3.8.0

type UserAttachmentInput interface {
	pulumi.Input

	ToUserAttachmentOutput() UserAttachmentOutput
	ToUserAttachmentOutputWithContext(ctx context.Context) UserAttachmentOutput
}

type UserAttachmentMap added in v3.8.0

type UserAttachmentMap map[string]UserAttachmentInput

func (UserAttachmentMap) ElementType added in v3.8.0

func (UserAttachmentMap) ElementType() reflect.Type

func (UserAttachmentMap) ToUserAttachmentMapOutput added in v3.8.0

func (i UserAttachmentMap) ToUserAttachmentMapOutput() UserAttachmentMapOutput

func (UserAttachmentMap) ToUserAttachmentMapOutputWithContext added in v3.8.0

func (i UserAttachmentMap) ToUserAttachmentMapOutputWithContext(ctx context.Context) UserAttachmentMapOutput

type UserAttachmentMapInput added in v3.8.0

type UserAttachmentMapInput interface {
	pulumi.Input

	ToUserAttachmentMapOutput() UserAttachmentMapOutput
	ToUserAttachmentMapOutputWithContext(context.Context) UserAttachmentMapOutput
}

UserAttachmentMapInput is an input type that accepts UserAttachmentMap and UserAttachmentMapOutput values. You can construct a concrete instance of `UserAttachmentMapInput` via:

UserAttachmentMap{ "key": UserAttachmentArgs{...} }

type UserAttachmentMapOutput added in v3.8.0

type UserAttachmentMapOutput struct{ *pulumi.OutputState }

func (UserAttachmentMapOutput) ElementType added in v3.8.0

func (UserAttachmentMapOutput) ElementType() reflect.Type

func (UserAttachmentMapOutput) MapIndex added in v3.8.0

func (UserAttachmentMapOutput) ToUserAttachmentMapOutput added in v3.8.0

func (o UserAttachmentMapOutput) ToUserAttachmentMapOutput() UserAttachmentMapOutput

func (UserAttachmentMapOutput) ToUserAttachmentMapOutputWithContext added in v3.8.0

func (o UserAttachmentMapOutput) ToUserAttachmentMapOutputWithContext(ctx context.Context) UserAttachmentMapOutput

type UserAttachmentOutput added in v3.8.0

type UserAttachmentOutput struct{ *pulumi.OutputState }

func (UserAttachmentOutput) ElementType added in v3.8.0

func (UserAttachmentOutput) ElementType() reflect.Type

func (UserAttachmentOutput) InstanceId added in v3.27.0

func (o UserAttachmentOutput) InstanceId() pulumi.StringOutput

Specifies the user group to add the user's bastion host ID of.

func (UserAttachmentOutput) ToUserAttachmentOutput added in v3.8.0

func (o UserAttachmentOutput) ToUserAttachmentOutput() UserAttachmentOutput

func (UserAttachmentOutput) ToUserAttachmentOutputWithContext added in v3.8.0

func (o UserAttachmentOutput) ToUserAttachmentOutputWithContext(ctx context.Context) UserAttachmentOutput

func (UserAttachmentOutput) UserGroupId added in v3.27.0

func (o UserAttachmentOutput) UserGroupId() pulumi.StringOutput

Specifies the user group to which you want to add the user ID.

func (UserAttachmentOutput) UserId added in v3.27.0

Specify that you want to add to the policy attached to the user group ID. This includes response parameters in a Json-formatted string supports up to set up 100 USER ID.

type UserAttachmentState added in v3.8.0

type UserAttachmentState struct {
	// Specifies the user group to add the user's bastion host ID of.
	InstanceId pulumi.StringPtrInput
	// Specifies the user group to which you want to add the user ID.
	UserGroupId pulumi.StringPtrInput
	// Specify that you want to add to the policy attached to the user group ID. This includes response parameters in a Json-formatted string supports up to set up 100 USER ID.
	UserId pulumi.StringPtrInput
}

func (UserAttachmentState) ElementType added in v3.8.0

func (UserAttachmentState) ElementType() reflect.Type

type UserGroup

type UserGroup struct {
	pulumi.CustomResourceState

	// Specify the New Group of Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringPtrOutput `pulumi:"comment"`
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The User Group self ID.
	UserGroupId pulumi.StringOutput `pulumi:"userGroupId"`
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName pulumi.StringOutput `pulumi:"userGroupName"`
}

Provides a Bastion Host User Group resource.

For information about Bastion Host User Group and how to use it, see [What is User Group](https://www.alibabacloud.com/help/doc-detail/204596.htm).

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/bastionhost"
"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"
"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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("^default-NODELETING$"),
			CidrBlock: pulumi.StringRef("10.4.0.0/16"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			CidrBlock: pulumi.StringRef("10.4.0.0/24"),
			VpcId:     pulumi.StringRef(defaultGetNetworks.Ids[0]),
			ZoneId:    pulumi.StringRef(_default.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			VpcId: pulumi.String(defaultGetNetworks.Ids[0]),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := bastionhost.NewInstance(ctx, "default", &bastionhost.InstanceArgs{
			Description: pulumi.String(name),
			LicenseCode: pulumi.String("bhah_ent_50_asset"),
			PlanCode:    pulumi.String("cloudbastion"),
			Storage:     pulumi.String("5"),
			Bandwidth:   pulumi.String("5"),
			Period:      pulumi.Int(1),
			VswitchId:   pulumi.String(defaultGetSwitches.Ids[0]),
			SecurityGroupIds: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = bastionhost.NewUserGroup(ctx, "default", &bastionhost.UserGroupArgs{
			InstanceId:    defaultInstance.ID(),
			UserGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Bastion Host User Group can be imported using the id, e.g.

```sh $ pulumi import alicloud:bastionhost/userGroup:UserGroup example <instance_id>:<user_group_id> ```

func GetUserGroup

func GetUserGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserGroupState, opts ...pulumi.ResourceOption) (*UserGroup, error)

GetUserGroup gets an existing UserGroup 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 NewUserGroup

func NewUserGroup(ctx *pulumi.Context,
	name string, args *UserGroupArgs, opts ...pulumi.ResourceOption) (*UserGroup, error)

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

func (*UserGroup) ElementType

func (*UserGroup) ElementType() reflect.Type

func (*UserGroup) ToUserGroupOutput

func (i *UserGroup) ToUserGroupOutput() UserGroupOutput

func (*UserGroup) ToUserGroupOutputWithContext

func (i *UserGroup) ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput

type UserGroupArgs

type UserGroupArgs struct {
	// Specify the New Group of Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringPtrInput
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId pulumi.StringInput
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName pulumi.StringInput
}

The set of arguments for constructing a UserGroup resource.

func (UserGroupArgs) ElementType

func (UserGroupArgs) ElementType() reflect.Type

type UserGroupArray

type UserGroupArray []UserGroupInput

func (UserGroupArray) ElementType

func (UserGroupArray) ElementType() reflect.Type

func (UserGroupArray) ToUserGroupArrayOutput

func (i UserGroupArray) ToUserGroupArrayOutput() UserGroupArrayOutput

func (UserGroupArray) ToUserGroupArrayOutputWithContext

func (i UserGroupArray) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput

type UserGroupArrayInput

type UserGroupArrayInput interface {
	pulumi.Input

	ToUserGroupArrayOutput() UserGroupArrayOutput
	ToUserGroupArrayOutputWithContext(context.Context) UserGroupArrayOutput
}

UserGroupArrayInput is an input type that accepts UserGroupArray and UserGroupArrayOutput values. You can construct a concrete instance of `UserGroupArrayInput` via:

UserGroupArray{ UserGroupArgs{...} }

type UserGroupArrayOutput

type UserGroupArrayOutput struct{ *pulumi.OutputState }

func (UserGroupArrayOutput) ElementType

func (UserGroupArrayOutput) ElementType() reflect.Type

func (UserGroupArrayOutput) Index

func (UserGroupArrayOutput) ToUserGroupArrayOutput

func (o UserGroupArrayOutput) ToUserGroupArrayOutput() UserGroupArrayOutput

func (UserGroupArrayOutput) ToUserGroupArrayOutputWithContext

func (o UserGroupArrayOutput) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput

type UserGroupInput

type UserGroupInput interface {
	pulumi.Input

	ToUserGroupOutput() UserGroupOutput
	ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput
}

type UserGroupMap

type UserGroupMap map[string]UserGroupInput

func (UserGroupMap) ElementType

func (UserGroupMap) ElementType() reflect.Type

func (UserGroupMap) ToUserGroupMapOutput

func (i UserGroupMap) ToUserGroupMapOutput() UserGroupMapOutput

func (UserGroupMap) ToUserGroupMapOutputWithContext

func (i UserGroupMap) ToUserGroupMapOutputWithContext(ctx context.Context) UserGroupMapOutput

type UserGroupMapInput

type UserGroupMapInput interface {
	pulumi.Input

	ToUserGroupMapOutput() UserGroupMapOutput
	ToUserGroupMapOutputWithContext(context.Context) UserGroupMapOutput
}

UserGroupMapInput is an input type that accepts UserGroupMap and UserGroupMapOutput values. You can construct a concrete instance of `UserGroupMapInput` via:

UserGroupMap{ "key": UserGroupArgs{...} }

type UserGroupMapOutput

type UserGroupMapOutput struct{ *pulumi.OutputState }

func (UserGroupMapOutput) ElementType

func (UserGroupMapOutput) ElementType() reflect.Type

func (UserGroupMapOutput) MapIndex

func (UserGroupMapOutput) ToUserGroupMapOutput

func (o UserGroupMapOutput) ToUserGroupMapOutput() UserGroupMapOutput

func (UserGroupMapOutput) ToUserGroupMapOutputWithContext

func (o UserGroupMapOutput) ToUserGroupMapOutputWithContext(ctx context.Context) UserGroupMapOutput

type UserGroupOutput

type UserGroupOutput struct{ *pulumi.OutputState }

func (UserGroupOutput) Comment added in v3.27.0

Specify the New Group of Remark Information. Supports up to 500 Characters.

func (UserGroupOutput) ElementType

func (UserGroupOutput) ElementType() reflect.Type

func (UserGroupOutput) InstanceId added in v3.27.0

func (o UserGroupOutput) InstanceId() pulumi.StringOutput

Specify the New Group of the Bastion Host of Instance Id.

func (UserGroupOutput) ToUserGroupOutput

func (o UserGroupOutput) ToUserGroupOutput() UserGroupOutput

func (UserGroupOutput) ToUserGroupOutputWithContext

func (o UserGroupOutput) ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput

func (UserGroupOutput) UserGroupId added in v3.27.0

func (o UserGroupOutput) UserGroupId() pulumi.StringOutput

The User Group self ID.

func (UserGroupOutput) UserGroupName added in v3.27.0

func (o UserGroupOutput) UserGroupName() pulumi.StringOutput

Specify the New Group Name. Supports up to 128 Characters.

type UserGroupState

type UserGroupState struct {
	// Specify the New Group of Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringPtrInput
	// Specify the New Group of the Bastion Host of Instance Id.
	InstanceId pulumi.StringPtrInput
	// The User Group self ID.
	UserGroupId pulumi.StringPtrInput
	// Specify the New Group Name. Supports up to 128 Characters.
	UserGroupName pulumi.StringPtrInput
}

func (UserGroupState) ElementType

func (UserGroupState) ElementType() reflect.Type

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

func (o UserOutput) Comment() pulumi.StringPtrOutput

Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.

func (UserOutput) DisplayName added in v3.27.0

func (o UserOutput) DisplayName() pulumi.StringOutput

Specify the New Created the User's Display Name. Supports up to 128 Characters.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Email added in v3.27.0

func (o UserOutput) Email() pulumi.StringPtrOutput

Specify the New User's Mailbox.

func (UserOutput) InstanceId added in v3.27.0

func (o UserOutput) InstanceId() pulumi.StringOutput

You Want to Query the User the Bastion Host ID of.

func (UserOutput) Mobile added in v3.27.0

func (o UserOutput) Mobile() pulumi.StringPtrOutput

Specify the New of the User That Created a Different Mobile Phone Number from Your.

func (UserOutput) MobileCountryCode added in v3.27.0

func (o UserOutput) MobileCountryCode() pulumi.StringOutput

Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN. Valid Values: * CN: Mainland China (+86) * HK: hong Kong, China (+852) * MO: Macau, China (+853) * TW: Taiwan, China (+886) * RU: Russian (+7) * SG: Singapore (+65) * MY: malaysia (+60) * ID: Indonesia (+62) * DE: Germany (+49) * AU: Australia (+61) * US: United States (+1) * AE: dubai (+971) * JP: Japan (+81) Introducing the Long-Range * GB: United Kingdom (+44) * IN: India (+91) * KR: South Korea (+82) * PH: philippines (+63) * CH: Switzerland (+41) * SE: Sweden (+46)

func (UserOutput) Password added in v3.27.0

func (o UserOutput) Password() pulumi.StringPtrOutput

Specify the New User's Password. Supports up to 128 Characters. Description of the New User as the Source of the Local User That Is, Source Value for Local, this Parameter Is Required.

func (UserOutput) Source added in v3.27.0

func (o UserOutput) Source() pulumi.StringOutput

Specify the New of the User That Created the Source. Valid Values: * Local: Local User * Ram: Ram User * AD: AD-authenticated User * LDAP: LDAP-authenticated User > **NOTE:** From version 1.199.0, `source` can be set to `AD`, `LDAP`.

func (UserOutput) SourceUserId added in v3.27.0

func (o UserOutput) SourceUserId() pulumi.StringPtrOutput

Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.

func (UserOutput) Status added in v3.27.0

func (o UserOutput) Status() pulumi.StringOutput

The status of the resource. Valid values: `Frozen`, `Normal`.

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

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

func (UserOutput) UserId added in v3.27.0

func (o UserOutput) UserId() pulumi.StringOutput

The User ID.

func (UserOutput) UserName added in v3.27.0

func (o UserOutput) UserName() pulumi.StringOutput

Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.

type UserState

type UserState struct {
	// Specify the New of the User That Created the Remark Information. Supports up to 500 Characters.
	Comment pulumi.StringPtrInput
	// Specify the New Created the User's Display Name. Supports up to 128 Characters.
	DisplayName pulumi.StringPtrInput
	// Specify the New User's Mailbox.
	Email pulumi.StringPtrInput
	// You Want to Query the User the Bastion Host ID of.
	InstanceId pulumi.StringPtrInput
	// Specify the New of the User That Created a Different Mobile Phone Number from Your.
	Mobile pulumi.StringPtrInput
	// Specify the New Create User Mobile Phone Number of the International Domain Name. The Default Value Is the CN. Valid Values:
	// * CN: Mainland China (+86)
	// * HK: hong Kong, China (+852)
	// * MO: Macau, China (+853)
	// * TW: Taiwan, China (+886)
	// * RU: Russian (+7)
	// * SG: Singapore (+65)
	// * MY: malaysia (+60)
	// * ID: Indonesia (+62)
	// * DE: Germany (+49)
	// * AU: Australia (+61)
	// * US: United States (+1)
	// * AE: dubai (+971)
	// * JP: Japan (+81) Introducing the Long-Range
	// * GB: United Kingdom (+44)
	// * IN: India (+91)
	// * KR: South Korea (+82)
	// * PH: philippines (+63)
	// * CH: Switzerland (+41)
	// * SE: Sweden (+46)
	MobileCountryCode pulumi.StringPtrInput
	// Specify the New User's Password. Supports up to 128 Characters. Description of the New User as the Source of the Local User That Is, Source Value for Local, this Parameter Is Required.
	Password pulumi.StringPtrInput
	// Specify the New of the User That Created the Source. Valid Values:
	// * Local: Local User
	// * Ram: Ram User
	// * AD: AD-authenticated User
	// * LDAP: LDAP-authenticated User
	// > **NOTE:** From version 1.199.0, `source` can be set to `AD`, `LDAP`.
	Source pulumi.StringPtrInput
	// Specify the Newly Created User Is Uniquely Identified. Indicates That the Parameter Is a Bastion Host Corresponding to the User with the Ram User's Unique Identifier. The Newly Created User Source Grant Permission to a RAM User (That Is, Source Used as a Ram), this Parameter Is Required. You Can Call Access Control of Listusers Interface from the Return Data Userid to Obtain the Parameters.
	SourceUserId pulumi.StringPtrInput
	// The status of the resource. Valid values: `Frozen`, `Normal`.
	Status pulumi.StringPtrInput
	// The User ID.
	UserId pulumi.StringPtrInput
	// Specify the New User Name. This Parameter Is Only by Letters, Lowercase Letters, Numbers, and Underscores (_), Supports up to 128 Characters.
	UserName pulumi.StringPtrInput
}

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