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 dictionaryThe following arguments are supported:
- Api
Management stringId - The ID of the API Management Workspace.
- Name string
- The name of this API Management Workspace.
- Api
Management stringId - The ID of the API Management Workspace.
- Name string
- The name of this API Management Workspace.
- api
Management StringId - The ID of the API Management Workspace.
- name String
- The name of this API Management Workspace.
- api
Management stringId - The ID of the API Management Workspace.
- name string
- The name of this API Management Workspace.
- api_
management_ strid - The ID of the API Management Workspace.
- name str
- The name of this API Management Workspace.
- api
Management StringId - The ID of the API Management Workspace.
- name String
- The name of this API Management Workspace.
getWorkspace Result
The following output properties are available:
- Api
Management stringId - Display
Name string - The display name of the API Management Workspace.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Api
Management stringId - Display
Name string - The display name of the API Management Workspace.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- api
Management StringId - display
Name String - The display name of the API Management Workspace.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- api
Management stringId - display
Name string - The display name of the API Management Workspace.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- api_
management_ strid - display_
name str - The display name of the API Management Workspace.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- api
Management StringId - display
Name 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
azurermTerraform Provider.
