iam

package
v0.0.8 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.2

func PkgVersion() (semver.Version, error)

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

Types

type AccessKey

type AccessKey struct {
	pulumi.CustomResourceState

	// The time when the access key was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies the description of the access key.
	Description     pulumi.StringPtrOutput `pulumi:"description"`
	EncryptedSecret pulumi.StringOutput    `pulumi:"encryptedSecret"`
	// The fingerprint of the PGP key used to encrypt the secret
	KeyFingerprint pulumi.StringOutput `pulumi:"keyFingerprint"`
	// Either a base-64 encoded PGP public key, or a keybase username in the form
	// `keybase:some_person_that_exists`. Changing this creates a new resource.
	PgpKey pulumi.StringPtrOutput `pulumi:"pgpKey"`
	// The access secret key. Setting the value only when writing to `secretFile` failed.
	Secret pulumi.StringOutput `pulumi:"secret"`
	// Specifies the file name that can save access key and access secret key.
	// Defaults to *./credentials-{{user name}}.csv*. Changing this creates a new resource.
	SecretFile pulumi.StringPtrOutput `pulumi:"secretFile"`
	// Specifies the status of the access key. It must be *active* or *inactive*. Default value
	// is *active*.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the ID of the user who is requesting to create an access key.
	// Changing this creates a new resource.
	UserId pulumi.StringOutput `pulumi:"userId"`
	// The name of IAM user.
	UserName pulumi.StringOutput `pulumi:"userName"`
}

Manages a permanent Access Key resource within HuaweiCloud IAM service.

