all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe52:d8e6
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 41f05afa-228a-4cfe-a523-9ae4c73f769d
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe52:d8e6
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.211
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.239
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe52:d8e6
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/testbed/.zuul.yaml@main#324>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 9eb90d49a5fc4bbdaa56246c3b08ea0a
      build_refs:
      - branch: main
        change: '2863'
        change_message: "chore(deps): update dependency opentofu/opentofu to v1.12.0\n\nThis
          PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu) | minor
          | `v1.11.5` \u2192 `v1.12.0` |\n| [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu)
          | minor | `1.11.5` \u2192 `1.12.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>opentofu/opentofu
          (opentofu/opentofu)</summary>\n\n### [`v1.12.0`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.12.0)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.8...v1.12.0)\n\n###
          OpenTofu 1.12.0\n\nWe're proud to announce that OpenTofu 1.12.0 is now officially
          available! \U0001F389\n\n#### Highlights\n\nThis release cycle introduces
          major new capabilities and integrations:\n\n##### Dynamic `prevent_destroy`\n\nOpenTofu
          v1.12.0 now allows `prevent_destroy` to be defined dynamically in terms
          of other values available elsewhere in the same module. For example:\n\n```hcl\nvariable
          \"prevent_destroy_database\" {\n  type    = bool\n  default = true\n}\n\nresource
          \"example_database\" \"example\" {\n  # ...\n\n  lifecycle {\n    prevent_destroy
          = var.prevent_destroy_database\n  }\n}\n```\n\n##### Provider Checksum Improvements\n\nThe
          default provider installation behavior in OpenTofu is designed to mostly
          \"just work\" by getting the needed providers installed and making the necessary
          changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
          but in previous versions friction appeared for any teams using many of the
          non-default installation settings such as the shared provider plugin cache,
          or local mirrors of upstream providers.\n\nFor OpenTofu v1.12, OpenTofu
          Registry now provides a full set of official checksums in all of the checksum
          formats needed by other installation methods. This means that after running
          `tofu init` the dependency lock file will immediately have all of the information
          required to successfully use a global plugin cache directory and to verify
          matching packages served from a local mirror, without needing to run `tofu
          providers lock` separately.\n\n##### Simultaneous Human-readable and Machine-readable
          Output\n\nMany OpenTofu commands support both human-oriented UI output and
          machine-readable JSON output, but previously those commands could be run
          with only one or the other. This was bothersome for those implementing alternative
          UIs in terms of the machine-readable output because it meant they would
          need to implement all possible features of the UI before their tool could
          actually be used.\n\nOpenTofu v1.12.0 introduces a new option `-json-into=FILENAME`,
          which produces the same output format that `-json` would have produced but
          sends that output to the given filename instead of to the standard output
          stream. The OpenTofu UI output then appears on the standard output stream
          as normal, so that software interpreting the JSON output can behave as just
          a supplement to the normal UI rather than a complete replacement.\n\n#####
          New `destroy` lifecycle meta-argument\n\nThe new `destroy = false` lifecycle
          option for managed resources allows removing an object from the state without
          first destroying the remote object.\n\n#### Deprecation Notices\n\n#####
          WinRM for Provisioners is Now Deprecated\n\nSome of the Go libraries that
          OpenTofu uses for WinRM connection support in provisioners have become unmaintained
          over time, and so unfortunately we are phasing out support for WinRM in
          OpenTofu starting with deprecation warnings in this release.\n\nIf your
          configuration includes a `connection` block with `type = \"winrm\"` then
          OpenTofu v1.12 will warn that this connection type is deprecated, but provisioning
          should otherwise still work as it did before.\n\nWe intend to remove WinRM
          support completely in the forthcoming OpenTofu v1.13 series, and so if you
          are currently relying on WinRM support we recommend that you begin planning
          to migrate to using [OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)
          instead.\n\n##### Phasing Out Support for 32-bit CPU Architectures\n\nWe
          are also planning to stop producing official releases for 32-bit CPU architectures
          (`386` and `arm`) in a future version of OpenTofu. Support for 64-bit architectures
          (`amd64` and `arm64`) is unaffected.\n\nOpenTofu v1.12 does not include
          any changes to CPU support yet, but we expect that the official builds in
          the forthcoming v1.13 series will begin producing warnings when running
          on 32-bit CPU architectures, before we stop producing those packages altogether
          in a future release series.\n\n#### Compatibility Notes\n\n- macOS: Requires
          macOS 12 Monterey or later\n- The `OPENTOFU_USER_AGENT` environment variable,
          which allowed fully overriding the default User-Agent header on all HTTP
          requests, has been removed.\n- On Unix systems OpenTofu now considers the
          `BROWSER` environment variable as a possible override for the default behavior
          for launching a web browser. If you run OpenTofu in a context where an environment
          variable of that name is already set, it may cause OpenTofu to now open
          a web browser in a different way than previous versions would have. Unsetting
          that environment variable will restore the previous platform-specific behavior.\n\n####
          Reference\n\n- [Full Changelog](https://redirect.github.com/opentofu/opentofu/blob/v1.12/CHANGELOG.md)\n-
          [Blog Post](https://opentofu.org/blog/opentofu-1-12-0)\n\nThank you for
          your continued support and testing of the OpenTofu project!\n\n### [`v1.11.8`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.8)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8)\n\n####
          SECURITY ADVISORIES:\n\n- Previous releases in the v1.11 series could potentially
          take an excessive amount of time and send extraneous data to an HTTP2 server
          that specifies a maximum frame size of zero. This is now fixed. ([#&#8203;4094](https://redirect.github.com/opentofu/opentofu/issues/4094))\n\n
          \ An attacker that can coerce an operator to install a dependency from an
          attacker-controlled server could use this to cause unexpected resource consumption
          during `tofu init`.\n\n**Full Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8>\n\n###
          [`v1.11.7`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.7)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7)\n\n####
          BUG FIXES:\n\n- When installing provider packages into a local cache directory,
          the installer will now return an error if a conflicting entry is already
          present in the cache that doesn't match the expected checksum. Previously
          OpenTofu would just silently write over the existing entry in that case.
          ([#&#8203;4082](https://redirect.github.com/opentofu/opentofu/pull/4082))\n\n**Full
          Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7>\n\n###
          [`v1.11.6`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.6)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6)\n\n#####
          BUG FIXES:\n\n- Running `tofu apply -refresh-only` with a configuration
          that contains ephemeral resources does not fail anymore because the refresh
          produced changes ([#&#8203;3776](https://redirect.github.com/opentofu/opentofu/issues/3776))\n-
          Fixed `tofu init` crashing when a module `version` uses a variable and the
          module is referenced from a test file. ([#&#8203;3686](https://redirect.github.com/opentofu/opentofu/issues/3686))\n-
          Fixed provider-defined functions in `import` block `id` expressions causing
          \"BUG: Uninitialized function provider\" error. ([#&#8203;3803](https://redirect.github.com/opentofu/opentofu/issues/3803))\n-
          `tofu test` no longer fails during cleanup when using a mocked version of
          a resource type with write-only attributes. ([#&#8203;3964](https://redirect.github.com/opentofu/opentofu/issues/3964))\n-
          A malicious remote TLS server can no longer deadlock OpenTofu by sending
          multiple key update messages in a single record. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n-
          When installing module packages from \"tar\" archives, OpenTofu now accepts
          only a limited number of sparse file entries to avoid unbounded memory usage
          from maliciously-crafted archives containing many sparse regions. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n\n**Full
          Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6>\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - 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 these updates 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/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xODUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/testbed/pull/2863
        commit_id: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
        patchset: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      buildset: 4fe9a4f67aff4de0ad1faf1700448a9f
      buildset_refs:
      - branch: main
        change: '2863'
        change_message: "chore(deps): update dependency opentofu/opentofu to v1.12.0\n\nThis
          PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu) | minor
          | `v1.11.5` \u2192 `v1.12.0` |\n| [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu)
          | minor | `1.11.5` \u2192 `1.12.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>opentofu/opentofu
          (opentofu/opentofu)</summary>\n\n### [`v1.12.0`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.12.0)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.8...v1.12.0)\n\n###
          OpenTofu 1.12.0\n\nWe're proud to announce that OpenTofu 1.12.0 is now officially
          available! \U0001F389\n\n#### Highlights\n\nThis release cycle introduces
          major new capabilities and integrations:\n\n##### Dynamic `prevent_destroy`\n\nOpenTofu
          v1.12.0 now allows `prevent_destroy` to be defined dynamically in terms
          of other values available elsewhere in the same module. For example:\n\n```hcl\nvariable
          \"prevent_destroy_database\" {\n  type    = bool\n  default = true\n}\n\nresource
          \"example_database\" \"example\" {\n  # ...\n\n  lifecycle {\n    prevent_destroy
          = var.prevent_destroy_database\n  }\n}\n```\n\n##### Provider Checksum Improvements\n\nThe
          default provider installation behavior in OpenTofu is designed to mostly
          \"just work\" by getting the needed providers installed and making the necessary
          changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
          but in previous versions friction appeared for any teams using many of the
          non-default installation settings such as the shared provider plugin cache,
          or local mirrors of upstream providers.\n\nFor OpenTofu v1.12, OpenTofu
          Registry now provides a full set of official checksums in all of the checksum
          formats needed by other installation methods. This means that after running
          `tofu init` the dependency lock file will immediately have all of the information
          required to successfully use a global plugin cache directory and to verify
          matching packages served from a local mirror, without needing to run `tofu
          providers lock` separately.\n\n##### Simultaneous Human-readable and Machine-readable
          Output\n\nMany OpenTofu commands support both human-oriented UI output and
          machine-readable JSON output, but previously those commands could be run
          with only one or the other. This was bothersome for those implementing alternative
          UIs in terms of the machine-readable output because it meant they would
          need to implement all possible features of the UI before their tool could
          actually be used.\n\nOpenTofu v1.12.0 introduces a new option `-json-into=FILENAME`,
          which produces the same output format that `-json` would have produced but
          sends that output to the given filename instead of to the standard output
          stream. The OpenTofu UI output then appears on the standard output stream
          as normal, so that software interpreting the JSON output can behave as just
          a supplement to the normal UI rather than a complete replacement.\n\n#####
          New `destroy` lifecycle meta-argument\n\nThe new `destroy = false` lifecycle
          option for managed resources allows removing an object from the state without
          first destroying the remote object.\n\n#### Deprecation Notices\n\n#####
          WinRM for Provisioners is Now Deprecated\n\nSome of the Go libraries that
          OpenTofu uses for WinRM connection support in provisioners have become unmaintained
          over time, and so unfortunately we are phasing out support for WinRM in
          OpenTofu starting with deprecation warnings in this release.\n\nIf your
          configuration includes a `connection` block with `type = \"winrm\"` then
          OpenTofu v1.12 will warn that this connection type is deprecated, but provisioning
          should otherwise still work as it did before.\n\nWe intend to remove WinRM
          support completely in the forthcoming OpenTofu v1.13 series, and so if you
          are currently relying on WinRM support we recommend that you begin planning
          to migrate to using [OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)
          instead.\n\n##### Phasing Out Support for 32-bit CPU Architectures\n\nWe
          are also planning to stop producing official releases for 32-bit CPU architectures
          (`386` and `arm`) in a future version of OpenTofu. Support for 64-bit architectures
          (`amd64` and `arm64`) is unaffected.\n\nOpenTofu v1.12 does not include
          any changes to CPU support yet, but we expect that the official builds in
          the forthcoming v1.13 series will begin producing warnings when running
          on 32-bit CPU architectures, before we stop producing those packages altogether
          in a future release series.\n\n#### Compatibility Notes\n\n- macOS: Requires
          macOS 12 Monterey or later\n- The `OPENTOFU_USER_AGENT` environment variable,
          which allowed fully overriding the default User-Agent header on all HTTP
          requests, has been removed.\n- On Unix systems OpenTofu now considers the
          `BROWSER` environment variable as a possible override for the default behavior
          for launching a web browser. If you run OpenTofu in a context where an environment
          variable of that name is already set, it may cause OpenTofu to now open
          a web browser in a different way than previous versions would have. Unsetting
          that environment variable will restore the previous platform-specific behavior.\n\n####
          Reference\n\n- [Full Changelog](https://redirect.github.com/opentofu/opentofu/blob/v1.12/CHANGELOG.md)\n-
          [Blog Post](https://opentofu.org/blog/opentofu-1-12-0)\n\nThank you for
          your continued support and testing of the OpenTofu project!\n\n### [`v1.11.8`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.8)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8)\n\n####
          SECURITY ADVISORIES:\n\n- Previous releases in the v1.11 series could potentially
          take an excessive amount of time and send extraneous data to an HTTP2 server
          that specifies a maximum frame size of zero. This is now fixed. ([#&#8203;4094](https://redirect.github.com/opentofu/opentofu/issues/4094))\n\n
          \ An attacker that can coerce an operator to install a dependency from an
          attacker-controlled server could use this to cause unexpected resource consumption
          during `tofu init`.\n\n**Full Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8>\n\n###
          [`v1.11.7`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.7)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7)\n\n####
          BUG FIXES:\n\n- When installing provider packages into a local cache directory,
          the installer will now return an error if a conflicting entry is already
          present in the cache that doesn't match the expected checksum. Previously
          OpenTofu would just silently write over the existing entry in that case.
          ([#&#8203;4082](https://redirect.github.com/opentofu/opentofu/pull/4082))\n\n**Full
          Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7>\n\n###
          [`v1.11.6`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.6)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6)\n\n#####
          BUG FIXES:\n\n- Running `tofu apply -refresh-only` with a configuration
          that contains ephemeral resources does not fail anymore because the refresh
          produced changes ([#&#8203;3776](https://redirect.github.com/opentofu/opentofu/issues/3776))\n-
          Fixed `tofu init` crashing when a module `version` uses a variable and the
          module is referenced from a test file. ([#&#8203;3686](https://redirect.github.com/opentofu/opentofu/issues/3686))\n-
          Fixed provider-defined functions in `import` block `id` expressions causing
          \"BUG: Uninitialized function provider\" error. ([#&#8203;3803](https://redirect.github.com/opentofu/opentofu/issues/3803))\n-
          `tofu test` no longer fails during cleanup when using a mocked version of
          a resource type with write-only attributes. ([#&#8203;3964](https://redirect.github.com/opentofu/opentofu/issues/3964))\n-
          A malicious remote TLS server can no longer deadlock OpenTofu by sending
          multiple key update messages in a single record. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n-
          When installing module packages from \"tar\" archives, OpenTofu now accepts
          only a limited number of sparse file entries to avoid unbounded memory usage
          from maliciously-crafted archives containing many sparse regions. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n\n**Full
          Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6>\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - 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 these updates 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/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xODUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/testbed/pull/2863
        commit_id: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
        patchset: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
        src_dir: src/github.com/osism/testbed
        topic: null
      change: '2863'
      change_message: "chore(deps): update dependency opentofu/opentofu to v1.12.0\n\nThis
        PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu) | minor
        | `v1.11.5` \u2192 `v1.12.0` |\n| [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu)
        | minor | `1.11.5` \u2192 `1.12.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>opentofu/opentofu
        (opentofu/opentofu)</summary>\n\n### [`v1.12.0`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.12.0)\n\n[Compare
        Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.8...v1.12.0)\n\n###
        OpenTofu 1.12.0\n\nWe're proud to announce that OpenTofu 1.12.0 is now officially
        available! \U0001F389\n\n#### Highlights\n\nThis release cycle introduces
        major new capabilities and integrations:\n\n##### Dynamic `prevent_destroy`\n\nOpenTofu
        v1.12.0 now allows `prevent_destroy` to be defined dynamically in terms of
        other values available elsewhere in the same module. For example:\n\n```hcl\nvariable
        \"prevent_destroy_database\" {\n  type    = bool\n  default = true\n}\n\nresource
        \"example_database\" \"example\" {\n  # ...\n\n  lifecycle {\n    prevent_destroy
        = var.prevent_destroy_database\n  }\n}\n```\n\n##### Provider Checksum Improvements\n\nThe
        default provider installation behavior in OpenTofu is designed to mostly \"just
        work\" by getting the needed providers installed and making the necessary
        changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
        but in previous versions friction appeared for any teams using many of the
        non-default installation settings such as the shared provider plugin cache,
        or local mirrors of upstream providers.\n\nFor OpenTofu v1.12, OpenTofu Registry
        now provides a full set of official checksums in all of the checksum formats
        needed by other installation methods. This means that after running `tofu
        init` the dependency lock file will immediately have all of the information
        required to successfully use a global plugin cache directory and to verify
        matching packages served from a local mirror, without needing to run `tofu
        providers lock` separately.\n\n##### Simultaneous Human-readable and Machine-readable
        Output\n\nMany OpenTofu commands support both human-oriented UI output and
        machine-readable JSON output, but previously those commands could be run with
        only one or the other. This was bothersome for those implementing alternative
        UIs in terms of the machine-readable output because it meant they would need
        to implement all possible features of the UI before their tool could actually
        be used.\n\nOpenTofu v1.12.0 introduces a new option `-json-into=FILENAME`,
        which produces the same output format that `-json` would have produced but
        sends that output to the given filename instead of to the standard output
        stream. The OpenTofu UI output then appears on the standard output stream
        as normal, so that software interpreting the JSON output can behave as just
        a supplement to the normal UI rather than a complete replacement.\n\n#####
        New `destroy` lifecycle meta-argument\n\nThe new `destroy = false` lifecycle
        option for managed resources allows removing an object from the state without
        first destroying the remote object.\n\n#### Deprecation Notices\n\n##### WinRM
        for Provisioners is Now Deprecated\n\nSome of the Go libraries that OpenTofu
        uses for WinRM connection support in provisioners have become unmaintained
        over time, and so unfortunately we are phasing out support for WinRM in OpenTofu
        starting with deprecation warnings in this release.\n\nIf your configuration
        includes a `connection` block with `type = \"winrm\"` then OpenTofu v1.12
        will warn that this connection type is deprecated, but provisioning should
        otherwise still work as it did before.\n\nWe intend to remove WinRM support
        completely in the forthcoming OpenTofu v1.13 series, and so if you are currently
        relying on WinRM support we recommend that you begin planning to migrate to
        using [OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)
        instead.\n\n##### Phasing Out Support for 32-bit CPU Architectures\n\nWe are
        also planning to stop producing official releases for 32-bit CPU architectures
        (`386` and `arm`) in a future version of OpenTofu. Support for 64-bit architectures
        (`amd64` and `arm64`) is unaffected.\n\nOpenTofu v1.12 does not include any
        changes to CPU support yet, but we expect that the official builds in the
        forthcoming v1.13 series will begin producing warnings when running on 32-bit
        CPU architectures, before we stop producing those packages altogether in a
        future release series.\n\n#### Compatibility Notes\n\n- macOS: Requires macOS
        12 Monterey or later\n- The `OPENTOFU_USER_AGENT` environment variable, which
        allowed fully overriding the default User-Agent header on all HTTP requests,
        has been removed.\n- On Unix systems OpenTofu now considers the `BROWSER`
        environment variable as a possible override for the default behavior for launching
        a web browser. If you run OpenTofu in a context where an environment variable
        of that name is already set, it may cause OpenTofu to now open a web browser
        in a different way than previous versions would have. Unsetting that environment
        variable will restore the previous platform-specific behavior.\n\n#### Reference\n\n-
        [Full Changelog](https://redirect.github.com/opentofu/opentofu/blob/v1.12/CHANGELOG.md)\n-
        [Blog Post](https://opentofu.org/blog/opentofu-1-12-0)\n\nThank you for your
        continued support and testing of the OpenTofu project!\n\n### [`v1.11.8`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.8)\n\n[Compare
        Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8)\n\n####
        SECURITY ADVISORIES:\n\n- Previous releases in the v1.11 series could potentially
        take an excessive amount of time and send extraneous data to an HTTP2 server
        that specifies a maximum frame size of zero. This is now fixed. ([#&#8203;4094](https://redirect.github.com/opentofu/opentofu/issues/4094))\n\n
        \ An attacker that can coerce an operator to install a dependency from an
        attacker-controlled server could use this to cause unexpected resource consumption
        during `tofu init`.\n\n**Full Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8>\n\n###
        [`v1.11.7`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.7)\n\n[Compare
        Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7)\n\n####
        BUG FIXES:\n\n- When installing provider packages into a local cache directory,
        the installer will now return an error if a conflicting entry is already present
        in the cache that doesn't match the expected checksum. Previously OpenTofu
        would just silently write over the existing entry in that case. ([#&#8203;4082](https://redirect.github.com/opentofu/opentofu/pull/4082))\n\n**Full
        Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7>\n\n###
        [`v1.11.6`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.6)\n\n[Compare
        Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6)\n\n#####
        BUG FIXES:\n\n- Running `tofu apply -refresh-only` with a configuration that
        contains ephemeral resources does not fail anymore because the refresh produced
        changes ([#&#8203;3776](https://redirect.github.com/opentofu/opentofu/issues/3776))\n-
        Fixed `tofu init` crashing when a module `version` uses a variable and the
        module is referenced from a test file. ([#&#8203;3686](https://redirect.github.com/opentofu/opentofu/issues/3686))\n-
        Fixed provider-defined functions in `import` block `id` expressions causing
        \"BUG: Uninitialized function provider\" error. ([#&#8203;3803](https://redirect.github.com/opentofu/opentofu/issues/3803))\n-
        `tofu test` no longer fails during cleanup when using a mocked version of
        a resource type with write-only attributes. ([#&#8203;3964](https://redirect.github.com/opentofu/opentofu/issues/3964))\n-
        A malicious remote TLS server can no longer deadlock OpenTofu by sending multiple
        key update messages in a single record. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n-
        When installing module packages from \"tar\" archives, OpenTofu now accepts
        only a limited number of sparse file entries to avoid unbounded memory usage
        from maliciously-crafted archives containing many sparse regions. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n\n**Full
        Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6>\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
        At any time (no schedule defined)\n- Automerge\n  - 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 these updates 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/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xODUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
      change_url: https://github.com/osism/testbed/pull/2863
      child_jobs: []
      commit_id: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
      event_id: 58ffe6a0-591f-11f1-9390-cbb6a9cabb5f
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/9eb90d49a5fc4bbdaa56246c3b08ea0a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/9eb90d49a5fc4bbdaa56246c3b08ea0a/work/logs
        result_data_file: /var/lib/zuul/builds/9eb90d49a5fc4bbdaa56246c3b08ea0a/work/results.json
        src_root: /var/lib/zuul/builds/9eb90d49a5fc4bbdaa56246c3b08ea0a/work/src
        work_root: /var/lib/zuul/builds/9eb90d49a5fc4bbdaa56246c3b08ea0a/work
      include_vars: []
      items:
      - branch: main
        change: '2863'
        change_message: "chore(deps): update dependency opentofu/opentofu to v1.12.0\n\nThis
          PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu) | minor
          | `v1.11.5` \u2192 `v1.12.0` |\n| [opentofu/opentofu](https://redirect.github.com/opentofu/opentofu)
          | minor | `1.11.5` \u2192 `1.12.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>opentofu/opentofu
          (opentofu/opentofu)</summary>\n\n### [`v1.12.0`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.12.0)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.8...v1.12.0)\n\n###
          OpenTofu 1.12.0\n\nWe're proud to announce that OpenTofu 1.12.0 is now officially
          available! \U0001F389\n\n#### Highlights\n\nThis release cycle introduces
          major new capabilities and integrations:\n\n##### Dynamic `prevent_destroy`\n\nOpenTofu
          v1.12.0 now allows `prevent_destroy` to be defined dynamically in terms
          of other values available elsewhere in the same module. For example:\n\n```hcl\nvariable
          \"prevent_destroy_database\" {\n  type    = bool\n  default = true\n}\n\nresource
          \"example_database\" \"example\" {\n  # ...\n\n  lifecycle {\n    prevent_destroy
          = var.prevent_destroy_database\n  }\n}\n```\n\n##### Provider Checksum Improvements\n\nThe
          default provider installation behavior in OpenTofu is designed to mostly
          \"just work\" by getting the needed providers installed and making the necessary
          changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
          but in previous versions friction appeared for any teams using many of the
          non-default installation settings such as the shared provider plugin cache,
          or local mirrors of upstream providers.\n\nFor OpenTofu v1.12, OpenTofu
          Registry now provides a full set of official checksums in all of the checksum
          formats needed by other installation methods. This means that after running
          `tofu init` the dependency lock file will immediately have all of the information
          required to successfully use a global plugin cache directory and to verify
          matching packages served from a local mirror, without needing to run `tofu
          providers lock` separately.\n\n##### Simultaneous Human-readable and Machine-readable
          Output\n\nMany OpenTofu commands support both human-oriented UI output and
          machine-readable JSON output, but previously those commands could be run
          with only one or the other. This was bothersome for those implementing alternative
          UIs in terms of the machine-readable output because it meant they would
          need to implement all possible features of the UI before their tool could
          actually be used.\n\nOpenTofu v1.12.0 introduces a new option `-json-into=FILENAME`,
          which produces the same output format that `-json` would have produced but
          sends that output to the given filename instead of to the standard output
          stream. The OpenTofu UI output then appears on the standard output stream
          as normal, so that software interpreting the JSON output can behave as just
          a supplement to the normal UI rather than a complete replacement.\n\n#####
          New `destroy` lifecycle meta-argument\n\nThe new `destroy = false` lifecycle
          option for managed resources allows removing an object from the state without
          first destroying the remote object.\n\n#### Deprecation Notices\n\n#####
          WinRM for Provisioners is Now Deprecated\n\nSome of the Go libraries that
          OpenTofu uses for WinRM connection support in provisioners have become unmaintained
          over time, and so unfortunately we are phasing out support for WinRM in
          OpenTofu starting with deprecation warnings in this release.\n\nIf your
          configuration includes a `connection` block with `type = \"winrm\"` then
          OpenTofu v1.12 will warn that this connection type is deprecated, but provisioning
          should otherwise still work as it did before.\n\nWe intend to remove WinRM
          support completely in the forthcoming OpenTofu v1.13 series, and so if you
          are currently relying on WinRM support we recommend that you begin planning
          to migrate to using [OpenSSH for Windows](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)
          instead.\n\n##### Phasing Out Support for 32-bit CPU Architectures\n\nWe
          are also planning to stop producing official releases for 32-bit CPU architectures
          (`386` and `arm`) in a future version of OpenTofu. Support for 64-bit architectures
          (`amd64` and `arm64`) is unaffected.\n\nOpenTofu v1.12 does not include
          any changes to CPU support yet, but we expect that the official builds in
          the forthcoming v1.13 series will begin producing warnings when running
          on 32-bit CPU architectures, before we stop producing those packages altogether
          in a future release series.\n\n#### Compatibility Notes\n\n- macOS: Requires
          macOS 12 Monterey or later\n- The `OPENTOFU_USER_AGENT` environment variable,
          which allowed fully overriding the default User-Agent header on all HTTP
          requests, has been removed.\n- On Unix systems OpenTofu now considers the
          `BROWSER` environment variable as a possible override for the default behavior
          for launching a web browser. If you run OpenTofu in a context where an environment
          variable of that name is already set, it may cause OpenTofu to now open
          a web browser in a different way than previous versions would have. Unsetting
          that environment variable will restore the previous platform-specific behavior.\n\n####
          Reference\n\n- [Full Changelog](https://redirect.github.com/opentofu/opentofu/blob/v1.12/CHANGELOG.md)\n-
          [Blog Post](https://opentofu.org/blog/opentofu-1-12-0)\n\nThank you for
          your continued support and testing of the OpenTofu project!\n\n### [`v1.11.8`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.8)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8)\n\n####
          SECURITY ADVISORIES:\n\n- Previous releases in the v1.11 series could potentially
          take an excessive amount of time and send extraneous data to an HTTP2 server
          that specifies a maximum frame size of zero. This is now fixed. ([#&#8203;4094](https://redirect.github.com/opentofu/opentofu/issues/4094))\n\n
          \ An attacker that can coerce an operator to install a dependency from an
          attacker-controlled server could use this to cause unexpected resource consumption
          during `tofu init`.\n\n**Full Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.7...v1.11.8>\n\n###
          [`v1.11.7`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.7)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7)\n\n####
          BUG FIXES:\n\n- When installing provider packages into a local cache directory,
          the installer will now return an error if a conflicting entry is already
          present in the cache that doesn't match the expected checksum. Previously
          OpenTofu would just silently write over the existing entry in that case.
          ([#&#8203;4082](https://redirect.github.com/opentofu/opentofu/pull/4082))\n\n**Full
          Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.6...v1.11.7>\n\n###
          [`v1.11.6`](https://redirect.github.com/opentofu/opentofu/releases/tag/v1.11.6)\n\n[Compare
          Source](https://redirect.github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6)\n\n#####
          BUG FIXES:\n\n- Running `tofu apply -refresh-only` with a configuration
          that contains ephemeral resources does not fail anymore because the refresh
          produced changes ([#&#8203;3776](https://redirect.github.com/opentofu/opentofu/issues/3776))\n-
          Fixed `tofu init` crashing when a module `version` uses a variable and the
          module is referenced from a test file. ([#&#8203;3686](https://redirect.github.com/opentofu/opentofu/issues/3686))\n-
          Fixed provider-defined functions in `import` block `id` expressions causing
          \"BUG: Uninitialized function provider\" error. ([#&#8203;3803](https://redirect.github.com/opentofu/opentofu/issues/3803))\n-
          `tofu test` no longer fails during cleanup when using a mocked version of
          a resource type with write-only attributes. ([#&#8203;3964](https://redirect.github.com/opentofu/opentofu/issues/3964))\n-
          A malicious remote TLS server can no longer deadlock OpenTofu by sending
          multiple key update messages in a single record. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n-
          When installing module packages from \"tar\" archives, OpenTofu now accepts
          only a limited number of sparse file entries to avoid unbounded memory usage
          from maliciously-crafted archives containing many sparse regions. ([#&#8203;3966](https://redirect.github.com/opentofu/opentofu/pull/3966))\n\n**Full
          Changelog**: <https://github.com/opentofu/opentofu/compare/v1.11.5...v1.11.6>\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - 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 these updates 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/testbed).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xODUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/testbed/pull/2863
        commit_id: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
        patchset: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          name: osism/testbed
          short_name: testbed
          src_dir: src/github.com/osism/testbed
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IG9wZW50b2Z1L29wZW50b2Z1IHRvIHYxLjEyLjAKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVXBkYXRlIHwgQ2hhbmdlIHwKfC0tLXwtLS18LS0tfAp8IFtvcGVudG9mdS9vcGVudG9mdV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1KSB8IG1pbm9yIHwgYHYxLjExLjVgIOKGkiBgdjEuMTIuMGAgfAp8IFtvcGVudG9mdS9vcGVudG9mdV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1KSB8IG1pbm9yIHwgYDEuMTEuNWAg4oaSIGAxLjEyLjBgIHwKCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5vcGVudG9mdS9vcGVudG9mdSAob3BlbnRvZnUvb3BlbnRvZnUpPC9zdW1tYXJ5PgoKIyMjIFtgdjEuMTIuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9yZWxlYXNlcy90YWcvdjEuMTIuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L2NvbXBhcmUvdjEuMTEuOC4uLnYxLjEyLjApCgojIyMgT3BlblRvZnUgMS4xMi4wCgpXZSdyZSBwcm91ZCB0byBhbm5vdW5jZSB0aGF0IE9wZW5Ub2Z1IDEuMTIuMCBpcyBub3cgb2ZmaWNpYWxseSBhdmFpbGFibGUhIPCfjokKCiMjIyMgSGlnaGxpZ2h0cwoKVGhpcyByZWxlYXNlIGN5Y2xlIGludHJvZHVjZXMgbWFqb3IgbmV3IGNhcGFiaWxpdGllcyBhbmQgaW50ZWdyYXRpb25zOgoKIyMjIyMgRHluYW1pYyBgcHJldmVudF9kZXN0cm95YAoKT3BlblRvZnUgdjEuMTIuMCBub3cgYWxsb3dzIGBwcmV2ZW50X2Rlc3Ryb3lgIHRvIGJlIGRlZmluZWQgZHluYW1pY2FsbHkgaW4gdGVybXMgb2Ygb3RoZXIgdmFsdWVzIGF2YWlsYWJsZSBlbHNld2hlcmUgaW4gdGhlIHNhbWUgbW9kdWxlLiBGb3IgZXhhbXBsZToKCmBgYGhjbAp2YXJpYWJsZSAicHJldmVudF9kZXN0cm95X2RhdGFiYXNlIiB7CiAgdHlwZSAgICA9IGJvb2wKICBkZWZhdWx0ID0gdHJ1ZQp9CgpyZXNvdXJjZSAiZXhhbXBsZV9kYXRhYmFzZSIgImV4YW1wbGUiIHsKICAjIC4uLgoKICBsaWZlY3ljbGUgewogICAgcHJldmVudF9kZXN0cm95ID0gdmFyLnByZXZlbnRfZGVzdHJveV9kYXRhYmFzZQogIH0KfQpgYGAKCiMjIyMjIFByb3ZpZGVyIENoZWNrc3VtIEltcHJvdmVtZW50cwoKVGhlIGRlZmF1bHQgcHJvdmlkZXIgaW5zdGFsbGF0aW9uIGJlaGF2aW9yIGluIE9wZW5Ub2Z1IGlzIGRlc2lnbmVkIHRvIG1vc3RseSAianVzdCB3b3JrIiBieSBnZXR0aW5nIHRoZSBuZWVkZWQgcHJvdmlkZXJzIGluc3RhbGxlZCBhbmQgbWFraW5nIHRoZSBuZWNlc3NhcnkgY2hhbmdlcyB0byBbdGhlIGRlcGVuZGVuY3kgbG9jayBmaWxlXShodHRwczovL29wZW50b2Z1Lm9yZy9kb2NzL2xhbmd1YWdlL2ZpbGVzL2RlcGVuZGVuY3ktbG9jay8pLCBidXQgaW4gcHJldmlvdXMgdmVyc2lvbnMgZnJpY3Rpb24gYXBwZWFyZWQgZm9yIGFueSB0ZWFtcyB1c2luZyBtYW55IG9mIHRoZSBub24tZGVmYXVsdCBpbnN0YWxsYXRpb24gc2V0dGluZ3Mgc3VjaCBhcyB0aGUgc2hhcmVkIHByb3ZpZGVyIHBsdWdpbiBjYWNoZSwgb3IgbG9jYWwgbWlycm9ycyBvZiB1cHN0cmVhbSBwcm92aWRlcnMuCgpGb3IgT3BlblRvZnUgdjEuMTIsIE9wZW5Ub2Z1IFJlZ2lzdHJ5IG5vdyBwcm92aWRlcyBhIGZ1bGwgc2V0IG9mIG9mZmljaWFsIGNoZWNrc3VtcyBpbiBhbGwgb2YgdGhlIGNoZWNrc3VtIGZvcm1hdHMgbmVlZGVkIGJ5IG90aGVyIGluc3RhbGxhdGlvbiBtZXRob2RzLiBUaGlzIG1lYW5zIHRoYXQgYWZ0ZXIgcnVubmluZyBgdG9mdSBpbml0YCB0aGUgZGVwZW5kZW5jeSBsb2NrIGZpbGUgd2lsbCBpbW1lZGlhdGVseSBoYXZlIGFsbCBvZiB0aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gc3VjY2Vzc2Z1bGx5IHVzZSBhIGdsb2JhbCBwbHVnaW4gY2FjaGUgZGlyZWN0b3J5IGFuZCB0byB2ZXJpZnkgbWF0Y2hpbmcgcGFja2FnZXMgc2VydmVkIGZyb20gYSBsb2NhbCBtaXJyb3IsIHdpdGhvdXQgbmVlZGluZyB0byBydW4gYHRvZnUgcHJvdmlkZXJzIGxvY2tgIHNlcGFyYXRlbHkuCgojIyMjIyBTaW11bHRhbmVvdXMgSHVtYW4tcmVhZGFibGUgYW5kIE1hY2hpbmUtcmVhZGFibGUgT3V0cHV0CgpNYW55IE9wZW5Ub2Z1IGNvbW1hbmRzIHN1cHBvcnQgYm90aCBodW1hbi1vcmllbnRlZCBVSSBvdXRwdXQgYW5kIG1hY2hpbmUtcmVhZGFibGUgSlNPTiBvdXRwdXQsIGJ1dCBwcmV2aW91c2x5IHRob3NlIGNvbW1hbmRzIGNvdWxkIGJlIHJ1biB3aXRoIG9ubHkgb25lIG9yIHRoZSBvdGhlci4gVGhpcyB3YXMgYm90aGVyc29tZSBmb3IgdGhvc2UgaW1wbGVtZW50aW5nIGFsdGVybmF0aXZlIFVJcyBpbiB0ZXJtcyBvZiB0aGUgbWFjaGluZS1yZWFkYWJsZSBvdXRwdXQgYmVjYXVzZSBpdCBtZWFudCB0aGV5IHdvdWxkIG5lZWQgdG8gaW1wbGVtZW50IGFsbCBwb3NzaWJsZSBmZWF0dXJlcyBvZiB0aGUgVUkgYmVmb3JlIHRoZWlyIHRvb2wgY291bGQgYWN0dWFsbHkgYmUgdXNlZC4KCk9wZW5Ub2Z1IHYxLjEyLjAgaW50cm9kdWNlcyBhIG5ldyBvcHRpb24gYC1qc29uLWludG89RklMRU5BTUVgLCB3aGljaCBwcm9kdWNlcyB0aGUgc2FtZSBvdXRwdXQgZm9ybWF0IHRoYXQgYC1qc29uYCB3b3VsZCBoYXZlIHByb2R1Y2VkIGJ1dCBzZW5kcyB0aGF0IG91dHB1dCB0byB0aGUgZ2l2ZW4gZmlsZW5hbWUgaW5zdGVhZCBvZiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHN0cmVhbS4gVGhlIE9wZW5Ub2Z1IFVJIG91dHB1dCB0aGVuIGFwcGVhcnMgb24gdGhlIHN0YW5kYXJkIG91dHB1dCBzdHJlYW0gYXMgbm9ybWFsLCBzbyB0aGF0IHNvZnR3YXJlIGludGVycHJldGluZyB0aGUgSlNPTiBvdXRwdXQgY2FuIGJlaGF2ZSBhcyBqdXN0IGEgc3VwcGxlbWVudCB0byB0aGUgbm9ybWFsIFVJIHJhdGhlciB0aGFuIGEgY29tcGxldGUgcmVwbGFjZW1lbnQuCgojIyMjIyBOZXcgYGRlc3Ryb3lgIGxpZmVjeWNsZSBtZXRhLWFyZ3VtZW50CgpUaGUgbmV3IGBkZXN0cm95ID0gZmFsc2VgIGxpZmVjeWNsZSBvcHRpb24gZm9yIG1hbmFnZWQgcmVzb3VyY2VzIGFsbG93cyByZW1vdmluZyBhbiBvYmplY3QgZnJvbSB0aGUgc3RhdGUgd2l0aG91dCBmaXJzdCBkZXN0cm95aW5nIHRoZSByZW1vdGUgb2JqZWN0LgoKIyMjIyBEZXByZWNhdGlvbiBOb3RpY2VzCgojIyMjIyBXaW5STSBmb3IgUHJvdmlzaW9uZXJzIGlzIE5vdyBEZXByZWNhdGVkCgpTb21lIG9mIHRoZSBHbyBsaWJyYXJpZXMgdGhhdCBPcGVuVG9mdSB1c2VzIGZvciBXaW5STSBjb25uZWN0aW9uIHN1cHBvcnQgaW4gcHJvdmlzaW9uZXJzIGhhdmUgYmVjb21lIHVubWFpbnRhaW5lZCBvdmVyIHRpbWUsIGFuZCBzbyB1bmZvcnR1bmF0ZWx5IHdlIGFyZSBwaGFzaW5nIG91dCBzdXBwb3J0IGZvciBXaW5STSBpbiBPcGVuVG9mdSBzdGFydGluZyB3aXRoIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHRoaXMgcmVsZWFzZS4KCklmIHlvdXIgY29uZmlndXJhdGlvbiBpbmNsdWRlcyBhIGBjb25uZWN0aW9uYCBibG9jayB3aXRoIGB0eXBlID0gIndpbnJtImAgdGhlbiBPcGVuVG9mdSB2MS4xMiB3aWxsIHdhcm4gdGhhdCB0aGlzIGNvbm5lY3Rpb24gdHlwZSBpcyBkZXByZWNhdGVkLCBidXQgcHJvdmlzaW9uaW5nIHNob3VsZCBvdGhlcndpc2Ugc3RpbGwgd29yayBhcyBpdCBkaWQgYmVmb3JlLgoKV2UgaW50ZW5kIHRvIHJlbW92ZSBXaW5STSBzdXBwb3J0IGNvbXBsZXRlbHkgaW4gdGhlIGZvcnRoY29taW5nIE9wZW5Ub2Z1IHYxLjEzIHNlcmllcywgYW5kIHNvIGlmIHlvdSBhcmUgY3VycmVudGx5IHJlbHlpbmcgb24gV2luUk0gc3VwcG9ydCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgYmVnaW4gcGxhbm5pbmcgdG8gbWlncmF0ZSB0byB1c2luZyBbT3BlblNTSCBmb3IgV2luZG93c10oaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL3dpbmRvd3Mtc2VydmVyL2FkbWluaXN0cmF0aW9uL29wZW5zc2gvb3BlbnNzaF9pbnN0YWxsX2ZpcnN0dXNlKSBpbnN0ZWFkLgoKIyMjIyMgUGhhc2luZyBPdXQgU3VwcG9ydCBmb3IgMzItYml0IENQVSBBcmNoaXRlY3R1cmVzCgpXZSBhcmUgYWxzbyBwbGFubmluZyB0byBzdG9wIHByb2R1Y2luZyBvZmZpY2lhbCByZWxlYXNlcyBmb3IgMzItYml0IENQVSBhcmNoaXRlY3R1cmVzIChgMzg2YCBhbmQgYGFybWApIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgT3BlblRvZnUuIFN1cHBvcnQgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzIChgYW1kNjRgIGFuZCBgYXJtNjRgKSBpcyB1bmFmZmVjdGVkLgoKT3BlblRvZnUgdjEuMTIgZG9lcyBub3QgaW5jbHVkZSBhbnkgY2hhbmdlcyB0byBDUFUgc3VwcG9ydCB5ZXQsIGJ1dCB3ZSBleHBlY3QgdGhhdCB0aGUgb2ZmaWNpYWwgYnVpbGRzIGluIHRoZSBmb3J0aGNvbWluZyB2MS4xMyBzZXJpZXMgd2lsbCBiZWdpbiBwcm9kdWNpbmcgd2FybmluZ3Mgd2hlbiBydW5uaW5nIG9uIDMyLWJpdCBDUFUgYXJjaGl0ZWN0dXJlcywgYmVmb3JlIHdlIHN0b3AgcHJvZHVjaW5nIHRob3NlIHBhY2thZ2VzIGFsdG9nZXRoZXIgaW4gYSBmdXR1cmUgcmVsZWFzZSBzZXJpZXMuCgojIyMjIENvbXBhdGliaWxpdHkgTm90ZXMKCi0gbWFjT1M6IFJlcXVpcmVzIG1hY09TIDEyIE1vbnRlcmV5IG9yIGxhdGVyCi0gVGhlIGBPUEVOVE9GVV9VU0VSX0FHRU5UYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgd2hpY2ggYWxsb3dlZCBmdWxseSBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IFVzZXItQWdlbnQgaGVhZGVyIG9uIGFsbCBIVFRQIHJlcXVlc3RzLCBoYXMgYmVlbiByZW1vdmVkLgotIE9uIFVuaXggc3lzdGVtcyBPcGVuVG9mdSBub3cgY29uc2lkZXJzIHRoZSBgQlJPV1NFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUgYXMgYSBwb3NzaWJsZSBvdmVycmlkZSBmb3IgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGxhdW5jaGluZyBhIHdlYiBicm93c2VyLiBJZiB5b3UgcnVuIE9wZW5Ub2Z1IGluIGEgY29udGV4dCB3aGVyZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBvZiB0aGF0IG5hbWUgaXMgYWxyZWFkeSBzZXQsIGl0IG1heSBjYXVzZSBPcGVuVG9mdSB0byBub3cgb3BlbiBhIHdlYiBicm93c2VyIGluIGEgZGlmZmVyZW50IHdheSB0aGFuIHByZXZpb3VzIHZlcnNpb25zIHdvdWxkIGhhdmUuIFVuc2V0dGluZyB0aGF0IGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgcmVzdG9yZSB0aGUgcHJldmlvdXMgcGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IuCgojIyMjIFJlZmVyZW5jZQoKLSBbRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9ibG9iL3YxLjEyL0NIQU5HRUxPRy5tZCkKLSBbQmxvZyBQb3N0XShodHRwczovL29wZW50b2Z1Lm9yZy9ibG9nL29wZW50b2Z1LTEtMTItMCkKClRoYW5rIHlvdSBmb3IgeW91ciBjb250aW51ZWQgc3VwcG9ydCBhbmQgdGVzdGluZyBvZiB0aGUgT3BlblRvZnUgcHJvamVjdCEKCiMjIyBbYHYxLjExLjhgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvcmVsZWFzZXMvdGFnL3YxLjExLjgpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjcuLi52MS4xMS44KQoKIyMjIyBTRUNVUklUWSBBRFZJU09SSUVTOgoKLSBQcmV2aW91cyByZWxlYXNlcyBpbiB0aGUgdjEuMTEgc2VyaWVzIGNvdWxkIHBvdGVudGlhbGx5IHRha2UgYW4gZXhjZXNzaXZlIGFtb3VudCBvZiB0aW1lIGFuZCBzZW5kIGV4dHJhbmVvdXMgZGF0YSB0byBhbiBIVFRQMiBzZXJ2ZXIgdGhhdCBzcGVjaWZpZXMgYSBtYXhpbXVtIGZyYW1lIHNpemUgb2YgemVyby4gVGhpcyBpcyBub3cgZml4ZWQuIChbIyYjODIwMzs0MDk0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvaXNzdWVzLzQwOTQpKQoKICBBbiBhdHRhY2tlciB0aGF0IGNhbiBjb2VyY2UgYW4gb3BlcmF0b3IgdG8gaW5zdGFsbCBhIGRlcGVuZGVuY3kgZnJvbSBhbiBhdHRhY2tlci1jb250cm9sbGVkIHNlcnZlciBjb3VsZCB1c2UgdGhpcyB0byBjYXVzZSB1bmV4cGVjdGVkIHJlc291cmNlIGNvbnN1bXB0aW9uIGR1cmluZyBgdG9mdSBpbml0YC4KCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjcuLi52MS4xMS44PgoKIyMjIFtgdjEuMTEuN2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9yZWxlYXNlcy90YWcvdjEuMTEuNykKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L2NvbXBhcmUvdjEuMTEuNi4uLnYxLjExLjcpCgojIyMjIEJVRyBGSVhFUzoKCi0gV2hlbiBpbnN0YWxsaW5nIHByb3ZpZGVyIHBhY2thZ2VzIGludG8gYSBsb2NhbCBjYWNoZSBkaXJlY3RvcnksIHRoZSBpbnN0YWxsZXIgd2lsbCBub3cgcmV0dXJuIGFuIGVycm9yIGlmIGEgY29uZmxpY3RpbmcgZW50cnkgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBjYWNoZSB0aGF0IGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGNoZWNrc3VtLiBQcmV2aW91c2x5IE9wZW5Ub2Z1IHdvdWxkIGp1c3Qgc2lsZW50bHkgd3JpdGUgb3ZlciB0aGUgZXhpc3RpbmcgZW50cnkgaW4gdGhhdCBjYXNlLiAoWyMmIzgyMDM7NDA4Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L3B1bGwvNDA4MikpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvY29tcGFyZS92MS4xMS42Li4udjEuMTEuNz4KCiMjIyBbYHYxLjExLjZgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvcmVsZWFzZXMvdGFnL3YxLjExLjYpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjUuLi52MS4xMS42KQoKIyMjIyMgQlVHIEZJWEVTOgoKLSBSdW5uaW5nIGB0b2Z1IGFwcGx5IC1yZWZyZXNoLW9ubHlgIHdpdGggYSBjb25maWd1cmF0aW9uIHRoYXQgY29udGFpbnMgZXBoZW1lcmFsIHJlc291cmNlcyBkb2VzIG5vdCBmYWlsIGFueW1vcmUgYmVjYXVzZSB0aGUgcmVmcmVzaCBwcm9kdWNlZCBjaGFuZ2VzIChbIyYjODIwMzszNzc2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvaXNzdWVzLzM3NzYpKQotIEZpeGVkIGB0b2Z1IGluaXRgIGNyYXNoaW5nIHdoZW4gYSBtb2R1bGUgYHZlcnNpb25gIHVzZXMgYSB2YXJpYWJsZSBhbmQgdGhlIG1vZHVsZSBpcyByZWZlcmVuY2VkIGZyb20gYSB0ZXN0IGZpbGUuIChbIyYjODIwMzszNjg2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvaXNzdWVzLzM2ODYpKQotIEZpeGVkIHByb3ZpZGVyLWRlZmluZWQgZnVuY3Rpb25zIGluIGBpbXBvcnRgIGJsb2NrIGBpZGAgZXhwcmVzc2lvbnMgY2F1c2luZyAiQlVHOiBVbmluaXRpYWxpemVkIGZ1bmN0aW9uIHByb3ZpZGVyIiBlcnJvci4gKFsjJiM4MjAzOzM4MDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9pc3N1ZXMvMzgwMykpCi0gYHRvZnUgdGVzdGAgbm8gbG9uZ2VyIGZhaWxzIGR1cmluZyBjbGVhbnVwIHdoZW4gdXNpbmcgYSBtb2NrZWQgdmVyc2lvbiBvZiBhIHJlc291cmNlIHR5cGUgd2l0aCB3cml0ZS1vbmx5IGF0dHJpYnV0ZXMuIChbIyYjODIwMzszOTY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvaXNzdWVzLzM5NjQpKQotIEEgbWFsaWNpb3VzIHJlbW90ZSBUTFMgc2VydmVyIGNhbiBubyBsb25nZXIgZGVhZGxvY2sgT3BlblRvZnUgYnkgc2VuZGluZyBtdWx0aXBsZSBrZXkgdXBkYXRlIG1lc3NhZ2VzIGluIGEgc2luZ2xlIHJlY29yZC4gKFsjJiM4MjAzOzM5NjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9wdWxsLzM5NjYpKQotIFdoZW4gaW5zdGFsbGluZyBtb2R1bGUgcGFja2FnZXMgZnJvbSAidGFyIiBhcmNoaXZlcywgT3BlblRvZnUgbm93IGFjY2VwdHMgb25seSBhIGxpbWl0ZWQgbnVtYmVyIG9mIHNwYXJzZSBmaWxlIGVudHJpZXMgdG8gYXZvaWQgdW5ib3VuZGVkIG1lbW9yeSB1c2FnZSBmcm9tIG1hbGljaW91c2x5LWNyYWZ0ZWQgYXJjaGl2ZXMgY29udGFpbmluZyBtYW55IHNwYXJzZSByZWdpb25zLiAoWyMmIzgyMDM7Mzk2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L3B1bGwvMzk2NikpCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvY29tcGFyZS92MS4xMS41Li4udjEuMTEuNj4KCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiAoVVRDKQoKLSBCcmFuY2ggY3JlYXRpb24KICAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKQotIEF1dG9tZXJnZQogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoZXNlIHVwZGF0ZXMgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vdGVzdGJlZCkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNeTR4TURJdU1URWlMQ0oxY0dSaGRHVmtTVzVXWlhJaU9pSTBNeTR4T0RVdU1TSXNJblJoY21kbGRFSnlZVzVqYUNJNkltMWhhVzRpTENKc1lXSmxiSE1pT2xzaWNtVnViM1poZEdVaVhYMD0tLT4K
      patchset: a0e812bdc93d26f06eb1791de8b86e0fdfc06d35
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 019f0261a526db7d8989ff1abefc2299a8c0ffbc
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-lint/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/testbed
        name: osism/testbed
        short_name: testbed
        src_dir: src/github.com/osism/testbed
      projects:
        github.com/osism/testbed:
          canonical_hostname: github.com
          canonical_name: github.com/osism/testbed
          checkout: main
          checkout_description: zuul branch
          commit: b8be59c0fcdb8334d807c610d56faa6d09faa023
          name: osism/testbed
          required: false
          short_name: testbed
          src_dir: src/github.com/osism/testbed
      ref: refs/pull/2863/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
