Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Resource: azurerm_app_service_environment_v3 #11174

Merged
merged 22 commits into from
May 4, 2021
Merged

Conversation

jackofallops
Copy link
Member

This PR introduces the preview resource, App Service Environment V3.

SDK/API coverage is incomplete, so two notable items are missing, but will be added if/when they are supported. (These are Host group deployment, and upgrade preference.)

supersedes #10304
Resolves #9420

Copy link
Member

@mbfrahry mbfrahry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this @jackofallops! I think this mostly looks good but all three tests here are failing
image

azurerm/internal/services/web/registration.go Show resolved Hide resolved
@jackofallops
Copy link
Member Author

Tests passing:

image

Copy link
Member

@tombuildsstuff tombuildsstuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey @jackofallops

Thanks for pushing those changes - taking a look through on the whole this looks pretty good but I've left some comments inline; if we can fix those up and the tests pass this should otherwise be good to go 👍

Thanks!

azurerm/internal/services/web/registration.go Outdated Show resolved Hide resolved
website/docs/r/app_service_environment_v3.html.markdown Outdated Show resolved Hide resolved
Comment on lines 17 to 71
resource "azurerm_resource_group" "example" {
name = "exampleRG1"
location = "West Europe"
}

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/16"]
}

resource "azurerm_subnet" "ase" {
name = "asesubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.0/24"]
}

resource "azurerm_subnet" "gateway" {
name = "gatewaysubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.2.0/24"]
}

resource "azurerm_app_service_environment_v3" "example" {
name = "example-ase"
subnet_id = azurerm_subnet.ase.id

cluster_setting {
name = "DisableTls1.0"
value = "1"
}

cluster_setting {
name = "InternalEncryption"
value = "true"
}

cluster_setting {
name = "FrontEndSSLCipherSuiteOrder"
value = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256"
}

tags = {
env = "production"
terraformed = "true"
}

}

```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does the ASE/Gateway subnet name here need to be a fixed name, like some of the other resources?

Suggested change
resource "azurerm_resource_group" "example" {
name = "exampleRG1"
location = "West Europe"
}
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/16"]
}
resource "azurerm_subnet" "ase" {
name = "asesubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.0/24"]
}
resource "azurerm_subnet" "gateway" {
name = "gatewaysubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.2.0/24"]
}
resource "azurerm_app_service_environment_v3" "example" {
name = "example-ase"
subnet_id = azurerm_subnet.ase.id
cluster_setting {
name = "DisableTls1.0"
value = "1"
}
cluster_setting {
name = "InternalEncryption"
value = "true"
}
cluster_setting {
name = "FrontEndSSLCipherSuiteOrder"
value = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256"
}
tags = {
env = "production"
terraformed = "true"
}
}
```
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}
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/16"]
}
resource "azurerm_subnet" "ase" {
name = "asesubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.0/24"]
}
resource "azurerm_subnet" "gateway" {
name = "gatewaysubnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.2.0/24"]
}
resource "azurerm_app_service_environment_v3" "example" {
name = "example-ase"
subnet_id = azurerm_subnet.ase.id
cluster_setting {
name = "DisableTls1.0"
value = "1"
}
cluster_setting {
name = "InternalEncryption"
value = "true"
}
cluster_setting {
name = "FrontEndSSLCipherSuiteOrder"
value = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256"
}
tags = {
env = "production"
terraformed = "true"
}
}


* `cluster_setting` - (Optional) Zero or more `cluster_setting` blocks as defined below.

* `tags` - (Optional) A mapping of tags to assign to the resource.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is force new above, but it's odd this can't be updated?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tags are not part of the update model, and don't appear to be present in the swagger... This could be an oversight, but this behaviour is also present in V1 and V2.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR introduces the preview resource, App Service Environment V3.

SDK/API coverage is incomplete, so two notable items are missing, but will be added if/when they are supported. (These are Host group deployment, and upgrade preference.)

supersedes #10304
Resolves #9420

All is there a thought this would make it into v2.57.0? Seems all buttoned up. Would love to get our hands on this to get ahead of a pending GA date.

website/docs/r/app_service_environment_v3.html.markdown Outdated Show resolved Hide resolved
Copy link
Collaborator

@katbyte katbyte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jackofallops Aside from 1 comment LGTM 👍

@katbyte katbyte dismissed stale reviews from mbfrahry and tombuildsstuff April 28, 2021 05:50

stale

@katbyte katbyte added this to the v2.58.0 milestone May 4, 2021
@katbyte katbyte merged commit 13c64c6 into master May 4, 2021
@katbyte katbyte deleted the r/ase-v3-typed branch May 4, 2021 18:05
katbyte added a commit that referenced this pull request May 4, 2021
@ghost
Copy link

ghost commented May 7, 2021

This has been released in version 2.58.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.58.0"
}
# ... other configuration ...

favoretti pushed a commit to gro1m/terraform-provider-azurerm that referenced this pull request May 26, 2021
Co-authored-by: kt <kt@katbyte.me>

This PR introduces the preview resource, App Service Environment V3.

SDK/API coverage is incomplete, so two notable items are missing, but will be added if/when they are supported. (These are Host group deployment, and upgrade preference.)

supersedes hashicorp#10304
Resolves hashicorp#9420
favoretti pushed a commit to gro1m/terraform-provider-azurerm that referenced this pull request May 26, 2021
@github-actions
Copy link

github-actions bot commented Jun 7, 2021

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

app_service_environment v3
5 participants