From a7d2c25e9b77138b7ce5477ce5288051d2562e52 Mon Sep 17 00:00:00 2001 From: Hemanth Kumar <97278032+hemanthKa677@users.noreply.github.com> Date: Mon, 30 Oct 2023 19:23:31 +0530 Subject: [PATCH] Updates CHANGELOG file for plugin release (#319) --- CHANGELOG.md | 13 +++++++++ GETTING.md | 2 +- README.md | 27 +++++++++---------- docs/data-sources/infoblox_a_record.md | 6 ++--- docs/data-sources/infoblox_aaaa_record.md | 6 ++--- docs/data-sources/infoblox_cname_record.md | 16 +++++------ docs/data-sources/infoblox_dns_view.md | 10 +++---- docs/data-sources/infoblox_ipv4_network.md | 10 +++---- .../infoblox_ipv4_network_container.md | 10 +++---- docs/data-sources/infoblox_mx_record.md | 18 ++++++------- docs/data-sources/infoblox_network_view.md | 8 +++--- docs/data-sources/infoblox_ptr_record.md | 8 +++--- docs/data-sources/infoblox_srv_record.md | 14 +++++----- docs/data-sources/infoblox_txt_record.md | 8 +++--- docs/data-sources/infoblox_zone_auth.md | 12 ++++----- go.mod | 2 +- go.sum | 4 +-- .../infoblox-go-client/v2/CHANGELOG.md | 16 +++++++++++ .../infoblox-go-client/v2/README.md | 2 +- vendor/modules.txt | 2 +- 20 files changed, 110 insertions(+), 84 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44854f156..003afef89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [v2.5.0](https://github.com/infobloxopen/terraform-provider-infoblox/tree/v2.5.0) (2023-10-30) +- Resources are reworked aganist the changes from auto generated objects in go-client +- New Feature: ability to search through Extensible Attributes in datasources +- Additionally, added Multi Value Extensible Attributes search support +- EA Inheritance issue fixed, where inherited EAs in NIOS were getting deleted for second apply +- Datasources are reworked to use `filters`, for fetching matching objects, refer to [Terraform Docs](https://github.com/infobloxopen/terraform-provider-infoblox/blob/master/docs/index.md) +- New Resources: + - infoblox_dns_view + - infoblox_zone_auth +- New Datasources: + - infoblox_dns_view + - infoblox_zone_auth + ## [v2.4.1](https://github.com/infobloxopen/terraform-provider-infoblox/tree/v2.4.1) (2023-06-20) - A/AAAA Record resources reworked: - removed limitation on updating 'cidr' field diff --git a/GETTING.md b/GETTING.md index bba7da9ff..3612feec9 100644 --- a/GETTING.md +++ b/GETTING.md @@ -12,7 +12,7 @@ Specify the plugin version in the .tf file as follows: required_providers { infoblox = { source = "infobloxopen/infoblox" - version = ">= 2.4.0" + version = ">= 2.5.0" } } } diff --git a/README.md b/README.md index e9c9df683..4eea19975 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is a provider plugin for Terraform to manage Infoblox NIOS (Network Identity Operating System) resources using Terraform infrastructure as code solutions. The plugin enables lifecycle management of Infoblox NIOS DDI resources. -The latest version of Infoblox provider is [v2.4.1](https://github.com/infobloxopen/terraform-provider-infoblox/releases/tag/v2.4.1) +The latest version of Infoblox provider is [v2.5.0](https://github.com/infobloxopen/terraform-provider-infoblox/releases/tag/v2.5.0) ## Provider Features @@ -20,11 +20,13 @@ The provider plugin has NIOS DDI resources represented as Terraform resources an * Network (`infoblox_ipv4_network`, `infoblox_ipv6_network`) * A-record (`infoblox_a_record`) * AAAA-record (`infoblox_aaaa_record`) +* DNS View (`infoblox_dns_view`) * PTR-record (`infoblox_ptr_record`) * CNAME-record (`infoblox_cname_record`) * MX-record (`infoblox_mx_record`) * TXT-record (`infoblox_txt_record`) * SRV-record (`infoblox_srv_record`) +* Zone Auth (`infoblox_zone_auth`) * Host record as a backend for the following operations: * Allocation and de-allocation of an IP address from a Network (`infoblox_ip_allocation`) * Association and de-association of an IP address from a VM (`infoblox_ip_association`) @@ -39,11 +41,13 @@ DNS records and `infoblox_ip_allocation` resource have the `ttl` field's support * IPv4 Network Container (`infoblox_ipv4_network_container`) * A-record (`infoblox_a_record`) * AAAA-record (`infoblox_aaaa_record`) +* DNS View (`infoblox_dns_view`) * CNAME-record (`infoblox_cname_record`) * PTR-record (`infoblox_ptr_record`) * MX-record (`infoblox_mx_record`) * TXT-record (`infoblox_txt_record`) * SRV-record (`infoblox_srv_record`) +* Zone Auth (`infoblox_zone_auth`) All of the above data sources are supported with `comment` and `ext_attr` fields. DNS records have the `ttl` and `zone` fields' support. @@ -82,29 +86,22 @@ complete the following prerequisites: ## Limitations -The limitations of Infoblox IPAM Plug-In for Terraform version 2.3.0 are as follows: +The limitations of Infoblox IPAM Plug-In for Terraform version 2.5.0 are as follows: -* No support for creating a DNS zone. Therefore, to work with DNS - records, you must ensure that appropriate DNS zones have been created in NIOS. * Allocation and association through a fixed-address record are not supported. * For `infoblox_ip_allocation` and `infoblox_ip_association` resources: creation of a host record with multiple IP addresses of the same type is not supported. But you can create a host record with a single IPv4 and IPv6 address (of both IP types at the same host record). -* For `infoblox_ipv4_allocation`, `infoblox_ipv6_allocation`, `infoblox_ipv4_association` and `infoblox_ipv6_association` - resources: creation of a host record with multiple IP addresses of the same type or - a combination of IPv4 and IPv6 types, is not supported. * Authority delegation of IP addresses and DNS name spaces to a cloud platform appliance, is not supported. -* Inheritance of extensible attributes is not supported. +* Inheritance of extensible attributes is not fully functional in this release. Infoblox supports only the retaining of + inherited extensible attributes values in NIOS. The values are no longer deleted from NIOS as a result of any + operation performed in Terraform. +* Configuring an A, AAAA, and a host record resource with both cidr and ip_addr parameters, or + configuring a PTR record with a combination of cidr , ip_addr , and record_name parameters, may + lead to unexpected behavior. For a consistent behavior, configure any one of the input parameters. * Required extensible attributes specified in NIOS Grid Manager are not validated by the plug-in. * In NIOS, the gateway IP addresses of networks created using the `infoblox_ipv4_network` and `infoblox_ipv6_network` resources display as "IPv4 Reservation" and "IPv6 Fixed Address" respectively. * Use of capital letters in the domain name of a Terraform resource may lead to unexpected results. For example, when you use a Terraform data source to search for a DNS record that has capital letters in its name, no results are returned if you specify the name in the same text case. You must specify the name in lower case. -* The import functionality is not supported by the following resources (they are deprecated and not supported anymore): - * `infoblox_ipv4_allocation` - * `infoblox_ipv6_allocation` - * `infoblox_ipv4_association` - * `infoblox_ipv6_association` -* The Update functionality is currently not working for the CIDR field in A and AAAA records. -* The fetch functionality in data sources returns output for only one matching object even if it finds multiple objects matching the search criteria. diff --git a/docs/data-sources/infoblox_a_record.md b/docs/data-sources/infoblox_a_record.md index 43abe30e1..35f2acef7 100644 --- a/docs/data-sources/infoblox_a_record.md +++ b/docs/data-sources/infoblox_a_record.md @@ -22,9 +22,9 @@ From the below list of supported arguments for filters, use only the searchable |----------|----------|--------|------------| | name | fqdn | string | yes | | view | dns_view | string | yes | -| zone | --- | string | yes | -| ttl | --- | uint | no | -| comment | --- | string | yes | +| zone | zone | string | yes | +| ttl | ttl | uint | no | +| comment | comment | string | yes | | ipv4addr | ip_addr | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_aaaa_record.md b/docs/data-sources/infoblox_aaaa_record.md index e76c7358b..17f24a2f7 100644 --- a/docs/data-sources/infoblox_aaaa_record.md +++ b/docs/data-sources/infoblox_aaaa_record.md @@ -22,9 +22,9 @@ From the below list of supported arguments for filters, use only the searchable |----------|----------|--------|------------| | name | fqdn | string | yes | | view | dns_view | string | yes | -| zone | --- | string | yes | -| ttl | --- | uint | no | -| comment | --- | string | yes | +| zone | zone | string | yes | +| ttl | ttl | uint | no | +| comment | comment | string | yes | | ipv6addr | ip_addr | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_cname_record.md b/docs/data-sources/infoblox_cname_record.md index aa2e5acac..2fc1c39c9 100644 --- a/docs/data-sources/infoblox_cname_record.md +++ b/docs/data-sources/infoblox_cname_record.md @@ -18,14 +18,14 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|-----------|----------|--------|------------| -| name | alias | string | yes | -| view | dns_view | string | yes | -| canonical | --- | string | yes | -| ttl | --- | uint | no | -| comment | --- | string | yes | -| zone | --- | string | yes | +| Field | Alias | Type | Searchable | +|-----------|-----------|--------|------------| +| name | alias | string | yes | +| view | dns_view | string | yes | +| canonical | canonical | string | yes | +| ttl | ttl | uint | no | +| comment | comment | string | yes | +| zone | zone | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_dns_view.md b/docs/data-sources/infoblox_dns_view.md index c70e53bad..cdad0a12e 100644 --- a/docs/data-sources/infoblox_dns_view.md +++ b/docs/data-sources/infoblox_dns_view.md @@ -13,11 +13,11 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|--------------|-------|--------|------------| -| name | --- | string | yes | -| network_view | --- | string | yes | -| comment | --- | string | yes | +| Field | Alias | Type | Searchable | +|--------------|--------------|--------|------------| +| name | name | string | yes | +| network_view | network_view | string | yes | +| comment | comment | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_ipv4_network.md b/docs/data-sources/infoblox_ipv4_network.md index 637af6ab7..eb8097d15 100644 --- a/docs/data-sources/infoblox_ipv4_network.md +++ b/docs/data-sources/infoblox_ipv4_network.md @@ -14,11 +14,11 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|--------------|-------|--------|------------| -| network | cidr | string | yes | -| network_view | --- | string | yes | -| comment | --- | string | yes | +| Field | Alias | Type | Searchable | +|--------------|--------------|--------|------------| +| network | cidr | string | yes | +| network_view | network_view | string | yes | +| comment | comment | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_ipv4_network_container.md b/docs/data-sources/infoblox_ipv4_network_container.md index 78f3f8b80..f027f7d4c 100644 --- a/docs/data-sources/infoblox_ipv4_network_container.md +++ b/docs/data-sources/infoblox_ipv4_network_container.md @@ -15,11 +15,11 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|--------------|-------|--------|------------| -| network | cidr | string | yes | -| network_view | --- | string | yes | -| comment | --- | string | yes | +| Field | Alias | Type | Searchable | +|--------------|--------------|--------|------------| +| network | cidr | string | yes | +| network_view | network_view | string | yes | +| comment | comment | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_mx_record.md b/docs/data-sources/infoblox_mx_record.md index 47c627534..bac71c220 100644 --- a/docs/data-sources/infoblox_mx_record.md +++ b/docs/data-sources/infoblox_mx_record.md @@ -17,15 +17,15 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|----------------|----------|--------|------------| -| name | fqdn | string | yes | -| mail_exchanger | --- | string | yes | -| preference | --- | uint32 | yes | -| view | dns_view | string | yes | -| ttl | --- | uint32 | no | -| comment | --- | string | yes | -| zone | --- | string | yes | +| Field | Alias | Type | Searchable | +|----------------|----------------|--------|------------| +| name | fqdn | string | yes | +| mail_exchanger | mail_exchanger | string | yes | +| preference | preference | uint32 | yes | +| view | dns_view | string | yes | +| ttl | ttl | uint32 | no | +| comment | comment | string | yes | +| zone | zone | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_network_view.md b/docs/data-sources/infoblox_network_view.md index 40e0703af..22400ffb4 100644 --- a/docs/data-sources/infoblox_network_view.md +++ b/docs/data-sources/infoblox_network_view.md @@ -12,10 +12,10 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|---------|-------|--------|------------| -| name | --- | string | yes | -| comment | --- | string | yes | +| Field | Alias | Type | Searchable | +|---------|---------|--------|------------| +| name | name | string | yes | +| comment | comment | string | yes | !> Either you can fetch with both `name` and `comment` or just with `name` field. diff --git a/docs/data-sources/infoblox_ptr_record.md b/docs/data-sources/infoblox_ptr_record.md index 02e6fe0ad..c0d07ddf4 100644 --- a/docs/data-sources/infoblox_ptr_record.md +++ b/docs/data-sources/infoblox_ptr_record.md @@ -22,14 +22,14 @@ From the below list of supported arguments for filters, use only the searchable ----- | Field | Alias | Type | Searchable | |-------------|----------|--------|------------| -| ptrdname | --- | string | yes | +| ptrdname | ptrdname | string | yes | | record_name | name | string | yes | | view | dns_view | string | yes | | ipv4addr | ip_addr | string | yes | | ipv6addr | ip_addr | string | yes | -| ttl | --- | uint32 | no | -| comment | --- | string | yes | -| zone | --- | string | yes | +| ttl | ttl | uint32 | no | +| comment | comment | string | yes | +| zone | zone | string | yes | !> From above list, both ipv4addr and ipv6addr are not allowed together in filters. Apart from this any other combination is allowed. diff --git a/docs/data-sources/infoblox_srv_record.md b/docs/data-sources/infoblox_srv_record.md index c03b0acd4..b667c7211 100644 --- a/docs/data-sources/infoblox_srv_record.md +++ b/docs/data-sources/infoblox_srv_record.md @@ -23,14 +23,14 @@ From the below list of supported arguments for filters, use only the searchable | Field | Alias | Type | Searchable | |----------|----------|--------|------------| | name | fqdn | string | yes | -| priority | --- | uint32 | yes | +| priority | priority | uint32 | yes | | view | dns_view | string | yes | -| weight | --- | uint32 | yes | -| port | --- | uint32 | yes | -| target | --- | string | yes | -| ttl | --- | uint32 | no | -| comment | --- | string | yes | -| zone | --- | string | yes | +| weight | weight | uint32 | yes | +| port | port | uint32 | yes | +| target | target | string | yes | +| ttl | ttl | uint32 | no | +| comment | comment | string | yes | +| zone | zone | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_txt_record.md b/docs/data-sources/infoblox_txt_record.md index bc5f2abc7..ae1219180 100644 --- a/docs/data-sources/infoblox_txt_record.md +++ b/docs/data-sources/infoblox_txt_record.md @@ -20,11 +20,11 @@ From the below list of supported arguments for filters, use only the searchable | Field | Alias | Type | Searchable | |---------|----------|--------|------------| | name | fqdn | string | yes | -| text | --- | string | yes | +| text | text | string | yes | | view | dns_view | string | yes | -| zone | --- | string | yes | -| ttl | --- | uint | no | -| comment | --- | string | yes | +| zone | zone | string | yes | +| ttl | ttl | uint | no | +| comment | comment | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/docs/data-sources/infoblox_zone_auth.md b/docs/data-sources/infoblox_zone_auth.md index 19610b168..883a89be2 100644 --- a/docs/data-sources/infoblox_zone_auth.md +++ b/docs/data-sources/infoblox_zone_auth.md @@ -15,12 +15,12 @@ From the below list of supported arguments for filters, use only the searchable ### Supported Arguments for filters ----- -| Field | Alias | Type | Searchable | -|-------------|-------|--------|------------| -| fqdn | --- | string | yes | -| view | --- | string | yes | -| zone_format | --- | string | yes | -| comment | --- | string | yes | +| Field | Alias | Type | Searchable | +|-------------|-------------|--------|------------| +| fqdn | fqdn | string | yes | +| view | view | string | yes | +| zone_format | zone_format | string | yes | +| comment | comment | string | yes | !> Any of the combination from searchable fields in supported arguments list for fields are allowed. diff --git a/go.mod b/go.mod index e3547624a..d25a118f4 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/google/uuid v1.3.0 github.com/hashicorp/terraform-plugin-log v0.7.0 github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0 - github.com/infobloxopen/infoblox-go-client/v2 v2.3.1-0.20231018043057-61358d548d09 + github.com/infobloxopen/infoblox-go-client/v2 v2.4.0 github.com/sirupsen/logrus v1.8.0 ) diff --git a/go.sum b/go.sum index 97b13449a..96cfb046e 100644 --- a/go.sum +++ b/go.sum @@ -151,8 +151,8 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/infobloxopen/infoblox-go-client/v2 v2.3.1-0.20231018043057-61358d548d09 h1:taKz9I4i4uNxJVDV8JndGLxinPCcok1+VqWWMHXLlKE= -github.com/infobloxopen/infoblox-go-client/v2 v2.3.1-0.20231018043057-61358d548d09/go.mod h1:Zu7c+X0mTB6ahIYm7p9LlvfcH814ZUEP+eXGPEYLDU4= +github.com/infobloxopen/infoblox-go-client/v2 v2.4.0 h1:B8/Ej06SbhN44F2eQq18k6eWgY2XaZocCIloZyKD1Hk= +github.com/infobloxopen/infoblox-go-client/v2 v2.4.0/go.mod h1:Zu7c+X0mTB6ahIYm7p9LlvfcH814ZUEP+eXGPEYLDU4= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= diff --git a/vendor/github.com/infobloxopen/infoblox-go-client/v2/CHANGELOG.md b/vendor/github.com/infobloxopen/infoblox-go-client/v2/CHANGELOG.md index 750323483..fa8ec2a26 100644 --- a/vendor/github.com/infobloxopen/infoblox-go-client/v2/CHANGELOG.md +++ b/vendor/github.com/infobloxopen/infoblox-go-client/v2/CHANGELOG.md @@ -1,5 +1,21 @@ # Infoblox Go Client Release Notes +## v2.4.0 + +### Release Summary + +- Added 'object_generated' file contains auto generated WAPI object structures and associated functions from WAPI instance. +- Added E2E tests for functionality validation on WAPI's instance. +- Updated CHANGELOG file with structs and fields of corresponding objects generated. +- Some fields of structs are updated with pointers corresponding to WAPI instance. + +### Major Changes + +- Updated vendor directory and some dependencies like `ginkgo` with version update for test files. +- Added `object_generated` file contains supported objects from go-client and other WAPI objects with structs. +- Added Multi Value Extensible Attribute search validation for terraform plugin. +- Removed `record_ns` file as `RecordNS` object struct already exists in `object_generated` file. + ## v2.1.1 This is just a bugfix release. diff --git a/vendor/github.com/infobloxopen/infoblox-go-client/v2/README.md b/vendor/github.com/infobloxopen/infoblox-go-client/v2/README.md index 1909bea94..b49e68be2 100644 --- a/vendor/github.com/infobloxopen/infoblox-go-client/v2/README.md +++ b/vendor/github.com/infobloxopen/infoblox-go-client/v2/README.md @@ -18,7 +18,7 @@ This library is compatible with Go 1.2+ * Go 1.2 or above ## Installation - To get the latest released version [v2.1.0](https://github.com/infobloxopen/infoblox-go-client/releases/tag/v2.1.0) of Go Client use below command. + To get the latest released version [v2.4.0](https://github.com/infobloxopen/infoblox-go-client/releases/tag/v2.4.0) of Go Client use below command. `go get github.com/infobloxopen/infoblox-go-client/v2` diff --git a/vendor/modules.txt b/vendor/modules.txt index a8bdece79..53ad7d8cc 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -145,7 +145,7 @@ github.com/hashicorp/terraform-svchost # github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d ## explicit github.com/hashicorp/yamux -# github.com/infobloxopen/infoblox-go-client/v2 v2.3.1-0.20231018043057-61358d548d09 +# github.com/infobloxopen/infoblox-go-client/v2 v2.4.0 ## explicit; go 1.17 github.com/infobloxopen/infoblox-go-client/v2 github.com/infobloxopen/infoblox-go-client/v2/utils