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
- 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
- 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
- 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 RepositoryPubsubConfig
- type RepositoryPubsubConfigArgs
- type RepositoryPubsubConfigArray
- func (RepositoryPubsubConfigArray) ElementType() reflect.Type
- func (i RepositoryPubsubConfigArray) ToRepositoryPubsubConfigArrayOutput() RepositoryPubsubConfigArrayOutput
- func (i RepositoryPubsubConfigArray) ToRepositoryPubsubConfigArrayOutputWithContext(ctx context.Context) RepositoryPubsubConfigArrayOutput
- type RepositoryPubsubConfigArrayInput
- type RepositoryPubsubConfigArrayOutput
- func (RepositoryPubsubConfigArrayOutput) ElementType() reflect.Type
- func (o RepositoryPubsubConfigArrayOutput) Index(i pulumi.IntInput) RepositoryPubsubConfigOutput
- func (o RepositoryPubsubConfigArrayOutput) ToRepositoryPubsubConfigArrayOutput() RepositoryPubsubConfigArrayOutput
- func (o RepositoryPubsubConfigArrayOutput) ToRepositoryPubsubConfigArrayOutputWithContext(ctx context.Context) RepositoryPubsubConfigArrayOutput
- type RepositoryPubsubConfigInput
- type RepositoryPubsubConfigOutput
- func (RepositoryPubsubConfigOutput) ElementType() reflect.Type
- func (o RepositoryPubsubConfigOutput) MessageFormat() pulumi.StringOutput
- func (o RepositoryPubsubConfigOutput) ServiceAccountEmail() pulumi.StringPtrOutput
- func (o RepositoryPubsubConfigOutput) ToRepositoryPubsubConfigOutput() RepositoryPubsubConfigOutput
- func (o RepositoryPubsubConfigOutput) ToRepositoryPubsubConfigOutputWithContext(ctx context.Context) RepositoryPubsubConfigOutput
- func (o RepositoryPubsubConfigOutput) Topic() pulumi.StringOutput
- 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 // Resource name of the repository, of the form `{{repo}}`. // The repo name may contain slashes. eg, `name/with/slash` 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"` // How this repository publishes a change in the repository through Cloud Pub/Sub. // Keyed by the topic names. // Structure is documented below. PubsubConfigs RepositoryPubsubConfigArrayOutput `pulumi:"pubsubConfigs"` // The disk usage of the repo, in bytes. Size pulumi.IntOutput `pulumi:"size"` // URL to clone the repository from Google Cloud Source Repositories. Url pulumi.StringOutput `pulumi:"url"` }
A repository (or repo) is a Git repository storing versioned source content.
To get more information about Repository, see:
* [API documentation](https://cloud.google.com/source-repositories/docs/reference/rest/v1/projects.repos) * How-to Guides
- [Official Documentation](https://cloud.google.com/source-repositories/)
## Example Usage ### Sourcerepo Repository Basic
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/sourcerepo" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sourcerepo.NewRepository(ctx, "my_repo", nil) if err != nil { return err } return nil }) }
``` ### Sourcerepo Repository Full
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/serviceAccount" "github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/sourcerepo" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { testAccount, err := serviceAccount.NewAccount(ctx, "testAccount", &serviceAccount.AccountArgs{ AccountId: pulumi.String("my-account"), DisplayName: pulumi.String("Test Service Account"), }) if err != nil { return err } topic, err := pubsub.NewTopic(ctx, "topic", nil) if err != nil { return err } _, err = sourcerepo.NewRepository(ctx, "my_repo", &sourcerepo.RepositoryArgs{ PubsubConfigs: sourcerepo.RepositoryPubsubConfigArray{ &sourcerepo.RepositoryPubsubConfigArgs{ Topic: topic.ID(), MessageFormat: pulumi.String("JSON"), ServiceAccountEmail: testAccount.Email, }, }, }) if err != nil { return err } return nil }) }
```
## Import
Repository can be imported using any of these accepted formats ¶
```sh
$ pulumi import gcp:sourcerepo/repository:Repository default projects/{{project}}/repos/{{name}}
```
```sh
$ pulumi import gcp:sourcerepo/repository:Repository default {{name}}
```
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 { // Resource name of the repository, of the form `{{repo}}`. // The repo name may contain slashes. eg, `name/with/slash` 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 // How this repository publishes a change in the repository through Cloud Pub/Sub. // Keyed by the topic names. // Structure is documented below. PubsubConfigs RepositoryPubsubConfigArrayInput }
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"` 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"` Repository pulumi.StringOutput `pulumi:"repository"` // The role that should be applied. Only one // `pubsub.TopicIAMBinding` 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 Cloud Pub/Sub Topic. Each of these resources serves a different use case:
* `pubsub.TopicIAMPolicy`: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached. * `pubsub.TopicIAMBinding`: 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 topic are preserved. * `pubsub.TopicIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the topic are preserved.
> **Note:** `pubsub.TopicIAMPolicy` **cannot** be used in conjunction with `pubsub.TopicIAMBinding` and `pubsub.TopicIAMMember` or they will fight over what your policy should be.
> **Note:** `pubsub.TopicIAMBinding` resources **can be** used in conjunction with `pubsub.TopicIAMMember` resources **only if** they do not grant privilege to the same role.
## google\_pubsub\_topic\_iam\_policy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations" "github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "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 = pubsub.NewTopicIAMPolicy(ctx, "policy", &pubsub.TopicIAMPolicyArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.Name), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## google\_pubsub\_topic\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopicIAMBinding(ctx, "binding", &pubsub.TopicIAMBindingArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.Name), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## google\_pubsub\_topic\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopicIAMMember(ctx, "member", &pubsub.TopicIAMMemberArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.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}}/topics/{{name}} * {{project}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Pub/Sub topic 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:sourcerepo/repositoryIamBinding:RepositoryIamBinding editor "projects/{{project}}/topics/{{topic}} 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:sourcerepo/repositoryIamBinding:RepositoryIamBinding editor "projects/{{project}}/topics/{{topic}} roles/viewer"
```
IAM policy imports use the identifier of the resource in question, e.g.
```sh
$ pulumi import gcp:sourcerepo/repositoryIamBinding:RepositoryIamBinding editor projects/{{project}}/topics/{{topic}}
```
-> **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 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 Repository pulumi.StringInput // The role that should be applied. Only one // `pubsub.TopicIAMBinding` 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) 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 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 Repository pulumi.StringPtrInput // The role that should be applied. Only one // `pubsub.TopicIAMBinding` 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"` 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"` Repository pulumi.StringOutput `pulumi:"repository"` // The role that should be applied. Only one // `pubsub.TopicIAMBinding` 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 Cloud Pub/Sub Topic. Each of these resources serves a different use case:
* `pubsub.TopicIAMPolicy`: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached. * `pubsub.TopicIAMBinding`: 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 topic are preserved. * `pubsub.TopicIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the topic are preserved.
> **Note:** `pubsub.TopicIAMPolicy` **cannot** be used in conjunction with `pubsub.TopicIAMBinding` and `pubsub.TopicIAMMember` or they will fight over what your policy should be.
> **Note:** `pubsub.TopicIAMBinding` resources **can be** used in conjunction with `pubsub.TopicIAMMember` resources **only if** they do not grant privilege to the same role.
## google\_pubsub\_topic\_iam\_policy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations" "github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "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 = pubsub.NewTopicIAMPolicy(ctx, "policy", &pubsub.TopicIAMPolicyArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.Name), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## google\_pubsub\_topic\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopicIAMBinding(ctx, "binding", &pubsub.TopicIAMBindingArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.Name), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## google\_pubsub\_topic\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopicIAMMember(ctx, "member", &pubsub.TopicIAMMemberArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.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}}/topics/{{name}} * {{project}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Pub/Sub topic 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:sourcerepo/repositoryIamMember:RepositoryIamMember editor "projects/{{project}}/topics/{{topic}} 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:sourcerepo/repositoryIamMember:RepositoryIamMember editor "projects/{{project}}/topics/{{topic}} roles/viewer"
```
IAM policy imports use the identifier of the resource in question, e.g.
```sh
$ pulumi import gcp:sourcerepo/repositoryIamMember:RepositoryIamMember editor projects/{{project}}/topics/{{topic}}
```
-> **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 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 Repository pulumi.StringInput // The role that should be applied. Only one // `pubsub.TopicIAMBinding` 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) 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 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 Repository pulumi.StringPtrInput // The role that should be applied. Only one // `pubsub.TopicIAMBinding` 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 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"` Repository pulumi.StringOutput `pulumi:"repository"` }
Three different resources help you manage your IAM policy for Cloud Pub/Sub Topic. Each of these resources serves a different use case:
* `pubsub.TopicIAMPolicy`: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached. * `pubsub.TopicIAMBinding`: 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 topic are preserved. * `pubsub.TopicIAMMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the topic are preserved.
> **Note:** `pubsub.TopicIAMPolicy` **cannot** be used in conjunction with `pubsub.TopicIAMBinding` and `pubsub.TopicIAMMember` or they will fight over what your policy should be.
> **Note:** `pubsub.TopicIAMBinding` resources **can be** used in conjunction with `pubsub.TopicIAMMember` resources **only if** they do not grant privilege to the same role.
## google\_pubsub\_topic\_iam\_policy
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations" "github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "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 = pubsub.NewTopicIAMPolicy(ctx, "policy", &pubsub.TopicIAMPolicyArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.Name), PolicyData: pulumi.String(admin.PolicyData), }) if err != nil { return err } return nil }) }
```
## google\_pubsub\_topic\_iam\_binding
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopicIAMBinding(ctx, "binding", &pubsub.TopicIAMBindingArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.Name), Role: pulumi.String("roles/viewer"), Members: pulumi.StringArray{ pulumi.String("user:jane@example.com"), }, }) if err != nil { return err } return nil }) }
```
## google\_pubsub\_topic\_iam\_member
```go package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/pubsub" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := pubsub.NewTopicIAMMember(ctx, "member", &pubsub.TopicIAMMemberArgs{ Project: pulumi.Any(google_pubsub_topic.Example.Project), Topic: pulumi.Any(google_pubsub_topic.Example.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}}/topics/{{name}} * {{project}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Cloud Pub/Sub topic 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:sourcerepo/repositoryIamPolicy:RepositoryIamPolicy editor "projects/{{project}}/topics/{{topic}} 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:sourcerepo/repositoryIamPolicy:RepositoryIamPolicy editor "projects/{{project}}/topics/{{topic}} roles/viewer"
```
IAM policy imports use the identifier of the resource in question, e.g.
```sh
$ pulumi import gcp:sourcerepo/repositoryIamPolicy:RepositoryIamPolicy editor projects/{{project}}/topics/{{topic}}
```
-> **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 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 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) 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 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 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) 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 RepositoryPubsubConfig ¶
type RepositoryPubsubConfig struct { // The format of the Cloud Pub/Sub messages. // - PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent. // - JSON: The message payload is a JSON string of SourceRepoEvent. // Possible values are `PROTOBUF` and `JSON`. MessageFormat string `pulumi:"messageFormat"` // Email address of the service account used for publishing Cloud Pub/Sub messages. // This service account needs to be in the same project as the PubsubConfig. When added, // the caller needs to have iam.serviceAccounts.actAs permission on this service account. // If unspecified, it defaults to the compute engine default service account. ServiceAccountEmail *string `pulumi:"serviceAccountEmail"` // The identifier for this object. Format specified above. Topic string `pulumi:"topic"` }
type RepositoryPubsubConfigArgs ¶
type RepositoryPubsubConfigArgs struct { // The format of the Cloud Pub/Sub messages. // - PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent. // - JSON: The message payload is a JSON string of SourceRepoEvent. // Possible values are `PROTOBUF` and `JSON`. MessageFormat pulumi.StringInput `pulumi:"messageFormat"` // Email address of the service account used for publishing Cloud Pub/Sub messages. // This service account needs to be in the same project as the PubsubConfig. When added, // the caller needs to have iam.serviceAccounts.actAs permission on this service account. // If unspecified, it defaults to the compute engine default service account. ServiceAccountEmail pulumi.StringPtrInput `pulumi:"serviceAccountEmail"` // The identifier for this object. Format specified above. Topic pulumi.StringInput `pulumi:"topic"` }
func (RepositoryPubsubConfigArgs) ElementType ¶
func (RepositoryPubsubConfigArgs) ElementType() reflect.Type
func (RepositoryPubsubConfigArgs) ToRepositoryPubsubConfigOutput ¶
func (i RepositoryPubsubConfigArgs) ToRepositoryPubsubConfigOutput() RepositoryPubsubConfigOutput
func (RepositoryPubsubConfigArgs) ToRepositoryPubsubConfigOutputWithContext ¶
func (i RepositoryPubsubConfigArgs) ToRepositoryPubsubConfigOutputWithContext(ctx context.Context) RepositoryPubsubConfigOutput
type RepositoryPubsubConfigArray ¶
type RepositoryPubsubConfigArray []RepositoryPubsubConfigInput
func (RepositoryPubsubConfigArray) ElementType ¶
func (RepositoryPubsubConfigArray) ElementType() reflect.Type
func (RepositoryPubsubConfigArray) ToRepositoryPubsubConfigArrayOutput ¶
func (i RepositoryPubsubConfigArray) ToRepositoryPubsubConfigArrayOutput() RepositoryPubsubConfigArrayOutput
func (RepositoryPubsubConfigArray) ToRepositoryPubsubConfigArrayOutputWithContext ¶
func (i RepositoryPubsubConfigArray) ToRepositoryPubsubConfigArrayOutputWithContext(ctx context.Context) RepositoryPubsubConfigArrayOutput
type RepositoryPubsubConfigArrayInput ¶
type RepositoryPubsubConfigArrayInput interface { pulumi.Input ToRepositoryPubsubConfigArrayOutput() RepositoryPubsubConfigArrayOutput ToRepositoryPubsubConfigArrayOutputWithContext(context.Context) RepositoryPubsubConfigArrayOutput }
RepositoryPubsubConfigArrayInput is an input type that accepts RepositoryPubsubConfigArray and RepositoryPubsubConfigArrayOutput values. You can construct a concrete instance of `RepositoryPubsubConfigArrayInput` via:
RepositoryPubsubConfigArray{ RepositoryPubsubConfigArgs{...} }
type RepositoryPubsubConfigArrayOutput ¶
type RepositoryPubsubConfigArrayOutput struct{ *pulumi.OutputState }
func (RepositoryPubsubConfigArrayOutput) ElementType ¶
func (RepositoryPubsubConfigArrayOutput) ElementType() reflect.Type
func (RepositoryPubsubConfigArrayOutput) Index ¶
func (o RepositoryPubsubConfigArrayOutput) Index(i pulumi.IntInput) RepositoryPubsubConfigOutput
func (RepositoryPubsubConfigArrayOutput) ToRepositoryPubsubConfigArrayOutput ¶
func (o RepositoryPubsubConfigArrayOutput) ToRepositoryPubsubConfigArrayOutput() RepositoryPubsubConfigArrayOutput
func (RepositoryPubsubConfigArrayOutput) ToRepositoryPubsubConfigArrayOutputWithContext ¶
func (o RepositoryPubsubConfigArrayOutput) ToRepositoryPubsubConfigArrayOutputWithContext(ctx context.Context) RepositoryPubsubConfigArrayOutput
type RepositoryPubsubConfigInput ¶
type RepositoryPubsubConfigInput interface { pulumi.Input ToRepositoryPubsubConfigOutput() RepositoryPubsubConfigOutput ToRepositoryPubsubConfigOutputWithContext(context.Context) RepositoryPubsubConfigOutput }
RepositoryPubsubConfigInput is an input type that accepts RepositoryPubsubConfigArgs and RepositoryPubsubConfigOutput values. You can construct a concrete instance of `RepositoryPubsubConfigInput` via:
RepositoryPubsubConfigArgs{...}
type RepositoryPubsubConfigOutput ¶
type RepositoryPubsubConfigOutput struct{ *pulumi.OutputState }
func (RepositoryPubsubConfigOutput) ElementType ¶
func (RepositoryPubsubConfigOutput) ElementType() reflect.Type
func (RepositoryPubsubConfigOutput) MessageFormat ¶
func (o RepositoryPubsubConfigOutput) MessageFormat() pulumi.StringOutput
The format of the Cloud Pub/Sub messages.
- PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent.
- JSON: The message payload is a JSON string of SourceRepoEvent. Possible values are `PROTOBUF` and `JSON`.
func (RepositoryPubsubConfigOutput) ServiceAccountEmail ¶
func (o RepositoryPubsubConfigOutput) ServiceAccountEmail() pulumi.StringPtrOutput
Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account.
func (RepositoryPubsubConfigOutput) ToRepositoryPubsubConfigOutput ¶
func (o RepositoryPubsubConfigOutput) ToRepositoryPubsubConfigOutput() RepositoryPubsubConfigOutput
func (RepositoryPubsubConfigOutput) ToRepositoryPubsubConfigOutputWithContext ¶
func (o RepositoryPubsubConfigOutput) ToRepositoryPubsubConfigOutputWithContext(ctx context.Context) RepositoryPubsubConfigOutput
func (RepositoryPubsubConfigOutput) Topic ¶
func (o RepositoryPubsubConfigOutput) Topic() pulumi.StringOutput
The identifier for this object. Format specified above.
type RepositoryState ¶
type RepositoryState struct { // Resource name of the repository, of the form `{{repo}}`. // The repo name may contain slashes. eg, `name/with/slash` 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 // How this repository publishes a change in the repository through Cloud Pub/Sub. // Keyed by the topic names. // Structure is documented below. PubsubConfigs RepositoryPubsubConfigArrayInput // The disk usage of the repo, in bytes. Size pulumi.IntPtrInput // URL to clone the repository from Google Cloud Source Repositories. Url pulumi.StringPtrInput }
func (RepositoryState) ElementType ¶
func (RepositoryState) ElementType() reflect.Type