pubsub

package
v0.14.2-dev Latest Latest
Warning

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

Go to latest
Published: Jul 3, 2018 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
}

Creates a subscription in Google's pubsub queueing system. For more information see [the official documentation](https://cloud.google.com/pubsub/docs) and [API](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions).

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

The maximum number of seconds a subscriber has to acknowledge a received message, otherwise the message is redelivered. Changing this forces a new resource to be created.

func (*Subscription) ID

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

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

func (*Subscription) Name

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

A unique name for the resource, required by pubsub. Changing this forces a new resource to be created.

func (*Subscription) Path

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

Path of the subscription in the format `projects/{project}/subscriptions/{sub}`

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

Block configuration for push options. More configuration options are detailed below.

func (*Subscription) Topic

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

The topic name or id to bind this subscription to, required by pubsub. Changing this forces a new resource to be created.

func (*Subscription) URN

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

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

type SubscriptionArgs

type SubscriptionArgs struct {
	// The maximum number of seconds a
	// subscriber has to acknowledge a received message, otherwise the message is
	// redelivered. Changing this forces a new resource to be created.
	AckDeadlineSeconds interface{}
	// A unique name for the resource, required by pubsub.
	// Changing this forces a new resource to be created.
	Name interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Block configuration for push options. More
	// configuration options are detailed below.
	PushConfig interface{}
	// The topic name or id to bind this subscription to, required by pubsub.
	// Changing this forces a new resource to be created.
	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 {
	// The maximum number of seconds a
	// subscriber has to acknowledge a received message, otherwise the message is
	// redelivered. Changing this forces a new resource to be created.
	AckDeadlineSeconds interface{}
	// A unique name for the resource, required by pubsub.
	// Changing this forces a new resource to be created.
	Name interface{}
	// Path of the subscription in the format `projects/{project}/subscriptions/{sub}`
	Path interface{}
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project interface{}
	// Block configuration for push options. More
	// configuration options are detailed below.
	PushConfig interface{}
	// The topic name or id to bind this subscription to, required by pubsub.
	// Changing this forces a new resource to be created.
	Topic interface{}
}

Input properties used for looking up and filtering Subscription resources.

type Topic

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

Creates a topic in Google's pubsub queueing system. For more information see [the official documentation](https://cloud.google.com/pubsub/docs) and [API](https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.topics).

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) Name

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

A unique name for the pubsub topic. Changing this forces a new resource to be created.

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 {
	// A unique name for the pubsub topic.
	// Changing this forces a new resource to be created.
	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 {
	// A unique name for the pubsub topic.
	// Changing this forces a new resource to be created.
	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