-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
azurerm_dev_test_virtual_network
: add support for shared_public_ip_address_configuration
#26299
azurerm_dev_test_virtual_network
: add support for shared_public_ip_address_configuration
#26299
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jiaweitao001, would you mind checking the comments left in-line?
@@ -96,6 +97,37 @@ func resourceArmDevTestVirtualNetwork() *pluginsdk.Resource { | |||
Default: string(virtualnetworks.UsagePermissionTypeAllow), | |||
ValidateFunc: validate.DevTestVirtualNetworkUsagePermissionType(), | |||
}, | |||
|
|||
"shared_public_ip_address_configuration": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
configuration
is redundant here, this should be renamed to
"shared_public_ip_address_configuration": { | |
"shared_public_ip_address": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
allowed_ports { | ||
backend_port = 22 | ||
transport_protocol = "Tcp" | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Multiple can be specified, can we please add another one to the test as well as test the update of these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will add.
5043cd7
to
bf51116
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jiaweitao001, there are a few additional comments. Once they're resolved this should be good to go.
@@ -305,18 +336,53 @@ func expandDevTestVirtualNetworkSubnets(input []interface{}, subscriptionId, res | |||
|
|||
for _, val := range input { | |||
v := val.(map[string]interface{}) | |||
sharedPublicIpAddressConfiguration := expandDevTestVirtualNetworkSubnetIpAddressConfiguration(v["shared_public_ip_address"].([]interface{})) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There isn't a need to declare this as a separate variable.
sharedPublicIpAddressConfiguration := expandDevTestVirtualNetworkSubnetIpAddressConfiguration(v["shared_public_ip_address"].([]interface{})) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will change.
LabSubnetName: pointer.To(name), | ||
UsePublicIPAddressPermission: pointer.To(virtualnetworks.UsagePermissionType(v["use_public_ip_address"].(string))), | ||
UseInVMCreationPermission: pointer.To(virtualnetworks.UsagePermissionType(v["use_in_virtual_machine_creation"].(string))), | ||
SharedPublicIPAddressConfiguration: sharedPublicIpAddressConfiguration, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SharedPublicIPAddressConfiguration: sharedPublicIpAddressConfiguration, | |
SharedPublicIPAddressConfiguration: expandDevTestVirtualNetworkSubnetIpAddressConfiguration(v["shared_public_ip_address"].([]interface{})), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will change.
allowedPortsRaw := v["allowed_ports"].([]interface{}) | ||
allowedPorts := expandDevTestVirtualNetworkSubnetAllowedPorts(allowedPortsRaw) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here
allowedPortsRaw := v["allowed_ports"].([]interface{}) | |
allowedPorts := expandDevTestVirtualNetworkSubnetAllowedPorts(allowedPortsRaw) | |
allowedPorts := expandDevTestVirtualNetworkSubnetAllowedPorts(v["allowed_ports"].([]interface{})) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will change.
backendPort := int64(v["backend_port"].(int)) | ||
transportProtocol := virtualnetworks.TransportProtocol(v["transport_protocol"].(string)) | ||
|
||
allowedPort := virtualnetworks.Port{ | ||
BackendPort: pointer.To(backendPort), | ||
TransportProtocol: pointer.To(transportProtocol), | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here
backendPort := int64(v["backend_port"].(int)) | |
transportProtocol := virtualnetworks.TransportProtocol(v["transport_protocol"].(string)) | |
allowedPort := virtualnetworks.Port{ | |
BackendPort: pointer.To(backendPort), | |
TransportProtocol: pointer.To(transportProtocol), | |
} | |
allowedPort := virtualnetworks.Port{ | |
BackendPort: pointer.To(int64(v["backend_port"].(int))), | |
TransportProtocol: pointer.To(virtualnetworks.TransportProtocol(v["transport_protocol"].(string))), | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will change.
if v.BackendPort != nil { | ||
output["backend_port"] = v.BackendPort | ||
} | ||
if v.TransportProtocol != nil { | ||
output["transport_protocol"] = v.TransportProtocol | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These could be condensed using pointer.From
if v.BackendPort != nil { | |
output["backend_port"] = v.BackendPort | |
} | |
if v.TransportProtocol != nil { | |
output["transport_protocol"] = v.TransportProtocol | |
} | |
output["backend_port"] = pointer.From(v.BackendPort) | |
output["transport_protocol"] = pointer.From(v.TransportProtocol) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jiaweitao001 LGTM 👍
<Actions> <action id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8"> <h3>Bump Terraform `azurerm` provider version</h3> <details id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24"> <summary>Update Terraform lock file</summary> <p>changes detected:
	"hashicorp/azurerm" updated from "3.111.0" to "3.112.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.112.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.112.0
FEATURES:

* New Data Source: `azurerm_elastic_san_volume_snapshot` ([#26439](hashicorp/terraform-provider-azurerm#26439 New Resource: `azurerm_dev_center_dev_box_definition` ([#26307](hashicorp/terraform-provider-azurerm#26307 New Resource: `azurerm_dev_center_environment_type` ([#26291](hashicorp/terraform-provider-azurerm#26291 New Resource: `azurerm_virtual_machine_restore_point` ([#26526](hashicorp/terraform-provider-azurerm#26526 New Resource: `azurerm_virtual_machine_restore_point_collection` ([#26526](https://github.com/hashicorp/terraform-provider-azurerm/issues/26526))

ENHANCEMENTS:

* dependencies: updating to `v0.20240710.1114656` of `github.com/hashicorp/go-azure-sdk` ([#26588](hashicorp/terraform-provider-azurerm#26588 dependencies: updating to `v0.70.0` of `go-azure-helpers` ([#26601](hashicorp/terraform-provider-azurerm#26601 `containerservice`: updating the Fleet resources to use API Version `2024-04-01` ([#26588](hashicorp/terraform-provider-azurerm#26588 Data Source: `azurerm_network_service_tags` - extend validation for `service` to allow `AzureFrontDoor.Backend`, `AzureFrontDoor.Frontend`, and `AzureFrontDoor.FirstParty` ([#26429](hashicorp/terraform-provider-azurerm#26429 `azurerm_api_management_identity_provider_aad` - support for the `client_library` property ([#26093](hashicorp/terraform-provider-azurerm#26093 `azurerm_api_management_identity_provider_aadb2c` - support for the `client_library` property ([#26093](hashicorp/terraform-provider-azurerm#26093 `azurerm_dev_test_virtual_network` - support for the `shared_public_ip_address` property ([#26299](hashicorp/terraform-provider-azurerm#26299 `azurerm_kubernetes_cluster` - support for the `certificate_authority` block under the `service_mesh_profile` block ([#26543](hashicorp/terraform-provider-azurerm#26543 `azurerm_linux_web_app` - support the value `8.3` for the `php_version` property ([#26194](hashicorp/terraform-provider-azurerm#26194 `azurerm_machine_learning_compute_cluster` - the `identity` property can now be updated ([#26404](hashicorp/terraform-provider-azurerm#26404 `azurerm_web_application_firewall_policy` - support for the `JSChallenge` value for `managed_rules.managed_rule_set.rule_group_override.rule_action` ([#26561](https://github.com/hashicorp/terraform-provider-azurerm/issues/26561))

BUG FIXES:

* Data Source: `azurerm_communication_service` - `primary_connection_string`, `primary_key`, `secondary_connection_string` and `secondary_key` are marked as Sensitive ([#26560](hashicorp/terraform-provider-azurerm#26560 `azurerm_app_configuration_feature` - fix issue when updating the resource without an existing `targeting_filter` ([#26506](hashicorp/terraform-provider-azurerm#26506 `azurerm_backup_policy_vm` - split create and update function to fix lifecycle - ignore ([#26591](hashicorp/terraform-provider-azurerm#26591 `azurerm_backup_protected_vm` - split create and update function to fix lifecycle - ignore ([#26583](hashicorp/terraform-provider-azurerm#26583 `azurerm_communication_service` - the `primary_connection_string`, `primary_key`, `secondary_connection_string`, and `secondary_key` properties are now sensitive ([#26560](hashicorp/terraform-provider-azurerm#26560 `azurerm_mysql_flexible_server_configuration` - add locks to prevent conflicts when deleting the resource ([#26289](hashicorp/terraform-provider-azurerm#26289 `azurerm_nginx_deployment` - changing the `frontend_public.ip_address`, `frontend_private.ip_address`, `frontend_private.allocation_method`, and `frontend_private.subnet_id` now creates a new resource ([#26298](hashicorp/terraform-provider-azurerm#26298 `azurerm_palo_alto_local_rulestack_rule` - correctl read the `protocol` property on read when the `protocol_ports` property is configured ([#26510](hashicorp/terraform-provider-azurerm#26510 `azurerm_servicebus_namespace` - parse the identity returned by the API insensitively before setting into state ([#26540](https://github.com/hashicorp/terraform-provider-azurerm/issues/26540))

DEPRECATIONS:

* `azurerm_servicebus_queue` - `enable_batched_operations`, `enable_express` and `enable_partitioning` are superseded by `batched_operations_enabled`, `express_enabled` and `partitioning_enabled` ([#26479](hashicorp/terraform-provider-azurerm#26479 `azurerm_servicebus_subscription` - `enable_batched_operations` has been superseded by `batched_operations_enabled` ([#26479](hashicorp/terraform-provider-azurerm#26479 `azurerm_servicebus_topic` - `enable_batched_operations`, `enable_express` and `enable_partitioning` are superseded by `batched_operations_enabled`, `express_enabled` and `partitioning_enabled` ([#26479](https://github.com/hashicorp/terraform-provider-azurerm/issues/26479))


</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/319/">Jenkins pipeline link</a> </action> </Actions> --- <table> <tr> <td width="77"> <img src="https://www.updatecli.io/images/updatecli.png" alt="Updatecli logo" width="50" height="50"> </td> <td> <p> Created automatically by <a href="https://www.updatecli.io/">Updatecli</a> </p> <details><summary>Options:</summary> <br /> <p>Most of Updatecli configuration is done via <a href="https://www.updatecli.io/docs/prologue/quick-start/">its manifest(s)</a>.</p> <ul> <li>If you close this pull request, Updatecli will automatically reopen it, the next time it runs.</li> <li>If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.</li> </ul> <p> Feel free to report any issues at <a href="https://github.com/updatecli/updatecli/issues">github.com/updatecli/updatecli</a>.<br /> If you find this tool useful, do not hesitate to star <a href="https://github.com/updatecli/updatecli/stargazers">our GitHub repository</a> as a sign of appreciation, and/or to tell us directly on our <a href="https://matrix.to/#/#Updatecli_community:gitter.im">chat</a>! </p> </details> </td> </tr> </table> Co-authored-by: Jenkins Infra Bot (updatecli) <[email protected]>
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. |
Community Note
Description
PR Checklist
For example: “
resource_name_here
- description of change e.g. adding propertynew_property_name_here
”Changes to existing Resource / Data Source
Testing
Change Log
Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.
azurerm_dev_test_virtual_network
: add support forshared_public_ip_address_configuration
This is a (please select all that apply):
Related Issue(s)
Fixes #0000
Note
If this PR changes meaningfully during the course of review please update the title and description as required.