secretmanager

package
v4.21.0 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 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 LookupSecretVersionArgs

type LookupSecretVersionArgs struct {
	// The project to get the secret version for. If it
	// is not provided, the provider project is used.
	Project *string `pulumi:"project"`
	// The secret to get the secret version for.
	Secret string `pulumi:"secret"`
	// The version of the secret to get. If it
	// is not provided, the latest version is retrieved.
	Version *string `pulumi:"version"`
}

A collection of arguments for invoking getSecretVersion.

type LookupSecretVersionResult

type LookupSecretVersionResult struct {
	// The time at which the Secret was created.
	CreateTime string `pulumi:"createTime"`
	// The time at which the Secret was destroyed. Only present if state is DESTROYED.
	DestroyTime string `pulumi:"destroyTime"`
	// True if the current state of the SecretVersion is enabled.
	Enabled bool `pulumi:"enabled"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The resource name of the SecretVersion. Format:
	// `projects/{{project}}/secrets/{{secret_id}}/versions/{{version}}`
	Name    string `pulumi:"name"`
	Project string `pulumi:"project"`
	Secret  string `pulumi:"secret"`
	// The secret data. No larger than 64KiB.
	SecretData string `pulumi:"secretData"`
	Version    string `pulumi:"version"`
}

A collection of values returned by getSecretVersion.

func LookupSecretVersion

func LookupSecretVersion(ctx *pulumi.Context, args *LookupSecretVersionArgs, opts ...pulumi.InvokeOption) (*LookupSecretVersionResult, error)

Get a Secret Manager secret's version. For more information see the [official documentation](https://cloud.google.com/secret-manager/docs/) and [API](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.LookupSecretVersion(ctx, &secretmanager.LookupSecretVersionArgs{
			Secret: "my-secret",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Secret

type Secret struct {
	pulumi.CustomResourceState

	// The time at which the Secret was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The labels assigned to this Secret.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
	// and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
	// and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be assigned to a given resource.
	// An object containing a list of "key": value pairs. Example:
	// { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The resource name of the Secret. Format: 'projects/{{project}}/secrets/{{secret_id}}'
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The replication policy of the secret data attached to the Secret. It cannot be changed
	// after the Secret has been created.
	// Structure is documented below.
	Replication SecretReplicationOutput `pulumi:"replication"`
	// This must be unique within the project.
	SecretId pulumi.StringOutput `pulumi:"secretId"`
}

A Secret is a logical secret whose value and versions can be accessed.

To get more information about Secret, see:

* [API documentation](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets)

## Example Usage ### Secret Config Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecret(ctx, "secret_basic", &secretmanager.SecretArgs{
			Labels: pulumi.StringMap{
				"label": pulumi.String("my-label"),
			},
			Replication: &secretmanager.SecretReplicationArgs{
				UserManaged: &secretmanager.SecretReplicationUserManagedArgs{
					Replicas: secretmanager.SecretReplicationUserManagedReplicaArray{
						&secretmanager.SecretReplicationUserManagedReplicaArgs{
							Location: pulumi.String("us-central1"),
						},
						&secretmanager.SecretReplicationUserManagedReplicaArgs{
							Location: pulumi.String("us-east1"),
						},
					},
				},
			},
			SecretId: pulumi.String("secret"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Secret can be imported using any of these accepted formats

```sh

$ pulumi import gcp:secretmanager/secret:Secret default projects/{{project}}/secrets/{{secret_id}}

```

```sh

$ pulumi import gcp:secretmanager/secret:Secret default {{project}}/{{secret_id}}

```

```sh

$ pulumi import gcp:secretmanager/secret:Secret default {{secret_id}}

```

func GetSecret

func GetSecret(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecretState, opts ...pulumi.ResourceOption) (*Secret, error)

GetSecret gets an existing Secret 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 NewSecret

func NewSecret(ctx *pulumi.Context,
	name string, args *SecretArgs, opts ...pulumi.ResourceOption) (*Secret, error)

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

func (*Secret) ElementType added in v4.4.0

func (*Secret) ElementType() reflect.Type

func (*Secret) ToSecretOutput added in v4.4.0

func (i *Secret) ToSecretOutput() SecretOutput

func (*Secret) ToSecretOutputWithContext added in v4.4.0

func (i *Secret) ToSecretOutputWithContext(ctx context.Context) SecretOutput

func (*Secret) ToSecretPtrOutput added in v4.11.1

func (i *Secret) ToSecretPtrOutput() SecretPtrOutput

func (*Secret) ToSecretPtrOutputWithContext added in v4.11.1

func (i *Secret) ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput

type SecretArgs

type SecretArgs struct {
	// The labels assigned to this Secret.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
	// and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
	// and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be assigned to a given resource.
	// An object containing a list of "key": value pairs. Example:
	// { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The replication policy of the secret data attached to the Secret. It cannot be changed
	// after the Secret has been created.
	// Structure is documented below.
	Replication SecretReplicationInput
	// This must be unique within the project.
	SecretId pulumi.StringInput
}

The set of arguments for constructing a Secret resource.

func (SecretArgs) ElementType

func (SecretArgs) ElementType() reflect.Type

type SecretArray added in v4.11.1

type SecretArray []SecretInput

func (SecretArray) ElementType added in v4.11.1

func (SecretArray) ElementType() reflect.Type

func (SecretArray) ToSecretArrayOutput added in v4.11.1

func (i SecretArray) ToSecretArrayOutput() SecretArrayOutput

func (SecretArray) ToSecretArrayOutputWithContext added in v4.11.1

func (i SecretArray) ToSecretArrayOutputWithContext(ctx context.Context) SecretArrayOutput

type SecretArrayInput added in v4.11.1

type SecretArrayInput interface {
	pulumi.Input

	ToSecretArrayOutput() SecretArrayOutput
	ToSecretArrayOutputWithContext(context.Context) SecretArrayOutput
}

SecretArrayInput is an input type that accepts SecretArray and SecretArrayOutput values. You can construct a concrete instance of `SecretArrayInput` via:

SecretArray{ SecretArgs{...} }

type SecretArrayOutput added in v4.11.1

type SecretArrayOutput struct{ *pulumi.OutputState }

func (SecretArrayOutput) ElementType added in v4.11.1

func (SecretArrayOutput) ElementType() reflect.Type

func (SecretArrayOutput) Index added in v4.11.1

func (SecretArrayOutput) ToSecretArrayOutput added in v4.11.1

func (o SecretArrayOutput) ToSecretArrayOutput() SecretArrayOutput

func (SecretArrayOutput) ToSecretArrayOutputWithContext added in v4.11.1

func (o SecretArrayOutput) ToSecretArrayOutputWithContext(ctx context.Context) SecretArrayOutput

type SecretIamBinding

type SecretIamBinding struct {
	pulumi.CustomResourceState

	Condition SecretIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role     pulumi.StringOutput `pulumi:"role"`
	SecretId pulumi.StringOutput `pulumi:"secretId"`
}

Three different resources help you manage your IAM policy for Secret Manager Secret. Each of these resources serves a different use case:

* `secretmanager.SecretIamPolicy`: Authoritative. Sets the IAM policy for the secret and replaces any existing policy already attached. * `secretmanager.SecretIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the secret are preserved. * `secretmanager.SecretIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the secret are preserved.

> **Note:** `secretmanager.SecretIamPolicy` **cannot** be used in conjunction with `secretmanager.SecretIamBinding` and `secretmanager.SecretIamMember` or they will fight over what your policy should be.

> **Note:** `secretmanager.SecretIamBinding` resources **can be** used in conjunction with `secretmanager.SecretIamMember` resources **only if** they do not grant privilege to the same role.

## google\_secret\_manager\_secret\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/secretmanager.secretAccessor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = secretmanager.NewSecretIamPolicy(ctx, "policy", &secretmanager.SecretIamPolicyArgs{
			Project:    pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId:   pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_secret\_manager\_secret\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecretIamBinding(ctx, "binding", &secretmanager.SecretIamBindingArgs{
			Project:  pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId: pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_secret\_manager\_secret\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecretIamMember(ctx, "member", &secretmanager.SecretIamMemberArgs{
			Project:  pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId: pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/secrets/{{secret_id}} * {{project}}/{{secret_id}} * {{secret_id}} Any variables not passed in the import command will be taken from the provider configuration. Secret Manager secret IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamBinding:SecretIamBinding editor "projects/{{project}}/secrets/{{secret_id}} roles/secretmanager.secretAccessor user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamBinding:SecretIamBinding editor "projects/{{project}}/secrets/{{secret_id}} roles/secretmanager.secretAccessor"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamBinding:SecretIamBinding editor projects/{{project}}/secrets/{{secret_id}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetSecretIamBinding

func GetSecretIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecretIamBindingState, opts ...pulumi.ResourceOption) (*SecretIamBinding, error)

GetSecretIamBinding gets an existing SecretIamBinding 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 NewSecretIamBinding

func NewSecretIamBinding(ctx *pulumi.Context,
	name string, args *SecretIamBindingArgs, opts ...pulumi.ResourceOption) (*SecretIamBinding, error)

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

func (*SecretIamBinding) ElementType added in v4.4.0

func (*SecretIamBinding) ElementType() reflect.Type

func (*SecretIamBinding) ToSecretIamBindingOutput added in v4.4.0

func (i *SecretIamBinding) ToSecretIamBindingOutput() SecretIamBindingOutput

func (*SecretIamBinding) ToSecretIamBindingOutputWithContext added in v4.4.0

func (i *SecretIamBinding) ToSecretIamBindingOutputWithContext(ctx context.Context) SecretIamBindingOutput

func (*SecretIamBinding) ToSecretIamBindingPtrOutput added in v4.11.1

func (i *SecretIamBinding) ToSecretIamBindingPtrOutput() SecretIamBindingPtrOutput

func (*SecretIamBinding) ToSecretIamBindingPtrOutputWithContext added in v4.11.1

func (i *SecretIamBinding) ToSecretIamBindingPtrOutputWithContext(ctx context.Context) SecretIamBindingPtrOutput

type SecretIamBindingArgs

type SecretIamBindingArgs struct {
	Condition SecretIamBindingConditionPtrInput
	Members   pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role     pulumi.StringInput
	SecretId pulumi.StringInput
}

The set of arguments for constructing a SecretIamBinding resource.

func (SecretIamBindingArgs) ElementType

func (SecretIamBindingArgs) ElementType() reflect.Type

type SecretIamBindingArray added in v4.11.1

type SecretIamBindingArray []SecretIamBindingInput

func (SecretIamBindingArray) ElementType added in v4.11.1

func (SecretIamBindingArray) ElementType() reflect.Type

func (SecretIamBindingArray) ToSecretIamBindingArrayOutput added in v4.11.1

func (i SecretIamBindingArray) ToSecretIamBindingArrayOutput() SecretIamBindingArrayOutput

func (SecretIamBindingArray) ToSecretIamBindingArrayOutputWithContext added in v4.11.1

func (i SecretIamBindingArray) ToSecretIamBindingArrayOutputWithContext(ctx context.Context) SecretIamBindingArrayOutput

type SecretIamBindingArrayInput added in v4.11.1

type SecretIamBindingArrayInput interface {
	pulumi.Input

	ToSecretIamBindingArrayOutput() SecretIamBindingArrayOutput
	ToSecretIamBindingArrayOutputWithContext(context.Context) SecretIamBindingArrayOutput
}

SecretIamBindingArrayInput is an input type that accepts SecretIamBindingArray and SecretIamBindingArrayOutput values. You can construct a concrete instance of `SecretIamBindingArrayInput` via:

SecretIamBindingArray{ SecretIamBindingArgs{...} }

type SecretIamBindingArrayOutput added in v4.11.1

type SecretIamBindingArrayOutput struct{ *pulumi.OutputState }

func (SecretIamBindingArrayOutput) ElementType added in v4.11.1

func (SecretIamBindingArrayOutput) Index added in v4.11.1

func (SecretIamBindingArrayOutput) ToSecretIamBindingArrayOutput added in v4.11.1

func (o SecretIamBindingArrayOutput) ToSecretIamBindingArrayOutput() SecretIamBindingArrayOutput

func (SecretIamBindingArrayOutput) ToSecretIamBindingArrayOutputWithContext added in v4.11.1

func (o SecretIamBindingArrayOutput) ToSecretIamBindingArrayOutputWithContext(ctx context.Context) SecretIamBindingArrayOutput

type SecretIamBindingCondition

type SecretIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type SecretIamBindingConditionArgs

type SecretIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (SecretIamBindingConditionArgs) ElementType

func (SecretIamBindingConditionArgs) ToSecretIamBindingConditionOutput

func (i SecretIamBindingConditionArgs) ToSecretIamBindingConditionOutput() SecretIamBindingConditionOutput

func (SecretIamBindingConditionArgs) ToSecretIamBindingConditionOutputWithContext

func (i SecretIamBindingConditionArgs) ToSecretIamBindingConditionOutputWithContext(ctx context.Context) SecretIamBindingConditionOutput

func (SecretIamBindingConditionArgs) ToSecretIamBindingConditionPtrOutput

func (i SecretIamBindingConditionArgs) ToSecretIamBindingConditionPtrOutput() SecretIamBindingConditionPtrOutput

func (SecretIamBindingConditionArgs) ToSecretIamBindingConditionPtrOutputWithContext

func (i SecretIamBindingConditionArgs) ToSecretIamBindingConditionPtrOutputWithContext(ctx context.Context) SecretIamBindingConditionPtrOutput

type SecretIamBindingConditionInput

type SecretIamBindingConditionInput interface {
	pulumi.Input

	ToSecretIamBindingConditionOutput() SecretIamBindingConditionOutput
	ToSecretIamBindingConditionOutputWithContext(context.Context) SecretIamBindingConditionOutput
}

SecretIamBindingConditionInput is an input type that accepts SecretIamBindingConditionArgs and SecretIamBindingConditionOutput values. You can construct a concrete instance of `SecretIamBindingConditionInput` via:

SecretIamBindingConditionArgs{...}

type SecretIamBindingConditionOutput

type SecretIamBindingConditionOutput struct{ *pulumi.OutputState }

func (SecretIamBindingConditionOutput) Description

func (SecretIamBindingConditionOutput) ElementType

func (SecretIamBindingConditionOutput) Expression

func (SecretIamBindingConditionOutput) Title

func (SecretIamBindingConditionOutput) ToSecretIamBindingConditionOutput

func (o SecretIamBindingConditionOutput) ToSecretIamBindingConditionOutput() SecretIamBindingConditionOutput

func (SecretIamBindingConditionOutput) ToSecretIamBindingConditionOutputWithContext

func (o SecretIamBindingConditionOutput) ToSecretIamBindingConditionOutputWithContext(ctx context.Context) SecretIamBindingConditionOutput

func (SecretIamBindingConditionOutput) ToSecretIamBindingConditionPtrOutput

func (o SecretIamBindingConditionOutput) ToSecretIamBindingConditionPtrOutput() SecretIamBindingConditionPtrOutput

func (SecretIamBindingConditionOutput) ToSecretIamBindingConditionPtrOutputWithContext

func (o SecretIamBindingConditionOutput) ToSecretIamBindingConditionPtrOutputWithContext(ctx context.Context) SecretIamBindingConditionPtrOutput

type SecretIamBindingConditionPtrInput

type SecretIamBindingConditionPtrInput interface {
	pulumi.Input

	ToSecretIamBindingConditionPtrOutput() SecretIamBindingConditionPtrOutput
	ToSecretIamBindingConditionPtrOutputWithContext(context.Context) SecretIamBindingConditionPtrOutput
}

SecretIamBindingConditionPtrInput is an input type that accepts SecretIamBindingConditionArgs, SecretIamBindingConditionPtr and SecretIamBindingConditionPtrOutput values. You can construct a concrete instance of `SecretIamBindingConditionPtrInput` via:

        SecretIamBindingConditionArgs{...}

or:

        nil

type SecretIamBindingConditionPtrOutput

type SecretIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (SecretIamBindingConditionPtrOutput) Description

func (SecretIamBindingConditionPtrOutput) Elem

func (SecretIamBindingConditionPtrOutput) ElementType

func (SecretIamBindingConditionPtrOutput) Expression

func (SecretIamBindingConditionPtrOutput) Title

func (SecretIamBindingConditionPtrOutput) ToSecretIamBindingConditionPtrOutput

func (o SecretIamBindingConditionPtrOutput) ToSecretIamBindingConditionPtrOutput() SecretIamBindingConditionPtrOutput

func (SecretIamBindingConditionPtrOutput) ToSecretIamBindingConditionPtrOutputWithContext

func (o SecretIamBindingConditionPtrOutput) ToSecretIamBindingConditionPtrOutputWithContext(ctx context.Context) SecretIamBindingConditionPtrOutput

type SecretIamBindingInput added in v4.4.0

type SecretIamBindingInput interface {
	pulumi.Input

	ToSecretIamBindingOutput() SecretIamBindingOutput
	ToSecretIamBindingOutputWithContext(ctx context.Context) SecretIamBindingOutput
}

type SecretIamBindingMap added in v4.11.1

type SecretIamBindingMap map[string]SecretIamBindingInput

func (SecretIamBindingMap) ElementType added in v4.11.1

func (SecretIamBindingMap) ElementType() reflect.Type

func (SecretIamBindingMap) ToSecretIamBindingMapOutput added in v4.11.1

func (i SecretIamBindingMap) ToSecretIamBindingMapOutput() SecretIamBindingMapOutput

func (SecretIamBindingMap) ToSecretIamBindingMapOutputWithContext added in v4.11.1

func (i SecretIamBindingMap) ToSecretIamBindingMapOutputWithContext(ctx context.Context) SecretIamBindingMapOutput

type SecretIamBindingMapInput added in v4.11.1

type SecretIamBindingMapInput interface {
	pulumi.Input

	ToSecretIamBindingMapOutput() SecretIamBindingMapOutput
	ToSecretIamBindingMapOutputWithContext(context.Context) SecretIamBindingMapOutput
}

SecretIamBindingMapInput is an input type that accepts SecretIamBindingMap and SecretIamBindingMapOutput values. You can construct a concrete instance of `SecretIamBindingMapInput` via:

SecretIamBindingMap{ "key": SecretIamBindingArgs{...} }

type SecretIamBindingMapOutput added in v4.11.1

type SecretIamBindingMapOutput struct{ *pulumi.OutputState }

func (SecretIamBindingMapOutput) ElementType added in v4.11.1

func (SecretIamBindingMapOutput) ElementType() reflect.Type

func (SecretIamBindingMapOutput) MapIndex added in v4.11.1

func (SecretIamBindingMapOutput) ToSecretIamBindingMapOutput added in v4.11.1

func (o SecretIamBindingMapOutput) ToSecretIamBindingMapOutput() SecretIamBindingMapOutput

func (SecretIamBindingMapOutput) ToSecretIamBindingMapOutputWithContext added in v4.11.1

func (o SecretIamBindingMapOutput) ToSecretIamBindingMapOutputWithContext(ctx context.Context) SecretIamBindingMapOutput

type SecretIamBindingOutput added in v4.4.0

type SecretIamBindingOutput struct {
	*pulumi.OutputState
}

func (SecretIamBindingOutput) ElementType added in v4.4.0

func (SecretIamBindingOutput) ElementType() reflect.Type

func (SecretIamBindingOutput) ToSecretIamBindingOutput added in v4.4.0

func (o SecretIamBindingOutput) ToSecretIamBindingOutput() SecretIamBindingOutput

func (SecretIamBindingOutput) ToSecretIamBindingOutputWithContext added in v4.4.0

func (o SecretIamBindingOutput) ToSecretIamBindingOutputWithContext(ctx context.Context) SecretIamBindingOutput

func (SecretIamBindingOutput) ToSecretIamBindingPtrOutput added in v4.11.1

func (o SecretIamBindingOutput) ToSecretIamBindingPtrOutput() SecretIamBindingPtrOutput

func (SecretIamBindingOutput) ToSecretIamBindingPtrOutputWithContext added in v4.11.1

func (o SecretIamBindingOutput) ToSecretIamBindingPtrOutputWithContext(ctx context.Context) SecretIamBindingPtrOutput

type SecretIamBindingPtrInput added in v4.11.1

type SecretIamBindingPtrInput interface {
	pulumi.Input

	ToSecretIamBindingPtrOutput() SecretIamBindingPtrOutput
	ToSecretIamBindingPtrOutputWithContext(ctx context.Context) SecretIamBindingPtrOutput
}

type SecretIamBindingPtrOutput added in v4.11.1

type SecretIamBindingPtrOutput struct {
	*pulumi.OutputState
}

func (SecretIamBindingPtrOutput) ElementType added in v4.11.1

func (SecretIamBindingPtrOutput) ElementType() reflect.Type

func (SecretIamBindingPtrOutput) ToSecretIamBindingPtrOutput added in v4.11.1

func (o SecretIamBindingPtrOutput) ToSecretIamBindingPtrOutput() SecretIamBindingPtrOutput

func (SecretIamBindingPtrOutput) ToSecretIamBindingPtrOutputWithContext added in v4.11.1

func (o SecretIamBindingPtrOutput) ToSecretIamBindingPtrOutputWithContext(ctx context.Context) SecretIamBindingPtrOutput

type SecretIamBindingState

type SecretIamBindingState struct {
	Condition SecretIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role     pulumi.StringPtrInput
	SecretId pulumi.StringPtrInput
}

func (SecretIamBindingState) ElementType

func (SecretIamBindingState) ElementType() reflect.Type

type SecretIamMember

type SecretIamMember struct {
	pulumi.CustomResourceState

	Condition SecretIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role     pulumi.StringOutput `pulumi:"role"`
	SecretId pulumi.StringOutput `pulumi:"secretId"`
}

Three different resources help you manage your IAM policy for Secret Manager Secret. Each of these resources serves a different use case:

* `secretmanager.SecretIamPolicy`: Authoritative. Sets the IAM policy for the secret and replaces any existing policy already attached. * `secretmanager.SecretIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the secret are preserved. * `secretmanager.SecretIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the secret are preserved.

> **Note:** `secretmanager.SecretIamPolicy` **cannot** be used in conjunction with `secretmanager.SecretIamBinding` and `secretmanager.SecretIamMember` or they will fight over what your policy should be.

> **Note:** `secretmanager.SecretIamBinding` resources **can be** used in conjunction with `secretmanager.SecretIamMember` resources **only if** they do not grant privilege to the same role.

## google\_secret\_manager\_secret\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/secretmanager.secretAccessor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = secretmanager.NewSecretIamPolicy(ctx, "policy", &secretmanager.SecretIamPolicyArgs{
			Project:    pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId:   pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_secret\_manager\_secret\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecretIamBinding(ctx, "binding", &secretmanager.SecretIamBindingArgs{
			Project:  pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId: pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_secret\_manager\_secret\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecretIamMember(ctx, "member", &secretmanager.SecretIamMemberArgs{
			Project:  pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId: pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/secrets/{{secret_id}} * {{project}}/{{secret_id}} * {{secret_id}} Any variables not passed in the import command will be taken from the provider configuration. Secret Manager secret IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamMember:SecretIamMember editor "projects/{{project}}/secrets/{{secret_id}} roles/secretmanager.secretAccessor user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamMember:SecretIamMember editor "projects/{{project}}/secrets/{{secret_id}} roles/secretmanager.secretAccessor"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamMember:SecretIamMember editor projects/{{project}}/secrets/{{secret_id}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetSecretIamMember

func GetSecretIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecretIamMemberState, opts ...pulumi.ResourceOption) (*SecretIamMember, error)

GetSecretIamMember gets an existing SecretIamMember 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 NewSecretIamMember

func NewSecretIamMember(ctx *pulumi.Context,
	name string, args *SecretIamMemberArgs, opts ...pulumi.ResourceOption) (*SecretIamMember, error)

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

func (*SecretIamMember) ElementType added in v4.4.0

func (*SecretIamMember) ElementType() reflect.Type

func (*SecretIamMember) ToSecretIamMemberOutput added in v4.4.0

func (i *SecretIamMember) ToSecretIamMemberOutput() SecretIamMemberOutput

func (*SecretIamMember) ToSecretIamMemberOutputWithContext added in v4.4.0

func (i *SecretIamMember) ToSecretIamMemberOutputWithContext(ctx context.Context) SecretIamMemberOutput

func (*SecretIamMember) ToSecretIamMemberPtrOutput added in v4.11.1

func (i *SecretIamMember) ToSecretIamMemberPtrOutput() SecretIamMemberPtrOutput

func (*SecretIamMember) ToSecretIamMemberPtrOutputWithContext added in v4.11.1

func (i *SecretIamMember) ToSecretIamMemberPtrOutputWithContext(ctx context.Context) SecretIamMemberPtrOutput

type SecretIamMemberArgs

type SecretIamMemberArgs struct {
	Condition SecretIamMemberConditionPtrInput
	Member    pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role     pulumi.StringInput
	SecretId pulumi.StringInput
}

The set of arguments for constructing a SecretIamMember resource.

func (SecretIamMemberArgs) ElementType

func (SecretIamMemberArgs) ElementType() reflect.Type

type SecretIamMemberArray added in v4.11.1

type SecretIamMemberArray []SecretIamMemberInput

func (SecretIamMemberArray) ElementType added in v4.11.1

func (SecretIamMemberArray) ElementType() reflect.Type

func (SecretIamMemberArray) ToSecretIamMemberArrayOutput added in v4.11.1

func (i SecretIamMemberArray) ToSecretIamMemberArrayOutput() SecretIamMemberArrayOutput

func (SecretIamMemberArray) ToSecretIamMemberArrayOutputWithContext added in v4.11.1

func (i SecretIamMemberArray) ToSecretIamMemberArrayOutputWithContext(ctx context.Context) SecretIamMemberArrayOutput

type SecretIamMemberArrayInput added in v4.11.1

type SecretIamMemberArrayInput interface {
	pulumi.Input

	ToSecretIamMemberArrayOutput() SecretIamMemberArrayOutput
	ToSecretIamMemberArrayOutputWithContext(context.Context) SecretIamMemberArrayOutput
}

SecretIamMemberArrayInput is an input type that accepts SecretIamMemberArray and SecretIamMemberArrayOutput values. You can construct a concrete instance of `SecretIamMemberArrayInput` via:

SecretIamMemberArray{ SecretIamMemberArgs{...} }

type SecretIamMemberArrayOutput added in v4.11.1

type SecretIamMemberArrayOutput struct{ *pulumi.OutputState }

func (SecretIamMemberArrayOutput) ElementType added in v4.11.1

func (SecretIamMemberArrayOutput) ElementType() reflect.Type

func (SecretIamMemberArrayOutput) Index added in v4.11.1

func (SecretIamMemberArrayOutput) ToSecretIamMemberArrayOutput added in v4.11.1

func (o SecretIamMemberArrayOutput) ToSecretIamMemberArrayOutput() SecretIamMemberArrayOutput

func (SecretIamMemberArrayOutput) ToSecretIamMemberArrayOutputWithContext added in v4.11.1

func (o SecretIamMemberArrayOutput) ToSecretIamMemberArrayOutputWithContext(ctx context.Context) SecretIamMemberArrayOutput

type SecretIamMemberCondition

type SecretIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type SecretIamMemberConditionArgs

type SecretIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (SecretIamMemberConditionArgs) ElementType

func (SecretIamMemberConditionArgs) ToSecretIamMemberConditionOutput

func (i SecretIamMemberConditionArgs) ToSecretIamMemberConditionOutput() SecretIamMemberConditionOutput

func (SecretIamMemberConditionArgs) ToSecretIamMemberConditionOutputWithContext

func (i SecretIamMemberConditionArgs) ToSecretIamMemberConditionOutputWithContext(ctx context.Context) SecretIamMemberConditionOutput

func (SecretIamMemberConditionArgs) ToSecretIamMemberConditionPtrOutput

func (i SecretIamMemberConditionArgs) ToSecretIamMemberConditionPtrOutput() SecretIamMemberConditionPtrOutput

func (SecretIamMemberConditionArgs) ToSecretIamMemberConditionPtrOutputWithContext

func (i SecretIamMemberConditionArgs) ToSecretIamMemberConditionPtrOutputWithContext(ctx context.Context) SecretIamMemberConditionPtrOutput

type SecretIamMemberConditionInput

type SecretIamMemberConditionInput interface {
	pulumi.Input

	ToSecretIamMemberConditionOutput() SecretIamMemberConditionOutput
	ToSecretIamMemberConditionOutputWithContext(context.Context) SecretIamMemberConditionOutput
}

SecretIamMemberConditionInput is an input type that accepts SecretIamMemberConditionArgs and SecretIamMemberConditionOutput values. You can construct a concrete instance of `SecretIamMemberConditionInput` via:

SecretIamMemberConditionArgs{...}

type SecretIamMemberConditionOutput

type SecretIamMemberConditionOutput struct{ *pulumi.OutputState }

func (SecretIamMemberConditionOutput) Description

func (SecretIamMemberConditionOutput) ElementType

func (SecretIamMemberConditionOutput) Expression

func (SecretIamMemberConditionOutput) Title

func (SecretIamMemberConditionOutput) ToSecretIamMemberConditionOutput

func (o SecretIamMemberConditionOutput) ToSecretIamMemberConditionOutput() SecretIamMemberConditionOutput

func (SecretIamMemberConditionOutput) ToSecretIamMemberConditionOutputWithContext

func (o SecretIamMemberConditionOutput) ToSecretIamMemberConditionOutputWithContext(ctx context.Context) SecretIamMemberConditionOutput

func (SecretIamMemberConditionOutput) ToSecretIamMemberConditionPtrOutput

func (o SecretIamMemberConditionOutput) ToSecretIamMemberConditionPtrOutput() SecretIamMemberConditionPtrOutput

func (SecretIamMemberConditionOutput) ToSecretIamMemberConditionPtrOutputWithContext

func (o SecretIamMemberConditionOutput) ToSecretIamMemberConditionPtrOutputWithContext(ctx context.Context) SecretIamMemberConditionPtrOutput

type SecretIamMemberConditionPtrInput

type SecretIamMemberConditionPtrInput interface {
	pulumi.Input

	ToSecretIamMemberConditionPtrOutput() SecretIamMemberConditionPtrOutput
	ToSecretIamMemberConditionPtrOutputWithContext(context.Context) SecretIamMemberConditionPtrOutput
}

SecretIamMemberConditionPtrInput is an input type that accepts SecretIamMemberConditionArgs, SecretIamMemberConditionPtr and SecretIamMemberConditionPtrOutput values. You can construct a concrete instance of `SecretIamMemberConditionPtrInput` via:

        SecretIamMemberConditionArgs{...}

or:

        nil

type SecretIamMemberConditionPtrOutput

type SecretIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (SecretIamMemberConditionPtrOutput) Description

func (SecretIamMemberConditionPtrOutput) Elem

func (SecretIamMemberConditionPtrOutput) ElementType

func (SecretIamMemberConditionPtrOutput) Expression

func (SecretIamMemberConditionPtrOutput) Title

func (SecretIamMemberConditionPtrOutput) ToSecretIamMemberConditionPtrOutput

func (o SecretIamMemberConditionPtrOutput) ToSecretIamMemberConditionPtrOutput() SecretIamMemberConditionPtrOutput

func (SecretIamMemberConditionPtrOutput) ToSecretIamMemberConditionPtrOutputWithContext

func (o SecretIamMemberConditionPtrOutput) ToSecretIamMemberConditionPtrOutputWithContext(ctx context.Context) SecretIamMemberConditionPtrOutput

type SecretIamMemberInput added in v4.4.0

type SecretIamMemberInput interface {
	pulumi.Input

	ToSecretIamMemberOutput() SecretIamMemberOutput
	ToSecretIamMemberOutputWithContext(ctx context.Context) SecretIamMemberOutput
}

type SecretIamMemberMap added in v4.11.1

type SecretIamMemberMap map[string]SecretIamMemberInput

func (SecretIamMemberMap) ElementType added in v4.11.1

func (SecretIamMemberMap) ElementType() reflect.Type

func (SecretIamMemberMap) ToSecretIamMemberMapOutput added in v4.11.1

func (i SecretIamMemberMap) ToSecretIamMemberMapOutput() SecretIamMemberMapOutput

func (SecretIamMemberMap) ToSecretIamMemberMapOutputWithContext added in v4.11.1

func (i SecretIamMemberMap) ToSecretIamMemberMapOutputWithContext(ctx context.Context) SecretIamMemberMapOutput

type SecretIamMemberMapInput added in v4.11.1

type SecretIamMemberMapInput interface {
	pulumi.Input

	ToSecretIamMemberMapOutput() SecretIamMemberMapOutput
	ToSecretIamMemberMapOutputWithContext(context.Context) SecretIamMemberMapOutput
}

SecretIamMemberMapInput is an input type that accepts SecretIamMemberMap and SecretIamMemberMapOutput values. You can construct a concrete instance of `SecretIamMemberMapInput` via:

SecretIamMemberMap{ "key": SecretIamMemberArgs{...} }

type SecretIamMemberMapOutput added in v4.11.1

type SecretIamMemberMapOutput struct{ *pulumi.OutputState }

func (SecretIamMemberMapOutput) ElementType added in v4.11.1

func (SecretIamMemberMapOutput) ElementType() reflect.Type

func (SecretIamMemberMapOutput) MapIndex added in v4.11.1

func (SecretIamMemberMapOutput) ToSecretIamMemberMapOutput added in v4.11.1

func (o SecretIamMemberMapOutput) ToSecretIamMemberMapOutput() SecretIamMemberMapOutput

func (SecretIamMemberMapOutput) ToSecretIamMemberMapOutputWithContext added in v4.11.1

func (o SecretIamMemberMapOutput) ToSecretIamMemberMapOutputWithContext(ctx context.Context) SecretIamMemberMapOutput

type SecretIamMemberOutput added in v4.4.0

type SecretIamMemberOutput struct {
	*pulumi.OutputState
}

func (SecretIamMemberOutput) ElementType added in v4.4.0

func (SecretIamMemberOutput) ElementType() reflect.Type

func (SecretIamMemberOutput) ToSecretIamMemberOutput added in v4.4.0

func (o SecretIamMemberOutput) ToSecretIamMemberOutput() SecretIamMemberOutput

func (SecretIamMemberOutput) ToSecretIamMemberOutputWithContext added in v4.4.0

func (o SecretIamMemberOutput) ToSecretIamMemberOutputWithContext(ctx context.Context) SecretIamMemberOutput

func (SecretIamMemberOutput) ToSecretIamMemberPtrOutput added in v4.11.1

func (o SecretIamMemberOutput) ToSecretIamMemberPtrOutput() SecretIamMemberPtrOutput

func (SecretIamMemberOutput) ToSecretIamMemberPtrOutputWithContext added in v4.11.1

func (o SecretIamMemberOutput) ToSecretIamMemberPtrOutputWithContext(ctx context.Context) SecretIamMemberPtrOutput

type SecretIamMemberPtrInput added in v4.11.1

type SecretIamMemberPtrInput interface {
	pulumi.Input

	ToSecretIamMemberPtrOutput() SecretIamMemberPtrOutput
	ToSecretIamMemberPtrOutputWithContext(ctx context.Context) SecretIamMemberPtrOutput
}

type SecretIamMemberPtrOutput added in v4.11.1

type SecretIamMemberPtrOutput struct {
	*pulumi.OutputState
}

func (SecretIamMemberPtrOutput) ElementType added in v4.11.1

func (SecretIamMemberPtrOutput) ElementType() reflect.Type

func (SecretIamMemberPtrOutput) ToSecretIamMemberPtrOutput added in v4.11.1

func (o SecretIamMemberPtrOutput) ToSecretIamMemberPtrOutput() SecretIamMemberPtrOutput

func (SecretIamMemberPtrOutput) ToSecretIamMemberPtrOutputWithContext added in v4.11.1

func (o SecretIamMemberPtrOutput) ToSecretIamMemberPtrOutputWithContext(ctx context.Context) SecretIamMemberPtrOutput

type SecretIamMemberState

type SecretIamMemberState struct {
	Condition SecretIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role     pulumi.StringPtrInput
	SecretId pulumi.StringPtrInput
}

func (SecretIamMemberState) ElementType

func (SecretIamMemberState) ElementType() reflect.Type

type SecretIamPolicy

type SecretIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project  pulumi.StringOutput `pulumi:"project"`
	SecretId pulumi.StringOutput `pulumi:"secretId"`
}

Three different resources help you manage your IAM policy for Secret Manager Secret. Each of these resources serves a different use case:

* `secretmanager.SecretIamPolicy`: Authoritative. Sets the IAM policy for the secret and replaces any existing policy already attached. * `secretmanager.SecretIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the secret are preserved. * `secretmanager.SecretIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the secret are preserved.

> **Note:** `secretmanager.SecretIamPolicy` **cannot** be used in conjunction with `secretmanager.SecretIamBinding` and `secretmanager.SecretIamMember` or they will fight over what your policy should be.

> **Note:** `secretmanager.SecretIamBinding` resources **can be** used in conjunction with `secretmanager.SecretIamMember` resources **only if** they do not grant privilege to the same role.

## google\_secret\_manager\_secret\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/secretmanager.secretAccessor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = secretmanager.NewSecretIamPolicy(ctx, "policy", &secretmanager.SecretIamPolicyArgs{
			Project:    pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId:   pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_secret\_manager\_secret\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecretIamBinding(ctx, "binding", &secretmanager.SecretIamBindingArgs{
			Project:  pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId: pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_secret\_manager\_secret\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecretIamMember(ctx, "member", &secretmanager.SecretIamMemberArgs{
			Project:  pulumi.Any(google_secret_manager_secret.Secret - basic.Project),
			SecretId: pulumi.Any(google_secret_manager_secret.Secret - basic.Secret_id),
			Role:     pulumi.String("roles/secretmanager.secretAccessor"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/secrets/{{secret_id}} * {{project}}/{{secret_id}} * {{secret_id}} Any variables not passed in the import command will be taken from the provider configuration. Secret Manager secret IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamPolicy:SecretIamPolicy editor "projects/{{project}}/secrets/{{secret_id}} roles/secretmanager.secretAccessor user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamPolicy:SecretIamPolicy editor "projects/{{project}}/secrets/{{secret_id}} roles/secretmanager.secretAccessor"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:secretmanager/secretIamPolicy:SecretIamPolicy editor projects/{{project}}/secrets/{{secret_id}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetSecretIamPolicy

func GetSecretIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecretIamPolicyState, opts ...pulumi.ResourceOption) (*SecretIamPolicy, error)

GetSecretIamPolicy gets an existing SecretIamPolicy 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 NewSecretIamPolicy

func NewSecretIamPolicy(ctx *pulumi.Context,
	name string, args *SecretIamPolicyArgs, opts ...pulumi.ResourceOption) (*SecretIamPolicy, error)

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

func (*SecretIamPolicy) ElementType added in v4.4.0

func (*SecretIamPolicy) ElementType() reflect.Type

func (*SecretIamPolicy) ToSecretIamPolicyOutput added in v4.4.0

func (i *SecretIamPolicy) ToSecretIamPolicyOutput() SecretIamPolicyOutput

func (*SecretIamPolicy) ToSecretIamPolicyOutputWithContext added in v4.4.0

func (i *SecretIamPolicy) ToSecretIamPolicyOutputWithContext(ctx context.Context) SecretIamPolicyOutput

func (*SecretIamPolicy) ToSecretIamPolicyPtrOutput added in v4.11.1

func (i *SecretIamPolicy) ToSecretIamPolicyPtrOutput() SecretIamPolicyPtrOutput

func (*SecretIamPolicy) ToSecretIamPolicyPtrOutputWithContext added in v4.11.1

func (i *SecretIamPolicy) ToSecretIamPolicyPtrOutputWithContext(ctx context.Context) SecretIamPolicyPtrOutput

type SecretIamPolicyArgs

type SecretIamPolicyArgs struct {
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project  pulumi.StringPtrInput
	SecretId pulumi.StringInput
}

The set of arguments for constructing a SecretIamPolicy resource.

func (SecretIamPolicyArgs) ElementType

func (SecretIamPolicyArgs) ElementType() reflect.Type

type SecretIamPolicyArray added in v4.11.1

type SecretIamPolicyArray []SecretIamPolicyInput

func (SecretIamPolicyArray) ElementType added in v4.11.1

func (SecretIamPolicyArray) ElementType() reflect.Type

func (SecretIamPolicyArray) ToSecretIamPolicyArrayOutput added in v4.11.1

func (i SecretIamPolicyArray) ToSecretIamPolicyArrayOutput() SecretIamPolicyArrayOutput

func (SecretIamPolicyArray) ToSecretIamPolicyArrayOutputWithContext added in v4.11.1

func (i SecretIamPolicyArray) ToSecretIamPolicyArrayOutputWithContext(ctx context.Context) SecretIamPolicyArrayOutput

type SecretIamPolicyArrayInput added in v4.11.1

type SecretIamPolicyArrayInput interface {
	pulumi.Input

	ToSecretIamPolicyArrayOutput() SecretIamPolicyArrayOutput
	ToSecretIamPolicyArrayOutputWithContext(context.Context) SecretIamPolicyArrayOutput
}

SecretIamPolicyArrayInput is an input type that accepts SecretIamPolicyArray and SecretIamPolicyArrayOutput values. You can construct a concrete instance of `SecretIamPolicyArrayInput` via:

SecretIamPolicyArray{ SecretIamPolicyArgs{...} }

type SecretIamPolicyArrayOutput added in v4.11.1

type SecretIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (SecretIamPolicyArrayOutput) ElementType added in v4.11.1

func (SecretIamPolicyArrayOutput) ElementType() reflect.Type

func (SecretIamPolicyArrayOutput) Index added in v4.11.1

func (SecretIamPolicyArrayOutput) ToSecretIamPolicyArrayOutput added in v4.11.1

func (o SecretIamPolicyArrayOutput) ToSecretIamPolicyArrayOutput() SecretIamPolicyArrayOutput

func (SecretIamPolicyArrayOutput) ToSecretIamPolicyArrayOutputWithContext added in v4.11.1

func (o SecretIamPolicyArrayOutput) ToSecretIamPolicyArrayOutputWithContext(ctx context.Context) SecretIamPolicyArrayOutput

type SecretIamPolicyInput added in v4.4.0

type SecretIamPolicyInput interface {
	pulumi.Input

	ToSecretIamPolicyOutput() SecretIamPolicyOutput
	ToSecretIamPolicyOutputWithContext(ctx context.Context) SecretIamPolicyOutput
}

type SecretIamPolicyMap added in v4.11.1

type SecretIamPolicyMap map[string]SecretIamPolicyInput

func (SecretIamPolicyMap) ElementType added in v4.11.1

func (SecretIamPolicyMap) ElementType() reflect.Type

func (SecretIamPolicyMap) ToSecretIamPolicyMapOutput added in v4.11.1

func (i SecretIamPolicyMap) ToSecretIamPolicyMapOutput() SecretIamPolicyMapOutput

func (SecretIamPolicyMap) ToSecretIamPolicyMapOutputWithContext added in v4.11.1

func (i SecretIamPolicyMap) ToSecretIamPolicyMapOutputWithContext(ctx context.Context) SecretIamPolicyMapOutput

type SecretIamPolicyMapInput added in v4.11.1

type SecretIamPolicyMapInput interface {
	pulumi.Input

	ToSecretIamPolicyMapOutput() SecretIamPolicyMapOutput
	ToSecretIamPolicyMapOutputWithContext(context.Context) SecretIamPolicyMapOutput
}

SecretIamPolicyMapInput is an input type that accepts SecretIamPolicyMap and SecretIamPolicyMapOutput values. You can construct a concrete instance of `SecretIamPolicyMapInput` via:

SecretIamPolicyMap{ "key": SecretIamPolicyArgs{...} }

type SecretIamPolicyMapOutput added in v4.11.1

type SecretIamPolicyMapOutput struct{ *pulumi.OutputState }

func (SecretIamPolicyMapOutput) ElementType added in v4.11.1

func (SecretIamPolicyMapOutput) ElementType() reflect.Type

func (SecretIamPolicyMapOutput) MapIndex added in v4.11.1

func (SecretIamPolicyMapOutput) ToSecretIamPolicyMapOutput added in v4.11.1

func (o SecretIamPolicyMapOutput) ToSecretIamPolicyMapOutput() SecretIamPolicyMapOutput

func (SecretIamPolicyMapOutput) ToSecretIamPolicyMapOutputWithContext added in v4.11.1

func (o SecretIamPolicyMapOutput) ToSecretIamPolicyMapOutputWithContext(ctx context.Context) SecretIamPolicyMapOutput

type SecretIamPolicyOutput added in v4.4.0

type SecretIamPolicyOutput struct {
	*pulumi.OutputState
}

func (SecretIamPolicyOutput) ElementType added in v4.4.0

func (SecretIamPolicyOutput) ElementType() reflect.Type

func (SecretIamPolicyOutput) ToSecretIamPolicyOutput added in v4.4.0

func (o SecretIamPolicyOutput) ToSecretIamPolicyOutput() SecretIamPolicyOutput

func (SecretIamPolicyOutput) ToSecretIamPolicyOutputWithContext added in v4.4.0

func (o SecretIamPolicyOutput) ToSecretIamPolicyOutputWithContext(ctx context.Context) SecretIamPolicyOutput

func (SecretIamPolicyOutput) ToSecretIamPolicyPtrOutput added in v4.11.1

func (o SecretIamPolicyOutput) ToSecretIamPolicyPtrOutput() SecretIamPolicyPtrOutput

func (SecretIamPolicyOutput) ToSecretIamPolicyPtrOutputWithContext added in v4.11.1

func (o SecretIamPolicyOutput) ToSecretIamPolicyPtrOutputWithContext(ctx context.Context) SecretIamPolicyPtrOutput

type SecretIamPolicyPtrInput added in v4.11.1

type SecretIamPolicyPtrInput interface {
	pulumi.Input

	ToSecretIamPolicyPtrOutput() SecretIamPolicyPtrOutput
	ToSecretIamPolicyPtrOutputWithContext(ctx context.Context) SecretIamPolicyPtrOutput
}

type SecretIamPolicyPtrOutput added in v4.11.1

type SecretIamPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (SecretIamPolicyPtrOutput) ElementType added in v4.11.1

func (SecretIamPolicyPtrOutput) ElementType() reflect.Type

func (SecretIamPolicyPtrOutput) ToSecretIamPolicyPtrOutput added in v4.11.1

func (o SecretIamPolicyPtrOutput) ToSecretIamPolicyPtrOutput() SecretIamPolicyPtrOutput

func (SecretIamPolicyPtrOutput) ToSecretIamPolicyPtrOutputWithContext added in v4.11.1

func (o SecretIamPolicyPtrOutput) ToSecretIamPolicyPtrOutputWithContext(ctx context.Context) SecretIamPolicyPtrOutput

type SecretIamPolicyState

type SecretIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project  pulumi.StringPtrInput
	SecretId pulumi.StringPtrInput
}

func (SecretIamPolicyState) ElementType

func (SecretIamPolicyState) ElementType() reflect.Type

type SecretInput added in v4.4.0

type SecretInput interface {
	pulumi.Input

	ToSecretOutput() SecretOutput
	ToSecretOutputWithContext(ctx context.Context) SecretOutput
}

type SecretMap added in v4.11.1

type SecretMap map[string]SecretInput

func (SecretMap) ElementType added in v4.11.1

func (SecretMap) ElementType() reflect.Type

func (SecretMap) ToSecretMapOutput added in v4.11.1

func (i SecretMap) ToSecretMapOutput() SecretMapOutput

func (SecretMap) ToSecretMapOutputWithContext added in v4.11.1

func (i SecretMap) ToSecretMapOutputWithContext(ctx context.Context) SecretMapOutput

type SecretMapInput added in v4.11.1

type SecretMapInput interface {
	pulumi.Input

	ToSecretMapOutput() SecretMapOutput
	ToSecretMapOutputWithContext(context.Context) SecretMapOutput
}

SecretMapInput is an input type that accepts SecretMap and SecretMapOutput values. You can construct a concrete instance of `SecretMapInput` via:

SecretMap{ "key": SecretArgs{...} }

type SecretMapOutput added in v4.11.1

type SecretMapOutput struct{ *pulumi.OutputState }

func (SecretMapOutput) ElementType added in v4.11.1

func (SecretMapOutput) ElementType() reflect.Type

func (SecretMapOutput) MapIndex added in v4.11.1

func (SecretMapOutput) ToSecretMapOutput added in v4.11.1

func (o SecretMapOutput) ToSecretMapOutput() SecretMapOutput

func (SecretMapOutput) ToSecretMapOutputWithContext added in v4.11.1

func (o SecretMapOutput) ToSecretMapOutputWithContext(ctx context.Context) SecretMapOutput

type SecretOutput added in v4.4.0

type SecretOutput struct {
	*pulumi.OutputState
}

func (SecretOutput) ElementType added in v4.4.0

func (SecretOutput) ElementType() reflect.Type

func (SecretOutput) ToSecretOutput added in v4.4.0

func (o SecretOutput) ToSecretOutput() SecretOutput

func (SecretOutput) ToSecretOutputWithContext added in v4.4.0

func (o SecretOutput) ToSecretOutputWithContext(ctx context.Context) SecretOutput

func (SecretOutput) ToSecretPtrOutput added in v4.11.1

func (o SecretOutput) ToSecretPtrOutput() SecretPtrOutput

func (SecretOutput) ToSecretPtrOutputWithContext added in v4.11.1

func (o SecretOutput) ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput

type SecretPtrInput added in v4.11.1

type SecretPtrInput interface {
	pulumi.Input

	ToSecretPtrOutput() SecretPtrOutput
	ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput
}

type SecretPtrOutput added in v4.11.1

type SecretPtrOutput struct {
	*pulumi.OutputState
}

func (SecretPtrOutput) ElementType added in v4.11.1

func (SecretPtrOutput) ElementType() reflect.Type

func (SecretPtrOutput) ToSecretPtrOutput added in v4.11.1

func (o SecretPtrOutput) ToSecretPtrOutput() SecretPtrOutput

func (SecretPtrOutput) ToSecretPtrOutputWithContext added in v4.11.1

func (o SecretPtrOutput) ToSecretPtrOutputWithContext(ctx context.Context) SecretPtrOutput

type SecretReplication

type SecretReplication struct {
	// The Secret will automatically be replicated without any restrictions.
	Automatic *bool `pulumi:"automatic"`
	// The Secret will automatically be replicated without any restrictions.
	// Structure is documented below.
	UserManaged *SecretReplicationUserManaged `pulumi:"userManaged"`
}

type SecretReplicationArgs

type SecretReplicationArgs struct {
	// The Secret will automatically be replicated without any restrictions.
	Automatic pulumi.BoolPtrInput `pulumi:"automatic"`
	// The Secret will automatically be replicated without any restrictions.
	// Structure is documented below.
	UserManaged SecretReplicationUserManagedPtrInput `pulumi:"userManaged"`
}

func (SecretReplicationArgs) ElementType

func (SecretReplicationArgs) ElementType() reflect.Type

func (SecretReplicationArgs) ToSecretReplicationOutput

func (i SecretReplicationArgs) ToSecretReplicationOutput() SecretReplicationOutput

func (SecretReplicationArgs) ToSecretReplicationOutputWithContext

func (i SecretReplicationArgs) ToSecretReplicationOutputWithContext(ctx context.Context) SecretReplicationOutput

func (SecretReplicationArgs) ToSecretReplicationPtrOutput

func (i SecretReplicationArgs) ToSecretReplicationPtrOutput() SecretReplicationPtrOutput

func (SecretReplicationArgs) ToSecretReplicationPtrOutputWithContext

func (i SecretReplicationArgs) ToSecretReplicationPtrOutputWithContext(ctx context.Context) SecretReplicationPtrOutput

type SecretReplicationInput

type SecretReplicationInput interface {
	pulumi.Input

	ToSecretReplicationOutput() SecretReplicationOutput
	ToSecretReplicationOutputWithContext(context.Context) SecretReplicationOutput
}

SecretReplicationInput is an input type that accepts SecretReplicationArgs and SecretReplicationOutput values. You can construct a concrete instance of `SecretReplicationInput` via:

SecretReplicationArgs{...}

type SecretReplicationOutput

type SecretReplicationOutput struct{ *pulumi.OutputState }

func (SecretReplicationOutput) Automatic

The Secret will automatically be replicated without any restrictions.

func (SecretReplicationOutput) ElementType

func (SecretReplicationOutput) ElementType() reflect.Type

func (SecretReplicationOutput) ToSecretReplicationOutput

func (o SecretReplicationOutput) ToSecretReplicationOutput() SecretReplicationOutput

func (SecretReplicationOutput) ToSecretReplicationOutputWithContext

func (o SecretReplicationOutput) ToSecretReplicationOutputWithContext(ctx context.Context) SecretReplicationOutput

func (SecretReplicationOutput) ToSecretReplicationPtrOutput

func (o SecretReplicationOutput) ToSecretReplicationPtrOutput() SecretReplicationPtrOutput

func (SecretReplicationOutput) ToSecretReplicationPtrOutputWithContext

func (o SecretReplicationOutput) ToSecretReplicationPtrOutputWithContext(ctx context.Context) SecretReplicationPtrOutput

func (SecretReplicationOutput) UserManaged

The Secret will automatically be replicated without any restrictions. Structure is documented below.

type SecretReplicationPtrInput

type SecretReplicationPtrInput interface {
	pulumi.Input

	ToSecretReplicationPtrOutput() SecretReplicationPtrOutput
	ToSecretReplicationPtrOutputWithContext(context.Context) SecretReplicationPtrOutput
}

SecretReplicationPtrInput is an input type that accepts SecretReplicationArgs, SecretReplicationPtr and SecretReplicationPtrOutput values. You can construct a concrete instance of `SecretReplicationPtrInput` via:

        SecretReplicationArgs{...}

or:

        nil

type SecretReplicationPtrOutput

type SecretReplicationPtrOutput struct{ *pulumi.OutputState }

func (SecretReplicationPtrOutput) Automatic

The Secret will automatically be replicated without any restrictions.

func (SecretReplicationPtrOutput) Elem

func (SecretReplicationPtrOutput) ElementType

func (SecretReplicationPtrOutput) ElementType() reflect.Type

func (SecretReplicationPtrOutput) ToSecretReplicationPtrOutput

func (o SecretReplicationPtrOutput) ToSecretReplicationPtrOutput() SecretReplicationPtrOutput

func (SecretReplicationPtrOutput) ToSecretReplicationPtrOutputWithContext

func (o SecretReplicationPtrOutput) ToSecretReplicationPtrOutputWithContext(ctx context.Context) SecretReplicationPtrOutput

func (SecretReplicationPtrOutput) UserManaged

The Secret will automatically be replicated without any restrictions. Structure is documented below.

type SecretReplicationUserManaged

type SecretReplicationUserManaged struct {
	// The list of Replicas for this Secret. Cannot be empty.
	// Structure is documented below.
	Replicas []SecretReplicationUserManagedReplica `pulumi:"replicas"`
}

type SecretReplicationUserManagedArgs

type SecretReplicationUserManagedArgs struct {
	// The list of Replicas for this Secret. Cannot be empty.
	// Structure is documented below.
	Replicas SecretReplicationUserManagedReplicaArrayInput `pulumi:"replicas"`
}

func (SecretReplicationUserManagedArgs) ElementType

func (SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedOutput

func (i SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedOutput() SecretReplicationUserManagedOutput

func (SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedOutputWithContext

func (i SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedOutputWithContext(ctx context.Context) SecretReplicationUserManagedOutput

func (SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedPtrOutput

func (i SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedPtrOutput() SecretReplicationUserManagedPtrOutput

func (SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedPtrOutputWithContext

func (i SecretReplicationUserManagedArgs) ToSecretReplicationUserManagedPtrOutputWithContext(ctx context.Context) SecretReplicationUserManagedPtrOutput

type SecretReplicationUserManagedInput

type SecretReplicationUserManagedInput interface {
	pulumi.Input

	ToSecretReplicationUserManagedOutput() SecretReplicationUserManagedOutput
	ToSecretReplicationUserManagedOutputWithContext(context.Context) SecretReplicationUserManagedOutput
}

SecretReplicationUserManagedInput is an input type that accepts SecretReplicationUserManagedArgs and SecretReplicationUserManagedOutput values. You can construct a concrete instance of `SecretReplicationUserManagedInput` via:

SecretReplicationUserManagedArgs{...}

type SecretReplicationUserManagedOutput

type SecretReplicationUserManagedOutput struct{ *pulumi.OutputState }

func (SecretReplicationUserManagedOutput) ElementType

func (SecretReplicationUserManagedOutput) Replicas

The list of Replicas for this Secret. Cannot be empty. Structure is documented below.

func (SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedOutput

func (o SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedOutput() SecretReplicationUserManagedOutput

func (SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedOutputWithContext

func (o SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedOutputWithContext(ctx context.Context) SecretReplicationUserManagedOutput

func (SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedPtrOutput

func (o SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedPtrOutput() SecretReplicationUserManagedPtrOutput

func (SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedPtrOutputWithContext

func (o SecretReplicationUserManagedOutput) ToSecretReplicationUserManagedPtrOutputWithContext(ctx context.Context) SecretReplicationUserManagedPtrOutput

type SecretReplicationUserManagedPtrInput

type SecretReplicationUserManagedPtrInput interface {
	pulumi.Input

	ToSecretReplicationUserManagedPtrOutput() SecretReplicationUserManagedPtrOutput
	ToSecretReplicationUserManagedPtrOutputWithContext(context.Context) SecretReplicationUserManagedPtrOutput
}

SecretReplicationUserManagedPtrInput is an input type that accepts SecretReplicationUserManagedArgs, SecretReplicationUserManagedPtr and SecretReplicationUserManagedPtrOutput values. You can construct a concrete instance of `SecretReplicationUserManagedPtrInput` via:

        SecretReplicationUserManagedArgs{...}

or:

        nil

type SecretReplicationUserManagedPtrOutput

type SecretReplicationUserManagedPtrOutput struct{ *pulumi.OutputState }

func (SecretReplicationUserManagedPtrOutput) Elem

func (SecretReplicationUserManagedPtrOutput) ElementType

func (SecretReplicationUserManagedPtrOutput) Replicas

The list of Replicas for this Secret. Cannot be empty. Structure is documented below.

func (SecretReplicationUserManagedPtrOutput) ToSecretReplicationUserManagedPtrOutput

func (o SecretReplicationUserManagedPtrOutput) ToSecretReplicationUserManagedPtrOutput() SecretReplicationUserManagedPtrOutput

func (SecretReplicationUserManagedPtrOutput) ToSecretReplicationUserManagedPtrOutputWithContext

func (o SecretReplicationUserManagedPtrOutput) ToSecretReplicationUserManagedPtrOutputWithContext(ctx context.Context) SecretReplicationUserManagedPtrOutput

type SecretReplicationUserManagedReplica

type SecretReplicationUserManagedReplica struct {
	// The canonical IDs of the location to replicate data. For example: "us-east1".
	Location string `pulumi:"location"`
}

type SecretReplicationUserManagedReplicaArgs

type SecretReplicationUserManagedReplicaArgs struct {
	// The canonical IDs of the location to replicate data. For example: "us-east1".
	Location pulumi.StringInput `pulumi:"location"`
}

func (SecretReplicationUserManagedReplicaArgs) ElementType

func (SecretReplicationUserManagedReplicaArgs) ToSecretReplicationUserManagedReplicaOutput

func (i SecretReplicationUserManagedReplicaArgs) ToSecretReplicationUserManagedReplicaOutput() SecretReplicationUserManagedReplicaOutput

func (SecretReplicationUserManagedReplicaArgs) ToSecretReplicationUserManagedReplicaOutputWithContext

func (i SecretReplicationUserManagedReplicaArgs) ToSecretReplicationUserManagedReplicaOutputWithContext(ctx context.Context) SecretReplicationUserManagedReplicaOutput

type SecretReplicationUserManagedReplicaArray

type SecretReplicationUserManagedReplicaArray []SecretReplicationUserManagedReplicaInput

func (SecretReplicationUserManagedReplicaArray) ElementType

func (SecretReplicationUserManagedReplicaArray) ToSecretReplicationUserManagedReplicaArrayOutput

func (i SecretReplicationUserManagedReplicaArray) ToSecretReplicationUserManagedReplicaArrayOutput() SecretReplicationUserManagedReplicaArrayOutput

func (SecretReplicationUserManagedReplicaArray) ToSecretReplicationUserManagedReplicaArrayOutputWithContext

func (i SecretReplicationUserManagedReplicaArray) ToSecretReplicationUserManagedReplicaArrayOutputWithContext(ctx context.Context) SecretReplicationUserManagedReplicaArrayOutput

type SecretReplicationUserManagedReplicaArrayInput

type SecretReplicationUserManagedReplicaArrayInput interface {
	pulumi.Input

	ToSecretReplicationUserManagedReplicaArrayOutput() SecretReplicationUserManagedReplicaArrayOutput
	ToSecretReplicationUserManagedReplicaArrayOutputWithContext(context.Context) SecretReplicationUserManagedReplicaArrayOutput
}

SecretReplicationUserManagedReplicaArrayInput is an input type that accepts SecretReplicationUserManagedReplicaArray and SecretReplicationUserManagedReplicaArrayOutput values. You can construct a concrete instance of `SecretReplicationUserManagedReplicaArrayInput` via:

SecretReplicationUserManagedReplicaArray{ SecretReplicationUserManagedReplicaArgs{...} }

type SecretReplicationUserManagedReplicaArrayOutput

type SecretReplicationUserManagedReplicaArrayOutput struct{ *pulumi.OutputState }

func (SecretReplicationUserManagedReplicaArrayOutput) ElementType

func (SecretReplicationUserManagedReplicaArrayOutput) Index

func (SecretReplicationUserManagedReplicaArrayOutput) ToSecretReplicationUserManagedReplicaArrayOutput

func (o SecretReplicationUserManagedReplicaArrayOutput) ToSecretReplicationUserManagedReplicaArrayOutput() SecretReplicationUserManagedReplicaArrayOutput

func (SecretReplicationUserManagedReplicaArrayOutput) ToSecretReplicationUserManagedReplicaArrayOutputWithContext

func (o SecretReplicationUserManagedReplicaArrayOutput) ToSecretReplicationUserManagedReplicaArrayOutputWithContext(ctx context.Context) SecretReplicationUserManagedReplicaArrayOutput

type SecretReplicationUserManagedReplicaInput

type SecretReplicationUserManagedReplicaInput interface {
	pulumi.Input

	ToSecretReplicationUserManagedReplicaOutput() SecretReplicationUserManagedReplicaOutput
	ToSecretReplicationUserManagedReplicaOutputWithContext(context.Context) SecretReplicationUserManagedReplicaOutput
}

SecretReplicationUserManagedReplicaInput is an input type that accepts SecretReplicationUserManagedReplicaArgs and SecretReplicationUserManagedReplicaOutput values. You can construct a concrete instance of `SecretReplicationUserManagedReplicaInput` via:

SecretReplicationUserManagedReplicaArgs{...}

type SecretReplicationUserManagedReplicaOutput

type SecretReplicationUserManagedReplicaOutput struct{ *pulumi.OutputState }

func (SecretReplicationUserManagedReplicaOutput) ElementType

func (SecretReplicationUserManagedReplicaOutput) Location

The canonical IDs of the location to replicate data. For example: "us-east1".

func (SecretReplicationUserManagedReplicaOutput) ToSecretReplicationUserManagedReplicaOutput

func (o SecretReplicationUserManagedReplicaOutput) ToSecretReplicationUserManagedReplicaOutput() SecretReplicationUserManagedReplicaOutput

func (SecretReplicationUserManagedReplicaOutput) ToSecretReplicationUserManagedReplicaOutputWithContext

func (o SecretReplicationUserManagedReplicaOutput) ToSecretReplicationUserManagedReplicaOutputWithContext(ctx context.Context) SecretReplicationUserManagedReplicaOutput

type SecretState

type SecretState struct {
	// The time at which the Secret was created.
	CreateTime pulumi.StringPtrInput
	// The labels assigned to this Secret.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
	// and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes,
	// and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be assigned to a given resource.
	// An object containing a list of "key": value pairs. Example:
	// { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	Labels pulumi.StringMapInput
	// The resource name of the Secret. Format: 'projects/{{project}}/secrets/{{secret_id}}'
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The replication policy of the secret data attached to the Secret. It cannot be changed
	// after the Secret has been created.
	// Structure is documented below.
	Replication SecretReplicationPtrInput
	// This must be unique within the project.
	SecretId pulumi.StringPtrInput
}

func (SecretState) ElementType

func (SecretState) ElementType() reflect.Type

type SecretVersion

type SecretVersion struct {
	pulumi.CustomResourceState

	// The time at which the Secret was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The time at which the Secret was destroyed. Only present if state is DESTROYED.
	DestroyTime pulumi.StringOutput `pulumi:"destroyTime"`
	// The current state of the SecretVersion.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The resource name of the SecretVersion. Format: 'projects/{{project}}/secrets/{{secret_id}}/versions/{{version}}'
	Name pulumi.StringOutput `pulumi:"name"`
	// Secret Manager secret resource
	Secret pulumi.StringOutput `pulumi:"secret"`
	// The secret data. Must be no larger than 64KiB.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	SecretData pulumi.StringOutput `pulumi:"secretData"`
}

A secret version resource.

> **Warning:** All arguments including `payload.secret_data` will be stored in the raw state as plain-text.

## Example Usage ### Secret Version Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/secretmanager"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := secretmanager.NewSecret(ctx, "secret_basic", &secretmanager.SecretArgs{
			SecretId: pulumi.String("secret-version"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("my-label"),
			},
			Replication: &secretmanager.SecretReplicationArgs{
				Automatic: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		_, err = secretmanager.NewSecretVersion(ctx, "secret_version_basic", &secretmanager.SecretVersionArgs{
			Secret:     secret_basic.ID(),
			SecretData: pulumi.String("secret-data"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SecretVersion can be imported using any of these accepted formats

```sh

$ pulumi import gcp:secretmanager/secretVersion:SecretVersion default {{name}}/{{name}}

```

func GetSecretVersion

func GetSecretVersion(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecretVersionState, opts ...pulumi.ResourceOption) (*SecretVersion, error)

GetSecretVersion gets an existing SecretVersion 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 NewSecretVersion

func NewSecretVersion(ctx *pulumi.Context,
	name string, args *SecretVersionArgs, opts ...pulumi.ResourceOption) (*SecretVersion, error)

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

func (*SecretVersion) ElementType added in v4.4.0

func (*SecretVersion) ElementType() reflect.Type

func (*SecretVersion) ToSecretVersionOutput added in v4.4.0

func (i *SecretVersion) ToSecretVersionOutput() SecretVersionOutput

func (*SecretVersion) ToSecretVersionOutputWithContext added in v4.4.0

func (i *SecretVersion) ToSecretVersionOutputWithContext(ctx context.Context) SecretVersionOutput

func (*SecretVersion) ToSecretVersionPtrOutput added in v4.11.1

func (i *SecretVersion) ToSecretVersionPtrOutput() SecretVersionPtrOutput

func (*SecretVersion) ToSecretVersionPtrOutputWithContext added in v4.11.1

func (i *SecretVersion) ToSecretVersionPtrOutputWithContext(ctx context.Context) SecretVersionPtrOutput

type SecretVersionArgs

type SecretVersionArgs struct {
	// The current state of the SecretVersion.
	Enabled pulumi.BoolPtrInput
	// Secret Manager secret resource
	Secret pulumi.StringInput
	// The secret data. Must be no larger than 64KiB.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	SecretData pulumi.StringInput
}

The set of arguments for constructing a SecretVersion resource.

func (SecretVersionArgs) ElementType

func (SecretVersionArgs) ElementType() reflect.Type

type SecretVersionArray added in v4.11.1

type SecretVersionArray []SecretVersionInput

func (SecretVersionArray) ElementType added in v4.11.1

func (SecretVersionArray) ElementType() reflect.Type

func (SecretVersionArray) ToSecretVersionArrayOutput added in v4.11.1

func (i SecretVersionArray) ToSecretVersionArrayOutput() SecretVersionArrayOutput

func (SecretVersionArray) ToSecretVersionArrayOutputWithContext added in v4.11.1

func (i SecretVersionArray) ToSecretVersionArrayOutputWithContext(ctx context.Context) SecretVersionArrayOutput

type SecretVersionArrayInput added in v4.11.1

type SecretVersionArrayInput interface {
	pulumi.Input

	ToSecretVersionArrayOutput() SecretVersionArrayOutput
	ToSecretVersionArrayOutputWithContext(context.Context) SecretVersionArrayOutput
}

SecretVersionArrayInput is an input type that accepts SecretVersionArray and SecretVersionArrayOutput values. You can construct a concrete instance of `SecretVersionArrayInput` via:

SecretVersionArray{ SecretVersionArgs{...} }

type SecretVersionArrayOutput added in v4.11.1

type SecretVersionArrayOutput struct{ *pulumi.OutputState }

func (SecretVersionArrayOutput) ElementType added in v4.11.1

func (SecretVersionArrayOutput) ElementType() reflect.Type

func (SecretVersionArrayOutput) Index added in v4.11.1

func (SecretVersionArrayOutput) ToSecretVersionArrayOutput added in v4.11.1

func (o SecretVersionArrayOutput) ToSecretVersionArrayOutput() SecretVersionArrayOutput

func (SecretVersionArrayOutput) ToSecretVersionArrayOutputWithContext added in v4.11.1

func (o SecretVersionArrayOutput) ToSecretVersionArrayOutputWithContext(ctx context.Context) SecretVersionArrayOutput

type SecretVersionInput added in v4.4.0

type SecretVersionInput interface {
	pulumi.Input

	ToSecretVersionOutput() SecretVersionOutput
	ToSecretVersionOutputWithContext(ctx context.Context) SecretVersionOutput
}

type SecretVersionMap added in v4.11.1

type SecretVersionMap map[string]SecretVersionInput

func (SecretVersionMap) ElementType added in v4.11.1

func (SecretVersionMap) ElementType() reflect.Type

func (SecretVersionMap) ToSecretVersionMapOutput added in v4.11.1

func (i SecretVersionMap) ToSecretVersionMapOutput() SecretVersionMapOutput

func (SecretVersionMap) ToSecretVersionMapOutputWithContext added in v4.11.1

func (i SecretVersionMap) ToSecretVersionMapOutputWithContext(ctx context.Context) SecretVersionMapOutput

type SecretVersionMapInput added in v4.11.1

type SecretVersionMapInput interface {
	pulumi.Input

	ToSecretVersionMapOutput() SecretVersionMapOutput
	ToSecretVersionMapOutputWithContext(context.Context) SecretVersionMapOutput
}

SecretVersionMapInput is an input type that accepts SecretVersionMap and SecretVersionMapOutput values. You can construct a concrete instance of `SecretVersionMapInput` via:

SecretVersionMap{ "key": SecretVersionArgs{...} }

type SecretVersionMapOutput added in v4.11.1

type SecretVersionMapOutput struct{ *pulumi.OutputState }

func (SecretVersionMapOutput) ElementType added in v4.11.1

func (SecretVersionMapOutput) ElementType() reflect.Type

func (SecretVersionMapOutput) MapIndex added in v4.11.1

func (SecretVersionMapOutput) ToSecretVersionMapOutput added in v4.11.1

func (o SecretVersionMapOutput) ToSecretVersionMapOutput() SecretVersionMapOutput

func (SecretVersionMapOutput) ToSecretVersionMapOutputWithContext added in v4.11.1

func (o SecretVersionMapOutput) ToSecretVersionMapOutputWithContext(ctx context.Context) SecretVersionMapOutput

type SecretVersionOutput added in v4.4.0

type SecretVersionOutput struct {
	*pulumi.OutputState
}

func (SecretVersionOutput) ElementType added in v4.4.0

func (SecretVersionOutput) ElementType() reflect.Type

func (SecretVersionOutput) ToSecretVersionOutput added in v4.4.0

func (o SecretVersionOutput) ToSecretVersionOutput() SecretVersionOutput

func (SecretVersionOutput) ToSecretVersionOutputWithContext added in v4.4.0

func (o SecretVersionOutput) ToSecretVersionOutputWithContext(ctx context.Context) SecretVersionOutput

func (SecretVersionOutput) ToSecretVersionPtrOutput added in v4.11.1

func (o SecretVersionOutput) ToSecretVersionPtrOutput() SecretVersionPtrOutput

func (SecretVersionOutput) ToSecretVersionPtrOutputWithContext added in v4.11.1

func (o SecretVersionOutput) ToSecretVersionPtrOutputWithContext(ctx context.Context) SecretVersionPtrOutput

type SecretVersionPtrInput added in v4.11.1

type SecretVersionPtrInput interface {
	pulumi.Input

	ToSecretVersionPtrOutput() SecretVersionPtrOutput
	ToSecretVersionPtrOutputWithContext(ctx context.Context) SecretVersionPtrOutput
}

type SecretVersionPtrOutput added in v4.11.1

type SecretVersionPtrOutput struct {
	*pulumi.OutputState
}

func (SecretVersionPtrOutput) ElementType added in v4.11.1

func (SecretVersionPtrOutput) ElementType() reflect.Type

func (SecretVersionPtrOutput) ToSecretVersionPtrOutput added in v4.11.1

func (o SecretVersionPtrOutput) ToSecretVersionPtrOutput() SecretVersionPtrOutput

func (SecretVersionPtrOutput) ToSecretVersionPtrOutputWithContext added in v4.11.1

func (o SecretVersionPtrOutput) ToSecretVersionPtrOutputWithContext(ctx context.Context) SecretVersionPtrOutput

type SecretVersionState

type SecretVersionState struct {
	// The time at which the Secret was created.
	CreateTime pulumi.StringPtrInput
	// The time at which the Secret was destroyed. Only present if state is DESTROYED.
	DestroyTime pulumi.StringPtrInput
	// The current state of the SecretVersion.
	Enabled pulumi.BoolPtrInput
	// The resource name of the SecretVersion. Format: 'projects/{{project}}/secrets/{{secret_id}}/versions/{{version}}'
	Name pulumi.StringPtrInput
	// Secret Manager secret resource
	Secret pulumi.StringPtrInput
	// The secret data. Must be no larger than 64KiB.
	// **Note**: This property is sensitive and will not be displayed in the plan.
	SecretData pulumi.StringPtrInput
}

func (SecretVersionState) ElementType

func (SecretVersionState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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