1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. pubsub
  5. getTopicIamPolicy
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

gcp.pubsub.getTopicIamPolicy

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi

    Retrieves the current IAM policy data for topic

    example

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const policy = gcp.pubsub.getTopicIamPolicy({
        project: example.project,
        topic: example.name,
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    policy = gcp.pubsub.get_topic_iam_policy(project=example["project"],
        topic=example["name"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/pubsub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := pubsub.GetTopicIamPolicy(ctx, &pubsub.GetTopicIamPolicyArgs{
    			Project: pulumi.StringRef(example.Project),
    			Topic:   example.Name,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var policy = Gcp.PubSub.GetTopicIamPolicy.Invoke(new()
        {
            Project = example.Project,
            Topic = example.Name,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.pubsub.PubsubFunctions;
    import com.pulumi.gcp.pubsub.inputs.GetTopicIamPolicyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var policy = PubsubFunctions.getTopicIamPolicy(GetTopicIamPolicyArgs.builder()
                .project(example.project())
                .topic(example.name())
                .build());
    
        }
    }
    
    variables:
      policy:
        fn::invoke:
          Function: gcp:pubsub:getTopicIamPolicy
          Arguments:
            project: ${example.project}
            topic: ${example.name}
    

    Using getTopicIamPolicy

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getTopicIamPolicy(args: GetTopicIamPolicyArgs, opts?: InvokeOptions): Promise<GetTopicIamPolicyResult>
    function getTopicIamPolicyOutput(args: GetTopicIamPolicyOutputArgs, opts?: InvokeOptions): Output<GetTopicIamPolicyResult>
    def get_topic_iam_policy(project: Optional[str] = None,
                             topic: Optional[str] = None,
                             opts: Optional[InvokeOptions] = None) -> GetTopicIamPolicyResult
    def get_topic_iam_policy_output(project: Optional[pulumi.Input[str]] = None,
                             topic: Optional[pulumi.Input[str]] = None,
                             opts: Optional[InvokeOptions] = None) -> Output[GetTopicIamPolicyResult]
    func GetTopicIamPolicy(ctx *Context, args *GetTopicIamPolicyArgs, opts ...InvokeOption) (*GetTopicIamPolicyResult, error)
    func GetTopicIamPolicyOutput(ctx *Context, args *GetTopicIamPolicyOutputArgs, opts ...InvokeOption) GetTopicIamPolicyResultOutput

    > Note: This function is named GetTopicIamPolicy in the Go SDK.

    public static class GetTopicIamPolicy 
    {
        public static Task<GetTopicIamPolicyResult> InvokeAsync(GetTopicIamPolicyArgs args, InvokeOptions? opts = null)
        public static Output<GetTopicIamPolicyResult> Invoke(GetTopicIamPolicyInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetTopicIamPolicyResult> getTopicIamPolicy(GetTopicIamPolicyArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: gcp:pubsub/getTopicIamPolicy:getTopicIamPolicy
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Topic string
    Used to find the parent resource to bind the IAM policy to
    Project string
    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.
    Topic string
    Used to find the parent resource to bind the IAM policy to
    Project string
    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.
    topic String
    Used to find the parent resource to bind the IAM policy to
    project String
    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.
    topic string
    Used to find the parent resource to bind the IAM policy to
    project string
    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.
    topic str
    Used to find the parent resource to bind the IAM policy to
    project str
    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.
    topic String
    Used to find the parent resource to bind the IAM policy to
    project String
    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.

    getTopicIamPolicy Result

    The following output properties are available:

    Etag string
    (Computed) The etag of the IAM policy.
    Id string
    The provider-assigned unique ID for this managed resource.
    PolicyData string
    (Required only by gcp.pubsub.TopicIAMPolicy) The policy data generated by a gcp.organizations.getIAMPolicy data source.
    Project string
    Topic string
    Etag string
    (Computed) The etag of the IAM policy.
    Id string
    The provider-assigned unique ID for this managed resource.
    PolicyData string
    (Required only by gcp.pubsub.TopicIAMPolicy) The policy data generated by a gcp.organizations.getIAMPolicy data source.
    Project string
    Topic string
    etag String
    (Computed) The etag of the IAM policy.
    id String
    The provider-assigned unique ID for this managed resource.
    policyData String
    (Required only by gcp.pubsub.TopicIAMPolicy) The policy data generated by a gcp.organizations.getIAMPolicy data source.
    project String
    topic String
    etag string
    (Computed) The etag of the IAM policy.
    id string
    The provider-assigned unique ID for this managed resource.
    policyData string
    (Required only by gcp.pubsub.TopicIAMPolicy) The policy data generated by a gcp.organizations.getIAMPolicy data source.
    project string
    topic string
    etag str
    (Computed) The etag of the IAM policy.
    id str
    The provider-assigned unique ID for this managed resource.
    policy_data str
    (Required only by gcp.pubsub.TopicIAMPolicy) The policy data generated by a gcp.organizations.getIAMPolicy data source.
    project str
    topic str
    etag String
    (Computed) The etag of the IAM policy.
    id String
    The provider-assigned unique ID for this managed resource.
    policyData String
    (Required only by gcp.pubsub.TopicIAMPolicy) The policy data generated by a gcp.organizations.getIAMPolicy data source.
    project String
    topic String

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v8.3.1 published on Wednesday, Sep 25, 2024 by Pulumi