pubsub

package
v0.18.3 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Subscription

type Subscription struct {
	// contains filtered or unexported fields
}

A named resource representing the stream of messages from a single, specific topic, to be delivered to the subscribing application.

To get more information about Subscription, see:

* [API documentation](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions) * How-to Guides

func GetSubscription

func GetSubscription(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubscriptionState, opts ...pulumi.ResourceOpt) (*Subscription, error)

GetSubscription gets an existing Subscription 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 NewSubscription

func NewSubscription(ctx *pulumi.Context,
	name string, args *SubscriptionArgs, opts ...pulumi.ResourceOpt) (*Subscription, error)

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

func (*Subscription) AckDeadlineSeconds

func (r *Subscription) AckDeadlineSeconds() *pulumi.IntOutput

func (*Subscription) ID

func (r *Subscription) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Subscription) Labels added in v0.18.0

func (r *Subscription) Labels() *pulumi.MapOutput

func (*Subscription) MessageRetentionDuration added in v0.18.0

func (r *Subscription) MessageRetentionDuration() *pulumi.StringOutput

func (*Subscription) Name

func (r *Subscription) Name() *pulumi.StringOutput

func (*Subscription) Path

func (r *Subscription) Path() *pulumi.StringOutput

func (*Subscription) Project

func (r *Subscription) Project() *pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (*Subscription) PushConfig

func (r *Subscription) PushConfig() *pulumi.Output

func (*Subscription) RetainAckedMessages added in v0.18.0

func (r *Subscription) RetainAckedMessages() *pulumi.BoolOutput

func (*Subscription) Topic

func (r *Subscription) Topic() *pulumi.StringOutput

func (*Subscription) URN

func (r *Subscription) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SubscriptionArgs

type SubscriptionArgs struct {
	AckDeadlineSeconds       interface{}
	Labels                   interface{}
	MessageRetentionDuration interface{}
	Name                     interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project             interface{}
	PushConfig          interface{}
	RetainAckedMessages interface{}
	Topic               interface{}
}

The set of arguments for constructing a Subscription resource.

type SubscriptionIAMBinding

type SubscriptionIAMBinding struct {
	// contains filtered or unexported fields
}

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

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

> **Note:** `google_pubsub_subscription_iam_policy` **cannot** be used in conjunction with `google_pubsub_subscription_iam_binding` and `google_pubsub_subscription_iam_member` or they will fight over what your policy should be.

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

func GetSubscriptionIAMBinding

func GetSubscriptionIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubscriptionIAMBindingState, opts ...pulumi.ResourceOpt) (*SubscriptionIAMBinding, error)

GetSubscriptionIAMBinding gets an existing SubscriptionIAMBinding 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 NewSubscriptionIAMBinding

func NewSubscriptionIAMBinding(ctx *pulumi.Context,
	name string, args *SubscriptionIAMBindingArgs, opts ...pulumi.ResourceOpt) (*SubscriptionIAMBinding, error)

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

func (*SubscriptionIAMBinding) Etag

(Computed) The etag of the subscription's IAM policy.

func (*SubscriptionIAMBinding) ID

ID is this resource's unique identifier assigned by its provider.

func (*SubscriptionIAMBinding) Members

func (*SubscriptionIAMBinding) Project

The project in which the resource belongs. If it is not provided, the provider project is used.

func (*SubscriptionIAMBinding) Role

The role that should be applied. Only one `google_pubsub_subscription_iam_binding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (*SubscriptionIAMBinding) Subscription

func (r *SubscriptionIAMBinding) Subscription() *pulumi.StringOutput

The subscription name or id to bind to attach IAM policy to.

func (*SubscriptionIAMBinding) URN

URN is this resource's unique name assigned by Pulumi.

type SubscriptionIAMBindingArgs

type SubscriptionIAMBindingArgs struct {
	Members interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_subscription_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The subscription name or id to bind to attach IAM policy to.
	Subscription interface{}
}

The set of arguments for constructing a SubscriptionIAMBinding resource.

type SubscriptionIAMBindingState

type SubscriptionIAMBindingState struct {
	// (Computed) The etag of the subscription's IAM policy.
	Etag    interface{}
	Members interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_subscription_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The subscription name or id to bind to attach IAM policy to.
	Subscription interface{}
}

Input properties used for looking up and filtering SubscriptionIAMBinding resources.

type SubscriptionIAMMember

type SubscriptionIAMMember struct {
	// contains filtered or unexported fields
}

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

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

> **Note:** `google_pubsub_subscription_iam_policy` **cannot** be used in conjunction with `google_pubsub_subscription_iam_binding` and `google_pubsub_subscription_iam_member` or they will fight over what your policy should be.

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

func GetSubscriptionIAMMember

func GetSubscriptionIAMMember(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubscriptionIAMMemberState, opts ...pulumi.ResourceOpt) (*SubscriptionIAMMember, error)

GetSubscriptionIAMMember gets an existing SubscriptionIAMMember 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 NewSubscriptionIAMMember

func NewSubscriptionIAMMember(ctx *pulumi.Context,
	name string, args *SubscriptionIAMMemberArgs, opts ...pulumi.ResourceOpt) (*SubscriptionIAMMember, error)

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

func (*SubscriptionIAMMember) Etag

(Computed) The etag of the subscription's IAM policy.

func (*SubscriptionIAMMember) ID

ID is this resource's unique identifier assigned by its provider.

func (*SubscriptionIAMMember) Member

func (*SubscriptionIAMMember) Project

The project in which the resource belongs. If it is not provided, the provider project is used.

func (*SubscriptionIAMMember) Role

The role that should be applied. Only one `google_pubsub_subscription_iam_binding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (*SubscriptionIAMMember) Subscription

