14.5 C
New York
Sunday, November 17, 2024

VMware Cloud Provider Director Terraform v3.14.0


The VMware Cloud Director (VCD) Terraform provider v3.14.0 is now available and supports VCD versions 10.4.0 through 10.6.0. This release provides actively requested features and enhancements from users. It contains 5 new resources and 7 new data sources, 11 enhancements, and 9 bug fixes.

API Filters and External Endpoints

API filters allow you to extend the VCD API with custom URLs that can be redirected to an external endpoint. These two concepts now have their respective resources in the Terraform provider:

Here is an example showing how to use them:

resource “vcd_external_endpoint” “ep1” {
supplier = “broadcom”
name = “my-endpoint”
version = “1.0.0”
enabled = true
description = “A simple external endpoint example”
root_url = “https://10.1.1.1/my-service”
}

resource “vcd_api_filter” “af” {
vcd_external_endpoint.ep1.id = vcd_external_endpoint.ep1.id
url_matcher_pattern = “/my-service/.*”
url_comparison_scope = “EXT_API”
}

When this setting is applied, all requests made to /ext-api/my-service/... You will be redirected to https://10.1.1.1/my-service with all request content and query parameters coming from VCD.

ALB Virtual Service Policies

Three new resources and data sources for managing ALB virtual services HTTP policies. These resources can become quite large due to the number of matching criteria and action configuration, but examples can be found on each of their own documentation pages:

Improvements

Improved user experience with RDE Behaviors

Resources and data sources vcd_rde interface behavior and vcd_rde type behavior had the execution argument, which only supported key-value mappings to define behavior executions. This version adds a new argument, execution_jsonwhich allows you to define more complex behavior executions by providing a complex JSON string with the specification:

resource “vcd_rde_interface_behavior” “behavior” {
rde_interface_id = vcd_rde_interface.my_interface.id
name = “MyBehavior”

# ‘execution_json’ allows you to use complex structures that are not possible with regular code.
# ‘Execution’ map, such as a nested “execution_properties” in a webhook behavior:
json_execution = jsonencode({
“type”: “WebHook”,
“id” : “testWebHook”,
“href”: “https://hooks.slack.com:443/services/T07UZFN0N/B01EW5NC42D/rfjhHCGIwzuzQFrpPZiuLkIX”,
“_internal_key” : “secret key”,
“run_properties” : {
“template” : {
“content” : “
},
“_secure_token”: “secure token”,
“summon timeout”: 7
}
})
}

Note that the argument execution can still be used for simpler definitions. In addition, the vcd_rde_behavior_invocation The data source also allows the use of JSON arguments:

data “vcd_rde_behavior_invocation” “invoke” {
rde_id = vcd_rde.rde.id
behavior_id = vcd_rde_interface_behavior. behavior_id
invoke_on_refresh = true
json_arguments = jsonencode({
“template” : {
“content”: “hello world”
},
“_secure_token”: “secure token”,
“summon timeout”: 7
})
}

New data source for Catalog access controls

With the new vcd catalog access control data source, you can read the access controls to the Catalog and all the information it provides in its attributes (such as the Organizations with which the Catalog is shared).

Other notable improvements

Bug fixes

Not everything is listed here, but there is a list of user-requested bug fixes that were addressed and can be reviewed at changelog.

Go SDK version 2.26.0 released

Last but not least, there is a new version. version 2.26.0 of Go SDK for VMware Cloud Director.

Related Articles

Latest Articles