1. Packages
  2. Azure Classic
  3. API Docs
  4. apimanagement
  5. getWorkspace

We recommend using Azure Native.

Azure v6.31.0 published on Monday, Dec 29, 2025 by Pulumi
azure logo

We recommend using Azure Native.

Azure v6.31.0 published on Monday, Dec 29, 2025 by Pulumi

    Use this data source to access information about an existing API Management Workspace.

    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 exampleService = new azure.apimanagement.Service("example", {
        name: "example-apimanagement",
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        publisherName: "pub1",
        publisherEmail: "pub1@email.com",
        skuName: "Premium_1",
    });
    const example = azure.apimanagement.getWorkspaceOutput({
        name: "existing",
        apiManagementId: exampleService.id,
    });
    export const id = example.apply(example => example.id);
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_service = azure.apimanagement.Service("example",
        name="example-apimanagement",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        publisher_name="pub1",
        publisher_email="pub1@email.com",
        sku_name="Premium_1")
    example = azure.apimanagement.get_workspace_output(name="existing",
        api_management_id=example_service.id)
    pulumi.export("id", example.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/apimanagement"
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
    	"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
    		}
    		exampleService, err := apimanagement.NewService(ctx, "example", &apimanagement.ServiceArgs{
    			Name:              pulumi.String("example-apimanagement"),
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			PublisherName:     pulumi.String("pub1"),
    			PublisherEmail:    pulumi.String("pub1@email.com"),
    			SkuName:           pulumi.String("Premium_1"),
    		})
    		if err != nil {
    			return err
    		}
    		example := apimanagement.LookupWorkspaceOutput(ctx, apimanagement.GetWorkspaceOutputArgs{
    			Name:            pulumi.String("existing"),
    			ApiManagementId: exampleService.ID(),
    		}, nil)
    		ctx.Export("id", example.ApplyT(func(example apimanagement.GetWorkspaceResult) (*string, error) {
    			return &example.Id, nil
    		}).(pulumi.StringPtrOutput))
    		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 exampleService = new Azure.ApiManagement.Service("example", new()
        {
            Name = "example-apimanagement",
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            PublisherName = "pub1",
            PublisherEmail = "pub1@email.com",
            SkuName = "Premium_1",
        });
    
        var example = Azure.ApiManagement.GetWorkspace.Invoke(new()
        {
            Name = "existing",
            ApiManagementId = exampleService.Id,
        });
    
        return new Dictionary<string, object?>
        {
            ["id"] = example.Apply(getWorkspaceResult => getWorkspaceResult.Id),
        };
    });
    
    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.apimanagement.Service;
    import com.pulumi.azure.apimanagement.ServiceArgs;
    import com.pulumi.azure.apimanagement.ApimanagementFunctions;
    import com.pulumi.azure.apimanagement.inputs.GetWorkspaceArgs;
    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 exampleService = new Service("exampleService", ServiceArgs.builder()
                .name("example-apimanagement")
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .publisherName("pub1")
                .publisherEmail("pub1@email.com")
                .skuName("Premium_1")
                .build());
    
            final var example = ApimanagementFunctions.getWorkspace(GetWorkspaceArgs.builder()
                .name("existing")
                .apiManagementId(exampleService.id())
                .build());
    
            ctx.export("id", example.applyValue(_example -> _example.id()));
        }
    }
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        name: example
        properties:
          name: example-resources
          location: West Europe
      exampleService:
        type: azure:apimanagement:Service
        name: example
        properties:
          name: example-apimanagement
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          publisherName: pub1
          publisherEmail: pub1@email.com
          skuName: Premium_1
    variables:
      example:
        fn::invoke:
          function: azure:apimanagement:getWorkspace
          arguments:
            name: existing
            apiManagementId: ${exampleService.id}
    outputs:
      id: ${example.id}
    

    API Providers

    This data source uses the following Azure API Providers:

    • Microsoft.ApiManagement - 2024-05-01

    Using getWorkspace

    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 getWorkspace(args: GetWorkspaceArgs, opts?: InvokeOptions): Promise<GetWorkspaceResult>
    function getWorkspaceOutput(args: GetWorkspaceOutputArgs, opts?: InvokeOptions): Output<GetWorkspaceResult>
    def get_workspace(api_management_id: Optional[str] = None,
                      name: Optional[str] = None,
                      opts: Optional[InvokeOptions] = None) -> GetWorkspaceResult
    def get_workspace_output(api_management_id: Optional[pulumi.Input[str]] = None,
                      name: Optional[pulumi.Input[str]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[GetWorkspaceResult]
    func LookupWorkspace(ctx *Context, args *LookupWorkspaceArgs, opts ...InvokeOption) (*LookupWorkspaceResult, error)
    func LookupWorkspaceOutput(ctx *Context, args *LookupWorkspaceOutputArgs, opts ...InvokeOption) LookupWorkspaceResultOutput

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

    public static class GetWorkspace 
    {
        public static Task<GetWorkspaceResult> InvokeAsync(GetWorkspaceArgs args, InvokeOptions? opts = null)
        public static Output<GetWorkspaceResult> Invoke(GetWorkspaceInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetWorkspaceResult> getWorkspace(GetWorkspaceArgs args, InvokeOptions options)
    public static Output<GetWorkspaceResult> getWorkspace(GetWorkspaceArgs args, InvokeOptions options)
    
    fn::invoke:
      function: azure:apimanagement/getWorkspace:getWorkspace
      arguments:
        # arguments dictionary

    The following arguments are supported:

    ApiManagementId string
    The ID of the API Management Workspace.
    Name string
    The name of this API Management Workspace.
    ApiManagementId string
    The ID of the API Management Workspace.
    Name string
    The name of this API Management Workspace.
    apiManagementId String
    The ID of the API Management Workspace.
    name String
    The name of this API Management Workspace.
    apiManagementId string
    The ID of the API Management Workspace.
    name string
    The name of this API Management Workspace.
    api_management_id str
    The ID of the API Management Workspace.
    name str
    The name of this API Management Workspace.
    apiManagementId String
    The ID of the API Management Workspace.
    name String
    The name of this API Management Workspace.

    getWorkspace Result

    The following output properties are available:

    ApiManagementId string
    DisplayName string
    The display name of the API Management Workspace.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    ApiManagementId string
    DisplayName string
    The display name of the API Management Workspace.
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    apiManagementId String
    displayName String
    The display name of the API Management Workspace.
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    apiManagementId string
    displayName string
    The display name of the API Management Workspace.
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    api_management_id str
    display_name str
    The display name of the API Management Workspace.
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    apiManagementId String
    displayName String
    The display name of the API Management Workspace.
    id String
    The provider-assigned unique ID for this managed resource.
    name String

    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.31.0 published on Monday, Dec 29, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate