Documentation ¶
Index ¶
- type Repository
- func (*Repository) ElementType() reflect.Type
- func (i *Repository) ToRepositoryOutput() RepositoryOutput
- func (i *Repository) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
- func (i *Repository) ToRepositoryPtrOutput() RepositoryPtrOutput
- func (i *Repository) ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput
- type RepositoryArgs
- type RepositoryArray
- type RepositoryArrayInput
- type RepositoryArrayOutput
- func (RepositoryArrayOutput) ElementType() reflect.Type
- func (o RepositoryArrayOutput) Index(i pulumi.IntInput) RepositoryOutput
- func (o RepositoryArrayOutput) ToRepositoryArrayOutput() RepositoryArrayOutput
- func (o RepositoryArrayOutput) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput
- type RepositoryIamBinding
- func (*RepositoryIamBinding) ElementType() reflect.Type
- func (i *RepositoryIamBinding) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput
- func (i *RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput
- func (i *RepositoryIamBinding) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
- func (i *RepositoryIamBinding) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput
- type RepositoryIamBindingArgs
- type RepositoryIamBindingArray
- type RepositoryIamBindingArrayInput
- type RepositoryIamBindingArrayOutput
- func (RepositoryIamBindingArrayOutput) ElementType() reflect.Type
- func (o RepositoryIamBindingArrayOutput) Index(i pulumi.IntInput) RepositoryIamBindingOutput
- func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput
- func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput
- type RepositoryIamBindingCondition
- type RepositoryIamBindingConditionArgs
- func (RepositoryIamBindingConditionArgs) ElementType() reflect.Type
- func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput
- func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionOutputWithContext(ctx context.Context) RepositoryIamBindingConditionOutput
- func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput
- func (i RepositoryIamBindingConditionArgs) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput
- type RepositoryIamBindingConditionInput
- type RepositoryIamBindingConditionOutput
- func (o RepositoryIamBindingConditionOutput) Description() pulumi.StringPtrOutput
- func (RepositoryIamBindingConditionOutput) ElementType() reflect.Type
- func (o RepositoryIamBindingConditionOutput) Expression() pulumi.StringOutput
- func (o RepositoryIamBindingConditionOutput) Title() pulumi.StringOutput
- func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutput() RepositoryIamBindingConditionOutput
- func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionOutputWithContext(ctx context.Context) RepositoryIamBindingConditionOutput
- func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput
- func (o RepositoryIamBindingConditionOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput
- type RepositoryIamBindingConditionPtrInput
- type RepositoryIamBindingConditionPtrOutput
- func (o RepositoryIamBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o RepositoryIamBindingConditionPtrOutput) Elem() RepositoryIamBindingConditionOutput
- func (RepositoryIamBindingConditionPtrOutput) ElementType() reflect.Type
- func (o RepositoryIamBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o RepositoryIamBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput
- func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput
- type RepositoryIamBindingInput
- type RepositoryIamBindingMap
- type RepositoryIamBindingMapInput
- type RepositoryIamBindingMapOutput
- func (RepositoryIamBindingMapOutput) ElementType() reflect.Type
- func (o RepositoryIamBindingMapOutput) MapIndex(k pulumi.StringInput) RepositoryIamBindingOutput
- func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput
- func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput
- type RepositoryIamBindingOutput
- func (RepositoryIamBindingOutput) ElementType() reflect.Type
- func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput
- func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput
- func (o RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
- func (o RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput
- type RepositoryIamBindingPtrInput
- type RepositoryIamBindingPtrOutput
- func (o RepositoryIamBindingPtrOutput) Elem() RepositoryIamBindingOutput
- func (RepositoryIamBindingPtrOutput) ElementType() reflect.Type
- func (o RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
- func (o RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput
- type RepositoryIamBindingState
- type RepositoryIamMember
- func (*RepositoryIamMember) ElementType() reflect.Type
- func (i *RepositoryIamMember) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput
- func (i *RepositoryIamMember) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput
- func (i *RepositoryIamMember) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
- func (i *RepositoryIamMember) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput
- type RepositoryIamMemberArgs
- type RepositoryIamMemberArray
- type RepositoryIamMemberArrayInput
- type RepositoryIamMemberArrayOutput
- func (RepositoryIamMemberArrayOutput) ElementType() reflect.Type
- func (o RepositoryIamMemberArrayOutput) Index(i pulumi.IntInput) RepositoryIamMemberOutput
- func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput
- func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput
- type RepositoryIamMemberCondition
- type RepositoryIamMemberConditionArgs
- func (RepositoryIamMemberConditionArgs) ElementType() reflect.Type
- func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput
- func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionOutputWithContext(ctx context.Context) RepositoryIamMemberConditionOutput
- func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput
- func (i RepositoryIamMemberConditionArgs) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput
- type RepositoryIamMemberConditionInput
- type RepositoryIamMemberConditionOutput
- func (o RepositoryIamMemberConditionOutput) Description() pulumi.StringPtrOutput
- func (RepositoryIamMemberConditionOutput) ElementType() reflect.Type
- func (o RepositoryIamMemberConditionOutput) Expression() pulumi.StringOutput
- func (o RepositoryIamMemberConditionOutput) Title() pulumi.StringOutput
- func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutput() RepositoryIamMemberConditionOutput
- func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionOutputWithContext(ctx context.Context) RepositoryIamMemberConditionOutput
- func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput
- func (o RepositoryIamMemberConditionOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput
- type RepositoryIamMemberConditionPtrInput
- type RepositoryIamMemberConditionPtrOutput
- func (o RepositoryIamMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
- func (o RepositoryIamMemberConditionPtrOutput) Elem() RepositoryIamMemberConditionOutput
- func (RepositoryIamMemberConditionPtrOutput) ElementType() reflect.Type
- func (o RepositoryIamMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
- func (o RepositoryIamMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
- func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput
- func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput
- type RepositoryIamMemberInput
- type RepositoryIamMemberMap
- type RepositoryIamMemberMapInput
- type RepositoryIamMemberMapOutput
- func (RepositoryIamMemberMapOutput) ElementType() reflect.Type
- func (o RepositoryIamMemberMapOutput) MapIndex(k pulumi.StringInput) RepositoryIamMemberOutput
- func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput
- func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput
- type RepositoryIamMemberOutput
- func (RepositoryIamMemberOutput) ElementType() reflect.Type
- func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput
- func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput
- func (o RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
- func (o RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput
- type RepositoryIamMemberPtrInput
- type RepositoryIamMemberPtrOutput
- func (o RepositoryIamMemberPtrOutput) Elem() RepositoryIamMemberOutput
- func (RepositoryIamMemberPtrOutput) ElementType() reflect.Type
- func (o RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
- func (o RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput
- type RepositoryIamMemberState
- type RepositoryIamPolicy
- func (*RepositoryIamPolicy) ElementType() reflect.Type
- func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput
- func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput
- func (i *RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
- func (i *RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput
- type RepositoryIamPolicyArgs
- type RepositoryIamPolicyArray
- type RepositoryIamPolicyArrayInput
- type RepositoryIamPolicyArrayOutput
- func (RepositoryIamPolicyArrayOutput) ElementType() reflect.Type
- func (o RepositoryIamPolicyArrayOutput) Index(i pulumi.IntInput) RepositoryIamPolicyOutput
- func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput
- func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput
- type RepositoryIamPolicyInput
- type RepositoryIamPolicyMap
- type RepositoryIamPolicyMapInput
- type RepositoryIamPolicyMapOutput
- func (RepositoryIamPolicyMapOutput) ElementType() reflect.Type
- func (o RepositoryIamPolicyMapOutput) MapIndex(k pulumi.StringInput) RepositoryIamPolicyOutput
- func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput
- func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput
- type RepositoryIamPolicyOutput
- func (RepositoryIamPolicyOutput) ElementType() reflect.Type
- func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput
- func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput
- func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
- func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput
- type RepositoryIamPolicyPtrInput
- type RepositoryIamPolicyPtrOutput
- func (o RepositoryIamPolicyPtrOutput) Elem() RepositoryIamPolicyOutput
- func (RepositoryIamPolicyPtrOutput) ElementType() reflect.Type
- func (o RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
- func (o RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput
- type RepositoryIamPolicyState
- type RepositoryInput
- type RepositoryMap
- type RepositoryMapInput
- type RepositoryMapOutput
- func (RepositoryMapOutput) ElementType() reflect.Type
- func (o RepositoryMapOutput) MapIndex(k pulumi.StringInput) RepositoryOutput
- func (o RepositoryMapOutput) ToRepositoryMapOutput() RepositoryMapOutput
- func (o RepositoryMapOutput) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput
- type RepositoryOutput
- func (RepositoryOutput) ElementType() reflect.Type
- func (o RepositoryOutput) ToRepositoryOutput() RepositoryOutput
- func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
- func (o RepositoryOutput) ToRepositoryPtrOutput() RepositoryPtrOutput
- func (o RepositoryOutput) ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput
- type RepositoryPtrInput
- type RepositoryPtrOutput
- type RepositoryState
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. You can only create // alpha formats if you are a member of the [alpha user group](https://cloud.google.com/artifact-registry/docs/supported-formats#alpha-access). // - DOCKER // - MAVEN ([Preview](https://cloud.google.com/products#product-launch-stages)) // - NPM ([Preview](https://cloud.google.com/products#product-launch-stages)) // - PYTHON ([Preview](https://cloud.google.com/products#product-launch-stages)) // - APT ([alpha](https://cloud.google.com/products#product-launch-stages)) // - YUM ([alpha](https://cloud.google.com/products#product-launch-stages)) // - HELM ([alpha](https://cloud.google.com/products#product-launch-stages)) 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
- [Official Documentation](https://cloud.google.com/artifact-registry/docs/overview)
## Example Usage ### Artifact Registry Repository Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount" "github.com/pulumi/pulumi/sdk/v3/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 ¶
func (*Repository) ElementType() reflect.Type
func (*Repository) ToRepositoryOutput ¶
func (i *Repository) ToRepositoryOutput() RepositoryOutput
func (*Repository) ToRepositoryOutputWithContext ¶
func (i *Repository) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
func (*Repository) ToRepositoryPtrOutput ¶
func (i *Repository) ToRepositoryPtrOutput() RepositoryPtrOutput
func (*Repository) ToRepositoryPtrOutputWithContext ¶
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. You can only create // alpha formats if you are a member of the [alpha user group](https://cloud.google.com/artifact-registry/docs/supported-formats#alpha-access). // - DOCKER // - MAVEN ([Preview](https://cloud.google.com/products#product-launch-stages)) // - NPM ([Preview](https://cloud.google.com/products#product-launch-stages)) // - PYTHON ([Preview](https://cloud.google.com/products#product-launch-stages)) // - APT ([alpha](https://cloud.google.com/products#product-launch-stages)) // - YUM ([alpha](https://cloud.google.com/products#product-launch-stages)) // - HELM ([alpha](https://cloud.google.com/products#product-launch-stages)) 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 ¶
type RepositoryArray []RepositoryInput
func (RepositoryArray) ElementType ¶
func (RepositoryArray) ElementType() reflect.Type
func (RepositoryArray) ToRepositoryArrayOutput ¶
func (i RepositoryArray) ToRepositoryArrayOutput() RepositoryArrayOutput
func (RepositoryArray) ToRepositoryArrayOutputWithContext ¶
func (i RepositoryArray) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput
type RepositoryArrayInput ¶
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 ¶
type RepositoryArrayOutput struct{ *pulumi.OutputState }
func (RepositoryArrayOutput) ElementType ¶
func (RepositoryArrayOutput) ElementType() reflect.Type
func (RepositoryArrayOutput) Index ¶
func (o RepositoryArrayOutput) Index(i pulumi.IntInput) RepositoryOutput
func (RepositoryArrayOutput) ToRepositoryArrayOutput ¶
func (o RepositoryArrayOutput) ToRepositoryArrayOutput() RepositoryArrayOutput
func (RepositoryArrayOutput) ToRepositoryArrayOutputWithContext ¶
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/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/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), }, pulumi.Provider(google_beta)) if err != nil { return err } return nil }) }
```
## google\_artifact\_registry\_repository\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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"), }, }, pulumi.Provider(google_beta)) if err != nil { return err } return nil }) }
```
## google\_artifact\_registry\_repository\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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"), }, pulumi.Provider(google_beta)) 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 ¶
func (*RepositoryIamBinding) ElementType() reflect.Type
func (*RepositoryIamBinding) ToRepositoryIamBindingOutput ¶
func (i *RepositoryIamBinding) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput
func (*RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext ¶
func (i *RepositoryIamBinding) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput
func (*RepositoryIamBinding) ToRepositoryIamBindingPtrOutput ¶
func (i *RepositoryIamBinding) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
func (*RepositoryIamBinding) ToRepositoryIamBindingPtrOutputWithContext ¶
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 ¶
type RepositoryIamBindingArray []RepositoryIamBindingInput
func (RepositoryIamBindingArray) ElementType ¶
func (RepositoryIamBindingArray) ElementType() reflect.Type
func (RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutput ¶
func (i RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput
func (RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutputWithContext ¶
func (i RepositoryIamBindingArray) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput
type RepositoryIamBindingArrayInput ¶
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 ¶
type RepositoryIamBindingArrayOutput struct{ *pulumi.OutputState }
func (RepositoryIamBindingArrayOutput) ElementType ¶
func (RepositoryIamBindingArrayOutput) ElementType() reflect.Type
func (RepositoryIamBindingArrayOutput) Index ¶
func (o RepositoryIamBindingArrayOutput) Index(i pulumi.IntInput) RepositoryIamBindingOutput
func (RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput ¶
func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutput() RepositoryIamBindingArrayOutput
func (RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext ¶
func (o RepositoryIamBindingArrayOutput) ToRepositoryIamBindingArrayOutputWithContext(ctx context.Context) RepositoryIamBindingArrayOutput
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) ElementType() reflect.Type
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 (o RepositoryIamBindingConditionOutput) Description() pulumi.StringPtrOutput
func (RepositoryIamBindingConditionOutput) ElementType ¶
func (RepositoryIamBindingConditionOutput) ElementType() reflect.Type
func (RepositoryIamBindingConditionOutput) Expression ¶
func (o RepositoryIamBindingConditionOutput) Expression() pulumi.StringOutput
func (RepositoryIamBindingConditionOutput) Title ¶
func (o RepositoryIamBindingConditionOutput) Title() pulumi.StringOutput
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
func RepositoryIamBindingConditionPtr ¶
func RepositoryIamBindingConditionPtr(v *RepositoryIamBindingConditionArgs) RepositoryIamBindingConditionPtrInput
type RepositoryIamBindingConditionPtrOutput ¶
type RepositoryIamBindingConditionPtrOutput struct{ *pulumi.OutputState }
func (RepositoryIamBindingConditionPtrOutput) Description ¶
func (o RepositoryIamBindingConditionPtrOutput) Description() pulumi.StringPtrOutput
func (RepositoryIamBindingConditionPtrOutput) ElementType ¶
func (RepositoryIamBindingConditionPtrOutput) ElementType() reflect.Type
func (RepositoryIamBindingConditionPtrOutput) Expression ¶
func (o RepositoryIamBindingConditionPtrOutput) Expression() pulumi.StringPtrOutput
func (RepositoryIamBindingConditionPtrOutput) Title ¶
func (o RepositoryIamBindingConditionPtrOutput) Title() pulumi.StringPtrOutput
func (RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput ¶
func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutput() RepositoryIamBindingConditionPtrOutput
func (RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext ¶
func (o RepositoryIamBindingConditionPtrOutput) ToRepositoryIamBindingConditionPtrOutputWithContext(ctx context.Context) RepositoryIamBindingConditionPtrOutput
type RepositoryIamBindingInput ¶
type RepositoryIamBindingInput interface { pulumi.Input ToRepositoryIamBindingOutput() RepositoryIamBindingOutput ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput }
type RepositoryIamBindingMap ¶
type RepositoryIamBindingMap map[string]RepositoryIamBindingInput
func (RepositoryIamBindingMap) ElementType ¶
func (RepositoryIamBindingMap) ElementType() reflect.Type
func (RepositoryIamBindingMap) ToRepositoryIamBindingMapOutput ¶
func (i RepositoryIamBindingMap) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput
func (RepositoryIamBindingMap) ToRepositoryIamBindingMapOutputWithContext ¶
func (i RepositoryIamBindingMap) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput
type RepositoryIamBindingMapInput ¶
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 ¶
type RepositoryIamBindingMapOutput struct{ *pulumi.OutputState }
func (RepositoryIamBindingMapOutput) ElementType ¶
func (RepositoryIamBindingMapOutput) ElementType() reflect.Type
func (RepositoryIamBindingMapOutput) MapIndex ¶
func (o RepositoryIamBindingMapOutput) MapIndex(k pulumi.StringInput) RepositoryIamBindingOutput
func (RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput ¶
func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutput() RepositoryIamBindingMapOutput
func (RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext ¶
func (o RepositoryIamBindingMapOutput) ToRepositoryIamBindingMapOutputWithContext(ctx context.Context) RepositoryIamBindingMapOutput
type RepositoryIamBindingOutput ¶
type RepositoryIamBindingOutput struct{ *pulumi.OutputState }
func (RepositoryIamBindingOutput) ElementType ¶
func (RepositoryIamBindingOutput) ElementType() reflect.Type
func (RepositoryIamBindingOutput) ToRepositoryIamBindingOutput ¶
func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutput() RepositoryIamBindingOutput
func (RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext ¶
func (o RepositoryIamBindingOutput) ToRepositoryIamBindingOutputWithContext(ctx context.Context) RepositoryIamBindingOutput
func (RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutput ¶
func (o RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
func (RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutputWithContext ¶
func (o RepositoryIamBindingOutput) ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput
type RepositoryIamBindingPtrInput ¶
type RepositoryIamBindingPtrInput interface { pulumi.Input ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput ToRepositoryIamBindingPtrOutputWithContext(ctx context.Context) RepositoryIamBindingPtrOutput }
type RepositoryIamBindingPtrOutput ¶
type RepositoryIamBindingPtrOutput struct{ *pulumi.OutputState }
func (RepositoryIamBindingPtrOutput) Elem ¶
func (o RepositoryIamBindingPtrOutput) Elem() RepositoryIamBindingOutput
func (RepositoryIamBindingPtrOutput) ElementType ¶
func (RepositoryIamBindingPtrOutput) ElementType() reflect.Type
func (RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutput ¶
func (o RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutput() RepositoryIamBindingPtrOutput
func (RepositoryIamBindingPtrOutput) ToRepositoryIamBindingPtrOutputWithContext ¶
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/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/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), }, pulumi.Provider(google_beta)) if err != nil { return err } return nil }) }
```
## google\_artifact\_registry\_repository\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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"), }, }, pulumi.Provider(google_beta)) if err != nil { return err } return nil }) }
```
## google\_artifact\_registry\_repository\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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"), }, pulumi.Provider(google_beta)) 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 ¶
func (*RepositoryIamMember) ElementType() reflect.Type
func (*RepositoryIamMember) ToRepositoryIamMemberOutput ¶
func (i *RepositoryIamMember) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput
func (*RepositoryIamMember) ToRepositoryIamMemberOutputWithContext ¶
func (i *RepositoryIamMember) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput
func (*RepositoryIamMember) ToRepositoryIamMemberPtrOutput ¶
func (i *RepositoryIamMember) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
func (*RepositoryIamMember) ToRepositoryIamMemberPtrOutputWithContext ¶
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 ¶
type RepositoryIamMemberArray []RepositoryIamMemberInput
func (RepositoryIamMemberArray) ElementType ¶
func (RepositoryIamMemberArray) ElementType() reflect.Type
func (RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutput ¶
func (i RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput
func (RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutputWithContext ¶
func (i RepositoryIamMemberArray) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput
type RepositoryIamMemberArrayInput ¶
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 ¶
type RepositoryIamMemberArrayOutput struct{ *pulumi.OutputState }
func (RepositoryIamMemberArrayOutput) ElementType ¶
func (RepositoryIamMemberArrayOutput) ElementType() reflect.Type
func (RepositoryIamMemberArrayOutput) Index ¶
func (o RepositoryIamMemberArrayOutput) Index(i pulumi.IntInput) RepositoryIamMemberOutput
func (RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput ¶
func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutput() RepositoryIamMemberArrayOutput
func (RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext ¶
func (o RepositoryIamMemberArrayOutput) ToRepositoryIamMemberArrayOutputWithContext(ctx context.Context) RepositoryIamMemberArrayOutput
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) ElementType() reflect.Type
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 (o RepositoryIamMemberConditionOutput) Description() pulumi.StringPtrOutput
func (RepositoryIamMemberConditionOutput) ElementType ¶
func (RepositoryIamMemberConditionOutput) ElementType() reflect.Type
func (RepositoryIamMemberConditionOutput) Expression ¶
func (o RepositoryIamMemberConditionOutput) Expression() pulumi.StringOutput
func (RepositoryIamMemberConditionOutput) Title ¶
func (o RepositoryIamMemberConditionOutput) Title() pulumi.StringOutput
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
func RepositoryIamMemberConditionPtr ¶
func RepositoryIamMemberConditionPtr(v *RepositoryIamMemberConditionArgs) RepositoryIamMemberConditionPtrInput
type RepositoryIamMemberConditionPtrOutput ¶
type RepositoryIamMemberConditionPtrOutput struct{ *pulumi.OutputState }
func (RepositoryIamMemberConditionPtrOutput) Description ¶
func (o RepositoryIamMemberConditionPtrOutput) Description() pulumi.StringPtrOutput
func (RepositoryIamMemberConditionPtrOutput) ElementType ¶
func (RepositoryIamMemberConditionPtrOutput) ElementType() reflect.Type
func (RepositoryIamMemberConditionPtrOutput) Expression ¶
func (o RepositoryIamMemberConditionPtrOutput) Expression() pulumi.StringPtrOutput
func (RepositoryIamMemberConditionPtrOutput) Title ¶
func (o RepositoryIamMemberConditionPtrOutput) Title() pulumi.StringPtrOutput
func (RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput ¶
func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutput() RepositoryIamMemberConditionPtrOutput
func (RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext ¶
func (o RepositoryIamMemberConditionPtrOutput) ToRepositoryIamMemberConditionPtrOutputWithContext(ctx context.Context) RepositoryIamMemberConditionPtrOutput
type RepositoryIamMemberInput ¶
type RepositoryIamMemberInput interface { pulumi.Input ToRepositoryIamMemberOutput() RepositoryIamMemberOutput ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput }
type RepositoryIamMemberMap ¶
type RepositoryIamMemberMap map[string]RepositoryIamMemberInput
func (RepositoryIamMemberMap) ElementType ¶
func (RepositoryIamMemberMap) ElementType() reflect.Type
func (RepositoryIamMemberMap) ToRepositoryIamMemberMapOutput ¶
func (i RepositoryIamMemberMap) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput
func (RepositoryIamMemberMap) ToRepositoryIamMemberMapOutputWithContext ¶
func (i RepositoryIamMemberMap) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput
type RepositoryIamMemberMapInput ¶
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 ¶
type RepositoryIamMemberMapOutput struct{ *pulumi.OutputState }
func (RepositoryIamMemberMapOutput) ElementType ¶
func (RepositoryIamMemberMapOutput) ElementType() reflect.Type
func (RepositoryIamMemberMapOutput) MapIndex ¶
func (o RepositoryIamMemberMapOutput) MapIndex(k pulumi.StringInput) RepositoryIamMemberOutput
func (RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput ¶
func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutput() RepositoryIamMemberMapOutput
func (RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext ¶
func (o RepositoryIamMemberMapOutput) ToRepositoryIamMemberMapOutputWithContext(ctx context.Context) RepositoryIamMemberMapOutput
type RepositoryIamMemberOutput ¶
type RepositoryIamMemberOutput struct{ *pulumi.OutputState }
func (RepositoryIamMemberOutput) ElementType ¶
func (RepositoryIamMemberOutput) ElementType() reflect.Type
func (RepositoryIamMemberOutput) ToRepositoryIamMemberOutput ¶
func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutput() RepositoryIamMemberOutput
func (RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext ¶
func (o RepositoryIamMemberOutput) ToRepositoryIamMemberOutputWithContext(ctx context.Context) RepositoryIamMemberOutput
func (RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutput ¶
func (o RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
func (RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutputWithContext ¶
func (o RepositoryIamMemberOutput) ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput
type RepositoryIamMemberPtrInput ¶
type RepositoryIamMemberPtrInput interface { pulumi.Input ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput ToRepositoryIamMemberPtrOutputWithContext(ctx context.Context) RepositoryIamMemberPtrOutput }
type RepositoryIamMemberPtrOutput ¶
type RepositoryIamMemberPtrOutput struct{ *pulumi.OutputState }
func (RepositoryIamMemberPtrOutput) Elem ¶
func (o RepositoryIamMemberPtrOutput) Elem() RepositoryIamMemberOutput
func (RepositoryIamMemberPtrOutput) ElementType ¶
func (RepositoryIamMemberPtrOutput) ElementType() reflect.Type
func (RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutput ¶
func (o RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutput() RepositoryIamMemberPtrOutput
func (RepositoryIamMemberPtrOutput) ToRepositoryIamMemberPtrOutputWithContext ¶
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/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations" "github.com/pulumi/pulumi/sdk/v3/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), }, pulumi.Provider(google_beta)) if err != nil { return err } return nil }) }
```
## google\_artifact\_registry\_repository\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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"), }, }, pulumi.Provider(google_beta)) if err != nil { return err } return nil }) }
```
## google\_artifact\_registry\_repository\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/artifactregistry" "github.com/pulumi/pulumi/sdk/v3/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"), }, pulumi.Provider(google_beta)) 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 ¶
func (*RepositoryIamPolicy) ElementType() reflect.Type
func (*RepositoryIamPolicy) ToRepositoryIamPolicyOutput ¶
func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput
func (*RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext ¶
func (i *RepositoryIamPolicy) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput
func (*RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutput ¶
func (i *RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
func (*RepositoryIamPolicy) ToRepositoryIamPolicyPtrOutputWithContext ¶
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 ¶
type RepositoryIamPolicyArray []RepositoryIamPolicyInput
func (RepositoryIamPolicyArray) ElementType ¶
func (RepositoryIamPolicyArray) ElementType() reflect.Type
func (RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutput ¶
func (i RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput
func (RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutputWithContext ¶
func (i RepositoryIamPolicyArray) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput
type RepositoryIamPolicyArrayInput ¶
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 ¶
type RepositoryIamPolicyArrayOutput struct{ *pulumi.OutputState }
func (RepositoryIamPolicyArrayOutput) ElementType ¶
func (RepositoryIamPolicyArrayOutput) ElementType() reflect.Type
func (RepositoryIamPolicyArrayOutput) Index ¶
func (o RepositoryIamPolicyArrayOutput) Index(i pulumi.IntInput) RepositoryIamPolicyOutput
func (RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput ¶
func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutput() RepositoryIamPolicyArrayOutput
func (RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext ¶
func (o RepositoryIamPolicyArrayOutput) ToRepositoryIamPolicyArrayOutputWithContext(ctx context.Context) RepositoryIamPolicyArrayOutput
type RepositoryIamPolicyInput ¶
type RepositoryIamPolicyInput interface { pulumi.Input ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput }
type RepositoryIamPolicyMap ¶
type RepositoryIamPolicyMap map[string]RepositoryIamPolicyInput
func (RepositoryIamPolicyMap) ElementType ¶
func (RepositoryIamPolicyMap) ElementType() reflect.Type
func (RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutput ¶
func (i RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput
func (RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutputWithContext ¶
func (i RepositoryIamPolicyMap) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput
type RepositoryIamPolicyMapInput ¶
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 ¶
type RepositoryIamPolicyMapOutput struct{ *pulumi.OutputState }
func (RepositoryIamPolicyMapOutput) ElementType ¶
func (RepositoryIamPolicyMapOutput) ElementType() reflect.Type
func (RepositoryIamPolicyMapOutput) MapIndex ¶
func (o RepositoryIamPolicyMapOutput) MapIndex(k pulumi.StringInput) RepositoryIamPolicyOutput
func (RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput ¶
func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutput() RepositoryIamPolicyMapOutput
func (RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext ¶
func (o RepositoryIamPolicyMapOutput) ToRepositoryIamPolicyMapOutputWithContext(ctx context.Context) RepositoryIamPolicyMapOutput
type RepositoryIamPolicyOutput ¶
type RepositoryIamPolicyOutput struct{ *pulumi.OutputState }
func (RepositoryIamPolicyOutput) ElementType ¶
func (RepositoryIamPolicyOutput) ElementType() reflect.Type
func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput ¶
func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutput() RepositoryIamPolicyOutput
func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext ¶
func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyOutputWithContext(ctx context.Context) RepositoryIamPolicyOutput
func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutput ¶
func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
func (RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutputWithContext ¶
func (o RepositoryIamPolicyOutput) ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput
type RepositoryIamPolicyPtrInput ¶
type RepositoryIamPolicyPtrInput interface { pulumi.Input ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput ToRepositoryIamPolicyPtrOutputWithContext(ctx context.Context) RepositoryIamPolicyPtrOutput }
type RepositoryIamPolicyPtrOutput ¶
type RepositoryIamPolicyPtrOutput struct{ *pulumi.OutputState }
func (RepositoryIamPolicyPtrOutput) Elem ¶
func (o RepositoryIamPolicyPtrOutput) Elem() RepositoryIamPolicyOutput
func (RepositoryIamPolicyPtrOutput) ElementType ¶
func (RepositoryIamPolicyPtrOutput) ElementType() reflect.Type
func (RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutput ¶
func (o RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutput() RepositoryIamPolicyPtrOutput
func (RepositoryIamPolicyPtrOutput) ToRepositoryIamPolicyPtrOutputWithContext ¶
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 ¶
type RepositoryInput interface { pulumi.Input ToRepositoryOutput() RepositoryOutput ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput }
type RepositoryMap ¶
type RepositoryMap map[string]RepositoryInput
func (RepositoryMap) ElementType ¶
func (RepositoryMap) ElementType() reflect.Type
func (RepositoryMap) ToRepositoryMapOutput ¶
func (i RepositoryMap) ToRepositoryMapOutput() RepositoryMapOutput
func (RepositoryMap) ToRepositoryMapOutputWithContext ¶
func (i RepositoryMap) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput
type RepositoryMapInput ¶
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 ¶
type RepositoryMapOutput struct{ *pulumi.OutputState }
func (RepositoryMapOutput) ElementType ¶
func (RepositoryMapOutput) ElementType() reflect.Type
func (RepositoryMapOutput) MapIndex ¶
func (o RepositoryMapOutput) MapIndex(k pulumi.StringInput) RepositoryOutput
func (RepositoryMapOutput) ToRepositoryMapOutput ¶
func (o RepositoryMapOutput) ToRepositoryMapOutput() RepositoryMapOutput
func (RepositoryMapOutput) ToRepositoryMapOutputWithContext ¶
func (o RepositoryMapOutput) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput
type RepositoryOutput ¶
type RepositoryOutput struct{ *pulumi.OutputState }
func (RepositoryOutput) ElementType ¶
func (RepositoryOutput) ElementType() reflect.Type
func (RepositoryOutput) ToRepositoryOutput ¶
func (o RepositoryOutput) ToRepositoryOutput() RepositoryOutput
func (RepositoryOutput) ToRepositoryOutputWithContext ¶
func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
func (RepositoryOutput) ToRepositoryPtrOutput ¶
func (o RepositoryOutput) ToRepositoryPtrOutput() RepositoryPtrOutput
func (RepositoryOutput) ToRepositoryPtrOutputWithContext ¶
func (o RepositoryOutput) ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput
type RepositoryPtrInput ¶
type RepositoryPtrInput interface { pulumi.Input ToRepositoryPtrOutput() RepositoryPtrOutput ToRepositoryPtrOutputWithContext(ctx context.Context) RepositoryPtrOutput }
type RepositoryPtrOutput ¶
type RepositoryPtrOutput struct{ *pulumi.OutputState }
func (RepositoryPtrOutput) Elem ¶
func (o RepositoryPtrOutput) Elem() RepositoryOutput
func (RepositoryPtrOutput) ElementType ¶
func (RepositoryPtrOutput) ElementType() reflect.Type
func (RepositoryPtrOutput) ToRepositoryPtrOutput ¶
func (o RepositoryPtrOutput) ToRepositoryPtrOutput() RepositoryPtrOutput
func (RepositoryPtrOutput) ToRepositoryPtrOutputWithContext ¶
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. You can only create // alpha formats if you are a member of the [alpha user group](https://cloud.google.com/artifact-registry/docs/supported-formats#alpha-access). // - DOCKER // - MAVEN ([Preview](https://cloud.google.com/products#product-launch-stages)) // - NPM ([Preview](https://cloud.google.com/products#product-launch-stages)) // - PYTHON ([Preview](https://cloud.google.com/products#product-launch-stages)) // - APT ([alpha](https://cloud.google.com/products#product-launch-stages)) // - YUM ([alpha](https://cloud.google.com/products#product-launch-stages)) // - HELM ([alpha](https://cloud.google.com/products#product-launch-stages)) 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