func (r *SubscriptionIAMMember) Subscription() *pulumi.StringOutput

The subscription name or id to bind to attach IAM policy to.

func (*SubscriptionIAMMember) URN

URN is this resource's unique name assigned by Pulumi.

type SubscriptionIAMMemberArgs

type SubscriptionIAMMemberArgs struct {
	Member interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_subscription_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The subscription name or id to bind to attach IAM policy to.
	Subscription interface{}
}

The set of arguments for constructing a SubscriptionIAMMember resource.

type SubscriptionIAMMemberState

type SubscriptionIAMMemberState struct {
	// (Computed) The etag of the subscription's IAM policy.
	Etag   interface{}
	Member interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_subscription_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The subscription name or id to bind to attach IAM policy to.
	Subscription interface{}
}

Input properties used for looking up and filtering SubscriptionIAMMember resources.

type SubscriptionIAMPolicy

type SubscriptionIAMPolicy struct {
	// contains filtered or unexported fields
}

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

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

> **Note:** `google_pubsub_subscription_iam_policy` **cannot** be used in conjunction with `google_pubsub_subscription_iam_binding` and `google_pubsub_subscription_iam_member` or they will fight over what your policy should be.

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

func GetSubscriptionIAMPolicy

func GetSubscriptionIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *SubscriptionIAMPolicyState, opts ...pulumi.ResourceOpt) (*SubscriptionIAMPolicy, error)

GetSubscriptionIAMPolicy gets an existing SubscriptionIAMPolicy 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 NewSubscriptionIAMPolicy

func NewSubscriptionIAMPolicy(ctx *pulumi.Context,
	name string, args *SubscriptionIAMPolicyArgs, opts ...pulumi.ResourceOpt) (*SubscriptionIAMPolicy, error)

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

func (*SubscriptionIAMPolicy) Etag

(Computed) The etag of the subscription's IAM policy.

func (*SubscriptionIAMPolicy) ID

ID is this resource's unique identifier assigned by its provider.

func (*SubscriptionIAMPolicy) PolicyData

func (r *SubscriptionIAMPolicy) PolicyData() *pulumi.StringOutput

The policy data generated by a `google_iam_policy` data source.

func (*SubscriptionIAMPolicy) Project

The project in which the resource belongs. If it is not provided, the provider project is used.

func (*SubscriptionIAMPolicy) Subscription

func (r *SubscriptionIAMPolicy) Subscription() *pulumi.StringOutput

The subscription name or id to bind to attach IAM policy to.

func (*SubscriptionIAMPolicy) URN

URN is this resource's unique name assigned by Pulumi.

type SubscriptionIAMPolicyArgs

type SubscriptionIAMPolicyArgs struct {
	// The policy data generated by
	// a `google_iam_policy` data source.
	PolicyData interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The subscription name or id to bind to attach IAM policy to.
	Subscription interface{}
}

The set of arguments for constructing a SubscriptionIAMPolicy resource.

type SubscriptionIAMPolicyState

type SubscriptionIAMPolicyState struct {
	// (Computed) The etag of the subscription's IAM policy.
	Etag interface{}
	// The policy data generated by
	// a `google_iam_policy` data source.
	PolicyData interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The subscription name or id to bind to attach IAM policy to.
	Subscription interface{}
}

Input properties used for looking up and filtering SubscriptionIAMPolicy resources.

type SubscriptionState

type SubscriptionState struct {
	AckDeadlineSeconds       interface{}
	Labels                   interface{}
	MessageRetentionDuration interface{}
	Name                     interface{}
	Path                     interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project             interface{}
	PushConfig          interface{}
	RetainAckedMessages interface{}
	Topic               interface{}
}

Input properties used for looking up and filtering Subscription resources.

type Topic

type Topic struct {
	// contains filtered or unexported fields
}

A named resource to which messages are sent by publishers.

To get more information about Topic, see:

* [API documentation](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics) * How-to Guides

<div class = "oics-button" style="float: right; margin: 0 0 -15px">

<a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=pubsub_topic_basic&cloudshell_image=gcr.io%2Fgraphite-cloud-shell-images%2Fterraform%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank">
  <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;">
</a>

</div>

func GetTopic

func GetTopic(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TopicState, opts ...pulumi.ResourceOpt) (*Topic, error)

GetTopic gets an existing Topic 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 NewTopic

func NewTopic(ctx *pulumi.Context,
	name string, args *TopicArgs, opts ...pulumi.ResourceOpt) (*Topic, error)

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

func (*Topic) ID

func (r *Topic) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Topic) Labels added in v0.18.0

func (r *Topic) Labels() *pulumi.MapOutput

func (*Topic) Name

func (r *Topic) Name() *pulumi.StringOutput

func (*Topic) Project

func (r *Topic) Project() *pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (*Topic) URN

func (r *Topic) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TopicArgs

type TopicArgs struct {
	Labels interface{}
	Name   interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

The set of arguments for constructing a Topic resource.

type TopicIAMBinding

type TopicIAMBinding struct {
	// contains filtered or unexported fields
}

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

* `google_pubsub_topic_iam_policy`: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached. * `google_pubsub_topic_iam_binding`: 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. * `google_pubsub_topic_iam_member`: 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:** `google_pubsub_topic_iam_policy` **cannot** be used in conjunction with `google_pubsub_topic_iam_binding` and `google_pubsub_topic_iam_member` or they will fight over what your policy should be.

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

func GetTopicIAMBinding

func GetTopicIAMBinding(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TopicIAMBindingState, opts ...pulumi.ResourceOpt) (*TopicIAMBinding, error)

GetTopicIAMBinding gets an existing TopicIAMBinding 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 NewTopicIAMBinding

func NewTopicIAMBinding(ctx *pulumi.Context,
	name string, args *TopicIAMBindingArgs, opts ...pulumi.ResourceOpt) (*TopicIAMBinding, error)

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

func (*TopicIAMBinding) Etag

func (r *TopicIAMBinding) Etag() *pulumi.StringOutput

(Computed) The etag of the topic's IAM policy.

func (*TopicIAMBinding) ID

func (r *TopicIAMBinding) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TopicIAMBinding) Members

func (r *TopicIAMBinding) Members() *pulumi.ArrayOutput

func (*TopicIAMBinding) Project

func (r *TopicIAMBinding) Project() *pulumi.StringOutput

The project in which the resource belongs. If it is not provided, the provider project is used.

func (*TopicIAMBinding) Role

func (r *TopicIAMBinding) Role() *pulumi.StringOutput

The role that should be applied. Only one `google_pubsub_topic_iam_binding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (*TopicIAMBinding) Topic

func (r *TopicIAMBinding) Topic() *pulumi.StringOutput

The topic name or id to bind to attach IAM policy to.

func (*TopicIAMBinding) URN

func (r *TopicIAMBinding) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TopicIAMBindingArgs

type TopicIAMBindingArgs struct {
	Members interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_topic_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The topic name or id to bind to attach IAM policy to.
	Topic interface{}
}

The set of arguments for constructing a TopicIAMBinding resource.

type TopicIAMBindingState

type TopicIAMBindingState struct {
	// (Computed) The etag of the topic's IAM policy.
	Etag    interface{}
	Members interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_topic_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The topic name or id to bind to attach IAM policy to.
	Topic interface{}
}

Input properties used for looking up and filtering TopicIAMBinding resources.

type TopicIAMMember

type TopicIAMMember struct {
	// contains filtered or unexported fields
}

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

* `google_pubsub_topic_iam_policy`: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached. * `google_pubsub_topic_iam_binding`: 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. * `google_pubsub_topic_iam_member`: 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:** `google_pubsub_topic_iam_policy` **cannot** be used in conjunction with `google_pubsub_topic_iam_binding` and `google_pubsub_topic_iam_member` or they will fight over what your policy should be.

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

func GetTopicIAMMember

func GetTopicIAMMember(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TopicIAMMemberState, opts ...pulumi.ResourceOpt) (*TopicIAMMember, error)

GetTopicIAMMember gets an existing TopicIAMMember 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 NewTopicIAMMember

func NewTopicIAMMember(ctx *pulumi.Context,
	name string, args *TopicIAMMemberArgs, opts ...pulumi.ResourceOpt) (*TopicIAMMember, error)

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

func (*TopicIAMMember) Etag

func (r *TopicIAMMember) Etag() *pulumi.StringOutput

(Computed) The etag of the topic's IAM policy.

func (*TopicIAMMember) ID

func (r *TopicIAMMember) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TopicIAMMember) Member

func (r *TopicIAMMember) Member() *pulumi.StringOutput

func (*TopicIAMMember) Project

func (r *TopicIAMMember) Project() *pulumi.StringOutput

The project in which the resource belongs. If it is not provided, the provider project is used.

func (*TopicIAMMember) Role

func (r *TopicIAMMember) Role() *pulumi.StringOutput

The role that should be applied. Only one `google_pubsub_topic_iam_binding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (*TopicIAMMember) Topic

