MCPcopy
hub / github.com/hashicorp/terraform-provider-azurerm

github.com/hashicorp/terraform-provider-azurerm @v4.80.0 sqlite

repository ↗ · DeepWiki ↗ · release v4.80.0 ↗
47,914 symbols 283,742 edges 6,754 files 2,015 documented · 4%
README

Terraform logo

Terraform Provider for Azure (Resource Manager)

The AzureRM Terraform Provider allows managing resources within Azure Resource Manager.

When using version 4.0 of the AzureRM Provider we recommend using the latest version of Terraform Core (the latest version can be found here).

Usage Example

# 1. Specify the version of the AzureRM Provider to use
terraform {
  required_providers {
    azurerm = {
      source = "hashicorp/azurerm"
      version = "=4.0.0"
    }
  }
}

# 2. Configure the AzureRM Provider
provider "azurerm" {
  # The AzureRM Provider supports authenticating using via the Azure CLI, a Managed Identity
  # and a Service Principal. More information on the authentication methods supported by
  # the AzureRM Provider can be found here:
  # https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs#authenticating-to-azure

  # The features block allows changing the behaviour of the Azure Provider, more
  # information can be found here:
  # https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/features-block
  features {}
}

# 3. Create a resource group
resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

# 4. Create a virtual network within the resource group
resource "azurerm_virtual_network" "example" {
  name                = "example-network"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  address_space       = ["10.0.0.0/16"]
}

Developing & Contributing to the Provider

The DEVELOPER.md file is a basic outline on how to build and develop the provider while more detailed guides geared towards contributors can be found in the /contributing directory of this repository.

Extension points exported contracts — how you extend this code

TypedServiceRegistration (Interface)
TypedServiceRegistration is a Service Registration using Types meaning that we can abstract on top of the Plugin SDK and [101 …
internal/sdk/service_registration.go
Rule (Interface)
(no doc) [7 implementers]
internal/tools/static-analysis/rules/interface.go
StateUpgrade (Interface)
(no doc) [255 implementers]
internal/tf/pluginsdk/state_upgrades.go
RedisEnterpriseClientInterface (Interface)
(no doc) [10 implementers]
internal/services/managedredis/custompollers/cluster_state_poller.go
TestResource (Interface)
(no doc) [1126 implementers]
internal/acceptance/types/resource.go
ApiAuthorizerFunc (FuncType)
(no doc)
internal/common/client_options.go
UntypedServiceRegistration (Interface)
UntypedServiceRegistration is the interface used for untyped/raw Plugin SDK resources in the future this'll be supersede [99 …
internal/sdk/service_registration.go
Section (Interface)
(no doc) [9 implementers]
internal/tools/document-fmt/markdown/section.go

Core symbols most depended-on inside this repo

That
called by 25075
internal/acceptance/check/that.go
ComposeTestCheckFunc
called by 13398
internal/acceptance/plugin_sdk_aliases.go
ExistsInAzure
called by 12832
internal/acceptance/check/that.go
Key
called by 12245
internal/tools/document-lint/check/check_iface.go
Get
called by 11264
internal/services/storage/shim/shares.go
ImportStep
called by 10954
internal/acceptance/steps.go
BuildTestData
called by 9660
internal/acceptance/data.go
Set
called by 9012
internal/sdk/resource_data.go

Shape

Function 22,754
Method 20,405
Struct 4,644
Interface 59
TypeAlias 42
FuncType 10

Languages

Go100%
Python1%

Modules by API surface

internal/services/storage/storage_account_resource_test.go203 symbols
internal/services/web/app_service_resource_test.go186 symbols
internal/services/appservice/linux_function_app_resource_test.go162 symbols
internal/services/cosmos/cosmosdb_account_resource_test.go160 symbols
internal/services/appservice/windows_web_app_resource_test.go156 symbols
internal/services/appservice/linux_web_app_resource_test.go156 symbols
internal/services/network/application_gateway_resource_test.go155 symbols
internal/services/appservice/windows_function_app_resource_test.go147 symbols
internal/services/appservice/linux_web_app_slot_resource_test.go137 symbols
internal/services/containers/kubernetes_cluster_node_pool_resource_test.go136 symbols
internal/services/appservice/linux_function_app_slot_resource_test.go134 symbols
internal/services/appservice/windows_function_app_slot_resource_test.go128 symbols

Dependencies from manifests, versioned

dario.cat/mergov1.0.2 · 1×
github.com/Azure/azure-sdk-for-gov66.0.0+incompatible · 1×
github.com/Azure/go-autorestv14.2.0+incompatible · 1×
github.com/Azure/go-autorest/autorestv0.11.30 · 1×
github.com/Azure/go-autorest/autorest/adalv0.9.24 · 1×
github.com/Azure/go-autorest/autorest/datev0.3.1 · 1×
github.com/Azure/go-autorest/autorest/tov0.4.0 · 1×
github.com/Azure/go-autorest/autorest/validationv0.3.1 · 1×
github.com/Azure/go-autorest/loggerv0.2.2 · 1×
github.com/Azure/go-autorest/tracingv0.6.1 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×
github.com/Masterminds/semver/v3v3.4.0 · 1×

Datastores touched

(mongodb)Database · 1 repos
(mysql)Database · 1 repos

For agents

$ claude mcp add terraform-provider-azurerm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact