identity

package
v3.15.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationCredential

type ApplicationCredential struct {
	pulumi.CustomResourceState

	// A collection of one or more access rules, which
	// this application credential allows to follow. The structure is described
	// below. Changing this creates a new application credential.
	AccessRules ApplicationCredentialAccessRuleArrayOutput `pulumi:"accessRules"`
	// A description of the application credential.
	// Changing this creates a new application credential.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The expiration time of the application credential
	// in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted,
	// an application credential will never expire. Changing this creates a new
	// application credential.
	ExpiresAt pulumi.StringPtrOutput `pulumi:"expiresAt"`
	// A name of the application credential. Changing this
	// creates a new application credential.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project the application credential was created
	// for and that authentication requests using this application credential will
	// be scoped to.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new application credential.
	Region pulumi.StringOutput `pulumi:"region"`
	// A collection of one or more role names, which this
	// application credential has to be associated with its project. If omitted,
	// all the current user's roles within the scoped project will be inherited by
	// a new application credential. Changing this creates a new application
	// credential.
	Roles pulumi.StringArrayOutput `pulumi:"roles"`
	// The secret for the application credential. If omitted,
	// it will be generated by the server. Changing this creates a new application
	// credential.
	Secret pulumi.StringOutput `pulumi:"secret"`
	// A flag indicating whether the application
	// credential may be used for creation or destruction of other application
	// credentials or trusts. Changing this creates a new application credential.
	Unrestricted pulumi.BoolPtrOutput `pulumi:"unrestricted"`
}

Manages a V3 Application Credential resource within OpenStack Keystone.

> **Note:** All arguments including the application credential name and secret will be stored in the raw state as plain-text. Read more about sensitive data in state.

> **Note:** An Application Credential is created within the authenticated user project scope and is not visible by an admin or other accounts. The Application Credential visibility is similar to `compute.Keypair`.

## Example Usage

### Predefined secret

