all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:feeb:aa7
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: 01d99151-257f-49cf-8848-2a45f9e4fc27
        host_id: 4667d18e0398acd2fb730ad41ba32e35789c4ac8cd4c0875d25b316b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:feeb:aa7
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.89
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.179
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:feeb:aa7
        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: 0e4f28230f124ab89c351694ae992661
      build_refs:
      - branch: main
        change: '2863'
        change_message: "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-beta1)\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\nmaking the
          necessary changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
          but in previous versions\nfriction 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.\nThis means that after running
          `tofu init` the dependency lock file will immediately have all of the information
          required to successfully use a global\nplugin 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.\nThis was bothersome for those implementing
          alternative UIs in terms of the machine-readable output because it meant
          they would need to implement all possible\nfeatures 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\nto 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\nsoftware 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\nout
          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,\nbut 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\nrecommend
          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.\nSupport 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\nwhen 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.\n  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.\n  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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xNzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/testbed/pull/2863
        commit_id: f12f96f4bb303a6d8d83d555733af594000b5836
        patchset: f12f96f4bb303a6d8d83d555733af594000b5836
        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: 81f02fe0198648c5af435406c7b6770e
      buildset_refs:
      - branch: main
        change: '2863'
        change_message: "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-beta1)\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\nmaking the
          necessary changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
          but in previous versions\nfriction 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.\nThis means that after running
          `tofu init` the dependency lock file will immediately have all of the information
          required to successfully use a global\nplugin 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.\nThis was bothersome for those implementing
          alternative UIs in terms of the machine-readable output because it meant
          they would need to implement all possible\nfeatures 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\nto 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\nsoftware 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\nout
          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,\nbut 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\nrecommend
          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.\nSupport 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\nwhen 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.\n  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.\n  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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xNzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/testbed/pull/2863
        commit_id: f12f96f4bb303a6d8d83d555733af594000b5836
        patchset: f12f96f4bb303a6d8d83d555733af594000b5836
        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: "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-beta1)\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\nmaking the necessary
        changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
        but in previous versions\nfriction 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.\nThis means that after running `tofu
        init` the dependency lock file will immediately have all of the information
        required to successfully use a global\nplugin 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.\nThis was bothersome for those implementing alternative
        UIs in terms of the machine-readable output because it meant they would need
        to implement all possible\nfeatures 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\nto 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\nsoftware 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\nout 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,\nbut 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\nrecommend 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.\nSupport 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\nwhen 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.\n  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.\n  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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xNzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
      change_url: https://github.com/osism/testbed/pull/2863
      child_jobs: []
      commit_id: f12f96f4bb303a6d8d83d555733af594000b5836
      event_id: 7e3e54f0-4f9d-11f1-9341-69d52c3f7634
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/0e4f28230f124ab89c351694ae992661/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/0e4f28230f124ab89c351694ae992661/work/logs
        result_data_file: /var/lib/zuul/builds/0e4f28230f124ab89c351694ae992661/work/results.json
        src_root: /var/lib/zuul/builds/0e4f28230f124ab89c351694ae992661/work/src
        work_root: /var/lib/zuul/builds/0e4f28230f124ab89c351694ae992661/work
      include_vars: []
      items:
      - branch: main
        change: '2863'
        change_message: "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-beta1)\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\nmaking the
          necessary changes to [the dependency lock file](https://opentofu.org/docs/language/files/dependency-lock/),
          but in previous versions\nfriction 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.\nThis means that after running
          `tofu init` the dependency lock file will immediately have all of the information
          required to successfully use a global\nplugin 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.\nThis was bothersome for those implementing
          alternative UIs in terms of the machine-readable output because it meant
          they would need to implement all possible\nfeatures 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\nto 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\nsoftware 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\nout
          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,\nbut 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\nrecommend
          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.\nSupport 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\nwhen 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.\n  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.\n  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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTEiLCJ1cGRhdGVkSW5WZXIiOiI0My4xNzMuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/testbed/pull/2863
        commit_id: f12f96f4bb303a6d8d83d555733af594000b5836
        patchset: f12f96f4bb303a6d8d83d555733af594000b5836
        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: VXBkYXRlIGRlcGVuZGVuY3kgb3BlbnRvZnUvb3BlbnRvZnUgdG8gdjEuMTIuMAoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBVcGRhdGUgfCBDaGFuZ2UgfAp8LS0tfC0tLXwtLS18CnwgW29wZW50b2Z1L29wZW50b2Z1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUpIHwgbWlub3IgfCBgdjEuMTEuNWAg4oaSIGB2MS4xMi4wYCB8CnwgW29wZW50b2Z1L29wZW50b2Z1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUpIHwgbWlub3IgfCBgMS4xMS41YCDihpIgYDEuMTIuMGAgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5Pm9wZW50b2Z1L29wZW50b2Z1IChvcGVudG9mdS9vcGVudG9mdSk8L3N1bW1hcnk+CgojIyMgW2B2MS4xMi4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L3JlbGVhc2VzL3RhZy92MS4xMi4wKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvY29tcGFyZS92MS4xMS44Li4udjEuMTIuMC1iZXRhMSkKCiMjIyBPcGVuVG9mdSAxLjEyLjAKCldlJ3JlIHByb3VkIHRvIGFubm91bmNlIHRoYXQgT3BlblRvZnUgMS4xMi4wIGlzIG5vdyBvZmZpY2lhbGx5IGF2YWlsYWJsZSEg8J+OiQoKIyMjIyBIaWdobGlnaHRzCgpUaGlzIHJlbGVhc2UgY3ljbGUgaW50cm9kdWNlcyBtYWpvciBuZXcgY2FwYWJpbGl0aWVzIGFuZCBpbnRlZ3JhdGlvbnM6CgojIyMjIyBEeW5hbWljIGBwcmV2ZW50X2Rlc3Ryb3lgCgpPcGVuVG9mdSB2MS4xMi4wIG5vdyBhbGxvd3MgYHByZXZlbnRfZGVzdHJveWAgdG8gYmUgZGVmaW5lZCBkeW5hbWljYWxseSBpbiB0ZXJtcyBvZiBvdGhlciB2YWx1ZXMgYXZhaWxhYmxlIGVsc2V3aGVyZSBpbiB0aGUgc2FtZSBtb2R1bGUuIEZvciBleGFtcGxlOgoKYGBgaGNsCnZhcmlhYmxlICJwcmV2ZW50X2Rlc3Ryb3lfZGF0YWJhc2UiIHsKICB0eXBlICAgID0gYm9vbAogIGRlZmF1bHQgPSB0cnVlCn0KCnJlc291cmNlICJleGFtcGxlX2RhdGFiYXNlIiAiZXhhbXBsZSIgewogICMgLi4uCgogIGxpZmVjeWNsZSB7CiAgICBwcmV2ZW50X2Rlc3Ryb3kgPSB2YXIucHJldmVudF9kZXN0cm95X2RhdGFiYXNlCiAgfQp9CmBgYAoKIyMjIyMgUHJvdmlkZXIgQ2hlY2tzdW0gSW1wcm92ZW1lbnRzCgpUaGUgZGVmYXVsdCBwcm92aWRlciBpbnN0YWxsYXRpb24gYmVoYXZpb3IgaW4gT3BlblRvZnUgaXMgZGVzaWduZWQgdG8gbW9zdGx5ICJqdXN0IHdvcmsiIGJ5IGdldHRpbmcgdGhlIG5lZWRlZCBwcm92aWRlcnMgaW5zdGFsbGVkIGFuZAptYWtpbmcgdGhlIG5lY2Vzc2FyeSBjaGFuZ2VzIHRvIFt0aGUgZGVwZW5kZW5jeSBsb2NrIGZpbGVdKGh0dHBzOi8vb3BlbnRvZnUub3JnL2RvY3MvbGFuZ3VhZ2UvZmlsZXMvZGVwZW5kZW5jeS1sb2NrLyksIGJ1dCBpbiBwcmV2aW91cyB2ZXJzaW9ucwpmcmljdGlvbiBhcHBlYXJlZCBmb3IgYW55IHRlYW1zIHVzaW5nIG1hbnkgb2YgdGhlIG5vbi1kZWZhdWx0IGluc3RhbGxhdGlvbiBzZXR0aW5ncyBzdWNoIGFzIHRoZSBzaGFyZWQgcHJvdmlkZXIgcGx1Z2luIGNhY2hlLCBvciBsb2NhbCBtaXJyb3JzIG9mIHVwc3RyZWFtIHByb3ZpZGVycy4KCkZvciBPcGVuVG9mdSB2MS4xMiwgT3BlblRvZnUgUmVnaXN0cnkgbm93IHByb3ZpZGVzIGEgZnVsbCBzZXQgb2Ygb2ZmaWNpYWwgY2hlY2tzdW1zIGluIGFsbCBvZiB0aGUgY2hlY2tzdW0gZm9ybWF0cyBuZWVkZWQgYnkgb3RoZXIgaW5zdGFsbGF0aW9uIG1ldGhvZHMuClRoaXMgbWVhbnMgdGhhdCBhZnRlciBydW5uaW5nIGB0b2Z1IGluaXRgIHRoZSBkZXBlbmRlbmN5IGxvY2sgZmlsZSB3aWxsIGltbWVkaWF0ZWx5IGhhdmUgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBzdWNjZXNzZnVsbHkgdXNlIGEgZ2xvYmFsCnBsdWdpbiBjYWNoZSBkaXJlY3RvcnkgYW5kIHRvIHZlcmlmeSBtYXRjaGluZyBwYWNrYWdlcyBzZXJ2ZWQgZnJvbSBhIGxvY2FsIG1pcnJvciwgd2l0aG91dCBuZWVkaW5nIHRvIHJ1biBgdG9mdSBwcm92aWRlcnMgbG9ja2Agc2VwYXJhdGVseS4KCiMjIyMjIFNpbXVsdGFuZW91cyBIdW1hbi1yZWFkYWJsZSBhbmQgTWFjaGluZS1yZWFkYWJsZSBPdXRwdXQKCk1hbnkgT3BlblRvZnUgY29tbWFuZHMgc3VwcG9ydCBib3RoIGh1bWFuLW9yaWVudGVkIFVJIG91dHB1dCBhbmQgbWFjaGluZS1yZWFkYWJsZSBKU09OIG91dHB1dCwgYnV0IHByZXZpb3VzbHkgdGhvc2UgY29tbWFuZHMgY291bGQgYmUgcnVuIHdpdGggb25seSBvbmUgb3IgdGhlIG90aGVyLgpUaGlzIHdhcyBib3RoZXJzb21lIGZvciB0aG9zZSBpbXBsZW1lbnRpbmcgYWx0ZXJuYXRpdmUgVUlzIGluIHRlcm1zIG9mIHRoZSBtYWNoaW5lLXJlYWRhYmxlIG91dHB1dCBiZWNhdXNlIGl0IG1lYW50IHRoZXkgd291bGQgbmVlZCB0byBpbXBsZW1lbnQgYWxsIHBvc3NpYmxlCmZlYXR1cmVzIG9mIHRoZSBVSSBiZWZvcmUgdGhlaXIgdG9vbCBjb3VsZCBhY3R1YWxseSBiZSB1c2VkLgoKT3BlblRvZnUgdjEuMTIuMCBpbnRyb2R1Y2VzIGEgbmV3IG9wdGlvbiBgLWpzb24taW50bz1GSUxFTkFNRWAsIHdoaWNoIHByb2R1Y2VzIHRoZSBzYW1lIG91dHB1dCBmb3JtYXQgdGhhdCBgLWpzb25gIHdvdWxkIGhhdmUgcHJvZHVjZWQgYnV0IHNlbmRzIHRoYXQgb3V0cHV0CnRvIHRoZSBnaXZlbiBmaWxlbmFtZSBpbnN0ZWFkIG9mIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgc3RyZWFtLiBUaGUgT3BlblRvZnUgVUkgb3V0cHV0IHRoZW4gYXBwZWFycyBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0IHN0cmVhbSBhcyBub3JtYWwsIHNvIHRoYXQKc29mdHdhcmUgaW50ZXJwcmV0aW5nIHRoZSBKU09OIG91dHB1dCBjYW4gYmVoYXZlIGFzIGp1c3QgYSBzdXBwbGVtZW50IHRvIHRoZSBub3JtYWwgVUkgcmF0aGVyIHRoYW4gYSBjb21wbGV0ZSByZXBsYWNlbWVudC4KCiMjIyMjIE5ldyBgZGVzdHJveWAgbGlmZWN5Y2xlIG1ldGEtYXJndW1lbnQKClRoZSBuZXcgYGRlc3Ryb3kgPSBmYWxzZWAgbGlmZWN5Y2xlIG9wdGlvbiBmb3IgbWFuYWdlZCByZXNvdXJjZXMgYWxsb3dzIHJlbW92aW5nIGFuIG9iamVjdCBmcm9tIHRoZSBzdGF0ZSB3aXRob3V0IGZpcnN0IGRlc3Ryb3lpbmcgdGhlIHJlbW90ZSBvYmplY3QuCgojIyMjIERlcHJlY2F0aW9uIE5vdGljZXMKCiMjIyMjIFdpblJNIGZvciBQcm92aXNpb25lcnMgaXMgTm93IERlcHJlY2F0ZWQKClNvbWUgb2YgdGhlIEdvIGxpYnJhcmllcyB0aGF0IE9wZW5Ub2Z1IHVzZXMgZm9yIFdpblJNIGNvbm5lY3Rpb24gc3VwcG9ydCBpbiBwcm92aXNpb25lcnMgaGF2ZSBiZWNvbWUgdW5tYWludGFpbmVkIG92ZXIgdGltZSwgYW5kIHNvIHVuZm9ydHVuYXRlbHkgd2UgYXJlIHBoYXNpbmcKb3V0IHN1cHBvcnQgZm9yIFdpblJNIGluIE9wZW5Ub2Z1IHN0YXJ0aW5nIHdpdGggZGVwcmVjYXRpb24gd2FybmluZ3MgaW4gdGhpcyByZWxlYXNlLgoKSWYgeW91ciBjb25maWd1cmF0aW9uIGluY2x1ZGVzIGEgYGNvbm5lY3Rpb25gIGJsb2NrIHdpdGggYHR5cGUgPSAid2lucm0iYCB0aGVuIE9wZW5Ub2Z1IHYxLjEyIHdpbGwgd2FybiB0aGF0IHRoaXMgY29ubmVjdGlvbiB0eXBlIGlzIGRlcHJlY2F0ZWQsCmJ1dCBwcm92aXNpb25pbmcgc2hvdWxkIG90aGVyd2lzZSBzdGlsbCB3b3JrIGFzIGl0IGRpZCBiZWZvcmUuCgpXZSBpbnRlbmQgdG8gcmVtb3ZlIFdpblJNIHN1cHBvcnQgY29tcGxldGVseSBpbiB0aGUgZm9ydGhjb21pbmcgT3BlblRvZnUgdjEuMTMgc2VyaWVzLCBhbmQgc28gaWYgeW91IGFyZSBjdXJyZW50bHkgcmVseWluZyBvbiBXaW5STSBzdXBwb3J0IHdlCnJlY29tbWVuZCB0aGF0IHlvdSBiZWdpbiBwbGFubmluZyB0byBtaWdyYXRlIHRvIHVzaW5nIFtPcGVuU1NIIGZvciBXaW5kb3dzXShodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvd2luZG93cy1zZXJ2ZXIvYWRtaW5pc3RyYXRpb24vb3BlbnNzaC9vcGVuc3NoX2luc3RhbGxfZmlyc3R1c2UpIGluc3RlYWQuCgojIyMjIyBQaGFzaW5nIE91dCBTdXBwb3J0IGZvciAzMi1iaXQgQ1BVIEFyY2hpdGVjdHVyZXMKCldlIGFyZSBhbHNvIHBsYW5uaW5nIHRvIHN0b3AgcHJvZHVjaW5nIG9mZmljaWFsIHJlbGVhc2VzIGZvciAzMi1iaXQgQ1BVIGFyY2hpdGVjdHVyZXMgKGAzODZgIGFuZCBgYXJtYCkgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBPcGVuVG9mdS4KU3VwcG9ydCBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMgKGBhbWQ2NGAgYW5kIGBhcm02NGApIGlzIHVuYWZmZWN0ZWQuCgpPcGVuVG9mdSB2MS4xMiBkb2VzIG5vdCBpbmNsdWRlIGFueSBjaGFuZ2VzIHRvIENQVSBzdXBwb3J0IHlldCwgYnV0IHdlIGV4cGVjdCB0aGF0IHRoZSBvZmZpY2lhbCBidWlsZHMgaW4gdGhlIGZvcnRoY29taW5nIHYxLjEzIHNlcmllcyB3aWxsIGJlZ2luIHByb2R1Y2luZyB3YXJuaW5ncwp3aGVuIHJ1bm5pbmcgb24gMzItYml0IENQVSBhcmNoaXRlY3R1cmVzLCBiZWZvcmUgd2Ugc3RvcCBwcm9kdWNpbmcgdGhvc2UgcGFja2FnZXMgYWx0b2dldGhlciBpbiBhIGZ1dHVyZSByZWxlYXNlIHNlcmllcy4KCiMjIyMgQ29tcGF0aWJpbGl0eSBOb3RlcwoKLSBtYWNPUzogUmVxdWlyZXMgbWFjT1MgMTIgTW9udGVyZXkgb3IgbGF0ZXIKLSBUaGUgYE9QRU5UT0ZVX1VTRVJfQUdFTlRgIGVudmlyb25tZW50IHZhcmlhYmxlLCB3aGljaCBhbGxvd2VkIGZ1bGx5IG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgVXNlci1BZ2VudCBoZWFkZXIgb24gYWxsIEhUVFAgcmVxdWVzdHMsIGhhcyBiZWVuIHJlbW92ZWQuCi0gT24gVW5peCBzeXN0ZW1zIE9wZW5Ub2Z1IG5vdyBjb25zaWRlcnMgdGhlIGBCUk9XU0VSYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBhcyBhIHBvc3NpYmxlIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgbGF1bmNoaW5nIGEgd2ViIGJyb3dzZXIuCiAgSWYgeW91IHJ1biBPcGVuVG9mdSBpbiBhIGNvbnRleHQgd2hlcmUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgb2YgdGhhdCBuYW1lIGlzIGFscmVhZHkgc2V0LCBpdCBtYXkgY2F1c2UgT3BlblRvZnUgdG8gbm93IG9wZW4gYSB3ZWIgYnJvd3NlciBpbiBhIGRpZmZlcmVudCB3YXkgdGhhbiBwcmV2aW91cyB2ZXJzaW9ucyB3b3VsZCBoYXZlLgogIFVuc2V0dGluZyB0aGF0IGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgcmVzdG9yZSB0aGUgcHJldmlvdXMgcGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IuCgojIyMjIFJlZmVyZW5jZQoKLSBbRnVsbCBDaGFuZ2Vsb2ddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9ibG9iL3YxLjEyL0NIQU5HRUxPRy5tZCkKLSBbQmxvZyBQb3N0XShodHRwczovL29wZW50b2Z1Lm9yZy9ibG9nL29wZW50b2Z1LTEtMTItMCkKClRoYW5rIHlvdSBmb3IgeW91ciBjb250aW51ZWQgc3VwcG9ydCBhbmQgdGVzdGluZyBvZiB0aGUgT3BlblRvZnUgcHJvamVjdCEKCiMjIyBbYHYxLjExLjhgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvcmVsZWFzZXMvdGFnL3YxLjExLjgpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjcuLi52MS4xMS44KQoKIyMjIyMgU0VDVVJJVFkgQURWSVNPUklFUzoKCi0gUHJldmlvdXMgcmVsZWFzZXMgaW4gdGhlIHYxLjExIHNlcmllcyBjb3VsZCBwb3RlbnRpYWxseSB0YWtlIGFuIGV4Y2Vzc2l2ZSBhbW91bnQgb2YgdGltZSBhbmQgc2VuZCBleHRyYW5lb3VzIGRhdGEgdG8gYW4gSFRUUDIgc2VydmVyIHRoYXQgc3BlY2lmaWVzIGEgbWF4aW11bSBmcmFtZSBzaXplIG9mIHplcm8uIFRoaXMgaXMgbm93IGZpeGVkLiAoWyMmIzgyMDM7NDA5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L2lzc3Vlcy80MDk0KSkKCiAgQW4gYXR0YWNrZXIgdGhhdCBjYW4gY29lcmNlIGFuIG9wZXJhdG9yIHRvIGluc3RhbGwgYSBkZXBlbmRlbmN5IGZyb20gYW4gYXR0YWNrZXItY29udHJvbGxlZCBzZXJ2ZXIgY291bGQgdXNlIHRoaXMgdG8gY2F1c2UgdW5leHBlY3RlZCByZXNvdXJjZSBjb25zdW1wdGlvbiBkdXJpbmcgYHRvZnUgaW5pdGAuCgoqKkZ1bGwgQ2hhbmdlbG9nKio6IDxodHRwczovL2dpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvY29tcGFyZS92MS4xMS43Li4udjEuMTEuOD4KCiMjIyBbYHYxLjExLjdgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvcmVsZWFzZXMvdGFnL3YxLjExLjcpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjYuLi52MS4xMS43KQoKIyMjIyMgQlVHIEZJWEVTOgoKLSBXaGVuIGluc3RhbGxpbmcgcHJvdmlkZXIgcGFja2FnZXMgaW50byBhIGxvY2FsIGNhY2hlIGRpcmVjdG9yeSwgdGhlIGluc3RhbGxlciB3aWxsIG5vdyByZXR1cm4gYW4gZXJyb3IgaWYgYSBjb25mbGljdGluZyBlbnRyeSBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIGNhY2hlIHRoYXQgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgY2hlY2tzdW0uIFByZXZpb3VzbHkgT3BlblRvZnUgd291bGQganVzdCBzaWxlbnRseSB3cml0ZSBvdmVyIHRoZSBleGlzdGluZyBlbnRyeSBpbiB0aGF0IGNhc2UuIChbIyYjODIwMzs0MDgyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvcHVsbC80MDgyKSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjYuLi52MS4xMS43PgoKIyMjIFtgdjEuMTEuNmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9yZWxlYXNlcy90YWcvdjEuMTEuNikKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L2NvbXBhcmUvdjEuMTEuNS4uLnYxLjExLjYpCgojIyMjIyBCVUcgRklYRVM6CgotIFJ1bm5pbmcgYHRvZnUgYXBwbHkgLXJlZnJlc2gtb25seWAgd2l0aCBhIGNvbmZpZ3VyYXRpb24gdGhhdCBjb250YWlucyBlcGhlbWVyYWwgcmVzb3VyY2VzIGRvZXMgbm90IGZhaWwgYW55bW9yZSBiZWNhdXNlIHRoZSByZWZyZXNoIHByb2R1Y2VkIGNoYW5nZXMgKFsjJiM4MjAzOzM3NzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9pc3N1ZXMvMzc3NikpCi0gRml4ZWQgYHRvZnUgaW5pdGAgY3Jhc2hpbmcgd2hlbiBhIG1vZHVsZSBgdmVyc2lvbmAgdXNlcyBhIHZhcmlhYmxlIGFuZCB0aGUgbW9kdWxlIGlzIHJlZmVyZW5jZWQgZnJvbSBhIHRlc3QgZmlsZS4gKFsjJiM4MjAzOzM2ODZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9pc3N1ZXMvMzY4NikpCi0gRml4ZWQgcHJvdmlkZXItZGVmaW5lZCBmdW5jdGlvbnMgaW4gYGltcG9ydGAgYmxvY2sgYGlkYCBleHByZXNzaW9ucyBjYXVzaW5nICJCVUc6IFVuaW5pdGlhbGl6ZWQgZnVuY3Rpb24gcHJvdmlkZXIiIGVycm9yLiAoWyMmIzgyMDM7MzgwM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L2lzc3Vlcy8zODAzKSkKLSBgdG9mdSB0ZXN0YCBubyBsb25nZXIgZmFpbHMgZHVyaW5nIGNsZWFudXAgd2hlbiB1c2luZyBhIG1vY2tlZCB2ZXJzaW9uIG9mIGEgcmVzb3VyY2UgdHlwZSB3aXRoIHdyaXRlLW9ubHkgYXR0cmlidXRlcy4gKFsjJiM4MjAzOzM5NjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9pc3N1ZXMvMzk2NCkpCi0gQSBtYWxpY2lvdXMgcmVtb3RlIFRMUyBzZXJ2ZXIgY2FuIG5vIGxvbmdlciBkZWFkbG9jayBPcGVuVG9mdSBieSBzZW5kaW5nIG11bHRpcGxlIGtleSB1cGRhdGUgbWVzc2FnZXMgaW4gYSBzaW5nbGUgcmVjb3JkLiAoWyMmIzgyMDM7Mzk2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW50b2Z1L29wZW50b2Z1L3B1bGwvMzk2NikpCi0gV2hlbiBpbnN0YWxsaW5nIG1vZHVsZSBwYWNrYWdlcyBmcm9tICJ0YXIiIGFyY2hpdmVzLCBPcGVuVG9mdSBub3cgYWNjZXB0cyBvbmx5IGEgbGltaXRlZCBudW1iZXIgb2Ygc3BhcnNlIGZpbGUgZW50cmllcyB0byBhdm9pZCB1bmJvdW5kZWQgbWVtb3J5IHVzYWdlIGZyb20gbWFsaWNpb3VzbHktY3JhZnRlZCBhcmNoaXZlcyBjb250YWluaW5nIG1hbnkgc3BhcnNlIHJlZ2lvbnMuIChbIyYjODIwMzszOTY2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbnRvZnUvb3BlbnRvZnUvcHVsbC8zOTY2KSkKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVudG9mdS9vcGVudG9mdS9jb21wYXJlL3YxLjExLjUuLi52MS4xMS42PgoKPC9kZXRhaWxzPgoKLS0tCgojIyMgQ29uZmlndXJhdGlvbgoK8J+ThSAqKlNjaGVkdWxlKio6IChVVEMpCgotIEJyYW5jaCBjcmVhdGlvbgogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCi0gQXV0b21lcmdlCiAgLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCkKCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhlc2UgdXBkYXRlcyBhZ2Fpbi4KCi0tLQoKIC0gWyBdIDwhLS0gcmViYXNlLWNoZWNrIC0tPklmIHlvdSB3YW50IHRvIHJlYmFzZS9yZXRyeSB0aGlzIFBSLCBjaGVjayB0aGlzIGJveAoKLS0tCgpUaGlzIFBSIHdhcyBnZW5lcmF0ZWQgYnkgW01lbmQgUmVub3ZhdGVdKGh0dHBzOi8vbWVuZC5pby9yZW5vdmF0ZS8pLiBWaWV3IHRoZSBbcmVwb3NpdG9yeSBqb2IgbG9nXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2dpdGh1Yi9vc2lzbS90ZXN0YmVkKS4KPCEtLXJlbm92YXRlLWRlYnVnOmV5SmpjbVZoZEdWa1NXNVdaWElpT2lJME15NHhNREl1TVRFaUxDSjFjR1JoZEdWa1NXNVdaWElpT2lJME15NHhOek11TmlJc0luUmhjbWRsZEVKeVlXNWphQ0k2SW0xaGFXNGlMQ0pzWVdKbGJITWlPbHNpY21WdWIzWmhkR1VpWFgwPS0tPgo=
      patchset: f12f96f4bb303a6d8d83d555733af594000b5836
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          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: 58f24f5b479e15eb2d520850d27e3b1b6fc66aa6
          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: 02f61c8cfaedc58d4d3ce1e2da148e09e53a41c4
          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