> **NOTE:** You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		user1, err := Iam.NewUser(ctx, "user1", &Iam.UserArgs{
			Description: pulumi.String("A user"),
			Password:    pulumi.String("password123!"),
		})
		if err != nil {
			return err
		}
		_, err = Iam.NewAccessKey(ctx, "key1", &Iam.AccessKeyArgs{
			UserId: user1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetAccessKey

func GetAccessKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessKeyState, opts ...pulumi.ResourceOption) (*AccessKey, error)

GetAccessKey gets an existing AccessKey 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 NewAccessKey

func NewAccessKey(ctx *pulumi.Context,
	name string, args *AccessKeyArgs, opts ...pulumi.ResourceOption) (*AccessKey, error)

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

func (*AccessKey) ElementType

func (*AccessKey) ElementType() reflect.Type

func (*AccessKey) ToAccessKeyOutput

func (i *AccessKey) ToAccessKeyOutput() AccessKeyOutput

func (*AccessKey) ToAccessKeyOutputWithContext

func (i *AccessKey) ToAccessKeyOutputWithContext(ctx context.Context) AccessKeyOutput

type AccessKeyArgs

type AccessKeyArgs struct {
	// Specifies the description of the access key.
	Description pulumi.StringPtrInput
	// Either a base-64 encoded PGP public key, or a keybase username in the form
	// `keybase:some_person_that_exists`. Changing this creates a new resource.
	PgpKey pulumi.StringPtrInput
	// Specifies the file name that can save access key and access secret key.
	// Defaults to *./credentials-{{user name}}.csv*. Changing this creates a new resource.
	SecretFile pulumi.StringPtrInput
	// Specifies the status of the access key. It must be *active* or *inactive*. Default value
	// is *active*.
	Status pulumi.StringPtrInput
	// Specifies the ID of the user who is requesting to create an access key.
	// Changing this creates a new resource.
	UserId pulumi.StringInput
}

The set of arguments for constructing a AccessKey resource.

func (AccessKeyArgs) ElementType

func (AccessKeyArgs) ElementType() reflect.Type

type AccessKeyArray

type AccessKeyArray []AccessKeyInput

func (AccessKeyArray) ElementType

func (AccessKeyArray) ElementType() reflect.Type

func (AccessKeyArray) ToAccessKeyArrayOutput

func (i AccessKeyArray) ToAccessKeyArrayOutput() AccessKeyArrayOutput

func (AccessKeyArray) ToAccessKeyArrayOutputWithContext

func (i AccessKeyArray) ToAccessKeyArrayOutputWithContext(ctx context.Context) AccessKeyArrayOutput

type AccessKeyArrayInput

type AccessKeyArrayInput interface {
	pulumi.Input

	ToAccessKeyArrayOutput() AccessKeyArrayOutput
	ToAccessKeyArrayOutputWithContext(context.Context) AccessKeyArrayOutput
}

AccessKeyArrayInput is an input type that accepts AccessKeyArray and AccessKeyArrayOutput values. You can construct a concrete instance of `AccessKeyArrayInput` via:

AccessKeyArray{ AccessKeyArgs{...} }

type AccessKeyArrayOutput

type AccessKeyArrayOutput struct{ *pulumi.OutputState }

func (AccessKeyArrayOutput) ElementType

func (AccessKeyArrayOutput) ElementType() reflect.Type

func (AccessKeyArrayOutput) Index

func (AccessKeyArrayOutput) ToAccessKeyArrayOutput

func (o AccessKeyArrayOutput) ToAccessKeyArrayOutput() AccessKeyArrayOutput

func (AccessKeyArrayOutput) ToAccessKeyArrayOutputWithContext

func (o AccessKeyArrayOutput) ToAccessKeyArrayOutputWithContext(ctx context.Context) AccessKeyArrayOutput

type AccessKeyInput

type AccessKeyInput interface {
	pulumi.Input

	ToAccessKeyOutput() AccessKeyOutput
	ToAccessKeyOutputWithContext(ctx context.Context) AccessKeyOutput
}

type AccessKeyMap

type AccessKeyMap map[string]AccessKeyInput

func (AccessKeyMap) ElementType

func (AccessKeyMap) ElementType() reflect.Type

func (AccessKeyMap) ToAccessKeyMapOutput

func (i AccessKeyMap) ToAccessKeyMapOutput() AccessKeyMapOutput

func (AccessKeyMap) ToAccessKeyMapOutputWithContext

func (i AccessKeyMap) ToAccessKeyMapOutputWithContext(ctx context.Context) AccessKeyMapOutput

type AccessKeyMapInput

type AccessKeyMapInput interface {
	pulumi.Input

	ToAccessKeyMapOutput() AccessKeyMapOutput
	ToAccessKeyMapOutputWithContext(context.Context) AccessKeyMapOutput
}

AccessKeyMapInput is an input type that accepts AccessKeyMap and AccessKeyMapOutput values. You can construct a concrete instance of `AccessKeyMapInput` via:

AccessKeyMap{ "key": AccessKeyArgs{...} }

type AccessKeyMapOutput

type AccessKeyMapOutput struct{ *pulumi.OutputState }

func (AccessKeyMapOutput) ElementType

func (AccessKeyMapOutput) ElementType() reflect.Type

func (AccessKeyMapOutput) MapIndex

func (AccessKeyMapOutput) ToAccessKeyMapOutput

func (o AccessKeyMapOutput) ToAccessKeyMapOutput() AccessKeyMapOutput

func (AccessKeyMapOutput) ToAccessKeyMapOutputWithContext

func (o AccessKeyMapOutput) ToAccessKeyMapOutputWithContext(ctx context.Context) AccessKeyMapOutput

type AccessKeyOutput

type AccessKeyOutput struct{ *pulumi.OutputState }

func (AccessKeyOutput) CreateTime

func (o AccessKeyOutput) CreateTime() pulumi.StringOutput

The time when the access key was created.

func (AccessKeyOutput) Description

func (o AccessKeyOutput) Description() pulumi.StringPtrOutput

Specifies the description of the access key.

func (AccessKeyOutput) ElementType

func (AccessKeyOutput) ElementType() reflect.Type

func (AccessKeyOutput) EncryptedSecret

func (o AccessKeyOutput) EncryptedSecret() pulumi.StringOutput

func (AccessKeyOutput) KeyFingerprint

func (o AccessKeyOutput) KeyFingerprint() pulumi.StringOutput

The fingerprint of the PGP key used to encrypt the secret

func (AccessKeyOutput) PgpKey

Either a base-64 encoded PGP public key, or a keybase username in the form `keybase:some_person_that_exists`. Changing this creates a new resource.

func (AccessKeyOutput) Secret

func (o AccessKeyOutput) Secret() pulumi.StringOutput

The access secret key. Setting the value only when writing to `secretFile` failed.

func (AccessKeyOutput) SecretFile

func (o AccessKeyOutput) SecretFile() pulumi.StringPtrOutput

Specifies the file name that can save access key and access secret key. Defaults to *./credentials-{{user name}}.csv*. Changing this creates a new resource.

func (AccessKeyOutput) Status

func (o AccessKeyOutput) Status() pulumi.StringOutput

Specifies the status of the access key. It must be *active* or *inactive*. Default value is *active*.

func (AccessKeyOutput) ToAccessKeyOutput

func (o AccessKeyOutput) ToAccessKeyOutput() AccessKeyOutput

func (AccessKeyOutput) ToAccessKeyOutputWithContext

func (o AccessKeyOutput) ToAccessKeyOutputWithContext(ctx context.Context) AccessKeyOutput

func (AccessKeyOutput) UserId

func (o AccessKeyOutput) UserId() pulumi.StringOutput

Specifies the ID of the user who is requesting to create an access key. Changing this creates a new resource.

func (AccessKeyOutput) UserName

func (o AccessKeyOutput) UserName() pulumi.StringOutput

The name of IAM user.

type AccessKeyState

type AccessKeyState struct {
	// The time when the access key was created.
	CreateTime pulumi.StringPtrInput
	// Specifies the description of the access key.
	Description     pulumi.StringPtrInput
	EncryptedSecret pulumi.StringPtrInput
	// The fingerprint of the PGP key used to encrypt the secret
	KeyFingerprint pulumi.StringPtrInput
	// Either a base-64 encoded PGP public key, or a keybase username in the form
	// `keybase:some_person_that_exists`. Changing this creates a new resource.
	PgpKey pulumi.StringPtrInput
	// The access secret key. Setting the value only when writing to `secretFile` failed.
	Secret pulumi.StringPtrInput
	// Specifies the file name that can save access key and access secret key.
	// Defaults to *./credentials-{{user name}}.csv*. Changing this creates a new resource.
	SecretFile pulumi.StringPtrInput
	// Specifies the status of the access key. It must be *active* or *inactive*. Default value
	// is *active*.
	Status pulumi.StringPtrInput
	// Specifies the ID of the user who is requesting to create an access key.
	// Changing this creates a new resource.
	UserId pulumi.StringPtrInput
	// The name of IAM user.
	UserName pulumi.StringPtrInput
}

func (AccessKeyState) ElementType

func (AccessKeyState) ElementType() reflect.Type

type Acl

type Acl struct {
	pulumi.CustomResourceState

	// Specifies the IPv4 CIDR blocks from which console access or api access is allowed.
	// The `ipCidrs` cannot repeat. The structure is documented below.
	IpCidrs AclIpCidrArrayOutput `pulumi:"ipCidrs"`
	// Specifies the IP address ranges from which console access or api access is allowed.
	// The `ipRanges` cannot repeat. The structure is documented below.
	IpRanges AclIpRangeArrayOutput `pulumi:"ipRanges"`
	// Specifies the ACL is created through the Console or API. valid value are '
	// console' and 'api'. Changing this parameter will create a new ACL.
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages a ACL resource within HuaweiCloud IAM service. The ACL allowing user access only from specified IP address ranges and IPv4 CIDR blocks. The ACL take effect for IAM users under the Domain account rather than the account itself.

Note: You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewAcl(ctx, "acl", &Iam.AclArgs{
			IpCidrs: iam.AclIpCidrArray{
				&iam.AclIpCidrArgs{
					Cidr:        pulumi.String("159.138.39.192/32"),
					Description: pulumi.String("This is a test ip address"),
				},
			},
			IpRanges: iam.AclIpRangeArray{
				&iam.AclIpRangeArgs{
					Description: pulumi.String("This is a test ip range"),
					Range:       pulumi.String("0.0.0.0-255.255.255.0"),
				},
			},
			Type: pulumi.String("console"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetAcl

func GetAcl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AclState, opts ...pulumi.ResourceOption) (*Acl, error)

GetAcl gets an existing Acl 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 NewAcl

func NewAcl(ctx *pulumi.Context,
	name string, args *AclArgs, opts ...pulumi.ResourceOption) (*Acl, error)

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

func (*Acl) ElementType

func (*Acl) ElementType() reflect.Type

func (*Acl) ToAclOutput

func (i *Acl) ToAclOutput() AclOutput

func (*Acl) ToAclOutputWithContext

func (i *Acl) ToAclOutputWithContext(ctx context.Context) AclOutput

type AclArgs

type AclArgs struct {
	// Specifies the IPv4 CIDR blocks from which console access or api access is allowed.
	// The `ipCidrs` cannot repeat. The structure is documented below.
	IpCidrs AclIpCidrArrayInput
	// Specifies the IP address ranges from which console access or api access is allowed.
	// The `ipRanges` cannot repeat. The structure is documented below.
	IpRanges AclIpRangeArrayInput
	// Specifies the ACL is created through the Console or API. valid value are '
	// console' and 'api'. Changing this parameter will create a new ACL.
	Type pulumi.StringInput
}

The set of arguments for constructing a Acl resource.

func (AclArgs) ElementType

func (AclArgs) ElementType() reflect.Type

type AclArray

type AclArray []AclInput

func (AclArray) ElementType

func (AclArray) ElementType() reflect.Type

func (AclArray) ToAclArrayOutput

func (i AclArray) ToAclArrayOutput() AclArrayOutput

func (AclArray) ToAclArrayOutputWithContext

func (i AclArray) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclArrayInput

type AclArrayInput interface {
	pulumi.Input

	ToAclArrayOutput() AclArrayOutput
	ToAclArrayOutputWithContext(context.Context) AclArrayOutput
}

AclArrayInput is an input type that accepts AclArray and AclArrayOutput values. You can construct a concrete instance of `AclArrayInput` via:

AclArray{ AclArgs{...} }

type AclArrayOutput

type AclArrayOutput struct{ *pulumi.OutputState }

func (AclArrayOutput) ElementType

func (AclArrayOutput) ElementType() reflect.Type

func (AclArrayOutput) Index

func (AclArrayOutput) ToAclArrayOutput

func (o AclArrayOutput) ToAclArrayOutput() AclArrayOutput

func (AclArrayOutput) ToAclArrayOutputWithContext

func (o AclArrayOutput) ToAclArrayOutputWithContext(ctx context.Context) AclArrayOutput

type AclInput

type AclInput interface {
	pulumi.Input

	ToAclOutput() AclOutput
	ToAclOutputWithContext(ctx context.Context) AclOutput
}

type AclIpCidr

type AclIpCidr struct {
	// Specifies the IPv4 CIDR block, for example, **192.168.0.0/24**.
	Cidr string `pulumi:"cidr"`
	// Specifies a description about an IP address range. This parameter can contain a
	// maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.
	Description *string `pulumi:"description"`
}

type AclIpCidrArgs

type AclIpCidrArgs struct {
	// Specifies the IPv4 CIDR block, for example, **192.168.0.0/24**.
	Cidr pulumi.StringInput `pulumi:"cidr"`
	// Specifies a description about an IP address range. This parameter can contain a
	// maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.
	Description pulumi.StringPtrInput `pulumi:"description"`
}

func (AclIpCidrArgs) ElementType

func (AclIpCidrArgs) ElementType() reflect.Type

func (AclIpCidrArgs) ToAclIpCidrOutput

func (i AclIpCidrArgs) ToAclIpCidrOutput() AclIpCidrOutput

func (AclIpCidrArgs) ToAclIpCidrOutputWithContext

func (i AclIpCidrArgs) ToAclIpCidrOutputWithContext(ctx context.Context) AclIpCidrOutput

type AclIpCidrArray

type AclIpCidrArray []AclIpCidrInput

func (AclIpCidrArray) ElementType

func (AclIpCidrArray) ElementType() reflect.Type

func (AclIpCidrArray) ToAclIpCidrArrayOutput

func (i AclIpCidrArray) ToAclIpCidrArrayOutput() AclIpCidrArrayOutput

func (AclIpCidrArray) ToAclIpCidrArrayOutputWithContext

func (i AclIpCidrArray) ToAclIpCidrArrayOutputWithContext(ctx context.Context) AclIpCidrArrayOutput

type AclIpCidrArrayInput

type AclIpCidrArrayInput interface {
	pulumi.Input

	ToAclIpCidrArrayOutput() AclIpCidrArrayOutput
	ToAclIpCidrArrayOutputWithContext(context.Context) AclIpCidrArrayOutput
}

AclIpCidrArrayInput is an input type that accepts AclIpCidrArray and AclIpCidrArrayOutput values. You can construct a concrete instance of `AclIpCidrArrayInput` via:

AclIpCidrArray{ AclIpCidrArgs{...} }

type AclIpCidrArrayOutput

type AclIpCidrArrayOutput struct{ *pulumi.OutputState }

func (AclIpCidrArrayOutput) ElementType

func (AclIpCidrArrayOutput) ElementType() reflect.Type

func (AclIpCidrArrayOutput) Index

func (AclIpCidrArrayOutput) ToAclIpCidrArrayOutput

func (o AclIpCidrArrayOutput) ToAclIpCidrArrayOutput() AclIpCidrArrayOutput

func (AclIpCidrArrayOutput) ToAclIpCidrArrayOutputWithContext

func (o AclIpCidrArrayOutput) ToAclIpCidrArrayOutputWithContext(ctx context.Context) AclIpCidrArrayOutput

type AclIpCidrInput

type AclIpCidrInput interface {
	pulumi.Input

	ToAclIpCidrOutput() AclIpCidrOutput
	ToAclIpCidrOutputWithContext(context.Context) AclIpCidrOutput
}

AclIpCidrInput is an input type that accepts AclIpCidrArgs and AclIpCidrOutput values. You can construct a concrete instance of `AclIpCidrInput` via:

AclIpCidrArgs{...}

type AclIpCidrOutput

type AclIpCidrOutput struct{ *pulumi.OutputState }

func (AclIpCidrOutput) Cidr

Specifies the IPv4 CIDR block, for example, **192.168.0.0/24**.

func (AclIpCidrOutput) Description

func (o AclIpCidrOutput) Description() pulumi.StringPtrOutput

Specifies a description about an IP address range. This parameter can contain a maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.

func (AclIpCidrOutput) ElementType

func (AclIpCidrOutput) ElementType() reflect.Type

func (AclIpCidrOutput) ToAclIpCidrOutput

func (o AclIpCidrOutput) ToAclIpCidrOutput() AclIpCidrOutput

func (AclIpCidrOutput) ToAclIpCidrOutputWithContext

func (o AclIpCidrOutput) ToAclIpCidrOutputWithContext(ctx context.Context) AclIpCidrOutput

type AclIpRange

type AclIpRange struct {
	// Specifies a description about an IP address range. This parameter can contain a
	// maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.
	Description *string `pulumi:"description"`
	// Specifies the Ip address range, for example, **0.0.0.0-255.255.255.0**.
	Range string `pulumi:"range"`
}

type AclIpRangeArgs

type AclIpRangeArgs struct {
	// Specifies a description about an IP address range. This parameter can contain a
	// maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the Ip address range, for example, **0.0.0.0-255.255.255.0**.
	Range pulumi.StringInput `pulumi:"range"`
}

func (AclIpRangeArgs) ElementType

func (AclIpRangeArgs) ElementType() reflect.Type

func (AclIpRangeArgs) ToAclIpRangeOutput

func (i AclIpRangeArgs) ToAclIpRangeOutput() AclIpRangeOutput

func (AclIpRangeArgs) ToAclIpRangeOutputWithContext

func (i AclIpRangeArgs) ToAclIpRangeOutputWithContext(ctx context.Context) AclIpRangeOutput

type AclIpRangeArray

type AclIpRangeArray []AclIpRangeInput

func (AclIpRangeArray) ElementType

func (AclIpRangeArray) ElementType() reflect.Type

func (AclIpRangeArray) ToAclIpRangeArrayOutput

func (i AclIpRangeArray) ToAclIpRangeArrayOutput() AclIpRangeArrayOutput

func (AclIpRangeArray) ToAclIpRangeArrayOutputWithContext

func (i AclIpRangeArray) ToAclIpRangeArrayOutputWithContext(ctx context.Context) AclIpRangeArrayOutput

type AclIpRangeArrayInput

type AclIpRangeArrayInput interface {
	pulumi.Input

	ToAclIpRangeArrayOutput() AclIpRangeArrayOutput
	ToAclIpRangeArrayOutputWithContext(context.Context) AclIpRangeArrayOutput
}

AclIpRangeArrayInput is an input type that accepts AclIpRangeArray and AclIpRangeArrayOutput values. You can construct a concrete instance of `AclIpRangeArrayInput` via:

AclIpRangeArray{ AclIpRangeArgs{...} }

type AclIpRangeArrayOutput

type AclIpRangeArrayOutput struct{ *pulumi.OutputState }

func (AclIpRangeArrayOutput) ElementType

func (AclIpRangeArrayOutput) ElementType() reflect.Type

func (AclIpRangeArrayOutput) Index

func (AclIpRangeArrayOutput) ToAclIpRangeArrayOutput

func (o AclIpRangeArrayOutput) ToAclIpRangeArrayOutput() AclIpRangeArrayOutput

func (AclIpRangeArrayOutput) ToAclIpRangeArrayOutputWithContext

func (o AclIpRangeArrayOutput) ToAclIpRangeArrayOutputWithContext(ctx context.Context) AclIpRangeArrayOutput

type AclIpRangeInput

type AclIpRangeInput interface {
	pulumi.Input

	ToAclIpRangeOutput() AclIpRangeOutput
	ToAclIpRangeOutputWithContext(context.Context) AclIpRangeOutput
}

AclIpRangeInput is an input type that accepts AclIpRangeArgs and AclIpRangeOutput values. You can construct a concrete instance of `AclIpRangeInput` via:

AclIpRangeArgs{...}

type AclIpRangeOutput

type AclIpRangeOutput struct{ *pulumi.OutputState }

func (AclIpRangeOutput) Description

func (o AclIpRangeOutput) Description() pulumi.StringPtrOutput

Specifies a description about an IP address range. This parameter can contain a maximum of 255 characters and the following characters are not allowed:**@#%^&*<>\\**.

func (AclIpRangeOutput) ElementType

func (AclIpRangeOutput) ElementType() reflect.Type

func (AclIpRangeOutput) Range

Specifies the Ip address range, for example, **0.0.0.0-255.255.255.0**.

func (AclIpRangeOutput) ToAclIpRangeOutput

func (o AclIpRangeOutput) ToAclIpRangeOutput() AclIpRangeOutput

func (AclIpRangeOutput) ToAclIpRangeOutputWithContext

func (o AclIpRangeOutput) ToAclIpRangeOutputWithContext(ctx context.Context) AclIpRangeOutput

type AclMap

type AclMap map[string]AclInput

func (AclMap) ElementType

func (AclMap) ElementType() reflect.Type

func (AclMap) ToAclMapOutput

func (i AclMap) ToAclMapOutput() AclMapOutput

func (AclMap) ToAclMapOutputWithContext

func (i AclMap) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclMapInput

type AclMapInput interface {
	pulumi.Input

	ToAclMapOutput() AclMapOutput
	ToAclMapOutputWithContext(context.Context) AclMapOutput
}

AclMapInput is an input type that accepts AclMap and AclMapOutput values. You can construct a concrete instance of `AclMapInput` via:

AclMap{ "key": AclArgs{...} }

type AclMapOutput

type AclMapOutput struct{ *pulumi.OutputState }

func (AclMapOutput) ElementType

func (AclMapOutput) ElementType() reflect.Type

func (AclMapOutput) MapIndex

func (o AclMapOutput) MapIndex(k pulumi.StringInput) AclOutput

func (AclMapOutput) ToAclMapOutput

func (o AclMapOutput) ToAclMapOutput() AclMapOutput

func (AclMapOutput) ToAclMapOutputWithContext

func (o AclMapOutput) ToAclMapOutputWithContext(ctx context.Context) AclMapOutput

type AclOutput

type AclOutput struct{ *pulumi.OutputState }

func (AclOutput) ElementType

func (AclOutput) ElementType() reflect.Type

func (AclOutput) IpCidrs

func (o AclOutput) IpCidrs() AclIpCidrArrayOutput

Specifies the IPv4 CIDR blocks from which console access or api access is allowed. The `ipCidrs` cannot repeat. The structure is documented below.

func (AclOutput) IpRanges

func (o AclOutput) IpRanges() AclIpRangeArrayOutput

Specifies the IP address ranges from which console access or api access is allowed. The `ipRanges` cannot repeat. The structure is documented below.

func (AclOutput) ToAclOutput

func (o AclOutput) ToAclOutput() AclOutput

func (AclOutput) ToAclOutputWithContext

func (o AclOutput) ToAclOutputWithContext(ctx context.Context) AclOutput

func (AclOutput) Type

func (o AclOutput) Type() pulumi.StringOutput

Specifies the ACL is created through the Console or API. valid value are ' console' and 'api'. Changing this parameter will create a new ACL.

type AclState

type AclState struct {
	// Specifies the IPv4 CIDR blocks from which console access or api access is allowed.
	// The `ipCidrs` cannot repeat. The structure is documented below.
	IpCidrs AclIpCidrArrayInput
	// Specifies the IP address ranges from which console access or api access is allowed.
	// The `ipRanges` cannot repeat. The structure is documented below.
	IpRanges AclIpRangeArrayInput
	// Specifies the ACL is created through the Console or API. valid value are '
	// console' and 'api'. Changing this parameter will create a new ACL.
	Type pulumi.StringPtrInput
}

func (AclState) ElementType

func (AclState) ElementType() reflect.Type

type Agency

type Agency struct {
	pulumi.CustomResourceState

	// Specifies an array of one or more role names which stand for the permissions
	// to be granted to agency on all resources, including those in enterprise projects, region-specific projects,
	// and global services under your account.
	AllResourcesRoles pulumi.StringArrayOutput `pulumi:"allResourcesRoles"`
	// The time when the agency was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies the name of delegated user domain.
	DelegatedDomainName pulumi.StringPtrOutput `pulumi:"delegatedDomainName"`
	// schema: Internal
	DelegatedServiceName pulumi.StringPtrOutput `pulumi:"delegatedServiceName"`
	// Specifies the supplementary information about the agency. The value is a string of
	// 0 to 255 characters, excluding these characters: '**@#$%^&*<>\\**'.
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies an array of one or more role names which stand for the permissions to be
	// granted to agency on domain.
	DomainRoles pulumi.StringArrayOutput `pulumi:"domainRoles"`
	// Specifies the validity period of an agency. The valid value are *FOREVER*, *ONEDAY*
	// or the specific days, for example, "20". The default value is *FOREVER*.
	Duration pulumi.StringPtrOutput `pulumi:"duration"`
	// The expiration time of agency.
	ExpireTime pulumi.StringOutput `pulumi:"expireTime"`
	// Specifies the name of agency. The name is a string of 1 to 64 characters.
	// Changing this will create a new agency.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies an array of one or more roles and projects which are used to grant
	// permissions to agency on project. The structure is documented below.
	ProjectRoles AgencyProjectRoleArrayOutput `pulumi:"projectRoles"`
}

Manages an agency resource within huawei cloud.

## Example Usage ### Delegate another HUAWEI CLOUD account to perform operations on your resources

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewAgency(ctx, "agency", &Iam.AgencyArgs{
			AllResourcesRoles: pulumi.StringArray{
				pulumi.String("Server Administrator"),
			},
			DelegatedDomainName: pulumi.String("***"),
			Description:         pulumi.String("test agency"),
			DomainRoles: pulumi.StringArray{
				pulumi.String("Anti-DDoS Administrator"),
			},
			ProjectRoles: iam.AgencyProjectRoleArray{
				&iam.AgencyProjectRoleArgs{
					Project: pulumi.String("cn-north-1"),
					Roles: pulumi.StringArray{
						pulumi.String("Tenant Administrator"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import huaweicloud:Iam/agency:Agency agency 0b97661f9900f23f4fc2c00971ea4dc0

```

Note that the imported state may not be identical to your resource definition, due to `all_resources_roles` field is missing from the API response. It is generally recommended running `terraform plan` after importing an agency. You can then decide if changes should be applied to the agency, or the resource definition should be updated to align with the agency. Also you can ignore changes as below. hcl resource "huaweicloud_identity_agency" "agency" {

...

lifecycle {

ignore_changes = [all_resources_roles]

} }

func GetAgency

func GetAgency(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AgencyState, opts ...pulumi.ResourceOption) (*Agency, error)

GetAgency gets an existing Agency 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 NewAgency

func NewAgency(ctx *pulumi.Context,
	name string, args *AgencyArgs, opts ...pulumi.ResourceOption) (*Agency, error)

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

func (*Agency) ElementType

func (*Agency) ElementType() reflect.Type

func (*Agency) ToAgencyOutput

func (i *Agency) ToAgencyOutput() AgencyOutput

func (*Agency) ToAgencyOutputWithContext

func (i *Agency) ToAgencyOutputWithContext(ctx context.Context) AgencyOutput

type AgencyArgs

type AgencyArgs struct {
	// Specifies an array of one or more role names which stand for the permissions
	// to be granted to agency on all resources, including those in enterprise projects, region-specific projects,
	// and global services under your account.
	AllResourcesRoles pulumi.StringArrayInput
	// Specifies the name of delegated user domain.
	DelegatedDomainName pulumi.StringPtrInput
	// schema: Internal
	DelegatedServiceName pulumi.StringPtrInput
	// Specifies the supplementary information about the agency. The value is a string of
	// 0 to 255 characters, excluding these characters: '**@#$%^&*<>\\**'.
	Description pulumi.StringPtrInput
	// Specifies an array of one or more role names which stand for the permissions to be
	// granted to agency on domain.
	DomainRoles pulumi.StringArrayInput
	// Specifies the validity period of an agency. The valid value are *FOREVER*, *ONEDAY*
	// or the specific days, for example, "20". The default value is *FOREVER*.
	Duration pulumi.StringPtrInput
	// Specifies the name of agency. The name is a string of 1 to 64 characters.
	// Changing this will create a new agency.
	Name pulumi.StringPtrInput
	// Specifies an array of one or more roles and projects which are used to grant
	// permissions to agency on project. The structure is documented below.
	ProjectRoles AgencyProjectRoleArrayInput
}

The set of arguments for constructing a Agency resource.

func (AgencyArgs) ElementType

func (AgencyArgs) ElementType() reflect.Type

type AgencyArray

type AgencyArray []AgencyInput

func (AgencyArray) ElementType

func (AgencyArray) ElementType() reflect.Type

func (AgencyArray) ToAgencyArrayOutput

func (i AgencyArray) ToAgencyArrayOutput() AgencyArrayOutput

func (AgencyArray) ToAgencyArrayOutputWithContext

func (i AgencyArray) ToAgencyArrayOutputWithContext(ctx context.Context) AgencyArrayOutput

type AgencyArrayInput

type AgencyArrayInput interface {
	pulumi.Input

	ToAgencyArrayOutput() AgencyArrayOutput
	ToAgencyArrayOutputWithContext(context.Context) AgencyArrayOutput
}

AgencyArrayInput is an input type that accepts AgencyArray and AgencyArrayOutput values. You can construct a concrete instance of `AgencyArrayInput` via:

AgencyArray{ AgencyArgs{...} }

type AgencyArrayOutput

type AgencyArrayOutput struct{ *pulumi.OutputState }

func (AgencyArrayOutput) ElementType

func (AgencyArrayOutput) ElementType() reflect.Type

func (AgencyArrayOutput) Index

func (AgencyArrayOutput) ToAgencyArrayOutput

func (o AgencyArrayOutput) ToAgencyArrayOutput() AgencyArrayOutput

func (AgencyArrayOutput) ToAgencyArrayOutputWithContext

func (o AgencyArrayOutput) ToAgencyArrayOutputWithContext(ctx context.Context) AgencyArrayOutput

type AgencyInput

type AgencyInput interface {
	pulumi.Input

	ToAgencyOutput() AgencyOutput
	ToAgencyOutputWithContext(ctx context.Context) AgencyOutput
}

type AgencyMap

type AgencyMap map[string]AgencyInput

func (AgencyMap) ElementType

func (AgencyMap) ElementType() reflect.Type

func (AgencyMap) ToAgencyMapOutput

func (i AgencyMap) ToAgencyMapOutput() AgencyMapOutput

func (AgencyMap) ToAgencyMapOutputWithContext

func (i AgencyMap) ToAgencyMapOutputWithContext(ctx context.Context) AgencyMapOutput

type AgencyMapInput

type AgencyMapInput interface {
	pulumi.Input

	ToAgencyMapOutput() AgencyMapOutput
	ToAgencyMapOutputWithContext(context.Context) AgencyMapOutput
}

AgencyMapInput is an input type that accepts AgencyMap and AgencyMapOutput values. You can construct a concrete instance of `AgencyMapInput` via:

AgencyMap{ "key": AgencyArgs{...} }

type AgencyMapOutput

type AgencyMapOutput struct{ *pulumi.OutputState }

func (AgencyMapOutput) ElementType

func (AgencyMapOutput) ElementType() reflect.Type

func (AgencyMapOutput) MapIndex

func (AgencyMapOutput) ToAgencyMapOutput

func (o AgencyMapOutput) ToAgencyMapOutput() AgencyMapOutput

func (AgencyMapOutput) ToAgencyMapOutputWithContext

func (o AgencyMapOutput) ToAgencyMapOutputWithContext(ctx context.Context) AgencyMapOutput

type AgencyOutput

type AgencyOutput struct{ *pulumi.OutputState }

func (AgencyOutput) AllResourcesRoles added in v0.0.8

func (o AgencyOutput) AllResourcesRoles() pulumi.StringArrayOutput

Specifies an array of one or more role names which stand for the permissions to be granted to agency on all resources, including those in enterprise projects, region-specific projects, and global services under your account.

func (AgencyOutput) CreateTime

func (o AgencyOutput) CreateTime() pulumi.StringOutput

The time when the agency was created.

func (AgencyOutput) DelegatedDomainName

func (o AgencyOutput) DelegatedDomainName() pulumi.StringPtrOutput

Specifies the name of delegated user domain.

func (AgencyOutput) DelegatedServiceName

func (o AgencyOutput) DelegatedServiceName() pulumi.StringPtrOutput

schema: Internal

func (AgencyOutput) Description

func (o AgencyOutput) Description() pulumi.StringOutput

Specifies the supplementary information about the agency. The value is a string of 0 to 255 characters, excluding these characters: '**@#$%^&*<>\\**'.

func (AgencyOutput) DomainRoles

func (o AgencyOutput) DomainRoles() pulumi.StringArrayOutput

Specifies an array of one or more role names which stand for the permissions to be granted to agency on domain.

func (AgencyOutput) Duration

func (o AgencyOutput) Duration() pulumi.StringPtrOutput

Specifies the validity period of an agency. The valid value are *FOREVER*, *ONEDAY* or the specific days, for example, "20". The default value is *FOREVER*.

func (AgencyOutput) ElementType

func (AgencyOutput) ElementType() reflect.Type

func (AgencyOutput) ExpireTime

func (o AgencyOutput) ExpireTime() pulumi.StringOutput

The expiration time of agency.

func (AgencyOutput) Name

func (o AgencyOutput) Name() pulumi.StringOutput

Specifies the name of agency. The name is a string of 1 to 64 characters. Changing this will create a new agency.

func (AgencyOutput) ProjectRoles

func (o AgencyOutput) ProjectRoles() AgencyProjectRoleArrayOutput

Specifies an array of one or more roles and projects which are used to grant permissions to agency on project. The structure is documented below.

func (AgencyOutput) ToAgencyOutput

func (o AgencyOutput) ToAgencyOutput() AgencyOutput

func (AgencyOutput) ToAgencyOutputWithContext

func (o AgencyOutput) ToAgencyOutputWithContext(ctx context.Context) AgencyOutput

type AgencyProjectRole

type AgencyProjectRole struct {
	// Specifies the name of project.
	Project string `pulumi:"project"`
	// Specifies an array of role names.
	Roles []string `pulumi:"roles"`
}

type AgencyProjectRoleArgs

type AgencyProjectRoleArgs struct {
	// Specifies the name of project.
	Project pulumi.StringInput `pulumi:"project"`
	// Specifies an array of role names.
	Roles pulumi.StringArrayInput `pulumi:"roles"`
}

func (AgencyProjectRoleArgs) ElementType

func (AgencyProjectRoleArgs) ElementType() reflect.Type

func (AgencyProjectRoleArgs) ToAgencyProjectRoleOutput

func (i AgencyProjectRoleArgs) ToAgencyProjectRoleOutput() AgencyProjectRoleOutput

func (AgencyProjectRoleArgs) ToAgencyProjectRoleOutputWithContext

func (i AgencyProjectRoleArgs) ToAgencyProjectRoleOutputWithContext(ctx context.Context) AgencyProjectRoleOutput

type AgencyProjectRoleArray

type AgencyProjectRoleArray []AgencyProjectRoleInput

func (AgencyProjectRoleArray) ElementType

func (AgencyProjectRoleArray) ElementType() reflect.Type

func (AgencyProjectRoleArray) ToAgencyProjectRoleArrayOutput

func (i AgencyProjectRoleArray) ToAgencyProjectRoleArrayOutput() AgencyProjectRoleArrayOutput

func (AgencyProjectRoleArray) ToAgencyProjectRoleArrayOutputWithContext

func (i AgencyProjectRoleArray) ToAgencyProjectRoleArrayOutputWithContext(ctx context.Context) AgencyProjectRoleArrayOutput

type AgencyProjectRoleArrayInput

type AgencyProjectRoleArrayInput interface {
	pulumi.Input

	ToAgencyProjectRoleArrayOutput() AgencyProjectRoleArrayOutput
	ToAgencyProjectRoleArrayOutputWithContext(context.Context) AgencyProjectRoleArrayOutput
}

AgencyProjectRoleArrayInput is an input type that accepts AgencyProjectRoleArray and AgencyProjectRoleArrayOutput values. You can construct a concrete instance of `AgencyProjectRoleArrayInput` via:

AgencyProjectRoleArray{ AgencyProjectRoleArgs{...} }

type AgencyProjectRoleArrayOutput

type AgencyProjectRoleArrayOutput struct{ *pulumi.OutputState }

func (AgencyProjectRoleArrayOutput) ElementType

func (AgencyProjectRoleArrayOutput) Index

func (AgencyProjectRoleArrayOutput) ToAgencyProjectRoleArrayOutput

func (o AgencyProjectRoleArrayOutput) ToAgencyProjectRoleArrayOutput() AgencyProjectRoleArrayOutput

func (AgencyProjectRoleArrayOutput) ToAgencyProjectRoleArrayOutputWithContext

func (o AgencyProjectRoleArrayOutput) ToAgencyProjectRoleArrayOutputWithContext(ctx context.Context) AgencyProjectRoleArrayOutput

type AgencyProjectRoleInput

type AgencyProjectRoleInput interface {
	pulumi.Input

	ToAgencyProjectRoleOutput() AgencyProjectRoleOutput
	ToAgencyProjectRoleOutputWithContext(context.Context) AgencyProjectRoleOutput
}

AgencyProjectRoleInput is an input type that accepts AgencyProjectRoleArgs and AgencyProjectRoleOutput values. You can construct a concrete instance of `AgencyProjectRoleInput` via:

AgencyProjectRoleArgs{...}

type AgencyProjectRoleOutput

type AgencyProjectRoleOutput struct{ *pulumi.OutputState }

func (AgencyProjectRoleOutput) ElementType

func (AgencyProjectRoleOutput) ElementType() reflect.Type

func (AgencyProjectRoleOutput) Project

Specifies the name of project.

func (AgencyProjectRoleOutput) Roles

Specifies an array of role names.

func (AgencyProjectRoleOutput) ToAgencyProjectRoleOutput

func (o AgencyProjectRoleOutput) ToAgencyProjectRoleOutput() AgencyProjectRoleOutput

func (AgencyProjectRoleOutput) ToAgencyProjectRoleOutputWithContext

func (o AgencyProjectRoleOutput) ToAgencyProjectRoleOutputWithContext(ctx context.Context) AgencyProjectRoleOutput

type AgencyState

type AgencyState struct {
	// Specifies an array of one or more role names which stand for the permissions
	// to be granted to agency on all resources, including those in enterprise projects, region-specific projects,
	// and global services under your account.
	AllResourcesRoles pulumi.StringArrayInput
	// The time when the agency was created.
	CreateTime pulumi.StringPtrInput
	// Specifies the name of delegated user domain.
	DelegatedDomainName pulumi.StringPtrInput
	// schema: Internal
	DelegatedServiceName pulumi.StringPtrInput
	// Specifies the supplementary information about the agency. The value is a string of
	// 0 to 255 characters, excluding these characters: '**@#$%^&*<>\\**'.
	Description pulumi.StringPtrInput
	// Specifies an array of one or more role names which stand for the permissions to be
	// granted to agency on domain.
	DomainRoles pulumi.StringArrayInput
	// Specifies the validity period of an agency. The valid value are *FOREVER*, *ONEDAY*
	// or the specific days, for example, "20". The default value is *FOREVER*.
	Duration pulumi.StringPtrInput
	// The expiration time of agency.
	ExpireTime pulumi.StringPtrInput
	// Specifies the name of agency. The name is a string of 1 to 64 characters.
	// Changing this will create a new agency.
	Name pulumi.StringPtrInput
	// Specifies an array of one or more roles and projects which are used to grant
	// permissions to agency on project. The structure is documented below.
	ProjectRoles AgencyProjectRoleArrayInput
}

func (AgencyState) ElementType

func (AgencyState) ElementType() reflect.Type

type GetCustomRoleArgs

type GetCustomRoleArgs struct {
	// Description of the custom policy.
	Description *string `pulumi:"description"`
	// The domain the policy belongs to.
	DomainId *string `pulumi:"domainId"`
	// ID of the custom policy.
	Id *string `pulumi:"id"`
	// Name of the custom policy.
	Name *string `pulumi:"name"`
	// The number of citations for the custom policy.
	References *int `pulumi:"references"`
	// Display mode. Valid options are *AX*: Account level and *XA*: Project level.
	Type *string `pulumi:"type"`
}

A collection of arguments for invoking getCustomRole.

type GetCustomRoleOutputArgs

type GetCustomRoleOutputArgs struct {
	// Description of the custom policy.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The domain the policy belongs to.
	DomainId pulumi.StringPtrInput `pulumi:"domainId"`
	// ID of the custom policy.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Name of the custom policy.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The number of citations for the custom policy.
	References pulumi.IntPtrInput `pulumi:"references"`
	// Display mode. Valid options are *AX*: Account level and *XA*: Project level.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

A collection of arguments for invoking getCustomRole.

func (GetCustomRoleOutputArgs) ElementType

func (GetCustomRoleOutputArgs) ElementType() reflect.Type

type GetCustomRoleResult

type GetCustomRoleResult struct {
	// The catalog of the custom policy.
	Catalog     string `pulumi:"catalog"`
	Description string `pulumi:"description"`
	DomainId    string `pulumi:"domainId"`
	Id          string `pulumi:"id"`
	Name        string `pulumi:"name"`
	// Document of the custom policy.
	Policy     string `pulumi:"policy"`
	References int    `pulumi:"references"`
	Type       string `pulumi:"type"`
}

A collection of values returned by getCustomRole.

func GetCustomRole

func GetCustomRole(ctx *pulumi.Context, args *GetCustomRoleArgs, opts ...pulumi.InvokeOption) (*GetCustomRoleResult, error)

Use this data source to get the ID of an IAM **custom policy**.

> You *must* have IAM read privileges to use this data source.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.GetCustomRole(ctx, &iam.GetCustomRoleArgs{
			Name: pulumi.StringRef("custom_role"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetCustomRoleResultOutput

type GetCustomRoleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCustomRole.

func (GetCustomRoleResultOutput) Catalog

The catalog of the custom policy.

func (GetCustomRoleResultOutput) Description

func (GetCustomRoleResultOutput) DomainId

func (GetCustomRoleResultOutput) ElementType

func (GetCustomRoleResultOutput) ElementType() reflect.Type

func (GetCustomRoleResultOutput) Id

func (GetCustomRoleResultOutput) Name

func (GetCustomRoleResultOutput) Policy

Document of the custom policy.

func (GetCustomRoleResultOutput) References

func (GetCustomRoleResultOutput) ToGetCustomRoleResultOutput

func (o GetCustomRoleResultOutput) ToGetCustomRoleResultOutput() GetCustomRoleResultOutput

func (GetCustomRoleResultOutput) ToGetCustomRoleResultOutputWithContext

func (o GetCustomRoleResultOutput) ToGetCustomRoleResultOutputWithContext(ctx context.Context) GetCustomRoleResultOutput

func (GetCustomRoleResultOutput) Type

type GetGroupUser

type GetGroupUser struct {
	// Specifies the description of the identity group.
	Description string `pulumi:"description"`
	// Indicates the whether the IAM user is enabled.
	Enabled bool `pulumi:"enabled"`
	// Specifies the ID of the identity group.
	Id string `pulumi:"id"`
	// Specifies the name of the identity group.
	Name string `pulumi:"name"`
	// Indicates the time when the password will expire.
	// Null indicates that the password has unlimited validity.
	PasswordExpiresAt string `pulumi:"passwordExpiresAt"`
	// Indicates the password status. True means that the password needs to be changed,
	// and false means that the password is normal.
	PasswordStatus bool `pulumi:"passwordStatus"`
	// Indicates the password strength. The value can be high, mid, or low.
	PasswordStrength string `pulumi:"passwordStrength"`
}

type GetGroupUserArgs

type GetGroupUserArgs struct {
	// Specifies the description of the identity group.
	Description pulumi.StringInput `pulumi:"description"`
	// Indicates the whether the IAM user is enabled.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Specifies the ID of the identity group.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the name of the identity group.
	Name pulumi.StringInput `pulumi:"name"`
	// Indicates the time when the password will expire.
	// Null indicates that the password has unlimited validity.
	PasswordExpiresAt pulumi.StringInput `pulumi:"passwordExpiresAt"`
	// Indicates the password status. True means that the password needs to be changed,
	// and false means that the password is normal.
	PasswordStatus pulumi.BoolInput `pulumi:"passwordStatus"`
	// Indicates the password strength. The value can be high, mid, or low.
	PasswordStrength pulumi.StringInput `pulumi:"passwordStrength"`
}

func (GetGroupUserArgs) ElementType

func (GetGroupUserArgs) ElementType() reflect.Type

func (GetGroupUserArgs) ToGetGroupUserOutput

func (i GetGroupUserArgs) ToGetGroupUserOutput() GetGroupUserOutput

func (GetGroupUserArgs) ToGetGroupUserOutputWithContext

func (i GetGroupUserArgs) ToGetGroupUserOutputWithContext(ctx context.Context) GetGroupUserOutput

type GetGroupUserArray

type GetGroupUserArray []GetGroupUserInput

func (GetGroupUserArray) ElementType

func (GetGroupUserArray) ElementType() reflect.Type

func (GetGroupUserArray) ToGetGroupUserArrayOutput

func (i GetGroupUserArray) ToGetGroupUserArrayOutput() GetGroupUserArrayOutput

func (GetGroupUserArray) ToGetGroupUserArrayOutputWithContext

func (i GetGroupUserArray) ToGetGroupUserArrayOutputWithContext(ctx context.Context) GetGroupUserArrayOutput

type GetGroupUserArrayInput

type GetGroupUserArrayInput interface {
	pulumi.Input

	ToGetGroupUserArrayOutput() GetGroupUserArrayOutput
	ToGetGroupUserArrayOutputWithContext(context.Context) GetGroupUserArrayOutput
}

GetGroupUserArrayInput is an input type that accepts GetGroupUserArray and GetGroupUserArrayOutput values. You can construct a concrete instance of `GetGroupUserArrayInput` via:

GetGroupUserArray{ GetGroupUserArgs{...} }

type GetGroupUserArrayOutput

type GetGroupUserArrayOutput struct{ *pulumi.OutputState }

func (GetGroupUserArrayOutput) ElementType

func (GetGroupUserArrayOutput) ElementType() reflect.Type

func (GetGroupUserArrayOutput) Index

func (GetGroupUserArrayOutput) ToGetGroupUserArrayOutput

func (o GetGroupUserArrayOutput) ToGetGroupUserArrayOutput() GetGroupUserArrayOutput

func (GetGroupUserArrayOutput) ToGetGroupUserArrayOutputWithContext

func (o GetGroupUserArrayOutput) ToGetGroupUserArrayOutputWithContext(ctx context.Context) GetGroupUserArrayOutput

type GetGroupUserInput

type GetGroupUserInput interface {
	pulumi.Input

	ToGetGroupUserOutput() GetGroupUserOutput
	ToGetGroupUserOutputWithContext(context.Context) GetGroupUserOutput
}

GetGroupUserInput is an input type that accepts GetGroupUserArgs and GetGroupUserOutput values. You can construct a concrete instance of `GetGroupUserInput` via:

GetGroupUserArgs{...}

type GetGroupUserOutput

type GetGroupUserOutput struct{ *pulumi.OutputState }

func (GetGroupUserOutput) Description

func (o GetGroupUserOutput) Description() pulumi.StringOutput

Specifies the description of the identity group.

func (GetGroupUserOutput) ElementType

func (GetGroupUserOutput) ElementType() reflect.Type

func (GetGroupUserOutput) Enabled

func (o GetGroupUserOutput) Enabled() pulumi.BoolOutput

Indicates the whether the IAM user is enabled.

func (GetGroupUserOutput) Id

Specifies the ID of the identity group.

func (GetGroupUserOutput) Name

Specifies the name of the identity group.

func (GetGroupUserOutput) PasswordExpiresAt

func (o GetGroupUserOutput) PasswordExpiresAt() pulumi.StringOutput

Indicates the time when the password will expire. Null indicates that the password has unlimited validity.

func (GetGroupUserOutput) PasswordStatus

func (o GetGroupUserOutput) PasswordStatus() pulumi.BoolOutput

Indicates the password status. True means that the password needs to be changed, and false means that the password is normal.

func (GetGroupUserOutput) PasswordStrength

func (o GetGroupUserOutput) PasswordStrength() pulumi.StringOutput

Indicates the password strength. The value can be high, mid, or low.

func (GetGroupUserOutput) ToGetGroupUserOutput

func (o GetGroupUserOutput) ToGetGroupUserOutput() GetGroupUserOutput

func (GetGroupUserOutput) ToGetGroupUserOutputWithContext

func (o GetGroupUserOutput) ToGetGroupUserOutputWithContext(ctx context.Context) GetGroupUserOutput

type GetProjectsArgs

type GetProjectsArgs struct {
	// Specifies the project name to query.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getProjects.

type GetProjectsOutputArgs

type GetProjectsOutputArgs struct {
	// Specifies the project name to query.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getProjects.

func (GetProjectsOutputArgs) ElementType

func (GetProjectsOutputArgs) ElementType() reflect.Type

type GetProjectsProject

type GetProjectsProject struct {
	// Whether project is enabled.
	Enabled bool `pulumi:"enabled"`
	// The project ID.
	Id string `pulumi:"id"`
	// Specifies the project name to query.
	Name string `pulumi:"name"`
}

type GetProjectsProjectArgs

type GetProjectsProjectArgs struct {
	// Whether project is enabled.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// The project ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the project name to query.
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetProjectsProjectArgs) ElementType

func (GetProjectsProjectArgs) ElementType() reflect.Type

func (GetProjectsProjectArgs) ToGetProjectsProjectOutput

func (i GetProjectsProjectArgs) ToGetProjectsProjectOutput() GetProjectsProjectOutput

func (GetProjectsProjectArgs) ToGetProjectsProjectOutputWithContext

func (i GetProjectsProjectArgs) ToGetProjectsProjectOutputWithContext(ctx context.Context) GetProjectsProjectOutput

type GetProjectsProjectArray

type GetProjectsProjectArray []GetProjectsProjectInput

func (GetProjectsProjectArray) ElementType

func (GetProjectsProjectArray) ElementType() reflect.Type

func (GetProjectsProjectArray) ToGetProjectsProjectArrayOutput

func (i GetProjectsProjectArray) ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput

func (GetProjectsProjectArray) ToGetProjectsProjectArrayOutputWithContext

func (i GetProjectsProjectArray) ToGetProjectsProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectArrayOutput

type GetProjectsProjectArrayInput

type GetProjectsProjectArrayInput interface {
	pulumi.Input

	ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput
	ToGetProjectsProjectArrayOutputWithContext(context.Context) GetProjectsProjectArrayOutput
}

GetProjectsProjectArrayInput is an input type that accepts GetProjectsProjectArray and GetProjectsProjectArrayOutput values. You can construct a concrete instance of `GetProjectsProjectArrayInput` via:

GetProjectsProjectArray{ GetProjectsProjectArgs{...} }

type GetProjectsProjectArrayOutput

type GetProjectsProjectArrayOutput struct{ *pulumi.OutputState }

func (GetProjectsProjectArrayOutput) ElementType

func (GetProjectsProjectArrayOutput) Index

func (GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutput

func (o GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutput() GetProjectsProjectArrayOutput

func (GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutputWithContext

func (o GetProjectsProjectArrayOutput) ToGetProjectsProjectArrayOutputWithContext(ctx context.Context) GetProjectsProjectArrayOutput

type GetProjectsProjectInput

type GetProjectsProjectInput interface {
	pulumi.Input

	ToGetProjectsProjectOutput() GetProjectsProjectOutput
	ToGetProjectsProjectOutputWithContext(context.Context) GetProjectsProjectOutput
}

GetProjectsProjectInput is an input type that accepts GetProjectsProjectArgs and GetProjectsProjectOutput values. You can construct a concrete instance of `GetProjectsProjectInput` via:

GetProjectsProjectArgs{...}

type GetProjectsProjectOutput

type GetProjectsProjectOutput struct{ *pulumi.OutputState }

func (GetProjectsProjectOutput) ElementType

func (GetProjectsProjectOutput) ElementType() reflect.Type

func (GetProjectsProjectOutput) Enabled

Whether project is enabled.

func (GetProjectsProjectOutput) Id

The project ID.

func (GetProjectsProjectOutput) Name

Specifies the project name to query.

func (GetProjectsProjectOutput) ToGetProjectsProjectOutput

func (o GetProjectsProjectOutput) ToGetProjectsProjectOutput() GetProjectsProjectOutput

func (GetProjectsProjectOutput) ToGetProjectsProjectOutputWithContext

func (o GetProjectsProjectOutput) ToGetProjectsProjectOutputWithContext(ctx context.Context) GetProjectsProjectOutput

type GetProjectsResult

type GetProjectsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The project name.
	Name *string `pulumi:"name"`
	// The details of the query projects. The structure is documented below.
	Projects []GetProjectsProject `pulumi:"projects"`
}

A collection of values returned by getProjects.

func GetProjects

func GetProjects(ctx *pulumi.Context, args *GetProjectsArgs, opts ...pulumi.InvokeOption) (*GetProjectsResult, error)

Use this data source to query the project list within HuaweiCloud.

> You *must* have IAM read privileges to use this data source.

## Example Usage ### Obtain project information by name

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.GetProjects(ctx, &iam.GetProjectsArgs{
			Name: pulumi.StringRef("cn-north-4_demo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Obtain special project information by name

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.GetProjects(ctx, &iam.GetProjectsArgs{
			Name: pulumi.StringRef("MOS"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetProjectsResultOutput

type GetProjectsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProjects.

func (GetProjectsResultOutput) ElementType

func (GetProjectsResultOutput) ElementType() reflect.Type

func (GetProjectsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetProjectsResultOutput) Name

The project name.

func (GetProjectsResultOutput) Projects

The details of the query projects. The structure is documented below.

func (GetProjectsResultOutput) ToGetProjectsResultOutput

func (o GetProjectsResultOutput) ToGetProjectsResultOutput() GetProjectsResultOutput

func (GetProjectsResultOutput) ToGetProjectsResultOutputWithContext

func (o GetProjectsResultOutput) ToGetProjectsResultOutputWithContext(ctx context.Context) GetProjectsResultOutput

type GetUsersArgs

type GetUsersArgs struct {
	// Specifies the status of the IAM user, the default value is **true**.
	Enabled *bool `pulumi:"enabled"`
	// Specifies the IAM user name.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getUsers.

type GetUsersOutputArgs

type GetUsersOutputArgs struct {
	// Specifies the status of the IAM user, the default value is **true**.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Specifies the IAM user name.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getUsers.

func (GetUsersOutputArgs) ElementType

func (GetUsersOutputArgs) ElementType() reflect.Type

type GetUsersResult

type GetUsersResult struct {
	// Indicates the whether the IAM user is enabled.
	Enabled *bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Indicates the IAM user name.
	Name *string `pulumi:"name"`
	// The details of the queried IAM users. The structure is documented below.
	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)

Use this data source to query the IAM user list within HuaweiCloud.

> You *must* have IAM read privileges to use this data source.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.GetUsers(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = Iam.GetUsers(ctx, &iam.GetUsersArgs{
			Name: pulumi.StringRef("user_name"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetUsersResultOutput

type GetUsersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUsers.

func (GetUsersResultOutput) ElementType

func (GetUsersResultOutput) ElementType() reflect.Type

func (GetUsersResultOutput) Enabled

Indicates the whether the IAM user is enabled.

func (GetUsersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetUsersResultOutput) Name

Indicates the IAM user name.

func (GetUsersResultOutput) ToGetUsersResultOutput

func (o GetUsersResultOutput) ToGetUsersResultOutput() GetUsersResultOutput

func (GetUsersResultOutput) ToGetUsersResultOutputWithContext

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

func (GetUsersResultOutput) Users

The details of the queried IAM users. The structure is documented below.

type GetUsersUser

type GetUsersUser struct {
	// Indicates the description of the IAM user.
	Description string `pulumi:"description"`
	// Specifies the status of the IAM user, the default value is **true**.
	Enabled bool `pulumi:"enabled"`
	// Indicates the user groups to which an IAM user belongs.
	Groups []string `pulumi:"groups"`
	// Indicates the ID of the User.
	Id string `pulumi:"id"`
	// Specifies the IAM user name.
	Name string `pulumi:"name"`
	// Indicates the time when the password will expire.
	// Null indicates that the password has unlimited validity.
	PasswordExpiresAt string `pulumi:"passwordExpiresAt"`
	// Indicates the password status. True means that the password needs to be changed,
	// and false means that the password is normal.
	PasswordStatus bool `pulumi:"passwordStatus"`
}

type GetUsersUserArgs

type GetUsersUserArgs struct {
	// Indicates the description of the IAM user.
	Description pulumi.StringInput `pulumi:"description"`
	// Specifies the status of the IAM user, the default value is **true**.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Indicates the user groups to which an IAM user belongs.
	Groups pulumi.StringArrayInput `pulumi:"groups"`
	// Indicates the ID of the User.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the IAM user name.
	Name pulumi.StringInput `pulumi:"name"`
	// Indicates the time when the password will expire.
	// Null indicates that the password has unlimited validity.
	PasswordExpiresAt pulumi.StringInput `pulumi:"passwordExpiresAt"`
	// Indicates the password status. True means that the password needs to be changed,
	// and false means that the password is normal.
	PasswordStatus pulumi.BoolInput `pulumi:"passwordStatus"`
}

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) Description

func (o GetUsersUserOutput) Description() pulumi.StringOutput

Indicates the description of the IAM user.

func (GetUsersUserOutput) ElementType

func (GetUsersUserOutput) ElementType() reflect.Type

func (GetUsersUserOutput) Enabled

func (o GetUsersUserOutput) Enabled() pulumi.BoolOutput

Specifies the status of the IAM user, the default value is **true**.

func (GetUsersUserOutput) Groups

Indicates the user groups to which an IAM user belongs.

func (GetUsersUserOutput) Id

Indicates the ID of the User.

func (GetUsersUserOutput) Name

Specifies the IAM user name.

func (GetUsersUserOutput) PasswordExpiresAt

func (o GetUsersUserOutput) PasswordExpiresAt() pulumi.StringOutput

Indicates the time when the password will expire. Null indicates that the password has unlimited validity.

func (GetUsersUserOutput) PasswordStatus

func (o GetUsersUserOutput) PasswordStatus() pulumi.BoolOutput

Indicates the password status. True means that the password needs to be changed, and false means that the password is normal.

func (GetUsersUserOutput) ToGetUsersUserOutput

func (o GetUsersUserOutput) ToGetUsersUserOutput() GetUsersUserOutput

func (GetUsersUserOutput) ToGetUsersUserOutputWithContext

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

type Group

type Group struct {
	pulumi.CustomResourceState

	// Specifies the description of the group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the name of the group.The length is less than or equal to 64 bytes.
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages a User Group resource within HuaweiCloud IAM service.

Note: You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewGroup(ctx, "group1", &Iam.GroupArgs{
			Description: pulumi.String("This is a test group"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import huaweicloud:Iam/group:Group group_1 89c60255-9bd6-460c-822a-e2b959ede9d2

```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group 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 NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

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

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// Specifies the description of the group.
	Description pulumi.StringPtrInput
	// Specifies the name of the group.The length is less than or equal to 64 bytes.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMembership

type GroupMembership struct {
	pulumi.CustomResourceState

	// The group ID of this membership.
	Group pulumi.StringOutput `pulumi:"group"`
	// A List of user IDs to associate to the group.
	Users pulumi.StringArrayOutput `pulumi:"users"`
}

Manages a User Group Membership resource within HuaweiCloud IAM service.

Note: You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		group1, err := Iam.NewGroup(ctx, "group1", &Iam.GroupArgs{
			Description: pulumi.String("This is a test group"),
		})
		if err != nil {
			return err
		}
		user1, err := Iam.NewUser(ctx, "user1", &Iam.UserArgs{
			Enabled:  pulumi.Bool(true),
			Password: pulumi.String("password12345!"),
		})
		if err != nil {
			return err
		}
		user2, err := Iam.NewUser(ctx, "user2", &Iam.UserArgs{
			Enabled:  pulumi.Bool(true),
			Password: pulumi.String("password12345!"),
		})
		if err != nil {
			return err
		}
		_, err = Iam.NewGroupMembership(ctx, "membership1", &Iam.GroupMembershipArgs{
			Group: group1.ID(),
			Users: pulumi.StringArray{
				user1.ID(),
				user2.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetGroupMembership

func GetGroupMembership(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupMembershipState, opts ...pulumi.ResourceOption) (*GroupMembership, error)

GetGroupMembership gets an existing GroupMembership 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 NewGroupMembership

func NewGroupMembership(ctx *pulumi.Context,
	name string, args *GroupMembershipArgs, opts ...pulumi.ResourceOption) (*GroupMembership, error)

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

func (*GroupMembership) ElementType

func (*GroupMembership) ElementType() reflect.Type

func (*GroupMembership) ToGroupMembershipOutput

func (i *GroupMembership) ToGroupMembershipOutput() GroupMembershipOutput

func (*GroupMembership) ToGroupMembershipOutputWithContext

func (i *GroupMembership) ToGroupMembershipOutputWithContext(ctx context.Context) GroupMembershipOutput

type GroupMembershipArgs

type GroupMembershipArgs struct {
	// The group ID of this membership.
	Group pulumi.StringInput
	// A List of user IDs to associate to the group.
	Users pulumi.StringArrayInput
}

The set of arguments for constructing a GroupMembership resource.

func (GroupMembershipArgs) ElementType

func (GroupMembershipArgs) ElementType() reflect.Type

type GroupMembershipArray

type GroupMembershipArray []GroupMembershipInput

func (GroupMembershipArray) ElementType

func (GroupMembershipArray) ElementType() reflect.Type

func (GroupMembershipArray) ToGroupMembershipArrayOutput

func (i GroupMembershipArray) ToGroupMembershipArrayOutput() GroupMembershipArrayOutput

func (GroupMembershipArray) ToGroupMembershipArrayOutputWithContext

func (i GroupMembershipArray) ToGroupMembershipArrayOutputWithContext(ctx context.Context) GroupMembershipArrayOutput

type GroupMembershipArrayInput

type GroupMembershipArrayInput interface {
	pulumi.Input

	ToGroupMembershipArrayOutput() GroupMembershipArrayOutput
	ToGroupMembershipArrayOutputWithContext(context.Context) GroupMembershipArrayOutput
}

GroupMembershipArrayInput is an input type that accepts GroupMembershipArray and GroupMembershipArrayOutput values. You can construct a concrete instance of `GroupMembershipArrayInput` via:

GroupMembershipArray{ GroupMembershipArgs{...} }

type GroupMembershipArrayOutput

type GroupMembershipArrayOutput struct{ *pulumi.OutputState }

func (GroupMembershipArrayOutput) ElementType

func (GroupMembershipArrayOutput) ElementType() reflect.Type

func (GroupMembershipArrayOutput) Index

func (GroupMembershipArrayOutput) ToGroupMembershipArrayOutput

func (o GroupMembershipArrayOutput) ToGroupMembershipArrayOutput() GroupMembershipArrayOutput

func (GroupMembershipArrayOutput) ToGroupMembershipArrayOutputWithContext

func (o GroupMembershipArrayOutput) ToGroupMembershipArrayOutputWithContext(ctx context.Context) GroupMembershipArrayOutput

type GroupMembershipInput

type GroupMembershipInput interface {
	pulumi.Input

	ToGroupMembershipOutput() GroupMembershipOutput
	ToGroupMembershipOutputWithContext(ctx context.Context) GroupMembershipOutput
}

type GroupMembershipMap

type GroupMembershipMap map[string]GroupMembershipInput

func (GroupMembershipMap) ElementType

func (GroupMembershipMap) ElementType() reflect.Type

func (GroupMembershipMap) ToGroupMembershipMapOutput

func (i GroupMembershipMap) ToGroupMembershipMapOutput() GroupMembershipMapOutput

func (GroupMembershipMap) ToGroupMembershipMapOutputWithContext

func (i GroupMembershipMap) ToGroupMembershipMapOutputWithContext(ctx context.Context) GroupMembershipMapOutput

type GroupMembershipMapInput

type GroupMembershipMapInput interface {
	pulumi.Input

	ToGroupMembershipMapOutput() GroupMembershipMapOutput
	ToGroupMembershipMapOutputWithContext(context.Context) GroupMembershipMapOutput
}

GroupMembershipMapInput is an input type that accepts GroupMembershipMap and GroupMembershipMapOutput values. You can construct a concrete instance of `GroupMembershipMapInput` via:

GroupMembershipMap{ "key": GroupMembershipArgs{...} }

type GroupMembershipMapOutput

type GroupMembershipMapOutput struct{ *pulumi.OutputState }

func (GroupMembershipMapOutput) ElementType

func (GroupMembershipMapOutput) ElementType() reflect.Type

func (GroupMembershipMapOutput) MapIndex

func (GroupMembershipMapOutput) ToGroupMembershipMapOutput

func (o GroupMembershipMapOutput) ToGroupMembershipMapOutput() GroupMembershipMapOutput

func (GroupMembershipMapOutput) ToGroupMembershipMapOutputWithContext

func (o GroupMembershipMapOutput) ToGroupMembershipMapOutputWithContext(ctx context.Context) GroupMembershipMapOutput

type GroupMembershipOutput

type GroupMembershipOutput struct{ *pulumi.OutputState }

func (GroupMembershipOutput) ElementType

func (GroupMembershipOutput) ElementType() reflect.Type

func (GroupMembershipOutput) Group

The group ID of this membership.

func (GroupMembershipOutput) ToGroupMembershipOutput

func (o GroupMembershipOutput) ToGroupMembershipOutput() GroupMembershipOutput

func (GroupMembershipOutput) ToGroupMembershipOutputWithContext

func (o GroupMembershipOutput) ToGroupMembershipOutputWithContext(ctx context.Context) GroupMembershipOutput

func (GroupMembershipOutput) Users

A List of user IDs to associate to the group.

type GroupMembershipState

type GroupMembershipState struct {
	// The group ID of this membership.
	Group pulumi.StringPtrInput
	// A List of user IDs to associate to the group.
	Users pulumi.StringArrayInput
}

func (GroupMembershipState) ElementType

func (GroupMembershipState) ElementType() reflect.Type

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) Description

func (o GroupOutput) Description() pulumi.StringPtrOutput

Specifies the description of the group.

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) Name

func (o GroupOutput) Name() pulumi.StringOutput

Specifies the name of the group.The length is less than or equal to 64 bytes.

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupState

type GroupState struct {
	// Specifies the description of the group.
	Description pulumi.StringPtrInput
	// Specifies the name of the group.The length is less than or equal to 64 bytes.
	Name pulumi.StringPtrInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type LookupGroupArgs

type LookupGroupArgs struct {
	// Specifies the description of the identity group.
	Description *string `pulumi:"description"`
	// Specifies the ID of the identity group.
	Id *string `pulumi:"id"`
	// Specifies the name of the identity group.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

type LookupGroupOutputArgs

type LookupGroupOutputArgs struct {
	// Specifies the description of the identity group.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the ID of the identity group.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the identity group.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

func (LookupGroupOutputArgs) ElementType

func (LookupGroupOutputArgs) ElementType() reflect.Type

type LookupGroupResult

type LookupGroupResult struct {
	// Indicates the description of the IAM user.
	Description string `pulumi:"description"`
	// Indicates the domain the group belongs to.
	DomainId string `pulumi:"domainId"`
	// Indicates the ID of the User.
	Id string `pulumi:"id"`
	// Indicates the IAM user name.
	Name string `pulumi:"name"`
	// Indicates the users the group contains. Structure is documented below.
	Users []GetGroupUser `pulumi:"users"`
}

A collection of values returned by getGroup.

func LookupGroup

func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.InvokeOption) (*LookupGroupResult, error)

Use this data source to get details of the specified IAM user group.

> You *must* have IAM read privileges to use this data source.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.GetGroup(ctx, &iam.GetGroupArgs{
			Name: pulumi.StringRef("my_group"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupGroupResultOutput

type LookupGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroup.

func (LookupGroupResultOutput) Description

Indicates the description of the IAM user.

func (LookupGroupResultOutput) DomainId

Indicates the domain the group belongs to.

func (LookupGroupResultOutput) ElementType

func (LookupGroupResultOutput) ElementType() reflect.Type

func (LookupGroupResultOutput) Id

Indicates the ID of the User.

func (LookupGroupResultOutput) Name

Indicates the IAM user name.

func (LookupGroupResultOutput) ToLookupGroupResultOutput

func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput

func (LookupGroupResultOutput) ToLookupGroupResultOutputWithContext

func (o LookupGroupResultOutput) ToLookupGroupResultOutputWithContext(ctx context.Context) LookupGroupResultOutput

func (LookupGroupResultOutput) Users

Indicates the users the group contains. Structure is documented below.

type LookupRoleArgs

type LookupRoleArgs struct {
	// Specifies the display name of the role displayed on the console.
	// Required if `name` is empty.
	DisplayName *string `pulumi:"displayName"`
	// Specifies the name of the role for internal use.
	// Required if `displayName` is empty.
	Name *string `pulumi:"name"`
}

A collection of arguments for invoking getRole.

type LookupRoleOutputArgs

type LookupRoleOutputArgs struct {
	// Specifies the display name of the role displayed on the console.
	// Required if `name` is empty.
	DisplayName pulumi.StringPtrInput `pulumi:"displayName"`
	// Specifies the name of the role for internal use.
	// Required if `displayName` is empty.
	Name pulumi.StringPtrInput `pulumi:"name"`
}

A collection of arguments for invoking getRole.

func (LookupRoleOutputArgs) ElementType

func (LookupRoleOutputArgs) ElementType() reflect.Type

type LookupRoleResult

type LookupRoleResult struct {
	// The service catalog of the policy.
	Catalog string `pulumi:"catalog"`
	// The description of the policy.
	Description string `pulumi:"description"`
	DisplayName string `pulumi:"displayName"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The content of the policy.
	Policy string `pulumi:"policy"`
	// The display mode of the policy.
	Type string `pulumi:"type"`
}

A collection of values returned by getRole.

func LookupRole

func LookupRole(ctx *pulumi.Context, args *LookupRoleArgs, opts ...pulumi.InvokeOption) (*LookupRoleResult, error)

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.GetRole(ctx, &iam.GetRoleArgs{
			DisplayName: pulumi.StringRef("KMS Administrator"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRoleResultOutput

type LookupRoleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRole.

func (LookupRoleResultOutput) Catalog

The service catalog of the policy.

func (LookupRoleResultOutput) Description

func (o LookupRoleResultOutput) Description() pulumi.StringOutput

The description of the policy.

func (LookupRoleResultOutput) DisplayName

func (o LookupRoleResultOutput) DisplayName() pulumi.StringOutput

func (LookupRoleResultOutput) ElementType

func (LookupRoleResultOutput) ElementType() reflect.Type

func (LookupRoleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupRoleResultOutput) Name

func (LookupRoleResultOutput) Policy

The content of the policy.

func (LookupRoleResultOutput) ToLookupRoleResultOutput

func (o LookupRoleResultOutput) ToLookupRoleResultOutput() LookupRoleResultOutput

func (LookupRoleResultOutput) ToLookupRoleResultOutputWithContext

func (o LookupRoleResultOutput) ToLookupRoleResultOutputWithContext(ctx context.Context) LookupRoleResultOutput

func (LookupRoleResultOutput) Type

The display mode of the policy.

type Project

type Project struct {
	pulumi.CustomResourceState

	// Specifies the description of the project.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Enabling status of this project.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// Specifies the name of the project. it must start with an existing *region* and be less
	// than or equal to 64 characters. Example: cn-north-1_project1.
	Name pulumi.StringOutput `pulumi:"name"`
	// The parent of this project.
	ParentId pulumi.StringOutput `pulumi:"parentId"`
}

Manages a Project resource within HuaweiCloud Identity And Access Management service.

> You *must* have security admin privileges in your HuaweiCloud cloud to use this resource.

!> Deleting projects is not supported. The project is only removed from the state, but it remains in the cloud.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewProject(ctx, "project1", &Iam.ProjectArgs{
			Description: pulumi.String("This is a test project"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import huaweicloud:Iam/project:Project project_1 89c60255-9bd6-460c-822a-e2b959ede9d2

```

func GetProject

func GetProject(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProjectState, opts ...pulumi.ResourceOption) (*Project, error)

GetProject gets an existing Project 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 NewProject

func NewProject(ctx *pulumi.Context,
	name string, args *ProjectArgs, opts ...pulumi.ResourceOption) (*Project, error)

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

func (*Project) ElementType

func (*Project) ElementType() reflect.Type

func (*Project) ToProjectOutput

func (i *Project) ToProjectOutput() ProjectOutput

func (*Project) ToProjectOutputWithContext

func (i *Project) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

type ProjectArgs

type ProjectArgs struct {
	// Specifies the description of the project.
	Description pulumi.StringPtrInput
	// Specifies the name of the project. it must start with an existing *region* and be less
	// than or equal to 64 characters. Example: cn-north-1_project1.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Project resource.

func (ProjectArgs) ElementType

func (ProjectArgs) ElementType() reflect.Type

type ProjectArray

type ProjectArray []ProjectInput

func (ProjectArray) ElementType

func (ProjectArray) ElementType() reflect.Type

func (ProjectArray) ToProjectArrayOutput

func (i ProjectArray) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArray) ToProjectArrayOutputWithContext

func (i ProjectArray) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectArrayInput

type ProjectArrayInput interface {
	pulumi.Input

	ToProjectArrayOutput() ProjectArrayOutput
	ToProjectArrayOutputWithContext(context.Context) ProjectArrayOutput
}

ProjectArrayInput is an input type that accepts ProjectArray and ProjectArrayOutput values. You can construct a concrete instance of `ProjectArrayInput` via:

ProjectArray{ ProjectArgs{...} }

type ProjectArrayOutput

type ProjectArrayOutput struct{ *pulumi.OutputState }

func (ProjectArrayOutput) ElementType

func (ProjectArrayOutput) ElementType() reflect.Type

func (ProjectArrayOutput) Index

func (ProjectArrayOutput) ToProjectArrayOutput

func (o ProjectArrayOutput) ToProjectArrayOutput() ProjectArrayOutput

func (ProjectArrayOutput) ToProjectArrayOutputWithContext

func (o ProjectArrayOutput) ToProjectArrayOutputWithContext(ctx context.Context) ProjectArrayOutput

type ProjectInput

type ProjectInput interface {
	pulumi.Input

	ToProjectOutput() ProjectOutput
	ToProjectOutputWithContext(ctx context.Context) ProjectOutput
}

type ProjectMap

type ProjectMap map[string]ProjectInput

func (ProjectMap) ElementType

func (ProjectMap) ElementType() reflect.Type

func (ProjectMap) ToProjectMapOutput

func (i ProjectMap) ToProjectMapOutput() ProjectMapOutput

func (ProjectMap) ToProjectMapOutputWithContext

func (i ProjectMap) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectMapInput

type ProjectMapInput interface {
	pulumi.Input

	ToProjectMapOutput() ProjectMapOutput
	ToProjectMapOutputWithContext(context.Context) ProjectMapOutput
}

ProjectMapInput is an input type that accepts ProjectMap and ProjectMapOutput values. You can construct a concrete instance of `ProjectMapInput` via:

ProjectMap{ "key": ProjectArgs{...} }

type ProjectMapOutput

type ProjectMapOutput struct{ *pulumi.OutputState }

func (ProjectMapOutput) ElementType

func (ProjectMapOutput) ElementType() reflect.Type

func (ProjectMapOutput) MapIndex

func (ProjectMapOutput) ToProjectMapOutput

func (o ProjectMapOutput) ToProjectMapOutput() ProjectMapOutput

func (ProjectMapOutput) ToProjectMapOutputWithContext

func (o ProjectMapOutput) ToProjectMapOutputWithContext(ctx context.Context) ProjectMapOutput

type ProjectOutput

type ProjectOutput struct{ *pulumi.OutputState }

func (ProjectOutput) Description

func (o ProjectOutput) Description() pulumi.StringPtrOutput

Specifies the description of the project.

func (ProjectOutput) ElementType

func (ProjectOutput) ElementType() reflect.Type

func (ProjectOutput) Enabled

func (o ProjectOutput) Enabled() pulumi.BoolOutput

Enabling status of this project.

func (ProjectOutput) Name

Specifies the name of the project. it must start with an existing *region* and be less than or equal to 64 characters. Example: cn-north-1_project1.

func (ProjectOutput) ParentId

func (o ProjectOutput) ParentId() pulumi.StringOutput

The parent of this project.

func (ProjectOutput) ToProjectOutput

func (o ProjectOutput) ToProjectOutput() ProjectOutput

func (ProjectOutput) ToProjectOutputWithContext

func (o ProjectOutput) ToProjectOutputWithContext(ctx context.Context) ProjectOutput

type ProjectState

type ProjectState struct {
	// Specifies the description of the project.
	Description pulumi.StringPtrInput
	// Enabling status of this project.
	Enabled pulumi.BoolPtrInput
	// Specifies the name of the project. it must start with an existing *region* and be less
	// than or equal to 64 characters. Example: cn-north-1_project1.
	Name pulumi.StringPtrInput
	// The parent of this project.
	ParentId pulumi.StringPtrInput
}

func (ProjectState) ElementType

func (ProjectState) ElementType() reflect.Type

type Provider

type Provider struct {
	pulumi.CustomResourceState

	// Specifies the description of the identity provider.
	// This field is required only if the protocol is set to *oidc*.
	AccessConfig ProviderAccessConfigPtrOutput `pulumi:"accessConfig"`
	// The identity conversion rules of the identity provider.
	// The object structure is documented below
	ConversionRules ProviderConversionRuleArrayOutput `pulumi:"conversionRules"`
	// Specifies the description of the identity provider.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The login link of the identity provider.
	LoginLink pulumi.StringOutput `pulumi:"loginLink"`
	// Specifies the metadata of the IDP(Identity Provider) server.
	// To obtain the metadata file of your enterprise IDP, contact the enterprise administrator.
	// This field is used to import a metadata file to IAM to implement federated identity authentication.
	// This field is required only if the protocol is set to *saml*.
	// The maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.
	Metadata pulumi.StringPtrOutput `pulumi:"metadata"`
	// Specifies the name of the identity provider to be registered.
	// The maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.
	// The name is unique, it is recommended to include domain name information.
	// Changing this creates a new resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the protocol of the identity provider.
	// Valid values are *saml* and *oidc*.
	// Changing this creates a new resource.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The single sign-on type of the identity provider.
	SsoType pulumi.StringOutput `pulumi:"ssoType"`
	// Enabled status for the identity provider. Defaults to true.
	Status pulumi.BoolPtrOutput `pulumi:"status"`
}

Manages the identity providers within HuaweiCloud IAM service.

> **NOTE:** You can create up to 10 identity providers.

## Example Usage ### Create a SAML protocol provider

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewProvider(ctx, "provider1", &Iam.ProviderArgs{
			Protocol: pulumi.String("saml"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create a OpenID Connect protocol provider

```go package main

import (

"encoding/json"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"keys": []map[string]interface{}{
				map[string]interface{}{
					"alg": "RS256",
					"e":   "AQAB",
					"kid": "...",
					"kty": "RSA",
					"n":   "...",
					"use": "sig",
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = Iam.NewProvider(ctx, "provider2", &Iam.ProviderArgs{
			Protocol: pulumi.String("oidc"),
			AccessConfig: &iam.ProviderAccessConfigArgs{
				AccessType:            pulumi.String("program_console"),
				ProviderUrl:           pulumi.String("https://accounts.example.com"),
				ClientId:              pulumi.String("your_client_id"),
				AuthorizationEndpoint: pulumi.String("https://accounts.example.com/o/oauth2/v2/auth"),
				Scopes: pulumi.StringArray{
					pulumi.String("openid"),
				},
				SigningKey: pulumi.String(json0),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

<!--markdownlint-disable MD033-->

## Import

Identity provider can be imported using the `name`, e.g.

```sh

$ pulumi import huaweicloud:Iam/provider:Provider provider_1 example_com_provider_saml

```

func GetProvider

func GetProvider(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ProviderState, opts ...pulumi.ResourceOption) (*Provider, error)

GetProvider gets an existing Provider 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 NewProvider

func NewProvider(ctx *pulumi.Context,
	name string, args *ProviderArgs, opts ...pulumi.ResourceOption) (*Provider, error)

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

func (*Provider) ElementType

func (*Provider) ElementType() reflect.Type

func (*Provider) ToProviderOutput

func (i *Provider) ToProviderOutput() ProviderOutput

func (*Provider) ToProviderOutputWithContext

func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderAccessConfig

type ProviderAccessConfig struct {
	// Specifies the access type of the identity provider.
	// Available options are:
	// + `program`: programmatic access only.
	// + `programConsole`: programmatic access and management console access.
	AccessType string `pulumi:"accessType"`
	// Specifies the authorization endpoint of the OpenID Connect identity
	// provider. This field is required only if the access type is set to `programConsole`.
	AuthorizationEndpoint *string `pulumi:"authorizationEndpoint"`
	// Specifies the ID of a client registered with the OpenID Connect identity provider.
	ClientId string `pulumi:"clientId"`
	// Specifies the URL of the identity provider.
	// This field corresponds to the iss field in the ID token.
	ProviderUrl string `pulumi:"providerUrl"`
	// Response mode.
	// Valid values is *form_post* and *fragment*, default value is *form_post*.
	// This field is required only if the access type is set to `programConsole`.
	ResponseMode *string `pulumi:"responseMode"`
	// Response type. Valid values is *id_token*, default value is *id_token*.
	// This field is required only if the access type is set to `programConsole`.
	ResponseType *string `pulumi:"responseType"`
	// Specifies the scopes of authorization requests. It is an array of one or more scopes.
	// Valid values are *openid*, *email*, *profile* and other values defined by you.
	// This field is required only if the access type is set to `programConsole`.
	Scopes []string `pulumi:"scopes"`
	// Public key used to sign the ID token of the OpenID Connect identity provider.
	// This field is required only if the protocol is set to *oidc*.
	SigningKey string `pulumi:"signingKey"`
}

type ProviderAccessConfigArgs

type ProviderAccessConfigArgs struct {
	// Specifies the access type of the identity provider.
	// Available options are:
	// + `program`: programmatic access only.
	// + `programConsole`: programmatic access and management console access.
	AccessType pulumi.StringInput `pulumi:"accessType"`
	// Specifies the authorization endpoint of the OpenID Connect identity
	// provider. This field is required only if the access type is set to `programConsole`.
	AuthorizationEndpoint pulumi.StringPtrInput `pulumi:"authorizationEndpoint"`
	// Specifies the ID of a client registered with the OpenID Connect identity provider.
	ClientId pulumi.StringInput `pulumi:"clientId"`
	// Specifies the URL of the identity provider.
	// This field corresponds to the iss field in the ID token.
	ProviderUrl pulumi.StringInput `pulumi:"providerUrl"`
	// Response mode.
	// Valid values is *form_post* and *fragment*, default value is *form_post*.
	// This field is required only if the access type is set to `programConsole`.
	ResponseMode pulumi.StringPtrInput `pulumi:"responseMode"`
	// Response type. Valid values is *id_token*, default value is *id_token*.
	// This field is required only if the access type is set to `programConsole`.
	ResponseType pulumi.StringPtrInput `pulumi:"responseType"`
	// Specifies the scopes of authorization requests. It is an array of one or more scopes.
	// Valid values are *openid*, *email*, *profile* and other values defined by you.
	// This field is required only if the access type is set to `programConsole`.
	Scopes pulumi.StringArrayInput `pulumi:"scopes"`
	// Public key used to sign the ID token of the OpenID Connect identity provider.
	// This field is required only if the protocol is set to *oidc*.
	SigningKey pulumi.StringInput `pulumi:"signingKey"`
}

func (ProviderAccessConfigArgs) ElementType

func (ProviderAccessConfigArgs) ElementType() reflect.Type

func (ProviderAccessConfigArgs) ToProviderAccessConfigOutput

func (i ProviderAccessConfigArgs) ToProviderAccessConfigOutput() ProviderAccessConfigOutput

func (ProviderAccessConfigArgs) ToProviderAccessConfigOutputWithContext

func (i ProviderAccessConfigArgs) ToProviderAccessConfigOutputWithContext(ctx context.Context) ProviderAccessConfigOutput

func (ProviderAccessConfigArgs) ToProviderAccessConfigPtrOutput

func (i ProviderAccessConfigArgs) ToProviderAccessConfigPtrOutput() ProviderAccessConfigPtrOutput

func (ProviderAccessConfigArgs) ToProviderAccessConfigPtrOutputWithContext

func (i ProviderAccessConfigArgs) ToProviderAccessConfigPtrOutputWithContext(ctx context.Context) ProviderAccessConfigPtrOutput

type ProviderAccessConfigInput

type ProviderAccessConfigInput interface {
	pulumi.Input

	ToProviderAccessConfigOutput() ProviderAccessConfigOutput
	ToProviderAccessConfigOutputWithContext(context.Context) ProviderAccessConfigOutput
}

ProviderAccessConfigInput is an input type that accepts ProviderAccessConfigArgs and ProviderAccessConfigOutput values. You can construct a concrete instance of `ProviderAccessConfigInput` via:

ProviderAccessConfigArgs{...}

type ProviderAccessConfigOutput

type ProviderAccessConfigOutput struct{ *pulumi.OutputState }

func (ProviderAccessConfigOutput) AccessType

Specifies the access type of the identity provider. Available options are: + `program`: programmatic access only. + `programConsole`: programmatic access and management console access.

func (ProviderAccessConfigOutput) AuthorizationEndpoint

func (o ProviderAccessConfigOutput) AuthorizationEndpoint() pulumi.StringPtrOutput

Specifies the authorization endpoint of the OpenID Connect identity provider. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigOutput) ClientId

Specifies the ID of a client registered with the OpenID Connect identity provider.

func (ProviderAccessConfigOutput) ElementType

func (ProviderAccessConfigOutput) ElementType() reflect.Type

func (ProviderAccessConfigOutput) ProviderUrl

Specifies the URL of the identity provider. This field corresponds to the iss field in the ID token.

func (ProviderAccessConfigOutput) ResponseMode

Response mode. Valid values is *form_post* and *fragment*, default value is *form_post*. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigOutput) ResponseType

Response type. Valid values is *id_token*, default value is *id_token*. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigOutput) Scopes

Specifies the scopes of authorization requests. It is an array of one or more scopes. Valid values are *openid*, *email*, *profile* and other values defined by you. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigOutput) SigningKey

Public key used to sign the ID token of the OpenID Connect identity provider. This field is required only if the protocol is set to *oidc*.

func (ProviderAccessConfigOutput) ToProviderAccessConfigOutput

func (o ProviderAccessConfigOutput) ToProviderAccessConfigOutput() ProviderAccessConfigOutput

func (ProviderAccessConfigOutput) ToProviderAccessConfigOutputWithContext

func (o ProviderAccessConfigOutput) ToProviderAccessConfigOutputWithContext(ctx context.Context) ProviderAccessConfigOutput

func (ProviderAccessConfigOutput) ToProviderAccessConfigPtrOutput

func (o ProviderAccessConfigOutput) ToProviderAccessConfigPtrOutput() ProviderAccessConfigPtrOutput

func (ProviderAccessConfigOutput) ToProviderAccessConfigPtrOutputWithContext

func (o ProviderAccessConfigOutput) ToProviderAccessConfigPtrOutputWithContext(ctx context.Context) ProviderAccessConfigPtrOutput

type ProviderAccessConfigPtrInput

type ProviderAccessConfigPtrInput interface {
	pulumi.Input

	ToProviderAccessConfigPtrOutput() ProviderAccessConfigPtrOutput
	ToProviderAccessConfigPtrOutputWithContext(context.Context) ProviderAccessConfigPtrOutput
}

ProviderAccessConfigPtrInput is an input type that accepts ProviderAccessConfigArgs, ProviderAccessConfigPtr and ProviderAccessConfigPtrOutput values. You can construct a concrete instance of `ProviderAccessConfigPtrInput` via:

        ProviderAccessConfigArgs{...}

or:

        nil

type ProviderAccessConfigPtrOutput

type ProviderAccessConfigPtrOutput struct{ *pulumi.OutputState }

func (ProviderAccessConfigPtrOutput) AccessType

Specifies the access type of the identity provider. Available options are: + `program`: programmatic access only. + `programConsole`: programmatic access and management console access.

func (ProviderAccessConfigPtrOutput) AuthorizationEndpoint

func (o ProviderAccessConfigPtrOutput) AuthorizationEndpoint() pulumi.StringPtrOutput

Specifies the authorization endpoint of the OpenID Connect identity provider. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigPtrOutput) ClientId

Specifies the ID of a client registered with the OpenID Connect identity provider.

func (ProviderAccessConfigPtrOutput) Elem

func (ProviderAccessConfigPtrOutput) ElementType

func (ProviderAccessConfigPtrOutput) ProviderUrl

Specifies the URL of the identity provider. This field corresponds to the iss field in the ID token.

func (ProviderAccessConfigPtrOutput) ResponseMode

Response mode. Valid values is *form_post* and *fragment*, default value is *form_post*. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigPtrOutput) ResponseType

Response type. Valid values is *id_token*, default value is *id_token*. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigPtrOutput) Scopes

Specifies the scopes of authorization requests. It is an array of one or more scopes. Valid values are *openid*, *email*, *profile* and other values defined by you. This field is required only if the access type is set to `programConsole`.

func (ProviderAccessConfigPtrOutput) SigningKey

Public key used to sign the ID token of the OpenID Connect identity provider. This field is required only if the protocol is set to *oidc*.

func (ProviderAccessConfigPtrOutput) ToProviderAccessConfigPtrOutput

func (o ProviderAccessConfigPtrOutput) ToProviderAccessConfigPtrOutput() ProviderAccessConfigPtrOutput

func (ProviderAccessConfigPtrOutput) ToProviderAccessConfigPtrOutputWithContext

func (o ProviderAccessConfigPtrOutput) ToProviderAccessConfigPtrOutputWithContext(ctx context.Context) ProviderAccessConfigPtrOutput

type ProviderArgs

type ProviderArgs struct {
	// Specifies the description of the identity provider.
	// This field is required only if the protocol is set to *oidc*.
	AccessConfig ProviderAccessConfigPtrInput
	// Specifies the description of the identity provider.
	Description pulumi.StringPtrInput
	// Specifies the metadata of the IDP(Identity Provider) server.
	// To obtain the metadata file of your enterprise IDP, contact the enterprise administrator.
	// This field is used to import a metadata file to IAM to implement federated identity authentication.
	// This field is required only if the protocol is set to *saml*.
	// The maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.
	Metadata pulumi.StringPtrInput
	// Specifies the name of the identity provider to be registered.
	// The maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.
	// The name is unique, it is recommended to include domain name information.
	// Changing this creates a new resource.
	Name pulumi.StringPtrInput
	// Specifies the protocol of the identity provider.
	// Valid values are *saml* and *oidc*.
	// Changing this creates a new resource.
	Protocol pulumi.StringInput
	// Enabled status for the identity provider. Defaults to true.
	Status pulumi.BoolPtrInput
}

The set of arguments for constructing a Provider resource.

func (ProviderArgs) ElementType

func (ProviderArgs) ElementType() reflect.Type

type ProviderArray

type ProviderArray []ProviderInput

func (ProviderArray) ElementType

func (ProviderArray) ElementType() reflect.Type

func (ProviderArray) ToProviderArrayOutput

func (i ProviderArray) ToProviderArrayOutput() ProviderArrayOutput

func (ProviderArray) ToProviderArrayOutputWithContext

func (i ProviderArray) ToProviderArrayOutputWithContext(ctx context.Context) ProviderArrayOutput

type ProviderArrayInput

type ProviderArrayInput interface {
	pulumi.Input

	ToProviderArrayOutput() ProviderArrayOutput
	ToProviderArrayOutputWithContext(context.Context) ProviderArrayOutput
}

ProviderArrayInput is an input type that accepts ProviderArray and ProviderArrayOutput values. You can construct a concrete instance of `ProviderArrayInput` via:

ProviderArray{ ProviderArgs{...} }

type ProviderArrayOutput

type ProviderArrayOutput struct{ *pulumi.OutputState }

func (ProviderArrayOutput) ElementType

func (ProviderArrayOutput) ElementType() reflect.Type

func (ProviderArrayOutput) Index

func (ProviderArrayOutput) ToProviderArrayOutput

func (o ProviderArrayOutput) ToProviderArrayOutput() ProviderArrayOutput

func (ProviderArrayOutput) ToProviderArrayOutputWithContext

func (o ProviderArrayOutput) ToProviderArrayOutputWithContext(ctx context.Context) ProviderArrayOutput

type ProviderConversionRule

type ProviderConversionRule struct {
	// The federated user information on the cloud platform.
	Locals []ProviderConversionRuleLocal `pulumi:"locals"`
	// The description of the identity provider.
	Remotes []ProviderConversionRuleRemote `pulumi:"remotes"`
}

type ProviderConversionRuleArgs

type ProviderConversionRuleArgs struct {
	// The federated user information on the cloud platform.
	Locals ProviderConversionRuleLocalArrayInput `pulumi:"locals"`
	// The description of the identity provider.
	Remotes ProviderConversionRuleRemoteArrayInput `pulumi:"remotes"`
}

func (ProviderConversionRuleArgs) ElementType

func (ProviderConversionRuleArgs) ElementType() reflect.Type

func (ProviderConversionRuleArgs) ToProviderConversionRuleOutput

func (i ProviderConversionRuleArgs) ToProviderConversionRuleOutput() ProviderConversionRuleOutput

func (ProviderConversionRuleArgs) ToProviderConversionRuleOutputWithContext

func (i ProviderConversionRuleArgs) ToProviderConversionRuleOutputWithContext(ctx context.Context) ProviderConversionRuleOutput

type ProviderConversionRuleArray

type ProviderConversionRuleArray []ProviderConversionRuleInput

func (ProviderConversionRuleArray) ElementType

func (ProviderConversionRuleArray) ToProviderConversionRuleArrayOutput

func (i ProviderConversionRuleArray) ToProviderConversionRuleArrayOutput() ProviderConversionRuleArrayOutput

func (ProviderConversionRuleArray) ToProviderConversionRuleArrayOutputWithContext

func (i ProviderConversionRuleArray) ToProviderConversionRuleArrayOutputWithContext(ctx context.Context) ProviderConversionRuleArrayOutput

type ProviderConversionRuleArrayInput

type ProviderConversionRuleArrayInput interface {
	pulumi.Input

	ToProviderConversionRuleArrayOutput() ProviderConversionRuleArrayOutput
	ToProviderConversionRuleArrayOutputWithContext(context.Context) ProviderConversionRuleArrayOutput
}

ProviderConversionRuleArrayInput is an input type that accepts ProviderConversionRuleArray and ProviderConversionRuleArrayOutput values. You can construct a concrete instance of `ProviderConversionRuleArrayInput` via:

ProviderConversionRuleArray{ ProviderConversionRuleArgs{...} }

type ProviderConversionRuleArrayOutput

type ProviderConversionRuleArrayOutput struct{ *pulumi.OutputState }

func (ProviderConversionRuleArrayOutput) ElementType

func (ProviderConversionRuleArrayOutput) Index

func (ProviderConversionRuleArrayOutput) ToProviderConversionRuleArrayOutput

func (o ProviderConversionRuleArrayOutput) ToProviderConversionRuleArrayOutput() ProviderConversionRuleArrayOutput

func (ProviderConversionRuleArrayOutput) ToProviderConversionRuleArrayOutputWithContext

func (o ProviderConversionRuleArrayOutput) ToProviderConversionRuleArrayOutputWithContext(ctx context.Context) ProviderConversionRuleArrayOutput

type ProviderConversionRuleInput

type ProviderConversionRuleInput interface {
	pulumi.Input

	ToProviderConversionRuleOutput() ProviderConversionRuleOutput
	ToProviderConversionRuleOutputWithContext(context.Context) ProviderConversionRuleOutput
}

ProviderConversionRuleInput is an input type that accepts ProviderConversionRuleArgs and ProviderConversionRuleOutput values. You can construct a concrete instance of `ProviderConversionRuleInput` via:

ProviderConversionRuleArgs{...}

type ProviderConversionRuleLocal

type ProviderConversionRuleLocal struct {
	// The user group to which the federated user belongs on the cloud platform.
	Group *string `pulumi:"group"`
	// The name of a federated user on the cloud platform.
	Username *string `pulumi:"username"`
}

type ProviderConversionRuleLocalArgs

type ProviderConversionRuleLocalArgs struct {
	// The user group to which the federated user belongs on the cloud platform.
	Group pulumi.StringPtrInput `pulumi:"group"`
	// The name of a federated user on the cloud platform.
	Username pulumi.StringPtrInput `pulumi:"username"`
}

func (ProviderConversionRuleLocalArgs) ElementType

func (ProviderConversionRuleLocalArgs) ToProviderConversionRuleLocalOutput

func (i ProviderConversionRuleLocalArgs) ToProviderConversionRuleLocalOutput() ProviderConversionRuleLocalOutput

func (ProviderConversionRuleLocalArgs) ToProviderConversionRuleLocalOutputWithContext

func (i ProviderConversionRuleLocalArgs) ToProviderConversionRuleLocalOutputWithContext(ctx context.Context) ProviderConversionRuleLocalOutput

type ProviderConversionRuleLocalArray

type ProviderConversionRuleLocalArray []ProviderConversionRuleLocalInput

func (ProviderConversionRuleLocalArray) ElementType

func (ProviderConversionRuleLocalArray) ToProviderConversionRuleLocalArrayOutput

func (i ProviderConversionRuleLocalArray) ToProviderConversionRuleLocalArrayOutput() ProviderConversionRuleLocalArrayOutput

func (ProviderConversionRuleLocalArray) ToProviderConversionRuleLocalArrayOutputWithContext

func (i ProviderConversionRuleLocalArray) ToProviderConversionRuleLocalArrayOutputWithContext(ctx context.Context) ProviderConversionRuleLocalArrayOutput

type ProviderConversionRuleLocalArrayInput

type ProviderConversionRuleLocalArrayInput interface {
	pulumi.Input

	ToProviderConversionRuleLocalArrayOutput() ProviderConversionRuleLocalArrayOutput
	ToProviderConversionRuleLocalArrayOutputWithContext(context.Context) ProviderConversionRuleLocalArrayOutput
}

ProviderConversionRuleLocalArrayInput is an input type that accepts ProviderConversionRuleLocalArray and ProviderConversionRuleLocalArrayOutput values. You can construct a concrete instance of `ProviderConversionRuleLocalArrayInput` via:

ProviderConversionRuleLocalArray{ ProviderConversionRuleLocalArgs{...} }

type ProviderConversionRuleLocalArrayOutput

type ProviderConversionRuleLocalArrayOutput struct{ *pulumi.OutputState }

func (ProviderConversionRuleLocalArrayOutput) ElementType

func (ProviderConversionRuleLocalArrayOutput) Index

func (ProviderConversionRuleLocalArrayOutput) ToProviderConversionRuleLocalArrayOutput

func (o ProviderConversionRuleLocalArrayOutput) ToProviderConversionRuleLocalArrayOutput() ProviderConversionRuleLocalArrayOutput

func (ProviderConversionRuleLocalArrayOutput) ToProviderConversionRuleLocalArrayOutputWithContext

func (o ProviderConversionRuleLocalArrayOutput) ToProviderConversionRuleLocalArrayOutputWithContext(ctx context.Context) ProviderConversionRuleLocalArrayOutput

type ProviderConversionRuleLocalInput

type ProviderConversionRuleLocalInput interface {
	pulumi.Input

	ToProviderConversionRuleLocalOutput() ProviderConversionRuleLocalOutput
	ToProviderConversionRuleLocalOutputWithContext(context.Context) ProviderConversionRuleLocalOutput
}

ProviderConversionRuleLocalInput is an input type that accepts ProviderConversionRuleLocalArgs and ProviderConversionRuleLocalOutput values. You can construct a concrete instance of `ProviderConversionRuleLocalInput` via:

ProviderConversionRuleLocalArgs{...}

type ProviderConversionRuleLocalOutput

type ProviderConversionRuleLocalOutput struct{ *pulumi.OutputState }

func (ProviderConversionRuleLocalOutput) ElementType

func (ProviderConversionRuleLocalOutput) Group

The user group to which the federated user belongs on the cloud platform.

func (ProviderConversionRuleLocalOutput) ToProviderConversionRuleLocalOutput

func (o ProviderConversionRuleLocalOutput) ToProviderConversionRuleLocalOutput() ProviderConversionRuleLocalOutput

func (ProviderConversionRuleLocalOutput) ToProviderConversionRuleLocalOutputWithContext

func (o ProviderConversionRuleLocalOutput) ToProviderConversionRuleLocalOutputWithContext(ctx context.Context) ProviderConversionRuleLocalOutput

func (ProviderConversionRuleLocalOutput) Username

The name of a federated user on the cloud platform.

type ProviderConversionRuleOutput

type ProviderConversionRuleOutput struct{ *pulumi.OutputState }

func (ProviderConversionRuleOutput) ElementType

func (ProviderConversionRuleOutput) Locals

The federated user information on the cloud platform.

func (ProviderConversionRuleOutput) Remotes

The description of the identity provider.

func (ProviderConversionRuleOutput) ToProviderConversionRuleOutput

func (o ProviderConversionRuleOutput) ToProviderConversionRuleOutput() ProviderConversionRuleOutput

func (ProviderConversionRuleOutput) ToProviderConversionRuleOutputWithContext

func (o ProviderConversionRuleOutput) ToProviderConversionRuleOutputWithContext(ctx context.Context) ProviderConversionRuleOutput

type ProviderConversionRuleRemote

type ProviderConversionRuleRemote struct {
	// The attribute in the IDP assertion.
	Attribute *string `pulumi:"attribute"`
	// The condition of conversion rule.
	Condition *string `pulumi:"condition"`
	// The rule is matched only if the specified strings appear in the attribute type.
	Values []string `pulumi:"values"`
}

type ProviderConversionRuleRemoteArgs

type ProviderConversionRuleRemoteArgs struct {
	// The attribute in the IDP assertion.
	Attribute pulumi.StringPtrInput `pulumi:"attribute"`
	// The condition of conversion rule.
	Condition pulumi.StringPtrInput `pulumi:"condition"`
	// The rule is matched only if the specified strings appear in the attribute type.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (ProviderConversionRuleRemoteArgs) ElementType

func (ProviderConversionRuleRemoteArgs) ToProviderConversionRuleRemoteOutput

func (i ProviderConversionRuleRemoteArgs) ToProviderConversionRuleRemoteOutput() ProviderConversionRuleRemoteOutput

func (ProviderConversionRuleRemoteArgs) ToProviderConversionRuleRemoteOutputWithContext

func (i ProviderConversionRuleRemoteArgs) ToProviderConversionRuleRemoteOutputWithContext(ctx context.Context) ProviderConversionRuleRemoteOutput

type ProviderConversionRuleRemoteArray

type ProviderConversionRuleRemoteArray []ProviderConversionRuleRemoteInput

func (ProviderConversionRuleRemoteArray) ElementType

func (ProviderConversionRuleRemoteArray) ToProviderConversionRuleRemoteArrayOutput

func (i ProviderConversionRuleRemoteArray) ToProviderConversionRuleRemoteArrayOutput() ProviderConversionRuleRemoteArrayOutput

func (ProviderConversionRuleRemoteArray) ToProviderConversionRuleRemoteArrayOutputWithContext

func (i ProviderConversionRuleRemoteArray) ToProviderConversionRuleRemoteArrayOutputWithContext(ctx context.Context) ProviderConversionRuleRemoteArrayOutput

type ProviderConversionRuleRemoteArrayInput

type ProviderConversionRuleRemoteArrayInput interface {
	pulumi.Input

	ToProviderConversionRuleRemoteArrayOutput() ProviderConversionRuleRemoteArrayOutput
	ToProviderConversionRuleRemoteArrayOutputWithContext(context.Context) ProviderConversionRuleRemoteArrayOutput
}

ProviderConversionRuleRemoteArrayInput is an input type that accepts ProviderConversionRuleRemoteArray and ProviderConversionRuleRemoteArrayOutput values. You can construct a concrete instance of `ProviderConversionRuleRemoteArrayInput` via:

ProviderConversionRuleRemoteArray{ ProviderConversionRuleRemoteArgs{...} }

type ProviderConversionRuleRemoteArrayOutput

type ProviderConversionRuleRemoteArrayOutput struct{ *pulumi.OutputState }

func (ProviderConversionRuleRemoteArrayOutput) ElementType

func (ProviderConversionRuleRemoteArrayOutput) Index

func (ProviderConversionRuleRemoteArrayOutput) ToProviderConversionRuleRemoteArrayOutput

func (o ProviderConversionRuleRemoteArrayOutput) ToProviderConversionRuleRemoteArrayOutput() ProviderConversionRuleRemoteArrayOutput

func (ProviderConversionRuleRemoteArrayOutput) ToProviderConversionRuleRemoteArrayOutputWithContext

func (o ProviderConversionRuleRemoteArrayOutput) ToProviderConversionRuleRemoteArrayOutputWithContext(ctx context.Context) ProviderConversionRuleRemoteArrayOutput

type ProviderConversionRuleRemoteInput

type ProviderConversionRuleRemoteInput interface {
	pulumi.Input

	ToProviderConversionRuleRemoteOutput() ProviderConversionRuleRemoteOutput
	ToProviderConversionRuleRemoteOutputWithContext(context.Context) ProviderConversionRuleRemoteOutput
}

ProviderConversionRuleRemoteInput is an input type that accepts ProviderConversionRuleRemoteArgs and ProviderConversionRuleRemoteOutput values. You can construct a concrete instance of `ProviderConversionRuleRemoteInput` via:

ProviderConversionRuleRemoteArgs{...}

type ProviderConversionRuleRemoteOutput

type ProviderConversionRuleRemoteOutput struct{ *pulumi.OutputState }

func (ProviderConversionRuleRemoteOutput) Attribute

The attribute in the IDP assertion.

func (ProviderConversionRuleRemoteOutput) Condition

The condition of conversion rule.

func (ProviderConversionRuleRemoteOutput) ElementType

func (ProviderConversionRuleRemoteOutput) ToProviderConversionRuleRemoteOutput

func (o ProviderConversionRuleRemoteOutput) ToProviderConversionRuleRemoteOutput() ProviderConversionRuleRemoteOutput

func (ProviderConversionRuleRemoteOutput) ToProviderConversionRuleRemoteOutputWithContext

func (o ProviderConversionRuleRemoteOutput) ToProviderConversionRuleRemoteOutputWithContext(ctx context.Context) ProviderConversionRuleRemoteOutput

func (ProviderConversionRuleRemoteOutput) Values

The rule is matched only if the specified strings appear in the attribute type.

type ProviderInput

type ProviderInput interface {
	pulumi.Input

	ToProviderOutput() ProviderOutput
	ToProviderOutputWithContext(ctx context.Context) ProviderOutput
}

type ProviderMap

type ProviderMap map[string]ProviderInput

func (ProviderMap) ElementType

func (ProviderMap) ElementType() reflect.Type

func (ProviderMap) ToProviderMapOutput

func (i ProviderMap) ToProviderMapOutput() ProviderMapOutput

func (ProviderMap) ToProviderMapOutputWithContext

func (i ProviderMap) ToProviderMapOutputWithContext(ctx context.Context) ProviderMapOutput

type ProviderMapInput

type ProviderMapInput interface {
	pulumi.Input

	ToProviderMapOutput() ProviderMapOutput
	ToProviderMapOutputWithContext(context.Context) ProviderMapOutput
}

ProviderMapInput is an input type that accepts ProviderMap and ProviderMapOutput values. You can construct a concrete instance of `ProviderMapInput` via:

ProviderMap{ "key": ProviderArgs{...} }

type ProviderMapOutput

type ProviderMapOutput struct{ *pulumi.OutputState }

func (ProviderMapOutput) ElementType

func (ProviderMapOutput) ElementType() reflect.Type

func (ProviderMapOutput) MapIndex

func (ProviderMapOutput) ToProviderMapOutput

func (o ProviderMapOutput) ToProviderMapOutput() ProviderMapOutput

func (ProviderMapOutput) ToProviderMapOutputWithContext

func (o ProviderMapOutput) ToProviderMapOutputWithContext(ctx context.Context) ProviderMapOutput

type ProviderOutput

type ProviderOutput struct{ *pulumi.OutputState }

func (ProviderOutput) AccessConfig

Specifies the description of the identity provider. This field is required only if the protocol is set to *oidc*.

func (ProviderOutput) ConversionRules

The identity conversion rules of the identity provider. The object structure is documented below

func (ProviderOutput) Description

func (o ProviderOutput) Description() pulumi.StringPtrOutput

Specifies the description of the identity provider.

func (ProviderOutput) ElementType

func (ProviderOutput) ElementType() reflect.Type
func (o ProviderOutput) LoginLink() pulumi.StringOutput

The login link of the identity provider.

func (ProviderOutput) Metadata

func (o ProviderOutput) Metadata() pulumi.StringPtrOutput

Specifies the metadata of the IDP(Identity Provider) server. To obtain the metadata file of your enterprise IDP, contact the enterprise administrator. This field is used to import a metadata file to IAM to implement federated identity authentication. This field is required only if the protocol is set to *saml*. The maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.

func (ProviderOutput) Name

Specifies the name of the identity provider to be registered. The maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed. The name is unique, it is recommended to include domain name information. Changing this creates a new resource.

func (ProviderOutput) Protocol

func (o ProviderOutput) Protocol() pulumi.StringOutput

Specifies the protocol of the identity provider. Valid values are *saml* and *oidc*. Changing this creates a new resource.

func (ProviderOutput) SsoType

func (o ProviderOutput) SsoType() pulumi.StringOutput

The single sign-on type of the identity provider.

func (ProviderOutput) Status

func (o ProviderOutput) Status() pulumi.BoolPtrOutput

Enabled status for the identity provider. Defaults to true.

func (ProviderOutput) ToProviderOutput

func (o ProviderOutput) ToProviderOutput() ProviderOutput

func (ProviderOutput) ToProviderOutputWithContext

func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) ProviderOutput

type ProviderState

type ProviderState struct {
	// Specifies the description of the identity provider.
	// This field is required only if the protocol is set to *oidc*.
	AccessConfig ProviderAccessConfigPtrInput
	// The identity conversion rules of the identity provider.
	// The object structure is documented below
	ConversionRules ProviderConversionRuleArrayInput
	// Specifies the description of the identity provider.
	Description pulumi.StringPtrInput
	// The login link of the identity provider.
	LoginLink pulumi.StringPtrInput
	// Specifies the metadata of the IDP(Identity Provider) server.
	// To obtain the metadata file of your enterprise IDP, contact the enterprise administrator.
	// This field is used to import a metadata file to IAM to implement federated identity authentication.
	// This field is required only if the protocol is set to *saml*.
	// The maximum length is 30,000 characters and it stores in the state with SHA1 algorithm.
	Metadata pulumi.StringPtrInput
	// Specifies the name of the identity provider to be registered.
	// The maximum length is 64 characters. Only letters, digits, underscores (_), and hyphens (-) are allowed.
	// The name is unique, it is recommended to include domain name information.
	// Changing this creates a new resource.
	Name pulumi.StringPtrInput
	// Specifies the protocol of the identity provider.
	// Valid values are *saml* and *oidc*.
	// Changing this creates a new resource.
	Protocol pulumi.StringPtrInput
	// The single sign-on type of the identity provider.
	SsoType pulumi.StringPtrInput
	// Enabled status for the identity provider. Defaults to true.
	Status pulumi.BoolPtrInput
}

func (ProviderState) ElementType

func (ProviderState) ElementType() reflect.Type

type Role

type Role struct {
	pulumi.CustomResourceState

	// Description of the custom policy.
	Description pulumi.StringOutput `pulumi:"description"`
	// Name of the custom policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// Document of the custom policy in JSON format. For more details, please refer to the
	// [official document](https://support.huaweicloud.com/intl/en-us/usermanual-iam/iam_01_0017.html).
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The number of references.
	References pulumi.IntOutput `pulumi:"references"`
	// Display mode. Valid options are *AX*: Account level and *XA*: Project level.
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages a **Custom Policy** resource within HuaweiCloud IAM service.

->**Note** You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewRole(ctx, "role1", &Iam.RoleArgs{
			Description: pulumi.String("created by terraform"),
			Policy: pulumi.String(fmt.Sprintf(`{
  "Version": "1.1",
  "Statement": [
    {
      "Action": [
        "obs:bucket:GetBucketAcl"
      ],
      "Effect": "Allow",
      "Resource": [
        "obs:*:*:bucket:*"
      ],
      "Condition": {
        "StringStartWith": {
          "g:ProjectName": [
            "cn-north-4"
          ]
        }
      }
    }
  ]
}

`)),

			Type: pulumi.String("AX"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import huaweicloud:Iam/role:Role role1 89c60255-9bd6-460c-822a-e2b959ede9d2

```

func GetRole

func GetRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RoleState, opts ...pulumi.ResourceOption) (*Role, error)

GetRole gets an existing Role 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 NewRole

func NewRole(ctx *pulumi.Context,
	name string, args *RoleArgs, opts ...pulumi.ResourceOption) (*Role, error)

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

func (*Role) ElementType

func (*Role) ElementType() reflect.Type

func (*Role) ToRoleOutput

func (i *Role) ToRoleOutput() RoleOutput

func (*Role) ToRoleOutputWithContext

func (i *Role) ToRoleOutputWithContext(ctx context.Context) RoleOutput

type RoleArgs

type RoleArgs struct {
	// Description of the custom policy.
	Description pulumi.StringInput
	// Name of the custom policy.
	Name pulumi.StringPtrInput
	// Document of the custom policy in JSON format. For more details, please refer to the
	// [official document](https://support.huaweicloud.com/intl/en-us/usermanual-iam/iam_01_0017.html).
	Policy pulumi.StringInput
	// Display mode. Valid options are *AX*: Account level and *XA*: Project level.
	Type pulumi.StringInput
}

The set of arguments for constructing a Role resource.

func (RoleArgs) ElementType

func (RoleArgs) ElementType() reflect.Type

type RoleArray

type RoleArray []RoleInput

func (RoleArray) ElementType

func (RoleArray) ElementType() reflect.Type

func (RoleArray) ToRoleArrayOutput

func (i RoleArray) ToRoleArrayOutput() RoleArrayOutput

func (RoleArray) ToRoleArrayOutputWithContext

func (i RoleArray) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput

type RoleArrayInput

type RoleArrayInput interface {
	pulumi.Input

	ToRoleArrayOutput() RoleArrayOutput
	ToRoleArrayOutputWithContext(context.Context) RoleArrayOutput
}

RoleArrayInput is an input type that accepts RoleArray and RoleArrayOutput values. You can construct a concrete instance of `RoleArrayInput` via:

RoleArray{ RoleArgs{...} }

type RoleArrayOutput

type RoleArrayOutput struct{ *pulumi.OutputState }

func (RoleArrayOutput) ElementType

func (RoleArrayOutput) ElementType() reflect.Type

func (RoleArrayOutput) Index

func (RoleArrayOutput) ToRoleArrayOutput

func (o RoleArrayOutput) ToRoleArrayOutput() RoleArrayOutput

func (RoleArrayOutput) ToRoleArrayOutputWithContext

func (o RoleArrayOutput) ToRoleArrayOutputWithContext(ctx context.Context) RoleArrayOutput

type RoleAssignment

type RoleAssignment struct {
	pulumi.CustomResourceState

	// Specifies the domain to assign the role in.
	// Required if `projectId` is empty. Changing this parameter will create a new resource.
	DomainId            pulumi.StringPtrOutput `pulumi:"domainId"`
	EnterpriseProjectId pulumi.StringPtrOutput `pulumi:"enterpriseProjectId"`
	// Specifies the group to assign the role to.
	// Changing this parameter will create a new resource.
	GroupId pulumi.StringOutput `pulumi:"groupId"`
	// Specifies the project to assign the role in.
	// Required if `domainId` is empty. Changing this parameter will create a new resource.
	ProjectId pulumi.StringPtrOutput `pulumi:"projectId"`
	// Specifies the role to assign.
	// Changing this parameter will create a new resource.
	RoleId pulumi.StringOutput `pulumi:"roleId"`
}

Manages a Role assignment within group on HuaweiCloud IAM Service.

Note: You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage ### Assign Role On Project Level

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		role1, err := Iam.GetRole(ctx, &iam.GetRoleArgs{
			Name: pulumi.StringRef("rds_adm"),
		}, nil)
		if err != nil {
			return err
		}
		group1, err := Iam.NewGroup(ctx, "group1", nil)
		if err != nil {
			return err
		}
		_, err = Iam.NewRoleAssignment(ctx, "roleAssignment1", &Iam.RoleAssignmentArgs{
			RoleId:    pulumi.String(role1.Id),
			GroupId:   group1.ID(),
			ProjectId: pulumi.Any(_var.Project_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Assign Role On Domain Level

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		role1, err := Iam.GetRole(ctx, &iam.GetRoleArgs{
			Name: pulumi.StringRef("secu_admin"),
		}, nil)
		if err != nil {
			return err
		}
		group1, err := Iam.NewGroup(ctx, "group1", nil)
		if err != nil {
			return err
		}
		_, err = Iam.NewRoleAssignment(ctx, "roleAssignment1", &Iam.RoleAssignmentArgs{
			RoleId:   pulumi.String(role1.Id),
			GroupId:  group1.ID(),
			DomainId: pulumi.Any(_var.Domain_id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRoleAssignment

func GetRoleAssignment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RoleAssignmentState, opts ...pulumi.ResourceOption) (*RoleAssignment, error)

GetRoleAssignment gets an existing RoleAssignment 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 NewRoleAssignment

func NewRoleAssignment(ctx *pulumi.Context,
	name string, args *RoleAssignmentArgs, opts ...pulumi.ResourceOption) (*RoleAssignment, error)

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

func (*RoleAssignment) ElementType

func (*RoleAssignment) ElementType() reflect.Type

func (*RoleAssignment) ToRoleAssignmentOutput

func (i *RoleAssignment) ToRoleAssignmentOutput() RoleAssignmentOutput

func (*RoleAssignment) ToRoleAssignmentOutputWithContext

func (i *RoleAssignment) ToRoleAssignmentOutputWithContext(ctx context.Context) RoleAssignmentOutput

type RoleAssignmentArgs

type RoleAssignmentArgs struct {
	// Specifies the domain to assign the role in.
	// Required if `projectId` is empty. Changing this parameter will create a new resource.
	DomainId            pulumi.StringPtrInput
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the group to assign the role to.
	// Changing this parameter will create a new resource.
	GroupId pulumi.StringInput
	// Specifies the project to assign the role in.
	// Required if `domainId` is empty. Changing this parameter will create a new resource.
	ProjectId pulumi.StringPtrInput
	// Specifies the role to assign.
	// Changing this parameter will create a new resource.
	RoleId pulumi.StringInput
}

The set of arguments for constructing a RoleAssignment resource.

func (RoleAssignmentArgs) ElementType

func (RoleAssignmentArgs) ElementType() reflect.Type

type RoleAssignmentArray

type RoleAssignmentArray []RoleAssignmentInput

func (RoleAssignmentArray) ElementType

func (RoleAssignmentArray) ElementType() reflect.Type

func (RoleAssignmentArray) ToRoleAssignmentArrayOutput

func (i RoleAssignmentArray) ToRoleAssignmentArrayOutput() RoleAssignmentArrayOutput

func (RoleAssignmentArray) ToRoleAssignmentArrayOutputWithContext

func (i RoleAssignmentArray) ToRoleAssignmentArrayOutputWithContext(ctx context.Context) RoleAssignmentArrayOutput

type RoleAssignmentArrayInput

type RoleAssignmentArrayInput interface {
	pulumi.Input

	ToRoleAssignmentArrayOutput() RoleAssignmentArrayOutput
	ToRoleAssignmentArrayOutputWithContext(context.Context) RoleAssignmentArrayOutput
}

RoleAssignmentArrayInput is an input type that accepts RoleAssignmentArray and RoleAssignmentArrayOutput values. You can construct a concrete instance of `RoleAssignmentArrayInput` via:

RoleAssignmentArray{ RoleAssignmentArgs{...} }

type RoleAssignmentArrayOutput

type RoleAssignmentArrayOutput struct{ *pulumi.OutputState }

func (RoleAssignmentArrayOutput) ElementType

func (RoleAssignmentArrayOutput) ElementType() reflect.Type

func (RoleAssignmentArrayOutput) Index

func (RoleAssignmentArrayOutput) ToRoleAssignmentArrayOutput

func (o RoleAssignmentArrayOutput) ToRoleAssignmentArrayOutput() RoleAssignmentArrayOutput

func (RoleAssignmentArrayOutput) ToRoleAssignmentArrayOutputWithContext

func (o RoleAssignmentArrayOutput) ToRoleAssignmentArrayOutputWithContext(ctx context.Context) RoleAssignmentArrayOutput

type RoleAssignmentInput

type RoleAssignmentInput interface {
	pulumi.Input

	ToRoleAssignmentOutput() RoleAssignmentOutput
	ToRoleAssignmentOutputWithContext(ctx context.Context) RoleAssignmentOutput
}

type RoleAssignmentMap

type RoleAssignmentMap map[string]RoleAssignmentInput

func (RoleAssignmentMap) ElementType

func (RoleAssignmentMap) ElementType() reflect.Type

func (RoleAssignmentMap) ToRoleAssignmentMapOutput

func (i RoleAssignmentMap) ToRoleAssignmentMapOutput() RoleAssignmentMapOutput

func (RoleAssignmentMap) ToRoleAssignmentMapOutputWithContext

func (i RoleAssignmentMap) ToRoleAssignmentMapOutputWithContext(ctx context.Context) RoleAssignmentMapOutput

type RoleAssignmentMapInput

type RoleAssignmentMapInput interface {
	pulumi.Input

	ToRoleAssignmentMapOutput() RoleAssignmentMapOutput
	ToRoleAssignmentMapOutputWithContext(context.Context) RoleAssignmentMapOutput
}

RoleAssignmentMapInput is an input type that accepts RoleAssignmentMap and RoleAssignmentMapOutput values. You can construct a concrete instance of `RoleAssignmentMapInput` via:

RoleAssignmentMap{ "key": RoleAssignmentArgs{...} }

type RoleAssignmentMapOutput

type RoleAssignmentMapOutput struct{ *pulumi.OutputState }

func (RoleAssignmentMapOutput) ElementType

func (RoleAssignmentMapOutput) ElementType() reflect.Type

func (RoleAssignmentMapOutput) MapIndex

func (RoleAssignmentMapOutput) ToRoleAssignmentMapOutput

func (o RoleAssignmentMapOutput) ToRoleAssignmentMapOutput() RoleAssignmentMapOutput

func (RoleAssignmentMapOutput) ToRoleAssignmentMapOutputWithContext

func (o RoleAssignmentMapOutput) ToRoleAssignmentMapOutputWithContext(ctx context.Context) RoleAssignmentMapOutput

type RoleAssignmentOutput

type RoleAssignmentOutput struct{ *pulumi.OutputState }

func (RoleAssignmentOutput) DomainId

Specifies the domain to assign the role in. Required if `projectId` is empty. Changing this parameter will create a new resource.

func (RoleAssignmentOutput) ElementType

func (RoleAssignmentOutput) ElementType() reflect.Type

func (RoleAssignmentOutput) EnterpriseProjectId added in v0.0.8

func (o RoleAssignmentOutput) EnterpriseProjectId() pulumi.StringPtrOutput

func (RoleAssignmentOutput) GroupId

Specifies the group to assign the role to. Changing this parameter will create a new resource.

func (RoleAssignmentOutput) ProjectId

Specifies the project to assign the role in. Required if `domainId` is empty. Changing this parameter will create a new resource.

func (RoleAssignmentOutput) RoleId

Specifies the role to assign. Changing this parameter will create a new resource.

func (RoleAssignmentOutput) ToRoleAssignmentOutput

func (o RoleAssignmentOutput) ToRoleAssignmentOutput() RoleAssignmentOutput

func (RoleAssignmentOutput) ToRoleAssignmentOutputWithContext

func (o RoleAssignmentOutput) ToRoleAssignmentOutputWithContext(ctx context.Context) RoleAssignmentOutput

type RoleAssignmentState

type RoleAssignmentState struct {
	// Specifies the domain to assign the role in.
	// Required if `projectId` is empty. Changing this parameter will create a new resource.
	DomainId            pulumi.StringPtrInput
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the group to assign the role to.
	// Changing this parameter will create a new resource.
	GroupId pulumi.StringPtrInput
	// Specifies the project to assign the role in.
	// Required if `domainId` is empty. Changing this parameter will create a new resource.
	ProjectId pulumi.StringPtrInput
	// Specifies the role to assign.
	// Changing this parameter will create a new resource.
	RoleId pulumi.StringPtrInput
}

func (RoleAssignmentState) ElementType

func (RoleAssignmentState) ElementType() reflect.Type

type RoleInput

type RoleInput interface {
	pulumi.Input

	ToRoleOutput() RoleOutput
	ToRoleOutputWithContext(ctx context.Context) RoleOutput
}

type RoleMap

type RoleMap map[string]RoleInput

func (RoleMap) ElementType

func (RoleMap) ElementType() reflect.Type

func (RoleMap) ToRoleMapOutput

func (i RoleMap) ToRoleMapOutput() RoleMapOutput

func (RoleMap) ToRoleMapOutputWithContext

func (i RoleMap) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput

type RoleMapInput

type RoleMapInput interface {
	pulumi.Input

	ToRoleMapOutput() RoleMapOutput
	ToRoleMapOutputWithContext(context.Context) RoleMapOutput
}

RoleMapInput is an input type that accepts RoleMap and RoleMapOutput values. You can construct a concrete instance of `RoleMapInput` via:

RoleMap{ "key": RoleArgs{...} }

type RoleMapOutput

type RoleMapOutput struct{ *pulumi.OutputState }

func (RoleMapOutput) ElementType

func (RoleMapOutput) ElementType() reflect.Type

func (RoleMapOutput) MapIndex

func (RoleMapOutput) ToRoleMapOutput

func (o RoleMapOutput) ToRoleMapOutput() RoleMapOutput

func (RoleMapOutput) ToRoleMapOutputWithContext

func (o RoleMapOutput) ToRoleMapOutputWithContext(ctx context.Context) RoleMapOutput

type RoleOutput

type RoleOutput struct{ *pulumi.OutputState }

func (RoleOutput) Description

func (o RoleOutput) Description() pulumi.StringOutput

Description of the custom policy.

func (RoleOutput) ElementType

func (RoleOutput) ElementType() reflect.Type

func (RoleOutput) Name

func (o RoleOutput) Name() pulumi.StringOutput

Name of the custom policy.

func (RoleOutput) Policy

func (o RoleOutput) Policy() pulumi.StringOutput

Document of the custom policy in JSON format. For more details, please refer to the [official document](https://support.huaweicloud.com/intl/en-us/usermanual-iam/iam_01_0017.html).

func (RoleOutput) References

func (o RoleOutput) References() pulumi.IntOutput

The number of references.

func (RoleOutput) ToRoleOutput

func (o RoleOutput) ToRoleOutput() RoleOutput

func (RoleOutput) ToRoleOutputWithContext

func (o RoleOutput) ToRoleOutputWithContext(ctx context.Context) RoleOutput

func (RoleOutput) Type

func (o RoleOutput) Type() pulumi.StringOutput

Display mode. Valid options are *AX*: Account level and *XA*: Project level.

type RoleState

type RoleState struct {
	// Description of the custom policy.
	Description pulumi.StringPtrInput
	// Name of the custom policy.
	Name pulumi.StringPtrInput
	// Document of the custom policy in JSON format. For more details, please refer to the
	// [official document](https://support.huaweicloud.com/intl/en-us/usermanual-iam/iam_01_0017.html).
	Policy pulumi.StringPtrInput
	// The number of references.
	References pulumi.IntPtrInput
	// Display mode. Valid options are *AX*: Account level and *XA*: Project level.
	Type pulumi.StringPtrInput
}

func (RoleState) ElementType

func (RoleState) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// Specifies the access type of the user. Available values are:
	// + default: support both programmatic and management console access.
	// + programmatic: only support programmatic access.
	// + console: only support management console access.
	AccessType pulumi.StringOutput `pulumi:"accessType"`
	// Specifies the country code. The country code of the Chinese mainland is 0086. This
	// parameter must be used together with `phone`.
	CountryCode pulumi.StringPtrOutput `pulumi:"countryCode"`
	// The time when the IAM user was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies the description of the user.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the email address with a maximum of 255 characters.
	Email pulumi.StringPtrOutput `pulumi:"email"`
	// Specifies whether the user is enabled or disabled. Valid values are `true` and `false`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The time when the IAM user last login.
	LastLogin pulumi.StringOutput `pulumi:"lastLogin"`
	// Specifies the name of the user. The user name consists of 5 to 32 characters. It can
	// contain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a
	// digit.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the password for the user with 6 to 32 characters. It must contain at least
	// two of the following character types: uppercase letters, lowercase letters, digits, and special characters.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// Indicates the password strength.
	PasswordStrength pulumi.StringOutput `pulumi:"passwordStrength"`
	// Specifies the mobile number with a maximum of 32 digits. This parameter must be used
	// together with `countryCode`.
	Phone pulumi.StringPtrOutput `pulumi:"phone"`
	// Specifies whether or not the password should be reset. By default, the password is asked
	// to reset at the first login.
	PwdReset pulumi.BoolPtrOutput `pulumi:"pwdReset"`
}

Manages a User resource within HuaweiCloud IAM service.

Note: You *must* have admin privileges in your HuaweiCloud cloud to use this resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Iam.NewUser(ctx, "user1", &Iam.UserArgs{
			Description: pulumi.String("A user"),
			Password:    pulumi.String("password123!"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import huaweicloud:Iam/user:User user_1 89c60255-9bd6-460c-822a-e2b959ede9d2

```

But due to the security reason, `password` can not be imported, you can ignore it as below. resource "huaweicloud_identity_user" "user_1" {

...

lifecycle {

ignore_changes = [

"password",

]

} }

func GetUser

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

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

func NewUser

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

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

func (*User) ElementType

func (*User) ElementType() reflect.Type

func (*User) ToUserOutput

func (i *User) ToUserOutput() UserOutput

func (*User) ToUserOutputWithContext

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

type UserArgs

type UserArgs struct {
	// Specifies the access type of the user. Available values are:
	// + default: support both programmatic and management console access.
	// + programmatic: only support programmatic access.
	// + console: only support management console access.
	AccessType pulumi.StringPtrInput
	// Specifies the country code. The country code of the Chinese mainland is 0086. This
	// parameter must be used together with `phone`.
	CountryCode pulumi.StringPtrInput
	// Specifies the description of the user.
	Description pulumi.StringPtrInput
	// Specifies the email address with a maximum of 255 characters.
	Email pulumi.StringPtrInput
	// Specifies whether the user is enabled or disabled. Valid values are `true` and `false`.
	Enabled pulumi.BoolPtrInput
	// Specifies the name of the user. The user name consists of 5 to 32 characters. It can
	// contain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a
	// digit.
	Name pulumi.StringPtrInput
	// Specifies the password for the user with 6 to 32 characters. It must contain at least
	// two of the following character types: uppercase letters, lowercase letters, digits, and special characters.
	Password pulumi.StringPtrInput
	// Specifies the mobile number with a maximum of 32 digits. This parameter must be used
	// together with `countryCode`.
	Phone pulumi.StringPtrInput
	// Specifies whether or not the password should be reset. By default, the password is asked
	// to reset at the first login.
	PwdReset pulumi.BoolPtrInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType

func (UserArgs) ElementType() reflect.Type

type UserArray

type UserArray []UserInput

func (UserArray) ElementType

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext

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

type UserArrayInput

type UserArrayInput interface {
	pulumi.Input

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

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

UserArray{ UserArgs{...} }

type UserArrayOutput

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index

func (UserArrayOutput) ToUserArrayOutput

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext

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

type UserInput

type UserInput interface {
	pulumi.Input

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

type UserMap

type UserMap map[string]UserInput

func (UserMap) ElementType

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext

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

type UserMapInput

type UserMapInput interface {
	pulumi.Input

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

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

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

type UserMapOutput

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex

func (UserMapOutput) ToUserMapOutput

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext

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

type UserOutput

type UserOutput struct{ *pulumi.OutputState }

func (UserOutput) AccessType

func (o UserOutput) AccessType() pulumi.StringOutput

Specifies the access type of the user. Available values are: + default: support both programmatic and management console access. + programmatic: only support programmatic access. + console: only support management console access.

func (UserOutput) CountryCode

func (o UserOutput) CountryCode() pulumi.StringPtrOutput

Specifies the country code. The country code of the Chinese mainland is 0086. This parameter must be used together with `phone`.

func (UserOutput) CreateTime

func (o UserOutput) CreateTime() pulumi.StringOutput

The time when the IAM user was created.

func (UserOutput) Description

func (o UserOutput) Description() pulumi.StringPtrOutput

Specifies the description of the user.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Email

func (o UserOutput) Email() pulumi.StringPtrOutput

Specifies the email address with a maximum of 255 characters.

func (UserOutput) Enabled

func (o UserOutput) Enabled() pulumi.BoolPtrOutput

Specifies whether the user is enabled or disabled. Valid values are `true` and `false`.

func (UserOutput) LastLogin

func (o UserOutput) LastLogin() pulumi.StringOutput

The time when the IAM user last login.

func (UserOutput) Name

func (o UserOutput) Name() pulumi.StringOutput

Specifies the name of the user. The user name consists of 5 to 32 characters. It can contain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a digit.

func (UserOutput) Password

func (o UserOutput) Password() pulumi.StringPtrOutput

Specifies the password for the user with 6 to 32 characters. It must contain at least two of the following character types: uppercase letters, lowercase letters, digits, and special characters.

func (UserOutput) PasswordStrength

func (o UserOutput) PasswordStrength() pulumi.StringOutput

Indicates the password strength.

func (UserOutput) Phone

func (o UserOutput) Phone() pulumi.StringPtrOutput

Specifies the mobile number with a maximum of 32 digits. This parameter must be used together with `countryCode`.

func (UserOutput) PwdReset

func (o UserOutput) PwdReset() pulumi.BoolPtrOutput

Specifies whether or not the password should be reset. By default, the password is asked to reset at the first login.

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

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

type UserState

type UserState struct {
	// Specifies the access type of the user. Available values are:
	// + default: support both programmatic and management console access.
	// + programmatic: only support programmatic access.
	// + console: only support management console access.
	AccessType pulumi.StringPtrInput
	// Specifies the country code. The country code of the Chinese mainland is 0086. This
	// parameter must be used together with `phone`.
	CountryCode pulumi.StringPtrInput
	// The time when the IAM user was created.
	CreateTime pulumi.StringPtrInput
	// Specifies the description of the user.
	Description pulumi.StringPtrInput
	// Specifies the email address with a maximum of 255 characters.
	Email pulumi.StringPtrInput
	// Specifies whether the user is enabled or disabled. Valid values are `true` and `false`.
	Enabled pulumi.BoolPtrInput
	// The time when the IAM user last login.
	LastLogin pulumi.StringPtrInput
	// Specifies the name of the user. The user name consists of 5 to 32 characters. It can
	// contain only uppercase letters, lowercase letters, digits, spaces, and special characters (-_) and cannot start with a
	// digit.
	Name pulumi.StringPtrInput
	// Specifies the password for the user with 6 to 32 characters. It must contain at least
	// two of the following character types: uppercase letters, lowercase letters, digits, and special characters.
	Password pulumi.StringPtrInput
	// Indicates the password strength.
	PasswordStrength pulumi.StringPtrInput
	// Specifies the mobile number with a maximum of 32 digits. This parameter must be used
	// together with `countryCode`.
	Phone pulumi.StringPtrInput
	// Specifies whether or not the password should be reset. By default, the password is asked
	// to reset at the first login.
	PwdReset pulumi.BoolPtrInput
}

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