Application credential below will have only one `swiftoperator` role.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewApplicationCredential(ctx, "swift", &identity.ApplicationCredentialArgs{
			Description: pulumi.String("Swift technical application credential"),
			ExpiresAt:   pulumi.String("2019-02-13T12:12:12Z"),
			Roles: pulumi.StringArray{
				pulumi.String("swiftoperator"),
			},
			Secret: pulumi.String("supersecret"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Unrestricted with autogenerated secret and unlimited TTL

Application credential below will inherit all the current user's roles.

!> **WARNING:** Restrictions on these Identity operations are deliberately imposed as a safeguard to prevent a compromised application credential from regenerating itself. Disabling this restriction poses an inherent added risk.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		unrestricted, err := identity.NewApplicationCredential(ctx, "unrestricted", &identity.ApplicationCredentialArgs{
			Description:  pulumi.String("Unrestricted application credential"),
			Unrestricted: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		ctx.Export("applicationCredentialSecret", unrestricted.Secret)
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Application credential with access rules

> **Note:** Application Credential access rules are supported only in Keystone starting from [Train](https://releases.openstack.org/train/highlights.html#keystone-identity-service) release.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewApplicationCredential(ctx, "monitoring", &identity.ApplicationCredentialArgs{
			AccessRules: identity.ApplicationCredentialAccessRuleArray{
				&identity.ApplicationCredentialAccessRuleArgs{
					Method:  pulumi.String("GET"),
					Path:    pulumi.String("/v2.0/metrics"),
					Service: pulumi.String("monitoring"),
				},
				&identity.ApplicationCredentialAccessRuleArgs{
					Method:  pulumi.String("PUT"),
					Path:    pulumi.String("/v2.0/metrics"),
					Service: pulumi.String("monitoring"),
				},
			},
			ExpiresAt: pulumi.String("2019-02-13T12:12:12Z"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Application Credentials can be imported using the `id`, e.g.

```sh $ pulumi import openstack:identity/applicationCredential:ApplicationCredential application_credential_1 c17304b7-0953-4738-abb0-67005882b0a0 ```

func GetApplicationCredential

func GetApplicationCredential(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationCredentialState, opts ...pulumi.ResourceOption) (*ApplicationCredential, error)

GetApplicationCredential gets an existing ApplicationCredential 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 NewApplicationCredential

func NewApplicationCredential(ctx *pulumi.Context,
	name string, args *ApplicationCredentialArgs, opts ...pulumi.ResourceOption) (*ApplicationCredential, error)

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

func (*ApplicationCredential) ElementType

func (*ApplicationCredential) ElementType() reflect.Type

func (*ApplicationCredential) ToApplicationCredentialOutput

func (i *ApplicationCredential) ToApplicationCredentialOutput() ApplicationCredentialOutput

func (*ApplicationCredential) ToApplicationCredentialOutputWithContext

func (i *ApplicationCredential) ToApplicationCredentialOutputWithContext(ctx context.Context) ApplicationCredentialOutput

type ApplicationCredentialAccessRule

type ApplicationCredentialAccessRule struct {
	// The ID of the existing access rule. The access rule ID of
	// another application credential can be provided.
	Id *string `pulumi:"id"`
	// The request method that the application credential is
	// permitted to use for a given API endpoint. Allowed values: `POST`, `GET`,
	// `HEAD`, `PATCH`, `PUT` and `DELETE`.
	Method string `pulumi:"method"`
	// The API path that the application credential is permitted
	// to access. May use named wildcards such as **{tag}** or the unnamed wildcard
	// **\*** to match against any string in the path up to a **/**, or the recursive
	// wildcard **\*\*** to include **/** in the matched path.
	Path string `pulumi:"path"`
	// The service type identifier for the service that the
	// application credential is granted to access. Must be a service type that is
	// listed in the service catalog and not a code name for a service. E.g.
	// **identity**, **compute**, **volumev3**, **image**, **network**,
	// **object-store**, **sharev2**, **dns**, **key-manager**, **monitoring**, etc.
	Service string `pulumi:"service"`
}

type ApplicationCredentialAccessRuleArgs

type ApplicationCredentialAccessRuleArgs struct {
	// The ID of the existing access rule. The access rule ID of
	// another application credential can be provided.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The request method that the application credential is
	// permitted to use for a given API endpoint. Allowed values: `POST`, `GET`,
	// `HEAD`, `PATCH`, `PUT` and `DELETE`.
	Method pulumi.StringInput `pulumi:"method"`
	// The API path that the application credential is permitted
	// to access. May use named wildcards such as **{tag}** or the unnamed wildcard
	// **\*** to match against any string in the path up to a **/**, or the recursive
	// wildcard **\*\*** to include **/** in the matched path.
	Path pulumi.StringInput `pulumi:"path"`
	// The service type identifier for the service that the
	// application credential is granted to access. Must be a service type that is
	// listed in the service catalog and not a code name for a service. E.g.
	// **identity**, **compute**, **volumev3**, **image**, **network**,
	// **object-store**, **sharev2**, **dns**, **key-manager**, **monitoring**, etc.
	Service pulumi.StringInput `pulumi:"service"`
}

func (ApplicationCredentialAccessRuleArgs) ElementType

func (ApplicationCredentialAccessRuleArgs) ToApplicationCredentialAccessRuleOutput

func (i ApplicationCredentialAccessRuleArgs) ToApplicationCredentialAccessRuleOutput() ApplicationCredentialAccessRuleOutput

func (ApplicationCredentialAccessRuleArgs) ToApplicationCredentialAccessRuleOutputWithContext

func (i ApplicationCredentialAccessRuleArgs) ToApplicationCredentialAccessRuleOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleOutput

type ApplicationCredentialAccessRuleArray

type ApplicationCredentialAccessRuleArray []ApplicationCredentialAccessRuleInput

func (ApplicationCredentialAccessRuleArray) ElementType

func (ApplicationCredentialAccessRuleArray) ToApplicationCredentialAccessRuleArrayOutput

func (i ApplicationCredentialAccessRuleArray) ToApplicationCredentialAccessRuleArrayOutput() ApplicationCredentialAccessRuleArrayOutput

func (ApplicationCredentialAccessRuleArray) ToApplicationCredentialAccessRuleArrayOutputWithContext

func (i ApplicationCredentialAccessRuleArray) ToApplicationCredentialAccessRuleArrayOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleArrayOutput

type ApplicationCredentialAccessRuleArrayInput

type ApplicationCredentialAccessRuleArrayInput interface {
	pulumi.Input

	ToApplicationCredentialAccessRuleArrayOutput() ApplicationCredentialAccessRuleArrayOutput
	ToApplicationCredentialAccessRuleArrayOutputWithContext(context.Context) ApplicationCredentialAccessRuleArrayOutput
}

ApplicationCredentialAccessRuleArrayInput is an input type that accepts ApplicationCredentialAccessRuleArray and ApplicationCredentialAccessRuleArrayOutput values. You can construct a concrete instance of `ApplicationCredentialAccessRuleArrayInput` via:

ApplicationCredentialAccessRuleArray{ ApplicationCredentialAccessRuleArgs{...} }

type ApplicationCredentialAccessRuleArrayOutput

type ApplicationCredentialAccessRuleArrayOutput struct{ *pulumi.OutputState }

func (ApplicationCredentialAccessRuleArrayOutput) ElementType

func (ApplicationCredentialAccessRuleArrayOutput) Index

func (ApplicationCredentialAccessRuleArrayOutput) ToApplicationCredentialAccessRuleArrayOutput

func (o ApplicationCredentialAccessRuleArrayOutput) ToApplicationCredentialAccessRuleArrayOutput() ApplicationCredentialAccessRuleArrayOutput

func (ApplicationCredentialAccessRuleArrayOutput) ToApplicationCredentialAccessRuleArrayOutputWithContext

func (o ApplicationCredentialAccessRuleArrayOutput) ToApplicationCredentialAccessRuleArrayOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleArrayOutput

type ApplicationCredentialAccessRuleInput

type ApplicationCredentialAccessRuleInput interface {
	pulumi.Input

	ToApplicationCredentialAccessRuleOutput() ApplicationCredentialAccessRuleOutput
	ToApplicationCredentialAccessRuleOutputWithContext(context.Context) ApplicationCredentialAccessRuleOutput
}

ApplicationCredentialAccessRuleInput is an input type that accepts ApplicationCredentialAccessRuleArgs and ApplicationCredentialAccessRuleOutput values. You can construct a concrete instance of `ApplicationCredentialAccessRuleInput` via:

ApplicationCredentialAccessRuleArgs{...}

type ApplicationCredentialAccessRuleOutput

type ApplicationCredentialAccessRuleOutput struct{ *pulumi.OutputState }

func (ApplicationCredentialAccessRuleOutput) ElementType

func (ApplicationCredentialAccessRuleOutput) Id

The ID of the existing access rule. The access rule ID of another application credential can be provided.

func (ApplicationCredentialAccessRuleOutput) Method

The request method that the application credential is permitted to use for a given API endpoint. Allowed values: `POST`, `GET`, `HEAD`, `PATCH`, `PUT` and `DELETE`.

func (ApplicationCredentialAccessRuleOutput) Path

The API path that the application credential is permitted to access. May use named wildcards such as **{tag}** or the unnamed wildcard **\*** to match against any string in the path up to a **/**, or the recursive wildcard **\*\*** to include **/** in the matched path.

func (ApplicationCredentialAccessRuleOutput) Service

The service type identifier for the service that the application credential is granted to access. Must be a service type that is listed in the service catalog and not a code name for a service. E.g. **identity**, **compute**, **volumev3**, **image**, **network**, **object-store**, **sharev2**, **dns**, **key-manager**, **monitoring**, etc.

func (ApplicationCredentialAccessRuleOutput) ToApplicationCredentialAccessRuleOutput

func (o ApplicationCredentialAccessRuleOutput) ToApplicationCredentialAccessRuleOutput() ApplicationCredentialAccessRuleOutput

func (ApplicationCredentialAccessRuleOutput) ToApplicationCredentialAccessRuleOutputWithContext

func (o ApplicationCredentialAccessRuleOutput) ToApplicationCredentialAccessRuleOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleOutput

type ApplicationCredentialArgs

type ApplicationCredentialArgs struct {
	// A collection of one or more access rules, which
	// this application credential allows to follow. The structure is described
	// below. Changing this creates a new application credential.
	AccessRules ApplicationCredentialAccessRuleArrayInput
	// A description of the application credential.
	// Changing this creates a new application credential.
	Description pulumi.StringPtrInput
	// The expiration time of the application credential
	// in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted,
	// an application credential will never expire. Changing this creates a new
	// application credential.
	ExpiresAt pulumi.StringPtrInput
	// A name of the application credential. Changing this
	// creates a new application credential.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new application credential.
	Region pulumi.StringPtrInput
	// A collection of one or more role names, which this
	// application credential has to be associated with its project. If omitted,
	// all the current user's roles within the scoped project will be inherited by
	// a new application credential. Changing this creates a new application
	// credential.
	Roles pulumi.StringArrayInput
	// The secret for the application credential. If omitted,
	// it will be generated by the server. Changing this creates a new application
	// credential.
	Secret pulumi.StringPtrInput
	// A flag indicating whether the application
	// credential may be used for creation or destruction of other application
	// credentials or trusts. Changing this creates a new application credential.
	Unrestricted pulumi.BoolPtrInput
}

The set of arguments for constructing a ApplicationCredential resource.

func (ApplicationCredentialArgs) ElementType

func (ApplicationCredentialArgs) ElementType() reflect.Type

type ApplicationCredentialArray

type ApplicationCredentialArray []ApplicationCredentialInput

func (ApplicationCredentialArray) ElementType

func (ApplicationCredentialArray) ElementType() reflect.Type

func (ApplicationCredentialArray) ToApplicationCredentialArrayOutput

func (i ApplicationCredentialArray) ToApplicationCredentialArrayOutput() ApplicationCredentialArrayOutput

func (ApplicationCredentialArray) ToApplicationCredentialArrayOutputWithContext

func (i ApplicationCredentialArray) ToApplicationCredentialArrayOutputWithContext(ctx context.Context) ApplicationCredentialArrayOutput

type ApplicationCredentialArrayInput

type ApplicationCredentialArrayInput interface {
	pulumi.Input

	ToApplicationCredentialArrayOutput() ApplicationCredentialArrayOutput
	ToApplicationCredentialArrayOutputWithContext(context.Context) ApplicationCredentialArrayOutput
}

ApplicationCredentialArrayInput is an input type that accepts ApplicationCredentialArray and ApplicationCredentialArrayOutput values. You can construct a concrete instance of `ApplicationCredentialArrayInput` via:

ApplicationCredentialArray{ ApplicationCredentialArgs{...} }

type ApplicationCredentialArrayOutput

type ApplicationCredentialArrayOutput struct{ *pulumi.OutputState }

func (ApplicationCredentialArrayOutput) ElementType

func (ApplicationCredentialArrayOutput) Index

func (ApplicationCredentialArrayOutput) ToApplicationCredentialArrayOutput

func (o ApplicationCredentialArrayOutput) ToApplicationCredentialArrayOutput() ApplicationCredentialArrayOutput

func (ApplicationCredentialArrayOutput) ToApplicationCredentialArrayOutputWithContext

func (o ApplicationCredentialArrayOutput) ToApplicationCredentialArrayOutputWithContext(ctx context.Context) ApplicationCredentialArrayOutput

type ApplicationCredentialInput

type ApplicationCredentialInput interface {
	pulumi.Input

	ToApplicationCredentialOutput() ApplicationCredentialOutput
	ToApplicationCredentialOutputWithContext(ctx context.Context) ApplicationCredentialOutput
}

type ApplicationCredentialMap

type ApplicationCredentialMap map[string]ApplicationCredentialInput

func (ApplicationCredentialMap) ElementType

func (ApplicationCredentialMap) ElementType() reflect.Type

func (ApplicationCredentialMap) ToApplicationCredentialMapOutput

func (i ApplicationCredentialMap) ToApplicationCredentialMapOutput() ApplicationCredentialMapOutput

func (ApplicationCredentialMap) ToApplicationCredentialMapOutputWithContext

func (i ApplicationCredentialMap) ToApplicationCredentialMapOutputWithContext(ctx context.Context) ApplicationCredentialMapOutput

type ApplicationCredentialMapInput

type ApplicationCredentialMapInput interface {
	pulumi.Input

	ToApplicationCredentialMapOutput() ApplicationCredentialMapOutput
	ToApplicationCredentialMapOutputWithContext(context.Context) ApplicationCredentialMapOutput
}

ApplicationCredentialMapInput is an input type that accepts ApplicationCredentialMap and ApplicationCredentialMapOutput values. You can construct a concrete instance of `ApplicationCredentialMapInput` via:

ApplicationCredentialMap{ "key": ApplicationCredentialArgs{...} }

type ApplicationCredentialMapOutput

type ApplicationCredentialMapOutput struct{ *pulumi.OutputState }

func (ApplicationCredentialMapOutput) ElementType

func (ApplicationCredentialMapOutput) MapIndex

func (ApplicationCredentialMapOutput) ToApplicationCredentialMapOutput

func (o ApplicationCredentialMapOutput) ToApplicationCredentialMapOutput() ApplicationCredentialMapOutput

func (ApplicationCredentialMapOutput) ToApplicationCredentialMapOutputWithContext

func (o ApplicationCredentialMapOutput) ToApplicationCredentialMapOutputWithContext(ctx context.Context) ApplicationCredentialMapOutput

type ApplicationCredentialOutput

type ApplicationCredentialOutput struct{ *pulumi.OutputState }

func (ApplicationCredentialOutput) AccessRules added in v3.9.0

A collection of one or more access rules, which this application credential allows to follow. The structure is described below. Changing this creates a new application credential.

func (ApplicationCredentialOutput) Description added in v3.9.0

A description of the application credential. Changing this creates a new application credential.

func (ApplicationCredentialOutput) ElementType

func (ApplicationCredentialOutput) ExpiresAt added in v3.9.0

The expiration time of the application credential in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted, an application credential will never expire. Changing this creates a new application credential.

func (ApplicationCredentialOutput) Name added in v3.9.0

A name of the application credential. Changing this creates a new application credential.

func (ApplicationCredentialOutput) ProjectId added in v3.9.0

The ID of the project the application credential was created for and that authentication requests using this application credential will be scoped to.

func (ApplicationCredentialOutput) Region added in v3.9.0

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used. Changing this creates a new application credential.

func (ApplicationCredentialOutput) Roles added in v3.9.0

A collection of one or more role names, which this application credential has to be associated with its project. If omitted, all the current user's roles within the scoped project will be inherited by a new application credential. Changing this creates a new application credential.

func (ApplicationCredentialOutput) Secret added in v3.9.0

The secret for the application credential. If omitted, it will be generated by the server. Changing this creates a new application credential.

func (ApplicationCredentialOutput) ToApplicationCredentialOutput

func (o ApplicationCredentialOutput) ToApplicationCredentialOutput() ApplicationCredentialOutput

func (ApplicationCredentialOutput) ToApplicationCredentialOutputWithContext

func (o ApplicationCredentialOutput) ToApplicationCredentialOutputWithContext(ctx context.Context) ApplicationCredentialOutput

func (ApplicationCredentialOutput) Unrestricted added in v3.9.0

A flag indicating whether the application credential may be used for creation or destruction of other application credentials or trusts. Changing this creates a new application credential.

type ApplicationCredentialState

type ApplicationCredentialState struct {
	// A collection of one or more access rules, which
	// this application credential allows to follow. The structure is described
	// below. Changing this creates a new application credential.
	AccessRules ApplicationCredentialAccessRuleArrayInput
	// A description of the application credential.
	// Changing this creates a new application credential.
	Description pulumi.StringPtrInput
	// The expiration time of the application credential
	// in the RFC3339 timestamp format (e.g. `2019-03-09T12:58:49Z`). If omitted,
	// an application credential will never expire. Changing this creates a new
	// application credential.
	ExpiresAt pulumi.StringPtrInput
	// A name of the application credential. Changing this
	// creates a new application credential.
	Name pulumi.StringPtrInput
	// The ID of the project the application credential was created
	// for and that authentication requests using this application credential will
	// be scoped to.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new application credential.
	Region pulumi.StringPtrInput
	// A collection of one or more role names, which this
	// application credential has to be associated with its project. If omitted,
	// all the current user's roles within the scoped project will be inherited by
	// a new application credential. Changing this creates a new application
	// credential.
	Roles pulumi.StringArrayInput
	// The secret for the application credential. If omitted,
	// it will be generated by the server. Changing this creates a new application
	// credential.
	Secret pulumi.StringPtrInput
	// A flag indicating whether the application
	// credential may be used for creation or destruction of other application
	// credentials or trusts. Changing this creates a new application credential.
	Unrestricted pulumi.BoolPtrInput
}

func (ApplicationCredentialState) ElementType

func (ApplicationCredentialState) ElementType() reflect.Type

type Ec2CredentialV3

type Ec2CredentialV3 struct {
	pulumi.CustomResourceState

	// contains an EC2 credential access UUID
	Access pulumi.StringOutput `pulumi:"access"`
	// The ID of the project the EC2 credential is created
	// for and that authentication requests using this EC2 credential will
	// be scoped to. Only administrative users can specify a project ID different
	// from the current auth scope.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new EC2 credential.
	Region pulumi.StringOutput `pulumi:"region"`
	// contains an EC2 credential secret UUID
	Secret pulumi.StringOutput `pulumi:"secret"`
	// contains an EC2 credential trust ID scope
	TrustId pulumi.StringOutput `pulumi:"trustId"`
	// The ID of the user the EC2 credential is created for.
	// Only administrative users can specify a user ID different from the current
	// auth scope.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Manages a V3 EC2 Credential resource within OpenStack Keystone. EC2 credentials in OpenStack are used to access S3 compatible Swift/RadosGW endpoints or to authenticate against Keystone.

> **Note:** All arguments including the EC2 credential access key and secret will be stored in the raw state as plain-text. Read more about sensitive data in state.

## Example Usage

### EC2 credential in current project scope

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewEc2CredentialV3(ctx, "ec2Key1", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### EC2 credential in pre-defined project scope

This allows administrative users to create EC2 credentials for a scope different from the current auth scope.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewEc2CredentialV3(ctx, "ec2Key1", &identity.Ec2CredentialV3Args{
			ProjectId: pulumi.String("f7ac731cc11f40efbc03a9f9e1d1d21f"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

EC2 Credentials can be imported using the `access`, e.g.

```sh $ pulumi import openstack:identity/ec2CredentialV3:Ec2CredentialV3 ec2_cred_1 2d0ac4a2f81b4b0f9513ee49e780647d ```

func GetEc2CredentialV3

func GetEc2CredentialV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ec2CredentialV3State, opts ...pulumi.ResourceOption) (*Ec2CredentialV3, error)

GetEc2CredentialV3 gets an existing Ec2CredentialV3 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 NewEc2CredentialV3

func NewEc2CredentialV3(ctx *pulumi.Context,
	name string, args *Ec2CredentialV3Args, opts ...pulumi.ResourceOption) (*Ec2CredentialV3, error)

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

func (*Ec2CredentialV3) ElementType

func (*Ec2CredentialV3) ElementType() reflect.Type

func (*Ec2CredentialV3) ToEc2CredentialV3Output

func (i *Ec2CredentialV3) ToEc2CredentialV3Output() Ec2CredentialV3Output

func (*Ec2CredentialV3) ToEc2CredentialV3OutputWithContext

func (i *Ec2CredentialV3) ToEc2CredentialV3OutputWithContext(ctx context.Context) Ec2CredentialV3Output

type Ec2CredentialV3Args

type Ec2CredentialV3Args struct {
	// The ID of the project the EC2 credential is created
	// for and that authentication requests using this EC2 credential will
	// be scoped to. Only administrative users can specify a project ID different
	// from the current auth scope.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new EC2 credential.
	Region pulumi.StringPtrInput
	// The ID of the user the EC2 credential is created for.
	// Only administrative users can specify a user ID different from the current
	// auth scope.
	UserId pulumi.StringPtrInput
}

The set of arguments for constructing a Ec2CredentialV3 resource.

func (Ec2CredentialV3Args) ElementType

func (Ec2CredentialV3Args) ElementType() reflect.Type

type Ec2CredentialV3Array

type Ec2CredentialV3Array []Ec2CredentialV3Input

func (Ec2CredentialV3Array) ElementType

func (Ec2CredentialV3Array) ElementType() reflect.Type

func (Ec2CredentialV3Array) ToEc2CredentialV3ArrayOutput

func (i Ec2CredentialV3Array) ToEc2CredentialV3ArrayOutput() Ec2CredentialV3ArrayOutput

func (Ec2CredentialV3Array) ToEc2CredentialV3ArrayOutputWithContext

func (i Ec2CredentialV3Array) ToEc2CredentialV3ArrayOutputWithContext(ctx context.Context) Ec2CredentialV3ArrayOutput

type Ec2CredentialV3ArrayInput

type Ec2CredentialV3ArrayInput interface {
	pulumi.Input

	ToEc2CredentialV3ArrayOutput() Ec2CredentialV3ArrayOutput
	ToEc2CredentialV3ArrayOutputWithContext(context.Context) Ec2CredentialV3ArrayOutput
}

Ec2CredentialV3ArrayInput is an input type that accepts Ec2CredentialV3Array and Ec2CredentialV3ArrayOutput values. You can construct a concrete instance of `Ec2CredentialV3ArrayInput` via:

Ec2CredentialV3Array{ Ec2CredentialV3Args{...} }

type Ec2CredentialV3ArrayOutput

type Ec2CredentialV3ArrayOutput struct{ *pulumi.OutputState }

func (Ec2CredentialV3ArrayOutput) ElementType

func (Ec2CredentialV3ArrayOutput) ElementType() reflect.Type

func (Ec2CredentialV3ArrayOutput) Index

func (Ec2CredentialV3ArrayOutput) ToEc2CredentialV3ArrayOutput

func (o Ec2CredentialV3ArrayOutput) ToEc2CredentialV3ArrayOutput() Ec2CredentialV3ArrayOutput

func (Ec2CredentialV3ArrayOutput) ToEc2CredentialV3ArrayOutputWithContext

func (o Ec2CredentialV3ArrayOutput) ToEc2CredentialV3ArrayOutputWithContext(ctx context.Context) Ec2CredentialV3ArrayOutput

type Ec2CredentialV3Input

type Ec2CredentialV3Input interface {
	pulumi.Input

	ToEc2CredentialV3Output() Ec2CredentialV3Output
	ToEc2CredentialV3OutputWithContext(ctx context.Context) Ec2CredentialV3Output
}

type Ec2CredentialV3Map

type Ec2CredentialV3Map map[string]Ec2CredentialV3Input

func (Ec2CredentialV3Map) ElementType

func (Ec2CredentialV3Map) ElementType() reflect.Type

func (Ec2CredentialV3Map) ToEc2CredentialV3MapOutput

func (i Ec2CredentialV3Map) ToEc2CredentialV3MapOutput() Ec2CredentialV3MapOutput

func (Ec2CredentialV3Map) ToEc2CredentialV3MapOutputWithContext

func (i Ec2CredentialV3Map) ToEc2CredentialV3MapOutputWithContext(ctx context.Context) Ec2CredentialV3MapOutput

type Ec2CredentialV3MapInput

type Ec2CredentialV3MapInput interface {
	pulumi.Input

	ToEc2CredentialV3MapOutput() Ec2CredentialV3MapOutput
	ToEc2CredentialV3MapOutputWithContext(context.Context) Ec2CredentialV3MapOutput
}

Ec2CredentialV3MapInput is an input type that accepts Ec2CredentialV3Map and Ec2CredentialV3MapOutput values. You can construct a concrete instance of `Ec2CredentialV3MapInput` via:

Ec2CredentialV3Map{ "key": Ec2CredentialV3Args{...} }

type Ec2CredentialV3MapOutput

type Ec2CredentialV3MapOutput struct{ *pulumi.OutputState }

func (Ec2CredentialV3MapOutput) ElementType

func (Ec2CredentialV3MapOutput) ElementType() reflect.Type

func (Ec2CredentialV3MapOutput) MapIndex

func (Ec2CredentialV3MapOutput) ToEc2CredentialV3MapOutput

func (o Ec2CredentialV3MapOutput) ToEc2CredentialV3MapOutput() Ec2CredentialV3MapOutput

func (Ec2CredentialV3MapOutput) ToEc2CredentialV3MapOutputWithContext

func (o Ec2CredentialV3MapOutput) ToEc2CredentialV3MapOutputWithContext(ctx context.Context) Ec2CredentialV3MapOutput

type Ec2CredentialV3Output

type Ec2CredentialV3Output struct{ *pulumi.OutputState }

func (Ec2CredentialV3Output) Access added in v3.9.0

contains an EC2 credential access UUID

func (Ec2CredentialV3Output) ElementType

func (Ec2CredentialV3Output) ElementType() reflect.Type

func (Ec2CredentialV3Output) ProjectId added in v3.9.0

The ID of the project the EC2 credential is created for and that authentication requests using this EC2 credential will be scoped to. Only administrative users can specify a project ID different from the current auth scope.

func (Ec2CredentialV3Output) Region added in v3.9.0

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used. Changing this creates a new EC2 credential.

func (Ec2CredentialV3Output) Secret added in v3.9.0

contains an EC2 credential secret UUID

func (Ec2CredentialV3Output) ToEc2CredentialV3Output

func (o Ec2CredentialV3Output) ToEc2CredentialV3Output() Ec2CredentialV3Output

func (Ec2CredentialV3Output) ToEc2CredentialV3OutputWithContext

func (o Ec2CredentialV3Output) ToEc2CredentialV3OutputWithContext(ctx context.Context) Ec2CredentialV3Output

func (Ec2CredentialV3Output) TrustId added in v3.9.0

contains an EC2 credential trust ID scope

func (Ec2CredentialV3Output) UserId added in v3.9.0

The ID of the user the EC2 credential is created for. Only administrative users can specify a user ID different from the current auth scope.

type Ec2CredentialV3State

type Ec2CredentialV3State struct {
	// contains an EC2 credential access UUID
	Access pulumi.StringPtrInput
	// The ID of the project the EC2 credential is created
	// for and that authentication requests using this EC2 credential will
	// be scoped to. Only administrative users can specify a project ID different
	// from the current auth scope.
	ProjectId pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new EC2 credential.
	Region pulumi.StringPtrInput
	// contains an EC2 credential secret UUID
	Secret pulumi.StringPtrInput
	// contains an EC2 credential trust ID scope
	TrustId pulumi.StringPtrInput
	// The ID of the user the EC2 credential is created for.
	// Only administrative users can specify a user ID different from the current
	// auth scope.
	UserId pulumi.StringPtrInput
}

func (Ec2CredentialV3State) ElementType

func (Ec2CredentialV3State) ElementType() reflect.Type

type EndpointV3

type EndpointV3 struct {
	pulumi.CustomResourceState

	// The endpoint region. The `region` and
	// `endpointRegion` can be different.
	EndpointRegion pulumi.StringOutput `pulumi:"endpointRegion"`
	// The endpoint interface. Valid values are `public`,
	// `internal` and `admin`. Default value is `public`
	Interface pulumi.StringPtrOutput `pulumi:"interface"`
	// The endpoint name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringOutput `pulumi:"region"`
	// The endpoint service ID.
	ServiceId pulumi.StringOutput `pulumi:"serviceId"`
	// The service name of the endpoint.
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
	// The service type of the endpoint.
	ServiceType pulumi.StringOutput `pulumi:"serviceType"`
	// The endpoint url.
	Url pulumi.StringOutput `pulumi:"url"`
}

Manages a V3 Endpoint resource within OpenStack Keystone.

> **Note:** This usually requires admin privileges.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		service1, err := identity.NewServiceV3(ctx, "service1", &identity.ServiceV3Args{
			Type: pulumi.String("my-service-type"),
		})
		if err != nil {
			return err
		}
		_, err = identity.NewEndpointV3(ctx, "endpoint1", &identity.EndpointV3Args{
			ServiceId:      service1.ID(),
			EndpointRegion: service1.Region,
			Url:            pulumi.String("http://my-endpoint"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:identity/endpointV3:EndpointV3 endpoint_1 5392472b-106a-4845-90c6-7c8445f18770 ```

func GetEndpointV3

func GetEndpointV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EndpointV3State, opts ...pulumi.ResourceOption) (*EndpointV3, error)

GetEndpointV3 gets an existing EndpointV3 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 NewEndpointV3

func NewEndpointV3(ctx *pulumi.Context,
	name string, args *EndpointV3Args, opts ...pulumi.ResourceOption) (*EndpointV3, error)

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

func (*EndpointV3) ElementType

func (*EndpointV3) ElementType() reflect.Type

func (*EndpointV3) ToEndpointV3Output

func (i *EndpointV3) ToEndpointV3Output() EndpointV3Output

func (*EndpointV3) ToEndpointV3OutputWithContext

func (i *EndpointV3) ToEndpointV3OutputWithContext(ctx context.Context) EndpointV3Output

type EndpointV3Args

type EndpointV3Args struct {
	// The endpoint region. The `region` and
	// `endpointRegion` can be different.
	EndpointRegion pulumi.StringInput
	// The endpoint interface. Valid values are `public`,
	// `internal` and `admin`. Default value is `public`
	Interface pulumi.StringPtrInput
	// The endpoint name.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput
	// The endpoint service ID.
	ServiceId pulumi.StringInput
	// The endpoint url.
	Url pulumi.StringInput
}

The set of arguments for constructing a EndpointV3 resource.

func (EndpointV3Args) ElementType

func (EndpointV3Args) ElementType() reflect.Type

type EndpointV3Array

type EndpointV3Array []EndpointV3Input

func (EndpointV3Array) ElementType

func (EndpointV3Array) ElementType() reflect.Type

func (EndpointV3Array) ToEndpointV3ArrayOutput

func (i EndpointV3Array) ToEndpointV3ArrayOutput() EndpointV3ArrayOutput

func (EndpointV3Array) ToEndpointV3ArrayOutputWithContext

func (i EndpointV3Array) ToEndpointV3ArrayOutputWithContext(ctx context.Context) EndpointV3ArrayOutput

type EndpointV3ArrayInput

type EndpointV3ArrayInput interface {
	pulumi.Input

	ToEndpointV3ArrayOutput() EndpointV3ArrayOutput
	ToEndpointV3ArrayOutputWithContext(context.Context) EndpointV3ArrayOutput
}

EndpointV3ArrayInput is an input type that accepts EndpointV3Array and EndpointV3ArrayOutput values. You can construct a concrete instance of `EndpointV3ArrayInput` via:

EndpointV3Array{ EndpointV3Args{...} }

type EndpointV3ArrayOutput

type EndpointV3ArrayOutput struct{ *pulumi.OutputState }

func (EndpointV3ArrayOutput) ElementType

func (EndpointV3ArrayOutput) ElementType() reflect.Type

func (EndpointV3ArrayOutput) Index

func (EndpointV3ArrayOutput) ToEndpointV3ArrayOutput

func (o EndpointV3ArrayOutput) ToEndpointV3ArrayOutput() EndpointV3ArrayOutput

func (EndpointV3ArrayOutput) ToEndpointV3ArrayOutputWithContext

func (o EndpointV3ArrayOutput) ToEndpointV3ArrayOutputWithContext(ctx context.Context) EndpointV3ArrayOutput

type EndpointV3Input

type EndpointV3Input interface {
	pulumi.Input

	ToEndpointV3Output() EndpointV3Output
	ToEndpointV3OutputWithContext(ctx context.Context) EndpointV3Output
}

type EndpointV3Map

type EndpointV3Map map[string]EndpointV3Input

func (EndpointV3Map) ElementType

func (EndpointV3Map) ElementType() reflect.Type

func (EndpointV3Map) ToEndpointV3MapOutput

func (i EndpointV3Map) ToEndpointV3MapOutput() EndpointV3MapOutput

func (EndpointV3Map) ToEndpointV3MapOutputWithContext

func (i EndpointV3Map) ToEndpointV3MapOutputWithContext(ctx context.Context) EndpointV3MapOutput

type EndpointV3MapInput

type EndpointV3MapInput interface {
	pulumi.Input

	ToEndpointV3MapOutput() EndpointV3MapOutput
	ToEndpointV3MapOutputWithContext(context.Context) EndpointV3MapOutput
}

EndpointV3MapInput is an input type that accepts EndpointV3Map and EndpointV3MapOutput values. You can construct a concrete instance of `EndpointV3MapInput` via:

EndpointV3Map{ "key": EndpointV3Args{...} }

type EndpointV3MapOutput

type EndpointV3MapOutput struct{ *pulumi.OutputState }

func (EndpointV3MapOutput) ElementType

func (EndpointV3MapOutput) ElementType() reflect.Type

func (EndpointV3MapOutput) MapIndex

func (EndpointV3MapOutput) ToEndpointV3MapOutput

func (o EndpointV3MapOutput) ToEndpointV3MapOutput() EndpointV3MapOutput

func (EndpointV3MapOutput) ToEndpointV3MapOutputWithContext

func (o EndpointV3MapOutput) ToEndpointV3MapOutputWithContext(ctx context.Context) EndpointV3MapOutput

type EndpointV3Output

type EndpointV3Output struct{ *pulumi.OutputState }

func (EndpointV3Output) ElementType

func (EndpointV3Output) ElementType() reflect.Type

func (EndpointV3Output) EndpointRegion added in v3.9.0

func (o EndpointV3Output) EndpointRegion() pulumi.StringOutput

The endpoint region. The `region` and `endpointRegion` can be different.

func (EndpointV3Output) Interface added in v3.9.0

func (o EndpointV3Output) Interface() pulumi.StringPtrOutput

The endpoint interface. Valid values are `public`, `internal` and `admin`. Default value is `public`

func (EndpointV3Output) Name added in v3.9.0

The endpoint name.

func (EndpointV3Output) Region added in v3.9.0

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used.

func (EndpointV3Output) ServiceId added in v3.9.0

func (o EndpointV3Output) ServiceId() pulumi.StringOutput

The endpoint service ID.

func (EndpointV3Output) ServiceName added in v3.9.0

func (o EndpointV3Output) ServiceName() pulumi.StringOutput

The service name of the endpoint.

func (EndpointV3Output) ServiceType added in v3.9.0

func (o EndpointV3Output) ServiceType() pulumi.StringOutput

The service type of the endpoint.

func (EndpointV3Output) ToEndpointV3Output

func (o EndpointV3Output) ToEndpointV3Output() EndpointV3Output

func (EndpointV3Output) ToEndpointV3OutputWithContext

func (o EndpointV3Output) ToEndpointV3OutputWithContext(ctx context.Context) EndpointV3Output

func (EndpointV3Output) Url added in v3.9.0

The endpoint url.

type EndpointV3State

type EndpointV3State struct {
	// The endpoint region. The `region` and
	// `endpointRegion` can be different.
	EndpointRegion pulumi.StringPtrInput
	// The endpoint interface. Valid values are `public`,
	// `internal` and `admin`. Default value is `public`
	Interface pulumi.StringPtrInput
	// The endpoint name.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput
	// The endpoint service ID.
	ServiceId pulumi.StringPtrInput
	// The service name of the endpoint.
	ServiceName pulumi.StringPtrInput
	// The service type of the endpoint.
	ServiceType pulumi.StringPtrInput
	// The endpoint url.
	Url pulumi.StringPtrInput
}

func (EndpointV3State) ElementType

func (EndpointV3State) ElementType() reflect.Type

type GetAuthScopeArgs

type GetAuthScopeArgs struct {
	// The name of the scope. This is an arbitrary name which is
	// only used as a unique identifier so an actual token isn't used as the ID.
	Name string `pulumi:"name"`
	// The region in which to obtain the V3 Identity client.
	// A Identity client is needed to retrieve tokens IDs. If omitted, the
	// `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// A boolean argument that determines whether to
	// export the current auth scope token ID. When set to `true`, the `tokenId`
	// attribute will contain an unencrypted token that can be used for further API
	// calls. **Warning**: please note that the leaked token may allow unauthorized
	// access to other OpenStack services within the current auth scope, so use this
	// option with caution.
	SetTokenId *bool `pulumi:"setTokenId"`
}

A collection of arguments for invoking getAuthScope.

type GetAuthScopeOutputArgs added in v3.5.0

type GetAuthScopeOutputArgs struct {
	// The name of the scope. This is an arbitrary name which is
	// only used as a unique identifier so an actual token isn't used as the ID.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the V3 Identity client.
	// A Identity client is needed to retrieve tokens IDs. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// A boolean argument that determines whether to
	// export the current auth scope token ID. When set to `true`, the `tokenId`
	// attribute will contain an unencrypted token that can be used for further API
	// calls. **Warning**: please note that the leaked token may allow unauthorized
	// access to other OpenStack services within the current auth scope, so use this
	// option with caution.
	SetTokenId pulumi.BoolPtrInput `pulumi:"setTokenId"`
}

A collection of arguments for invoking getAuthScope.

func (GetAuthScopeOutputArgs) ElementType added in v3.5.0

func (GetAuthScopeOutputArgs) ElementType() reflect.Type

type GetAuthScopeResult

type GetAuthScopeResult struct {
	// The domain ID of the scope.
	DomainId string `pulumi:"domainId"`
	// The domain name of the scope.
	DomainName string `pulumi:"domainName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The name of the service.
	Name string `pulumi:"name"`
	// The domain ID of the project.
	ProjectDomainId string `pulumi:"projectDomainId"`
	// The domain name of the project.
	ProjectDomainName string `pulumi:"projectDomainName"`
	// The project ID of the scope.
	ProjectId string `pulumi:"projectId"`
	// The project name of the scope.
	ProjectName string `pulumi:"projectName"`
	// The region of the endpoint.
	Region string `pulumi:"region"`
	// A list of roles in the current scope. See reference below.
	Roles []GetAuthScopeRole `pulumi:"roles"`
	// A list of service catalog entries returned with the token.
	ServiceCatalogs []GetAuthScopeServiceCatalog `pulumi:"serviceCatalogs"`
	SetTokenId      *bool                        `pulumi:"setTokenId"`
	// The token ID of the scope.
	TokenId string `pulumi:"tokenId"`
	// The domain ID of the user.
	UserDomainId string `pulumi:"userDomainId"`
	// The domain name of the user.
	UserDomainName string `pulumi:"userDomainName"`
	// The user ID the of the scope.
	UserId string `pulumi:"userId"`
	// The username of the scope.
	UserName string `pulumi:"userName"`
}

A collection of values returned by getAuthScope.

func GetAuthScope

func GetAuthScope(ctx *pulumi.Context, args *GetAuthScopeArgs, opts ...pulumi.InvokeOption) (*GetAuthScopeResult, error)

type GetAuthScopeResultOutput added in v3.5.0

type GetAuthScopeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAuthScope.

func GetAuthScopeOutput added in v3.5.0

func GetAuthScopeOutput(ctx *pulumi.Context, args GetAuthScopeOutputArgs, opts ...pulumi.InvokeOption) GetAuthScopeResultOutput

func (GetAuthScopeResultOutput) DomainId added in v3.5.0

The domain ID of the scope.

func (GetAuthScopeResultOutput) DomainName added in v3.5.0

The domain name of the scope.

func (GetAuthScopeResultOutput) ElementType added in v3.5.0

func (GetAuthScopeResultOutput) ElementType() reflect.Type

func (GetAuthScopeResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetAuthScopeResultOutput) Name added in v3.5.0

The name of the service.

func (GetAuthScopeResultOutput) ProjectDomainId added in v3.5.0

func (o GetAuthScopeResultOutput) ProjectDomainId() pulumi.StringOutput

The domain ID of the project.

func (GetAuthScopeResultOutput) ProjectDomainName added in v3.5.0

func (o GetAuthScopeResultOutput) ProjectDomainName() pulumi.StringOutput

The domain name of the project.

func (GetAuthScopeResultOutput) ProjectId added in v3.5.0

The project ID of the scope.

func (GetAuthScopeResultOutput) ProjectName added in v3.5.0

The project name of the scope.

func (GetAuthScopeResultOutput) Region added in v3.5.0

The region of the endpoint.

func (GetAuthScopeResultOutput) Roles added in v3.5.0

A list of roles in the current scope. See reference below.

func (GetAuthScopeResultOutput) ServiceCatalogs added in v3.5.0

A list of service catalog entries returned with the token.

func (GetAuthScopeResultOutput) SetTokenId added in v3.12.0

func (GetAuthScopeResultOutput) ToGetAuthScopeResultOutput added in v3.5.0

func (o GetAuthScopeResultOutput) ToGetAuthScopeResultOutput() GetAuthScopeResultOutput

func (GetAuthScopeResultOutput) ToGetAuthScopeResultOutputWithContext added in v3.5.0

func (o GetAuthScopeResultOutput) ToGetAuthScopeResultOutputWithContext(ctx context.Context) GetAuthScopeResultOutput

func (GetAuthScopeResultOutput) TokenId added in v3.12.0

The token ID of the scope.

func (GetAuthScopeResultOutput) UserDomainId added in v3.5.0

func (o GetAuthScopeResultOutput) UserDomainId() pulumi.StringOutput

The domain ID of the user.

func (GetAuthScopeResultOutput) UserDomainName added in v3.5.0

func (o GetAuthScopeResultOutput) UserDomainName() pulumi.StringOutput

The domain name of the user.

func (GetAuthScopeResultOutput) UserId added in v3.5.0

The user ID the of the scope.

func (GetAuthScopeResultOutput) UserName added in v3.5.0

The username of the scope.

type GetAuthScopeRole

type GetAuthScopeRole struct {
	// The ID of the role.
	RoleId string `pulumi:"roleId"`
	// The name of the role.
	RoleName string `pulumi:"roleName"`
}

type GetAuthScopeRoleArgs

type GetAuthScopeRoleArgs struct {
	// The ID of the role.
	RoleId pulumi.StringInput `pulumi:"roleId"`
	// The name of the role.
	RoleName pulumi.StringInput `pulumi:"roleName"`
}

func (GetAuthScopeRoleArgs) ElementType

func (GetAuthScopeRoleArgs) ElementType() reflect.Type

func (GetAuthScopeRoleArgs) ToGetAuthScopeRoleOutput

func (i GetAuthScopeRoleArgs) ToGetAuthScopeRoleOutput() GetAuthScopeRoleOutput

func (GetAuthScopeRoleArgs) ToGetAuthScopeRoleOutputWithContext

func (i GetAuthScopeRoleArgs) ToGetAuthScopeRoleOutputWithContext(ctx context.Context) GetAuthScopeRoleOutput

type GetAuthScopeRoleArray

type GetAuthScopeRoleArray []GetAuthScopeRoleInput

func (GetAuthScopeRoleArray) ElementType

func (GetAuthScopeRoleArray) ElementType() reflect.Type

func (GetAuthScopeRoleArray) ToGetAuthScopeRoleArrayOutput

func (i GetAuthScopeRoleArray) ToGetAuthScopeRoleArrayOutput() GetAuthScopeRoleArrayOutput

func (GetAuthScopeRoleArray) ToGetAuthScopeRoleArrayOutputWithContext

func (i GetAuthScopeRoleArray) ToGetAuthScopeRoleArrayOutputWithContext(ctx context.Context) GetAuthScopeRoleArrayOutput

type GetAuthScopeRoleArrayInput

type GetAuthScopeRoleArrayInput interface {
	pulumi.Input

	ToGetAuthScopeRoleArrayOutput() GetAuthScopeRoleArrayOutput
	ToGetAuthScopeRoleArrayOutputWithContext(context.Context) GetAuthScopeRoleArrayOutput
}

GetAuthScopeRoleArrayInput is an input type that accepts GetAuthScopeRoleArray and GetAuthScopeRoleArrayOutput values. You can construct a concrete instance of `GetAuthScopeRoleArrayInput` via:

GetAuthScopeRoleArray{ GetAuthScopeRoleArgs{...} }

type GetAuthScopeRoleArrayOutput

type GetAuthScopeRoleArrayOutput struct{ *pulumi.OutputState }

func (GetAuthScopeRoleArrayOutput) ElementType

func (GetAuthScopeRoleArrayOutput) Index

func (GetAuthScopeRoleArrayOutput) ToGetAuthScopeRoleArrayOutput

func (o GetAuthScopeRoleArrayOutput) ToGetAuthScopeRoleArrayOutput() GetAuthScopeRoleArrayOutput

func (GetAuthScopeRoleArrayOutput) ToGetAuthScopeRoleArrayOutputWithContext

func (o GetAuthScopeRoleArrayOutput) ToGetAuthScopeRoleArrayOutputWithContext(ctx context.Context) GetAuthScopeRoleArrayOutput

type GetAuthScopeRoleInput

type GetAuthScopeRoleInput interface {
	pulumi.Input

	ToGetAuthScopeRoleOutput() GetAuthScopeRoleOutput
	ToGetAuthScopeRoleOutputWithContext(context.Context) GetAuthScopeRoleOutput
}

GetAuthScopeRoleInput is an input type that accepts GetAuthScopeRoleArgs and GetAuthScopeRoleOutput values. You can construct a concrete instance of `GetAuthScopeRoleInput` via:

GetAuthScopeRoleArgs{...}

type GetAuthScopeRoleOutput

type GetAuthScopeRoleOutput struct{ *pulumi.OutputState }

func (GetAuthScopeRoleOutput) ElementType

func (GetAuthScopeRoleOutput) ElementType() reflect.Type

func (GetAuthScopeRoleOutput) RoleId

The ID of the role.

func (GetAuthScopeRoleOutput) RoleName

The name of the role.

func (GetAuthScopeRoleOutput) ToGetAuthScopeRoleOutput

func (o GetAuthScopeRoleOutput) ToGetAuthScopeRoleOutput() GetAuthScopeRoleOutput

func (GetAuthScopeRoleOutput) ToGetAuthScopeRoleOutputWithContext

func (o GetAuthScopeRoleOutput) ToGetAuthScopeRoleOutputWithContext(ctx context.Context) GetAuthScopeRoleOutput

type GetAuthScopeServiceCatalog

type GetAuthScopeServiceCatalog struct {
	// A list of endpoints for the service.
	Endpoints []GetAuthScopeServiceCatalogEndpoint `pulumi:"endpoints"`
	// The ID of the endpoint.
	Id string `pulumi:"id"`
	// The name of the scope. This is an arbitrary name which is
	// only used as a unique identifier so an actual token isn't used as the ID.
	Name string `pulumi:"name"`
	// The type of the service.
	Type string `pulumi:"type"`
}

type GetAuthScopeServiceCatalogArgs

type GetAuthScopeServiceCatalogArgs struct {
	// A list of endpoints for the service.
	Endpoints GetAuthScopeServiceCatalogEndpointArrayInput `pulumi:"endpoints"`
	// The ID of the endpoint.
	Id pulumi.StringInput `pulumi:"id"`
	// The name of the scope. This is an arbitrary name which is
	// only used as a unique identifier so an actual token isn't used as the ID.
	Name pulumi.StringInput `pulumi:"name"`
	// The type of the service.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetAuthScopeServiceCatalogArgs) ElementType

func (GetAuthScopeServiceCatalogArgs) ToGetAuthScopeServiceCatalogOutput

func (i GetAuthScopeServiceCatalogArgs) ToGetAuthScopeServiceCatalogOutput() GetAuthScopeServiceCatalogOutput

func (GetAuthScopeServiceCatalogArgs) ToGetAuthScopeServiceCatalogOutputWithContext

func (i GetAuthScopeServiceCatalogArgs) ToGetAuthScopeServiceCatalogOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogOutput

type GetAuthScopeServiceCatalogArray

type GetAuthScopeServiceCatalogArray []GetAuthScopeServiceCatalogInput

func (GetAuthScopeServiceCatalogArray) ElementType

func (GetAuthScopeServiceCatalogArray) ToGetAuthScopeServiceCatalogArrayOutput

func (i GetAuthScopeServiceCatalogArray) ToGetAuthScopeServiceCatalogArrayOutput() GetAuthScopeServiceCatalogArrayOutput

func (GetAuthScopeServiceCatalogArray) ToGetAuthScopeServiceCatalogArrayOutputWithContext

func (i GetAuthScopeServiceCatalogArray) ToGetAuthScopeServiceCatalogArrayOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogArrayOutput

type GetAuthScopeServiceCatalogArrayInput

type GetAuthScopeServiceCatalogArrayInput interface {
	pulumi.Input

	ToGetAuthScopeServiceCatalogArrayOutput() GetAuthScopeServiceCatalogArrayOutput
	ToGetAuthScopeServiceCatalogArrayOutputWithContext(context.Context) GetAuthScopeServiceCatalogArrayOutput
}

GetAuthScopeServiceCatalogArrayInput is an input type that accepts GetAuthScopeServiceCatalogArray and GetAuthScopeServiceCatalogArrayOutput values. You can construct a concrete instance of `GetAuthScopeServiceCatalogArrayInput` via:

GetAuthScopeServiceCatalogArray{ GetAuthScopeServiceCatalogArgs{...} }

type GetAuthScopeServiceCatalogArrayOutput

type GetAuthScopeServiceCatalogArrayOutput struct{ *pulumi.OutputState }

func (GetAuthScopeServiceCatalogArrayOutput) ElementType

func (GetAuthScopeServiceCatalogArrayOutput) Index

func (GetAuthScopeServiceCatalogArrayOutput) ToGetAuthScopeServiceCatalogArrayOutput

func (o GetAuthScopeServiceCatalogArrayOutput) ToGetAuthScopeServiceCatalogArrayOutput() GetAuthScopeServiceCatalogArrayOutput

func (GetAuthScopeServiceCatalogArrayOutput) ToGetAuthScopeServiceCatalogArrayOutputWithContext

func (o GetAuthScopeServiceCatalogArrayOutput) ToGetAuthScopeServiceCatalogArrayOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogArrayOutput

type GetAuthScopeServiceCatalogEndpoint

type GetAuthScopeServiceCatalogEndpoint struct {
	// The ID of the endpoint.
	Id string `pulumi:"id"`
	// The interface of the endpoint.
	Interface string `pulumi:"interface"`
	// The region in which to obtain the V3 Identity client.
	// A Identity client is needed to retrieve tokens IDs. If omitted, the
	// `region` argument of the provider is used.
	Region string `pulumi:"region"`
	// The region ID of the endpoint.
	RegionId string `pulumi:"regionId"`
	// The URL of the endpoint.
	Url string `pulumi:"url"`
}

type GetAuthScopeServiceCatalogEndpointArgs

type GetAuthScopeServiceCatalogEndpointArgs struct {
	// The ID of the endpoint.
	Id pulumi.StringInput `pulumi:"id"`
	// The interface of the endpoint.
	Interface pulumi.StringInput `pulumi:"interface"`
	// The region in which to obtain the V3 Identity client.
	// A Identity client is needed to retrieve tokens IDs. If omitted, the
	// `region` argument of the provider is used.
	Region pulumi.StringInput `pulumi:"region"`
	// The region ID of the endpoint.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The URL of the endpoint.
	Url pulumi.StringInput `pulumi:"url"`
}

func (GetAuthScopeServiceCatalogEndpointArgs) ElementType

func (GetAuthScopeServiceCatalogEndpointArgs) ToGetAuthScopeServiceCatalogEndpointOutput

func (i GetAuthScopeServiceCatalogEndpointArgs) ToGetAuthScopeServiceCatalogEndpointOutput() GetAuthScopeServiceCatalogEndpointOutput

func (GetAuthScopeServiceCatalogEndpointArgs) ToGetAuthScopeServiceCatalogEndpointOutputWithContext

func (i GetAuthScopeServiceCatalogEndpointArgs) ToGetAuthScopeServiceCatalogEndpointOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogEndpointOutput

type GetAuthScopeServiceCatalogEndpointArray

type GetAuthScopeServiceCatalogEndpointArray []GetAuthScopeServiceCatalogEndpointInput

func (GetAuthScopeServiceCatalogEndpointArray) ElementType

func (GetAuthScopeServiceCatalogEndpointArray) ToGetAuthScopeServiceCatalogEndpointArrayOutput

func (i GetAuthScopeServiceCatalogEndpointArray) ToGetAuthScopeServiceCatalogEndpointArrayOutput() GetAuthScopeServiceCatalogEndpointArrayOutput

func (GetAuthScopeServiceCatalogEndpointArray) ToGetAuthScopeServiceCatalogEndpointArrayOutputWithContext

func (i GetAuthScopeServiceCatalogEndpointArray) ToGetAuthScopeServiceCatalogEndpointArrayOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogEndpointArrayOutput

type GetAuthScopeServiceCatalogEndpointArrayInput

type GetAuthScopeServiceCatalogEndpointArrayInput interface {
	pulumi.Input

	ToGetAuthScopeServiceCatalogEndpointArrayOutput() GetAuthScopeServiceCatalogEndpointArrayOutput
	ToGetAuthScopeServiceCatalogEndpointArrayOutputWithContext(context.Context) GetAuthScopeServiceCatalogEndpointArrayOutput
}

GetAuthScopeServiceCatalogEndpointArrayInput is an input type that accepts GetAuthScopeServiceCatalogEndpointArray and GetAuthScopeServiceCatalogEndpointArrayOutput values. You can construct a concrete instance of `GetAuthScopeServiceCatalogEndpointArrayInput` via:

GetAuthScopeServiceCatalogEndpointArray{ GetAuthScopeServiceCatalogEndpointArgs{...} }

type GetAuthScopeServiceCatalogEndpointArrayOutput

type GetAuthScopeServiceCatalogEndpointArrayOutput struct{ *pulumi.OutputState }

func (GetAuthScopeServiceCatalogEndpointArrayOutput) ElementType

func (GetAuthScopeServiceCatalogEndpointArrayOutput) Index

func (GetAuthScopeServiceCatalogEndpointArrayOutput) ToGetAuthScopeServiceCatalogEndpointArrayOutput

func (o GetAuthScopeServiceCatalogEndpointArrayOutput) ToGetAuthScopeServiceCatalogEndpointArrayOutput() GetAuthScopeServiceCatalogEndpointArrayOutput

func (GetAuthScopeServiceCatalogEndpointArrayOutput) ToGetAuthScopeServiceCatalogEndpointArrayOutputWithContext

func (o GetAuthScopeServiceCatalogEndpointArrayOutput) ToGetAuthScopeServiceCatalogEndpointArrayOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogEndpointArrayOutput

type GetAuthScopeServiceCatalogEndpointInput

type GetAuthScopeServiceCatalogEndpointInput interface {
	pulumi.Input

	ToGetAuthScopeServiceCatalogEndpointOutput() GetAuthScopeServiceCatalogEndpointOutput
	ToGetAuthScopeServiceCatalogEndpointOutputWithContext(context.Context) GetAuthScopeServiceCatalogEndpointOutput
}

GetAuthScopeServiceCatalogEndpointInput is an input type that accepts GetAuthScopeServiceCatalogEndpointArgs and GetAuthScopeServiceCatalogEndpointOutput values. You can construct a concrete instance of `GetAuthScopeServiceCatalogEndpointInput` via:

GetAuthScopeServiceCatalogEndpointArgs{...}

type GetAuthScopeServiceCatalogEndpointOutput

type GetAuthScopeServiceCatalogEndpointOutput struct{ *pulumi.OutputState }

func (GetAuthScopeServiceCatalogEndpointOutput) ElementType

func (GetAuthScopeServiceCatalogEndpointOutput) Id

The ID of the endpoint.

func (GetAuthScopeServiceCatalogEndpointOutput) Interface

The interface of the endpoint.

func (GetAuthScopeServiceCatalogEndpointOutput) Region

The region in which to obtain the V3 Identity client. A Identity client is needed to retrieve tokens IDs. If omitted, the `region` argument of the provider is used.

func (GetAuthScopeServiceCatalogEndpointOutput) RegionId

The region ID of the endpoint.

func (GetAuthScopeServiceCatalogEndpointOutput) ToGetAuthScopeServiceCatalogEndpointOutput

func (o GetAuthScopeServiceCatalogEndpointOutput) ToGetAuthScopeServiceCatalogEndpointOutput() GetAuthScopeServiceCatalogEndpointOutput

func (GetAuthScopeServiceCatalogEndpointOutput) ToGetAuthScopeServiceCatalogEndpointOutputWithContext

func (o GetAuthScopeServiceCatalogEndpointOutput) ToGetAuthScopeServiceCatalogEndpointOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogEndpointOutput

func (GetAuthScopeServiceCatalogEndpointOutput) Url

The URL of the endpoint.

type GetAuthScopeServiceCatalogInput

type GetAuthScopeServiceCatalogInput interface {
	pulumi.Input

	ToGetAuthScopeServiceCatalogOutput() GetAuthScopeServiceCatalogOutput
	ToGetAuthScopeServiceCatalogOutputWithContext(context.Context) GetAuthScopeServiceCatalogOutput
}

GetAuthScopeServiceCatalogInput is an input type that accepts GetAuthScopeServiceCatalogArgs and GetAuthScopeServiceCatalogOutput values. You can construct a concrete instance of `GetAuthScopeServiceCatalogInput` via:

GetAuthScopeServiceCatalogArgs{...}

type GetAuthScopeServiceCatalogOutput

type GetAuthScopeServiceCatalogOutput struct{ *pulumi.OutputState }

func (GetAuthScopeServiceCatalogOutput) ElementType

func (GetAuthScopeServiceCatalogOutput) Endpoints

A list of endpoints for the service.

func (GetAuthScopeServiceCatalogOutput) Id

The ID of the endpoint.

func (GetAuthScopeServiceCatalogOutput) Name

The name of the scope. This is an arbitrary name which is only used as a unique identifier so an actual token isn't used as the ID.

func (GetAuthScopeServiceCatalogOutput) ToGetAuthScopeServiceCatalogOutput

func (o GetAuthScopeServiceCatalogOutput) ToGetAuthScopeServiceCatalogOutput() GetAuthScopeServiceCatalogOutput

func (GetAuthScopeServiceCatalogOutput) ToGetAuthScopeServiceCatalogOutputWithContext

func (o GetAuthScopeServiceCatalogOutput) ToGetAuthScopeServiceCatalogOutputWithContext(ctx context.Context) GetAuthScopeServiceCatalogOutput

func (GetAuthScopeServiceCatalogOutput) Type

The type of the service.

type GetEndpointArgs

type GetEndpointArgs struct {
	// The region the endpoint is assigned to. The
	// `region` and `endpointRegion` can be different.
	EndpointRegion *string `pulumi:"endpointRegion"`
	// The endpoint interface. Valid values are `public`,
	// `internal`, and `admin`. Default value is `public`
	Interface *string `pulumi:"interface"`
	// The name of the endpoint.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The service id this endpoint belongs to.
	ServiceId *string `pulumi:"serviceId"`
	// The service name of the endpoint.
	ServiceName *string `pulumi:"serviceName"`
	// The service type of the endpoint.
	ServiceType *string `pulumi:"serviceType"`
}

A collection of arguments for invoking getEndpoint.

type GetEndpointOutputArgs added in v3.5.0

type GetEndpointOutputArgs struct {
	// The region the endpoint is assigned to. The
	// `region` and `endpointRegion` can be different.
	EndpointRegion pulumi.StringPtrInput `pulumi:"endpointRegion"`
	// The endpoint interface. Valid values are `public`,
	// `internal`, and `admin`. Default value is `public`
	Interface pulumi.StringPtrInput `pulumi:"interface"`
	// The name of the endpoint.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The service id this endpoint belongs to.
	ServiceId pulumi.StringPtrInput `pulumi:"serviceId"`
	// The service name of the endpoint.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
	// The service type of the endpoint.
	ServiceType pulumi.StringPtrInput `pulumi:"serviceType"`
}

A collection of arguments for invoking getEndpoint.

func (GetEndpointOutputArgs) ElementType added in v3.5.0

func (GetEndpointOutputArgs) ElementType() reflect.Type

type GetEndpointResult

type GetEndpointResult struct {
	// See Argument Reference above.
	EndpointRegion *string `pulumi:"endpointRegion"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Interface *string `pulumi:"interface"`
	// See Argument Reference above.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// See Argument Reference above.
	ServiceId *string `pulumi:"serviceId"`
	// See Argument Reference above.
	ServiceName *string `pulumi:"serviceName"`
	// See Argument Reference above.
	ServiceType *string `pulumi:"serviceType"`
	// The endpoint URL.
	Url string `pulumi:"url"`
}

A collection of values returned by getEndpoint.

func GetEndpoint

func GetEndpoint(ctx *pulumi.Context, args *GetEndpointArgs, opts ...pulumi.InvokeOption) (*GetEndpointResult, error)

Use this data source to get the ID of an OpenStack endpoint.

> **Note:** This usually requires admin privileges.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.GetEndpoint(ctx, &identity.GetEndpointArgs{
			ServiceName: pulumi.StringRef("demo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetEndpointResultOutput added in v3.5.0

type GetEndpointResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEndpoint.

func GetEndpointOutput added in v3.5.0

func GetEndpointOutput(ctx *pulumi.Context, args GetEndpointOutputArgs, opts ...pulumi.InvokeOption) GetEndpointResultOutput

func (GetEndpointResultOutput) ElementType added in v3.5.0

func (GetEndpointResultOutput) ElementType() reflect.Type

func (GetEndpointResultOutput) EndpointRegion added in v3.5.0

func (o GetEndpointResultOutput) EndpointRegion() pulumi.StringPtrOutput

See Argument Reference above.

func (GetEndpointResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetEndpointResultOutput) Interface added in v3.5.0

See Argument Reference above.

func (GetEndpointResultOutput) Name added in v3.5.0

See Argument Reference above.

func (GetEndpointResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetEndpointResultOutput) ServiceId added in v3.5.0

See Argument Reference above.

func (GetEndpointResultOutput) ServiceName added in v3.5.0

See Argument Reference above.

func (GetEndpointResultOutput) ServiceType added in v3.5.0

See Argument Reference above.

func (GetEndpointResultOutput) ToGetEndpointResultOutput added in v3.5.0

func (o GetEndpointResultOutput) ToGetEndpointResultOutput() GetEndpointResultOutput

func (GetEndpointResultOutput) ToGetEndpointResultOutputWithContext added in v3.5.0

func (o GetEndpointResultOutput) ToGetEndpointResultOutputWithContext(ctx context.Context) GetEndpointResultOutput

func (GetEndpointResultOutput) Url added in v3.5.0

The endpoint URL.

type GetGroupArgs

type GetGroupArgs struct {
	// The domain the group belongs to.
	DomainId *string `pulumi:"domainId"`
	// The name of the group.
	Name string `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getGroup.

type GetGroupOutputArgs added in v3.5.0

type GetGroupOutputArgs struct {
	// The domain the group belongs to.
	DomainId pulumi.StringPtrInput `pulumi:"domainId"`
	// The name of the group.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getGroup.

func (GetGroupOutputArgs) ElementType added in v3.5.0

func (GetGroupOutputArgs) ElementType() reflect.Type

type GetGroupResult

type GetGroupResult struct {
	// A description of the group.
	Description string `pulumi:"description"`
	// See Argument Reference above.
	DomainId string `pulumi:"domainId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
}

A collection of values returned by getGroup.

func GetGroup

func GetGroup(ctx *pulumi.Context, args *GetGroupArgs, opts ...pulumi.InvokeOption) (*GetGroupResult, error)

Use this data source to get the ID of an OpenStack group.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

``` <!--End PulumiCodeChooser -->

type GetGroupResultOutput added in v3.5.0

type GetGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroup.

func GetGroupOutput added in v3.5.0

func GetGroupOutput(ctx *pulumi.Context, args GetGroupOutputArgs, opts ...pulumi.InvokeOption) GetGroupResultOutput

func (GetGroupResultOutput) Description added in v3.5.0

func (o GetGroupResultOutput) Description() pulumi.StringOutput

A description of the group.

func (GetGroupResultOutput) DomainId added in v3.5.0

See Argument Reference above.

func (GetGroupResultOutput) ElementType added in v3.5.0

func (GetGroupResultOutput) ElementType() reflect.Type

func (GetGroupResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetGroupResultOutput) Name added in v3.5.0

See Argument Reference above.

func (GetGroupResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetGroupResultOutput) ToGetGroupResultOutput added in v3.5.0

func (o GetGroupResultOutput) ToGetGroupResultOutput() GetGroupResultOutput

func (GetGroupResultOutput) ToGetGroupResultOutputWithContext added in v3.5.0

func (o GetGroupResultOutput) ToGetGroupResultOutputWithContext(ctx context.Context) GetGroupResultOutput

type GetServiceArgs

type GetServiceArgs struct {
	// The service status.
	Enabled *bool `pulumi:"enabled"`
	// The service name.
	Name *string `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
	// The service type.
	Type *string `pulumi:"type"`
}

A collection of arguments for invoking getService.

type GetServiceOutputArgs added in v3.5.0

type GetServiceOutputArgs struct {
	// The service status.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// The service name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The service type.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

A collection of arguments for invoking getService.

func (GetServiceOutputArgs) ElementType added in v3.5.0

func (GetServiceOutputArgs) ElementType() reflect.Type

type GetServiceResult

type GetServiceResult struct {
	// The service description.
	Description string `pulumi:"description"`
	// See Argument Reference above.
	Enabled *bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
	// See Argument Reference above.
	Type *string `pulumi:"type"`
}

A collection of values returned by getService.

func GetService

func GetService(ctx *pulumi.Context, args *GetServiceArgs, opts ...pulumi.InvokeOption) (*GetServiceResult, error)

Use this data source to get the ID of an OpenStack service.

> **Note:** This usually requires admin privileges.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.GetService(ctx, &identity.GetServiceArgs{
			Name: pulumi.StringRef("keystone"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetServiceResultOutput added in v3.5.0

type GetServiceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getService.

func GetServiceOutput added in v3.5.0

func GetServiceOutput(ctx *pulumi.Context, args GetServiceOutputArgs, opts ...pulumi.InvokeOption) GetServiceResultOutput

func (GetServiceResultOutput) Description added in v3.5.0

func (o GetServiceResultOutput) Description() pulumi.StringOutput

The service description.

func (GetServiceResultOutput) ElementType added in v3.5.0

func (GetServiceResultOutput) ElementType() reflect.Type

func (GetServiceResultOutput) Enabled added in v3.5.0

See Argument Reference above.

func (GetServiceResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (GetServiceResultOutput) Name added in v3.5.0

See Argument Reference above.

func (GetServiceResultOutput) Region added in v3.5.0

See Argument Reference above.

func (GetServiceResultOutput) ToGetServiceResultOutput added in v3.5.0

func (o GetServiceResultOutput) ToGetServiceResultOutput() GetServiceResultOutput

func (GetServiceResultOutput) ToGetServiceResultOutputWithContext added in v3.5.0

func (o GetServiceResultOutput) ToGetServiceResultOutputWithContext(ctx context.Context) GetServiceResultOutput

func (GetServiceResultOutput) Type added in v3.5.0

See Argument Reference above.

type GroupV3

type GroupV3 struct {
	pulumi.CustomResourceState

	// A description of the group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The domain the group belongs to.
	DomainId pulumi.StringOutput `pulumi:"domainId"`
	// The name of the group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new group.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V3 group resource within OpenStack Keystone.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewGroupV3(ctx, "group1", &identity.GroupV3Args{
			Description: pulumi.String("group 1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:identity/groupV3:GroupV3 group_1 89c60255-9bd6-460c-822a-e2b959ede9d2 ```

func GetGroupV3

func GetGroupV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupV3State, opts ...pulumi.ResourceOption) (*GroupV3, error)

GetGroupV3 gets an existing GroupV3 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 NewGroupV3

func NewGroupV3(ctx *pulumi.Context,
	name string, args *GroupV3Args, opts ...pulumi.ResourceOption) (*GroupV3, error)

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

func (*GroupV3) ElementType

func (*GroupV3) ElementType() reflect.Type

func (*GroupV3) ToGroupV3Output

func (i *GroupV3) ToGroupV3Output() GroupV3Output

func (*GroupV3) ToGroupV3OutputWithContext

func (i *GroupV3) ToGroupV3OutputWithContext(ctx context.Context) GroupV3Output

type GroupV3Args

type GroupV3Args struct {
	// A description of the group.
	Description pulumi.StringPtrInput
	// The domain the group belongs to.
	DomainId pulumi.StringPtrInput
	// The name of the group.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new group.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a GroupV3 resource.

func (GroupV3Args) ElementType

func (GroupV3Args) ElementType() reflect.Type

type GroupV3Array

type GroupV3Array []GroupV3Input

func (GroupV3Array) ElementType

func (GroupV3Array) ElementType() reflect.Type

func (GroupV3Array) ToGroupV3ArrayOutput

func (i GroupV3Array) ToGroupV3ArrayOutput() GroupV3ArrayOutput

func (GroupV3Array) ToGroupV3ArrayOutputWithContext

func (i GroupV3Array) ToGroupV3ArrayOutputWithContext(ctx context.Context) GroupV3ArrayOutput

type GroupV3ArrayInput

type GroupV3ArrayInput interface {
	pulumi.Input

	ToGroupV3ArrayOutput() GroupV3ArrayOutput
	ToGroupV3ArrayOutputWithContext(context.Context) GroupV3ArrayOutput
}

GroupV3ArrayInput is an input type that accepts GroupV3Array and GroupV3ArrayOutput values. You can construct a concrete instance of `GroupV3ArrayInput` via:

GroupV3Array{ GroupV3Args{...} }

type GroupV3ArrayOutput

type GroupV3ArrayOutput struct{ *pulumi.OutputState }

func (GroupV3ArrayOutput) ElementType

func (GroupV3ArrayOutput) ElementType() reflect.Type

func (GroupV3ArrayOutput) Index

func (GroupV3ArrayOutput) ToGroupV3ArrayOutput

func (o GroupV3ArrayOutput) ToGroupV3ArrayOutput() GroupV3ArrayOutput

func (GroupV3ArrayOutput) ToGroupV3ArrayOutputWithContext

func (o GroupV3ArrayOutput) ToGroupV3ArrayOutputWithContext(ctx context.Context) GroupV3ArrayOutput

type GroupV3Input

type GroupV3Input interface {
	pulumi.Input

	ToGroupV3Output() GroupV3Output
	ToGroupV3OutputWithContext(ctx context.Context) GroupV3Output
}

type GroupV3Map

type GroupV3Map map[string]GroupV3Input

func (GroupV3Map) ElementType

func (GroupV3Map) ElementType() reflect.Type

func (GroupV3Map) ToGroupV3MapOutput

func (i GroupV3Map) ToGroupV3MapOutput() GroupV3MapOutput

func (GroupV3Map) ToGroupV3MapOutputWithContext

func (i GroupV3Map) ToGroupV3MapOutputWithContext(ctx context.Context) GroupV3MapOutput

type GroupV3MapInput

type GroupV3MapInput interface {
	pulumi.Input

	ToGroupV3MapOutput() GroupV3MapOutput
	ToGroupV3MapOutputWithContext(context.Context) GroupV3MapOutput
}

GroupV3MapInput is an input type that accepts GroupV3Map and GroupV3MapOutput values. You can construct a concrete instance of `GroupV3MapInput` via:

GroupV3Map{ "key": GroupV3Args{...} }

type GroupV3MapOutput

type GroupV3MapOutput struct{ *pulumi.OutputState }

func (GroupV3MapOutput) ElementType

func (GroupV3MapOutput) ElementType() reflect.Type

func (GroupV3MapOutput) MapIndex

func (GroupV3MapOutput) ToGroupV3MapOutput

func (o GroupV3MapOutput) ToGroupV3MapOutput() GroupV3MapOutput

func (GroupV3MapOutput) ToGroupV3MapOutputWithContext

func (o GroupV3MapOutput) ToGroupV3MapOutputWithContext(ctx context.Context) GroupV3MapOutput

type GroupV3Output

type GroupV3Output struct{ *pulumi.OutputState }

func (GroupV3Output) Description added in v3.9.0

func (o GroupV3Output) Description() pulumi.StringPtrOutput

A description of the group.

func (GroupV3Output) DomainId added in v3.9.0

func (o GroupV3Output) DomainId() pulumi.StringOutput

The domain the group belongs to.

func (GroupV3Output) ElementType

func (GroupV3Output) ElementType() reflect.Type

func (GroupV3Output) Name added in v3.9.0

The name of the group.

func (GroupV3Output) Region added in v3.9.0

func (o GroupV3Output) Region() pulumi.StringOutput

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used. Changing this creates a new group.

func (GroupV3Output) ToGroupV3Output

func (o GroupV3Output) ToGroupV3Output() GroupV3Output

func (GroupV3Output) ToGroupV3OutputWithContext

func (o GroupV3Output) ToGroupV3OutputWithContext(ctx context.Context) GroupV3Output

type GroupV3State

type GroupV3State struct {
	// A description of the group.
	Description pulumi.StringPtrInput
	// The domain the group belongs to.
	DomainId pulumi.StringPtrInput
	// The name of the group.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new group.
	Region pulumi.StringPtrInput
}

func (GroupV3State) ElementType

func (GroupV3State) ElementType() reflect.Type

type InheritRoleAssignment added in v3.13.0

type InheritRoleAssignment struct {
	pulumi.CustomResourceState

	// The domain to assign the role in.
	DomainId pulumi.StringPtrOutput `pulumi:"domainId"`
	// The group to assign the role to.
	GroupId pulumi.StringPtrOutput `pulumi:"groupId"`
	// The project to assign the role in.
	// The project should be able to containt child projects.
	ProjectId pulumi.StringPtrOutput `pulumi:"projectId"`
	Region    pulumi.StringOutput    `pulumi:"region"`
	// The role to assign.
	RoleId pulumi.StringOutput `pulumi:"roleId"`
	// The user to assign the role to.
	UserId pulumi.StringPtrOutput `pulumi:"userId"`
}

Manages a V3 Inherit Role assignment within OpenStack Keystone. This uses the Openstack keystone `OS-INHERIT` api to created inherit roles within domains and parent projects for users and groups.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		user1, err := identity.NewUser(ctx, "user1", &identity.UserArgs{
			DomainId: pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		role1, err := identity.NewRole(ctx, "role1", &identity.RoleArgs{
			DomainId: pulumi.String("default"),
		})
		if err != nil {
			return err
		}
		_, err = identity.NewInheritRoleAssignment(ctx, "roleAssignment1", &identity.InheritRoleAssignmentArgs{
			UserId:   user1.ID(),
			DomainId: pulumi.String("default"),
			RoleId:   role1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Inherit role assignments can be imported using a constructed id. The id should have the form of `domainID/projectID/groupID/userID/roleID`. When something is not used then leave blank.

For example this will import the inherit role assignment for: projectID: 014395cd-89fc-4c9b-96b7-13d1ee79dad2, userID: 4142e64b-1b35-44a0-9b1e-5affc7af1106, roleID: ea257959-eeb1-4c10-8d33-26f0409a755d ( domainID and groupID are left blank)

```sh $ pulumi import openstack:identity/inheritRoleAssignment:InheritRoleAssignment role_assignment_1 /014395cd-89fc-4c9b-96b7-13d1ee79dad2//4142e64b-1b35-44a0-9b1e-5affc7af1106/ea257959-eeb1-4c10-8d33-26f0409a755d ```

func GetInheritRoleAssignment added in v3.13.0

func GetInheritRoleAssignment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InheritRoleAssignmentState, opts ...pulumi.ResourceOption) (*InheritRoleAssignment, error)

GetInheritRoleAssignment gets an existing InheritRoleAssignment 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 NewInheritRoleAssignment added in v3.13.0

func NewInheritRoleAssignment(ctx *pulumi.Context,
	name string, args *InheritRoleAssignmentArgs, opts ...pulumi.ResourceOption) (*InheritRoleAssignment, error)

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

func (*InheritRoleAssignment) ElementType added in v3.13.0

func (*InheritRoleAssignment) ElementType() reflect.Type

func (*InheritRoleAssignment) ToInheritRoleAssignmentOutput added in v3.13.0

func (i *InheritRoleAssignment) ToInheritRoleAssignmentOutput() InheritRoleAssignmentOutput

func (*InheritRoleAssignment) ToInheritRoleAssignmentOutputWithContext added in v3.13.0

func (i *InheritRoleAssignment) ToInheritRoleAssignmentOutputWithContext(ctx context.Context) InheritRoleAssignmentOutput

type InheritRoleAssignmentArgs added in v3.13.0

type InheritRoleAssignmentArgs struct {
	// The domain to assign the role in.
	DomainId pulumi.StringPtrInput
	// The group to assign the role to.
	GroupId pulumi.StringPtrInput
	// The project to assign the role in.
	// The project should be able to containt child projects.
	ProjectId pulumi.StringPtrInput
	Region    pulumi.StringPtrInput
	// The role to assign.
	RoleId pulumi.StringInput
	// The user to assign the role to.
	UserId pulumi.StringPtrInput
}

The set of arguments for constructing a InheritRoleAssignment resource.

func (InheritRoleAssignmentArgs) ElementType added in v3.13.0

func (InheritRoleAssignmentArgs) ElementType() reflect.Type

type InheritRoleAssignmentArray added in v3.13.0

type InheritRoleAssignmentArray []InheritRoleAssignmentInput

func (InheritRoleAssignmentArray) ElementType added in v3.13.0

func (InheritRoleAssignmentArray) ElementType() reflect.Type

func (InheritRoleAssignmentArray) ToInheritRoleAssignmentArrayOutput added in v3.13.0

func (i InheritRoleAssignmentArray) ToInheritRoleAssignmentArrayOutput() InheritRoleAssignmentArrayOutput

func (InheritRoleAssignmentArray) ToInheritRoleAssignmentArrayOutputWithContext added in v3.13.0

func (i InheritRoleAssignmentArray) ToInheritRoleAssignmentArrayOutputWithContext(ctx context.Context) InheritRoleAssignmentArrayOutput

type InheritRoleAssignmentArrayInput added in v3.13.0

type InheritRoleAssignmentArrayInput interface {
	pulumi.Input

	ToInheritRoleAssignmentArrayOutput() InheritRoleAssignmentArrayOutput
	ToInheritRoleAssignmentArrayOutputWithContext(context.Context) InheritRoleAssignmentArrayOutput
}

InheritRoleAssignmentArrayInput is an input type that accepts InheritRoleAssignmentArray and InheritRoleAssignmentArrayOutput values. You can construct a concrete instance of `InheritRoleAssignmentArrayInput` via:

InheritRoleAssignmentArray{ InheritRoleAssignmentArgs{...} }

type InheritRoleAssignmentArrayOutput added in v3.13.0

type InheritRoleAssignmentArrayOutput struct{ *pulumi.OutputState }

func (InheritRoleAssignmentArrayOutput) ElementType added in v3.13.0

func (InheritRoleAssignmentArrayOutput) Index added in v3.13.0

func (InheritRoleAssignmentArrayOutput) ToInheritRoleAssignmentArrayOutput added in v3.13.0

func (o InheritRoleAssignmentArrayOutput) ToInheritRoleAssignmentArrayOutput() InheritRoleAssignmentArrayOutput

func (InheritRoleAssignmentArrayOutput) ToInheritRoleAssignmentArrayOutputWithContext added in v3.13.0

func (o InheritRoleAssignmentArrayOutput) ToInheritRoleAssignmentArrayOutputWithContext(ctx context.Context) InheritRoleAssignmentArrayOutput

type InheritRoleAssignmentInput added in v3.13.0

type InheritRoleAssignmentInput interface {
	pulumi.Input

	ToInheritRoleAssignmentOutput() InheritRoleAssignmentOutput
	ToInheritRoleAssignmentOutputWithContext(ctx context.Context) InheritRoleAssignmentOutput
}

type InheritRoleAssignmentMap added in v3.13.0

type InheritRoleAssignmentMap map[string]InheritRoleAssignmentInput

func (InheritRoleAssignmentMap) ElementType added in v3.13.0

func (InheritRoleAssignmentMap) ElementType() reflect.Type

func (InheritRoleAssignmentMap) ToInheritRoleAssignmentMapOutput added in v3.13.0

func (i InheritRoleAssignmentMap) ToInheritRoleAssignmentMapOutput() InheritRoleAssignmentMapOutput

func (InheritRoleAssignmentMap) ToInheritRoleAssignmentMapOutputWithContext added in v3.13.0

func (i InheritRoleAssignmentMap) ToInheritRoleAssignmentMapOutputWithContext(ctx context.Context) InheritRoleAssignmentMapOutput

type InheritRoleAssignmentMapInput added in v3.13.0

type InheritRoleAssignmentMapInput interface {
	pulumi.Input

	ToInheritRoleAssignmentMapOutput() InheritRoleAssignmentMapOutput
	ToInheritRoleAssignmentMapOutputWithContext(context.Context) InheritRoleAssignmentMapOutput
}

InheritRoleAssignmentMapInput is an input type that accepts InheritRoleAssignmentMap and InheritRoleAssignmentMapOutput values. You can construct a concrete instance of `InheritRoleAssignmentMapInput` via:

InheritRoleAssignmentMap{ "key": InheritRoleAssignmentArgs{...} }

type InheritRoleAssignmentMapOutput added in v3.13.0

type InheritRoleAssignmentMapOutput struct{ *pulumi.OutputState }

func (InheritRoleAssignmentMapOutput) ElementType added in v3.13.0

func (InheritRoleAssignmentMapOutput) MapIndex added in v3.13.0

func (InheritRoleAssignmentMapOutput) ToInheritRoleAssignmentMapOutput added in v3.13.0

func (o InheritRoleAssignmentMapOutput) ToInheritRoleAssignmentMapOutput() InheritRoleAssignmentMapOutput

func (InheritRoleAssignmentMapOutput) ToInheritRoleAssignmentMapOutputWithContext added in v3.13.0

func (o InheritRoleAssignmentMapOutput) ToInheritRoleAssignmentMapOutputWithContext(ctx context.Context) InheritRoleAssignmentMapOutput

type InheritRoleAssignmentOutput added in v3.13.0

type InheritRoleAssignmentOutput struct{ *pulumi.OutputState }

func (InheritRoleAssignmentOutput) DomainId added in v3.13.0

The domain to assign the role in.

func (InheritRoleAssignmentOutput) ElementType added in v3.13.0

func (InheritRoleAssignmentOutput) GroupId added in v3.13.0

The group to assign the role to.

func (InheritRoleAssignmentOutput) ProjectId added in v3.13.0

The project to assign the role in. The project should be able to containt child projects.

func (InheritRoleAssignmentOutput) Region added in v3.13.0

func (InheritRoleAssignmentOutput) RoleId added in v3.13.0

The role to assign.

func (InheritRoleAssignmentOutput) ToInheritRoleAssignmentOutput added in v3.13.0

func (o InheritRoleAssignmentOutput) ToInheritRoleAssignmentOutput() InheritRoleAssignmentOutput

func (InheritRoleAssignmentOutput) ToInheritRoleAssignmentOutputWithContext added in v3.13.0

func (o InheritRoleAssignmentOutput) ToInheritRoleAssignmentOutputWithContext(ctx context.Context) InheritRoleAssignmentOutput

func (InheritRoleAssignmentOutput) UserId added in v3.13.0

The user to assign the role to.

type InheritRoleAssignmentState added in v3.13.0

type InheritRoleAssignmentState struct {
	// The domain to assign the role in.
	DomainId pulumi.StringPtrInput
	// The group to assign the role to.
	GroupId pulumi.StringPtrInput
	// The project to assign the role in.
	// The project should be able to containt child projects.
	ProjectId pulumi.StringPtrInput
	Region    pulumi.StringPtrInput
	// The role to assign.
	RoleId pulumi.StringPtrInput
	// The user to assign the role to.
	UserId pulumi.StringPtrInput
}

func (InheritRoleAssignmentState) ElementType added in v3.13.0

func (InheritRoleAssignmentState) ElementType() reflect.Type

type LookupProjectArgs

type LookupProjectArgs struct {
	// The domain this project belongs to.
	DomainId *string `pulumi:"domainId"`
	// Whether the project is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled *bool `pulumi:"enabled"`
	// Whether this project is a domain. Valid values
	// are `true` and `false`.
	IsDomain *bool `pulumi:"isDomain"`
	// The name of the project.
	Name *string `pulumi:"name"`
	// The parent of this project.
	ParentId *string `pulumi:"parentId"`
	// The id of the project. Conflicts with any of the
	// above arguments.
	ProjectId *string `pulumi:"projectId"`
	// The region the project is located in.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getProject.

type LookupProjectOutputArgs added in v3.5.0

type LookupProjectOutputArgs struct {
	// The domain this project belongs to.
	DomainId pulumi.StringPtrInput `pulumi:"domainId"`
	// Whether the project is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// Whether this project is a domain. Valid values
	// are `true` and `false`.
	IsDomain pulumi.BoolPtrInput `pulumi:"isDomain"`
	// The name of the project.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The parent of this project.
	ParentId pulumi.StringPtrInput `pulumi:"parentId"`
	// The id of the project. Conflicts with any of the
	// above arguments.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// The region the project is located in.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getProject.

func (LookupProjectOutputArgs) ElementType added in v3.5.0

func (LookupProjectOutputArgs) ElementType() reflect.Type

type LookupProjectResult

type LookupProjectResult struct {
	// The description of the project.
	Description string `pulumi:"description"`
	// See Argument Reference above.
	DomainId string `pulumi:"domainId"`
	// See Argument Reference above.
	Enabled *bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	IsDomain *bool `pulumi:"isDomain"`
	// See Argument Reference above.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	ParentId *string `pulumi:"parentId"`
	// See Argument Reference above.
	ProjectId *string `pulumi:"projectId"`
	// The region the project is located in.
	Region string `pulumi:"region"`
	// See Argument Reference above.
	Tags []string `pulumi:"tags"`
}

A collection of values returned by getProject.

func LookupProject

func LookupProject(ctx *pulumi.Context, args *LookupProjectArgs, opts ...pulumi.InvokeOption) (*LookupProjectResult, error)

Use this data source to get the ID of an OpenStack project.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.LookupProject(ctx, &identity.LookupProjectArgs{
			Name: pulumi.StringRef("demo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupProjectResultOutput added in v3.5.0

type LookupProjectResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getProject.

func LookupProjectOutput added in v3.5.0

func LookupProjectOutput(ctx *pulumi.Context, args LookupProjectOutputArgs, opts ...pulumi.InvokeOption) LookupProjectResultOutput

func (LookupProjectResultOutput) Description added in v3.5.0

The description of the project.

func (LookupProjectResultOutput) DomainId added in v3.5.0

See Argument Reference above.

func (LookupProjectResultOutput) ElementType added in v3.5.0

func (LookupProjectResultOutput) ElementType() reflect.Type

func (LookupProjectResultOutput) Enabled added in v3.5.0

See Argument Reference above.

func (LookupProjectResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupProjectResultOutput) IsDomain added in v3.5.0

See Argument Reference above.

func (LookupProjectResultOutput) Name added in v3.5.0

See Argument Reference above.

func (LookupProjectResultOutput) ParentId added in v3.5.0

See Argument Reference above.

func (LookupProjectResultOutput) ProjectId added in v3.13.0

See Argument Reference above.

func (LookupProjectResultOutput) Region added in v3.5.0

The region the project is located in.

func (LookupProjectResultOutput) Tags added in v3.5.0

See Argument Reference above.

func (LookupProjectResultOutput) ToLookupProjectResultOutput added in v3.5.0

func (o LookupProjectResultOutput) ToLookupProjectResultOutput() LookupProjectResultOutput

func (LookupProjectResultOutput) ToLookupProjectResultOutputWithContext added in v3.5.0

func (o LookupProjectResultOutput) ToLookupProjectResultOutputWithContext(ctx context.Context) LookupProjectResultOutput

type LookupRoleArgs

type LookupRoleArgs struct {
	// The domain the role belongs to.
	DomainId *string `pulumi:"domainId"`
	// The name of the role.
	Name string `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getRole.

type LookupRoleOutputArgs added in v3.5.0

type LookupRoleOutputArgs struct {
	// The domain the role belongs to.
	DomainId pulumi.StringPtrInput `pulumi:"domainId"`
	// The name of the role.
	Name pulumi.StringInput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getRole.

func (LookupRoleOutputArgs) ElementType added in v3.5.0

func (LookupRoleOutputArgs) ElementType() reflect.Type

type LookupRoleResult

type LookupRoleResult struct {
	// See Argument Reference above.
	DomainId string `pulumi:"domainId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	Name string `pulumi:"name"`
	// See Argument Reference above.
	Region string `pulumi:"region"`
}

A collection of values returned by getRole.

func LookupRole

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

Use this data source to get the ID of an OpenStack role.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.LookupRole(ctx, &identity.LookupRoleArgs{
			Name: "admin",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupRoleResultOutput added in v3.5.0

type LookupRoleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRole.

func LookupRoleOutput added in v3.5.0

func LookupRoleOutput(ctx *pulumi.Context, args LookupRoleOutputArgs, opts ...pulumi.InvokeOption) LookupRoleResultOutput

func (LookupRoleResultOutput) DomainId added in v3.5.0

See Argument Reference above.

func (LookupRoleResultOutput) ElementType added in v3.5.0

func (LookupRoleResultOutput) ElementType() reflect.Type

func (LookupRoleResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupRoleResultOutput) Name added in v3.5.0

See Argument Reference above.

func (LookupRoleResultOutput) Region added in v3.5.0

See Argument Reference above.

func (LookupRoleResultOutput) ToLookupRoleResultOutput added in v3.5.0

func (o LookupRoleResultOutput) ToLookupRoleResultOutput() LookupRoleResultOutput

func (LookupRoleResultOutput) ToLookupRoleResultOutputWithContext added in v3.5.0

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

type LookupUserArgs

type LookupUserArgs struct {
	// The domain this user belongs to.
	DomainId *string `pulumi:"domainId"`
	// Whether the user is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled *bool `pulumi:"enabled"`
	// The identity provider ID of the user.
	IdpId *string `pulumi:"idpId"`
	// The name of the user.
	Name *string `pulumi:"name"`
	// Query for expired passwords. See the [OpenStack API docs](https://developer.openstack.org/api-ref/identity/v3/#list-users) for more information on the query format.
	PasswordExpiresAt *string `pulumi:"passwordExpiresAt"`
	// The protocol ID of the user.
	ProtocolId *string `pulumi:"protocolId"`
	// The region the user is located in.
	Region *string `pulumi:"region"`
	// The unique ID of the user.
	UniqueId *string `pulumi:"uniqueId"`
}

A collection of arguments for invoking getUser.

type LookupUserOutputArgs added in v3.5.0

type LookupUserOutputArgs struct {
	// The domain this user belongs to.
	DomainId pulumi.StringPtrInput `pulumi:"domainId"`
	// Whether the user is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// The identity provider ID of the user.
	IdpId pulumi.StringPtrInput `pulumi:"idpId"`
	// The name of the user.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Query for expired passwords. See the [OpenStack API docs](https://developer.openstack.org/api-ref/identity/v3/#list-users) for more information on the query format.
	PasswordExpiresAt pulumi.StringPtrInput `pulumi:"passwordExpiresAt"`
	// The protocol ID of the user.
	ProtocolId pulumi.StringPtrInput `pulumi:"protocolId"`
	// The region the user is located in.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The unique ID of the user.
	UniqueId pulumi.StringPtrInput `pulumi:"uniqueId"`
}

A collection of arguments for invoking getUser.

func (LookupUserOutputArgs) ElementType added in v3.5.0

func (LookupUserOutputArgs) ElementType() reflect.Type

type LookupUserResult

type LookupUserResult struct {
	// See Argument Reference above.
	DefaultProjectId string `pulumi:"defaultProjectId"`
	// A description of the user.
	Description string `pulumi:"description"`
	// See Argument Reference above.
	DomainId string `pulumi:"domainId"`
	// See Argument Reference above.
	Enabled *bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// See Argument Reference above.
	IdpId *string `pulumi:"idpId"`
	// See Argument Reference above.
	Name *string `pulumi:"name"`
	// See Argument Reference above.
	PasswordExpiresAt *string `pulumi:"passwordExpiresAt"`
	// See Argument Reference above.
	ProtocolId *string `pulumi:"protocolId"`
	// The region the user is located in.
	Region string `pulumi:"region"`
	// See Argument Reference above.
	UniqueId *string `pulumi:"uniqueId"`
}

A collection of values returned by getUser.

func LookupUser

func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error)

Use this data source to get the ID of an OpenStack user.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.LookupUser(ctx, &identity.LookupUserArgs{
			Name: pulumi.StringRef("user_1"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupUserResultOutput added in v3.5.0

type LookupUserResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUser.

func LookupUserOutput added in v3.5.0

func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pulumi.InvokeOption) LookupUserResultOutput

func (LookupUserResultOutput) DefaultProjectId added in v3.5.0

func (o LookupUserResultOutput) DefaultProjectId() pulumi.StringOutput

See Argument Reference above.

func (LookupUserResultOutput) Description added in v3.5.0

func (o LookupUserResultOutput) Description() pulumi.StringOutput

A description of the user.

func (LookupUserResultOutput) DomainId added in v3.5.0

See Argument Reference above.

func (LookupUserResultOutput) ElementType added in v3.5.0

func (LookupUserResultOutput) ElementType() reflect.Type

func (LookupUserResultOutput) Enabled added in v3.5.0

See Argument Reference above.

func (LookupUserResultOutput) Id added in v3.5.0

The provider-assigned unique ID for this managed resource.

func (LookupUserResultOutput) IdpId added in v3.5.0

See Argument Reference above.

func (LookupUserResultOutput) Name added in v3.5.0

See Argument Reference above.

func (LookupUserResultOutput) PasswordExpiresAt added in v3.5.0

func (o LookupUserResultOutput) PasswordExpiresAt() pulumi.StringPtrOutput

See Argument Reference above.

func (LookupUserResultOutput) ProtocolId added in v3.5.0

See Argument Reference above.

func (LookupUserResultOutput) Region added in v3.5.0

The region the user is located in.

func (LookupUserResultOutput) ToLookupUserResultOutput added in v3.5.0

func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput

func (LookupUserResultOutput) ToLookupUserResultOutputWithContext added in v3.5.0

func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput

func (LookupUserResultOutput) UniqueId added in v3.5.0

See Argument Reference above.

type Project

type Project struct {
	pulumi.CustomResourceState

	// A description of the project.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The domain this project belongs to.
	DomainId pulumi.StringOutput `pulumi:"domainId"`
	// Whether the project is enabled or disabled. Valid
	// values are `true` and `false`. Default is `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Whether this project is a domain. Valid values
	// are `true` and `false`. Default is `false`. Changing this creates a new
	// project/domain.
	IsDomain pulumi.BoolPtrOutput `pulumi:"isDomain"`
	// The name of the project.
	Name pulumi.StringOutput `pulumi:"name"`
	// The parent of this project. Changing this creates
	// a new project.
	ParentId pulumi.StringOutput `pulumi:"parentId"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new project.
	Region pulumi.StringOutput `pulumi:"region"`
	// Tags for the project. Changing this updates the existing
	// project.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
}

Manages a V3 Project resource within OpenStack Keystone.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:identity/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 {
	// A description of the project.
	Description pulumi.StringPtrInput
	// The domain this project belongs to.
	DomainId pulumi.StringPtrInput
	// Whether the project is enabled or disabled. Valid
	// values are `true` and `false`. Default is `true`.
	Enabled pulumi.BoolPtrInput
	// Whether this project is a domain. Valid values
	// are `true` and `false`. Default is `false`. Changing this creates a new
	// project/domain.
	IsDomain pulumi.BoolPtrInput
	// The name of the project.
	Name pulumi.StringPtrInput
	// The parent of this project. Changing this creates
	// a new project.
	ParentId pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new project.
	Region pulumi.StringPtrInput
	// Tags for the project. Changing this updates the existing
	// project.
	Tags pulumi.StringArrayInput
}

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

func (o ProjectOutput) Description() pulumi.StringPtrOutput

A description of the project.

func (ProjectOutput) DomainId added in v3.9.0

func (o ProjectOutput) DomainId() pulumi.StringOutput

The domain this project belongs to.

func (ProjectOutput) ElementType

func (ProjectOutput) ElementType() reflect.Type

func (ProjectOutput) Enabled added in v3.9.0

func (o ProjectOutput) Enabled() pulumi.BoolPtrOutput

Whether the project is enabled or disabled. Valid values are `true` and `false`. Default is `true`.

func (ProjectOutput) IsDomain added in v3.9.0

func (o ProjectOutput) IsDomain() pulumi.BoolPtrOutput

Whether this project is a domain. Valid values are `true` and `false`. Default is `false`. Changing this creates a new project/domain.

func (ProjectOutput) Name added in v3.9.0

The name of the project.

func (ProjectOutput) ParentId added in v3.9.0

func (o ProjectOutput) ParentId() pulumi.StringOutput

The parent of this project. Changing this creates a new project.

func (ProjectOutput) Region added in v3.9.0

func (o ProjectOutput) Region() pulumi.StringOutput

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used. Changing this creates a new project.

func (ProjectOutput) Tags added in v3.9.0

Tags for the project. Changing this updates the existing 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 {
	// A description of the project.
	Description pulumi.StringPtrInput
	// The domain this project belongs to.
	DomainId pulumi.StringPtrInput
	// Whether the project is enabled or disabled. Valid
	// values are `true` and `false`. Default is `true`.
	Enabled pulumi.BoolPtrInput
	// Whether this project is a domain. Valid values
	// are `true` and `false`. Default is `false`. Changing this creates a new
	// project/domain.
	IsDomain pulumi.BoolPtrInput
	// The name of the project.
	Name pulumi.StringPtrInput
	// The parent of this project. Changing this creates
	// a new project.
	ParentId pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new project.
	Region pulumi.StringPtrInput
	// Tags for the project. Changing this updates the existing
	// project.
	Tags pulumi.StringArrayInput
}

func (ProjectState) ElementType

func (ProjectState) ElementType() reflect.Type

type Role

type Role struct {
	pulumi.CustomResourceState

	// The domain the role belongs to.
	DomainId pulumi.StringOutput `pulumi:"domainId"`
	// The name of the role.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new Role.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V3 Role resource within OpenStack Keystone.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewRole(ctx, "role1", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:identity/role:Role role_1 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 {
	// The domain the role belongs to.
	DomainId pulumi.StringPtrInput
	// The name of the role.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new Role.
	Region pulumi.StringPtrInput
}

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

	// The domain to assign the role in.
	DomainId pulumi.StringPtrOutput `pulumi:"domainId"`
	// The group to assign the role to.
	GroupId pulumi.StringPtrOutput `pulumi:"groupId"`
	// The project to assign the role in.
	ProjectId pulumi.StringPtrOutput `pulumi:"projectId"`
	Region    pulumi.StringOutput    `pulumi:"region"`
	// The role to assign.
	RoleId pulumi.StringOutput `pulumi:"roleId"`
	// The user to assign the role to.
	UserId pulumi.StringPtrOutput `pulumi:"userId"`
}

Manages a V3 Role assignment within OpenStack Keystone.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		user1, err := identity.NewUser(ctx, "user1", &identity.UserArgs{
			DefaultProjectId: project1.ID(),
		})
		if err != nil {
			return err
		}
		role1, err := identity.NewRole(ctx, "role1", nil)
		if err != nil {
			return err
		}
		_, err = identity.NewRoleAssignment(ctx, "roleAssignment1", &identity.RoleAssignmentArgs{
			UserId:    user1.ID(),
			ProjectId: project1.ID(),
			RoleId:    role1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Role assignments can be imported using a constructed id. The id should have the form of `domainID/projectID/groupID/userID/roleID`. When something is not used then leave blank.

For example this will import the role assignment for: projectID: 014395cd-89fc-4c9b-96b7-13d1ee79dad2, userID: 4142e64b-1b35-44a0-9b1e-5affc7af1106, roleID: ea257959-eeb1-4c10-8d33-26f0409a755d ( domainID and groupID are left blank)

```sh $ pulumi import openstack:identity/roleAssignment:RoleAssignment role_assignment_1 /014395cd-89fc-4c9b-96b7-13d1ee79dad2//4142e64b-1b35-44a0-9b1e-5affc7af1106/ea257959-eeb1-4c10-8d33-26f0409a755d ```

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 {
	// The domain to assign the role in.
	DomainId pulumi.StringPtrInput
	// The group to assign the role to.
	GroupId pulumi.StringPtrInput
	// The project to assign the role in.
	ProjectId pulumi.StringPtrInput
	Region    pulumi.StringPtrInput
	// The role to assign.
	RoleId pulumi.StringInput
	// The user to assign the role to.
	UserId pulumi.StringPtrInput
}

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

The domain to assign the role in.

func (RoleAssignmentOutput) ElementType

func (RoleAssignmentOutput) ElementType() reflect.Type

func (RoleAssignmentOutput) GroupId added in v3.9.0

The group to assign the role to.

func (RoleAssignmentOutput) ProjectId added in v3.9.0

The project to assign the role in.

func (RoleAssignmentOutput) Region added in v3.9.0

func (RoleAssignmentOutput) RoleId added in v3.9.0

The role to assign.

func (RoleAssignmentOutput) ToRoleAssignmentOutput

func (o RoleAssignmentOutput) ToRoleAssignmentOutput() RoleAssignmentOutput

func (RoleAssignmentOutput) ToRoleAssignmentOutputWithContext

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

func (RoleAssignmentOutput) UserId added in v3.9.0

The user to assign the role to.

type RoleAssignmentState

type RoleAssignmentState struct {
	// The domain to assign the role in.
	DomainId pulumi.StringPtrInput
	// The group to assign the role to.
	GroupId pulumi.StringPtrInput
	// The project to assign the role in.
	ProjectId pulumi.StringPtrInput
	Region    pulumi.StringPtrInput
	// The role to assign.
	RoleId pulumi.StringPtrInput
	// The user to assign the role to.
	UserId 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) DomainId added in v3.9.0

func (o RoleOutput) DomainId() pulumi.StringOutput

The domain the role belongs to.

func (RoleOutput) ElementType

func (RoleOutput) ElementType() reflect.Type

func (RoleOutput) Name added in v3.9.0

func (o RoleOutput) Name() pulumi.StringOutput

The name of the role.

func (RoleOutput) Region added in v3.9.0

func (o RoleOutput) Region() pulumi.StringOutput

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used. Changing this creates a new Role.

func (RoleOutput) ToRoleOutput

func (o RoleOutput) ToRoleOutput() RoleOutput

func (RoleOutput) ToRoleOutputWithContext

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

type RoleState

type RoleState struct {
	// The domain the role belongs to.
	DomainId pulumi.StringPtrInput
	// The name of the role.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new Role.
	Region pulumi.StringPtrInput
}

func (RoleState) ElementType

func (RoleState) ElementType() reflect.Type

type ServiceV3

type ServiceV3 struct {
	pulumi.CustomResourceState

	// The service description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The service status. Defaults to `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The service name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringOutput `pulumi:"region"`
	// The service type.
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages a V3 Service resource within OpenStack Keystone.

> **Note:** This usually requires admin privileges.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := identity.NewServiceV3(ctx, "service1", &identity.ServiceV3Args{
			Type: pulumi.String("custom"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:identity/serviceV3:ServiceV3 service_1 6688e967-158a-496f-a224-cae3414e6b61 ```

func GetServiceV3

func GetServiceV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServiceV3State, opts ...pulumi.ResourceOption) (*ServiceV3, error)

GetServiceV3 gets an existing ServiceV3 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 NewServiceV3

func NewServiceV3(ctx *pulumi.Context,
	name string, args *ServiceV3Args, opts ...pulumi.ResourceOption) (*ServiceV3, error)

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

func (*ServiceV3) ElementType

func (*ServiceV3) ElementType() reflect.Type

func (*ServiceV3) ToServiceV3Output

func (i *ServiceV3) ToServiceV3Output() ServiceV3Output

func (*ServiceV3) ToServiceV3OutputWithContext

func (i *ServiceV3) ToServiceV3OutputWithContext(ctx context.Context) ServiceV3Output

type ServiceV3Args

type ServiceV3Args struct {
	// The service description.
	Description pulumi.StringPtrInput
	// The service status. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The service name.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput
	// The service type.
	Type pulumi.StringInput
}

The set of arguments for constructing a ServiceV3 resource.

func (ServiceV3Args) ElementType

func (ServiceV3Args) ElementType() reflect.Type

type ServiceV3Array

type ServiceV3Array []ServiceV3Input

func (ServiceV3Array) ElementType

func (ServiceV3Array) ElementType() reflect.Type

func (ServiceV3Array) ToServiceV3ArrayOutput

func (i ServiceV3Array) ToServiceV3ArrayOutput() ServiceV3ArrayOutput

func (ServiceV3Array) ToServiceV3ArrayOutputWithContext

func (i ServiceV3Array) ToServiceV3ArrayOutputWithContext(ctx context.Context) ServiceV3ArrayOutput

type ServiceV3ArrayInput

type ServiceV3ArrayInput interface {
	pulumi.Input

	ToServiceV3ArrayOutput() ServiceV3ArrayOutput
	ToServiceV3ArrayOutputWithContext(context.Context) ServiceV3ArrayOutput
}

ServiceV3ArrayInput is an input type that accepts ServiceV3Array and ServiceV3ArrayOutput values. You can construct a concrete instance of `ServiceV3ArrayInput` via:

ServiceV3Array{ ServiceV3Args{...} }

type ServiceV3ArrayOutput

type ServiceV3ArrayOutput struct{ *pulumi.OutputState }

func (ServiceV3ArrayOutput) ElementType

func (ServiceV3ArrayOutput) ElementType() reflect.Type

func (ServiceV3ArrayOutput) Index

func (ServiceV3ArrayOutput) ToServiceV3ArrayOutput

func (o ServiceV3ArrayOutput) ToServiceV3ArrayOutput() ServiceV3ArrayOutput

func (ServiceV3ArrayOutput) ToServiceV3ArrayOutputWithContext

func (o ServiceV3ArrayOutput) ToServiceV3ArrayOutputWithContext(ctx context.Context) ServiceV3ArrayOutput

type ServiceV3Input

type ServiceV3Input interface {
	pulumi.Input

	ToServiceV3Output() ServiceV3Output
	ToServiceV3OutputWithContext(ctx context.Context) ServiceV3Output
}

type ServiceV3Map

type ServiceV3Map map[string]ServiceV3Input

func (ServiceV3Map) ElementType

func (ServiceV3Map) ElementType() reflect.Type

func (ServiceV3Map) ToServiceV3MapOutput

func (i ServiceV3Map) ToServiceV3MapOutput() ServiceV3MapOutput

func (ServiceV3Map) ToServiceV3MapOutputWithContext

func (i ServiceV3Map) ToServiceV3MapOutputWithContext(ctx context.Context) ServiceV3MapOutput

type ServiceV3MapInput

type ServiceV3MapInput interface {
	pulumi.Input

	ToServiceV3MapOutput() ServiceV3MapOutput
	ToServiceV3MapOutputWithContext(context.Context) ServiceV3MapOutput
}

ServiceV3MapInput is an input type that accepts ServiceV3Map and ServiceV3MapOutput values. You can construct a concrete instance of `ServiceV3MapInput` via:

ServiceV3Map{ "key": ServiceV3Args{...} }

type ServiceV3MapOutput

type ServiceV3MapOutput struct{ *pulumi.OutputState }

func (ServiceV3MapOutput) ElementType

func (ServiceV3MapOutput) ElementType() reflect.Type

func (ServiceV3MapOutput) MapIndex

func (ServiceV3MapOutput) ToServiceV3MapOutput

func (o ServiceV3MapOutput) ToServiceV3MapOutput() ServiceV3MapOutput

func (ServiceV3MapOutput) ToServiceV3MapOutputWithContext

func (o ServiceV3MapOutput) ToServiceV3MapOutputWithContext(ctx context.Context) ServiceV3MapOutput

type ServiceV3Output

type ServiceV3Output struct{ *pulumi.OutputState }

func (ServiceV3Output) Description added in v3.9.0

func (o ServiceV3Output) Description() pulumi.StringPtrOutput

The service description.

func (ServiceV3Output) ElementType

func (ServiceV3Output) ElementType() reflect.Type

func (ServiceV3Output) Enabled added in v3.9.0

func (o ServiceV3Output) Enabled() pulumi.BoolPtrOutput

The service status. Defaults to `true`.

func (ServiceV3Output) Name added in v3.9.0

The service name.

func (ServiceV3Output) Region added in v3.9.0

func (o ServiceV3Output) Region() pulumi.StringOutput

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used.

func (ServiceV3Output) ToServiceV3Output

func (o ServiceV3Output) ToServiceV3Output() ServiceV3Output

func (ServiceV3Output) ToServiceV3OutputWithContext

func (o ServiceV3Output) ToServiceV3OutputWithContext(ctx context.Context) ServiceV3Output

func (ServiceV3Output) Type added in v3.9.0

The service type.

type ServiceV3State

type ServiceV3State struct {
	// The service description.
	Description pulumi.StringPtrInput
	// The service status. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The service name.
	Name pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used.
	Region pulumi.StringPtrInput
	// The service type.
	Type pulumi.StringPtrInput
}

func (ServiceV3State) ElementType

func (ServiceV3State) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// The default project this user belongs to.
	DefaultProjectId pulumi.StringOutput `pulumi:"defaultProjectId"`
	// A description of the user.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The domain this user belongs to.
	DomainId pulumi.StringOutput `pulumi:"domainId"`
	// Whether the user is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Free-form key/value pairs of extra information.
	Extra pulumi.MapOutput `pulumi:"extra"`
	// User will not have to
	// change their password upon first use. Valid values are `true` and `false`.
	IgnoreChangePasswordUponFirstUse pulumi.BoolPtrOutput `pulumi:"ignoreChangePasswordUponFirstUse"`
	// User will not have a failure
	// lockout placed on their account. Valid values are `true` and `false`.
	IgnoreLockoutFailureAttempts pulumi.BoolPtrOutput `pulumi:"ignoreLockoutFailureAttempts"`
	// User's password will not expire.
	// Valid values are `true` and `false`.
	IgnorePasswordExpiry pulumi.BoolPtrOutput `pulumi:"ignorePasswordExpiry"`
	// Whether to enable multi-factor
	// authentication. Valid values are `true` and `false`.
	MultiFactorAuthEnabled pulumi.BoolPtrOutput `pulumi:"multiFactorAuthEnabled"`
	// A multi-factor authentication rule.
	// The structure is documented below. Please see the
	// [Ocata release notes](https://docs.openstack.org/releasenotes/keystone/ocata.html)
	// for more information on how to use mulit-factor rules.
	MultiFactorAuthRules UserMultiFactorAuthRuleArrayOutput `pulumi:"multiFactorAuthRules"`
	// The name of the user.
	Name pulumi.StringOutput `pulumi:"name"`
	// The password for the user.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new User.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a V3 User resource within OpenStack Keystone.

> **Note:** All arguments including the user password will be stored in the raw state as plain-text. Read more about sensitive data in state.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		_, err = identity.NewUser(ctx, "user1", &identity.UserArgs{
			DefaultProjectId:                 project1.ID(),
			Description:                      pulumi.String("A user"),
			Password:                         pulumi.String("password123"),
			IgnoreChangePasswordUponFirstUse: pulumi.Bool(true),
			MultiFactorAuthEnabled:           pulumi.Bool(true),
			MultiFactorAuthRules: identity.UserMultiFactorAuthRuleArray{
				&identity.UserMultiFactorAuthRuleArgs{
					Rules: pulumi.StringArray{
						pulumi.String("password"),
						pulumi.String("totp"),
					},
				},
				&identity.UserMultiFactorAuthRuleArgs{
					Rules: pulumi.StringArray{
						pulumi.String("password"),
					},
				},
			},
			Extra: pulumi.Map{
				"email": pulumi.Any("user_1@foobar.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

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

```sh $ pulumi import openstack:identity/user:User user_1 89c60255-9bd6-460c-822a-e2b959ede9d2 ```

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 {
	// The default project this user belongs to.
	DefaultProjectId pulumi.StringPtrInput
	// A description of the user.
	Description pulumi.StringPtrInput
	// The domain this user belongs to.
	DomainId pulumi.StringPtrInput
	// Whether the user is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled pulumi.BoolPtrInput
	// Free-form key/value pairs of extra information.
	Extra pulumi.MapInput
	// User will not have to
	// change their password upon first use. Valid values are `true` and `false`.
	IgnoreChangePasswordUponFirstUse pulumi.BoolPtrInput
	// User will not have a failure
	// lockout placed on their account. Valid values are `true` and `false`.
	IgnoreLockoutFailureAttempts pulumi.BoolPtrInput
	// User's password will not expire.
	// Valid values are `true` and `false`.
	IgnorePasswordExpiry pulumi.BoolPtrInput
	// Whether to enable multi-factor
	// authentication. Valid values are `true` and `false`.
	MultiFactorAuthEnabled pulumi.BoolPtrInput
	// A multi-factor authentication rule.
	// The structure is documented below. Please see the
	// [Ocata release notes](https://docs.openstack.org/releasenotes/keystone/ocata.html)
	// for more information on how to use mulit-factor rules.
	MultiFactorAuthRules UserMultiFactorAuthRuleArrayInput
	// The name of the user.
	Name pulumi.StringPtrInput
	// The password for the user.
	Password pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new User.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType

func (UserArgs) ElementType() reflect.Type

type UserArray

type UserArray []UserInput

func (UserArray) ElementType

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext

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

type UserArrayInput

type UserArrayInput interface {
	pulumi.Input

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

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

UserArray{ UserArgs{...} }

type UserArrayOutput

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index

func (UserArrayOutput) ToUserArrayOutput

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext

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

type UserInput

type UserInput interface {
	pulumi.Input

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

type UserMap

type UserMap map[string]UserInput

func (UserMap) ElementType

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext

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

type UserMapInput

type UserMapInput interface {
	pulumi.Input

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

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

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

type UserMapOutput

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex

func (UserMapOutput) ToUserMapOutput

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext

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

type UserMembershipV3

type UserMembershipV3 struct {
	pulumi.CustomResourceState

	// The UUID of group to which the user will be added.
	// Changing this creates a new user membership.
	GroupId pulumi.StringOutput `pulumi:"groupId"`
	// The region in which to obtain the V3 Identity client.
	// If omitted, the `region` argument of the provider is used.
	// Changing this creates a new user membership.
	Region pulumi.StringOutput `pulumi:"region"`
	// The UUID of user to use. Changing this creates a new user membership.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Manages a user membership to group V3 resource within OpenStack.

> **Note:** You _must_ have admin privileges in your OpenStack cloud to use this resource.

***

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/identity"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project1, err := identity.NewProject(ctx, "project1", nil)
		if err != nil {
			return err
		}
		user1, err := identity.NewUser(ctx, "user1", &identity.UserArgs{
			DefaultProjectId: project1.ID(),
		})
		if err != nil {
			return err
		}
		group1, err := identity.NewGroupV3(ctx, "group1", &identity.GroupV3Args{
			Description: pulumi.String("group 1"),
		})
		if err != nil {
			return err
		}
		role1, err := identity.NewRole(ctx, "role1", nil)
		if err != nil {
			return err
		}
		_, err = identity.NewUserMembershipV3(ctx, "userMembership1", &identity.UserMembershipV3Args{
			UserId:  user1.ID(),
			GroupId: group1.ID(),
		})
		if err != nil {
			return err
		}
		_, err = identity.NewRoleAssignment(ctx, "roleAssignment1", &identity.RoleAssignmentArgs{
			GroupId:   group1.ID(),
			ProjectId: project1.ID(),
			RoleId:    role1.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

This resource can be imported by specifying all two arguments, separated by a forward slash:

```sh $ pulumi import openstack:identity/userMembershipV3:UserMembershipV3 user_membership_1 user_id/group_id ```

func GetUserMembershipV3

func GetUserMembershipV3(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserMembershipV3State, opts ...pulumi.ResourceOption) (*UserMembershipV3, error)

GetUserMembershipV3 gets an existing UserMembershipV3 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 NewUserMembershipV3

func NewUserMembershipV3(ctx *pulumi.Context,
	name string, args *UserMembershipV3Args, opts ...pulumi.ResourceOption) (*UserMembershipV3, error)

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

func (*UserMembershipV3) ElementType

func (*UserMembershipV3) ElementType() reflect.Type

func (*UserMembershipV3) ToUserMembershipV3Output

func (i *UserMembershipV3) ToUserMembershipV3Output() UserMembershipV3Output

func (*UserMembershipV3) ToUserMembershipV3OutputWithContext

func (i *UserMembershipV3) ToUserMembershipV3OutputWithContext(ctx context.Context) UserMembershipV3Output

type UserMembershipV3Args

type UserMembershipV3Args struct {
	// The UUID of group to which the user will be added.
	// Changing this creates a new user membership.
	GroupId pulumi.StringInput
	// The region in which to obtain the V3 Identity client.
	// If omitted, the `region` argument of the provider is used.
	// Changing this creates a new user membership.
	Region pulumi.StringPtrInput
	// The UUID of user to use. Changing this creates a new user membership.
	UserId pulumi.StringInput
}

The set of arguments for constructing a UserMembershipV3 resource.

func (UserMembershipV3Args) ElementType

func (UserMembershipV3Args) ElementType() reflect.Type

type UserMembershipV3Array

type UserMembershipV3Array []UserMembershipV3Input

func (UserMembershipV3Array) ElementType

func (UserMembershipV3Array) ElementType() reflect.Type

func (UserMembershipV3Array) ToUserMembershipV3ArrayOutput

func (i UserMembershipV3Array) ToUserMembershipV3ArrayOutput() UserMembershipV3ArrayOutput

func (UserMembershipV3Array) ToUserMembershipV3ArrayOutputWithContext

func (i UserMembershipV3Array) ToUserMembershipV3ArrayOutputWithContext(ctx context.Context) UserMembershipV3ArrayOutput

type UserMembershipV3ArrayInput

type UserMembershipV3ArrayInput interface {
	pulumi.Input

	ToUserMembershipV3ArrayOutput() UserMembershipV3ArrayOutput
	ToUserMembershipV3ArrayOutputWithContext(context.Context) UserMembershipV3ArrayOutput
}

UserMembershipV3ArrayInput is an input type that accepts UserMembershipV3Array and UserMembershipV3ArrayOutput values. You can construct a concrete instance of `UserMembershipV3ArrayInput` via:

UserMembershipV3Array{ UserMembershipV3Args{...} }

type UserMembershipV3ArrayOutput

type UserMembershipV3ArrayOutput struct{ *pulumi.OutputState }

func (UserMembershipV3ArrayOutput) ElementType

func (UserMembershipV3ArrayOutput) Index

func (UserMembershipV3ArrayOutput) ToUserMembershipV3ArrayOutput

func (o UserMembershipV3ArrayOutput) ToUserMembershipV3ArrayOutput() UserMembershipV3ArrayOutput

func (UserMembershipV3ArrayOutput) ToUserMembershipV3ArrayOutputWithContext

func (o UserMembershipV3ArrayOutput) ToUserMembershipV3ArrayOutputWithContext(ctx context.Context) UserMembershipV3ArrayOutput

type UserMembershipV3Input

type UserMembershipV3Input interface {
	pulumi.Input

	ToUserMembershipV3Output() UserMembershipV3Output
	ToUserMembershipV3OutputWithContext(ctx context.Context) UserMembershipV3Output
}

type UserMembershipV3Map

type UserMembershipV3Map map[string]UserMembershipV3Input

func (UserMembershipV3Map) ElementType

func (UserMembershipV3Map) ElementType() reflect.Type

func (UserMembershipV3Map) ToUserMembershipV3MapOutput

func (i UserMembershipV3Map) ToUserMembershipV3MapOutput() UserMembershipV3MapOutput

func (UserMembershipV3Map) ToUserMembershipV3MapOutputWithContext

func (i UserMembershipV3Map) ToUserMembershipV3MapOutputWithContext(ctx context.Context) UserMembershipV3MapOutput

type UserMembershipV3MapInput

type UserMembershipV3MapInput interface {
	pulumi.Input

	ToUserMembershipV3MapOutput() UserMembershipV3MapOutput
	ToUserMembershipV3MapOutputWithContext(context.Context) UserMembershipV3MapOutput
}

UserMembershipV3MapInput is an input type that accepts UserMembershipV3Map and UserMembershipV3MapOutput values. You can construct a concrete instance of `UserMembershipV3MapInput` via:

UserMembershipV3Map{ "key": UserMembershipV3Args{...} }

type UserMembershipV3MapOutput

type UserMembershipV3MapOutput struct{ *pulumi.OutputState }

func (UserMembershipV3MapOutput) ElementType

func (UserMembershipV3MapOutput) ElementType() reflect.Type

func (UserMembershipV3MapOutput) MapIndex

func (UserMembershipV3MapOutput) ToUserMembershipV3MapOutput

func (o UserMembershipV3MapOutput) ToUserMembershipV3MapOutput() UserMembershipV3MapOutput

func (UserMembershipV3MapOutput) ToUserMembershipV3MapOutputWithContext

func (o UserMembershipV3MapOutput) ToUserMembershipV3MapOutputWithContext(ctx context.Context) UserMembershipV3MapOutput

type UserMembershipV3Output

type UserMembershipV3Output struct{ *pulumi.OutputState }

func (UserMembershipV3Output) ElementType

func (UserMembershipV3Output) ElementType() reflect.Type

func (UserMembershipV3Output) GroupId added in v3.9.0

The UUID of group to which the user will be added. Changing this creates a new user membership.

func (UserMembershipV3Output) Region added in v3.9.0

The region in which to obtain the V3 Identity client. If omitted, the `region` argument of the provider is used. Changing this creates a new user membership.

func (UserMembershipV3Output) ToUserMembershipV3Output

func (o UserMembershipV3Output) ToUserMembershipV3Output() UserMembershipV3Output

func (UserMembershipV3Output) ToUserMembershipV3OutputWithContext

func (o UserMembershipV3Output) ToUserMembershipV3OutputWithContext(ctx context.Context) UserMembershipV3Output

func (UserMembershipV3Output) UserId added in v3.9.0

The UUID of user to use. Changing this creates a new user membership.

type UserMembershipV3State

type UserMembershipV3State struct {
	// The UUID of group to which the user will be added.
	// Changing this creates a new user membership.
	GroupId pulumi.StringPtrInput
	// The region in which to obtain the V3 Identity client.
	// If omitted, the `region` argument of the provider is used.
	// Changing this creates a new user membership.
	Region pulumi.StringPtrInput
	// The UUID of user to use. Changing this creates a new user membership.
	UserId pulumi.StringPtrInput
}

func (UserMembershipV3State) ElementType

func (UserMembershipV3State) ElementType() reflect.Type

type UserMultiFactorAuthRule

type UserMultiFactorAuthRule struct {
	// A list of authentication plugins that the user must
	// authenticate with.
	Rules []string `pulumi:"rules"`
}

type UserMultiFactorAuthRuleArgs

type UserMultiFactorAuthRuleArgs struct {
	// A list of authentication plugins that the user must
	// authenticate with.
	Rules pulumi.StringArrayInput `pulumi:"rules"`
}

func (UserMultiFactorAuthRuleArgs) ElementType

func (UserMultiFactorAuthRuleArgs) ToUserMultiFactorAuthRuleOutput

func (i UserMultiFactorAuthRuleArgs) ToUserMultiFactorAuthRuleOutput() UserMultiFactorAuthRuleOutput

func (UserMultiFactorAuthRuleArgs) ToUserMultiFactorAuthRuleOutputWithContext

func (i UserMultiFactorAuthRuleArgs) ToUserMultiFactorAuthRuleOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleOutput

type UserMultiFactorAuthRuleArray

type UserMultiFactorAuthRuleArray []UserMultiFactorAuthRuleInput

func (UserMultiFactorAuthRuleArray) ElementType

func (UserMultiFactorAuthRuleArray) ToUserMultiFactorAuthRuleArrayOutput

func (i UserMultiFactorAuthRuleArray) ToUserMultiFactorAuthRuleArrayOutput() UserMultiFactorAuthRuleArrayOutput

func (UserMultiFactorAuthRuleArray) ToUserMultiFactorAuthRuleArrayOutputWithContext

func (i UserMultiFactorAuthRuleArray) ToUserMultiFactorAuthRuleArrayOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleArrayOutput

type UserMultiFactorAuthRuleArrayInput

type UserMultiFactorAuthRuleArrayInput interface {
	pulumi.Input

	ToUserMultiFactorAuthRuleArrayOutput() UserMultiFactorAuthRuleArrayOutput
	ToUserMultiFactorAuthRuleArrayOutputWithContext(context.Context) UserMultiFactorAuthRuleArrayOutput
}

UserMultiFactorAuthRuleArrayInput is an input type that accepts UserMultiFactorAuthRuleArray and UserMultiFactorAuthRuleArrayOutput values. You can construct a concrete instance of `UserMultiFactorAuthRuleArrayInput` via:

UserMultiFactorAuthRuleArray{ UserMultiFactorAuthRuleArgs{...} }

type UserMultiFactorAuthRuleArrayOutput

type UserMultiFactorAuthRuleArrayOutput struct{ *pulumi.OutputState }

func (UserMultiFactorAuthRuleArrayOutput) ElementType

func (UserMultiFactorAuthRuleArrayOutput) Index

func (UserMultiFactorAuthRuleArrayOutput) ToUserMultiFactorAuthRuleArrayOutput

func (o UserMultiFactorAuthRuleArrayOutput) ToUserMultiFactorAuthRuleArrayOutput() UserMultiFactorAuthRuleArrayOutput

func (UserMultiFactorAuthRuleArrayOutput) ToUserMultiFactorAuthRuleArrayOutputWithContext

func (o UserMultiFactorAuthRuleArrayOutput) ToUserMultiFactorAuthRuleArrayOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleArrayOutput

type UserMultiFactorAuthRuleInput

type UserMultiFactorAuthRuleInput interface {
	pulumi.Input

	ToUserMultiFactorAuthRuleOutput() UserMultiFactorAuthRuleOutput
	ToUserMultiFactorAuthRuleOutputWithContext(context.Context) UserMultiFactorAuthRuleOutput
}

UserMultiFactorAuthRuleInput is an input type that accepts UserMultiFactorAuthRuleArgs and UserMultiFactorAuthRuleOutput values. You can construct a concrete instance of `UserMultiFactorAuthRuleInput` via:

UserMultiFactorAuthRuleArgs{...}

type UserMultiFactorAuthRuleOutput

type UserMultiFactorAuthRuleOutput struct{ *pulumi.OutputState }

func (UserMultiFactorAuthRuleOutput) ElementType

func (UserMultiFactorAuthRuleOutput) Rules

A list of authentication plugins that the user must authenticate with.

func (UserMultiFactorAuthRuleOutput) ToUserMultiFactorAuthRuleOutput

func (o UserMultiFactorAuthRuleOutput) ToUserMultiFactorAuthRuleOutput() UserMultiFactorAuthRuleOutput

func (UserMultiFactorAuthRuleOutput) ToUserMultiFactorAuthRuleOutputWithContext

func (o UserMultiFactorAuthRuleOutput) ToUserMultiFactorAuthRuleOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleOutput

type UserOutput

type UserOutput struct{ *pulumi.OutputState }

func (UserOutput) DefaultProjectId added in v3.9.0

func (o UserOutput) DefaultProjectId() pulumi.StringOutput

The default project this user belongs to.

func (UserOutput) Description added in v3.9.0

func (o UserOutput) Description() pulumi.StringPtrOutput

A description of the user.

func (UserOutput) DomainId added in v3.9.0

func (o UserOutput) DomainId() pulumi.StringOutput

The domain this user belongs to.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Enabled added in v3.9.0

func (o UserOutput) Enabled() pulumi.BoolPtrOutput

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

func (UserOutput) Extra added in v3.9.0

func (o UserOutput) Extra() pulumi.MapOutput

Free-form key/value pairs of extra information.

func (UserOutput) IgnoreChangePasswordUponFirstUse added in v3.9.0

func (o UserOutput) IgnoreChangePasswordUponFirstUse() pulumi.BoolPtrOutput

User will not have to change their password upon first use. Valid values are `true` and `false`.

func (UserOutput) IgnoreLockoutFailureAttempts added in v3.9.0

func (o UserOutput) IgnoreLockoutFailureAttempts() pulumi.BoolPtrOutput

User will not have a failure lockout placed on their account. Valid values are `true` and `false`.

func (UserOutput) IgnorePasswordExpiry added in v3.9.0

func (o UserOutput) IgnorePasswordExpiry() pulumi.BoolPtrOutput

User's password will not expire. Valid values are `true` and `false`.

func (UserOutput) MultiFactorAuthEnabled added in v3.9.0

func (o UserOutput) MultiFactorAuthEnabled() pulumi.BoolPtrOutput

Whether to enable multi-factor authentication. Valid values are `true` and `false`.

func (UserOutput) MultiFactorAuthRules added in v3.9.0

func (o UserOutput) MultiFactorAuthRules() UserMultiFactorAuthRuleArrayOutput

A multi-factor authentication rule. The structure is documented below. Please see the [Ocata release notes](https://docs.openstack.org/releasenotes/keystone/ocata.html) for more information on how to use mulit-factor rules.

func (UserOutput) Name added in v3.9.0

func (o UserOutput) Name() pulumi.StringOutput

The name of the user.

func (UserOutput) Password added in v3.9.0

func (o UserOutput) Password() pulumi.StringPtrOutput

The password for the user.

func (UserOutput) Region added in v3.9.0

func (o UserOutput) Region() pulumi.StringOutput

The region in which to obtain the V3 Keystone client. If omitted, the `region` argument of the provider is used. Changing this creates a new User.

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

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

type UserState

type UserState struct {
	// The default project this user belongs to.
	DefaultProjectId pulumi.StringPtrInput
	// A description of the user.
	Description pulumi.StringPtrInput
	// The domain this user belongs to.
	DomainId pulumi.StringPtrInput
	// Whether the user is enabled or disabled. Valid
	// values are `true` and `false`.
	Enabled pulumi.BoolPtrInput
	// Free-form key/value pairs of extra information.
	Extra pulumi.MapInput
	// User will not have to
	// change their password upon first use. Valid values are `true` and `false`.
	IgnoreChangePasswordUponFirstUse pulumi.BoolPtrInput
	// User will not have a failure
	// lockout placed on their account. Valid values are `true` and `false`.
	IgnoreLockoutFailureAttempts pulumi.BoolPtrInput
	// User's password will not expire.
	// Valid values are `true` and `false`.
	IgnorePasswordExpiry pulumi.BoolPtrInput
	// Whether to enable multi-factor
	// authentication. Valid values are `true` and `false`.
	MultiFactorAuthEnabled pulumi.BoolPtrInput
	// A multi-factor authentication rule.
	// The structure is documented below. Please see the
	// [Ocata release notes](https://docs.openstack.org/releasenotes/keystone/ocata.html)
	// for more information on how to use mulit-factor rules.
	MultiFactorAuthRules UserMultiFactorAuthRuleArrayInput
	// The name of the user.
	Name pulumi.StringPtrInput
	// The password for the user.
	Password pulumi.StringPtrInput
	// The region in which to obtain the V3 Keystone client.
	// If omitted, the `region` argument of the provider is used. Changing this
	// creates a new User.
	Region pulumi.StringPtrInput
}

func (UserState) ElementType

func (UserState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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