func (r *TopicIAMMember) Topic() *pulumi.StringOutput

The topic name or id to bind to attach IAM policy to.

func (*TopicIAMMember) URN

func (r *TopicIAMMember) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TopicIAMMemberArgs

type TopicIAMMemberArgs struct {
	Member interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_topic_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The topic name or id to bind to attach IAM policy to.
	Topic interface{}
}

The set of arguments for constructing a TopicIAMMember resource.

type TopicIAMMemberState

type TopicIAMMemberState struct {
	// (Computed) The etag of the topic's IAM policy.
	Etag   interface{}
	Member interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The role that should be applied. Only one
	// `google_pubsub_topic_iam_binding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role interface{}
	// The topic name or id to bind to attach IAM policy to.
	Topic interface{}
}

Input properties used for looking up and filtering TopicIAMMember resources.

type TopicIAMPolicy

type TopicIAMPolicy struct {
	// contains filtered or unexported fields
}

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

* `google_pubsub_topic_iam_policy`: Authoritative. Sets the IAM policy for the topic and replaces any existing policy already attached. * `google_pubsub_topic_iam_binding`: 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. * `google_pubsub_topic_iam_member`: 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:** `google_pubsub_topic_iam_policy` **cannot** be used in conjunction with `google_pubsub_topic_iam_binding` and `google_pubsub_topic_iam_member` or they will fight over what your policy should be.

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

func GetTopicIAMPolicy

func GetTopicIAMPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *TopicIAMPolicyState, opts ...pulumi.ResourceOpt) (*TopicIAMPolicy, error)

GetTopicIAMPolicy gets an existing TopicIAMPolicy 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 NewTopicIAMPolicy

func NewTopicIAMPolicy(ctx *pulumi.Context,
	name string, args *TopicIAMPolicyArgs, opts ...pulumi.ResourceOpt) (*TopicIAMPolicy, error)

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

func (*TopicIAMPolicy) Etag

func (r *TopicIAMPolicy) Etag() *pulumi.StringOutput

(Computed) The etag of the topic's IAM policy.

func (*TopicIAMPolicy) ID

func (r *TopicIAMPolicy) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*TopicIAMPolicy) PolicyData

func (r *TopicIAMPolicy) PolicyData() *pulumi.StringOutput

The policy data generated by a `google_iam_policy` data source.

func (*TopicIAMPolicy) Project

func (r *TopicIAMPolicy) Project() *pulumi.StringOutput

The project in which the resource belongs. If it is not provided, the provider project is used.

func (*TopicIAMPolicy) Topic

func (r *TopicIAMPolicy) Topic() *pulumi.StringOutput

The topic name or id to bind to attach IAM policy to.

func (*TopicIAMPolicy) URN

func (r *TopicIAMPolicy) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type TopicIAMPolicyArgs

type TopicIAMPolicyArgs struct {
	// The policy data generated by
	// a `google_iam_policy` data source.
	PolicyData interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The topic name or id to bind to attach IAM policy to.
	Topic interface{}
}

The set of arguments for constructing a TopicIAMPolicy resource.

type TopicIAMPolicyState

type TopicIAMPolicyState struct {
	// (Computed) The etag of the topic's IAM policy.
	Etag interface{}
	// The policy data generated by
	// a `google_iam_policy` data source.
	PolicyData interface{}
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// The topic name or id to bind to attach IAM policy to.
	Topic interface{}
}

Input properties used for looking up and filtering TopicIAMPolicy resources.

type TopicState

type TopicState struct {
	Labels interface{}
	Name   interface{}
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project interface{}
}

Input properties used for looking up and filtering Topic resources.

Jump to

Keyboard shortcuts

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