azapi.getResourceId
Explore with Pulumi AI
This resource can parse an Azure resource ID into its separate fields.
Example Usage
terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}
provider "azapi" {
}
data "azapi_resource_id" "account" {
  type        = "Microsoft.Automation/automationAccounts@2021-06-22"
  resource_id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Automation/automationAccounts/automationAccount1"
}
output "account_name" {
  value = data.azapi_resource_id.account.name
}
output "account_resource_group" {
  value = data.azapi_resource_id.account.resource_group_name
}
output "account_subscription" {
  value = data.azapi_resource_id.account.subscription_id
}
output "account_parent_id" {
  value = data.azapi_resource_id.account.parent_id
}
data "azapi_resource_id" "vnet" {
  type      = "Microsoft.Network/virtualNetworks@2021-02-01"
  parent_id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1"
  name      = "vnet1"
}
output "vnet_id" {
  value = data.azapi_resource_id.vnet.id
}
output "vnet_resource_group" {
  value = data.azapi_resource_id.vnet.resource_group_name
}
output "vnet_subscription" {
  value = data.azapi_resource_id.vnet.subscription_id
}
Using getResourceId
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 getResourceId(args: GetResourceIdArgs, opts?: InvokeOptions): Promise<GetResourceIdResult>
function getResourceIdOutput(args: GetResourceIdOutputArgs, opts?: InvokeOptions): Output<GetResourceIdResult>def get_resource_id(name: Optional[str] = None,
                    parent_id: Optional[str] = None,
                    resource_id: Optional[str] = None,
                    type: Optional[str] = None,
                    opts: Optional[InvokeOptions] = None) -> GetResourceIdResult
def get_resource_id_output(name: Optional[pulumi.Input[str]] = None,
                    parent_id: Optional[pulumi.Input[str]] = None,
                    resource_id: Optional[pulumi.Input[str]] = None,
                    type: Optional[pulumi.Input[str]] = None,
                    opts: Optional[InvokeOptions] = None) -> Output[GetResourceIdResult]func GetResourceId(ctx *Context, args *GetResourceIdArgs, opts ...InvokeOption) (*GetResourceIdResult, error)
