all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe01:13fb
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 2ad66fc1-f17c-4333-97f5-8434938ebe3c
        host_id: ea231daa1e899519b2913f0036770c325ddb4f23e60dfb5fd174bdda
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe01:13fb
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.108
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.12
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe01:13fb
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job hadolint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#37>'
      - '<Job hadolint explicit: None implied: None source: osism/cfg-cookiecutter/.zuul.yaml@main#82>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: e4e5d45bde06427faf92a302be918e8e
      build_refs:
      - branch: main
        change: '736'
        change_message: "chore(deps): update dependency click to v8.2.1\n\nThis PR
          contains the following updates:\n\n| Package | Change | Age | Adoption |
          Passing | Confidence |\n|---|---|---|---|---|---|\n| [click](https://redirect.github.com/pallets/click)
          ([changelog](https://click.palletsprojects.com/page/changes/)) | `==8.1.8`
          -> `==8.2.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
          [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\n###
          [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
          2025-05-10\n\n-   Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588`
          :pr:`2893`\n\n-   Use modern packaging metadata with `pyproject.toml` instead
          of `setup.cfg`.\n    :pr:`2438`\n\n-   Use `flit_core` instead of `setuptools`
          as build backend. :pr:`2543`\n\n-   Deprecate the `__version__` attribute.
          Use feature detection, or\n    `importlib.metadata.version(\"click\")`,
          instead. :issue:`2598`\n\n-   `BaseCommand` is deprecated. `Command` is
          the base class for all\n    commands. :issue:`2589`\n\n-   `MultiCommand`
          is deprecated. `Group` is the base class for all group\n    commands. :issue:`2590`\n\n-
          \  The current parser and related classes and methods, are deprecated.\n
          \   :issue:`2205`\n\n    -   `OptionParser` and the `parser` module, which
          is a modified copy of\n        `optparse` in the standard library.\n    -
          \  `Context.protected_args` is unneeded. `Context.args` contains any\n        remaining
          arguments while parsing.\n    -   `Parameter.add_to_parser` (on both `Argument`
          and `Option`) is\n        unneeded. Parsing works directly without building
          a separate parser.\n    -   `split_arg_string` is moved from `parser` to
          `shell_completion`.\n\n-   Enable deferred evaluation of annotations with\n
          \   `from __future__ import annotations`. :pr:`2270`\n\n-   When generating
          a command's name from a decorated function's name, the\n    suffixes `_command`,
          `_cmd`, `_group`, and `_grp` are removed.\n    :issue:`2322`\n\n-   Show
          the `types.ParamType.name` for `types.Choice` options within\n    `--help`
          message if `show_choices=False` is specified.\n    :issue:`2356`\n\n-   Do
          not display default values in prompts when `Option.show_default` is\n    `False`.
          :pr:`2509`\n\n-   Add `get_help_extra` method on `Option` to fetch the generated
          extra\n    items used in `get_help_record` to render help text. :issue:`2516`\n
          \   :pr:`2517`\n\n-   Keep stdout and stderr streams independent in `CliRunner`.
          Always\n    collect stderr output and never raise an exception. Add a new\n
          \   output stream to simulate what the user sees in its terminal. Removes\n
          \   the `mix_stderr` parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n-
          \  `Option.show_envvar` now also shows environment variable in error messages.\n
          \   :issue:`2695` :pr:`2696`\n\n-   `Context.close` will be called on exit.
          This results in all\n    `Context.call_on_close` callbacks and context managers
          added via\n    `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
          \  Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
          \  A `UserWarning` will be shown when multiple parameters attempt to use
          the\n    same name. :issue:`2396`\n\n-   When using `Option.envvar` with
          `Option.flag_value`, the `flag_value`\n    will always be used instead of
          the value of the environment variable.\n    :issue:`2746` :pr:`2788`\n\n-
          \  Add `Choice.get_invalid_choice_message` method for customizing the\n
          \   invalid choice message. :issue:`2621` :pr:`2622`\n\n-   If help is shown
          because `no_args_is_help` is enabled (defaults to `True`\n    for groups,
          `False` for commands), the exit code is 2 instead of 0.\n    :issue:`1489`
          :pr:`1489`\n\n-   Contexts created during shell completion are closed properly,
          fixing\n    a `ResourceWarning` when using `click.File`. :issue:`2644` :pr:`2800`\n
          \   :pr:`2767`\n\n-   `click.edit(filename)` now supports passing an iterable
          of filenames in\n    case the editor supports editing multiple files at
          once. Its return type\n    is now also typed: `AnyStr` if `text` is passed,
          otherwise `None`.\n    :issue:`2067` :pr:`2068`\n\n-   Specialized typing
          of `progressbar(length=...)` as `ProgressBar[int]`.\n    :pr:`2630`\n\n-
          \  Improve `echo_via_pager` behaviour in face of errors.\n    :issue:`2674`\n\n
          \   -   Terminate the pager in case a generator passed to `echo_via_pager`\n
          \       raises an exception.\n    -   Ensure to always close the pipe to
          the pager process and wait for it\n        to terminate.\n    -   `echo_via_pager`
          will not ignore `KeyboardInterrupt` anymore. This\n        allows the user
          to search for future output of the generator when\n        using less and
          then aborting the program using ctrl-c.\n\n-   `deprecated: bool | str`
          can now be used on options and arguments. This\n    previously was only
          available for `Command`. The message can now also be\n    customised by
          using a `str` instead of a `bool`. :issue:`2263` :pr:`2271`\n\n    -   `Command.deprecated`
          formatting in `--help` changed from\n        `(Deprecated) help` to `help
          (DEPRECATED)`.\n    -   Parameters cannot be required nor prompted or an
          error is raised.\n    -   A warning will be printed when something deprecated
          is used.\n\n-   Add a `catch_exceptions` parameter to `CliRunner`. If\n
          \   `catch_exceptions` is not passed to `CliRunner.invoke`, the value\n
          \   from `CliRunner` is used. :issue:`2817` :pr:`2818`\n\n-   `Option.flag_value`
          will no longer have a default value set based on\n    `Option.default` if
          `Option.is_flag` is `False`. This results in\n    `Option.default` not needing
          to implement `__bool__`. :pr:`2829`\n\n-   Incorrect `click.edit` typing
          has been corrected. :pr:`2804`\n\n-   `Choice` is now generic and supports
          any iterable value.\n    This allows you to use enums and other non-`str`
          values. :pr:`2796`\n    :issue:`605`\n\n-   Fix setup of help option's defaults
          when using a custom class on its\n    decorator. Removes `HelpOption`. :issue:`2832`
          :pr:`2840`\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          Branch creation - At any time (no schedule defined), Automerge - At any
          time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled by config.
          Please merge this manually once you are satisfied.\n\n\u267B **Rebasing**:
          Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515
          **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n
          - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
          box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
          View the [repository job log](https://developer.mend.io/github/osism/cfg-cookiecutter).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC4xNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/cfg-cookiecutter/pull/736
        commit_id: 6989b33a5b108937dfd00804462f849c237d8fea
        patchset: 6989b33a5b108937dfd00804462f849c237d8fea
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          name: osism/cfg-cookiecutter
          short_name: cfg-cookiecutter
        src_dir: src/github.com/osism/cfg-cookiecutter
        topic: null
      buildset: d3542d64cd7743b99c397960f04bde18
      buildset_refs:
      - branch: main
        change: '736'
        change_message: "chore(deps): update dependency click to v8.2.1\n\nThis PR
          contains the following updates:\n\n| Package | Change | Age | Adoption |
          Passing | Confidence |\n|---|---|---|---|---|---|\n| [click](https://redirect.github.com/pallets/click)
          ([changelog](https://click.palletsprojects.com/page/changes/)) | `==8.1.8`
          -> `==8.2.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
          [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\n###
          [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
          2025-05-10\n\n-   Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588`
          :pr:`2893`\n\n-   Use modern packaging metadata with `pyproject.toml` instead
          of `setup.cfg`.\n    :pr:`2438`\n\n-   Use `flit_core` instead of `setuptools`
          as build backend. :pr:`2543`\n\n-   Deprecate the `__version__` attribute.
          Use feature detection, or\n    `importlib.metadata.version(\"click\")`,
          instead. :issue:`2598`\n\n-   `BaseCommand` is deprecated. `Command` is
          the base class for all\n    commands. :issue:`2589`\n\n-   `MultiCommand`
          is deprecated. `Group` is the base class for all group\n    commands. :issue:`2590`\n\n-
          \  The current parser and related classes and methods, are deprecated.\n
          \   :issue:`2205`\n\n    -   `OptionParser` and the `parser` module, which
          is a modified copy of\n        `optparse` in the standard library.\n    -
          \  `Context.protected_args` is unneeded. `Context.args` contains any\n        remaining
          arguments while parsing.\n    -   `Parameter.add_to_parser` (on both `Argument`
          and `Option`) is\n        unneeded. Parsing works directly without building
          a separate parser.\n    -   `split_arg_string` is moved from `parser` to
          `shell_completion`.\n\n-   Enable deferred evaluation of annotations with\n
          \   `from __future__ import annotations`. :pr:`2270`\n\n-   When generating
          a command's name from a decorated function's name, the\n    suffixes `_command`,
          `_cmd`, `_group`, and `_grp` are removed.\n    :issue:`2322`\n\n-   Show
          the `types.ParamType.name` for `types.Choice` options within\n    `--help`
          message if `show_choices=False` is specified.\n    :issue:`2356`\n\n-   Do
          not display default values in prompts when `Option.show_default` is\n    `False`.
          :pr:`2509`\n\n-   Add `get_help_extra` method on `Option` to fetch the generated
          extra\n    items used in `get_help_record` to render help text. :issue:`2516`\n
          \   :pr:`2517`\n\n-   Keep stdout and stderr streams independent in `CliRunner`.
          Always\n    collect stderr output and never raise an exception. Add a new\n
          \   output stream to simulate what the user sees in its terminal. Removes\n
          \   the `mix_stderr` parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n-
          \  `Option.show_envvar` now also shows environment variable in error messages.\n
          \   :issue:`2695` :pr:`2696`\n\n-   `Context.close` will be called on exit.
          This results in all\n    `Context.call_on_close` callbacks and context managers
          added via\n    `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
          \  Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
          \  A `UserWarning` will be shown when multiple parameters attempt to use
          the\n    same name. :issue:`2396`\n\n-   When using `Option.envvar` with
          `Option.flag_value`, the `flag_value`\n    will always be used instead of
          the value of the environment variable.\n    :issue:`2746` :pr:`2788`\n\n-
          \  Add `Choice.get_invalid_choice_message` method for customizing the\n
          \   invalid choice message. :issue:`2621` :pr:`2622`\n\n-   If help is shown
          because `no_args_is_help` is enabled (defaults to `True`\n    for groups,
          `False` for commands), the exit code is 2 instead of 0.\n    :issue:`1489`
          :pr:`1489`\n\n-   Contexts created during shell completion are closed properly,
          fixing\n    a `ResourceWarning` when using `click.File`. :issue:`2644` :pr:`2800`\n
          \   :pr:`2767`\n\n-   `click.edit(filename)` now supports passing an iterable
          of filenames in\n    case the editor supports editing multiple files at
          once. Its return type\n    is now also typed: `AnyStr` if `text` is passed,
          otherwise `None`.\n    :issue:`2067` :pr:`2068`\n\n-   Specialized typing
          of `progressbar(length=...)` as `ProgressBar[int]`.\n    :pr:`2630`\n\n-
          \  Improve `echo_via_pager` behaviour in face of errors.\n    :issue:`2674`\n\n
          \   -   Terminate the pager in case a generator passed to `echo_via_pager`\n
          \       raises an exception.\n    -   Ensure to always close the pipe to
          the pager process and wait for it\n        to terminate.\n    -   `echo_via_pager`
          will not ignore `KeyboardInterrupt` anymore. This\n        allows the user
          to search for future output of the generator when\n        using less and
          then aborting the program using ctrl-c.\n\n-   `deprecated: bool | str`
          can now be used on options and arguments. This\n    previously was only
          available for `Command`. The message can now also be\n    customised by
          using a `str` instead of a `bool`. :issue:`2263` :pr:`2271`\n\n    -   `Command.deprecated`
          formatting in `--help` changed from\n        `(Deprecated) help` to `help
          (DEPRECATED)`.\n    -   Parameters cannot be required nor prompted or an
          error is raised.\n    -   A warning will be printed when something deprecated
          is used.\n\n-   Add a `catch_exceptions` parameter to `CliRunner`. If\n
          \   `catch_exceptions` is not passed to `CliRunner.invoke`, the value\n
          \   from `CliRunner` is used. :issue:`2817` :pr:`2818`\n\n-   `Option.flag_value`
          will no longer have a default value set based on\n    `Option.default` if
          `Option.is_flag` is `False`. This results in\n    `Option.default` not needing
          to implement `__bool__`. :pr:`2829`\n\n-   Incorrect `click.edit` typing
          has been corrected. :pr:`2804`\n\n-   `Choice` is now generic and supports
          any iterable value.\n    This allows you to use enums and other non-`str`
          values. :pr:`2796`\n    :issue:`605`\n\n-   Fix setup of help option's defaults
          when using a custom class on its\n    decorator. Removes `HelpOption`. :issue:`2832`
          :pr:`2840`\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          Branch creation - At any time (no schedule defined), Automerge - At any
          time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled by config.
          Please merge this manually once you are satisfied.\n\n\u267B **Rebasing**:
          Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515
          **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n
          - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
          box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
          View the [repository job log](https://developer.mend.io/github/osism/cfg-cookiecutter).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC4xNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/cfg-cookiecutter/pull/736
        commit_id: 6989b33a5b108937dfd00804462f849c237d8fea
        patchset: 6989b33a5b108937dfd00804462f849c237d8fea
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          name: osism/cfg-cookiecutter
          short_name: cfg-cookiecutter
        src_dir: src/github.com/osism/cfg-cookiecutter
        topic: null
      change: '736'
      change_message: "chore(deps): update dependency click to v8.2.1\n\nThis PR contains
        the following updates:\n\n| Package | Change | Age | Adoption | Passing |
        Confidence |\n|---|---|---|---|---|---|\n| [click](https://redirect.github.com/pallets/click)
        ([changelog](https://click.palletsprojects.com/page/changes/)) | `==8.1.8`
        -> `==8.2.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
        | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
        | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
        | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
        [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
        Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\n###
        [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
        Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
        2025-05-10\n\n-   Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588` :pr:`2893`\n\n-
        \  Use modern packaging metadata with `pyproject.toml` instead of `setup.cfg`.\n
        \   :pr:`2438`\n\n-   Use `flit_core` instead of `setuptools` as build backend.
        :pr:`2543`\n\n-   Deprecate the `__version__` attribute. Use feature detection,
        or\n    `importlib.metadata.version(\"click\")`, instead. :issue:`2598`\n\n-
        \  `BaseCommand` is deprecated. `Command` is the base class for all\n    commands.
        :issue:`2589`\n\n-   `MultiCommand` is deprecated. `Group` is the base class
        for all group\n    commands. :issue:`2590`\n\n-   The current parser and related
        classes and methods, are deprecated.\n    :issue:`2205`\n\n    -   `OptionParser`
        and the `parser` module, which is a modified copy of\n        `optparse` in
        the standard library.\n    -   `Context.protected_args` is unneeded. `Context.args`
        contains any\n        remaining arguments while parsing.\n    -   `Parameter.add_to_parser`
        (on both `Argument` and `Option`) is\n        unneeded. Parsing works directly
        without building a separate parser.\n    -   `split_arg_string` is moved from
        `parser` to `shell_completion`.\n\n-   Enable deferred evaluation of annotations
        with\n    `from __future__ import annotations`. :pr:`2270`\n\n-   When generating
        a command's name from a decorated function's name, the\n    suffixes `_command`,
        `_cmd`, `_group`, and `_grp` are removed.\n    :issue:`2322`\n\n-   Show the
        `types.ParamType.name` for `types.Choice` options within\n    `--help` message
        if `show_choices=False` is specified.\n    :issue:`2356`\n\n-   Do not display
        default values in prompts when `Option.show_default` is\n    `False`. :pr:`2509`\n\n-
        \  Add `get_help_extra` method on `Option` to fetch the generated extra\n
        \   items used in `get_help_record` to render help text. :issue:`2516`\n    :pr:`2517`\n\n-
        \  Keep stdout and stderr streams independent in `CliRunner`. Always\n    collect
        stderr output and never raise an exception. Add a new\n    output stream to
        simulate what the user sees in its terminal. Removes\n    the `mix_stderr`
        parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n-   `Option.show_envvar`
        now also shows environment variable in error messages.\n    :issue:`2695`
        :pr:`2696`\n\n-   `Context.close` will be called on exit. This results in
        all\n    `Context.call_on_close` callbacks and context managers added via\n
        \   `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
        \  Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
        \  A `UserWarning` will be shown when multiple parameters attempt to use the\n
        \   same name. :issue:`2396`\n\n-   When using `Option.envvar` with `Option.flag_value`,
        the `flag_value`\n    will always be used instead of the value of the environment
        variable.\n    :issue:`2746` :pr:`2788`\n\n-   Add `Choice.get_invalid_choice_message`
        method for customizing the\n    invalid choice message. :issue:`2621` :pr:`2622`\n\n-
        \  If help is shown because `no_args_is_help` is enabled (defaults to `True`\n
        \   for groups, `False` for commands), the exit code is 2 instead of 0.\n
        \   :issue:`1489` :pr:`1489`\n\n-   Contexts created during shell completion
        are closed properly, fixing\n    a `ResourceWarning` when using `click.File`.
        :issue:`2644` :pr:`2800`\n    :pr:`2767`\n\n-   `click.edit(filename)` now
        supports passing an iterable of filenames in\n    case the editor supports
        editing multiple files at once. Its return type\n    is now also typed: `AnyStr`
        if `text` is passed, otherwise `None`.\n    :issue:`2067` :pr:`2068`\n\n-
        \  Specialized typing of `progressbar(length=...)` as `ProgressBar[int]`.\n
        \   :pr:`2630`\n\n-   Improve `echo_via_pager` behaviour in face of errors.\n
        \   :issue:`2674`\n\n    -   Terminate the pager in case a generator passed
        to `echo_via_pager`\n        raises an exception.\n    -   Ensure to always
        close the pipe to the pager process and wait for it\n        to terminate.\n
        \   -   `echo_via_pager` will not ignore `KeyboardInterrupt` anymore. This\n
        \       allows the user to search for future output of the generator when\n
        \       using less and then aborting the program using ctrl-c.\n\n-   `deprecated:
        bool | str` can now be used on options and arguments. This\n    previously
        was only available for `Command`. The message can now also be\n    customised
        by using a `str` instead of a `bool`. :issue:`2263` :pr:`2271`\n\n    -   `Command.deprecated`
        formatting in `--help` changed from\n        `(Deprecated) help` to `help
        (DEPRECATED)`.\n    -   Parameters cannot be required nor prompted or an error
        is raised.\n    -   A warning will be printed when something deprecated is
        used.\n\n-   Add a `catch_exceptions` parameter to `CliRunner`. If\n    `catch_exceptions`
        is not passed to `CliRunner.invoke`, the value\n    from `CliRunner` is used.
        :issue:`2817` :pr:`2818`\n\n-   `Option.flag_value` will no longer have a
        default value set based on\n    `Option.default` if `Option.is_flag` is `False`.
        This results in\n    `Option.default` not needing to implement `__bool__`.
        :pr:`2829`\n\n-   Incorrect `click.edit` typing has been corrected. :pr:`2804`\n\n-
        \  `Choice` is now generic and supports any iterable value.\n    This allows
        you to use enums and other non-`str` values. :pr:`2796`\n    :issue:`605`\n\n-
        \  Fix setup of help option's defaults when using a custom class on its\n
        \   decorator. Removes `HelpOption`. :issue:`2832` :pr:`2840`\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time (no
        schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
        **Automerge**: Disabled by config. Please merge this manually once you are
        satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
        tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR and
        you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check
        -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was
        generated by [Mend Renovate](https://mend.io/renovate/). View the [repository
        job log](https://developer.mend.io/github/osism/cfg-cookiecutter).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC4xNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/cfg-cookiecutter/pull/736
      child_jobs: []
      commit_id: 6989b33a5b108937dfd00804462f849c237d8fea
      event_id: 9c24f4e0-35f6-11f0-804f-51d876e129df
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/e4e5d45bde06427faf92a302be918e8e/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/e4e5d45bde06427faf92a302be918e8e/work/logs
        result_data_file: /var/lib/zuul/builds/e4e5d45bde06427faf92a302be918e8e/work/results.json
        src_root: /var/lib/zuul/builds/e4e5d45bde06427faf92a302be918e8e/work/src
        work_root: /var/lib/zuul/builds/e4e5d45bde06427faf92a302be918e8e/work
      include_vars: []
      items:
      - branch: main
        change: '736'
        change_message: "chore(deps): update dependency click to v8.2.1\n\nThis PR
          contains the following updates:\n\n| Package | Change | Age | Adoption |
          Passing | Confidence |\n|---|---|---|---|---|---|\n| [click](https://redirect.github.com/pallets/click)
          ([changelog](https://click.palletsprojects.com/page/changes/)) | `==8.1.8`
          -> `==8.2.1` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/click/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.1.8/8.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pallets/click (click)</summary>\n\n###
          [`v8.2.1`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-821)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.2.0...8.2.1)\n\n###
          [`v8.2.0`](https://redirect.github.com/pallets/click/blob/HEAD/CHANGES.rst#Version-820)\n\n[Compare
          Source](https://redirect.github.com/pallets/click/compare/8.1.8...8.2.0)\n\nReleased
          2025-05-10\n\n-   Drop support for Python 3.7, 3.8, and 3.9. :pr:`2588`
          :pr:`2893`\n\n-   Use modern packaging metadata with `pyproject.toml` instead
          of `setup.cfg`.\n    :pr:`2438`\n\n-   Use `flit_core` instead of `setuptools`
          as build backend. :pr:`2543`\n\n-   Deprecate the `__version__` attribute.
          Use feature detection, or\n    `importlib.metadata.version(\"click\")`,
          instead. :issue:`2598`\n\n-   `BaseCommand` is deprecated. `Command` is
          the base class for all\n    commands. :issue:`2589`\n\n-   `MultiCommand`
          is deprecated. `Group` is the base class for all group\n    commands. :issue:`2590`\n\n-
          \  The current parser and related classes and methods, are deprecated.\n
          \   :issue:`2205`\n\n    -   `OptionParser` and the `parser` module, which
          is a modified copy of\n        `optparse` in the standard library.\n    -
          \  `Context.protected_args` is unneeded. `Context.args` contains any\n        remaining
          arguments while parsing.\n    -   `Parameter.add_to_parser` (on both `Argument`
          and `Option`) is\n        unneeded. Parsing works directly without building
          a separate parser.\n    -   `split_arg_string` is moved from `parser` to
          `shell_completion`.\n\n-   Enable deferred evaluation of annotations with\n
          \   `from __future__ import annotations`. :pr:`2270`\n\n-   When generating
          a command's name from a decorated function's name, the\n    suffixes `_command`,
          `_cmd`, `_group`, and `_grp` are removed.\n    :issue:`2322`\n\n-   Show
          the `types.ParamType.name` for `types.Choice` options within\n    `--help`
          message if `show_choices=False` is specified.\n    :issue:`2356`\n\n-   Do
          not display default values in prompts when `Option.show_default` is\n    `False`.
          :pr:`2509`\n\n-   Add `get_help_extra` method on `Option` to fetch the generated
          extra\n    items used in `get_help_record` to render help text. :issue:`2516`\n
          \   :pr:`2517`\n\n-   Keep stdout and stderr streams independent in `CliRunner`.
          Always\n    collect stderr output and never raise an exception. Add a new\n
          \   output stream to simulate what the user sees in its terminal. Removes\n
          \   the `mix_stderr` parameter in `CliRunner`. :issue:`2522` :pr:`2523`\n\n-
          \  `Option.show_envvar` now also shows environment variable in error messages.\n
          \   :issue:`2695` :pr:`2696`\n\n-   `Context.close` will be called on exit.
          This results in all\n    `Context.call_on_close` callbacks and context managers
          added via\n    `Context.with_resource` to be closed on exit as well. :pr:`2680`\n\n-
          \  Add `ProgressBar(hidden: bool)` to allow hiding the progressbar. :issue:`2609`\n\n-
          \  A `UserWarning` will be shown when multiple parameters attempt to use
          the\n    same name. :issue:`2396`\n\n-   When using `Option.envvar` with
          `Option.flag_value`, the `flag_value`\n    will always be used instead of
          the value of the environment variable.\n    :issue:`2746` :pr:`2788`\n\n-
          \  Add `Choice.get_invalid_choice_message` method for customizing the\n
          \   invalid choice message. :issue:`2621` :pr:`2622`\n\n-   If help is shown
          because `no_args_is_help` is enabled (defaults to `True`\n    for groups,
          `False` for commands), the exit code is 2 instead of 0.\n    :issue:`1489`
          :pr:`1489`\n\n-   Contexts created during shell completion are closed properly,
          fixing\n    a `ResourceWarning` when using `click.File`. :issue:`2644` :pr:`2800`\n
          \   :pr:`2767`\n\n-   `click.edit(filename)` now supports passing an iterable
          of filenames in\n    case the editor supports editing multiple files at
          once. Its return type\n    is now also typed: `AnyStr` if `text` is passed,
          otherwise `None`.\n    :issue:`2067` :pr:`2068`\n\n-   Specialized typing
          of `progressbar(length=...)` as `ProgressBar[int]`.\n    :pr:`2630`\n\n-
          \  Improve `echo_via_pager` behaviour in face of errors.\n    :issue:`2674`\n\n
          \   -   Terminate the pager in case a generator passed to `echo_via_pager`\n
          \       raises an exception.\n    -   Ensure to always close the pipe to
          the pager process and wait for it\n        to terminate.\n    -   `echo_via_pager`
          will not ignore `KeyboardInterrupt` anymore. This\n        allows the user
          to search for future output of the generator when\n        using less and
          then aborting the program using ctrl-c.\n\n-   `deprecated: bool | str`
          can now be used on options and arguments. This\n    previously was only
          available for `Command`. The message can now also be\n    customised by
          using a `str` instead of a `bool`. :issue:`2263` :pr:`2271`\n\n    -   `Command.deprecated`
          formatting in `--help` changed from\n        `(Deprecated) help` to `help
          (DEPRECATED)`.\n    -   Parameters cannot be required nor prompted or an
          error is raised.\n    -   A warning will be printed when something deprecated
          is used.\n\n-   Add a `catch_exceptions` parameter to `CliRunner`. If\n
          \   `catch_exceptions` is not passed to `CliRunner.invoke`, the value\n
          \   from `CliRunner` is used. :issue:`2817` :pr:`2818`\n\n-   `Option.flag_value`
          will no longer have a default value set based on\n    `Option.default` if
          `Option.is_flag` is `False`. This results in\n    `Option.default` not needing
          to implement `__bool__`. :pr:`2829`\n\n-   Incorrect `click.edit` typing
          has been corrected. :pr:`2804`\n\n-   `Choice` is now generic and supports
          any iterable value.\n    This allows you to use enums and other non-`str`
          values. :pr:`2796`\n    :issue:`605`\n\n-   Fix setup of help option's defaults
          when using a custom class on its\n    decorator. Removes `HelpOption`. :issue:`2832`
          :pr:`2840`\n\n</details>\n\n---\n\n### Configuration\n\n\U0001F4C5 **Schedule**:
          Branch creation - At any time (no schedule defined), Automerge - At any
          time (no schedule defined).\n\n\U0001F6A6 **Automerge**: Disabled by config.
          Please merge this manually once you are satisfied.\n\n\u267B **Rebasing**:
          Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.\n\n\U0001F515
          **Ignore**: Close this PR and you won't be reminded about this update again.\n\n---\n\n
          - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this
          box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).
          View the [repository job log](https://developer.mend.io/github/osism/cfg-cookiecutter).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC4xNi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/cfg-cookiecutter/pull/736
        commit_id: 6989b33a5b108937dfd00804462f849c237d8fea
        patchset: 6989b33a5b108937dfd00804462f849c237d8fea
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          name: osism/cfg-cookiecutter
          short_name: cfg-cookiecutter
          src_dir: src/github.com/osism/cfg-cookiecutter
        topic: null
      job: hadolint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGNsaWNrIHRvIHY4LjIuMQoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBDaGFuZ2UgfCBBZ2UgfCBBZG9wdGlvbiB8IFBhc3NpbmcgfCBDb25maWRlbmNlIHwKfC0tLXwtLS18LS0tfC0tLXwtLS18LS0tfAp8IFtjbGlja10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2spIChbY2hhbmdlbG9nXShodHRwczovL2NsaWNrLnBhbGxldHNwcm9qZWN0cy5jb20vcGFnZS9jaGFuZ2VzLykpIHwgYD09OC4xLjhgIC0+IGA9PTguMi4xYCB8IFshW2FnZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2FnZS9weXBpL2NsaWNrLzguMi4xP3NsaW09dHJ1ZSldKGh0dHBzOi8vZG9jcy5yZW5vdmF0ZWJvdC5jb20vbWVyZ2UtY29uZmlkZW5jZS8pIHwgWyFbYWRvcHRpb25dKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vYXBpL21jL2JhZGdlcy9hZG9wdGlvbi9weXBpL2NsaWNrLzguMi4xP3NsaW09dHJ1ZSldKGh0dHBzOi8vZG9jcy5yZW5vdmF0ZWJvdC5jb20vbWVyZ2UtY29uZmlkZW5jZS8pIHwgWyFbcGFzc2luZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2NvbXBhdGliaWxpdHkvcHlwaS9jbGljay84LjEuOC84LjIuMT9zbGltPXRydWUpXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8IFshW2NvbmZpZGVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vYXBpL21jL2JhZGdlcy9jb25maWRlbmNlL3B5cGkvY2xpY2svOC4xLjgvOC4yLjE/c2xpbT10cnVlKV0oaHR0cHM6Ly9kb2NzLnJlbm92YXRlYm90LmNvbS9tZXJnZS1jb25maWRlbmNlLykgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5PnBhbGxldHMvY2xpY2sgKGNsaWNrKTwvc3VtbWFyeT4KCiMjIyBbYHY4LjIuMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wYWxsZXRzL2NsaWNrL2Jsb2IvSEVBRC9DSEFOR0VTLnJzdCNWZXJzaW9uLTgyMSkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2svY29tcGFyZS84LjIuMC4uLjguMi4xKQoKIyMjIFtgdjguMi4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3BhbGxldHMvY2xpY2svYmxvYi9IRUFEL0NIQU5HRVMucnN0I1ZlcnNpb24tODIwKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcGFsbGV0cy9jbGljay9jb21wYXJlLzguMS44Li4uOC4yLjApCgpSZWxlYXNlZCAyMDI1LTA1LTEwCgotICAgRHJvcCBzdXBwb3J0IGZvciBQeXRob24gMy43LCAzLjgsIGFuZCAzLjkuIDpwcjpgMjU4OGAgOnByOmAyODkzYAoKLSAgIFVzZSBtb2Rlcm4gcGFja2FnaW5nIG1ldGFkYXRhIHdpdGggYHB5cHJvamVjdC50b21sYCBpbnN0ZWFkIG9mIGBzZXR1cC5jZmdgLgogICAgOnByOmAyNDM4YAoKLSAgIFVzZSBgZmxpdF9jb3JlYCBpbnN0ZWFkIG9mIGBzZXR1cHRvb2xzYCBhcyBidWlsZCBiYWNrZW5kLiA6cHI6YDI1NDNgCgotICAgRGVwcmVjYXRlIHRoZSBgX192ZXJzaW9uX19gIGF0dHJpYnV0ZS4gVXNlIGZlYXR1cmUgZGV0ZWN0aW9uLCBvcgogICAgYGltcG9ydGxpYi5tZXRhZGF0YS52ZXJzaW9uKCJjbGljayIpYCwgaW5zdGVhZC4gOmlzc3VlOmAyNTk4YAoKLSAgIGBCYXNlQ29tbWFuZGAgaXMgZGVwcmVjYXRlZC4gYENvbW1hbmRgIGlzIHRoZSBiYXNlIGNsYXNzIGZvciBhbGwKICAgIGNvbW1hbmRzLiA6aXNzdWU6YDI1ODlgCgotICAgYE11bHRpQ29tbWFuZGAgaXMgZGVwcmVjYXRlZC4gYEdyb3VwYCBpcyB0aGUgYmFzZSBjbGFzcyBmb3IgYWxsIGdyb3VwCiAgICBjb21tYW5kcy4gOmlzc3VlOmAyNTkwYAoKLSAgIFRoZSBjdXJyZW50IHBhcnNlciBhbmQgcmVsYXRlZCBjbGFzc2VzIGFuZCBtZXRob2RzLCBhcmUgZGVwcmVjYXRlZC4KICAgIDppc3N1ZTpgMjIwNWAKCiAgICAtICAgYE9wdGlvblBhcnNlcmAgYW5kIHRoZSBgcGFyc2VyYCBtb2R1bGUsIHdoaWNoIGlzIGEgbW9kaWZpZWQgY29weSBvZgogICAgICAgIGBvcHRwYXJzZWAgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnkuCiAgICAtICAgYENvbnRleHQucHJvdGVjdGVkX2FyZ3NgIGlzIHVubmVlZGVkLiBgQ29udGV4dC5hcmdzYCBjb250YWlucyBhbnkKICAgICAgICByZW1haW5pbmcgYXJndW1lbnRzIHdoaWxlIHBhcnNpbmcuCiAgICAtICAgYFBhcmFtZXRlci5hZGRfdG9fcGFyc2VyYCAob24gYm90aCBgQXJndW1lbnRgIGFuZCBgT3B0aW9uYCkgaXMKICAgICAgICB1bm5lZWRlZC4gUGFyc2luZyB3b3JrcyBkaXJlY3RseSB3aXRob3V0IGJ1aWxkaW5nIGEgc2VwYXJhdGUgcGFyc2VyLgogICAgLSAgIGBzcGxpdF9hcmdfc3RyaW5nYCBpcyBtb3ZlZCBmcm9tIGBwYXJzZXJgIHRvIGBzaGVsbF9jb21wbGV0aW9uYC4KCi0gICBFbmFibGUgZGVmZXJyZWQgZXZhbHVhdGlvbiBvZiBhbm5vdGF0aW9ucyB3aXRoCiAgICBgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhbm5vdGF0aW9uc2AuIDpwcjpgMjI3MGAKCi0gICBXaGVuIGdlbmVyYXRpbmcgYSBjb21tYW5kJ3MgbmFtZSBmcm9tIGEgZGVjb3JhdGVkIGZ1bmN0aW9uJ3MgbmFtZSwgdGhlCiAgICBzdWZmaXhlcyBgX2NvbW1hbmRgLCBgX2NtZGAsIGBfZ3JvdXBgLCBhbmQgYF9ncnBgIGFyZSByZW1vdmVkLgogICAgOmlzc3VlOmAyMzIyYAoKLSAgIFNob3cgdGhlIGB0eXBlcy5QYXJhbVR5cGUubmFtZWAgZm9yIGB0eXBlcy5DaG9pY2VgIG9wdGlvbnMgd2l0aGluCiAgICBgLS1oZWxwYCBtZXNzYWdlIGlmIGBzaG93X2Nob2ljZXM9RmFsc2VgIGlzIHNwZWNpZmllZC4KICAgIDppc3N1ZTpgMjM1NmAKCi0gICBEbyBub3QgZGlzcGxheSBkZWZhdWx0IHZhbHVlcyBpbiBwcm9tcHRzIHdoZW4gYE9wdGlvbi5zaG93X2RlZmF1bHRgIGlzCiAgICBgRmFsc2VgLiA6cHI6YDI1MDlgCgotICAgQWRkIGBnZXRfaGVscF9leHRyYWAgbWV0aG9kIG9uIGBPcHRpb25gIHRvIGZldGNoIHRoZSBnZW5lcmF0ZWQgZXh0cmEKICAgIGl0ZW1zIHVzZWQgaW4gYGdldF9oZWxwX3JlY29yZGAgdG8gcmVuZGVyIGhlbHAgdGV4dC4gOmlzc3VlOmAyNTE2YAogICAgOnByOmAyNTE3YAoKLSAgIEtlZXAgc3Rkb3V0IGFuZCBzdGRlcnIgc3RyZWFtcyBpbmRlcGVuZGVudCBpbiBgQ2xpUnVubmVyYC4gQWx3YXlzCiAgICBjb2xsZWN0IHN0ZGVyciBvdXRwdXQgYW5kIG5ldmVyIHJhaXNlIGFuIGV4Y2VwdGlvbi4gQWRkIGEgbmV3CiAgICBvdXRwdXQgc3RyZWFtIHRvIHNpbXVsYXRlIHdoYXQgdGhlIHVzZXIgc2VlcyBpbiBpdHMgdGVybWluYWwuIFJlbW92ZXMKICAgIHRoZSBgbWl4X3N0ZGVycmAgcGFyYW1ldGVyIGluIGBDbGlSdW5uZXJgLiA6aXNzdWU6YDI1MjJgIDpwcjpgMjUyM2AKCi0gICBgT3B0aW9uLnNob3dfZW52dmFyYCBub3cgYWxzbyBzaG93cyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpbiBlcnJvciBtZXNzYWdlcy4KICAgIDppc3N1ZTpgMjY5NWAgOnByOmAyNjk2YAoKLSAgIGBDb250ZXh0LmNsb3NlYCB3aWxsIGJlIGNhbGxlZCBvbiBleGl0LiBUaGlzIHJlc3VsdHMgaW4gYWxsCiAgICBgQ29udGV4dC5jYWxsX29uX2Nsb3NlYCBjYWxsYmFja3MgYW5kIGNvbnRleHQgbWFuYWdlcnMgYWRkZWQgdmlhCiAgICBgQ29udGV4dC53aXRoX3Jlc291cmNlYCB0byBiZSBjbG9zZWQgb24gZXhpdCBhcyB3ZWxsLiA6cHI6YDI2ODBgCgotICAgQWRkIGBQcm9ncmVzc0JhcihoaWRkZW46IGJvb2wpYCB0byBhbGxvdyBoaWRpbmcgdGhlIHByb2dyZXNzYmFyLiA6aXNzdWU6YDI2MDlgCgotICAgQSBgVXNlcldhcm5pbmdgIHdpbGwgYmUgc2hvd24gd2hlbiBtdWx0aXBsZSBwYXJhbWV0ZXJzIGF0dGVtcHQgdG8gdXNlIHRoZQogICAgc2FtZSBuYW1lLiA6aXNzdWU6YDIzOTZgCgotICAgV2hlbiB1c2luZyBgT3B0aW9uLmVudnZhcmAgd2l0aCBgT3B0aW9uLmZsYWdfdmFsdWVgLCB0aGUgYGZsYWdfdmFsdWVgCiAgICB3aWxsIGFsd2F5cyBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KICAgIDppc3N1ZTpgMjc0NmAgOnByOmAyNzg4YAoKLSAgIEFkZCBgQ2hvaWNlLmdldF9pbnZhbGlkX2Nob2ljZV9tZXNzYWdlYCBtZXRob2QgZm9yIGN1c3RvbWl6aW5nIHRoZQogICAgaW52YWxpZCBjaG9pY2UgbWVzc2FnZS4gOmlzc3VlOmAyNjIxYCA6cHI6YDI2MjJgCgotICAgSWYgaGVscCBpcyBzaG93biBiZWNhdXNlIGBub19hcmdzX2lzX2hlbHBgIGlzIGVuYWJsZWQgKGRlZmF1bHRzIHRvIGBUcnVlYAogICAgZm9yIGdyb3VwcywgYEZhbHNlYCBmb3IgY29tbWFuZHMpLCB0aGUgZXhpdCBjb2RlIGlzIDIgaW5zdGVhZCBvZiAwLgogICAgOmlzc3VlOmAxNDg5YCA6cHI6YDE0ODlgCgotICAgQ29udGV4dHMgY3JlYXRlZCBkdXJpbmcgc2hlbGwgY29tcGxldGlvbiBhcmUgY2xvc2VkIHByb3Blcmx5LCBmaXhpbmcKICAgIGEgYFJlc291cmNlV2FybmluZ2Agd2hlbiB1c2luZyBgY2xpY2suRmlsZWAuIDppc3N1ZTpgMjY0NGAgOnByOmAyODAwYAogICAgOnByOmAyNzY3YAoKLSAgIGBjbGljay5lZGl0KGZpbGVuYW1lKWAgbm93IHN1cHBvcnRzIHBhc3NpbmcgYW4gaXRlcmFibGUgb2YgZmlsZW5hbWVzIGluCiAgICBjYXNlIHRoZSBlZGl0b3Igc3VwcG9ydHMgZWRpdGluZyBtdWx0aXBsZSBmaWxlcyBhdCBvbmNlLiBJdHMgcmV0dXJuIHR5cGUKICAgIGlzIG5vdyBhbHNvIHR5cGVkOiBgQW55U3RyYCBpZiBgdGV4dGAgaXMgcGFzc2VkLCBvdGhlcndpc2UgYE5vbmVgLgogICAgOmlzc3VlOmAyMDY3YCA6cHI6YDIwNjhgCgotICAgU3BlY2lhbGl6ZWQgdHlwaW5nIG9mIGBwcm9ncmVzc2JhcihsZW5ndGg9Li4uKWAgYXMgYFByb2dyZXNzQmFyW2ludF1gLgogICAgOnByOmAyNjMwYAoKLSAgIEltcHJvdmUgYGVjaG9fdmlhX3BhZ2VyYCBiZWhhdmlvdXIgaW4gZmFjZSBvZiBlcnJvcnMuCiAgICA6aXNzdWU6YDI2NzRgCgogICAgLSAgIFRlcm1pbmF0ZSB0aGUgcGFnZXIgaW4gY2FzZSBhIGdlbmVyYXRvciBwYXNzZWQgdG8gYGVjaG9fdmlhX3BhZ2VyYAogICAgICAgIHJhaXNlcyBhbiBleGNlcHRpb24uCiAgICAtICAgRW5zdXJlIHRvIGFsd2F5cyBjbG9zZSB0aGUgcGlwZSB0byB0aGUgcGFnZXIgcHJvY2VzcyBhbmQgd2FpdCBmb3IgaXQKICAgICAgICB0byB0ZXJtaW5hdGUuCiAgICAtICAgYGVjaG9fdmlhX3BhZ2VyYCB3aWxsIG5vdCBpZ25vcmUgYEtleWJvYXJkSW50ZXJydXB0YCBhbnltb3JlLiBUaGlzCiAgICAgICAgYWxsb3dzIHRoZSB1c2VyIHRvIHNlYXJjaCBmb3IgZnV0dXJlIG91dHB1dCBvZiB0aGUgZ2VuZXJhdG9yIHdoZW4KICAgICAgICB1c2luZyBsZXNzIGFuZCB0aGVuIGFib3J0aW5nIHRoZSBwcm9ncmFtIHVzaW5nIGN0cmwtYy4KCi0gICBgZGVwcmVjYXRlZDogYm9vbCB8IHN0cmAgY2FuIG5vdyBiZSB1c2VkIG9uIG9wdGlvbnMgYW5kIGFyZ3VtZW50cy4gVGhpcwogICAgcHJldmlvdXNseSB3YXMgb25seSBhdmFpbGFibGUgZm9yIGBDb21tYW5kYC4gVGhlIG1lc3NhZ2UgY2FuIG5vdyBhbHNvIGJlCiAgICBjdXN0b21pc2VkIGJ5IHVzaW5nIGEgYHN0cmAgaW5zdGVhZCBvZiBhIGBib29sYC4gOmlzc3VlOmAyMjYzYCA6cHI6YDIyNzFgCgogICAgLSAgIGBDb21tYW5kLmRlcHJlY2F0ZWRgIGZvcm1hdHRpbmcgaW4gYC0taGVscGAgY2hhbmdlZCBmcm9tCiAgICAgICAgYChEZXByZWNhdGVkKSBoZWxwYCB0byBgaGVscCAoREVQUkVDQVRFRClgLgogICAgLSAgIFBhcmFtZXRlcnMgY2Fubm90IGJlIHJlcXVpcmVkIG5vciBwcm9tcHRlZCBvciBhbiBlcnJvciBpcyByYWlzZWQuCiAgICAtICAgQSB3YXJuaW5nIHdpbGwgYmUgcHJpbnRlZCB3aGVuIHNvbWV0aGluZyBkZXByZWNhdGVkIGlzIHVzZWQuCgotICAgQWRkIGEgYGNhdGNoX2V4Y2VwdGlvbnNgIHBhcmFtZXRlciB0byBgQ2xpUnVubmVyYC4gSWYKICAgIGBjYXRjaF9leGNlcHRpb25zYCBpcyBub3QgcGFzc2VkIHRvIGBDbGlSdW5uZXIuaW52b2tlYCwgdGhlIHZhbHVlCiAgICBmcm9tIGBDbGlSdW5uZXJgIGlzIHVzZWQuIDppc3N1ZTpgMjgxN2AgOnByOmAyODE4YAoKLSAgIGBPcHRpb24uZmxhZ192YWx1ZWAgd2lsbCBubyBsb25nZXIgaGF2ZSBhIGRlZmF1bHQgdmFsdWUgc2V0IGJhc2VkIG9uCiAgICBgT3B0aW9uLmRlZmF1bHRgIGlmIGBPcHRpb24uaXNfZmxhZ2AgaXMgYEZhbHNlYC4gVGhpcyByZXN1bHRzIGluCiAgICBgT3B0aW9uLmRlZmF1bHRgIG5vdCBuZWVkaW5nIHRvIGltcGxlbWVudCBgX19ib29sX19gLiA6cHI6YDI4MjlgCgotICAgSW5jb3JyZWN0IGBjbGljay5lZGl0YCB0eXBpbmcgaGFzIGJlZW4gY29ycmVjdGVkLiA6cHI6YDI4MDRgCgotICAgYENob2ljZWAgaXMgbm93IGdlbmVyaWMgYW5kIHN1cHBvcnRzIGFueSBpdGVyYWJsZSB2YWx1ZS4KICAgIFRoaXMgYWxsb3dzIHlvdSB0byB1c2UgZW51bXMgYW5kIG90aGVyIG5vbi1gc3RyYCB2YWx1ZXMuIDpwcjpgMjc5NmAKICAgIDppc3N1ZTpgNjA1YAoKLSAgIEZpeCBzZXR1cCBvZiBoZWxwIG9wdGlvbidzIGRlZmF1bHRzIHdoZW4gdXNpbmcgYSBjdXN0b20gY2xhc3Mgb24gaXRzCiAgICBkZWNvcmF0b3IuIFJlbW92ZXMgYEhlbHBPcHRpb25gLiA6aXNzdWU6YDI4MzJgIDpwcjpgMjg0MGAKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vY2ZnLWNvb2tpZWN1dHRlcikuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNQzQzTGpFaUxDSjFjR1JoZEdWa1NXNVdaWElpT2lJME1DNHhOaTR3SWl3aWRHRnlaMlYwUW5KaGJtTm9Jam9pYldGcGJpSXNJbXhoWW1Wc2N5STZXeUp5Wlc1dmRtRjBaU0pkZlE9PS0tPgo=
      patchset: 6989b33a5b108937dfd00804462f849c237d8fea
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 12f7f78c76470b3998d356b9a12d3aed597b20f8
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/hadolint/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/roles
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/cfg-cookiecutter
        name: osism/cfg-cookiecutter
        short_name: cfg-cookiecutter
        src_dir: src/github.com/osism/cfg-cookiecutter
      projects:
        github.com/osism/cfg-cookiecutter:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cfg-cookiecutter
          checkout: main
          checkout_description: zuul branch
          commit: e00f5fa8d4c60415283c8a0bcfadc4bfde1df756
          name: osism/cfg-cookiecutter
          required: false
          short_name: cfg-cookiecutter
          src_dir: src/github.com/osism/cfg-cookiecutter
      ref: refs/pull/736/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
