diff --git a/.changes/defer-config-clear-unlock.md b/.changes/defer-config-clear-unlock.md deleted file mode 100644 index 05b9d181..00000000 --- a/.changes/defer-config-clear-unlock.md +++ /dev/null @@ -1,4 +0,0 @@ - -ENHANCEMENTS: - -* **provider**: enhance debug logs by prefixing messages with local and remote addresses of the sessions diff --git a/.changes/iface-with-fwk.md b/.changes/iface-with-fwk.md deleted file mode 100644 index 9f499a99..00000000 --- a/.changes/iface-with-fwk.md +++ /dev/null @@ -1,15 +0,0 @@ - -ENHANCEMENTS: - -* **resource/junos_interface_logical**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) -* **data-source/junos_interface_logical**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource (schema has been upgraded to have one-blocks in single mode instead of list) -* **resource/junos_interface_physical**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) - * add `encapsulation`, `flexible_vlan_tagging`, `gratuitous_arp_reply`, `hold_time_down`, `hold_time_up`, `link_mode`, `no_gratuitous_arp_reply`, `no_gratuitous_arp_request` and `speed` arguments -* **data-source/junos_interface_physical**: - * data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource (schema has been upgraded to have one-blocks in single mode instead of list) - * add `encapsulation`, `flexible_vlan_tagging`, `gratuitous_arp_reply`, `hold_time_down`, `hold_time_up`, `link_mode`, `no_gratuitous_arp_reply`, `no_gratuitous_arp_request` and `speed` attributes like resource -* **resource/junos_interface_physical_disable**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) -* **resource/junos_interface_st0_unit**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) -* **data-source/junos_interface_logical_info**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (schema has been upgraded to have one-blocks in single mode instead of list) -* **data-source/junos_interfaces_physical_present**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) diff --git a/.changes/issue-456.md b/.changes/issue-456.md deleted file mode 100644 index 2aef1a5e..00000000 --- a/.changes/issue-456.md +++ /dev/null @@ -1,18 +0,0 @@ - -FEATURES: - -* add **junos_forwardingoptions_sampling** resource (Partial fix [#456](https://github.com/jeremmfr/terraform-provider-junos/issues/456)) -* add **junos_services_flowmonitoring_v9_template** resource (Partial fix [#456](https://github.com/jeremmfr/terraform-provider-junos/issues/456)) - -ENHANCEMENTS: - -* **resource/junos_forwardingoptions_sampling_instance**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) - * add `routing_instance` argument to allow create sampling instance in routing instance. (`id` attribute has now the format `_-_`) - * `flow_server` block argument is now unordered -* **resource/junos_services_flowmonitoring_vipfix_template**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, the resource schema has been upgraded to have one-blocks in single mode instead of list) - * `type` argument now accept `bridge-template` - * add `flow_key_output_interface` argument - * add `mpls_template_label_position` argument - * add `template_refresh_rate` block argument (Partial fix [#456](https://github.com/jeremmfr/terraform-provider-junos/issues/456)) diff --git a/.changes/issue-457.md b/.changes/issue-457.md deleted file mode 100644 index e325f4a8..00000000 --- a/.changes/issue-457.md +++ /dev/null @@ -1,4 +0,0 @@ - -FEATURES: - -* add **junos_oam_gretunnel_interface** resource (Fix [#457](https://github.com/jeremmfr/terraform-provider-junos/issues/457)) diff --git a/.changes/issue-458.md b/.changes/issue-458.md deleted file mode 100644 index 06c2524f..00000000 --- a/.changes/issue-458.md +++ /dev/null @@ -1,6 +0,0 @@ - -ENHANCEMENTS: - -* **resource/junos_security**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) - * add `nat_source` block argument (Fix [#458](https://github.com/jeremmfr/terraform-provider-junos/issues/458)) diff --git a/.changes/ri-with-fwk.md b/.changes/ri-with-fwk.md deleted file mode 100644 index 5aa7d3cb..00000000 --- a/.changes/ri-with-fwk.md +++ /dev/null @@ -1,5 +0,0 @@ - -ENHANCEMENTS: - -* **resource/junos_routing_instance**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value except `type` argument) -* **data-source/junos_routing_instance**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource diff --git a/.changes/sdkv2-to-framework.md b/.changes/sdkv2-to-framework.md deleted file mode 100644 index 2a9e4f26..00000000 --- a/.changes/sdkv2-to-framework.md +++ /dev/null @@ -1,47 +0,0 @@ - -BREAKING CHANGES with new `v2`: - -* **resource/junos_bgp_group**, **resource/junos_bgp_neighbor**: remove deprecated `multipath` argument -* **resource/junos_interface_physical**: remove deprecated `ae_lacp`, `ae_link_speed`, `ae_minimum_links` and `ether802_3ad` arguments -* **data-source/junos_interface_physical**: remove same attributes in data source as resource -* **resource/junos_security_ipsec_vpn**: remove deprecated `bind_interface_auto` argument -* **resource/junos_system_radius_server**: remove deprecated `accouting_timeout` attribute -* remove deprecated **junos_interface** resource and data source -* **provider**: remove `aes128-cbc` cipher from default ciphers when `ssh_ciphers` is not specified - -ENHANCEMENTS: - -* refactor provider to integrate new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework), - the resources and data sources will migrate progressively to this new plugin -* **provider**: add new cipher `aes256-gcm@openssh.com` in default ciphers when `ssh_ciphers` is not specified -* **resource/junos_security_address_book**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value) (Fix [#403](https://github.com/jeremmfr/terraform-provider-junos/issues/403)) -* **resource/junos_security_global_policy**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) -* **resource/junos_security_ike_gateway**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) - * add `distinguished_name_container` and `distinguished_name_wildcard` arguments inside `remote_identity` block argument -* **resource/junos_security_ike_policy**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional string attributes doesn't accept *empty* value) - * add `description` and `reauth_frequency` arguments -* **resource/junos_security_ike_proposal**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional string attributes doesn't accept *empty* value) - * add `description` argument -* **resource/junos_security_ipsec_policy**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional string attributes doesn't accept *empty* value) - * add `description` argument -* **resource/junos_security_ipsec_proposal**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional string attributes doesn't accept *empty* value) - * add `description` argument -* **resource/junos_security_ipsec_vpn**: - * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) - * add `copy_outer_dscp`, `manual`, `multi_sa_forwarding_class` and `udp_encapsulate` arguments -* **resource/junos_security_policy**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value, the resource schema has been upgraded to have one-blocks in single mode instead of list) -* **resource/junos_security_policy_tunnel_pair_policy**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value) -* **resource/junos_security_zone**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) and some of config errors are now sent during Plan instead of during Apply (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value) -* **data-source/junos_security_zone**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource -* **resource/junos_security_zone_book_address**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional boolean attributes doesn't accept value *false*, optional string attributes doesn't accept *empty* value) -* **resource/junos_security_zone_book_address_set**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) (optional string attributes doesn't accept *empty* value) - -BUG FIXES: - -* provider: when `ssh_retry_to_establish` > 1, stop retrying to open connections or sessions after a gracefully shutting down call with `Ctrl-c` -* **resource/junos_security_ike_gateway**: don't catch error when read `local_identity` and `remote_identity` block arguments and `type` is `distinguished-name` diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 8842bd93..792c4120 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -41,7 +41,7 @@ jobs: - name: Set up Go 1.20 uses: actions/setup-go@v4 with: - go-version: '^1.20.0' + go-version: '^1.20.4' check-latest: true id: go - name: Show version diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a3854c5..a9c55488 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,142 @@ # changelog -## v2.0.0 (Unreleased) +## v2.0.0 (May 10, 2023) + +BREAKING CHANGES with new `v2`: + +* **provider**: remove `aes128-cbc` cipher from default ciphers when `ssh_ciphers` is not specified +* remove deprecated **junos_interface** resource and data source +* **resource/junos_bgp_group**, **resource/junos_bgp_neighbor**: remove deprecated `multipath` argument +* **resource/junos_interface_physical**: remove deprecated `ae_lacp`, `ae_link_speed`, `ae_minimum_links` and `ether802_3ad` arguments +* **data-source/junos_interface_physical**: remove same attributes in data source as resource +* **resource/junos_security_ipsec_vpn**: remove deprecated `bind_interface_auto` argument +* **resource/junos_system_radius_server**: remove deprecated `accouting_timeout` attribute + +FEATURES: + +* add **junos_forwardingoptions_sampling** resource (Partial fix [#456](https://github.com/jeremmfr/terraform-provider-junos/issues/456)) +* add **junos_oam_gretunnel_interface** resource (Fix [#457](https://github.com/jeremmfr/terraform-provider-junos/issues/457)) +* add **junos_services_flowmonitoring_v9_template** resource (Partial fix [#456](https://github.com/jeremmfr/terraform-provider-junos/issues/456)) + +ENHANCEMENTS: + +* refactor provider to integrate new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +the resources and data sources will migrate progressively to this new plugin +* **provider**: add new cipher `aes256-gcm@openssh.com` in default ciphers when `ssh_ciphers` is not specified +* **provider**: enhance debug logs by prefixing messages with local and remote addresses of the sessions +* **resource/junos_forwardingoptions_sampling_instance**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + some of config errors are now sent during Plan instead of during Apply + optional boolean attributes doesn't accept value *false* + optional string attributes doesn't accept *empty* value + the resource schema has been upgraded to have one-blocks in single mode instead of list + * add `routing_instance` argument to allow create sampling instance in routing instance. + `id` attribute has now the format `_-_` + * `flow_server` block argument is now unordered +* **resource/junos_services_flowmonitoring_vipfix_template**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + some of config errors are now sent during Plan instead of during Apply + optional boolean attributes doesn't accept value *false* + the resource schema has been upgraded to have one-blocks in single mode instead of list + * `type` argument now accept `bridge-template` + * add `flow_key_output_interface`, `mpls_template_label_position`, `template_refresh_rate` block argument (Partial fix [#456](https://github.com/jeremmfr/terraform-provider-junos/issues/456)) +* **resource/junos_interface_logical**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +some of config errors are now sent during Plan instead of during Apply +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +the resource schema has been upgraded to have one-blocks in single mode instead of list +* **data-source/junos_interface_logical**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource +the data-source schema has been upgraded to have one-blocks in single mode instead of list +* **resource/junos_interface_physical**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + some of config errors are now sent during Plan instead of during Apply + optional boolean attributes doesn't accept value *false* + optional string attributes doesn't accept *empty* value + the resource schema has been upgraded to have one-blocks in single mode instead of list + * add `encapsulation`, `flexible_vlan_tagging`, `gratuitous_arp_reply`, `hold_time_down`, `hold_time_up`, `link_mode`, `no_gratuitous_arp_reply`, `no_gratuitous_arp_request` and `speed` arguments +* **data-source/junos_interface_physical**: + * data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource + the data-source schema has been upgraded to have one-blocks in single mode instead of list + * add `encapsulation`, `flexible_vlan_tagging`, `gratuitous_arp_reply`, `hold_time_down`, `hold_time_up`, `link_mode`, `no_gratuitous_arp_reply`, `no_gratuitous_arp_request` and `speed` attributes like resource +* **resource/junos_interface_physical_disable**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +* **resource/junos_interface_st0_unit**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +* **data-source/junos_interface_logical_info**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +the data-source schema has been upgraded to have one-blocks in single mode instead of list +* **data-source/junos_interfaces_physical_present**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +* **resource/junos_routing_instance**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value except `type` argument +* **data-source/junos_routing_instance**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource +* **resource/junos_security**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + some of config errors are now sent during Plan instead of during Apply + optional boolean attributes doesn't accept value *false* + optional string attributes doesn't accept *empty* value + the resource schema has been upgraded to have one-blocks in single mode instead of list + * add `nat_source` block argument (Fix [#458](https://github.com/jeremmfr/terraform-provider-junos/issues/458)) +* **resource/junos_security_address_book**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +some of config errors are now sent during Plan instead of during Apply (Fix [#403](https://github.com/jeremmfr/terraform-provider-junos/issues/403)) +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +* **resource/junos_security_global_policy**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +some of config errors are now sent during Plan instead of during Apply +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +the resource schema has been upgraded to have one-blocks in single mode instead of list +* **resource/junos_security_ike_gateway**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + some of config errors are now sent during Plan instead of during Apply + optional boolean attributes doesn't accept value *false* + optional string attributes doesn't accept *empty* value + the resource schema has been upgraded to have one-blocks in single mode instead of list + * add `distinguished_name_container` and `distinguished_name_wildcard` arguments inside `remote_identity` block argument +* **resource/junos_security_ike_policy**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + optional string attributes doesn't accept *empty* value + * add `description` and `reauth_frequency` arguments +* **resource/junos_security_ike_proposal**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + optional string attributes doesn't accept *empty* value + * add `description` argument +* **resource/junos_security_ipsec_policy**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + optional string attributes doesn't accept *empty* value + * add `description` argument +* **resource/junos_security_ipsec_proposal**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + optional string attributes doesn't accept *empty* value + * add `description` argument +* **resource/junos_security_ipsec_vpn**: + * resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) + some of config errors are now sent during Plan instead of during Apply + optional boolean attributes doesn't accept value *false* + optional string attributes doesn't accept *empty* value + the resource schema has been upgraded to have one-blocks in single mode instead of list + * add `copy_outer_dscp`, `manual`, `multi_sa_forwarding_class` and `udp_encapsulate` arguments +* **resource/junos_security_policy**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +some of config errors are now sent during Plan instead of during Apply +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +the resource schema has been upgraded to have one-blocks in single mode instead of list +* **resource/junos_security_policy_tunnel_pair_policy**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +* **resource/junos_security_zone**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +some of config errors are now sent during Plan instead of during Apply +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +* **data-source/junos_security_zone**: data-source now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) like resource +* **resource/junos_security_zone_book_address**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +optional boolean attributes doesn't accept value *false* +optional string attributes doesn't accept *empty* value +* **resource/junos_security_zone_book_address_set**: resource now use new [terraform-plugin-framework](https://github.com/hashicorp/terraform-plugin-framework) +optional string attributes doesn't accept *empty* value + +BUG FIXES: + +* provider: when `ssh_retry_to_establish` > 1, stop retrying to open connections or sessions after a gracefully shutting down call with `Ctrl-c` +* **resource/junos_security_ike_gateway**: don't catch error when read `local_identity` and `remote_identity` block arguments and `type` is `distinguished-name` ## Previous Releases