Skip to content

fdmsantos/terraform-azurerm-api-connections

Repository files navigation

Azure API Connections Terraform Module

semantic-release: angular

Dynamic Terraform Module to Create Azure API Connections.

Table of Contents

Module versioning rule

Module version Azure Provider version
>= 1.x.x => 3.22

Supported Connections

Connection Module api_type Parameter Observations
Azure Blob azureblob Supports All 4 Authentication Types
Sharepoint Online sharepointonline
Office 365 office365
Planner planner

How to Use

Azure Blob

This example creates Api Connection to Azure blob storage using service principal as authentication. Please check here for examples to another supported authentication types.

module "azureblob" {
  source                               = "fdmsantos/api-connections/azurerm"
  version                              = "x.x.x"
  api_type                             = "azureblob"
  connection_name                      = "azureblob-1"
  deployment_name                      = "azureblob-deployment"
  resource_group_name                  = "<resource_group_name>"
  connection_display_name              = "<display_name"
  azureblob_authentication_type        = "Service Principal"
  auth_service_principal_client_id     = "<service_principal_client_id>"
  auth_service_principal_client_secret = "<service_principal_client_secret>"
  auth_service_principal_tenant_id     = "<service_principal_client_tenant_id>"
}

Sharepoint Online

module "sharepointonline" {
  source                  = "fdmsantos/api-connections/azurerm"
  version                 = "x.x.x"
  api_type                = "sharepointonline"
  resource_group_name     = "<resource_group_name>"
  connection_display_name = "Demo Sharepoint Connection"
}

Examples

  • azureblob - Creates an api connection to azure blob storage.
  • sharepointonline - Creates an api connection to sharepoint.
  • office365 - Creates an api connection to Office 365.
  • planner - Creates an api connection to Microsoft Planner.

Requirements

Name Version
terraform >= 0.13.1
azurerm >= 3.22

Providers

Name Version
azurerm >= 3.22

Modules

No modules.

Resources

Name Type
azurerm_resource_group_template_deployment.this resource

Inputs

Name Description Type Default Required
api_type Specifies the type of the Managed API. string n/a yes
auth_service_principal_client_id Service Principal Client Id. Required when *_authentication_type is Service Principal string null no
auth_service_principal_client_secret Service Principal Client Secret. Required when *_authentication_type is Service Principal string null no
auth_service_principal_tenant_id Service Principal Tenant Id. Required when *_authentication_type is Service Principal string null no
azureblob_authentication_type Specifies Authentication Type for azureblob api connection. string "Logic Apps Managed Identity" no
azureblob_storage_account_access_key Specifies storage access key for azureblob api connection. Required when azureblob_authentication_type is Access Key string null no
azureblob_storage_account_name Specifies storage account name for azureblob api connection. Required when azureblob_authentication_type is Access Key string null no
connection_display_name A display name for this API Connection. Changing this forces a new API Connection to be created. string null no
connection_name The Name which should be used for this API Connection. Changing this forces a new API Connection to be created. string null no
connection_tags A map of tags to assign to Api Connection. map(string) {} no
deployment_debug_level The Debug Level which should be used for this Resource Group Template Deployment. Possible values are none, requestContent, responseContent and BOTH. string null no
deployment_name The name which should be used for this Resource Group Template Deployment. Changing this forces a new Resource Group Template Deployment to be created. string null no
deployment_tags A map of tags to assign to deployment. map(string) {} no
resource_group_name Specifies the name of the Resource Group where the logic should exists. Changing this forces a new resource to be created. string n/a yes

Outputs

Name Description
connection_display_name Api Connection Display Name.
connection_id Api Connection Resource ID.
connection_name Api Connection Name.
deployment_id The Deployment ID.
deployment_name The Deployment name.
deployment_output_content The Deployment Output Content.
logic_app_parameter Output to use in Logic App Parameters to configure this connection.
managed_api_id Managed API ID.

Contributing

The goal is to have the maximum number of supported Azure API connections. To help achieve this objective, contributions via issues or pull requests are welcome.

License

Apache 2 Licensed. See LICENSE for full details.