1. Packages
  2. Azure Classic
  3. API Docs
  4. eventhub
  5. getSas

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

azure.eventhub.getSas

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

    Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Event Hub.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const exampleEventHubNamespace = new azure.eventhub.EventHubNamespace("example", {
        name: "example-ehn",
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        sku: "Basic",
    });
    const exampleEventHub = new azure.eventhub.EventHub("example", {
        name: "example-eh",
        namespaceName: exampleEventHubNamespace.name,
        resourceGroupName: exampleResourceGroup.name,
        partitionCount: 1,
        messageRetention: 1,
    });
    const exampleAuthorizationRule = new azure.eventhub.AuthorizationRule("example", {
        name: "example-ehar",
        namespaceName: exampleEventHubNamespace.name,
        eventhubName: exampleEventHub.name,
        resourceGroupName: exampleResourceGroup.name,
        listen: true,
        send: true,
        manage: true,
    });
    const example = azure.eventhub.getAuthorizationRuleOutput({
        name: exampleAuthorizationRule.name,
        namespaceName: exampleEventHubNamespace.name,
        eventhubName: exampleEventHub.name,
        resourceGroupName: exampleResourceGroup.name,
    });
    const exampleGetSas = example.apply(example => azure.eventhub.getSasOutput({
        connectionString: example.primaryConnectionString,
        expiry: "2023-06-23T00:00:00Z",
    }));
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_event_hub_namespace = azure.eventhub.EventHubNamespace("example",
        name="example-ehn",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        sku="Basic")
    example_event_hub = azure.eventhub.EventHub("example",
        name="example-eh",
        namespace_name=example_event_hub_namespace.name,
        resource_group_name=example_resource_group.name,
        partition_count=1,
        message_retention=1)
    example_authorization_rule = azure.eventhub.AuthorizationRule("example",
        name="example-ehar",
        namespace_name=example_event_hub_namespace.name,
        eventhub_name=example_event_hub.name,
        resource_group_name=example_resource_group.name,
        listen=True,
        send=True,
        manage=True)
    example = azure.eventhub.get_authorization_rule_output(name=example_authorization_rule.name,
        namespace_name=example_event_hub_namespace.name,
        eventhub_name=example_event_hub.name,
        resource_group_name=example_resource_group.name)
    example_get_sas = example.apply(lambda example: azure.eventhub.get_sas_output(connection_string=example.primary_connection_string,
        expiry="2023-06-23T00:00:00Z"))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-resources"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "example", &eventhub.EventHubNamespaceArgs{
    			Name:              pulumi.String("example-ehn"),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Sku:               pulumi.String("Basic"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleEventHub, err := eventhub.NewEventHub(ctx, "example", &eventhub.EventHubArgs{
    			Name:              pulumi.String("example-eh"),
    			NamespaceName:     exampleEventHubNamespace.Name,
    			ResourceGroupName: exampleResourceGroup.Name,
    			PartitionCount:    pulumi.Int(1),
    			MessageRetention:  pulumi.Int(1),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, "example", &eventhub.AuthorizationRuleArgs{
    			Name:              pulumi.String("example-ehar"),
    			NamespaceName:     exampleEventHubNamespace.Name,
    			EventhubName:      exampleEventHub.Name,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Listen:            pulumi.Bool(true),
    			Send:              pulumi.Bool(true),
    			Manage:            pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		example := eventhub.LookupAuthorizationRuleOutput(ctx, eventhub.GetAuthorizationRuleOutputArgs{
    			Name:              exampleAuthorizationRule.Name,
    			NamespaceName:     exampleEventHubNamespace.Name,
    			EventhubName:      exampleEventHub.Name,
    			ResourceGroupName: exampleResourceGroup.Name,
    		}, nil)
    		_ = example.ApplyT(func(example eventhub.GetAuthorizationRuleResult) (eventhub.GetSasResult, error) {
    			return eventhub.GetSasResult(interface{}(eventhub.GetSasOutput(ctx, eventhub.GetSasOutputArgs{
    				ConnectionString: example.PrimaryConnectionString,
    				Expiry:           "2023-06-23T00:00:00Z",
    			}, nil))), nil
    		}).(eventhub.GetSasResultOutput)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West Europe",
        });
    
        var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace("example", new()
        {
            Name = "example-ehn",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Sku = "Basic",
        });
    
        var exampleEventHub = new Azure.EventHub.EventHub("example", new()
        {
            Name = "example-eh",
            NamespaceName = exampleEventHubNamespace.Name,
            ResourceGroupName = exampleResourceGroup.Name,
            PartitionCount = 1,
            MessageRetention = 1,
        });
    
        var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule("example", new()
        {
            Name = "example-ehar",
            NamespaceName = exampleEventHubNamespace.Name,
            EventhubName = exampleEventHub.Name,
            ResourceGroupName = exampleResourceGroup.Name,
            Listen = true,
            Send = true,
            Manage = true,
        });
    
        var example = Azure.EventHub.GetAuthorizationRule.Invoke(new()
        {
            Name = exampleAuthorizationRule.Name,
            NamespaceName = exampleEventHubNamespace.Name,
            EventhubName = exampleEventHub.Name,
            ResourceGroupName = exampleResourceGroup.Name,
        });
    
        var exampleGetSas = Azure.EventHub.GetSas.Invoke(new()
        {
            ConnectionString = example.Apply(getAuthorizationRuleResult => getAuthorizationRuleResult.PrimaryConnectionString),
            Expiry = "2023-06-23T00:00:00Z",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.eventhub.EventHubNamespace;
    import com.pulumi.azure.eventhub.EventHubNamespaceArgs;
    import com.pulumi.azure.eventhub.EventHub;
    import com.pulumi.azure.eventhub.EventHubArgs;
    import com.pulumi.azure.eventhub.AuthorizationRule;
    import com.pulumi.azure.eventhub.AuthorizationRuleArgs;
    import com.pulumi.azure.eventhub.EventhubFunctions;
    import com.pulumi.azure.eventhub.inputs.GetAuthorizationRuleArgs;
    import com.pulumi.azure.eventhub.inputs.GetSasArgs;
    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) {
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
                .name("example-resources")
                .location("West Europe")
                .build());
    
            var exampleEventHubNamespace = new EventHubNamespace("exampleEventHubNamespace", EventHubNamespaceArgs.builder()
                .name("example-ehn")
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .sku("Basic")
                .build());
    
            var exampleEventHub = new EventHub("exampleEventHub", EventHubArgs.builder()
                .name("example-eh")
                .namespaceName(exampleEventHubNamespace.name())
                .resourceGroupName(exampleResourceGroup.name())
                .partitionCount(1)
                .messageRetention(1)
                .build());
    
            var exampleAuthorizationRule = new AuthorizationRule("exampleAuthorizationRule", AuthorizationRuleArgs.builder()
                .name("example-ehar")
                .namespaceName(exampleEventHubNamespace.name())
                .eventhubName(exampleEventHub.name())
                .resourceGroupName(exampleResourceGroup.name())
                .listen(true)
                .send(true)
                .manage(true)
                .build());
    
            final var example = EventhubFunctions.getAuthorizationRule(GetAuthorizationRuleArgs.builder()
                .name(exampleAuthorizationRule.name())
                .namespaceName(exampleEventHubNamespace.name())
                .eventhubName(exampleEventHub.name())
                .resourceGroupName(exampleResourceGroup.name())
                .build());
    
            final var exampleGetSas = EventhubFunctions.getSas(GetSasArgs.builder()
                .connectionString(example.applyValue(getAuthorizationRuleResult -> getAuthorizationRuleResult).applyValue(example -> example.applyValue(getAuthorizationRuleResult -> getAuthorizationRuleResult.primaryConnectionString())))
                .expiry("2023-06-23T00:00:00Z")
                .build());
    
        }
    }
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        name: example
        properties:
          name: example-resources
          location: West Europe
      exampleEventHubNamespace:
        type: azure:eventhub:EventHubNamespace
        name: example
        properties:
          name: example-ehn
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          sku: Basic
      exampleEventHub:
        type: azure:eventhub:EventHub
        name: example
        properties:
          name: example-eh
          namespaceName: ${exampleEventHubNamespace.name}
          resourceGroupName: ${exampleResourceGroup.name}
          partitionCount: 1
          messageRetention: 1
      exampleAuthorizationRule:
        type: azure:eventhub:AuthorizationRule
        name: example
        properties:
          name: example-ehar
          namespaceName: ${exampleEventHubNamespace.name}
          eventhubName: ${exampleEventHub.name}
          resourceGroupName: ${exampleResourceGroup.name}
          listen: true
          send: true
          manage: true
    variables:
      example:
        fn::invoke:
          Function: azure:eventhub:getAuthorizationRule
          Arguments:
            name: ${exampleAuthorizationRule.name}
            namespaceName: ${exampleEventHubNamespace.name}
            eventhubName: ${exampleEventHub.name}
            resourceGroupName: ${exampleResourceGroup.name}
      exampleGetSas:
        fn::invoke:
          Function: azure:eventhub:getSas
          Arguments:
            connectionString: ${example.primaryConnectionString}
            expiry: 2023-06-23T00:00:00Z
    

    Using getSas

    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 getSas(args: GetSasArgs, opts?: InvokeOptions): Promise<GetSasResult>
    function getSasOutput(args: GetSasOutputArgs, opts?: InvokeOptions): Output<GetSasResult>
    def get_sas(connection_string: Optional[str] = None,
                expiry: Optional[str] = None,
                opts: Optional[InvokeOptions] = None) -> GetSasResult
    def get_sas_output(connection_string: Optional[pulumi.Input[str]] = None,
                expiry: Optional[pulumi.Input[str]] = None,
                opts: Optional[InvokeOptions] = None) -> Output[GetSasResult]
    func GetSas(ctx *Context, args *GetSasArgs, opts ...InvokeOption) (*GetSasResult, error)
    func GetSasOutput(ctx *Context, args *GetSasOutputArgs, opts ...InvokeOption) GetSasResultOutput

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

    public static class GetSas 
    {
        public static Task<GetSasResult> InvokeAsync(GetSasArgs args, InvokeOptions? opts = null)
        public static Output<GetSasResult> Invoke(GetSasInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetSasResult> getSas(GetSasArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: azure:eventhub/getSas:getSas
      arguments:
        # arguments dictionary

    The following arguments are supported:

    ConnectionString string
    The connection string for the Event Hub to which this SAS applies.
    Expiry string
    The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
    ConnectionString string
    The connection string for the Event Hub to which this SAS applies.
    Expiry string
    The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
    connectionString String
    The connection string for the Event Hub to which this SAS applies.
    expiry String
    The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
    connectionString string
    The connection string for the Event Hub to which this SAS applies.
    expiry string
    The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
    connection_string str
    The connection string for the Event Hub to which this SAS applies.
    expiry str
    The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
    connectionString String
    The connection string for the Event Hub to which this SAS applies.
    expiry String
    The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.

    getSas Result

    The following output properties are available:

    ConnectionString string
    Expiry string
    Id string
    The provider-assigned unique ID for this managed resource.
    Sas string
    The computed Event Hub Shared Access Signature (SAS).
    ConnectionString string
    Expiry string
    Id string
    The provider-assigned unique ID for this managed resource.
    Sas string
    The computed Event Hub Shared Access Signature (SAS).
    connectionString String
    expiry String
    id String
    The provider-assigned unique ID for this managed resource.
    sas String
    The computed Event Hub Shared Access Signature (SAS).
    connectionString string
    expiry string
    id string
    The provider-assigned unique ID for this managed resource.
    sas string
    The computed Event Hub Shared Access Signature (SAS).
    connection_string str
    expiry str
    id str
    The provider-assigned unique ID for this managed resource.
    sas str
    The computed Event Hub Shared Access Signature (SAS).
    connectionString String
    expiry String
    id String
    The provider-assigned unique ID for this managed resource.
    sas String
    The computed Event Hub Shared Access Signature (SAS).

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi