Please add support for Integration Service Environment
{
"type": "Microsoft.Logic/integrationServiceEnvironments",
"apiVersion": "[parameters('integrationServiceEnvironmentApiVersion')]",
"name": "[parameters('integrationServiceEnvironmentName')]",
"location": "[parameters('integrationServiceEnvironmentLocation')]",
"dependsOn": [
"Microsoft.Resources/deployments/updateVirtualNetworkSubnetWithDelegation"
],
"tags": "[parameters('tags')]",
"sku": {
"name": "[parameters('skuName')]",
"capacity": "[parameters('skuCapacity')]"
},
"properties": {
"networkConfiguration": {
"subnets": "[parameters('subnetResourceIds')]",
"accessEndpoint": "[parameters('accessEndpoint')]"
}
}
}
Once this is created azurerm_logic_app_workflow would need to be updated to support linking to it.
Just wrote specification #7492 and will focus on implementation. Please provide feedback on spec!
Moving specification into this thread.
Support in Terraform for Integration Service Environment (ISE) / Azure Logic Apps
https://docs.microsoft.com/en-us/azure/logic-apps/ise-manage-integration-service-environment
https://docs.microsoft.com/en-us/azure/templates/microsoft.logic/integrationserviceenvironments#IntegrationServiceEnvironmentAccessEndpoint
Please see specification, will also initiate implementation based on the specification discussed and described here. Please provide feedback! Implementation self assigned to me @jbinko . Please assign me.
resource "azurerm_resource_group" "example" {
name = "exampleRG1"
location = "westeurope"
}
resource "azurerm_virtual_network" "example" {
name = "example-vnet1"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
address_space = ["10.0.0.0/22"]
}
resource "azurerm_subnet" "isesubnet1" {
name = "isesubnet1"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.0/26"]
delegation {
name = "integrationServiceEnvironments"
service_delegation {
name = "Microsoft.Logic/integrationServiceEnvironments"
}
}
}
resource "azurerm_subnet" "isesubnet2" {
name = "isesubnet2"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.64/26"]
}
resource "azurerm_subnet" "isesubnet3" {
name = "isesubnet3"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.128/26"]
}
resource "azurerm_subnet" "isesubnet4" {
name = "isesubnet4"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.192/26"]
}
resource "azurerm_integration_service_environment" "example" {
name = "example-ise"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
sku_name = "Developer_0"
access_endpoint_type = "Internal"
virtual_network_subnet_ids = [
azurerm_subnet.isesubnet1.id,
azurerm_subnet.isesubnet2.id,
azurerm_subnet.isesubnet3.id,
azurerm_subnet.isesubnet4.id
]
tags = {
environment = "development"
}
}
// sku_name - Developer_0 | Premium_0 | Premium_1 | Premium_2 | Premium_3 | Premium_4 | Premium_5 | Premium_6 | Premium_7 | Premium_8 | Premium_9 | Premium_10 / Optional, defaults to Developer_0 / ForceNew when tier is changed from the other
// access_endpoint_type - Internal | External / Required / ForceNew
// virtual_network_subnet_ids - Exactly four IDs to subnets must be provided / ForceNew
// The following attributes are exported:
// id - The Integration Service Environment ID.
// connector_endpoint_ip_addresses - The list of access endpoint ip addresses of connector.
// connector_outbound_ip_addresses - The list of outgoing ip addresses of connector.
// workflow_endpoint_ip_addresses - The list of access endpoint ip addresses of workflow.
// workflow_outbound_ip_addresses - The list of outgoing ip addresses of workflow.
Branch with support for azurerm_integration_service_environment resource is stored in github/jbinko
Update: 07/27/2020 - Based on the feedback changing the spec. Capacity will not be used directly. sku_name will contain tier name and capacity. Effectively merging sku and capacity all together. Optional, defaults to Developer_0
@jbinko Need any help finalizing this?
@jbinko - thanks for working on this! took a quick look at your branch and loosk pretty good! feel free to open a PR so we can give it a proper review ๐
Just published PR. @favoretti , @katbyte thank you for interest. I'll be happy if you can do review and/or bring new ideas.
Based on the feedback changing the spec. Capacity will not be used directly. sku_name will contain tier name and capacity. Effectively merging sku and capacity all together. See changed spec above.
This has been released in version 2.23.0 of the provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. As an example:
provider "azurerm" {
version = "~> 2.23.0"
}
# ... other configuration ...
I'm going to lock this issue because it has been closed for _30 days_ โณ. This helps our maintainers find and focus on the active issues.
If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error ๐ค ๐ , please reach out to my human friends ๐ [email protected]. Thanks!