Documentation ¶
Index ¶
- type ApplicationCredential
- type ApplicationCredentialAccessRule
- type ApplicationCredentialAccessRuleArgs
- func (ApplicationCredentialAccessRuleArgs) ElementType() reflect.Type
- func (i ApplicationCredentialAccessRuleArgs) ToApplicationCredentialAccessRuleOutput() ApplicationCredentialAccessRuleOutput
- func (i ApplicationCredentialAccessRuleArgs) ToApplicationCredentialAccessRuleOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleOutput
- type ApplicationCredentialAccessRuleArray
- func (ApplicationCredentialAccessRuleArray) ElementType() reflect.Type
- func (i ApplicationCredentialAccessRuleArray) ToApplicationCredentialAccessRuleArrayOutput() ApplicationCredentialAccessRuleArrayOutput
- func (i ApplicationCredentialAccessRuleArray) ToApplicationCredentialAccessRuleArrayOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleArrayOutput
- type ApplicationCredentialAccessRuleArrayInput
- type ApplicationCredentialAccessRuleArrayOutput
- func (ApplicationCredentialAccessRuleArrayOutput) ElementType() reflect.Type
- func (o ApplicationCredentialAccessRuleArrayOutput) Index(i pulumi.IntInput) ApplicationCredentialAccessRuleOutput
- func (o ApplicationCredentialAccessRuleArrayOutput) ToApplicationCredentialAccessRuleArrayOutput() ApplicationCredentialAccessRuleArrayOutput
- func (o ApplicationCredentialAccessRuleArrayOutput) ToApplicationCredentialAccessRuleArrayOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleArrayOutput
- type ApplicationCredentialAccessRuleInput
- type ApplicationCredentialAccessRuleOutput
- func (ApplicationCredentialAccessRuleOutput) ElementType() reflect.Type
- func (o ApplicationCredentialAccessRuleOutput) Id() pulumi.StringPtrOutput
- func (o ApplicationCredentialAccessRuleOutput) Method() pulumi.StringOutput
- func (o ApplicationCredentialAccessRuleOutput) Path() pulumi.StringOutput
- func (o ApplicationCredentialAccessRuleOutput) Service() pulumi.StringOutput
- func (o ApplicationCredentialAccessRuleOutput) ToApplicationCredentialAccessRuleOutput() ApplicationCredentialAccessRuleOutput
- func (o ApplicationCredentialAccessRuleOutput) ToApplicationCredentialAccessRuleOutputWithContext(ctx context.Context) ApplicationCredentialAccessRuleOutput
- type ApplicationCredentialArgs
- type ApplicationCredentialInput
- type ApplicationCredentialOutput
- type ApplicationCredentialState
- type Ec2CredentialV3
- type Ec2CredentialV3Args
- type Ec2CredentialV3Input
- type Ec2CredentialV3Output
- type Ec2CredentialV3State
- type EndpointV3
- type EndpointV3Args
- type EndpointV3Input
- type EndpointV3Output
- type EndpointV3State
- type GetAuthScopeArgs
- type GetAuthScopeResult
- type GetAuthScopeRole
- type GetAuthScopeRoleArgs
- type GetAuthScopeRoleArray
- type GetAuthScopeRoleArrayInput
- type GetAuthScopeRoleArrayOutput
- func (GetAuthScopeRoleArrayOutput) ElementType() reflect.Type
- func (o GetAuthScopeRoleArrayOutput) Index(i pulumi.IntInput) GetAuthScopeRoleOutput
- func (o GetAuthScopeRoleArrayOutput) ToGetAuthScopeRoleArrayOutput() GetAuthScopeRoleArrayOutput
- func (o GetAuthScopeRoleArrayOutput) ToGetAuthScopeRoleArrayOutputWithContext(ctx context.Context) GetAuthScopeRoleArrayOutput
- type GetAuthScopeRoleInput
- type GetAuthScopeRoleOutput
- func (GetAuthScopeRoleOutput) ElementType() reflect.Type
- func (o GetAuthScopeRoleOutput) RoleId() pulumi.StringOutput
- func (o GetAuthScopeRoleOutput) RoleName() pulumi.StringOutput
- func (o GetAuthScopeRoleOutput) ToGetAuthScopeRoleOutput() GetAuthScopeRoleOutput
- func (o GetAuthScopeRoleOutput) ToGetAuthScopeRoleOutputWithContext(ctx context.Context) GetAuthScopeRoleOutput
- type GetEndpointArgs
- type GetEndpointResult
- type GetGroupArgs
- type GetGroupResult
- type GetServiceArgs
- type GetServiceResult
- type GroupV3
- type GroupV3Args
- type GroupV3Input
- type GroupV3Output
- type GroupV3State
- type LookupProjectArgs
- type LookupProjectResult
- type LookupRoleArgs
- type LookupRoleResult
- type LookupUserArgs
- type LookupUserResult
- type Project
- type ProjectArgs
- type ProjectInput
- type ProjectOutput
- type ProjectState
- type Role
- type RoleArgs
- type RoleAssignment
- type RoleAssignmentArgs
- type RoleAssignmentInput
- type RoleAssignmentOutput
- type RoleAssignmentState
- type RoleInput
- type RoleOutput
- type RoleState
- type ServiceV3
- type ServiceV3Args
- type ServiceV3Input
- type ServiceV3Output
- type ServiceV3State
- type User
- type UserArgs
- type UserInput
- type UserMultiFactorAuthRule
- type UserMultiFactorAuthRuleArgs
- type UserMultiFactorAuthRuleArray
- func (UserMultiFactorAuthRuleArray) ElementType() reflect.Type
- func (i UserMultiFactorAuthRuleArray) ToUserMultiFactorAuthRuleArrayOutput() UserMultiFactorAuthRuleArrayOutput
- func (i UserMultiFactorAuthRuleArray) ToUserMultiFactorAuthRuleArrayOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleArrayOutput
- type UserMultiFactorAuthRuleArrayInput
- type UserMultiFactorAuthRuleArrayOutput
- func (UserMultiFactorAuthRuleArrayOutput) ElementType() reflect.Type
- func (o UserMultiFactorAuthRuleArrayOutput) Index(i pulumi.IntInput) UserMultiFactorAuthRuleOutput
- func (o UserMultiFactorAuthRuleArrayOutput) ToUserMultiFactorAuthRuleArrayOutput() UserMultiFactorAuthRuleArrayOutput
- func (o UserMultiFactorAuthRuleArrayOutput) ToUserMultiFactorAuthRuleArrayOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleArrayOutput
- type UserMultiFactorAuthRuleInput
- type UserMultiFactorAuthRuleOutput
- func (UserMultiFactorAuthRuleOutput) ElementType() reflect.Type
- func (o UserMultiFactorAuthRuleOutput) Rules() pulumi.StringArrayOutput
- func (o UserMultiFactorAuthRuleOutput) ToUserMultiFactorAuthRuleOutput() UserMultiFactorAuthRuleOutput
- func (o UserMultiFactorAuthRuleOutput) ToUserMultiFactorAuthRuleOutputWithContext(ctx context.Context) UserMultiFactorAuthRuleOutput
- type UserOutput
- type UserState
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](https://www.terraform.io/docs/state/sensitive-data.html).
> **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.
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
``` ### 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.
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
``` ### 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.
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
## 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 ¶ added in v2.10.0
func (*ApplicationCredential) ElementType() reflect.Type
func (*ApplicationCredential) ToApplicationCredentialOutput ¶ added in v2.10.0
func (i *ApplicationCredential) ToApplicationCredentialOutput() ApplicationCredentialOutput
func (*ApplicationCredential) ToApplicationCredentialOutputWithContext ¶ added in v2.10.0
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) ElementType() reflect.Type
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) ElementType() reflect.Type
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) ElementType() reflect.Type
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) ElementType() reflect.Type
func (ApplicationCredentialAccessRuleOutput) Id ¶
func (o ApplicationCredentialAccessRuleOutput) Id() pulumi.StringPtrOutput
The ID of the existing access rule. The access rule ID of another application credential can be provided.
func (ApplicationCredentialAccessRuleOutput) Method ¶
func (o ApplicationCredentialAccessRuleOutput) Method() pulumi.StringOutput
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 ¶
func (o ApplicationCredentialAccessRuleOutput) Path() pulumi.StringOutput
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 ¶
func (o ApplicationCredentialAccessRuleOutput) Service() pulumi.StringOutput
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 ApplicationCredentialInput ¶ added in v2.10.0
type ApplicationCredentialInput interface { pulumi.Input ToApplicationCredentialOutput() ApplicationCredentialOutput ToApplicationCredentialOutputWithContext(ctx context.Context) ApplicationCredentialOutput }
type ApplicationCredentialOutput ¶ added in v2.10.0
type ApplicationCredentialOutput struct {
*pulumi.OutputState
}
func (ApplicationCredentialOutput) ElementType ¶ added in v2.10.0
func (ApplicationCredentialOutput) ElementType() reflect.Type
func (ApplicationCredentialOutput) ToApplicationCredentialOutput ¶ added in v2.10.0
func (o ApplicationCredentialOutput) ToApplicationCredentialOutput() ApplicationCredentialOutput
func (ApplicationCredentialOutput) ToApplicationCredentialOutputWithContext ¶ added in v2.10.0
func (o ApplicationCredentialOutput) ToApplicationCredentialOutputWithContext(ctx context.Context) ApplicationCredentialOutput
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 ¶ added in v2.6.0
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. 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. 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](https://www.terraform.io/docs/state/sensitive-data.html).
## Example Usage ### EC2 credential in current project scope
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := identity.NewEc2CredentialV3(ctx, "ec2Key1", nil) if err != nil { return err } return nil }) }
``` ### EC2 credential in pre-defined project scope
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
## Import
EC2 Credentials can be imported using the `access`, e.g.
```sh
$ pulumi import openstack:identity/ec2CredentialV3:Ec2CredentialV3 ec2_cred_1 2d0ac4a2f81b4b0f9513ee49e780647d
```
func GetEc2CredentialV3 ¶ added in v2.6.0
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 ¶ added in v2.6.0
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 ¶ added in v2.10.0
func (*Ec2CredentialV3) ElementType() reflect.Type
func (*Ec2CredentialV3) ToEc2CredentialV3Output ¶ added in v2.10.0
func (i *Ec2CredentialV3) ToEc2CredentialV3Output() Ec2CredentialV3Output
func (*Ec2CredentialV3) ToEc2CredentialV3OutputWithContext ¶ added in v2.10.0
func (i *Ec2CredentialV3) ToEc2CredentialV3OutputWithContext(ctx context.Context) Ec2CredentialV3Output
type Ec2CredentialV3Args ¶ added in v2.6.0
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. 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. UserId pulumi.StringPtrInput }
The set of arguments for constructing a Ec2CredentialV3 resource.
func (Ec2CredentialV3Args) ElementType ¶ added in v2.6.0
func (Ec2CredentialV3Args) ElementType() reflect.Type
type Ec2CredentialV3Input ¶ added in v2.10.0
type Ec2CredentialV3Input interface { pulumi.Input ToEc2CredentialV3Output() Ec2CredentialV3Output ToEc2CredentialV3OutputWithContext(ctx context.Context) Ec2CredentialV3Output }
type Ec2CredentialV3Output ¶ added in v2.10.0
type Ec2CredentialV3Output struct {
*pulumi.OutputState
}
func (Ec2CredentialV3Output) ElementType ¶ added in v2.10.0
func (Ec2CredentialV3Output) ElementType() reflect.Type
func (Ec2CredentialV3Output) ToEc2CredentialV3Output ¶ added in v2.10.0
func (o Ec2CredentialV3Output) ToEc2CredentialV3Output() Ec2CredentialV3Output
func (Ec2CredentialV3Output) ToEc2CredentialV3OutputWithContext ¶ added in v2.10.0
func (o Ec2CredentialV3Output) ToEc2CredentialV3OutputWithContext(ctx context.Context) Ec2CredentialV3Output
type Ec2CredentialV3State ¶ added in v2.6.0
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. 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. UserId pulumi.StringPtrInput }
func (Ec2CredentialV3State) ElementType ¶ added in v2.6.0
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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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{ EndpointRegion: service1.Region, ServiceId: service1.ID(), Url: pulumi.String("http://my-endpoint"), }) if err != nil { return err } return nil }) }
```
## 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 ¶ added in v2.10.0
func (*EndpointV3) ElementType() reflect.Type
func (*EndpointV3) ToEndpointV3Output ¶ added in v2.10.0
func (i *EndpointV3) ToEndpointV3Output() EndpointV3Output
func (*EndpointV3) ToEndpointV3OutputWithContext ¶ added in v2.10.0
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 EndpointV3Input ¶ added in v2.10.0
type EndpointV3Input interface { pulumi.Input ToEndpointV3Output() EndpointV3Output ToEndpointV3OutputWithContext(ctx context.Context) EndpointV3Output }
type EndpointV3Output ¶ added in v2.10.0
type EndpointV3Output struct {
*pulumi.OutputState
}
func (EndpointV3Output) ElementType ¶ added in v2.10.0
func (EndpointV3Output) ElementType() reflect.Type
func (EndpointV3Output) ToEndpointV3Output ¶ added in v2.10.0
func (o EndpointV3Output) ToEndpointV3Output() EndpointV3Output
func (EndpointV3Output) ToEndpointV3OutputWithContext ¶ added in v2.10.0
func (o EndpointV3Output) ToEndpointV3OutputWithContext(ctx context.Context) EndpointV3Output
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 collection of arguments for invoking getAuthScope.
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"` 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"` Region string `pulumi:"region"` // A list of roles in the current scope. See reference below. Roles []GetAuthScopeRole `pulumi:"roles"` // 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)
Use this data source to get authentication information about the current auth scope in use. This can be used as self-discovery or introspection of the username or project name currently in use.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := identity.GetAuthScope(ctx, &identity.GetAuthScopeArgs{ Name: "my_scope", }, nil) if err != nil { return err } return nil }) }
```
type GetAuthScopeRole ¶
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) ElementType() reflect.Type
func (GetAuthScopeRoleArrayOutput) Index ¶
func (o GetAuthScopeRoleArrayOutput) Index(i pulumi.IntInput) GetAuthScopeRoleOutput
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 ¶
func (o GetAuthScopeRoleOutput) RoleId() pulumi.StringOutput
The ID of the role.
func (GetAuthScopeRoleOutput) RoleName ¶
func (o GetAuthScopeRoleOutput) RoleName() pulumi.StringOutput
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 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 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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { opt0 := "demo" _, err := identity.GetEndpoint(ctx, &identity.GetEndpointArgs{ ServiceName: &opt0, }, nil) if err != nil { return err } return nil }) }
```
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 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: This usually requires admin privileges.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
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 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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { opt0 := "keystone" _, err := identity.GetService(ctx, &identity.GetServiceArgs{ Name: &opt0, }, nil) if err != nil { return err } return nil }) }
```
type GroupV3 ¶ added in v2.4.0
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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
## 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 ¶ added in v2.4.0
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 ¶ added in v2.4.0
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 ¶ added in v2.10.0
func (*GroupV3) ToGroupV3Output ¶ added in v2.10.0
func (i *GroupV3) ToGroupV3Output() GroupV3Output
func (*GroupV3) ToGroupV3OutputWithContext ¶ added in v2.10.0
func (i *GroupV3) ToGroupV3OutputWithContext(ctx context.Context) GroupV3Output
type GroupV3Args ¶ added in v2.4.0
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 ¶ added in v2.4.0
func (GroupV3Args) ElementType() reflect.Type
type GroupV3Input ¶ added in v2.10.0
type GroupV3Input interface { pulumi.Input ToGroupV3Output() GroupV3Output ToGroupV3OutputWithContext(ctx context.Context) GroupV3Output }
type GroupV3Output ¶ added in v2.10.0
type GroupV3Output struct {
*pulumi.OutputState
}
func (GroupV3Output) ElementType ¶ added in v2.10.0
func (GroupV3Output) ElementType() reflect.Type
func (GroupV3Output) ToGroupV3Output ¶ added in v2.10.0
func (o GroupV3Output) ToGroupV3Output() GroupV3Output
func (GroupV3Output) ToGroupV3OutputWithContext ¶ added in v2.10.0
func (o GroupV3Output) ToGroupV3OutputWithContext(ctx context.Context) GroupV3Output
type GroupV3State ¶ added in v2.4.0
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 ¶ added in v2.4.0
func (GroupV3State) 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 region the project is located in. Region *string `pulumi:"region"` }
A collection of arguments for invoking getProject.
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"` // 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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { opt0 := "demo" _, err := identity.LookupProject(ctx, &identity.LookupProjectArgs{ Name: &opt0, }, nil) if err != nil { return err } return nil }) }
```
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 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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
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 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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { opt0 := "user_1" _, err := identity.LookupUser(ctx, &identity.LookupUserArgs{ Name: &opt0, }, nil) if err != nil { return err } return nil }) }
```
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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
## 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 ¶ added in v2.10.0
func (*Project) ToProjectOutput ¶ added in v2.10.0
func (i *Project) ToProjectOutput() ProjectOutput
func (*Project) ToProjectOutputWithContext ¶ added in v2.10.0
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 ProjectInput ¶ added in v2.10.0
type ProjectInput interface { pulumi.Input ToProjectOutput() ProjectOutput ToProjectOutputWithContext(ctx context.Context) ProjectOutput }
type ProjectOutput ¶ added in v2.10.0
type ProjectOutput struct {
*pulumi.OutputState
}
func (ProjectOutput) ElementType ¶ added in v2.10.0
func (ProjectOutput) ElementType() reflect.Type
func (ProjectOutput) ToProjectOutput ¶ added in v2.10.0
func (o ProjectOutput) ToProjectOutput() ProjectOutput
func (ProjectOutput) ToProjectOutputWithContext ¶ added in v2.10.0
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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := identity.NewRole(ctx, "role1", nil) if err != nil { return err } return nil }) }
```
## 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 ¶ added in v2.10.0
func (*Role) ToRoleOutput ¶ added in v2.10.0
func (i *Role) ToRoleOutput() RoleOutput
func (*Role) ToRoleOutputWithContext ¶ added in v2.10.0
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 ¶
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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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{ ProjectId: project1.ID(), RoleId: role1.ID(), UserId: user1.ID(), }) if err != nil { return err } return nil }) }
```
func GetRoleAssignment ¶
func GetRoleAssignment(ctx *pulumi.Context, name string, id pulumi.IDInput, state *RoleAssignmentState, opts ...pulumi.ResourceOption) (*RoleAssignment, error)
GetRoleAssignment gets an existing RoleAssignment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewRoleAssignment ¶
func NewRoleAssignment(ctx *pulumi.Context, name string, args *RoleAssignmentArgs, opts ...pulumi.ResourceOption) (*RoleAssignment, error)
NewRoleAssignment registers a new resource with the given unique name, arguments, and options.
func (*RoleAssignment) ElementType ¶ added in v2.10.0
func (*RoleAssignment) ElementType() reflect.Type
func (*RoleAssignment) ToRoleAssignmentOutput ¶ added in v2.10.0
func (i *RoleAssignment) ToRoleAssignmentOutput() RoleAssignmentOutput
func (*RoleAssignment) ToRoleAssignmentOutputWithContext ¶ added in v2.10.0
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 RoleAssignmentInput ¶ added in v2.10.0
type RoleAssignmentInput interface { pulumi.Input ToRoleAssignmentOutput() RoleAssignmentOutput ToRoleAssignmentOutputWithContext(ctx context.Context) RoleAssignmentOutput }
type RoleAssignmentOutput ¶ added in v2.10.0
type RoleAssignmentOutput struct {
*pulumi.OutputState
}
func (RoleAssignmentOutput) ElementType ¶ added in v2.10.0
func (RoleAssignmentOutput) ElementType() reflect.Type
func (RoleAssignmentOutput) ToRoleAssignmentOutput ¶ added in v2.10.0
func (o RoleAssignmentOutput) ToRoleAssignmentOutput() RoleAssignmentOutput
func (RoleAssignmentOutput) ToRoleAssignmentOutputWithContext ¶ added in v2.10.0
func (o RoleAssignmentOutput) ToRoleAssignmentOutputWithContext(ctx context.Context) RoleAssignmentOutput
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 ¶ added in v2.10.0
type RoleInput interface { pulumi.Input ToRoleOutput() RoleOutput ToRoleOutputWithContext(ctx context.Context) RoleOutput }
type RoleOutput ¶ added in v2.10.0
type RoleOutput struct {
*pulumi.OutputState
}
func (RoleOutput) ElementType ¶ added in v2.10.0
func (RoleOutput) ElementType() reflect.Type
func (RoleOutput) ToRoleOutput ¶ added in v2.10.0
func (o RoleOutput) ToRoleOutput() RoleOutput
func (RoleOutput) ToRoleOutputWithContext ¶ added in v2.10.0
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 ¶
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
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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 }) }
```
## 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 ¶ added in v2.10.0
func (*ServiceV3) ToServiceV3Output ¶ added in v2.10.0
func (i *ServiceV3) ToServiceV3Output() ServiceV3Output
func (*ServiceV3) ToServiceV3OutputWithContext ¶ added in v2.10.0
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 ServiceV3Input ¶ added in v2.10.0
type ServiceV3Input interface { pulumi.Input ToServiceV3Output() ServiceV3Output ToServiceV3OutputWithContext(ctx context.Context) ServiceV3Output }
type ServiceV3Output ¶ added in v2.10.0
type ServiceV3Output struct {
*pulumi.OutputState
}
func (ServiceV3Output) ElementType ¶ added in v2.10.0
func (ServiceV3Output) ElementType() reflect.Type
func (ServiceV3Output) ToServiceV3Output ¶ added in v2.10.0
func (o ServiceV3Output) ToServiceV3Output() ServiceV3Output
func (ServiceV3Output) ToServiceV3OutputWithContext ¶ added in v2.10.0
func (o ServiceV3Output) ToServiceV3OutputWithContext(ctx context.Context) ServiceV3Output
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: You _must_ have admin privileges in your OpenStack cloud to use this resource.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-openstack/sdk/v2/go/openstack/identity" "github.com/pulumi/pulumi/sdk/v2/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"), Extra: pulumi.StringMap{ "email": pulumi.String("user_1@foobar.com"), }, 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"), }, }, }, Password: pulumi.String("password123"), }) if err != nil { return err } return nil }) }
```
## 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 ¶ added in v2.10.0
func (*User) ToUserOutput ¶ added in v2.10.0
func (i *User) ToUserOutput() UserOutput
func (*User) ToUserOutputWithContext ¶ added in v2.10.0
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 ¶
type UserInput ¶ added in v2.10.0
type UserInput interface { pulumi.Input ToUserOutput() UserOutput ToUserOutputWithContext(ctx context.Context) UserOutput }
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) ElementType() reflect.Type
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) ElementType() reflect.Type
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) ElementType() reflect.Type
func (UserMultiFactorAuthRuleArrayOutput) Index ¶
func (o UserMultiFactorAuthRuleArrayOutput) Index(i pulumi.IntInput) UserMultiFactorAuthRuleOutput
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) ElementType() reflect.Type
func (UserMultiFactorAuthRuleOutput) Rules ¶
func (o UserMultiFactorAuthRuleOutput) Rules() pulumi.StringArrayOutput
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 ¶ added in v2.10.0
type UserOutput struct {
*pulumi.OutputState
}
func (UserOutput) ElementType ¶ added in v2.10.0
func (UserOutput) ElementType() reflect.Type
func (UserOutput) ToUserOutput ¶ added in v2.10.0
func (o UserOutput) ToUserOutput() UserOutput
func (UserOutput) ToUserOutputWithContext ¶ added in v2.10.0
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 }