azapi.getResourceAction
Explore with Pulumi AI
This resource can perform resource action which gets information from an existing resource.
It’s recommended to use azapi.ResourceAction
data source to perform readonly action, please use azapi.ResourceAction
resource,
if user wants to perform actions which change a resource’s state.
Example Usage
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "example" {
name = "example-rg"
location = "west europe"
}
resource "azurerm_automation_account" "example" {
name = "example-account"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
sku_name = "Basic"
}
data "azapi_resource_action" "example" {
type = "Microsoft.Automation/automationAccounts@2021-06-22"
resource_id = azurerm_automation_account.example.id
action = "listKeys"
response_export_values = ["*"]
}
Here’s an example to use the azapi.ResourceAction
data source to get a provider’s permissions.
provider "azurerm" {
features {}
}
data "azurerm_client_config" "current" {}
data "azapi_resource_action" "test" {
type = "Microsoft.Resources/providers@2021-04-01"
resource_id = "/subscriptions/${data.azurerm_client_config.current.subscription_id}/providers/Microsoft.Network"
action = "providerPermissions"
method = "GET"
}
Here’s an example to use the azapi.ResourceAction
data source to perform a provider action.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
resource "azapi_resource_action" "test" {
type = "Microsoft.Cache@2023-04-01"
resource_id = "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Cache"
action = "CheckNameAvailability"
body = jsonencode({
type = "Microsoft.Cache/Redis"
name = "cacheName"
})
}
Using getResourceAction
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 getResourceAction(args: GetResourceActionArgs, opts?: InvokeOptions): Promise<GetResourceActionResult>
function getResourceActionOutput(args: GetResourceActionOutputArgs, opts?: InvokeOptions): Output<GetResourceActionResult>
def get_resource_action(action: Optional[str] = None,
body: Optional[str] = None,
method: Optional[str] = None,
resource_id: Optional[str] = None,
response_export_values: Optional[Sequence[str]] = None,
type: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetResourceActionResult
def get_resource_action_output(action: Optional[pulumi.Input[str]] = None,
body: Optional[pulumi.Input[str]] = None,
method: Optional[pulumi.Input[str]] = None,
resource_id: Optional[pulumi.Input[str]] = None,
response_export_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
type: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetResourceActionResult]
func LookupResourceAction(ctx *Context, args *LookupResourceActionArgs, opts ...InvokeOption) (*LookupResourceActionResult, error)
func LookupResourceActionOutput(ctx *Context, args *LookupResourceActionOutputArgs, opts ...InvokeOption) LookupResourceActionResultOutput
> Note: This function is named LookupResourceAction
in the Go SDK.
public static class GetResourceAction
{
public static Task<GetResourceActionResult> InvokeAsync(GetResourceActionArgs args, InvokeOptions? opts = null)
public static Output<GetResourceActionResult> Invoke(GetResourceActionInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetResourceActionResult> getResourceAction(GetResourceActionArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: azapi:index/getResourceAction:getResourceAction
arguments:
# arguments dictionary
The 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. - Action string
- The name of the resource action. It's also possible to make Http requests towards the resource ID if leave this field empty.
- Body string
- A JSON object that contains the request body.
- Method string
- Specifies the Http method of the azure resource action. Allowed values are
POST
andGET
. Defaults toPOST
. - Resource
Id string - The ID of an existing azure source.
- Response
Export List<string>Values - A list of path that needs to be exported from response body.
Setting it to
["*"]
will export the full response body. Here's an example. If it sets to["keys"]
, it will set the following json to computed propertyoutput
.{ "keys": [ { "KeyName": "Primary", "Permissions": "Full", "Value": "nHGYNd******i4wdug==" }, { "KeyName": "Secondary", "Permissions": "Full", "Value": "6yoCad******SLzKzg==" } ] }
- 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. - Action string
- The name of the resource action. It's also possible to make Http requests towards the resource ID if leave this field empty.
- Body string
- A JSON object that contains the request body.
- Method string
- Specifies the Http method of the azure resource action. Allowed values are
POST
andGET
. Defaults toPOST
. - Resource
Id string - The ID of an existing azure source.
- Response
Export []stringValues - A list of path that needs to be exported from response body.
Setting it to
["*"]
will export the full response body. Here's an example. If it sets to["keys"]
, it will set the following json to computed propertyoutput
.{ "keys": [ { "KeyName": "Primary", "Permissions": "Full", "Value": "nHGYNd******i4wdug==" }, { "KeyName": "Secondary", "Permissions": "Full", "Value": "6yoCad******SLzKzg==" } ] }
- 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. - action String
- The name of the resource action. It's also possible to make Http requests towards the resource ID if leave this field empty.
- body String
- A JSON object that contains the request body.
- method String
- Specifies the Http method of the azure resource action. Allowed values are
POST
andGET
. Defaults toPOST
. - resource
Id String - The ID of an existing azure source.
- response
Export List<String>Values - A list of path that needs to be exported from response body.
Setting it to
["*"]
will export the full response body. Here's an example. If it sets to["keys"]
, it will set the following json to computed propertyoutput
.{ "keys": [ { "KeyName": "Primary", "Permissions": "Full", "Value": "nHGYNd******i4wdug==" }, { "KeyName": "Secondary", "Permissions": "Full", "Value": "6yoCad******SLzKzg==" } ] }
- 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. - action string
- The name of the resource action. It's also possible to make Http requests towards the resource ID if leave this field empty.
- body string
- A JSON object that contains the request body.
- method string
- Specifies the Http method of the azure resource action. Allowed values are
POST
andGET
. Defaults toPOST
. - resource
Id string - The ID of an existing azure source.
- response
Export string[]Values - A list of path that needs to be exported from response body.
Setting it to
["*"]
will export the full response body. Here's an example. If it sets to["keys"]
, it will set the following json to computed propertyoutput
.{ "keys": [ { "KeyName": "Primary", "Permissions": "Full", "Value": "nHGYNd******i4wdug==" }, { "KeyName": "Secondary", "Permissions": "Full", "Value": "6yoCad******SLzKzg==" } ] }
- 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. - action str
- The name of the resource action. It's also possible to make Http requests towards the resource ID if leave this field empty.
- body str
- A JSON object that contains the request body.
- method str
- Specifies the Http method of the azure resource action. Allowed values are
POST
andGET
. Defaults toPOST
. - resource_
id str - The ID of an existing azure source.
- response_
export_ Sequence[str]values - A list of path that needs to be exported from response body.
Setting it to
["*"]
will export the full response body. Here's an example. If it sets to["keys"]
, it will set the following json to computed propertyoutput
.{ "keys": [ { "KeyName": "Primary", "Permissions": "Full", "Value": "nHGYNd******i4wdug==" }, { "KeyName": "Secondary", "Permissions": "Full", "Value": "6yoCad******SLzKzg==" } ] }
- 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. - action String
- The name of the resource action. It's also possible to make Http requests towards the resource ID if leave this field empty.
- body String
- A JSON object that contains the request body.
- method String
- Specifies the Http method of the azure resource action. Allowed values are
POST
andGET
. Defaults toPOST
. - resource
Id String - The ID of an existing azure source.
- response
Export List<String>Values - A list of path that needs to be exported from response body.
Setting it to
["*"]
will export the full response body. Here's an example. If it sets to["keys"]
, it will set the following json to computed propertyoutput
.{ "keys": [ { "KeyName": "Primary", "Permissions": "Full", "Value": "nHGYNd******i4wdug==" }, { "KeyName": "Secondary", "Permissions": "Full", "Value": "6yoCad******SLzKzg==" } ] }
getResourceAction Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Output string
- The output json containing the properties specified in
response_export_values
. Here are some examples to decode json and extract the value.// it will output "nHGYNd******i4wdug==" output "primary_key" { value = jsondecode(azapi_resource_action.test.output).keys.0.Value }
- Type string
- Action string
- Body string
- Method string
- Resource
Id string - Response
Export List<string>Values
- Id string
- The provider-assigned unique ID for this managed resource.
- Output string
- The output json containing the properties specified in
response_export_values
. Here are some examples to decode json and extract the value.// it will output "nHGYNd******i4wdug==" output "primary_key" { value = jsondecode(azapi_resource_action.test.output).keys.0.Value }
- Type string
- Action string
- Body string
- Method string
- Resource
Id string - Response
Export []stringValues
- id String
- The provider-assigned unique ID for this managed resource.
- output String
- The output json containing the properties specified in
response_export_values
. Here are some examples to decode json and extract the value.// it will output "nHGYNd******i4wdug==" output "primary_key" { value = jsondecode(azapi_resource_action.test.output).keys.0.Value }
- type String
- action String
- body String
- method String
- resource
Id String - response
Export List<String>Values
- id string
- The provider-assigned unique ID for this managed resource.
- output string
- The output json containing the properties specified in
response_export_values
. Here are some examples to decode json and extract the value.// it will output "nHGYNd******i4wdug==" output "primary_key" { value = jsondecode(azapi_resource_action.test.output).keys.0.Value }
- type string
- action string
- body string
- method string
- resource
Id string - response
Export string[]Values
- id str
- The provider-assigned unique ID for this managed resource.
- output str
- The output json containing the properties specified in
response_export_values
. Here are some examples to decode json and extract the value.// it will output "nHGYNd******i4wdug==" output "primary_key" { value = jsondecode(azapi_resource_action.test.output).keys.0.Value }
- type str
- action str
- body str
- method str
- resource_
id str - response_
export_ Sequence[str]values
- id String
- The provider-assigned unique ID for this managed resource.
- output String
- The output json containing the properties specified in
response_export_values
. Here are some examples to decode json and extract the value.// it will output "nHGYNd******i4wdug==" output "primary_key" { value = jsondecode(azapi_resource_action.test.output).keys.0.Value }
- type String
- action String
- body String
- method String
- resource
Id String - response
Export List<String>Values
Package Details
- Repository
- azapi dirien/pulumi-azapi
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azapi
Terraform Provider.