artifactregistry

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 Repository

type Repository struct {
	pulumi.CustomResourceState

	// The time when the repository was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The user-provided description of the repository.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The format of packages that are stored in the repository.
	Format pulumi.StringOutput `pulumi:"format"`
	// The Cloud KMS resource name of the customer managed encryption key that’s
	// used to encrypt the contents of the Repository. Has the form:
	// `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.
	// This value may not be changed after the Repository has been created.
	KmsKeyName pulumi.StringPtrOutput `pulumi:"kmsKeyName"`
	// Labels with user-defined metadata.
	// This field may contain up to 64 entries. Label keys and values may be no
	// longer than 63 characters. Label keys must begin with a lowercase letter
	// and may only contain lowercase letters, numeric characters, underscores,
	// and dashes.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of the location this repository is located in.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the repository, for example: "projects/p1/locations/us-central1/repositories/repo1"
	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 last part of the repository name, for example:
	// "repo1"
	RepositoryId pulumi.StringOutput `pulumi:"repositoryId"`
	// The time when the repository was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

A repository for storing artifacts

To get more information about Repository, see:

* [API documentation](https://cloud.google.com/artifact-registry/docs/reference/rest/v1beta2/projects.locations.repositories) * How-to Guides

## Example Usage ### Artifact Registry Repository Basic

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepository(ctx, "my_repo", &artifactregistry.RepositoryArgs{
			Location:     pulumi.String("us-central1"),
			RepositoryId: pulumi.String("my-repository"),
			Description:  pulumi.String("example docker repository"),
			Format:       pulumi.String("DOCKER"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Artifact Registry Repository Cmek

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepository(ctx, "my_repo", &artifactregistry.RepositoryArgs{
			Location:     pulumi.String("us-central1"),
			RepositoryId: pulumi.String("my-repository"),
			Description:  pulumi.String("example docker repository with cmek"),
			Format:       pulumi.String("DOCKER"),
			KmsKeyName:   pulumi.String("kms-key"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Artifact Registry Repository Iam

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepository(ctx, "my_repo", &artifactregistry.RepositoryArgs{
			Location:     pulumi.String("us-central1"),
			RepositoryId: pulumi.String("my-repository"),
			Description:  pulumi.String("example docker repository with iam"),
			Format:       pulumi.String("DOCKER"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = serviceAccount.NewAccount(ctx, "test_account", &serviceAccount.AccountArgs{
			AccountId:   pulumi.String("my-account"),
			DisplayName: pulumi.String("Test Service Account"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepositoryIamMember(ctx, "test_iam", &artifactregistry.RepositoryIamMemberArgs{
			Location:   my_repo.Location,
			Repository: my_repo.Name,
			Role:       pulumi.String("roles/artifactregistry.reader"),
			Member: test_account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("%v%v", "serviceAccount:", email), nil
			}).(pulumi.StringOutput),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Repository can be imported using any of these accepted formats

```sh

$ pulumi import gcp:artifactregistry/repository:Repository default projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}

```

```sh

$ pulumi import gcp:artifactregistry/repository:Repository default {{project}}/{{location}}/{{repository_id}}

```

```sh

$ pulumi import gcp:artifactregistry/repository:Repository default {{location}}/{{repository_id}}

```

```sh

$ pulumi import gcp:artifactregistry/repository:Repository default {{repository_id}}

```

func GetRepository

func GetRepository(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryState, opts ...pulumi.ResourceOption) (*Repository, error)

GetRepository gets an existing Repository 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 NewRepository

func NewRepository(ctx *pulumi.Context,
	name string, args *RepositoryArgs, opts ...pulumi.ResourceOption) (*Repository, error)

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

func (*Repository) ElementType added in v4.4.0

func (*Repository) ElementType() reflect.Type

func (*Repository) ToRepositoryOutput added in v4.4.0

func (i *Repository) ToRepositoryOutput() RepositoryOutput

func (*Repository) ToRepositoryOutputWithContext added in v4.4.0

func (i *Repository) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

func (*Repository) ToRepositoryPtrOutput added in v4.11.1

func (i *Repository) ToRepositoryPtrOutput() RepositoryPtrOutput

func (*Repository) ToRepositoryPtrOutputWithContext added in v4.11.1

func (i *Repository) ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput

type RepositoryArgs

type RepositoryArgs struct {
	// The user-provided description of the repository.
	Description pulumi.StringPtrInput
	// The format of packages that are stored in the repository.
	Format pulumi.StringInput
	// The Cloud KMS resource name of the customer managed encryption key that’s
	// used to encrypt the contents of the Repository. Has the form:
	// `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.
	// This value may not be changed after the Repository has been created.
	KmsKeyName pulumi.StringPtrInput
	// Labels with user-defined metadata.
	// This field may contain up to 64 entries. Label keys and values may be no
	// longer than 63 characters. Label keys must begin with a lowercase letter
	// and may only contain lowercase letters, numeric characters, underscores,
	// and dashes.
	Labels pulumi.StringMapInput
	// The name of the location this repository is located in.
	Location 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 last part of the repository name, for example:
	// "repo1"
	RepositoryId pulumi.StringInput
}

The set of arguments for constructing a Repository resource.

func (RepositoryArgs) ElementType

func (RepositoryArgs) ElementType() reflect.Type

type RepositoryArray added in v4.11.1

type RepositoryArray []RepositoryInput

func (RepositoryArray) ElementType added in v4.11.1

func (RepositoryArray) ElementType() reflect.Type

func (RepositoryArray) ToRepositoryArrayOutput added in v4.11.1

func (i RepositoryArray) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArray) ToRepositoryArrayOutputWithContext added in v4.11.1

func (i RepositoryArray) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryArrayInput added in v4.11.1

type RepositoryArrayInput interface {
	pulumi.Input

	ToRepositoryArrayOutput() RepositoryArrayOutput
	ToRepositoryArrayOutputWithContext(context.Context) RepositoryArrayOutput
}

RepositoryArrayInput is an input type that accepts RepositoryArray and RepositoryArrayOutput values. You can construct a concrete instance of `RepositoryArrayInput` via:

RepositoryArray{ RepositoryArgs{...} }

type RepositoryArrayOutput added in v4.11.1

type RepositoryArrayOutput struct{ *pulumi.OutputState }

func (RepositoryArrayOutput) ElementType added in v4.11.1

func (RepositoryArrayOutput) ElementType() reflect.Type

func (RepositoryArrayOutput) Index added in v4.11.1

func (RepositoryArrayOutput) ToRepositoryArrayOutput added in v4.11.1

func (o RepositoryArrayOutput) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArrayOutput) ToRepositoryArrayOutputWithContext added in v4.11.1

func (o RepositoryArrayOutput) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryIamBinding

type RepositoryIamBinding struct {
	pulumi.CustomResourceState

	Condition RepositoryIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput      `pulumi:"location"`
	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"`
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringOutput `pulumi:"repository"`
	// The role that should be applied. Only one
	// `artifactregistry.RepositoryIamBinding` 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"`
}

Three different resources help you manage your IAM policy for Artifact Registry Repository. Each of these resources serves a different use case:

* `artifactregistry.RepositoryIamPolicy`: Authoritative. Sets the IAM policy for the repository and replaces any existing policy already attached. * `artifactregistry.RepositoryIamBinding`: 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 repository are preserved. * `artifactregistry.RepositoryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repository are preserved.

> **Note:** `artifactregistry.RepositoryIamPolicy` **cannot** be used in conjunction with `artifactregistry.RepositoryIamBinding` and `artifactregistry.RepositoryIamMember` or they will fight over what your policy should be.

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

## google\_artifact\_registry\_repository\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/artifactregistry"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"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/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepositoryIamPolicy(ctx, "policy", &artifactregistry.RepositoryIamPolicyArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_artifact\_registry\_repository\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepositoryIamBinding(ctx, "binding", &artifactregistry.RepositoryIamBindingArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			Role:       pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_artifact\_registry\_repository\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepositoryIamMember(ctx, "member", &artifactregistry.RepositoryIamMemberArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			Role:       pulumi.String("roles/viewer"),
			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}}/locations/{{location}}/repositories/{{repository}} * {{project}}/{{location}}/{{repository}} * {{location}}/{{repository}} * {{repository}} Any variables not passed in the import command will be taken from the provider configuration. Artifact Registry repository 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:artifactregistry/repositoryIamBinding:RepositoryIamBinding editor "projects/{{project}}/locations/{{location}}/repositories/{{repository}} roles/viewer user:jane@example.com"

```

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

```sh

$ pulumi import gcp:artifactregistry/repositoryIamBinding:RepositoryIamBinding editor "projects/{{project}}/locations/{{location}}/repositories/{{repository}} roles/viewer"

```

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

```sh

$ pulumi import gcp:artifactregistry/repositoryIamBinding:RepositoryIamBinding editor projects/{{project}}/locations/{{location}}/repositories/{{repository}}

```

-> **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 GetRepositoryIamBinding

func GetRepositoryIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryIamBindingState, opts ...pulumi.ResourceOption) (*RepositoryIamBinding, error)

GetRepositoryIamBinding gets an existing RepositoryIamBinding 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 NewRepositoryIamBinding

func NewRepositoryIamBinding(ctx *pulumi.Context,
	name string, args *RepositoryIamBindingArgs, opts ...pulumi.ResourceOption) (*RepositoryIamBinding, error)

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

func (*RepositoryIamBinding) ElementType added in v4.4.0

func (*RepositoryIamBinding) ElementType() reflect.Type

func (*RepositoryIamBinding) ToRepositoryIamBindingOutput added in v4.4.0

func (i *RepositoryIamBinding) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput

func (*RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext added in v4.4.0

func (i *RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput

func (*RepositoryIamBinding) ToRepositoryIamBindingPtrOutput added in v4.11.1

func (i *RepositoryIamBinding) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput

func (*RepositoryIamBinding) ToRepositoryIamBindingPtrOutputWithContext added in v4.11.1

func (i *RepositoryIamBinding) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput

type RepositoryIamBindingArgs

type RepositoryIamBindingArgs struct {
	Condition RepositoryIamBindingConditionPtrInput
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location 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
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringInput
	// The role that should be applied. Only one
	// `artifactregistry.RepositoryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a RepositoryIamBinding resource.

func (RepositoryIamBindingArgs) ElementType

func (RepositoryIamBindingArgs) ElementType() reflect.Type

type RepositoryIamBindingArray added in v4.11.1

type RepositoryIamBindingArray []RepositoryIamBindingInput

func (RepositoryIamBindingArray) ElementType added in v4.11.1

func (RepositoryIamBindingArray) ElementType() reflect.Type

func (RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutput added in v4.11.1

func (i RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput

func (RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutputWithContext added in v4.11.1

func (i RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput

type RepositoryIamBindingArrayInput added in v4.11.1

type RepositoryIamBindingArrayInput interface {
	pulumi.Input

	ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput
	ToRepositoryIamBindingArrayOutputWithContext(context.Context) RepositoryIamBindingArrayOutput
}

RepositoryIamBindingArrayInput is an input type that accepts RepositoryIamBindingArray and RepositoryIamBindingArrayOutput values. You can construct a concrete instance of `RepositoryIamBindingArrayInput` via:

RepositoryIamBindingArray{ RepositoryIamBindingArgs{...} }

type RepositoryIamBindingArrayOutput added in v4.11.1

type RepositoryIamBindingArrayOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingArrayOutput) ElementType added in v4.11.1

func (RepositoryIamBindingArrayOutput) Index added in v4.11.1

func (RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput added in v4.11.1

func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput

func (RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext added in v4.11.1

func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput

type RepositoryIamBindingCondition

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

type RepositoryIamBindingConditionArgs

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

func (RepositoryIamBindingConditionArgs) ElementType

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutput

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutputWithContext

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutputWithContext(ctx context.Context) RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutput

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput

func (RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutputWithContext

func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingConditionInput

type RepositoryIamBindingConditionInput interface {
	pulumi.Input

	ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput
	ToRepositoryIamBindingConditionOutputWithContext(context.Context) RepositoryIamBindingConditionOutput
}

RepositoryIamBindingConditionInput is an input type that accepts RepositoryIamBindingConditionArgs and RepositoryIamBindingConditionOutput values. You can construct a concrete instance of `RepositoryIamBindingConditionInput` via:

RepositoryIamBindingConditionArgs{...}

type RepositoryIamBindingConditionOutput

type RepositoryIamBindingConditionOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingConditionOutput) Description

func (RepositoryIamBindingConditionOutput) ElementType

func (RepositoryIamBindingConditionOutput) Expression

func (RepositoryIamBindingConditionOutput) Title

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutput

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutputWithContext

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutputWithContext(ctx context.Context) RepositoryIamBindingConditionOutput

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutput

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput

func (RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutputWithContext

func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingConditionPtrInput

type RepositoryIamBindingConditionPtrInput interface {
	pulumi.Input

	ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput
	ToRepositoryIamBindingConditionPtrOutputWithContext(context.Context) RepositoryIamBindingConditionPtrOutput
}

RepositoryIamBindingConditionPtrInput is an input type that accepts RepositoryIamBindingConditionArgs, RepositoryIamBindingConditionPtr and RepositoryIamBindingConditionPtrOutput values. You can construct a concrete instance of `RepositoryIamBindingConditionPtrInput` via:

        RepositoryIamBindingConditionArgs{...}

or:

        nil

type RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingConditionPtrOutput) Description

func (RepositoryIamBindingConditionPtrOutput) Elem

func (RepositoryIamBindingConditionPtrOutput) ElementType

func (RepositoryIamBindingConditionPtrOutput) Expression

func (RepositoryIamBindingConditionPtrOutput) Title

func (RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput

func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput

func (RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext

func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput

type RepositoryIamBindingInput added in v4.4.0

type RepositoryIamBindingInput interface {
	pulumi.Input

	ToRepositoryIamBindingOutput() RepositoryIamBindingOutput
	ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput
}

type RepositoryIamBindingMap added in v4.11.1

type RepositoryIamBindingMap map[string]RepositoryIamBindingInput

func (RepositoryIamBindingMap) ElementType added in v4.11.1

func (RepositoryIamBindingMap) ElementType() reflect.Type

func (RepositoryIamBindingMap) ToRepositoryIamBindingMapOutput added in v4.11.1

func (i RepositoryIamBindingMap) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput

func (RepositoryIamBindingMap) ToRepositoryIamBindingMapOutputWithContext added in v4.11.1

func (i RepositoryIamBindingMap) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput

type RepositoryIamBindingMapInput added in v4.11.1

type RepositoryIamBindingMapInput interface {
	pulumi.Input

	ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput
	ToRepositoryIamBindingMapOutputWithContext(context.Context) RepositoryIamBindingMapOutput
}

RepositoryIamBindingMapInput is an input type that accepts RepositoryIamBindingMap and RepositoryIamBindingMapOutput values. You can construct a concrete instance of `RepositoryIamBindingMapInput` via:

RepositoryIamBindingMap{ "key": RepositoryIamBindingArgs{...} }

type RepositoryIamBindingMapOutput added in v4.11.1

type RepositoryIamBindingMapOutput struct{ *pulumi.OutputState }

func (RepositoryIamBindingMapOutput) ElementType added in v4.11.1

func (RepositoryIamBindingMapOutput) MapIndex added in v4.11.1

func (RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput added in v4.11.1

func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput

func (RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext added in v4.11.1

func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput

type RepositoryIamBindingOutput added in v4.4.0

type RepositoryIamBindingOutput struct {
	*pulumi.OutputState
}

func (RepositoryIamBindingOutput) ElementType added in v4.4.0

func (RepositoryIamBindingOutput) ElementType() reflect.Type

func (RepositoryIamBindingOutput) ToRepositoryIamBindingOutput added in v4.4.0

func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput

func (RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext added in v4.4.0

func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput

func (RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutput added in v4.11.1

func (o RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput

func (RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutputWithContext added in v4.11.1

func (o RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput

type RepositoryIamBindingPtrInput added in v4.11.1

type RepositoryIamBindingPtrInput interface {
	pulumi.Input

	ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
	ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput
}

type RepositoryIamBindingPtrOutput added in v4.11.1

type RepositoryIamBindingPtrOutput struct {
	*pulumi.OutputState
}

func (RepositoryIamBindingPtrOutput) ElementType added in v4.11.1

func (RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutput added in v4.11.1

func (o RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput

func (RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutputWithContext added in v4.11.1

func (o RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput

type RepositoryIamBindingState

type RepositoryIamBindingState struct {
	Condition RepositoryIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location 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
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `artifactregistry.RepositoryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (RepositoryIamBindingState) ElementType

func (RepositoryIamBindingState) ElementType() reflect.Type

type RepositoryIamMember

type RepositoryIamMember struct {
	pulumi.CustomResourceState

	Condition RepositoryIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	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"`
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringOutput `pulumi:"repository"`
	// The role that should be applied. Only one
	// `artifactregistry.RepositoryIamBinding` 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"`
}

Three different resources help you manage your IAM policy for Artifact Registry Repository. Each of these resources serves a different use case:

* `artifactregistry.RepositoryIamPolicy`: Authoritative. Sets the IAM policy for the repository and replaces any existing policy already attached. * `artifactregistry.RepositoryIamBinding`: 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 repository are preserved. * `artifactregistry.RepositoryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repository are preserved.

> **Note:** `artifactregistry.RepositoryIamPolicy` **cannot** be used in conjunction with `artifactregistry.RepositoryIamBinding` and `artifactregistry.RepositoryIamMember` or they will fight over what your policy should be.

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

## google\_artifact\_registry\_repository\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/artifactregistry"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"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/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepositoryIamPolicy(ctx, "policy", &artifactregistry.RepositoryIamPolicyArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_artifact\_registry\_repository\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepositoryIamBinding(ctx, "binding", &artifactregistry.RepositoryIamBindingArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			Role:       pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_artifact\_registry\_repository\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepositoryIamMember(ctx, "member", &artifactregistry.RepositoryIamMemberArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			Role:       pulumi.String("roles/viewer"),
			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}}/locations/{{location}}/repositories/{{repository}} * {{project}}/{{location}}/{{repository}} * {{location}}/{{repository}} * {{repository}} Any variables not passed in the import command will be taken from the provider configuration. Artifact Registry repository 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:artifactregistry/repositoryIamMember:RepositoryIamMember editor "projects/{{project}}/locations/{{location}}/repositories/{{repository}} roles/viewer user:jane@example.com"

```

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

```sh

$ pulumi import gcp:artifactregistry/repositoryIamMember:RepositoryIamMember editor "projects/{{project}}/locations/{{location}}/repositories/{{repository}} roles/viewer"

```

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

```sh

$ pulumi import gcp:artifactregistry/repositoryIamMember:RepositoryIamMember editor projects/{{project}}/locations/{{location}}/repositories/{{repository}}

```

-> **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 GetRepositoryIamMember

func GetRepositoryIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryIamMemberState, opts ...pulumi.ResourceOption) (*RepositoryIamMember, error)

GetRepositoryIamMember gets an existing RepositoryIamMember 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 NewRepositoryIamMember

func NewRepositoryIamMember(ctx *pulumi.Context,
	name string, args *RepositoryIamMemberArgs, opts ...pulumi.ResourceOption) (*RepositoryIamMember, error)

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

func (*RepositoryIamMember) ElementType added in v4.4.0

func (*RepositoryIamMember) ElementType() reflect.Type

func (*RepositoryIamMember) ToRepositoryIamMemberOutput added in v4.4.0

func (i *RepositoryIamMember) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput

func (*RepositoryIamMember) ToRepositoryIamMemberOutputWithContext added in v4.4.0

func (i *RepositoryIamMember) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput

func (*RepositoryIamMember) ToRepositoryIamMemberPtrOutput added in v4.11.1

func (i *RepositoryIamMember) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput

func (*RepositoryIamMember) ToRepositoryIamMemberPtrOutputWithContext added in v4.11.1

func (i *RepositoryIamMember) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput

type RepositoryIamMemberArgs

type RepositoryIamMemberArgs struct {
	Condition RepositoryIamMemberConditionPtrInput
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	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
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringInput
	// The role that should be applied. Only one
	// `artifactregistry.RepositoryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a RepositoryIamMember resource.

func (RepositoryIamMemberArgs) ElementType

func (RepositoryIamMemberArgs) ElementType() reflect.Type

type RepositoryIamMemberArray added in v4.11.1

type RepositoryIamMemberArray []RepositoryIamMemberInput

func (RepositoryIamMemberArray) ElementType added in v4.11.1

func (RepositoryIamMemberArray) ElementType() reflect.Type

func (RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutput added in v4.11.1

func (i RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput

func (RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutputWithContext added in v4.11.1

func (i RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput

type RepositoryIamMemberArrayInput added in v4.11.1

type RepositoryIamMemberArrayInput interface {
	pulumi.Input

	ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput
	ToRepositoryIamMemberArrayOutputWithContext(context.Context) RepositoryIamMemberArrayOutput
}

RepositoryIamMemberArrayInput is an input type that accepts RepositoryIamMemberArray and RepositoryIamMemberArrayOutput values. You can construct a concrete instance of `RepositoryIamMemberArrayInput` via:

RepositoryIamMemberArray{ RepositoryIamMemberArgs{...} }

type RepositoryIamMemberArrayOutput added in v4.11.1

type RepositoryIamMemberArrayOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberArrayOutput) ElementType added in v4.11.1

func (RepositoryIamMemberArrayOutput) Index added in v4.11.1

func (RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput added in v4.11.1

func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput

func (RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext added in v4.11.1

func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput

type RepositoryIamMemberCondition

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

type RepositoryIamMemberConditionArgs

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

func (RepositoryIamMemberConditionArgs) ElementType

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutput

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutputWithContext

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutputWithContext(ctx context.Context) RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutput

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput

func (RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutputWithContext

func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberConditionInput

type RepositoryIamMemberConditionInput interface {
	pulumi.Input

	ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput
	ToRepositoryIamMemberConditionOutputWithContext(context.Context) RepositoryIamMemberConditionOutput
}

RepositoryIamMemberConditionInput is an input type that accepts RepositoryIamMemberConditionArgs and RepositoryIamMemberConditionOutput values. You can construct a concrete instance of `RepositoryIamMemberConditionInput` via:

RepositoryIamMemberConditionArgs{...}

type RepositoryIamMemberConditionOutput

type RepositoryIamMemberConditionOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberConditionOutput) Description

func (RepositoryIamMemberConditionOutput) ElementType

func (RepositoryIamMemberConditionOutput) Expression

func (RepositoryIamMemberConditionOutput) Title

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutput

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutputWithContext

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutputWithContext(ctx context.Context) RepositoryIamMemberConditionOutput

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutput

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput

func (RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutputWithContext

func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberConditionPtrInput

type RepositoryIamMemberConditionPtrInput interface {
	pulumi.Input

	ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput
	ToRepositoryIamMemberConditionPtrOutputWithContext(context.Context) RepositoryIamMemberConditionPtrOutput
}

RepositoryIamMemberConditionPtrInput is an input type that accepts RepositoryIamMemberConditionArgs, RepositoryIamMemberConditionPtr and RepositoryIamMemberConditionPtrOutput values. You can construct a concrete instance of `RepositoryIamMemberConditionPtrInput` via:

        RepositoryIamMemberConditionArgs{...}

or:

        nil

type RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberConditionPtrOutput) Description

func (RepositoryIamMemberConditionPtrOutput) Elem

func (RepositoryIamMemberConditionPtrOutput) ElementType

func (RepositoryIamMemberConditionPtrOutput) Expression

func (RepositoryIamMemberConditionPtrOutput) Title

func (RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput

func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput

func (RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext

func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput

type RepositoryIamMemberInput added in v4.4.0

type RepositoryIamMemberInput interface {
	pulumi.Input

	ToRepositoryIamMemberOutput() RepositoryIamMemberOutput
	ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput
}

type RepositoryIamMemberMap added in v4.11.1

type RepositoryIamMemberMap map[string]RepositoryIamMemberInput

func (RepositoryIamMemberMap) ElementType added in v4.11.1

func (RepositoryIamMemberMap) ElementType() reflect.Type

func (RepositoryIamMemberMap) ToRepositoryIamMemberMapOutput added in v4.11.1

func (i RepositoryIamMemberMap) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput

func (RepositoryIamMemberMap) ToRepositoryIamMemberMapOutputWithContext added in v4.11.1

func (i RepositoryIamMemberMap) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput

type RepositoryIamMemberMapInput added in v4.11.1

type RepositoryIamMemberMapInput interface {
	pulumi.Input

	ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput
	ToRepositoryIamMemberMapOutputWithContext(context.Context) RepositoryIamMemberMapOutput
}

RepositoryIamMemberMapInput is an input type that accepts RepositoryIamMemberMap and RepositoryIamMemberMapOutput values. You can construct a concrete instance of `RepositoryIamMemberMapInput` via:

RepositoryIamMemberMap{ "key": RepositoryIamMemberArgs{...} }

type RepositoryIamMemberMapOutput added in v4.11.1

type RepositoryIamMemberMapOutput struct{ *pulumi.OutputState }

func (RepositoryIamMemberMapOutput) ElementType added in v4.11.1

func (RepositoryIamMemberMapOutput) MapIndex added in v4.11.1

func (RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput added in v4.11.1

func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput

func (RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext added in v4.11.1

func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput

type RepositoryIamMemberOutput added in v4.4.0

type RepositoryIamMemberOutput struct {
	*pulumi.OutputState
}

func (RepositoryIamMemberOutput) ElementType added in v4.4.0

func (RepositoryIamMemberOutput) ElementType() reflect.Type

func (RepositoryIamMemberOutput) ToRepositoryIamMemberOutput added in v4.4.0

func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput

func (RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext added in v4.4.0

func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput

func (RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutput added in v4.11.1

func (o RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput

func (RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutputWithContext added in v4.11.1

func (o RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput

type RepositoryIamMemberPtrInput added in v4.11.1

type RepositoryIamMemberPtrInput interface {
	pulumi.Input

	ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
	ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput
}

type RepositoryIamMemberPtrOutput added in v4.11.1

type RepositoryIamMemberPtrOutput struct {
	*pulumi.OutputState
}

func (RepositoryIamMemberPtrOutput) ElementType added in v4.11.1

func (RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutput added in v4.11.1

func (o RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput

func (RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutputWithContext added in v4.11.1

func (o RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput

type RepositoryIamMemberState

type RepositoryIamMemberState struct {
	Condition RepositoryIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location 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
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `artifactregistry.RepositoryIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (RepositoryIamMemberState) ElementType

func (RepositoryIamMemberState) ElementType() reflect.Type

type RepositoryIamPolicy

type RepositoryIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// 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"`
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringOutput `pulumi:"repository"`
}

Three different resources help you manage your IAM policy for Artifact Registry Repository. Each of these resources serves a different use case:

* `artifactregistry.RepositoryIamPolicy`: Authoritative. Sets the IAM policy for the repository and replaces any existing policy already attached. * `artifactregistry.RepositoryIamBinding`: 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 repository are preserved. * `artifactregistry.RepositoryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repository are preserved.

> **Note:** `artifactregistry.RepositoryIamPolicy` **cannot** be used in conjunction with `artifactregistry.RepositoryIamBinding` and `artifactregistry.RepositoryIamMember` or they will fight over what your policy should be.

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

## google\_artifact\_registry\_repository\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/artifactregistry"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"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/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = artifactregistry.NewRepositoryIamPolicy(ctx, "policy", &artifactregistry.RepositoryIamPolicyArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_artifact\_registry\_repository\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepositoryIamBinding(ctx, "binding", &artifactregistry.RepositoryIamBindingArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			Role:       pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_artifact\_registry\_repository\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := artifactregistry.NewRepositoryIamMember(ctx, "member", &artifactregistry.RepositoryIamMemberArgs{
			Project:    pulumi.Any(google_artifact_registry_repository.My - repo.Project),
			Location:   pulumi.Any(google_artifact_registry_repository.My - repo.Location),
			Repository: pulumi.Any(google_artifact_registry_repository.My - repo.Name),
			Role:       pulumi.String("roles/viewer"),
			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}}/locations/{{location}}/repositories/{{repository}} * {{project}}/{{location}}/{{repository}} * {{location}}/{{repository}} * {{repository}} Any variables not passed in the import command will be taken from the provider configuration. Artifact Registry repository 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:artifactregistry/repositoryIamPolicy:RepositoryIamPolicy editor "projects/{{project}}/locations/{{location}}/repositories/{{repository}} roles/viewer user:jane@example.com"

```

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

```sh

$ pulumi import gcp:artifactregistry/repositoryIamPolicy:RepositoryIamPolicy editor "projects/{{project}}/locations/{{location}}/repositories/{{repository}} roles/viewer"

```

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

```sh

$ pulumi import gcp:artifactregistry/repositoryIamPolicy:RepositoryIamPolicy editor projects/{{project}}/locations/{{location}}/repositories/{{repository}}

```

-> **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 GetRepositoryIamPolicy

func GetRepositoryIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryIamPolicyState, opts ...pulumi.ResourceOption) (*RepositoryIamPolicy, error)

GetRepositoryIamPolicy gets an existing RepositoryIamPolicy 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 NewRepositoryIamPolicy

func NewRepositoryIamPolicy(ctx *pulumi.Context,
	name string, args *RepositoryIamPolicyArgs, opts ...pulumi.ResourceOption) (*RepositoryIamPolicy, error)

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

func (*RepositoryIamPolicy) ElementType added in v4.4.0

func (*RepositoryIamPolicy) ElementType() reflect.Type

func (*RepositoryIamPolicy) ToRepositoryIamPolicyOutput added in v4.4.0

func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput

func (*RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext added in v4.4.0

func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput

func (*RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutput added in v4.11.1

func (i *RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput

func (*RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutputWithContext added in v4.11.1

func (i *RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput

type RepositoryIamPolicyArgs

type RepositoryIamPolicyArgs struct {
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// 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
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringInput
}

The set of arguments for constructing a RepositoryIamPolicy resource.

func (RepositoryIamPolicyArgs) ElementType

func (RepositoryIamPolicyArgs) ElementType() reflect.Type

type RepositoryIamPolicyArray added in v4.11.1

type RepositoryIamPolicyArray []RepositoryIamPolicyInput

func (RepositoryIamPolicyArray) ElementType added in v4.11.1

func (RepositoryIamPolicyArray) ElementType() reflect.Type

func (RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutput added in v4.11.1

func (i RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput

func (RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutputWithContext added in v4.11.1

func (i RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput

type RepositoryIamPolicyArrayInput added in v4.11.1

type RepositoryIamPolicyArrayInput interface {
	pulumi.Input

	ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput
	ToRepositoryIamPolicyArrayOutputWithContext(context.Context) RepositoryIamPolicyArrayOutput
}

RepositoryIamPolicyArrayInput is an input type that accepts RepositoryIamPolicyArray and RepositoryIamPolicyArrayOutput values. You can construct a concrete instance of `RepositoryIamPolicyArrayInput` via:

RepositoryIamPolicyArray{ RepositoryIamPolicyArgs{...} }

type RepositoryIamPolicyArrayOutput added in v4.11.1

type RepositoryIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (RepositoryIamPolicyArrayOutput) ElementType added in v4.11.1

func (RepositoryIamPolicyArrayOutput) Index added in v4.11.1

func (RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput added in v4.11.1

func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput

func (RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext added in v4.11.1

func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput

type RepositoryIamPolicyInput added in v4.4.0

type RepositoryIamPolicyInput interface {
	pulumi.Input

	ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput
	ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput
}

type RepositoryIamPolicyMap added in v4.11.1

type RepositoryIamPolicyMap map[string]RepositoryIamPolicyInput

func (RepositoryIamPolicyMap) ElementType added in v4.11.1

func (RepositoryIamPolicyMap) ElementType() reflect.Type

func (RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutput added in v4.11.1

func (i RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput

func (RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutputWithContext added in v4.11.1

func (i RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput

type RepositoryIamPolicyMapInput added in v4.11.1

type RepositoryIamPolicyMapInput interface {
	pulumi.Input

	ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput
	ToRepositoryIamPolicyMapOutputWithContext(context.Context) RepositoryIamPolicyMapOutput
}

RepositoryIamPolicyMapInput is an input type that accepts RepositoryIamPolicyMap and RepositoryIamPolicyMapOutput values. You can construct a concrete instance of `RepositoryIamPolicyMapInput` via:

RepositoryIamPolicyMap{ "key": RepositoryIamPolicyArgs{...} }

type RepositoryIamPolicyMapOutput added in v4.11.1

type RepositoryIamPolicyMapOutput struct{ *pulumi.OutputState }

func (RepositoryIamPolicyMapOutput) ElementType added in v4.11.1

func (RepositoryIamPolicyMapOutput) MapIndex added in v4.11.1

func (RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput added in v4.11.1

func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput

func (RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext added in v4.11.1

func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput

type RepositoryIamPolicyOutput added in v4.4.0

type RepositoryIamPolicyOutput struct {
	*pulumi.OutputState
}

func (RepositoryIamPolicyOutput) ElementType added in v4.4.0

func (RepositoryIamPolicyOutput) ElementType() reflect.Type

func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput added in v4.4.0

func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput

func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext added in v4.4.0

func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput

func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutput added in v4.11.1

func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput

func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutputWithContext added in v4.11.1

func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput

type RepositoryIamPolicyPtrInput added in v4.11.1

type RepositoryIamPolicyPtrInput interface {
	pulumi.Input

	ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
	ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput
}

type RepositoryIamPolicyPtrOutput added in v4.11.1

type RepositoryIamPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (RepositoryIamPolicyPtrOutput) ElementType added in v4.11.1

func (RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutput added in v4.11.1

func (o RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput

func (RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutputWithContext added in v4.11.1

func (o RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput

type RepositoryIamPolicyState

type RepositoryIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The name of the location this repository is located in.
	// Used to find the parent resource to bind the IAM policy to
	Location 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
	// Used to find the parent resource to bind the IAM policy to
	Repository pulumi.StringPtrInput
}

func (RepositoryIamPolicyState) ElementType

func (RepositoryIamPolicyState) ElementType() reflect.Type

type RepositoryInput added in v4.4.0

type RepositoryInput interface {
	pulumi.Input

	ToRepositoryOutput() RepositoryOutput
	ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
}

type RepositoryMap added in v4.11.1

type RepositoryMap map[string]RepositoryInput

func (RepositoryMap) ElementType added in v4.11.1

func (RepositoryMap) ElementType() reflect.Type

func (RepositoryMap) ToRepositoryMapOutput added in v4.11.1

func (i RepositoryMap) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMap) ToRepositoryMapOutputWithContext added in v4.11.1

func (i RepositoryMap) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryMapInput added in v4.11.1

type RepositoryMapInput interface {
	pulumi.Input

	ToRepositoryMapOutput() RepositoryMapOutput
	ToRepositoryMapOutputWithContext(context.Context) RepositoryMapOutput
}

RepositoryMapInput is an input type that accepts RepositoryMap and RepositoryMapOutput values. You can construct a concrete instance of `RepositoryMapInput` via:

RepositoryMap{ "key": RepositoryArgs{...} }

type RepositoryMapOutput added in v4.11.1

type RepositoryMapOutput struct{ *pulumi.OutputState }

func (RepositoryMapOutput) ElementType added in v4.11.1

func (RepositoryMapOutput) ElementType() reflect.Type

func (RepositoryMapOutput) MapIndex added in v4.11.1

func (RepositoryMapOutput) ToRepositoryMapOutput added in v4.11.1

func (o RepositoryMapOutput) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMapOutput) ToRepositoryMapOutputWithContext added in v4.11.1

func (o RepositoryMapOutput) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryOutput added in v4.4.0

type RepositoryOutput struct {
	*pulumi.OutputState
}

func (RepositoryOutput) ElementType added in v4.4.0

func (RepositoryOutput) ElementType() reflect.Type

func (RepositoryOutput) ToRepositoryOutput added in v4.4.0

func (o RepositoryOutput) ToRepositoryOutput() RepositoryOutput

func (RepositoryOutput) ToRepositoryOutputWithContext added in v4.4.0

func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

func (RepositoryOutput) ToRepositoryPtrOutput added in v4.11.1

func (o RepositoryOutput) ToRepositoryPtrOutput() RepositoryPtrOutput

func (RepositoryOutput) ToRepositoryPtrOutputWithContext added in v4.11.1

func (o RepositoryOutput) ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput

type RepositoryPtrInput added in v4.11.1

type RepositoryPtrInput interface {
	pulumi.Input

	ToRepositoryPtrOutput() RepositoryPtrOutput
	ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput
}

type RepositoryPtrOutput added in v4.11.1

type RepositoryPtrOutput struct {
	*pulumi.OutputState
}

func (RepositoryPtrOutput) ElementType added in v4.11.1

func (RepositoryPtrOutput) ElementType() reflect.Type

func (RepositoryPtrOutput) ToRepositoryPtrOutput added in v4.11.1

func (o RepositoryPtrOutput) ToRepositoryPtrOutput() RepositoryPtrOutput

func (RepositoryPtrOutput) ToRepositoryPtrOutputWithContext added in v4.11.1

func (o RepositoryPtrOutput) ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput

type RepositoryState

type RepositoryState struct {
	// The time when the repository was created.
	CreateTime pulumi.StringPtrInput
	// The user-provided description of the repository.
	Description pulumi.StringPtrInput
	// The format of packages that are stored in the repository.
	Format pulumi.StringPtrInput
	// The Cloud KMS resource name of the customer managed encryption key that’s
	// used to encrypt the contents of the Repository. Has the form:
	// `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.
	// This value may not be changed after the Repository has been created.
	KmsKeyName pulumi.StringPtrInput
	// Labels with user-defined metadata.
	// This field may contain up to 64 entries. Label keys and values may be no
	// longer than 63 characters. Label keys must begin with a lowercase letter
	// and may only contain lowercase letters, numeric characters, underscores,
	// and dashes.
	Labels pulumi.StringMapInput
	// The name of the location this repository is located in.
	Location pulumi.StringPtrInput
	// The name of the repository, for example: "projects/p1/locations/us-central1/repositories/repo1"
	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 last part of the repository name, for example:
	// "repo1"
	RepositoryId pulumi.StringPtrInput
	// The time when the repository was last updated.
	UpdateTime pulumi.StringPtrInput
}

func (RepositoryState) ElementType

func (RepositoryState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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