func GetResourceIdOutput(ctx *Context, args *GetResourceIdOutputArgs, opts ...InvokeOption) GetResourceIdResultOutput> Note: This function is named GetResourceId in the Go SDK.
public static class GetResourceId 
{
    public static Task<GetResourceIdResult> InvokeAsync(GetResourceIdArgs args, InvokeOptions? opts = null)
    public static Output<GetResourceIdResult> Invoke(GetResourceIdInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetResourceIdResult> getResourceId(GetResourceIdArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: azapi:index/getResourceId:getResourceId
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Type string
 - It is in a format like 
<resource-type>@<api-version>.<resource-type>is the Azure resource type, for example,Microsoft.Storage/storageAccounts.<api-version>is version of the API used to manage this azure resource. - Name string
 - Specifies the name of the azure resource.
 - Parent
Id string The ID of the azure resource in which this resource is created. It supports different kinds of deployment scope for top level resources:
- resource group scope: 
parent_idshould be the ID of a resource group, it's recommended to manage a resource group by azurerm_resource_group. - management group scope: 
parent_idshould be the ID of a management group, it's recommended to manage a management group by azurerm_management_group. - extension scope: 
parent_idshould be the ID of the resource you're adding the extension to. - subscription scope: 
parent_idshould be like/subscriptions/00000000-0000-0000-0000-000000000000 - tenant scope: 
parent_idshould be/ 
For child level resources, the
parent_idshould be the ID of its parent resource, for example, subnet resource'sparent_idis the ID of the vnet.- resource group scope: 
 - Resource
Id string The ID of an existing azure source.
Note: Configuring
nameandparent_idis an alternative way to configureresource_id.
- Type string
 - It is in a format like 
<resource-type>@<api-version>.<resource-type>is the Azure resource type, for example,Microsoft.Storage/storageAccounts.<api-version>is version of the API used to manage this azure resource. - Name string
 - Specifies the name of the azure resource.
 - Parent
Id string The ID of the azure resource in which this resource is created. It supports different kinds of deployment scope for top level resources:
- resource group scope: 
parent_idshould be the ID of a resource group, it's recommended to manage a resource group by azurerm_resource_group. - management group scope: 
parent_idshould be the ID of a management group, it's recommended to manage a management group by azurerm_management_group. - extension scope: 
parent_idshould be the ID of the resource you're adding the extension to. - subscription scope: 
parent_idshould be like/subscriptions/00000000-0000-0000-0000-000000000000 - tenant scope: 
parent_idshould be/ 
For child level resources, the
parent_idshould be the ID of its parent resource, for example, subnet resource'sparent_idis the ID of the vnet.- resource group scope: 
 - Resource
Id string The ID of an existing azure source.
Note: Configuring
nameandparent_idis an alternative way to configureresource_id.
- type String
 - It is in a format like 
<resource-type>@<api-version>.<resource-type>is the Azure resource type, for example,Microsoft.Storage/storageAccounts.<api-version>is version of the API used to manage this azure resource. - name String
 - Specifies the name of the azure resource.
 - parent
Id String The ID of the azure resource in which this resource is created. It supports different kinds of deployment scope for top level resources:
- resource group scope: 
parent_idshould be the ID of a resource group, it's recommended to manage a resource group by azurerm_resource_group. - management group scope: 
parent_idshould be the ID of a management group, it's recommended to manage a management group by azurerm_management_group. - extension scope: 
parent_idshould be the ID of the resource you're adding the extension to. - subscription scope: 
parent_idshould be like/subscriptions/00000000-0000-0000-0000-000000000000 - tenant scope: 
parent_idshould be/ 
For child level resources, the
parent_idshould be the ID of its parent resource, for example, subnet resource'sparent_idis the ID of the vnet.- resource group scope: 
 - resource
Id String The ID of an existing azure source.
Note: Configuring
nameandparent_idis an alternative way to configureresource_id.
- type string
 - It is in a format like 
<resource-type>@<api-version>.<resource-type>is the Azure resource type, for example,Microsoft.Storage/storageAccounts.<api-version>is version of the API used to manage this azure resource. - name string
 - Specifies the name of the azure resource.
 - parent
Id string The ID of the azure resource in which this resource is created. It supports different kinds of deployment scope for top level resources:
- resource group scope: 
parent_idshould be the ID of a resource group, it's recommended to manage a resource group by azurerm_resource_group. - management group scope: 
parent_idshould be the ID of a management group, it's recommended to manage a management group by azurerm_management_group. - extension scope: 
parent_idshould be the ID of the resource you're adding the extension to. - subscription scope: 
parent_idshould be like/subscriptions/00000000-0000-0000-0000-000000000000 - tenant scope: 
parent_idshould be/ 
For child level resources, the
parent_idshould be the ID of its parent resource, for example, subnet resource'sparent_idis the ID of the vnet.- resource group scope: 
 - resource
Id string The ID of an existing azure source.
Note: Configuring
nameandparent_idis an alternative way to configureresource_id.
- type str
 - It is in a format like 
<resource-type>@<api-version>.<resource-type>is the Azure resource type, for example,Microsoft.Storage/storageAccounts.<api-version>is version of the API used to manage this azure resource. - name str
 - Specifies the name of the azure resource.
 - parent_
id str The ID of the azure resource in which this resource is created. It supports different kinds of deployment scope for top level resources:
- resource group scope: 
parent_idshould be the ID of a resource group, it's recommended to manage a resource group by azurerm_resource_group. - management group scope: 
parent_idshould be the ID of a management group, it's recommended to manage a management group by azurerm_management_group. - extension scope: 
parent_idshould be the ID of the resource you're adding the extension to. - subscription scope: 
parent_idshould be like/subscriptions/00000000-0000-0000-0000-000000000000 - tenant scope: 
parent_idshould be/ 
For child level resources, the
parent_idshould be the ID of its parent resource, for example, subnet resource'sparent_idis the ID of the vnet.- resource group scope: 
 - resource_
id str The ID of an existing azure source.
Note: Configuring
nameandparent_idis an alternative way to configureresource_id.
- type String
 - It is in a format like 
<resource-type>@<api-version>.<resource-type>is the Azure resource type, for example,Microsoft.Storage/storageAccounts.<api-version>is version of the API used to manage this azure resource. - name String
 - Specifies the name of the azure resource.
 - parent
Id String The ID of the azure resource in which this resource is created. It supports different kinds of deployment scope for top level resources:
- resource group scope: 
parent_idshould be the ID of a resource group, it's recommended to manage a resource group by azurerm_resource_group. - management group scope: 
parent_idshould be the ID of a management group, it's recommended to manage a management group by azurerm_management_group. - extension scope: 
parent_idshould be the ID of the resource you're adding the extension to. - subscription scope: 
parent_idshould be like/subscriptions/00000000-0000-0000-0000-000000000000 - tenant scope: 
parent_idshould be/ 
For child level resources, the
parent_idshould be the ID of its parent resource, for example, subnet resource'sparent_idis the ID of the vnet.- resource group scope: 
 - resource
Id String The ID of an existing azure source.
Note: Configuring
nameandparent_idis an alternative way to configureresource_id.
getResourceId Result
The following output properties are available:
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Name string
 - The name of the azure resource.
 - Parent
Id string - The ID of the azure resource in which this resource is created.
 - Parts Dictionary<string, string>
 - The map of the resource ID parts, where the key is the part name and the value is the part value. e.g. 
virtualNetworks=myVnet. - Provider
Namespace string - The azure resource provider namespace of the azure resource.
 - Resource
Group stringName  - The resource group name of the azure resource.
 - Resource
Id string - Subscription
Id string - The subscription ID of the azure resource.
 - Type string
 
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Name string
 - The name of the azure resource.
 - Parent
Id string - The ID of the azure resource in which this resource is created.
 - Parts map[string]string
 - The map of the resource ID parts, where the key is the part name and the value is the part value. e.g. 
virtualNetworks=myVnet. - Provider
Namespace string - The azure resource provider namespace of the azure resource.
 - Resource
Group stringName  - The resource group name of the azure resource.
 - Resource
Id string - Subscription
Id string - The subscription ID of the azure resource.
 - Type string
 
- id String
 - The provider-assigned unique ID for this managed resource.
 - name String
 - The name of the azure resource.
 - parent
Id String - The ID of the azure resource in which this resource is created.
 - parts Map<String,String>
 - The map of the resource ID parts, where the key is the part name and the value is the part value. e.g. 
virtualNetworks=myVnet. - provider
Namespace String - The azure resource provider namespace of the azure resource.
 - resource
Group StringName  - The resource group name of the azure resource.
 - resource
Id String - subscription
Id String - The subscription ID of the azure resource.
 - type String
 
- id string
 - The provider-assigned unique ID for this managed resource.
 - name string
 - The name of the azure resource.
 - parent
Id string - The ID of the azure resource in which this resource is created.
 - parts {[key: string]: string}
 - The map of the resource ID parts, where the key is the part name and the value is the part value. e.g. 
virtualNetworks=myVnet. - provider
Namespace string - The azure resource provider namespace of the azure resource.
 - resource
Group stringName  - The resource group name of the azure resource.
 - resource
Id string - subscription
Id string - The subscription ID of the azure resource.
 - type string
 
- id str
 - The provider-assigned unique ID for this managed resource.
 - name str
 - The name of the azure resource.
 - parent_
id str - The ID of the azure resource in which this resource is created.
 - parts Mapping[str, str]
 - The map of the resource ID parts, where the key is the part name and the value is the part value. e.g. 
virtualNetworks=myVnet. - provider_
namespace str - The azure resource provider namespace of the azure resource.
 - resource_
group_ strname  - The resource group name of the azure resource.
 - resource_
id str - subscription_
id str - The subscription ID of the azure resource.
 - type str
 
- id String
 - The provider-assigned unique ID for this managed resource.
 - name String
 - The name of the azure resource.
 - parent
Id String - The ID of the azure resource in which this resource is created.
 - parts Map<String>
 - The map of the resource ID parts, where the key is the part name and the value is the part value. e.g. 
virtualNetworks=myVnet. - provider
Namespace String - The azure resource provider namespace of the azure resource.
 - resource
Group StringName  - The resource group name of the azure resource.
 - resource
Id String - subscription
Id String - The subscription ID of the azure resource.
 - type String
 
Package Details
- Repository
 - azapi dirien/pulumi-azapi
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
azapiTerraform Provider.