Releases: Azure/terraform-provider-azapi
Releases · Azure/terraform-provider-azapi
v2.2.0
ENHANCEMENTS:
azapi_resource
resource: Improved 403 handling for management group resources to include child resources- Update bicep types to ms-henglu/bicep-types-az@4da2e19
BUG FIXES:
- Fix a bug that the provider produced inconsistent result after apply when default output feature is enabled.
Notice: Terraform will detect theoutput
field's changes made outside of Terraform since the last "terraform apply". You can runterraform refresh
to update the state file with the latest values. - Fix a bug that the GET after PUT retry timeout doesn't work properly when the environment variable is set.
v2.1.0
FEATURES:
azapi_resource
resource: Support resource move operation, it allows moving resources fromazurerm
provider.
ENHANCEMENTS:
azapi_client_config
data source: Supportobject_id
field.- Update bicep types to ms-henglu/bicep-types-az@401bed5
BUG FIXES:
- Fix a bug when
body
contains an unknown float number, the provider will crash. - Fix the crash that occurs when no tenant ID is configured in Azure CLI.
- Fix a bug that using multiple locks can result in a deadlock.
v2.0.1
NOTES
- Major Version: Version 2.0 of the AzAPI Provider is a major version - some behaviours have changed and some deprecated fields/resources have been removed - please refer to the 2.0 upgrade guide for more information.
- When upgrading to v2.0 of the AzAPI Provider, we recommend upgrading to the latest version of Terraform Core (which can be found here).
BREAKING CHANGES
azapi_resource
,azapi_update_resource
resources and data sources'output
field defaults to the readonly fields when theresponse_export_values
is not specified.azapi_resource_list
data source'soutput
field defaults to the response when theresponse_export_values
is not specified.- Provider field
default_naming_prefix
anddefault_naming_suffix
are removed. Please specify the naming prefix and suffix in the resource'sname
field instead. - Provider field
enable_hcl_output_for_data_source
is removed. Theoutput
field in the data source is always in HCL format. - The
azapi_resource
'sremoving_special_chars
field is removed. Please specify thename
field and remove the special characters in thename
field instead. - The
ignore_body_changes
field is removed. Please use thelifecyle.ignore_changes
to ignore some properties when comparing the resource with its current state. - The
body
field now only accepts an HCL object. Please remove thejsonencode
function when using thebody
field. - The
output
field now only exports an HCL object. Please remove thejsondecode
function when using theoutput
field. - The
use_msi
field now defaults tofalse
, please set it totrue
explicitly if you want to authenticate using Managed Service Identity.
ENHANCEMENTS:
azapi_data_plane_resource
resource: SupportMicrosoft.Purview/accounts/Scanning/managedvirtualnetworks
type.- Support a default retry policy that retries when GET request fails with 404 status code after resource creation.
azapi
provider: Supportdisable_default_output
field, which is used to disable the default output for the resources and data sources.- Update bicep types to ms-henglu/bicep-types-az@c3ff45d
BUG FIXES:
- Fix a bug that non-standard LRO error responses are not handled properly.
v2.0.0-beta
BREAKING CHANGES:
- Provider field
default_naming_prefix
anddefault_naming_suffix
are removed. Please specify the naming prefix and suffix in the resource'sname
field instead. - Provider field
enable_hcl_output_for_data_source
is removed. Theoutput
field in the data source is always in HCL format. - The
azapi_resource
'sremoving_special_chars
field is removed. Please specify thename
field and remove the special characters in thename
field instead. - The
ignore_body_changes
field is removed. Please use thelifecyle.ignore_changes
to ignore some properties when comparing the resource with its current state. - The
body
field now only accepts an HCL object. Please remove thejsonencode
function when using thebody
field. - The
output
field now only exports an HCL object. Please remove thejsondecode
function when using theoutput
field. - The
use_msi
field now defaults tofalse
, please set it totrue
explicitly if you want to authenticate using Managed Service Identity.
FEATURES:
- New Provider Function: build_resource_id
- New Provider Function: parse_resource_id
- New Provider Function: subscription_resource_id
- New Provider Function: tenant_resource_id
- New Provider Function: management_group_resource_id
- New Provider Function: resource_group_resource_id
- New Provider Function: extension_resource_id
ENHANCEMENTS:
azapi
provider: Supportenable_preflight
field, which is used to enable Preflight Validation, the default value isfalse
.azapi_resource
andazapi_data_plane_resource
resource: Supportreplace_triggers_external_values
field which is used to trigger a replacement of the resource.azapi_resource
andazapi_data_plane_resource
resource: Supportreplace_triggers_refs
field which is used to trigger a replacement of the resource.azapi
resources and data sources: Supportretry
field, which is used to specify the retry configuration.azapi
resources and data sources: Supportheaders
andquery_parameters
fields, which are used to specify the headers and query parameters.azapi
resources and data sources: Theresponse_export_values
field supports JMESPath expressions.- Accept
AZURE_CLIENT_ID
andAZURE_TENANT_ID
environment variables when authenticating using AKS workload identity. azapi
provider: Supportoidc_azure_service_connection_id
field, which is used to specify the Azure Service Connection ID for OIDC authentication with Azure DevOps.- Update bicep types to ms-henglu/bicep-types-az@7492c6d
v1.15.0
ENHANCEMENTS:
- Update bicep types to ms-henglu/bicep-types-az@5ccee7f
BUG FIXES:
- Fix a bug that differences in a list of objects are not detected correctly.
- Fix a bug that azapi_update_resource produced inconsistent results when the case of the
resource_id
andtype
fields are different. - Fix a bug that provider will crash when there's no default subscription configured in azure cli.
- Fix a bug that resource definitions are not correctly cached.
v1.14.0
FEATURES:
- New Data Source: azapi_client_config
ENHANCEMENTS:
azapi
provider: Supportclient_certificate
field, which specifies base64-encoded PKCS#12 bundle to be used as the client certificate for authentication.azapi
provider: Supportuse_aks_workload_identity
field to enable AKS workload identity.azapi_resource
,azapi_update_resource
,azapi_resource_action
,azapi_data_plane_resource
resources: Supporttimeouts.update
field, which is used to specify the timeout for the update operation.azapi_update_resource
resource: Improve the id build logic to honor user's input.- Update bicep types to ms-henglu/bicep-types-az@37dcb18
BUG FIXES:
- Fix a bug that
azapi_resource
will crash when thelocation
in GET response is null. - Fix a bug that schema validation fails to validate unknown string values.
- Fix a bug that
azapi_resource
only supports extension resource on a resource group scoped resource. - Fix a bug that OIDC authentication should not be used when required fields are missing.
v1.13.1
ENHANCEMENTS:
-
azapi
provider: Supportenable_hcl_output_for_data_source
field, which is used to enable the HCL output for the data source, the default value isfalse
.
This could resolve the following breaking changes in the previous release:azapi_resource
data source: Theoutput
field changes from JSON string to HCL object. Users can use access the fields in the output as an HCL object. Please remove thejsondecode
function when using theoutput
field.azapi_resource_list
data source: Theoutput
field changes from JSON string to HCL object. Users can use access the fields in the output as an HCL object. Please remove thejsondecode
function when using theoutput
field.
Please notice if you already upgraded to
v1.13.0
and removedjsondecode
function for theoutput
of data sources, when upgrade to thev1.13.1
release, you need to setenable_hcl_output_for_data_source = true
in theazapi
provider block to enable the HCL output for data sources.
BUG FIXES:
- Fix a bug when upgrading from previous provider
azapi_resource
resource will settags
andlocation
for resources that don't havetags
orlocation
in the configuration. - Fix a bug that
azapi_resource
resource cannot handle tags with unknown values. - Fix a bug that
null
string value can't pass the schema validation. - Fix a bug that required fields which have
null
value can't pass the schema validation. - Fix a bug that schema validation fails to validate the float number in the body.
- Fix a bug that client certificate authentication doesn't work.
- Fix a bug that auxiliary tenant ids are not passed to the client.
- Fix a bug that
azapi_resource_action
resource shows the plan diff when upgrading from the previous provider.
v1.13.0
BREAKING CHANGES:
- Provider field
default_naming_prefix
anddefault_naming_suffix
are deprecated. It will not work in this release and will be removed in the next major release.
Please specify the naming prefix and suffix in the resource'sname
field instead. - The
azapi_resource
'sremoving_special_chars
field is deprecated. It will not work in this release and will be removed in the next major release.
Please specify thename
field and remove the special characters in thename
field instead. - Defining the
identity
inside thebody
field is not recommended. In this release, it will not sync theidentity
inside thebody
field toidentity
block.
Please define theidentity
block instead. azapi_resource
data source, azapi_resource_listdata source: The
output` field changes from JSON string to HCL object. Users can use access the fields in the output as an HCL object. Please follow the instructions to migrate:- Please remove the
jsondecode
function when using theoutput
field from these data sources.
data "azapi_resource" "test" { type = "Microsoft.Automation/automationAccounts@2023-11-01" resource_id = azapi_resource.auto.id response_export_values = ["properties"] } output "o1" { // change jsondecode(data.azapi_resource.test.output).properties.automationHybridServiceUrl to value = data.azapi_resource.test.output.properties.automationHybridServiceUrl }
- Run
terraform plan
to preview the changes.
No changes. Your infrastructure matches the configuration.
- Please remove the
ENHANCEMENTS:
azapi_resource
resource,azapi_update_resource
resource,azapi_resource_action
resource,azapi_data_plane_resource
resource,azapi_resource_action
data source: Thebody
field supports the dynamic schema and allows user to use the HCL object to specify the body.azapi_resource
resource,azapi_update_resource
resource,azapi_resource_action
resource,azapi_data_plane_resource
resource,azapi_resource_action
data source,azapi_resource
data source,azapi_resource_list
data source: Theoutput
field supports the dynamic schema and allows user to read the output as an HCL object.azapi
provider: Supportclient_id_file_path
andclient_secret_file_path
fields, which are used to specify the file path of the client id and client secret.azapi_data_plane_resource
resource: SupportMicrosoft.Synapse/workspaces/databases
type.azapi_resource
resource,azapi_update_resource
resource: Ignore the order of the elements in a list if the element has aname
field as identifier.- Update bicep types to ms-henglu/bicep-types-az@48ce933
BUG FIXES:
- Fix a bug that
azapi_resource_action
doesn't support 204 status code as a success response.
v1.12.1
v1.12.0
v1.12.0
ENHANCEMENTS:
- Update bicep types to ms-henglu/bicep-types-az@4abd79b
BUG FIXES:
- Fix a bug that
ignore_body_changes
incorrectly removes tags.
NOTICE:
- Provider field
default_naming_prefix
anddefault_naming_suffix
are deprecated. It will not work in the next minor release and will be removed in the next major release.
Please specify the naming prefix and suffix in the resource'sname
field instead. - The
azapi_resource
'sremoving_special_chars
field is deprecated. It will not work in the next minor release and will be removed in the next major release.
Please specify thename
field and remove the special characters in thename
field instead. - Defining the
identity
inside thebody
field is not recommended. In the next minor release, it will not sync theidentity
inside thebody
field toidentity
block.
Please define theidentity
block instead.