diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:04:41 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:04:41 +0000 |
commit | 975f66f2eebe9dadba04f275774d4ab83f74cf25 (patch) | |
tree | 89bd26a93aaae6a25749145b7e4bca4a1e75b2be /ansible_collections/community/dns/changelogs/changelog.yaml | |
parent | Initial commit. (diff) | |
download | ansible-975f66f2eebe9dadba04f275774d4ab83f74cf25.tar.xz ansible-975f66f2eebe9dadba04f275774d4ab83f74cf25.zip |
Adding upstream version 7.7.0+dfsg.upstream/7.7.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/community/dns/changelogs/changelog.yaml')
-rw-r--r-- | ansible_collections/community/dns/changelogs/changelog.yaml | 619 |
1 files changed, 619 insertions, 0 deletions
diff --git a/ansible_collections/community/dns/changelogs/changelog.yaml b/ansible_collections/community/dns/changelogs/changelog.yaml new file mode 100644 index 000000000..b287c50db --- /dev/null +++ b/ansible_collections/community/dns/changelogs/changelog.yaml @@ -0,0 +1,619 @@ +ancestor: null +releases: + 0.1.0: + changes: + release_summary: Initial public release. + fragments: + - 0.1.0.yml + - domain_suffix.yml + modules: + - description: Add or delete entries in Hosttech DNS service + name: hosttech_dns_record + namespace: '' + - description: Retrieve entries in Hosttech DNS service + name: hosttech_dns_record_info + namespace: '' + - description: Wait for TXT entries to be available on all authoritative nameservers + name: wait_for_txt + namespace: '' + plugins: + filter: + - description: Returns the public suffix of a DNS name + name: get_public_suffix + namespace: null + - description: Returns the registrable domain name of a DNS name + name: get_registrable_domain + namespace: null + - description: Removes the public suffix from a DNS name + name: remove_public_suffix + namespace: null + - description: Removes the registrable domain name from a DNS name + name: remove_registrable_domain + namespace: null + release_date: '2021-04-07' + 0.2.0: + changes: + breaking_changes: + - hosttech_* module_utils - completely rewrite and refactor to support new JSON + API and allow to re-use provider-independent module logic (https://github.com/ansible-collections/community.dns/pull/4). + bugfixes: + - Update Public Suffix List. + - hosttech_record - fix diff mode for ``state=absent`` (https://github.com/ansible-collections/community.dns/pull/4). + - hosttech_record_info - fix authentication error handling (https://github.com/ansible-collections/community.dns/pull/4). + major_changes: + - hosttech_* modules - support the new JSON API at https://api.ns1.hosttech.eu/api/documentation/ + (https://github.com/ansible-collections/community.dns/pull/4). + minor_changes: + - hosttech_dns_record* modules - allow to specify ``prefix`` instead of ``record`` + (https://github.com/ansible-collections/community.dns/pull/8). + - hosttech_dns_record* modules - allow to specify zone by ID with the ``zone_id`` + parameter, alternatively to the ``zone`` parameter (https://github.com/ansible-collections/community.dns/pull/7). + - hosttech_dns_record* modules - return ``zone_id`` on success (https://github.com/ansible-collections/community.dns/pull/7). + - hosttech_dns_record* modules - support IDN domain names and prefixes (https://github.com/ansible-collections/community.dns/pull/9). + - hosttech_dns_record_info - also return ``prefix`` for a record set (https://github.com/ansible-collections/community.dns/pull/8). + - hosttech_record - allow to delete records without querying their content first + by specifying ``overwrite=true`` (https://github.com/ansible-collections/community.dns/pull/4). + release_summary: Major refactoring release, which adds a zone information module + and supports HostTech's new REST API. + fragments: + - 0.2.0.yml + - 7-hosttech-zone_id.yml + - 8-hosttech-prefix.yml + - 9-idn.yml + - rewrite.yml + - update-psl.yml + modules: + - description: Retrieve zone information in Hosttech DNS service + name: hosttech_dns_zone_info + namespace: '' + release_date: '2021-04-25' + 0.3.0: + changes: + bugfixes: + - Avoid converting ASCII labels which contain underscores or other printable + ASCII characters outside ``[a-zA-Z0-9-]`` to alabels during normalization + (https://github.com/ansible-collections/community.dns/pull/13). + - Updated Public Suffix List. + minor_changes: + - hosttech_dns_* - handle ``419 Too Many Requests`` with proper rate limiting + for JSON API (https://github.com/ansible-collections/community.dns/pull/14). + release_summary: Fixes bugs, adds rate limiting for Hosttech JSON API, and adds + a new bulk synchronization module. + fragments: + - 0.3.0.yml + - 13-alabel-confusion.yml + - 14-hosttech-json-rate-limiting.yml + - psl.yml + modules: + - description: Bulk synchronize DNS records in Hosttech DNS service + name: hosttech_dns_records + namespace: '' + release_date: '2021-05-02' + 1.0.0: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: First stable release. + fragments: + - 1.0.0.yml + - update-psl.yml + release_date: '2021-05-09' + 1.0.1: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Regular maintenance release. + fragments: + - 1.0.1.yml + - update-psl.yml + release_date: '2021-06-05' + 1.1.0: + changes: + bugfixes: + - Update Public Suffix List. + minor_changes: + - Avoid internal ansible-core module_utils in favor of equivalent public API + available since at least Ansible 2.9 (https://github.com/ansible-collections/community.dns/pull/24). + release_summary: Regular maintenance release. + fragments: + - 1.1.0.yml + - ansible-core-_text.yml + - update-psl.yml + release_date: '2021-07-06' + 1.2.0: + changes: + bugfixes: + - Update Public Suffix List. + - hosttech_dns_record - correctly handle quoting in CAA records for JSON API + (https://github.com/ansible-collections/community.dns/pull/30). + minor_changes: + - hosttech modules - add ``api_token`` alias for ``hosttech_token`` (https://github.com/ansible-collections/community.dns/pull/26). + - hosttech_dns_record - in ``diff`` mode, also return ``diff`` data structure + when ``changed`` is ``false`` (https://github.com/ansible-collections/community.dns/pull/28). + - module utils - add default implementation for some zone/record API functions, + and move common JSON API code to helper class (https://github.com/ansible-collections/community.dns/pull/26). + release_summary: 'Last minor 1.x.0 version. The 2.0.0 version will have some + backwards incompatible changes to the ``hosttech_dns_record`` and ``hosttech_dns_records`` + modules which will require user intervention. These changes should result + in a better UX. + + ' + fragments: + - 1.2.0.yml + - 26-refactoring.yml + - 28-record-diff.yml + - 30-caa-records-quoting.yml + - update-psl.yml + release_date: '2021-07-12' + 2.0.0: + changes: + bugfixes: + - Update Public Suffix List. + - wait_for_txt - fix handling of too long TXT values (https://github.com/ansible-collections/community.dns/pull/65). + - wait_for_txt - resolving nameservers sometimes resulted in an empty list, + yielding wrong results (https://github.com/ansible-collections/community.dns/pull/64). + release_summary: This release contains many new features, modules and plugins, + but also has several breaking changes to the 1.x.y versions. Please read the + changelog carefully to determine what to change if you used an earlier version + of this collection. + fragments: + - 2.0.0.yml + - 65-wait_for_txt-ns.yml + - 66-wait_for_txt.yml + - update-psl.yml + release_date: '2021-09-22' + 2.0.0-a1: + changes: + breaking_changes: + - Hosttech API creation - now requires a ``ModuleOptionProvider`` object instead + of an ``AnsibleModule`` object. Alternatively an Ansible plugin instance can + be passed (https://github.com/ansible-collections/community.dns/pull/37). + - The hosttech_dns_record module has been renamed to hosttech_dns_record_set + (https://github.com/ansible-collections/community.dns/pull/31). + - When using the internal modules API, now a zone ID type and a provider information + object must be passed (https://github.com/ansible-collections/community.dns/pull/27). + - hosttech_dns_record_set - the option ``overwrite`` was replaced by a new option + ``on_existing``. Specifying ``overwrite=true`` is equivalent to ``on_existing=replace`` + (the new default). Specifying ``overwrite=false`` with ``state=present`` is + equivalent to ``on_existing=keep_and_fail``, and specifying ``overwrite=false`` + with ``state=absent`` is equivalent to ``on_existing=keep`` (https://github.com/ansible-collections/community.dns/pull/31). + deprecated_features: + - The hosttech_dns_records module has been renamed to hosttech_dns_record_sets. + The old name will stop working in community.dns 3.0.0 (https://github.com/ansible-collections/community.dns/pull/31). + minor_changes: + - Add support for Hetzner DNS (https://github.com/ansible-collections/community.dns/pull/27). + - The hosttech_dns_records module has been renamed to hosttech_dns_record_sets + (https://github.com/ansible-collections/community.dns/pull/31). + - The internal API now supports bulk DNS record changes, if supported by the + API (https://github.com/ansible-collections/community.dns/pull/39). + - Use HTTP helper class to make API implementations work for both plugins and + modules. Make WSDL API use ``fetch_url`` instead of ``open_url`` for modules + (https://github.com/ansible-collections/community.dns/pull/36). + - hosttech_dns_* modules - rename ``zone`` parameter to ``zone_name``. The old + name ``zone`` can still be used as an alias (https://github.com/ansible-collections/community.dns/pull/32). + - hosttech_dns_record_set - ``value`` is no longer required when ``state=absent`` + and ``overwrite=true`` (https://github.com/ansible-collections/community.dns/pull/31). + - hosttech_dns_record_sets - ``records`` has been renamed to ``record_sets``. + The old name ``records`` can still be used as an alias (https://github.com/ansible-collections/community.dns/pull/31). + - hosttech_dns_zone_info - return extra information as ``zone_info`` (https://github.com/ansible-collections/community.dns/pull/38). + release_summary: First alpha release of 2.0.0. + fragments: + - 2.0.0-a1.yml + - 27-hetzner-support.yml + - 27-provider-info.yml + - 31-record-set.yml + - 32-aliases.yml + - 36-http.yml + - 37-module-option-provider.yml + - 38-zone-extra-info.yml + - 39-bulk-changes.yml + modules: + - description: Add or delete a single record in Hetzner DNS service + name: hetzner_dns_record + namespace: '' + - description: Add or delete record sets in Hetzner DNS service + name: hetzner_dns_record_set + namespace: '' + - description: Bulk synchronize DNS record sets in Hetzner DNS service + name: hetzner_dns_record_sets + namespace: '' + - description: Retrieve zone information in Hetzner DNS service + name: hetzner_dns_zone_info + namespace: '' + - description: Add or delete a single record in Hosttech DNS service + name: hosttech_dns_record + namespace: '' + - description: Add or delete record sets in Hosttech DNS service + name: hosttech_dns_record_set + namespace: '' + - description: Bulk synchronize DNS record sets in Hosttech DNS service + name: hosttech_dns_record_sets + namespace: '' + plugins: + inventory: + - description: Create inventory from Hetzner DNS records + name: hetzner_dns_records + namespace: null + - description: Create inventory from Hosttech DNS records + name: hosttech_dns_records + namespace: null + release_date: '2021-07-17' + 2.0.0-a2: + changes: + breaking_changes: + - All Hetzner modules and plugins which handle DNS records now work with unquoted + TXT values by default. The old behavior can be obtained by setting ``txt_transformation=api`` + (https://github.com/ansible-collections/community.dns/issues/48, https://github.com/ansible-collections/community.dns/pull/57, + https://github.com/ansible-collections/community.dns/pull/60). + - The hetzner_dns_record_info and hosttech_dns_record_info modules have been + renamed to hetzner_dns_record_set_info and hosttech_dns_record_set_info, respectively + (https://github.com/ansible-collections/community.dns/pull/54). + - hetzner_dns_record* modules - implement correct handling of default TTL. The + value ``none`` is now accepted and returned in this case (https://github.com/ansible-collections/community.dns/pull/52, + https://github.com/ansible-collections/community.dns/issues/50). + - hetzner_dns_record, hetzner_dns_record_set, hetzner_dns_record_sets - the + default TTL is now 300 and no longer 3600, which equals the default in the + web console (https://github.com/ansible-collections/community.dns/pull/43). + bugfixes: + - Hetzner API - interpret missing TTL as 300, which is what the web console + also does (https://github.com/ansible-collections/community.dns/pull/42). + - Update Public Suffix List. + - hetzner API code - make sure to also handle errors returned by the API if + the HTTP status code indicates success. This sometimes happens for 500 Internal + Server Error (https://github.com/ansible-collections/community.dns/pull/58). + - hosttech_dns_zone_info - make sure that full information is returned both + when requesting a zone by ID or by name (https://github.com/ansible-collections/community.dns/pull/56). + minor_changes: + - Added a ``txt_transformation`` option to all modules and plugins working with + DNS records (https://github.com/ansible-collections/community.dns/issues/48, + https://github.com/ansible-collections/community.dns/pull/57, https://github.com/ansible-collections/community.dns/pull/60). + - hetzner_dns_zone_info - the ``legacy_ns`` return value is now sorted, since + its order is unstable (https://github.com/ansible-collections/community.dns/pull/46). + release_summary: Second alpha release of 2.0.0. + fragments: + - 2.0.0-a2.yml + - 42-hetzner-ttl-300.yml + - 43-hetzner-default-ttl-300.yml + - 45-cleanup.yml + - 46-hetzner-legacy_ns-sorting.yml + - 52-hetzner-default-ttl.yml + - 54-info-rename.yml + - 56-tests-fixes.yml + - 57-60-txt_transformation.yml + - 58-hetzner-api-errors.yml + - update-psl.yml + modules: + - description: Retrieve record sets in Hetzner DNS service + name: hetzner_dns_record_set_info + namespace: '' + release_date: '2021-08-15' + 2.0.0-a3: + changes: + breaking_changes: + - The internal bulk record updating helper (``bulk_apply_changes``) now also + returns the records that were deleted, created or updated (https://github.com/ansible-collections/community.dns/pull/63). + - The internal record API no longer allows to manage comments explicitly (https://github.com/ansible-collections/community.dns/pull/63). + bugfixes: + - Update Public Suffix List. + minor_changes: + - The internal record API allows to manage extra data (https://github.com/ansible-collections/community.dns/pull/63). + - hetzner_dns_record and hosttech_dns_record - when not using check mode, use + actual return data for diff, instead of input data, so that extra data can + be shown (https://github.com/ansible-collections/community.dns/pull/63). + release_summary: Third alpha release of 2.0.0. + fragments: + - 2.0.0-a3.yml + - 63-records-extra-info.yml + - update-psl.yml + modules: + - description: Retrieve records in Hetzner DNS service + name: hetzner_dns_record_info + namespace: '' + - description: Retrieve records in Hosttech DNS service + name: hosttech_dns_record_info + namespace: '' + release_date: '2021-09-11' + 2.0.1: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with Public Suffix List updates. + fragments: + - 2.0.1.yml + - update-psl.yml + release_date: '2021-10-13' + 2.0.2: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Regular maintenance release. + fragments: + - 2.0.2.yml + - update-psl.yml + release_date: '2021-11-14' + 2.0.3: + changes: + minor_changes: + - HTTP API module utils - fix usage of ``fetch_url`` with changes in latest + ansible-core ``devel`` branch (https://github.com/ansible-collections/community.dns/pull/73). + release_summary: Bugfix release. + fragments: + - 2.0.3.yml + - fetch_url-devel.yml + release_date: '2021-11-21' + 2.0.4: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.0.4.yml + - update-psl.yml + release_date: '2022-01-08' + 2.0.5: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.0.5.yml + - update-psl.yml + release_date: '2022-01-31' + 2.0.6: + changes: + bugfixes: + - Update Public Suffix List. + - wait_for_txt - do not fail if ``NXDOMAIN`` result is returned. Also do not + succeed if no nameserver can be found (https://github.com/ansible-collections/community.dns/issues/81, + https://github.com/ansible-collections/community.dns/pull/82). + release_summary: Bugfix release. + fragments: + - 2.0.6.yml + - 82-wait_for_txt.yml + - update-psl.yml + release_date: '2022-02-01' + 2.0.7: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.0.7.yml + - update-psl.yml + release_date: '2022-02-21' + 2.0.8: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.0.8.yml + - update-psl.yml + release_date: '2022-03-14' + 2.0.9: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List and added + collection links file. + fragments: + - 2.0.9.yml + - update-psl.yml + release_date: '2022-03-22' + 2.1.0: + changes: + bugfixes: + - Update Public Suffix List. + minor_changes: + - Prepare collection for inclusion in an Execution Environment by declaring + its dependencies (https://github.com/ansible-collections/community.dns/pull/93). + release_summary: Feature and maintenance release with updated PSL. + fragments: + - 2.1.0.yml + - 93-ee.yml + - update-psl.yml + release_date: '2022-04-25' + 2.1.1: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.1.1.yml + - update-psl.yml + release_date: '2022-05-16' + 2.2.0: + changes: + bugfixes: + - Update Public Suffix List. + minor_changes: + - hetzner_dns_records and hosttech_dns_records inventory plugins - allow to + template provider-specific credentials and the ``zone_name``, ``zone_id`` + options (https://github.com/ansible-collections/community.dns/pull/106). + - wait_for_txt - improve error messages so that in case of SERVFAILs or other + DNS errors it is clear which record was queried from which DNS server (https://github.com/ansible-collections/community.dns/pull/105). + release_summary: Feature release. + fragments: + - 105-wait_for_txt-improve-error-msg.yml + - 106-inventory-templating.yml + - 2.2.0.yml + - update-psl.yml + release_date: '2022-06-03' + 2.2.1: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.2.1.yml + - update-psl.yml + release_date: '2022-07-11' + 2.3.0: + changes: + bugfixes: + - Update Public Suffix List. + minor_changes: + - All software licenses are now in the ``LICENSES/`` directory of the collection + root. Moreover, ``SPDX-License-Identifier:`` is used to declare the applicable + license for every file that is not automatically generated (https://github.com/ansible-collections/community.dns/pull/109). + release_summary: Maintenance release including an updated Public Suffix List. + fragments: + - 109-licenses.yml + - 2.3.0.yml + - update-psl.yml + release_date: '2022-07-31' + 2.3.1: + changes: + bugfixes: + - Update Public Suffix List. + minor_changes: + - The collection repository conforms to the `REUSE specification <https://reuse.software/spec/>`__ + except for the changelog fragments (https://github.com/ansible-collections/community.dns/pull/112). + release_summary: Maintenance release including an updated Public Suffix List. + fragments: + - 2.3.1.yml + - licenses.yml + - update-psl.yml + release_date: '2022-08-21' + 2.3.2: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.3.2.yml + - update-psl.yml + release_date: '2022-09-12' + 2.3.3: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release including an updated Public Suffix List. + fragments: + - 2.3.3.yml + - update-psl.yml + release_date: '2022-10-03' + 2.3.4: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.3.4.yml + - update-psl.yml + release_date: '2022-10-24' + 2.4.0: + changes: + bugfixes: + - Update Public Suffix List. + minor_changes: + - Added a ``community.dns.hetzner`` module defaults group / action group. Use + with ``group/community.dns.hetzner`` to provide options for all Hetzner DNS + modules (https://github.com/ansible-collections/community.dns/pull/119). + - Added a ``community.dns.hosttech`` module defaults group / action group. Use + with ``group/community.dns.hosttech`` to provide options for all Hosttech + DNS modules (https://github.com/ansible-collections/community.dns/pull/119). + - wait_for_txt - the module now supports check mode. The only practical change + in behavior is that in check mode, the module is now executed instead of skipped. + Since the module does not change anything, it should have been marked as supporting + check mode since it was originally added (https://github.com/ansible-collections/community.dns/pull/119). + release_summary: Feature and maintenance release. + fragments: + - 2.4.0.yml + - action_groups.yml + - update-psl.yml + - wait_for_txt-check_mode.yml + release_date: '2022-11-06' + 2.4.1: + changes: + bugfixes: + - Update Public Suffix List. + - wait_for_txt - also retrieve IPv6 addresses of nameservers. Prevents failures + with IPv6 only nameservers (https://github.com/ansible-collections/community.dns/issues/120, + https://github.com/ansible-collections/community.dns/pull/121). + release_summary: Regular maintenance release. + fragments: + - 121-wait_for_txt-ipv6.yml + - 2.4.1.yml + - update-psl.yml + release_date: '2022-11-14' + 2.4.2: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated Public Suffix List. + fragments: + - 2.4.2.yml + - update-psl.yml + release_date: '2022-12-05' + 2.5.0: + changes: + bugfixes: + - Update Public Suffix List. + - inventory plugins - document ``plugin`` option used by the ``ansible.builtin.auto`` + inventory plugin and mention required file ending in the documentation (https://github.com/ansible-collections/community.dns/issues/130, + https://github.com/ansible-collections/community.dns/pull/131). + deprecated_features: + - The default of the newly added option ``txt_character_encoding`` will change + from ``octal`` to ``decimal`` in community.dns 3.0.0. The new default will + be compatible with `RFC 1035 <https://www.ietf.org/rfc/rfc1035.txt>`__ (https://github.com/ansible-collections/community.dns/pull/134). + minor_changes: + - hosttech inventory plugin - allow to configure token, username, and password + with ``ANSIBLE_HOSTTECH_DNS_TOKEN``, ``ANSIBLE_HOSTTECH_API_USERNAME``, and + ``ANSIBLE_HOSTTECH_API_PASSWORD`` environment variables, respectively (https://github.com/ansible-collections/community.dns/pull/131). + - various modules and inventory plugins - add new option ``txt_character_encoding`` + which controls whether numeric escape sequences are interpreted as octals + or decimals when ``txt_transformation=quoted`` (https://github.com/ansible-collections/community.dns/pull/134). + release_summary: Feature and bugfix release with updated PSL. + fragments: + - 131-inventory.yml + - 2.5.0.yml + - txt-quoting.yml + - update-psl.yml + release_date: '2023-01-31' + 2.5.1: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release (updated PSL). + fragments: + - 2.5.1.yml + - update-psl.yml + release_date: '2023-02-25' + 2.5.2: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with improved documentation and updated + PSL. + fragments: + - 2.5.2.yml + - update-psl.yml + release_date: '2023-03-27' + 2.5.3: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated PSL. + fragments: + - 2.5.3.yml + - update-psl.yml + release_date: '2023-04-25' + 2.5.4: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated PSL. + fragments: + - 2.5.4.yml + - update-psl.yml + release_date: '2023-05-21' + 2.5.5: + changes: + bugfixes: + - Update Public Suffix List. + release_summary: Maintenance release with updated PSL. + fragments: + - 2.5.5.yml + - update-psl.yml + release_date: '2023-06-19' |