Full Code of osbuild/osbuild-composer for AI

main ab95b4146db9 cached
10259 files
145.3 MB
26.9M tokens
140249 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (107,417K chars total). Download the full file to get everything.
Repository: osbuild/osbuild-composer
Branch: main
Commit: ab95b4146db9
Files: 10259
Total size: 145.3 MB

Directory structure:
gitextract_1b6z3z9p/

├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .fmf/
│   └── version
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   └── bug_report.md
│   ├── dependabot.yml
│   ├── renovate.json
│   └── workflows/
│       ├── coverity_scan.yml
│       ├── create-tag.yml
│       ├── gobump.yml
│       ├── pr_best_practices.yml
│       ├── release.yml
│       ├── stale-cleanup.yml
│       ├── tests.yml
│       ├── trigger-gitlab.yml
│       └── update-osbuild.yml
├── .gitignore
├── .gitlab-ci.yml
├── .gitleaks.toml
├── .golangci.yml
├── .packit.yaml
├── .pylintrc
├── .tekton/
│   ├── osbuild-composer-maintenance-pull-request.yaml
│   ├── osbuild-composer-maintenance-push.yaml
│   ├── osbuild-composer-pull-request.yaml
│   └── osbuild-composer-push.yaml
├── CONTRIBUTING.md
├── Containerfile_golangci_lint
├── DEPLOYING.md
├── HACKING.md
├── LICENSE
├── Makefile
├── README.md
├── Schutzfile
├── cmd/
│   ├── README
│   ├── osbuild-auth-tests/
│   │   ├── certificates.go
│   │   └── main_test.go
│   ├── osbuild-composer/
│   │   ├── composer.go
│   │   ├── config.go
│   │   ├── config_test.go
│   │   ├── main.go
│   │   └── testdata/
│   │       ├── empty-config.toml
│   │       └── test.toml
│   ├── osbuild-composer-cli-tests/
│   │   └── main_test.go
│   ├── osbuild-composer-dbjobqueue-tests/
│   │   └── main_test.go
│   ├── osbuild-koji-tests/
│   │   └── main_test.go
│   ├── osbuild-mock-openid-provider/
│   │   └── main.go
│   ├── osbuild-service-maintenance/
│   │   ├── aws.go
│   │   ├── aws_test.go
│   │   ├── config.go
│   │   ├── db.go
│   │   ├── db_test.go
│   │   ├── export_test.go
│   │   ├── gcp.go
│   │   └── main.go
│   ├── osbuild-store-dump/
│   │   └── main.go
│   ├── osbuild-worker/
│   │   ├── config.go
│   │   ├── config_test.go
│   │   ├── export_test.go
│   │   ├── jobimpl-awsec2.go
│   │   ├── jobimpl-bootc-info-resolve.go
│   │   ├── jobimpl-bootc-info-resolve_test.go
│   │   ├── jobimpl-container-resolve.go
│   │   ├── jobimpl-container-resolve_test.go
│   │   ├── jobimpl-depsolve.go
│   │   ├── jobimpl-depsolve_test.go
│   │   ├── jobimpl-file-resolve.go
│   │   ├── jobimpl-image-builder-manifest.go
│   │   ├── jobimpl-image-builder-manifest_test.go
│   │   ├── jobimpl-koji-finalize.go
│   │   ├── jobimpl-koji-init.go
│   │   ├── jobimpl-osbuild.go
│   │   ├── jobimpl-osbuild_test.go
│   │   ├── jobimpl-ostree-resolve.go
│   │   ├── jobimpl-search.go
│   │   ├── main.go
│   │   ├── main_test.go
│   │   ├── mock_job_test.go
│   │   └── rh-logrus-adapter.go
│   └── osbuild-worker-executor/
│       ├── build_result.go
│       ├── config.go
│       ├── export_test.go
│       ├── handler_build.go
│       ├── handler_build_test.go
│       ├── handler_log.go
│       ├── handler_log_test.go
│       ├── handler_result.go
│       ├── handler_result_test.go
│       ├── handler_root.go
│       ├── handler_root_test.go
│       ├── main.go
│       ├── main_test.go
│       └── routes.go
├── codecov.yml
├── containers/
│   ├── fauxauth/
│   │   └── fauxauth.py
│   └── osbuild-composer/
│       └── entrypoint.py
├── distribution/
│   ├── Dockerfile-config
│   ├── Dockerfile-fauxauth
│   ├── Dockerfile-ubi
│   ├── Dockerfile-ubi-maintenance
│   ├── Dockerfile-ubi-packer
│   ├── Dockerfile-worker
│   ├── osbuild-composer-api.socket
│   ├── osbuild-composer-prometheus.socket
│   ├── osbuild-composer.conf
│   ├── osbuild-composer.service
│   ├── osbuild-composer.socket
│   ├── osbuild-local-worker.socket
│   ├── osbuild-remote-worker.socket
│   ├── osbuild-remote-worker@.service
│   └── osbuild-worker@.service
├── docker-compose.yml
├── docs/
│   ├── errors.md
│   └── osbuild-composer.7.rst
├── go.mod
├── go.sum
├── image-types/
│   ├── README.md
│   └── rhel8/
│       ├── README.md
│       ├── amazon-ec2.md
│       ├── google-gce.md
│       ├── kvm-guest-image.md
│       ├── microsoft-azure.md
│       ├── openstack.md
│       ├── oracle-oci.md
│       └── vmware.md
├── internal/
│   ├── auth/
│   │   ├── jwt.go
│   │   ├── jwt_auth_handler.go
│   │   ├── jwt_test.go
│   │   └── middleware.go
│   ├── client/
│   │   ├── blueprints.go
│   │   ├── blueprints_non_el10_test.go
│   │   ├── blueprints_test.go
│   │   ├── client.go
│   │   ├── client_test.go
│   │   ├── compose.go
│   │   ├── compose_test.go
│   │   ├── integration_test.go
│   │   ├── modules.go
│   │   ├── modules_test.go
│   │   ├── projects.go
│   │   ├── projects_test.go
│   │   ├── source.go
│   │   ├── source_test.go
│   │   ├── unit_test.go
│   │   ├── utils.go
│   │   └── weldr.go
│   ├── cloud/
│   │   └── awscloud/
│   │       ├── autoscaling.go
│   │       ├── awscloud.go
│   │       ├── awscloud_test.go
│   │       ├── client-interfaces.go
│   │       ├── export_test.go
│   │       ├── maintenance.go
│   │       ├── mocks_test.go
│   │       ├── secure-instance.go
│   │       └── secure-instance_test.go
│   ├── cloudapi/
│   │   ├── server.go
│   │   └── v2/
│   │       ├── bootc.go
│   │       ├── bootc_premanifest_test.go
│   │       ├── bootc_test.go
│   │       ├── compose.go
│   │       ├── compose_test.go
│   │       ├── depsolve.go
│   │       ├── errors.go
│   │       ├── errors_test.go
│   │       ├── export_test.go
│   │       ├── handler.go
│   │       ├── imagerequest.go
│   │       ├── imagerequest_test.go
│   │       ├── middleware.go
│   │       ├── openapi.v2.gen.go
│   │       ├── openapi.v2.yml
│   │       ├── search.go
│   │       ├── server.go
│   │       ├── server_container_compat.go
│   │       ├── server_container_compat_test.go
│   │       ├── v2_disk_test.go
│   │       ├── v2_internal_test.go
│   │       ├── v2_koji_test.go
│   │       ├── v2_multi_tenancy_test.go
│   │       └── v2_test.go
│   ├── common/
│   │   ├── constants.go
│   │   ├── context_hook.go
│   │   ├── dependencies.go
│   │   ├── echo_logrus.go
│   │   ├── external_id.go
│   │   ├── helpers.go
│   │   ├── helpers_test.go
│   │   ├── journal_hook.go
│   │   ├── journal_hook_test.go
│   │   ├── logger_middleware.go
│   │   ├── operation_id.go
│   │   ├── pointers.go
│   │   ├── pointers_test.go
│   │   ├── slogger/
│   │   │   ├── logrus.go
│   │   │   ├── logrus_test.go
│   │   │   └── noop.go
│   │   ├── states.go
│   │   └── states_test.go
│   ├── jobqueue/
│   │   ├── fsjobqueue/
│   │   │   ├── fsjobqueue.go
│   │   │   └── fsjobqueue_test.go
│   │   └── jobqueuetest/
│   │       └── jobqueuetest.go
│   ├── jsondb/
│   │   ├── db.go
│   │   ├── db_private_test.go
│   │   └── db_test.go
│   ├── mocks/
│   │   ├── depsolvednf/
│   │   │   ├── depsolvednf.go
│   │   │   └── mock_data.go
│   │   ├── rpmmd/
│   │   │   ├── fixtures.go
│   │   │   └── rpmmd_mock.go
│   │   └── rpmrepo/
│   │       └── rpmrepo.go
│   ├── osbuildexecutor/
│   │   ├── export_test.go
│   │   ├── osbuild-executor.go
│   │   ├── runner-common.go
│   │   ├── runner-impl-aws-ec2.go
│   │   ├── runner-impl-aws-ec2_test.go
│   │   └── runner-impl-host.go
│   ├── prometheus/
│   │   ├── constants.go
│   │   ├── helpers.go
│   │   ├── http_metrics.go
│   │   ├── job_metrics.go
│   │   ├── middleware.go
│   │   └── status_metrics.go
│   ├── remotefile/
│   │   ├── client.go
│   │   ├── client_test.go
│   │   ├── resolver.go
│   │   ├── resolver_test.go
│   │   └── spec.go
│   ├── store/
│   │   ├── fixtures.go
│   │   ├── json.go
│   │   ├── json_test.go
│   │   ├── store.go
│   │   ├── store_test.go
│   │   └── test/
│   │       ├── state-v12.json
│   │       └── state-v13.json
│   ├── target/
│   │   ├── aws_target.go
│   │   ├── azure_image_target.go
│   │   ├── azure_target.go
│   │   ├── container_target.go
│   │   ├── gcp_target.go
│   │   ├── koji_target.go
│   │   ├── koji_target_test.go
│   │   ├── local_target.go
│   │   ├── oci_target.go
│   │   ├── target.go
│   │   ├── target_test.go
│   │   ├── targetresult.go
│   │   ├── targetresult_test.go
│   │   ├── vmware_target.go
│   │   └── worker_server_target.go
│   ├── test/
│   │   ├── apicall.go
│   │   ├── helpers.go
│   │   ├── request.go
│   │   └── validator.go
│   ├── tools.go
│   ├── weldr/
│   │   ├── api.go
│   │   ├── api_test.go
│   │   ├── compose.go
│   │   ├── compose_test.go
│   │   ├── json.go
│   │   ├── responses_test.go
│   │   ├── upload.go
│   │   └── util.go
│   ├── weldrtypes/
│   │   ├── compose.go
│   │   ├── imagebuild.go
│   │   ├── package.go
│   │   └── package_test.go
│   └── worker/
│       ├── api/
│       │   ├── api.gen.go
│       │   ├── api.go
│       │   ├── errors.go
│       │   └── openapi.yml
│       ├── client.go
│       ├── client_test.go
│       ├── clienterrors/
│       │   ├── errors.go
│       │   └── errors_test.go
│       ├── export_test.go
│       ├── ibcli-exec.go
│       ├── ibcli-exec_test.go
│       ├── json.go
│       ├── json_test.go
│       ├── proxy_test.go
│       ├── server.go
│       └── server_test.go
├── krb5.conf
├── osbuild-composer.spec
├── pkg/
│   ├── jobqueue/
│   │   ├── dbjobqueue/
│   │   │   ├── dbjobqueue.go
│   │   │   └── schemas/
│   │   │       ├── 001_jobs.sql
│   │   │       ├── 002_channels.sql
│   │   │       ├── 003_dependencies_cascade.sql
│   │   │       ├── 004_heartbeats_cascade.sql
│   │   │       ├── 005_jobs_expiry.sql
│   │   │       ├── 006_retry_count.sql
│   │   │       ├── 007_create_table_workers.sql
│   │   │       ├── 008_workers_add_channel.sql
│   │   │       └── 009_jobs_alter_result_type.sql
│   │   └── jobqueue.go
│   └── splunk_logger/
│       ├── environment_hook.go
│       ├── environment_hook_test.go
│       ├── go.mod
│       ├── go.sum
│       ├── splunk_hook.go
│       ├── splunk_logger.go
│       └── splunk_logger_test.go
├── repositories/
│   ├── README.md
│   ├── rhel-8-no-aux-key.json
│   ├── rhel-8.10-no-aux-key.json
│   ├── rhel-8.4-no-aux-key.json
│   ├── rhel-8.6-no-aux-key.json
│   ├── rhel-8.8-no-aux-key.json
│   ├── rhel-9.7.json
│   └── rhel-9.8.json
├── rpmlint.config
├── schutzbot/
│   ├── ci_details.sh
│   ├── containerbuild.sh
│   ├── deploy.sh
│   ├── mockbuild.sh
│   ├── prepare-rhel-internal.sh
│   ├── save_journal.sh
│   ├── send_webhook.py
│   ├── slack_notification.sh
│   ├── start_iostats.sh
│   ├── stop_iostats.sh
│   ├── team_ssh_keys.txt
│   ├── terraform
│   ├── unregister.sh
│   ├── update-schutzfile-osbuild
│   ├── update_github_status.sh
│   └── upload_artifacts.sh
├── templates/
│   ├── .kube-linter-config.yml
│   ├── README.md
│   ├── dashboards/
│   │   ├── grafana-dashboard-image-builder-composer-general.configmap.yml
│   │   ├── grafana-dashboard-image-builder-worker-api.configmap.yml
│   │   └── grafana-dashboard-image-builder-worker-general.configmap.yml
│   ├── openshift/
│   │   ├── composer.yml
│   │   └── maintenance.yml
│   └── packer/
│       ├── README.md
│       ├── ansible/
│       │   ├── inventory/
│       │   │   ├── fedora-42-aarch64/
│       │   │   │   └── group_vars/
│       │   │   │       └── all.yml
│       │   │   ├── fedora-42-x86_64/
│       │   │   │   └── group_vars/
│       │   │   │       └── all.yml
│       │   │   ├── rhel-10-aarch64/
│       │   │   │   └── group_vars/
│       │   │   │       └── all.yml
│       │   │   └── rhel-10-x86_64/
│       │   │       └── group_vars/
│       │   │           └── all.yml
│       │   ├── playbook.yml
│       │   └── roles/
│       │       └── common/
│       │           ├── files/
│       │           │   ├── osbuild-worker.toml
│       │           │   ├── timber-vector.repo
│       │           │   ├── worker-executor.service
│       │           │   ├── worker-initialization-scripts/
│       │           │   │   ├── client_credentials.sh
│       │           │   │   ├── container_registries_login.sh
│       │           │   │   ├── get_aws_creds.sh
│       │           │   │   ├── get_azure_creds.sh
│       │           │   │   ├── get_gcp_creds.sh
│       │           │   │   ├── get_koji_creds.sh
│       │           │   │   ├── get_ldap_sa_mtls_creds.sh
│       │           │   │   ├── get_oci_creds.sh
│       │           │   │   ├── offline_token.sh
│       │           │   │   ├── on_exit.sh
│       │           │   │   ├── set_executor_hostname.sh
│       │           │   │   ├── set_hostname.sh
│       │           │   │   ├── subscription_manager.sh
│       │           │   │   ├── vector.sh
│       │           │   │   ├── worker_config.sh
│       │           │   │   ├── worker_executor.sh
│       │           │   │   └── worker_service.sh
│       │           │   └── worker-initialization.service
│       │           └── tasks/
│       │               ├── main.yml
│       │               ├── packages.yml
│       │               ├── subscribe.yml
│       │               ├── unregister.yml
│       │               ├── worker-config.yml
│       │               └── worker-initialization-service.yml
│       ├── config.pkr.hcl
│       ├── variables.pkr.hcl
│       └── worker.pkr.hcl
├── test/
│   ├── README.md
│   ├── cases/
│   │   ├── api/
│   │   │   ├── aws.s3.sh
│   │   │   ├── aws.sh
│   │   │   ├── azure.sh
│   │   │   ├── bootc/
│   │   │   │   ├── container-iso.s3.sh
│   │   │   │   └── guest.s3.sh
│   │   │   ├── common/
│   │   │   │   ├── aws.sh
│   │   │   │   ├── bootc.sh
│   │   │   │   ├── common.sh
│   │   │   │   ├── executor.sh
│   │   │   │   ├── image-types.sh
│   │   │   │   ├── s3.sh
│   │   │   │   └── vsphere.sh
│   │   │   ├── container.registry.sh
│   │   │   ├── gcp.sh
│   │   │   ├── generic.s3.sh
│   │   │   └── oci.sh
│   │   ├── api-bootc-service.sh
│   │   ├── api-bootc.sh
│   │   ├── api.sh
│   │   ├── aws.sh
│   │   ├── aws_s3.sh
│   │   ├── azure.sh
│   │   ├── azure_hyperv_gen2.sh
│   │   ├── base_tests.sh
│   │   ├── cleanstore.sh
│   │   ├── container-embedding.sh
│   │   ├── container-upload.sh
│   │   ├── cross-distro.sh
│   │   ├── filesystem.sh
│   │   ├── gcp.sh
│   │   ├── generic_s3.sh
│   │   ├── generic_s3_http.sh
│   │   ├── generic_s3_https_insecure.sh
│   │   ├── generic_s3_https_secure.sh
│   │   ├── installers.sh
│   │   ├── koji.sh
│   │   ├── libvirt.sh
│   │   ├── minimal-raw.sh
│   │   ├── multi-tenancy.sh
│   │   ├── oci.sh
│   │   ├── openshift_virtualization.sh
│   │   ├── ostree-ami-image.sh
│   │   ├── ostree-ignition.sh
│   │   ├── ostree-iot-qcow2.sh
│   │   ├── ostree-ng.sh
│   │   ├── ostree-raw-image.sh
│   │   ├── ostree-simplified-installer.sh
│   │   ├── ostree-vsphere.sh
│   │   ├── ostree.sh
│   │   ├── regression-composer-works-behind-satellite-fallback.sh
│   │   ├── regression-composer-works-behind-satellite.sh
│   │   ├── regression-excluded-dependency.sh
│   │   ├── regression-include-excluded-packages.sh
│   │   ├── regression-insecure-repo.sh
│   │   ├── regression-no-explicit-rootfs-definition.sh
│   │   ├── regression-old-worker-new-composer.sh
│   │   ├── rhel-upgrade.sh
│   │   ├── shared_lib.sh
│   │   ├── vmware.sh
│   │   ├── weldr-distro-dot-notation-and-aliases.sh
│   │   ├── worker-executor-crash.sh
│   │   └── worker-executor.sh
│   └── data/
│       ├── ansible/
│       │   ├── check-minimal.yaml
│       │   ├── check_install.yaml
│       │   ├── check_ostree.yaml
│       │   └── check_ostree_nort.yaml
│       ├── azure/
│       │   └── deployment-template.json
│       ├── cloud-init/
│       │   ├── meta-data
│       │   └── user-data
│       ├── composer/
│       │   ├── osbuild-composer-jwt.toml
│       │   └── osbuild-composer-tls.toml
│       ├── kerberos/
│       │   └── krb5-local.conf
│       ├── keyring/
│       │   ├── id_rsa
│       │   └── id_rsa.pub
│       ├── koji/
│       │   └── koji.conf
│       ├── repositories/
│       │   ├── centos-stream-10.json
│       │   ├── centos-stream-9.json
│       │   ├── fedora-41.json
│       │   ├── fedora-42.json
│       │   ├── rhel-10.0.json
│       │   ├── rhel-10.1.json
│       │   ├── rhel-10.2.json
│       │   ├── rhel-10.3.json
│       │   ├── rhel-10.json
│       │   ├── rhel-8.10.json
│       │   ├── rhel-8.4.json
│       │   ├── rhel-8.5.json
│       │   ├── rhel-8.6.json
│       │   ├── rhel-8.7.json
│       │   ├── rhel-8.8.json
│       │   ├── rhel-8.9.json
│       │   ├── rhel-8.json
│       │   ├── rhel-9.0.json
│       │   ├── rhel-9.1.json
│       │   ├── rhel-9.2.json
│       │   ├── rhel-9.3.json
│       │   ├── rhel-9.4.json
│       │   ├── rhel-9.5.json
│       │   ├── rhel-9.6.json
│       │   ├── rhel-9.7.json
│       │   ├── rhel-9.8.json
│       │   ├── rhel-9.9.json
│       │   ├── rhel-9.json
│       │   └── test-distro-1.json
│       ├── rhel-upgrade/
│       │   ├── integration.xml
│       │   ├── upgrade_prepare.sh
│       │   └── upgrade_verify.sh
│       ├── testrepo/
│       │   ├── README.md
│       │   └── repodata/
│       │       └── repomd.xml
│       ├── worker/
│       │   ├── osbuild-worker-jwt.toml
│       │   └── osbuild-worker-tls.toml
│       └── x509/
│           └── openssl.cnf
├── tmt/
│   ├── plans/
│   │   └── edge-test.fmf
│   └── tests/
│       ├── edge-test.fmf
│       └── test.sh
├── tools/
│   ├── appsre-ansible/
│   │   └── rpmbuild.yml
│   ├── appsre-build-deploy.sh
│   ├── appsre-build-fedora-worker-packer.sh
│   ├── appsre-build-worker-packer.sh
│   ├── appsre-worker-packer-container.sh
│   ├── apt-install-deps.sh
│   ├── build-rpms.py
│   ├── check-runners
│   ├── check-snapshots
│   ├── ci-build-worker-packer.sh
│   ├── dbtest-entrypoint.sh
│   ├── dbtest-prepare-env.sh
│   ├── dbtest-run-migrations.sh
│   ├── define-compose-url.sh
│   ├── deploy/
│   │   └── test/
│   │       ├── files/
│   │       │   └── run/
│   │       │       └── provision-scripts/
│   │       │           └── deploy.sh
│   │       └── user-data.yml
│   ├── deploy-openstack
│   ├── deploy-qemu
│   ├── gen-certs.sh
│   ├── gen-ssh.sh
│   ├── gen-user-data
│   ├── generic_s3_https_test.sh
│   ├── generic_s3_test.sh
│   ├── koji-compose.py
│   ├── libvirt_test.sh
│   ├── prepare-source.sh
│   ├── provision.sh
│   ├── rpm_spec_add_provides_bundle.sh
│   ├── rpm_spec_vendor2provides
│   ├── run-koji-container.sh
│   ├── run-mock-auth-servers.sh
│   ├── s3_test.sh
│   ├── set-env-variables.sh
│   └── update-distgit.py
└── vendor/
    ├── cel.dev/
    │   └── expr/
    │       ├── .bazelversion
    │       ├── .gitattributes
    │       ├── .gitignore
    │       ├── BUILD.bazel
    │       ├── CODE_OF_CONDUCT.md
    │       ├── CONTRIBUTING.md
    │       ├── GOVERNANCE.md
    │       ├── LICENSE
    │       ├── MAINTAINERS.md
    │       ├── MODULE.bazel
    │       ├── README.md
    │       ├── WORKSPACE
    │       ├── WORKSPACE.bzlmod
    │       ├── checked.pb.go
    │       ├── cloudbuild.yaml
    │       ├── eval.pb.go
    │       ├── explain.pb.go
    │       ├── regen_go_proto.sh
    │       ├── regen_go_proto_canonical_protos.sh
    │       ├── syntax.pb.go
    │       └── value.pb.go
    ├── cloud.google.com/
    │   └── go/
    │       ├── LICENSE
    │       ├── auth/
    │       │   ├── CHANGES.md
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── auth.go
    │       │   ├── credentials/
    │       │   │   ├── compute.go
    │       │   │   ├── detect.go
    │       │   │   ├── doc.go
    │       │   │   ├── filetypes.go
    │       │   │   ├── internal/
    │       │   │   │   ├── externalaccount/
    │       │   │   │   │   ├── aws_provider.go
    │       │   │   │   │   ├── executable_provider.go
    │       │   │   │   │   ├── externalaccount.go
    │       │   │   │   │   ├── file_provider.go
    │       │   │   │   │   ├── info.go
    │       │   │   │   │   ├── programmatic_provider.go
    │       │   │   │   │   ├── url_provider.go
    │       │   │   │   │   └── x509_provider.go
    │       │   │   │   ├── externalaccountuser/
    │       │   │   │   │   └── externalaccountuser.go
    │       │   │   │   ├── gdch/
    │       │   │   │   │   └── gdch.go
    │       │   │   │   ├── impersonate/
    │       │   │   │   │   ├── idtoken.go
    │       │   │   │   │   └── impersonate.go
    │       │   │   │   └── stsexchange/
    │       │   │   │       └── sts_exchange.go
    │       │   │   └── selfsignedjwt.go
    │       │   ├── grpctransport/
    │       │   │   ├── dial_socketopt.go
    │       │   │   ├── directpath.go
    │       │   │   ├── grpctransport.go
    │       │   │   └── pool.go
    │       │   ├── httptransport/
    │       │   │   ├── httptransport.go
    │       │   │   └── transport.go
    │       │   ├── internal/
    │       │   │   ├── compute/
    │       │   │   │   ├── compute.go
    │       │   │   │   ├── manufacturer.go
    │       │   │   │   ├── manufacturer_linux.go
    │       │   │   │   └── manufacturer_windows.go
    │       │   │   ├── credsfile/
    │       │   │   │   ├── credsfile.go
    │       │   │   │   ├── filetype.go
    │       │   │   │   └── parse.go
    │       │   │   ├── internal.go
    │       │   │   ├── jwt/
    │       │   │   │   └── jwt.go
    │       │   │   ├── retry/
    │       │   │   │   └── retry.go
    │       │   │   ├── transport/
    │       │   │   │   ├── cba.go
    │       │   │   │   ├── cert/
    │       │   │   │   │   ├── default_cert.go
    │       │   │   │   │   ├── enterprise_cert.go
    │       │   │   │   │   ├── secureconnect_cert.go
    │       │   │   │   │   └── workload_cert.go
    │       │   │   │   ├── headers/
    │       │   │   │   │   └── headers.go
    │       │   │   │   ├── s2a.go
    │       │   │   │   └── transport.go
    │       │   │   ├── trustboundary/
    │       │   │   │   ├── external_accounts_config_providers.go
    │       │   │   │   └── trust_boundary.go
    │       │   │   └── version.go
    │       │   ├── oauth2adapt/
    │       │   │   ├── CHANGES.md
    │       │   │   ├── LICENSE
    │       │   │   └── oauth2adapt.go
    │       │   └── threelegged.go
    │       ├── compute/
    │       │   ├── LICENSE
    │       │   ├── apiv1/
    │       │   │   ├── .repo-metadata.json
    │       │   │   ├── accelerator_types_client.go
    │       │   │   ├── addresses_client.go
    │       │   │   ├── advice_client.go
    │       │   │   ├── autoscalers_client.go
    │       │   │   ├── auxiliary.go
    │       │   │   ├── auxiliary_go123.go
    │       │   │   ├── backend_buckets_client.go
    │       │   │   ├── backend_services_client.go
    │       │   │   ├── computepb/
    │       │   │   │   ├── compute.pb.go
    │       │   │   │   └── compute_grpc.pb.go
    │       │   │   ├── cross_site_networks_client.go
    │       │   │   ├── disk_types_client.go
    │       │   │   ├── disks_client.go
    │       │   │   ├── doc.go
    │       │   │   ├── external_vpn_gateways_client.go
    │       │   │   ├── firewall_policies_client.go
    │       │   │   ├── firewalls_client.go
    │       │   │   ├── forwarding_rules_client.go
    │       │   │   ├── future_reservations_client.go
    │       │   │   ├── gapic_metadata.json
    │       │   │   ├── global_addresses_client.go
    │       │   │   ├── global_forwarding_rules_client.go
    │       │   │   ├── global_network_endpoint_groups_client.go
    │       │   │   ├── global_operations_client.go
    │       │   │   ├── global_organization_operations_client.go
    │       │   │   ├── global_public_delegated_prefixes_client.go
    │       │   │   ├── health_checks_client.go
    │       │   │   ├── helpers.go
    │       │   │   ├── image_family_views_client.go
    │       │   │   ├── images_client.go
    │       │   │   ├── instance_group_manager_resize_requests_client.go
    │       │   │   ├── instance_group_managers_client.go
    │       │   │   ├── instance_groups_client.go
    │       │   │   ├── instance_settings_client.go
    │       │   │   ├── instance_templates_client.go
    │       │   │   ├── instances_client.go
    │       │   │   ├── instant_snapshots_client.go
    │       │   │   ├── interconnect_attachment_groups_client.go
    │       │   │   ├── interconnect_attachments_client.go
    │       │   │   ├── interconnect_groups_client.go
    │       │   │   ├── interconnect_locations_client.go
    │       │   │   ├── interconnect_remote_locations_client.go
    │       │   │   ├── interconnects_client.go
    │       │   │   ├── license_codes_client.go
    │       │   │   ├── licenses_client.go
    │       │   │   ├── machine_images_client.go
    │       │   │   ├── machine_types_client.go
    │       │   │   ├── network_attachments_client.go
    │       │   │   ├── network_edge_security_services_client.go
    │       │   │   ├── network_endpoint_groups_client.go
    │       │   │   ├── network_firewall_policies_client.go
    │       │   │   ├── network_profiles_client.go
    │       │   │   ├── networks_client.go
    │       │   │   ├── node_groups_client.go
    │       │   │   ├── node_templates_client.go
    │       │   │   ├── node_types_client.go
    │       │   │   ├── operations.go
    │       │   │   ├── organization_security_policies_client.go
    │       │   │   ├── packet_mirrorings_client.go
    │       │   │   ├── preview_features_client.go
    │       │   │   ├── projects_client.go
    │       │   │   ├── public_advertised_prefixes_client.go
    │       │   │   ├── public_delegated_prefixes_client.go
    │       │   │   ├── region_autoscalers_client.go
    │       │   │   ├── region_backend_services_client.go
    │       │   │   ├── region_commitments_client.go
    │       │   │   ├── region_disk_types_client.go
    │       │   │   ├── region_disks_client.go
    │       │   │   ├── region_health_check_services_client.go
    │       │   │   ├── region_health_checks_client.go
    │       │   │   ├── region_instance_group_managers_client.go
    │       │   │   ├── region_instance_groups_client.go
    │       │   │   ├── region_instance_templates_client.go
    │       │   │   ├── region_instances_client.go
    │       │   │   ├── region_instant_snapshots_client.go
    │       │   │   ├── region_network_endpoint_groups_client.go
    │       │   │   ├── region_network_firewall_policies_client.go
    │       │   │   ├── region_notification_endpoints_client.go
    │       │   │   ├── region_operations_client.go
    │       │   │   ├── region_security_policies_client.go
    │       │   │   ├── region_ssl_certificates_client.go
    │       │   │   ├── region_ssl_policies_client.go
    │       │   │   ├── region_target_http_proxies_client.go
    │       │   │   ├── region_target_https_proxies_client.go
    │       │   │   ├── region_target_tcp_proxies_client.go
    │       │   │   ├── region_url_maps_client.go
    │       │   │   ├── region_zones_client.go
    │       │   │   ├── regions_client.go
    │       │   │   ├── reservation_blocks_client.go
    │       │   │   ├── reservation_sub_blocks_client.go
    │       │   │   ├── reservations_client.go
    │       │   │   ├── resource_policies_client.go
    │       │   │   ├── routers_client.go
    │       │   │   ├── routes_client.go
    │       │   │   ├── security_policies_client.go
    │       │   │   ├── service_attachments_client.go
    │       │   │   ├── snapshot_settings_client.go
    │       │   │   ├── snapshots_client.go
    │       │   │   ├── ssl_certificates_client.go
    │       │   │   ├── ssl_policies_client.go
    │       │   │   ├── storage_pool_types_client.go
    │       │   │   ├── storage_pools_client.go
    │       │   │   ├── subnetworks_client.go
    │       │   │   ├── target_grpc_proxies_client.go
    │       │   │   ├── target_http_proxies_client.go
    │       │   │   ├── target_https_proxies_client.go
    │       │   │   ├── target_instances_client.go
    │       │   │   ├── target_pools_client.go
    │       │   │   ├── target_ssl_proxies_client.go
    │       │   │   ├── target_tcp_proxies_client.go
    │       │   │   ├── target_vpn_gateways_client.go
    │       │   │   ├── url_maps_client.go
    │       │   │   ├── version.go
    │       │   │   ├── vpn_gateways_client.go
    │       │   │   ├── vpn_tunnels_client.go
    │       │   │   ├── wire_groups_client.go
    │       │   │   ├── zone_operations_client.go
    │       │   │   └── zones_client.go
    │       │   ├── internal/
    │       │   │   └── version.go
    │       │   └── metadata/
    │       │       ├── CHANGES.md
    │       │       ├── LICENSE
    │       │       ├── README.md
    │       │       ├── log.go
    │       │       ├── metadata.go
    │       │       ├── retry.go
    │       │       ├── retry_linux.go
    │       │       ├── syscheck.go
    │       │       ├── syscheck_linux.go
    │       │       └── syscheck_windows.go
    │       ├── iam/
    │       │   ├── CHANGES.md
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── apiv1/
    │       │   │   └── iampb/
    │       │   │       ├── iam_policy.pb.go
    │       │   │       ├── iam_policy_grpc.pb.go
    │       │   │       ├── options.pb.go
    │       │   │       ├── policy.pb.go
    │       │   │       └── resource_policy_member.pb.go
    │       │   └── iam.go
    │       ├── internal/
    │       │   ├── .repo-metadata-full.json
    │       │   ├── README.md
    │       │   ├── annotate.go
    │       │   ├── gen_info.sh
    │       │   ├── optional/
    │       │   │   └── optional.go
    │       │   ├── retry.go
    │       │   ├── trace/
    │       │   │   └── trace.go
    │       │   └── version/
    │       │       ├── update_version.sh
    │       │       └── version.go
    │       ├── monitoring/
    │       │   ├── LICENSE
    │       │   ├── apiv3/
    │       │   │   └── v2/
    │       │   │       ├── alert_policy_client.go
    │       │   │       ├── auxiliary.go
    │       │   │       ├── auxiliary_go123.go
    │       │   │       ├── doc.go
    │       │   │       ├── gapic_metadata.json
    │       │   │       ├── group_client.go
    │       │   │       ├── helpers.go
    │       │   │       ├── metric_client.go
    │       │   │       ├── monitoringpb/
    │       │   │       │   ├── alert.pb.go
    │       │   │       │   ├── alert_service.pb.go
    │       │   │       │   ├── alert_service_grpc.pb.go
    │       │   │       │   ├── common.pb.go
    │       │   │       │   ├── dropped_labels.pb.go
    │       │   │       │   ├── group.pb.go
    │       │   │       │   ├── group_service.pb.go
    │       │   │       │   ├── group_service_grpc.pb.go
    │       │   │       │   ├── metric.pb.go
    │       │   │       │   ├── metric_service.pb.go
    │       │   │       │   ├── metric_service_grpc.pb.go
    │       │   │       │   ├── mutation_record.pb.go
    │       │   │       │   ├── notification.pb.go
    │       │   │       │   ├── notification_service.pb.go
    │       │   │       │   ├── notification_service_grpc.pb.go
    │       │   │       │   ├── query_service.pb.go
    │       │   │       │   ├── query_service_grpc.pb.go
    │       │   │       │   ├── service.pb.go
    │       │   │       │   ├── service_service.pb.go
    │       │   │       │   ├── service_service_grpc.pb.go
    │       │   │       │   ├── snooze.pb.go
    │       │   │       │   ├── snooze_service.pb.go
    │       │   │       │   ├── snooze_service_grpc.pb.go
    │       │   │       │   ├── span_context.pb.go
    │       │   │       │   ├── uptime.pb.go
    │       │   │       │   ├── uptime_service.pb.go
    │       │   │       │   └── uptime_service_grpc.pb.go
    │       │   │       ├── notification_channel_client.go
    │       │   │       ├── query_client.go
    │       │   │       ├── service_monitoring_client.go
    │       │   │       ├── snooze_client.go
    │       │   │       ├── uptime_check_client.go
    │       │   │       └── version.go
    │       │   └── internal/
    │       │       └── version.go
    │       └── storage/
    │           ├── CHANGES.md
    │           ├── LICENSE
    │           ├── README.md
    │           ├── TESTING.md
    │           ├── acl.go
    │           ├── bucket.go
    │           ├── client.go
    │           ├── copy.go
    │           ├── doc.go
    │           ├── dynamic_delay.go
    │           ├── emulator_test.sh
    │           ├── experimental/
    │           │   └── experimental.go
    │           ├── grpc_client.go
    │           ├── grpc_dp.go
    │           ├── grpc_metrics.go
    │           ├── grpc_reader.go
    │           ├── grpc_reader_multi_range.go
    │           ├── grpc_writer.go
    │           ├── hmac.go
    │           ├── http_client.go
    │           ├── iam.go
    │           ├── internal/
    │           │   ├── apiv2/
    │           │   │   ├── auxiliary.go
    │           │   │   ├── auxiliary_go123.go
    │           │   │   ├── doc.go
    │           │   │   ├── gapic_metadata.json
    │           │   │   ├── helpers.go
    │           │   │   ├── storage_client.go
    │           │   │   ├── storagepb/
    │           │   │   │   └── storage.pb.go
    │           │   │   └── version.go
    │           │   ├── experimental.go
    │           │   └── version.go
    │           ├── invoke.go
    │           ├── notifications.go
    │           ├── option.go
    │           ├── post_policy_v4.go
    │           ├── reader.go
    │           ├── storage.go
    │           ├── storage.replay
    │           ├── trace.go
    │           └── writer.go
    ├── dario.cat/
    │   └── mergo/
    │       ├── .deepsource.toml
    │       ├── .gitignore
    │       ├── .travis.yml
    │       ├── CODE_OF_CONDUCT.md
    │       ├── CONTRIBUTING.md
    │       ├── FUNDING.json
    │       ├── LICENSE
    │       ├── README.md
    │       ├── SECURITY.md
    │       ├── doc.go
    │       ├── map.go
    │       ├── merge.go
    │       └── mergo.go
    ├── github.com/
    │   ├── Azure/
    │   │   └── azure-sdk-for-go/
    │   │       └── sdk/
    │   │           ├── azcore/
    │   │           │   ├── CHANGELOG.md
    │   │           │   ├── LICENSE.txt
    │   │           │   ├── README.md
    │   │           │   ├── arm/
    │   │           │   │   ├── client.go
    │   │           │   │   ├── doc.go
    │   │           │   │   ├── internal/
    │   │           │   │   │   └── resource/
    │   │           │   │   │       ├── resource_identifier.go
    │   │           │   │   │       └── resource_type.go
    │   │           │   │   ├── policy/
    │   │           │   │   │   └── policy.go
    │   │           │   │   ├── resource_identifier.go
    │   │           │   │   ├── resource_type.go
    │   │           │   │   └── runtime/
    │   │           │   │       ├── pipeline.go
    │   │           │   │       ├── policy_bearer_token.go
    │   │           │   │       ├── policy_register_rp.go
    │   │           │   │       ├── policy_trace_namespace.go
    │   │           │   │       └── runtime.go
    │   │           │   ├── ci.yml
    │   │           │   ├── cloud/
    │   │           │   │   ├── cloud.go
    │   │           │   │   └── doc.go
    │   │           │   ├── core.go
    │   │           │   ├── doc.go
    │   │           │   ├── errors.go
    │   │           │   ├── etag.go
    │   │           │   ├── internal/
    │   │           │   │   ├── exported/
    │   │           │   │   │   ├── exported.go
    │   │           │   │   │   ├── pipeline.go
    │   │           │   │   │   ├── request.go
    │   │           │   │   │   └── response_error.go
    │   │           │   │   ├── log/
    │   │           │   │   │   └── log.go
    │   │           │   │   ├── pollers/
    │   │           │   │   │   ├── async/
    │   │           │   │   │   │   └── async.go
    │   │           │   │   │   ├── body/
    │   │           │   │   │   │   └── body.go
    │   │           │   │   │   ├── fake/
    │   │           │   │   │   │   └── fake.go
    │   │           │   │   │   ├── loc/
    │   │           │   │   │   │   └── loc.go
    │   │           │   │   │   ├── op/
    │   │           │   │   │   │   └── op.go
    │   │           │   │   │   ├── poller.go
    │   │           │   │   │   └── util.go
    │   │           │   │   └── shared/
    │   │           │   │       ├── constants.go
    │   │           │   │       └── shared.go
    │   │           │   ├── log/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── log.go
    │   │           │   ├── policy/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── policy.go
    │   │           │   ├── runtime/
    │   │           │   │   ├── doc.go
    │   │           │   │   ├── errors.go
    │   │           │   │   ├── pager.go
    │   │           │   │   ├── pipeline.go
    │   │           │   │   ├── policy_api_version.go
    │   │           │   │   ├── policy_bearer_token.go
    │   │           │   │   ├── policy_body_download.go
    │   │           │   │   ├── policy_http_header.go
    │   │           │   │   ├── policy_http_trace.go
    │   │           │   │   ├── policy_include_response.go
    │   │           │   │   ├── policy_key_credential.go
    │   │           │   │   ├── policy_logging.go
    │   │           │   │   ├── policy_request_id.go
    │   │           │   │   ├── policy_retry.go
    │   │           │   │   ├── policy_sas_credential.go
    │   │           │   │   ├── policy_telemetry.go
    │   │           │   │   ├── poller.go
    │   │           │   │   ├── request.go
    │   │           │   │   ├── response.go
    │   │           │   │   ├── transport_default_dialer_other.go
    │   │           │   │   ├── transport_default_dialer_wasm.go
    │   │           │   │   └── transport_default_http_client.go
    │   │           │   ├── streaming/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── progress.go
    │   │           │   ├── to/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── to.go
    │   │           │   └── tracing/
    │   │           │       ├── constants.go
    │   │           │       └── tracing.go
    │   │           ├── azidentity/
    │   │           │   ├── .gitignore
    │   │           │   ├── BREAKING_CHANGES.md
    │   │           │   ├── CHANGELOG.md
    │   │           │   ├── LICENSE.txt
    │   │           │   ├── MIGRATION.md
    │   │           │   ├── README.md
    │   │           │   ├── TOKEN_CACHING.MD
    │   │           │   ├── TROUBLESHOOTING.md
    │   │           │   ├── assets.json
    │   │           │   ├── authentication_record.go
    │   │           │   ├── azidentity.go
    │   │           │   ├── azure_cli_credential.go
    │   │           │   ├── azure_developer_cli_credential.go
    │   │           │   ├── azure_pipelines_credential.go
    │   │           │   ├── chained_token_credential.go
    │   │           │   ├── ci.yml
    │   │           │   ├── client_assertion_credential.go
    │   │           │   ├── client_certificate_credential.go
    │   │           │   ├── client_secret_credential.go
    │   │           │   ├── confidential_client.go
    │   │           │   ├── default_azure_credential.go
    │   │           │   ├── developer_credential_util.go
    │   │           │   ├── device_code_credential.go
    │   │           │   ├── environment_credential.go
    │   │           │   ├── errors.go
    │   │           │   ├── go.work
    │   │           │   ├── interactive_browser_credential.go
    │   │           │   ├── internal/
    │   │           │   │   └── cache.go
    │   │           │   ├── logging.go
    │   │           │   ├── managed-identity-matrix.json
    │   │           │   ├── managed_identity_client.go
    │   │           │   ├── managed_identity_credential.go
    │   │           │   ├── on_behalf_of_credential.go
    │   │           │   ├── public_client.go
    │   │           │   ├── test-resources-post.ps1
    │   │           │   ├── test-resources-pre.ps1
    │   │           │   ├── test-resources.bicep
    │   │           │   ├── username_password_credential.go
    │   │           │   ├── version.go
    │   │           │   └── workload_identity.go
    │   │           ├── internal/
    │   │           │   ├── LICENSE.txt
    │   │           │   ├── diag/
    │   │           │   │   ├── diag.go
    │   │           │   │   └── doc.go
    │   │           │   ├── errorinfo/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── errorinfo.go
    │   │           │   ├── exported/
    │   │           │   │   └── exported.go
    │   │           │   ├── log/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── log.go
    │   │           │   ├── poller/
    │   │           │   │   └── util.go
    │   │           │   ├── temporal/
    │   │           │   │   └── resource.go
    │   │           │   └── uuid/
    │   │           │       ├── doc.go
    │   │           │       └── uuid.go
    │   │           ├── resourcemanager/
    │   │           │   ├── compute/
    │   │           │   │   └── armcompute/
    │   │           │   │       └── v5/
    │   │           │   │           ├── CHANGELOG.md
    │   │           │   │           ├── LICENSE.txt
    │   │           │   │           ├── README.md
    │   │           │   │           ├── assets.json
    │   │           │   │           ├── autorest.md
    │   │           │   │           ├── availabilitysets_client.go
    │   │           │   │           ├── build.go
    │   │           │   │           ├── capacityreservationgroups_client.go
    │   │           │   │           ├── capacityreservations_client.go
    │   │           │   │           ├── ci.yml
    │   │           │   │           ├── client_factory.go
    │   │           │   │           ├── cloudserviceoperatingsystems_client.go
    │   │           │   │           ├── cloudserviceroleinstances_client.go
    │   │           │   │           ├── cloudserviceroles_client.go
    │   │           │   │           ├── cloudservices_client.go
    │   │           │   │           ├── cloudservicesupdatedomain_client.go
    │   │           │   │           ├── communitygalleries_client.go
    │   │           │   │           ├── communitygalleryimages_client.go
    │   │           │   │           ├── communitygalleryimageversions_client.go
    │   │           │   │           ├── constants.go
    │   │           │   │           ├── dedicatedhostgroups_client.go
    │   │           │   │           ├── dedicatedhosts_client.go
    │   │           │   │           ├── diskaccesses_client.go
    │   │           │   │           ├── diskencryptionsets_client.go
    │   │           │   │           ├── diskrestorepoint_client.go
    │   │           │   │           ├── disks_client.go
    │   │           │   │           ├── galleries_client.go
    │   │           │   │           ├── galleryapplications_client.go
    │   │           │   │           ├── galleryapplicationversions_client.go
    │   │           │   │           ├── galleryimages_client.go
    │   │           │   │           ├── galleryimageversions_client.go
    │   │           │   │           ├── gallerysharingprofile_client.go
    │   │           │   │           ├── images_client.go
    │   │           │   │           ├── loganalytics_client.go
    │   │           │   │           ├── models.go
    │   │           │   │           ├── models_serde.go
    │   │           │   │           ├── operations_client.go
    │   │           │   │           ├── options.go
    │   │           │   │           ├── proximityplacementgroups_client.go
    │   │           │   │           ├── resourceskus_client.go
    │   │           │   │           ├── responses.go
    │   │           │   │           ├── restorepointcollections_client.go
    │   │           │   │           ├── restorepoints_client.go
    │   │           │   │           ├── sharedgalleries_client.go
    │   │           │   │           ├── sharedgalleryimages_client.go
    │   │           │   │           ├── sharedgalleryimageversions_client.go
    │   │           │   │           ├── snapshots_client.go
    │   │           │   │           ├── sshpublickeys_client.go
    │   │           │   │           ├── time_rfc3339.go
    │   │           │   │           ├── usage_client.go
    │   │           │   │           ├── virtualmachineextensionimages_client.go
    │   │           │   │           ├── virtualmachineextensions_client.go
    │   │           │   │           ├── virtualmachineimages_client.go
    │   │           │   │           ├── virtualmachineimagesedgezone_client.go
    │   │           │   │           ├── virtualmachineruncommands_client.go
    │   │           │   │           ├── virtualmachines_client.go
    │   │           │   │           ├── virtualmachinescalesetextensions_client.go
    │   │           │   │           ├── virtualmachinescalesetrollingupgrades_client.go
    │   │           │   │           ├── virtualmachinescalesets_client.go
    │   │           │   │           ├── virtualmachinescalesetvmextensions_client.go
    │   │           │   │           ├── virtualmachinescalesetvmruncommands_client.go
    │   │           │   │           ├── virtualmachinescalesetvms_client.go
    │   │           │   │           └── virtualmachinesizes_client.go
    │   │           │   ├── network/
    │   │           │   │   └── armnetwork/
    │   │           │   │       └── v7/
    │   │           │   │           ├── CHANGELOG.md
    │   │           │   │           ├── LICENSE.txt
    │   │           │   │           ├── README.md
    │   │           │   │           ├── adminrulecollections_client.go
    │   │           │   │           ├── adminrules_client.go
    │   │           │   │           ├── applicationgatewayprivateendpointconnections_client.go
    │   │           │   │           ├── applicationgatewayprivatelinkresources_client.go
    │   │           │   │           ├── applicationgateways_client.go
    │   │           │   │           ├── applicationgatewaywafdynamicmanifests_client.go
    │   │           │   │           ├── applicationgatewaywafdynamicmanifestsdefault_client.go
    │   │           │   │           ├── applicationsecuritygroups_client.go
    │   │           │   │           ├── assets.json
    │   │           │   │           ├── autorest.md
    │   │           │   │           ├── availabledelegations_client.go
    │   │           │   │           ├── availableendpointservices_client.go
    │   │           │   │           ├── availableprivateendpointtypes_client.go
    │   │           │   │           ├── availableresourcegroupdelegations_client.go
    │   │           │   │           ├── availableservicealiases_client.go
    │   │           │   │           ├── azurefirewallfqdntags_client.go
    │   │           │   │           ├── azurefirewalls_client.go
    │   │           │   │           ├── bastionhosts_client.go
    │   │           │   │           ├── bgpservicecommunities_client.go
    │   │           │   │           ├── build.go
    │   │           │   │           ├── ci.yml
    │   │           │   │           ├── client_factory.go
    │   │           │   │           ├── configurationpolicygroups_client.go
    │   │           │   │           ├── connectionmonitors_client.go
    │   │           │   │           ├── connectivityconfigurations_client.go
    │   │           │   │           ├── constants.go
    │   │           │   │           ├── customipprefixes_client.go
    │   │           │   │           ├── ddoscustompolicies_client.go
    │   │           │   │           ├── ddosprotectionplans_client.go
    │   │           │   │           ├── defaultsecurityrules_client.go
    │   │           │   │           ├── dscpconfiguration_client.go
    │   │           │   │           ├── expressroutecircuitauthorizations_client.go
    │   │           │   │           ├── expressroutecircuitconnections_client.go
    │   │           │   │           ├── expressroutecircuitpeerings_client.go
    │   │           │   │           ├── expressroutecircuits_client.go
    │   │           │   │           ├── expressrouteconnections_client.go
    │   │           │   │           ├── expressroutecrossconnectionpeerings_client.go
    │   │           │   │           ├── expressroutecrossconnections_client.go
    │   │           │   │           ├── expressroutegateways_client.go
    │   │           │   │           ├── expressroutelinks_client.go
    │   │           │   │           ├── expressrouteportauthorizations_client.go
    │   │           │   │           ├── expressrouteports_client.go
    │   │           │   │           ├── expressrouteportslocations_client.go
    │   │           │   │           ├── expressrouteproviderportslocation_client.go
    │   │           │   │           ├── expressrouteserviceproviders_client.go
    │   │           │   │           ├── firewallpolicies_client.go
    │   │           │   │           ├── firewallpolicydeployments_client.go
    │   │           │   │           ├── firewallpolicydrafts_client.go
    │   │           │   │           ├── firewallpolicyidpssignatures_client.go
    │   │           │   │           ├── firewallpolicyidpssignaturesfiltervalues_client.go
    │   │           │   │           ├── firewallpolicyidpssignaturesoverrides_client.go
    │   │           │   │           ├── firewallpolicyrulecollectiongroupdrafts_client.go
    │   │           │   │           ├── firewallpolicyrulecollectiongroups_client.go
    │   │           │   │           ├── flowlogs_client.go
    │   │           │   │           ├── groups_client.go
    │   │           │   │           ├── hubroutetables_client.go
    │   │           │   │           ├── hubvirtualnetworkconnections_client.go
    │   │           │   │           ├── inboundnatrules_client.go
    │   │           │   │           ├── inboundsecurityrule_client.go
    │   │           │   │           ├── interfaceipconfigurations_client.go
    │   │           │   │           ├── interfaceloadbalancers_client.go
    │   │           │   │           ├── interfaces.go
    │   │           │   │           ├── interfaces_client.go
    │   │           │   │           ├── interfacetapconfigurations_client.go
    │   │           │   │           ├── ipallocations_client.go
    │   │           │   │           ├── ipampools_client.go
    │   │           │   │           ├── ipgroups_client.go
    │   │           │   │           ├── loadbalancerbackendaddresspools_client.go
    │   │           │   │           ├── loadbalancerfrontendipconfigurations_client.go
    │   │           │   │           ├── loadbalancerloadbalancingrules_client.go
    │   │           │   │           ├── loadbalancernetworkinterfaces_client.go
    │   │           │   │           ├── loadbalanceroutboundrules_client.go
    │   │           │   │           ├── loadbalancerprobes_client.go
    │   │           │   │           ├── loadbalancers_client.go
    │   │           │   │           ├── localnetworkgateways_client.go
    │   │           │   │           ├── management_client.go
    │   │           │   │           ├── managementgroupnetworkmanagerconnections_client.go
    │   │           │   │           ├── managercommits_client.go
    │   │           │   │           ├── managerdeploymentstatus_client.go
    │   │           │   │           ├── managerroutingconfigurations_client.go
    │   │           │   │           ├── managers_client.go
    │   │           │   │           ├── models.go
    │   │           │   │           ├── models_serde.go
    │   │           │   │           ├── natgateways_client.go
    │   │           │   │           ├── natrules_client.go
    │   │           │   │           ├── operations_client.go
    │   │           │   │           ├── options.go
    │   │           │   │           ├── p2svpngateways_client.go
    │   │           │   │           ├── packetcaptures_client.go
    │   │           │   │           ├── peerexpressroutecircuitconnections_client.go
    │   │           │   │           ├── polymorphic_helpers.go
    │   │           │   │           ├── privatednszonegroups_client.go
    │   │           │   │           ├── privateendpoints_client.go
    │   │           │   │           ├── privatelinkservices_client.go
    │   │           │   │           ├── profiles_client.go
    │   │           │   │           ├── publicipaddresses_client.go
    │   │           │   │           ├── publicipprefixes_client.go
    │   │           │   │           ├── reachabilityanalysisintents_client.go
    │   │           │   │           ├── reachabilityanalysisruns_client.go
    │   │           │   │           ├── resourcenavigationlinks_client.go
    │   │           │   │           ├── responses.go
    │   │           │   │           ├── responses_serde.go
    │   │           │   │           ├── routefilterrules_client.go
    │   │           │   │           ├── routefilters_client.go
    │   │           │   │           ├── routemaps_client.go
    │   │           │   │           ├── routes_client.go
    │   │           │   │           ├── routetables_client.go
    │   │           │   │           ├── routingintent_client.go
    │   │           │   │           ├── routingrulecollections_client.go
    │   │           │   │           ├── routingrules_client.go
    │   │           │   │           ├── scopeconnections_client.go
    │   │           │   │           ├── securityadminconfigurations_client.go
    │   │           │   │           ├── securitygroups_client.go
    │   │           │   │           ├── securitypartnerproviders_client.go
    │   │           │   │           ├── securityperimeteraccessrules_client.go
    │   │           │   │           ├── securityperimeterassociableresourcetypes_client.go
    │   │           │   │           ├── securityperimeterassociations_client.go
    │   │           │   │           ├── securityperimeterlinkreferences_client.go
    │   │           │   │           ├── securityperimeterlinks_client.go
    │   │           │   │           ├── securityperimeterloggingconfigurations_client.go
    │   │           │   │           ├── securityperimeteroperationstatuses_client.go
    │   │           │   │           ├── securityperimeterprofiles_client.go
    │   │           │   │           ├── securityperimeters_client.go
    │   │           │   │           ├── securityrules_client.go
    │   │           │   │           ├── securityuserconfigurations_client.go
    │   │           │   │           ├── securityuserrulecollections_client.go
    │   │           │   │           ├── securityuserrules_client.go
    │   │           │   │           ├── serviceassociationlinks_client.go
    │   │           │   │           ├── serviceendpointpolicies_client.go
    │   │           │   │           ├── serviceendpointpolicydefinitions_client.go
    │   │           │   │           ├── servicetaginformation_client.go
    │   │           │   │           ├── servicetags_client.go
    │   │           │   │           ├── staticcidrs_client.go
    │   │           │   │           ├── staticmembers_client.go
    │   │           │   │           ├── subnets_client.go
    │   │           │   │           ├── subscriptionnetworkmanagerconnections_client.go
    │   │           │   │           ├── time_rfc3339.go
    │   │           │   │           ├── usages_client.go
    │   │           │   │           ├── verifierworkspaces_client.go
    │   │           │   │           ├── vipswap_client.go
    │   │           │   │           ├── virtualapplianceconnections_client.go
    │   │           │   │           ├── virtualappliances_client.go
    │   │           │   │           ├── virtualappliancesites_client.go
    │   │           │   │           ├── virtualapplianceskus_client.go
    │   │           │   │           ├── virtualhubbgpconnection_client.go
    │   │           │   │           ├── virtualhubbgpconnections_client.go
    │   │           │   │           ├── virtualhubipconfiguration_client.go
    │   │           │   │           ├── virtualhubroutetablev2s_client.go
    │   │           │   │           ├── virtualhubs_client.go
    │   │           │   │           ├── virtualnetworkgatewayconnections_client.go
    │   │           │   │           ├── virtualnetworkgatewaynatrules_client.go
    │   │           │   │           ├── virtualnetworkgateways_client.go
    │   │           │   │           ├── virtualnetworkpeerings_client.go
    │   │           │   │           ├── virtualnetworks_client.go
    │   │           │   │           ├── virtualnetworktaps_client.go
    │   │           │   │           ├── virtualrouterpeerings_client.go
    │   │           │   │           ├── virtualrouters_client.go
    │   │           │   │           ├── virtualwans_client.go
    │   │           │   │           ├── vpnconnections_client.go
    │   │           │   │           ├── vpngateways_client.go
    │   │           │   │           ├── vpnlinkconnections_client.go
    │   │           │   │           ├── vpnserverconfigurations_client.go
    │   │           │   │           ├── vpnserverconfigurationsassociatedwithvirtualwan_client.go
    │   │           │   │           ├── vpnsitelinkconnections_client.go
    │   │           │   │           ├── vpnsitelinks_client.go
    │   │           │   │           ├── vpnsites_client.go
    │   │           │   │           ├── vpnsitesconfiguration_client.go
    │   │           │   │           ├── watchers_client.go
    │   │           │   │           ├── webapplicationfirewallpolicies_client.go
    │   │           │   │           └── webcategories_client.go
    │   │           │   ├── resources/
    │   │           │   │   └── armresources/
    │   │           │   │       ├── CHANGELOG.md
    │   │           │   │       ├── LICENSE.txt
    │   │           │   │       ├── README.md
    │   │           │   │       ├── assets.json
    │   │           │   │       ├── autorest.md
    │   │           │   │       ├── build.go
    │   │           │   │       ├── ci.yml
    │   │           │   │       ├── client.go
    │   │           │   │       ├── client_factory.go
    │   │           │   │       ├── constants.go
    │   │           │   │       ├── deploymentoperations_client.go
    │   │           │   │       ├── deployments_client.go
    │   │           │   │       ├── models.go
    │   │           │   │       ├── models_serde.go
    │   │           │   │       ├── operations_client.go
    │   │           │   │       ├── options.go
    │   │           │   │       ├── providerresourcetypes_client.go
    │   │           │   │       ├── providers_client.go
    │   │           │   │       ├── resourcegroups_client.go
    │   │           │   │       ├── response_types.go
    │   │           │   │       ├── tags_client.go
    │   │           │   │       └── time_rfc3339.go
    │   │           │   └── storage/
    │   │           │       └── armstorage/
    │   │           │           ├── CHANGELOG.md
    │   │           │           ├── LICENSE.txt
    │   │           │           ├── README.md
    │   │           │           ├── accounts_client.go
    │   │           │           ├── assets.json
    │   │           │           ├── autorest.md
    │   │           │           ├── blobcontainers_client.go
    │   │           │           ├── blobinventorypolicies_client.go
    │   │           │           ├── blobservices_client.go
    │   │           │           ├── build.go
    │   │           │           ├── ci.yml
    │   │           │           ├── client_factory.go
    │   │           │           ├── constants.go
    │   │           │           ├── deletedaccounts_client.go
    │   │           │           ├── encryptionscopes_client.go
    │   │           │           ├── fileservices_client.go
    │   │           │           ├── fileshares_client.go
    │   │           │           ├── localusers_client.go
    │   │           │           ├── managementpolicies_client.go
    │   │           │           ├── models.go
    │   │           │           ├── models_serde.go
    │   │           │           ├── networksecurityperimeterconfigurations_client.go
    │   │           │           ├── objectreplicationpolicies_client.go
    │   │           │           ├── operations_client.go
    │   │           │           ├── options.go
    │   │           │           ├── privateendpointconnections_client.go
    │   │           │           ├── privatelinkresources_client.go
    │   │           │           ├── queue_client.go
    │   │           │           ├── queueservices_client.go
    │   │           │           ├── responses.go
    │   │           │           ├── skus_client.go
    │   │           │           ├── table_client.go
    │   │           │           ├── tableservices_client.go
    │   │           │           ├── taskassignmentinstancesreport_client.go
    │   │           │           ├── taskassignments_client.go
    │   │           │           ├── taskassignmentsinstancesreport_client.go
    │   │           │           ├── time_rfc1123.go
    │   │           │           ├── time_rfc3339.go
    │   │           │           └── usages_client.go
    │   │           └── storage/
    │   │               └── azblob/
    │   │                   ├── CHANGELOG.md
    │   │                   ├── LICENSE.txt
    │   │                   ├── README.md
    │   │                   ├── appendblob/
    │   │                   │   ├── client.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── assets.json
    │   │                   ├── blob/
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   ├── responses.go
    │   │                   │   ├── retry_reader.go
    │   │                   │   └── utils.go
    │   │                   ├── bloberror/
    │   │                   │   └── error_codes.go
    │   │                   ├── blockblob/
    │   │                   │   ├── chunkwriting.go
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── ci.yml
    │   │                   ├── client.go
    │   │                   ├── common.go
    │   │                   ├── constants.go
    │   │                   ├── container/
    │   │                   │   ├── batch_builder.go
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── doc.go
    │   │                   ├── internal/
    │   │                   │   ├── base/
    │   │                   │   │   └── clients.go
    │   │                   │   ├── exported/
    │   │                   │   │   ├── access_conditions.go
    │   │                   │   │   ├── access_policy.go
    │   │                   │   │   ├── blob_batch.go
    │   │                   │   │   ├── exported.go
    │   │                   │   │   ├── log_events.go
    │   │                   │   │   ├── set_expiry.go
    │   │                   │   │   ├── shared_key_credential.go
    │   │                   │   │   ├── transfer_validation_option.go
    │   │                   │   │   ├── user_delegation_credential.go
    │   │                   │   │   └── version.go
    │   │                   │   ├── generated/
    │   │                   │   │   ├── appendblob_client.go
    │   │                   │   │   ├── autorest.md
    │   │                   │   │   ├── blob_client.go
    │   │                   │   │   ├── block_blob_client.go
    │   │                   │   │   ├── build.go
    │   │                   │   │   ├── constants.go
    │   │                   │   │   ├── container_client.go
    │   │                   │   │   ├── models.go
    │   │                   │   │   ├── pageblob_client.go
    │   │                   │   │   ├── service_client.go
    │   │                   │   │   ├── zz_appendblob_client.go
    │   │                   │   │   ├── zz_blob_client.go
    │   │                   │   │   ├── zz_blockblob_client.go
    │   │                   │   │   ├── zz_constants.go
    │   │                   │   │   ├── zz_container_client.go
    │   │                   │   │   ├── zz_models.go
    │   │                   │   │   ├── zz_models_serde.go
    │   │                   │   │   ├── zz_options.go
    │   │                   │   │   ├── zz_pageblob_client.go
    │   │                   │   │   ├── zz_responses.go
    │   │                   │   │   ├── zz_service_client.go
    │   │                   │   │   ├── zz_time_rfc1123.go
    │   │                   │   │   ├── zz_time_rfc3339.go
    │   │                   │   │   └── zz_xml_helper.go
    │   │                   │   └── shared/
    │   │                   │       ├── batch_transfer.go
    │   │                   │       ├── buffer_manager.go
    │   │                   │       ├── bytes_writer.go
    │   │                   │       ├── challenge_policy.go
    │   │                   │       ├── mmf_unix.go
    │   │                   │       ├── mmf_windows.go
    │   │                   │       ├── section_writer.go
    │   │                   │       └── shared.go
    │   │                   ├── log.go
    │   │                   ├── migrationguide.md
    │   │                   ├── models.go
    │   │                   ├── pageblob/
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── responses.go
    │   │                   ├── sas/
    │   │                   │   ├── account.go
    │   │                   │   ├── query_params.go
    │   │                   │   ├── service.go
    │   │                   │   └── url_parts.go
    │   │                   ├── service/
    │   │                   │   ├── batch_builder.go
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   └── test-resources.json
    │   ├── AzureAD/
    │   │   └── microsoft-authentication-library-for-go/
    │   │       ├── LICENSE
    │   │       └── apps/
    │   │           ├── cache/
    │   │           │   └── cache.go
    │   │           ├── confidential/
    │   │           │   └── confidential.go
    │   │           ├── errors/
    │   │           │   ├── error_design.md
    │   │           │   └── errors.go
    │   │           ├── internal/
    │   │           │   ├── base/
    │   │           │   │   ├── base.go
    │   │           │   │   └── storage/
    │   │           │   │       ├── items.go
    │   │           │   │       ├── partitioned_storage.go
    │   │           │   │       └── storage.go
    │   │           │   ├── exported/
    │   │           │   │   └── exported.go
    │   │           │   ├── json/
    │   │           │   │   ├── design.md
    │   │           │   │   ├── json.go
    │   │           │   │   ├── mapslice.go
    │   │           │   │   ├── marshal.go
    │   │           │   │   ├── struct.go
    │   │           │   │   └── types/
    │   │           │   │       └── time/
    │   │           │   │           └── time.go
    │   │           │   ├── local/
    │   │           │   │   └── server.go
    │   │           │   ├── oauth/
    │   │           │   │   ├── oauth.go
    │   │           │   │   ├── ops/
    │   │           │   │   │   ├── accesstokens/
    │   │           │   │   │   │   ├── accesstokens.go
    │   │           │   │   │   │   ├── apptype_string.go
    │   │           │   │   │   │   └── tokens.go
    │   │           │   │   │   ├── authority/
    │   │           │   │   │   │   ├── authority.go
    │   │           │   │   │   │   └── authorizetype_string.go
    │   │           │   │   │   ├── internal/
    │   │           │   │   │   │   ├── comm/
    │   │           │   │   │   │   │   ├── comm.go
    │   │           │   │   │   │   │   └── compress.go
    │   │           │   │   │   │   └── grant/
    │   │           │   │   │   │       └── grant.go
    │   │           │   │   │   ├── ops.go
    │   │           │   │   │   └── wstrust/
    │   │           │   │   │       ├── defs/
    │   │           │   │   │       │   ├── endpointtype_string.go
    │   │           │   │   │       │   ├── mex_document_definitions.go
    │   │           │   │   │       │   ├── saml_assertion_definitions.go
    │   │           │   │   │       │   ├── version_string.go
    │   │           │   │   │       │   ├── wstrust_endpoint.go
    │   │           │   │   │       │   └── wstrust_mex_document.go
    │   │           │   │   │       └── wstrust.go
    │   │           │   │   └── resolvers.go
    │   │           │   ├── options/
    │   │           │   │   └── options.go
    │   │           │   ├── shared/
    │   │           │   │   └── shared.go
    │   │           │   └── version/
    │   │           │       └── version.go
    │   │           ├── managedidentity/
    │   │           │   ├── azure_ml.go
    │   │           │   ├── cloud_shell.go
    │   │           │   ├── managedidentity.go
    │   │           │   └── servicefabric.go
    │   │           └── public/
    │   │               └── public.go
    │   ├── BurntSushi/
    │   │   └── toml/
    │   │       ├── .gitignore
    │   │       ├── COPYING
    │   │       ├── README.md
    │   │       ├── decode.go
    │   │       ├── deprecated.go
    │   │       ├── doc.go
    │   │       ├── encode.go
    │   │       ├── error.go
    │   │       ├── internal/
    │   │       │   └── tz.go
    │   │       ├── lex.go
    │   │       ├── meta.go
    │   │       ├── parse.go
    │   │       ├── type_fields.go
    │   │       └── type_toml.go
    │   ├── GoogleCloudPlatform/
    │   │   └── opentelemetry-operations-go/
    │   │       ├── detectors/
    │   │       │   └── gcp/
    │   │       │       ├── LICENSE
    │   │       │       ├── README.md
    │   │       │       ├── app_engine.go
    │   │       │       ├── bms.go
    │   │       │       ├── detector.go
    │   │       │       ├── faas.go
    │   │       │       ├── gce.go
    │   │       │       └── gke.go
    │   │       ├── exporter/
    │   │       │   └── metric/
    │   │       │       ├── LICENSE
    │   │       │       ├── README.md
    │   │       │       ├── cloudmonitoring.go
    │   │       │       ├── constants.go
    │   │       │       ├── error.go
    │   │       │       ├── metric.go
    │   │       │       ├── option.go
    │   │       │       └── version.go
    │   │       └── internal/
    │   │           └── resourcemapping/
    │   │               ├── LICENSE
    │   │               └── resourcemapping.go
    │   ├── Microsoft/
    │   │   ├── go-winio/
    │   │   │   ├── .gitattributes
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── CODEOWNERS
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── backup.go
    │   │   │   ├── backuptar/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── strconv.go
    │   │   │   │   └── tar.go
    │   │   │   ├── doc.go
    │   │   │   ├── ea.go
    │   │   │   ├── file.go
    │   │   │   ├── fileinfo.go
    │   │   │   ├── hvsock.go
    │   │   │   ├── internal/
    │   │   │   │   ├── fs/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── fs.go
    │   │   │   │   │   ├── security.go
    │   │   │   │   │   └── zsyscall_windows.go
    │   │   │   │   ├── socket/
    │   │   │   │   │   ├── rawaddr.go
    │   │   │   │   │   ├── socket.go
    │   │   │   │   │   └── zsyscall_windows.go
    │   │   │   │   └── stringbuffer/
    │   │   │   │       └── wstring.go
    │   │   │   ├── pipe.go
    │   │   │   ├── pkg/
    │   │   │   │   └── guid/
    │   │   │   │       ├── guid.go
    │   │   │   │       ├── guid_nonwindows.go
    │   │   │   │       ├── guid_windows.go
    │   │   │   │       └── variant_string.go
    │   │   │   ├── privilege.go
    │   │   │   ├── reparse.go
    │   │   │   ├── sd.go
    │   │   │   ├── syscall.go
    │   │   │   ├── vhd/
    │   │   │   │   ├── vhd.go
    │   │   │   │   └── zvhd_windows.go
    │   │   │   └── zsyscall_windows.go
    │   │   └── hcsshim/
    │   │       ├── .clang-format
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODEOWNERS
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── Makefile.bootfiles
    │   │       ├── Protobuild.toml
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── computestorage/
    │   │       │   ├── attach.go
    │   │       │   ├── destroy.go
    │   │       │   ├── detach.go
    │   │       │   ├── export.go
    │   │       │   ├── format.go
    │   │       │   ├── helpers.go
    │   │       │   ├── import.go
    │   │       │   ├── initialize.go
    │   │       │   ├── mount.go
    │   │       │   ├── setup.go
    │   │       │   ├── storage.go
    │   │       │   └── zsyscall_windows.go
    │   │       ├── container.go
    │   │       ├── errors.go
    │   │       ├── hcsshim.go
    │   │       ├── hnsaccelnet.go
    │   │       ├── hnsendpoint.go
    │   │       ├── hnsglobals.go
    │   │       ├── hnsnetwork.go
    │   │       ├── hnspolicy.go
    │   │       ├── hnspolicylist.go
    │   │       ├── hnssupport.go
    │   │       ├── interface.go
    │   │       ├── internal/
    │   │       │   ├── cow/
    │   │       │   │   └── cow.go
    │   │       │   ├── hcs/
    │   │       │   │   ├── callback.go
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── errors.go
    │   │       │   │   ├── process.go
    │   │       │   │   ├── schema1/
    │   │       │   │   │   └── schema1.go
    │   │       │   │   ├── schema2/
    │   │       │   │   │   ├── attachment.go
    │   │       │   │   │   ├── battery.go
    │   │       │   │   │   ├── cache_query_stats_response.go
    │   │       │   │   │   ├── chipset.go
    │   │       │   │   │   ├── cimfs.go
    │   │       │   │   │   ├── close_handle.go
    │   │       │   │   │   ├── com_port.go
    │   │       │   │   │   ├── compute_system.go
    │   │       │   │   │   ├── configuration.go
    │   │       │   │   │   ├── console_size.go
    │   │       │   │   │   ├── container.go
    │   │       │   │   │   ├── container_credential_guard_add_instance_request.go
    │   │       │   │   │   ├── container_credential_guard_hv_socket_service_config.go
    │   │       │   │   │   ├── container_credential_guard_instance.go
    │   │       │   │   │   ├── container_credential_guard_modify_operation.go
    │   │       │   │   │   ├── container_credential_guard_operation_request.go
    │   │       │   │   │   ├── container_credential_guard_remove_instance_request.go
    │   │       │   │   │   ├── container_credential_guard_state.go
    │   │       │   │   │   ├── container_credential_guard_system_info.go
    │   │       │   │   │   ├── container_memory_information.go
    │   │       │   │   │   ├── cpu_group.go
    │   │       │   │   │   ├── cpu_group_affinity.go
    │   │       │   │   │   ├── cpu_group_config.go
    │   │       │   │   │   ├── cpu_group_configurations.go
    │   │       │   │   │   ├── cpu_group_operations.go
    │   │       │   │   │   ├── cpu_group_property.go
    │   │       │   │   │   ├── create_group_operation.go
    │   │       │   │   │   ├── debug_options.go
    │   │       │   │   │   ├── delete_group_operation.go
    │   │       │   │   │   ├── device.go
    │   │       │   │   │   ├── devices.go
    │   │       │   │   │   ├── enhanced_mode_video.go
    │   │       │   │   │   ├── firmware.go
    │   │       │   │   │   ├── flexible_io_device.go
    │   │       │   │   │   ├── guest_connection.go
    │   │       │   │   │   ├── guest_connection_info.go
    │   │       │   │   │   ├── guest_crash_reporting.go
    │   │       │   │   │   ├── guest_os.go
    │   │       │   │   │   ├── guest_state.go
    │   │       │   │   │   ├── host_processor_modify_request.go
    │   │       │   │   │   ├── hosted_system.go
    │   │       │   │   │   ├── hv_socket.go
    │   │       │   │   │   ├── hv_socket_2.go
    │   │       │   │   │   ├── hv_socket_address.go
    │   │       │   │   │   ├── hv_socket_service_config.go
    │   │       │   │   │   ├── hv_socket_system_config.go
    │   │       │   │   │   ├── interrupt_moderation_mode.go
    │   │       │   │   │   ├── iov_settings.go
    │   │       │   │   │   ├── isolation_settings.go
    │   │       │   │   │   ├── keyboard.go
    │   │       │   │   │   ├── layer.go
    │   │       │   │   │   ├── linux_kernel_direct.go
    │   │       │   │   │   ├── logical_processor.go
    │   │       │   │   │   ├── mapped_directory.go
    │   │       │   │   │   ├── mapped_pipe.go
    │   │       │   │   │   ├── memory.go
    │   │       │   │   │   ├── memory_backing_type.go
    │   │       │   │   │   ├── memory_information_for_vm.go
    │   │       │   │   │   ├── memory_stats.go
    │   │       │   │   │   ├── model_container_definition_device.go
    │   │       │   │   │   ├── model_device_category.go
    │   │       │   │   │   ├── model_device_extension.go
    │   │       │   │   │   ├── model_device_instance.go
    │   │       │   │   │   ├── model_device_namespace.go
    │   │       │   │   │   ├── model_interface_class.go
    │   │       │   │   │   ├── model_namespace.go
    │   │       │   │   │   ├── model_object_directory.go
    │   │       │   │   │   ├── model_object_namespace.go
    │   │       │   │   │   ├── model_object_symlink.go
    │   │       │   │   │   ├── modification_request.go
    │   │       │   │   │   ├── modify_setting_request.go
    │   │       │   │   │   ├── mouse.go
    │   │       │   │   │   ├── network_adapter.go
    │   │       │   │   │   ├── networking.go
    │   │       │   │   │   ├── numa.go
    │   │       │   │   │   ├── numa_node.go
    │   │       │   │   │   ├── numa_node_memory.go
    │   │       │   │   │   ├── numa_node_processor.go
    │   │       │   │   │   ├── numa_processors.go
    │   │       │   │   │   ├── numa_setting.go
    │   │       │   │   │   ├── pause_notification.go
    │   │       │   │   │   ├── pause_options.go
    │   │       │   │   │   ├── plan9.go
    │   │       │   │   │   ├── plan9_share.go
    │   │       │   │   │   ├── process_details.go
    │   │       │   │   │   ├── process_modify_request.go
    │   │       │   │   │   ├── process_parameters.go
    │   │       │   │   │   ├── process_status.go
    │   │       │   │   │   ├── processor.go
    │   │       │   │   │   ├── processor_stats.go
    │   │       │   │   │   ├── processor_topology.go
    │   │       │   │   │   ├── properties.go
    │   │       │   │   │   ├── property_query.go
    │   │       │   │   │   ├── property_type.go
    │   │       │   │   │   ├── rdp_connection_options.go
    │   │       │   │   │   ├── registry_changes.go
    │   │       │   │   │   ├── registry_hive.go
    │   │       │   │   │   ├── registry_key.go
    │   │       │   │   │   ├── registry_value.go
    │   │       │   │   │   ├── registry_value_type.go
    │   │       │   │   │   ├── restore_state.go
    │   │       │   │   │   ├── save_options.go
    │   │       │   │   │   ├── scsi.go
    │   │       │   │   │   ├── security_settings.go
    │   │       │   │   │   ├── service_properties.go
    │   │       │   │   │   ├── shared_memory_configuration.go
    │   │       │   │   │   ├── shared_memory_region.go
    │   │       │   │   │   ├── shared_memory_region_info.go
    │   │       │   │   │   ├── silo_properties.go
    │   │       │   │   │   ├── statistics.go
    │   │       │   │   │   ├── storage.go
    │   │       │   │   │   ├── storage_qo_s.go
    │   │       │   │   │   ├── storage_stats.go
    │   │       │   │   │   ├── system_time.go
    │   │       │   │   │   ├── time_zone_information.go
    │   │       │   │   │   ├── topology.go
    │   │       │   │   │   ├── uefi.go
    │   │       │   │   │   ├── uefi_boot_entry.go
    │   │       │   │   │   ├── version.go
    │   │       │   │   │   ├── video_monitor.go
    │   │       │   │   │   ├── virtual_machine.go
    │   │       │   │   │   ├── virtual_machine_memory.go
    │   │       │   │   │   ├── virtual_machine_processor.go
    │   │       │   │   │   ├── virtual_node_info.go
    │   │       │   │   │   ├── virtual_p_mem_controller.go
    │   │       │   │   │   ├── virtual_p_mem_device.go
    │   │       │   │   │   ├── virtual_p_mem_mapping.go
    │   │       │   │   │   ├── virtual_pci_device.go
    │   │       │   │   │   ├── virtual_pci_function.go
    │   │       │   │   │   ├── virtual_slit_type.go
    │   │       │   │   │   ├── virtual_smb.go
    │   │       │   │   │   ├── virtual_smb_share.go
    │   │       │   │   │   ├── virtual_smb_share_options.go
    │   │       │   │   │   ├── vm_memory.go
    │   │       │   │   │   ├── vm_processor_limits.go
    │   │       │   │   │   └── windows_crash_reporting.go
    │   │       │   │   ├── service.go
    │   │       │   │   ├── system.go
    │   │       │   │   ├── utils.go
    │   │       │   │   └── waithelper.go
    │   │       │   ├── hcserror/
    │   │       │   │   ├── doc.go
    │   │       │   │   └── hcserror.go
    │   │       │   ├── hns/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── hns.go
    │   │       │   │   ├── hnsaccelnet.go
    │   │       │   │   ├── hnsendpoint.go
    │   │       │   │   ├── hnsfuncs.go
    │   │       │   │   ├── hnsglobals.go
    │   │       │   │   ├── hnsnetwork.go
    │   │       │   │   ├── hnspolicy.go
    │   │       │   │   ├── hnspolicylist.go
    │   │       │   │   ├── hnssupport.go
    │   │       │   │   ├── namespace.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── interop/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── interop.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── jobobject/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── iocp.go
    │   │       │   │   ├── jobobject.go
    │   │       │   │   └── limits.go
    │   │       │   ├── log/
    │   │       │   │   ├── context.go
    │   │       │   │   ├── format.go
    │   │       │   │   ├── hook.go
    │   │       │   │   ├── nopformatter.go
    │   │       │   │   └── scrub.go
    │   │       │   ├── logfields/
    │   │       │   │   └── fields.go
    │   │       │   ├── longpath/
    │   │       │   │   └── longpath.go
    │   │       │   ├── memory/
    │   │       │   │   ├── pool.go
    │   │       │   │   └── types.go
    │   │       │   ├── mergemaps/
    │   │       │   │   └── merge.go
    │   │       │   ├── oc/
    │   │       │   │   ├── errors.go
    │   │       │   │   ├── exporter.go
    │   │       │   │   └── span.go
    │   │       │   ├── protocol/
    │   │       │   │   └── guestrequest/
    │   │       │   │       └── types.go
    │   │       │   ├── queue/
    │   │       │   │   └── mq.go
    │   │       │   ├── safefile/
    │   │       │   │   ├── do.go
    │   │       │   │   └── safeopen.go
    │   │       │   ├── security/
    │   │       │   │   ├── grantvmgroupaccess.go
    │   │       │   │   ├── syscall_windows.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── timeout/
    │   │       │   │   └── timeout.go
    │   │       │   ├── vmcompute/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── vmcompute.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── wclayer/
    │   │       │   │   ├── activatelayer.go
    │   │       │   │   ├── baselayerreader.go
    │   │       │   │   ├── baselayerwriter.go
    │   │       │   │   ├── converttobaselayer.go
    │   │       │   │   ├── createlayer.go
    │   │       │   │   ├── createscratchlayer.go
    │   │       │   │   ├── deactivatelayer.go
    │   │       │   │   ├── destroylayer.go
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── expandscratchsize.go
    │   │       │   │   ├── exportlayer.go
    │   │       │   │   ├── getlayermountpath.go
    │   │       │   │   ├── getsharedbaseimages.go
    │   │       │   │   ├── grantvmaccess.go
    │   │       │   │   ├── importlayer.go
    │   │       │   │   ├── layerexists.go
    │   │       │   │   ├── layerid.go
    │   │       │   │   ├── layerutils.go
    │   │       │   │   ├── legacy.go
    │   │       │   │   ├── nametoguid.go
    │   │       │   │   ├── preparelayer.go
    │   │       │   │   ├── processimage.go
    │   │       │   │   ├── unpreparelayer.go
    │   │       │   │   ├── wclayer.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   └── winapi/
    │   │       │       ├── bindflt.go
    │   │       │       ├── cimfs.go
    │   │       │       ├── console.go
    │   │       │       ├── devices.go
    │   │       │       ├── doc.go
    │   │       │       ├── elevation.go
    │   │       │       ├── errors.go
    │   │       │       ├── filesystem.go
    │   │       │       ├── jobobject.go
    │   │       │       ├── logon.go
    │   │       │       ├── memory.go
    │   │       │       ├── net.go
    │   │       │       ├── offlinereg.go
    │   │       │       ├── path.go
    │   │       │       ├── process.go
    │   │       │       ├── processor.go
    │   │       │       ├── system.go
    │   │       │       ├── thread.go
    │   │       │       ├── user.go
    │   │       │       ├── utils.go
    │   │       │       ├── winapi.go
    │   │       │       └── zsyscall_windows.go
    │   │       ├── layer.go
    │   │       ├── osversion/
    │   │       │   ├── osversion_windows.go
    │   │       │   ├── platform_compat_windows.go
    │   │       │   └── windowsbuilds.go
    │   │       ├── process.go
    │   │       └── zsyscall_windows.go
    │   ├── VividCortex/
    │   │   └── ewma/
    │   │       ├── .gitignore
    │   │       ├── .whitesource
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── codecov.yml
    │   │       └── ewma.go
    │   ├── acarl005/
    │   │   └── stripansi/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── stripansi.go
    │   ├── aws/
    │   │   ├── aws-sdk-go-v2/
    │   │   │   ├── LICENSE.txt
    │   │   │   ├── NOTICE.txt
    │   │   │   ├── aws/
    │   │   │   │   ├── accountid_endpoint_mode.go
    │   │   │   │   ├── arn/
    │   │   │   │   │   └── arn.go
    │   │   │   │   ├── checksum.go
    │   │   │   │   ├── config.go
    │   │   │   │   ├── context.go
    │   │   │   │   ├── credential_cache.go
    │   │   │   │   ├── credentials.go
    │   │   │   │   ├── defaults/
    │   │   │   │   │   ├── auto.go
    │   │   │   │   │   ├── configuration.go
    │   │   │   │   │   ├── defaults.go
    │   │   │   │   │   └── doc.go
    │   │   │   │   ├── defaultsmode.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── endpoints.go
    │   │   │   │   ├── errors.go
    │   │   │   │   ├── from_ptr.go
    │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   ├── logging.go
    │   │   │   │   ├── logging_generate.go
    │   │   │   │   ├── middleware/
    │   │   │   │   │   ├── metadata.go
    │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   ├── osname.go
    │   │   │   │   │   ├── osname_go115.go
    │   │   │   │   │   ├── recursion_detection.go
    │   │   │   │   │   ├── request_id.go
    │   │   │   │   │   ├── request_id_retriever.go
    │   │   │   │   │   └── user_agent.go
    │   │   │   │   ├── protocol/
    │   │   │   │   │   ├── ec2query/
    │   │   │   │   │   │   └── error_utils.go
    │   │   │   │   │   ├── eventstream/
    │   │   │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   │   │   ├── LICENSE.txt
    │   │   │   │   │   │   ├── debug.go
    │   │   │   │   │   │   ├── decode.go
    │   │   │   │   │   │   ├── encode.go
    │   │   │   │   │   │   ├── error.go
    │   │   │   │   │   │   ├── eventstreamapi/
    │   │   │   │   │   │   │   ├── headers.go
    │   │   │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   │   │   ├── transport.go
    │   │   │   │   │   │   │   └── transport_go117.go
    │   │   │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   │   │   ├── header.go
    │   │   │   │   │   │   ├── header_value.go
    │   │   │   │   │   │   └── message.go
    │   │   │   │   │   ├── query/
    │   │   │   │   │   │   ├── array.go
    │   │   │   │   │   │   ├── encoder.go
    │   │   │   │   │   │   ├── map.go
    │   │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   │   ├── object.go
    │   │   │   │   │   │   └── value.go
    │   │   │   │   │   ├── restjson/
    │   │   │   │   │   │   └── decoder_util.go
    │   │   │   │   │   └── xml/
    │   │   │   │   │       └── error_utils.go
    │   │   │   │   ├── ratelimit/
    │   │   │   │   │   ├── none.go
    │   │   │   │   │   ├── token_bucket.go
    │   │   │   │   │   └── token_rate_limit.go
    │   │   │   │   ├── request.go
    │   │   │   │   ├── retry/
    │   │   │   │   │   ├── adaptive.go
    │   │   │   │   │   ├── adaptive_ratelimit.go
    │   │   │   │   │   ├── adaptive_token_bucket.go
    │   │   │   │   │   ├── attempt_metrics.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── errors.go
    │   │   │   │   │   ├── jitter_backoff.go
    │   │   │   │   │   ├── metadata.go
    │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   ├── retry.go
    │   │   │   │   │   ├── retryable_error.go
    │   │   │   │   │   ├── standard.go
    │   │   │   │   │   ├── throttle_error.go
    │   │   │   │   │   └── timeout_error.go
    │   │   │   │   ├── retryer.go
    │   │   │   │   ├── runtime.go
    │   │   │   │   ├── signer/
    │   │   │   │   │   ├── internal/
    │   │   │   │   │   │   └── v4/
    │   │   │   │   │   │       ├── cache.go
    │   │   │   │   │   │       ├── const.go
    │   │   │   │   │   │       ├── header_rules.go
    │   │   │   │   │   │       ├── headers.go
    │   │   │   │   │   │       ├── hmac.go
    │   │   │   │   │   │       ├── host.go
    │   │   │   │   │   │       ├── scope.go
    │   │   │   │   │   │       ├── time.go
    │   │   │   │   │   │       └── util.go
    │   │   │   │   │   └── v4/
    │   │   │   │   │       ├── middleware.go
    │   │   │   │   │       ├── presign_middleware.go
    │   │   │   │   │       ├── stream.go
    │   │   │   │   │       └── v4.go
    │   │   │   │   ├── to_ptr.go
    │   │   │   │   ├── transport/
    │   │   │   │   │   └── http/
    │   │   │   │   │       ├── client.go
    │   │   │   │   │       ├── content_type.go
    │   │   │   │   │       ├── response_error.go
    │   │   │   │   │       ├── response_error_middleware.go
    │   │   │   │   │       └── timeout_read_closer.go
    │   │   │   │   ├── types.go
    │   │   │   │   └── version.go
    │   │   │   ├── config/
    │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   ├── LICENSE.txt
    │   │   │   │   ├── auth_scheme_preference.go
    │   │   │   │   ├── config.go
    │   │   │   │   ├── defaultsmode.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── env_config.go
    │   │   │   │   ├── generate.go
    │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   ├── load_options.go
    │   │   │   │   ├── local.go
    │   │   │   │   ├── provider.go
    │   │   │   │   ├── resolve.go
    │   │   │   │   ├── resolve_bearer_token.go
    │   │   │   │   ├── resolve_credentials.go
    │   │   │   │   └── shared_config.go
    │   │   │   ├── credentials/
    │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   ├── LICENSE.txt
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── ec2rolecreds/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── provider.go
    │   │   │   │   ├── endpointcreds/
    │   │   │   │   │   ├── internal/
    │   │   │   │   │   │   └── client/
    │   │   │   │   │   │       ├── auth.go
    │   │   │   │   │   │       ├── client.go
    │   │   │   │   │   │       ├── endpoints.go
    │   │   │   │   │   │       └── middleware.go
    │   │   │   │   │   └── provider.go
    │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   ├── logincreds/
    │   │   │   │   │   ├── dpop.go
    │   │   │   │   │   ├── file.go
    │   │   │   │   │   ├── provider.go
    │   │   │   │   │   └── token.go
    │   │   │   │   ├── processcreds/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── provider.go
    │   │   │   │   ├── ssocreds/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── sso_cached_token.go
    │   │   │   │   │   ├── sso_credentials_provider.go
    │   │   │   │   │   └── sso_token_provider.go
    │   │   │   │   ├── static_provider.go
    │   │   │   │   └── stscreds/
    │   │   │   │       ├── assume_role_provider.go
    │   │   │   │       └── web_identity_provider.go
    │   │   │   ├── feature/
    │   │   │   │   ├── ec2/
    │   │   │   │   │   └── imds/
    │   │   │   │   │       ├── CHANGELOG.md
    │   │   │   │   │       ├── LICENSE.txt
    │   │   │   │   │       ├── api_client.go
    │   │   │   │   │       ├── api_op_GetDynamicData.go
    │   │   │   │   │       ├── api_op_GetIAMInfo.go
    │   │   │   │   │       ├── api_op_GetInstanceIdentityDocument.go
    │   │   │   │   │       ├── api_op_GetMetadata.go
    │   │   │   │   │       ├── api_op_GetRegion.go
    │   │   │   │   │       ├── api_op_GetToken.go
    │   │   │   │   │       ├── api_op_GetUserData.go
    │   │   │   │   │       ├── auth.go
    │   │   │   │   │       ├── doc.go
    │   │   │   │   │       ├── endpoints.go
    │   │   │   │   │       ├── go_module_metadata.go
    │   │   │   │   │       ├── internal/
    │   │   │   │   │       │   └── config/
    │   │   │   │   │       │       └── resolvers.go
    │   │   │   │   │       ├── request_middleware.go
    │   │   │   │   │       └── token_provider.go
    │   │   │   │   └── s3/
    │   │   │   │       └── manager/
    │   │   │   │           ├── CHANGELOG.md
    │   │   │   │           ├── LICENSE.txt
    │   │   │   │           ├── api.go
    │   │   │   │           ├── arn.go
    │   │   │   │           ├── bucket_region.go
    │   │   │   │           ├── buffered_read_seeker.go
    │   │   │   │           ├── default_read_seeker_write_to.go
    │   │   │   │           ├── default_read_seeker_write_to_windows.go
    │   │   │   │           ├── default_writer_read_from.go
    │   │   │   │           ├── default_writer_read_from_windows.go
    │   │   │   │           ├── doc.go
    │   │   │   │           ├── download.go
    │   │   │   │           ├── go_module_metadata.go
    │   │   │   │           ├── pool.go
    │   │   │   │           ├── read_seeker_write_to.go
    │   │   │   │           ├── types.go
    │   │   │   │           ├── upload.go
    │   │   │   │           └── writer_read_from.go
    │   │   │   ├── internal/
    │   │   │   │   ├── auth/
    │   │   │   │   │   ├── auth.go
    │   │   │   │   │   ├── scheme.go
    │   │   │   │   │   └── smithy/
    │   │   │   │   │       ├── bearer_token_adapter.go
    │   │   │   │   │       ├── bearer_token_signer_adapter.go
    │   │   │   │   │       ├── credentials_adapter.go
    │   │   │   │   │       ├── smithy.go
    │   │   │   │   │       └── v4signer_adapter.go
    │   │   │   │   ├── awsutil/
    │   │   │   │   │   ├── copy.go
    │   │   │   │   │   ├── equal.go
    │   │   │   │   │   ├── prettify.go
    │   │   │   │   │   └── string_value.go
    │   │   │   │   ├── configsources/
    │   │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   │   ├── LICENSE.txt
    │   │   │   │   │   ├── config.go
    │   │   │   │   │   ├── endpoints.go
    │   │   │   │   │   └── go_module_metadata.go
    │   │   │   │   ├── context/
    │   │   │   │   │   └── context.go
    │   │   │   │   ├── endpoints/
    │   │   │   │   │   ├── awsrulesfn/
    │   │   │   │   │   │   ├── arn.go
    │   │   │   │   │   │   ├── doc.go
    │   │   │   │   │   │   ├── generate.go
    │   │   │   │   │   │   ├── host.go
    │   │   │   │   │   │   ├── partition.go
    │   │   │   │   │   │   ├── partitions.go
    │   │   │   │   │   │   └── partitions.json
    │   │   │   │   │   ├── endpoints.go
    │   │   │   │   │   └── v2/
    │   │   │   │   │       ├── CHANGELOG.md
    │   │   │   │   │       ├── LICENSE.txt
    │   │   │   │   │       ├── endpoints.go
    │   │   │   │   │       └── go_module_metadata.go
    │   │   │   │   ├── ini/
    │   │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   │   ├── LICENSE.txt
    │   │   │   │   │   ├── errors.go
    │   │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   │   ├── ini.go
    │   │   │   │   │   ├── parse.go
    │   │   │   │   │   ├── sections.go
    │   │   │   │   │   ├── strings.go
    │   │   │   │   │   ├── token.go
    │   │   │   │   │   ├── tokenize.go
    │   │   │   │   │   └── value.go
    │   │   │   │   ├── middleware/
    │   │   │   │   │   └── middleware.go
    │   │   │   │   ├── rand/
    │   │   │   │   │   └── rand.go
    │   │   │   │   ├── sdk/
    │   │   │   │   │   ├── interfaces.go
    │   │   │   │   │   └── time.go
    │   │   │   │   ├── sdkio/
    │   │   │   │   │   └── byte.go
    │   │   │   │   ├── shareddefaults/
    │   │   │   │   │   └── shared_config.go
    │   │   │   │   ├── strings/
    │   │   │   │   │   └── strings.go
    │   │   │   │   ├── sync/
    │   │   │   │   │   └── singleflight/
    │   │   │   │   │       ├── LICENSE
    │   │   │   │   │       ├── docs.go
    │   │   │   │   │       └── singleflight.go
    │   │   │   │   ├── timeconv/
    │   │   │   │   │   └── duration.go
    │   │   │   │   └── v4a/
    │   │   │   │       ├── CHANGELOG.md
    │   │   │   │       ├── LICENSE.txt
    │   │   │   │       ├── credentials.go
    │   │   │   │       ├── error.go
    │   │   │   │       ├── go_module_metadata.go
    │   │   │   │       ├── internal/
    │   │   │   │       │   ├── crypto/
    │   │   │   │       │   │   ├── compare.go
    │   │   │   │       │   │   └── ecc.go
    │   │   │   │       │   └── v4/
    │   │   │   │       │       ├── const.go
    │   │   │   │       │       ├── header_rules.go
    │   │   │   │       │       ├── headers.go
    │   │   │   │       │       ├── hmac.go
    │   │   │   │       │       ├── host.go
    │   │   │   │       │       ├── time.go
    │   │   │   │       │       └── util.go
    │   │   │   │       ├── middleware.go
    │   │   │   │       ├── presign_middleware.go
    │   │   │   │       ├── smithy.go
    │   │   │   │       └── v4a.go
    │   │   │   └── service/
    │   │   │       ├── autoscaling/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_AttachInstances.go
    │   │   │       │   ├── api_op_AttachLoadBalancerTargetGroups.go
    │   │   │       │   ├── api_op_AttachLoadBalancers.go
    │   │   │       │   ├── api_op_AttachTrafficSources.go
    │   │   │       │   ├── api_op_BatchDeleteScheduledAction.go
    │   │   │       │   ├── api_op_BatchPutScheduledUpdateGroupAction.go
    │   │   │       │   ├── api_op_CancelInstanceRefresh.go
    │   │   │       │   ├── api_op_CompleteLifecycleAction.go
    │   │   │       │   ├── api_op_CreateAutoScalingGroup.go
    │   │   │       │   ├── api_op_CreateLaunchConfiguration.go
    │   │   │       │   ├── api_op_CreateOrUpdateTags.go
    │   │   │       │   ├── api_op_DeleteAutoScalingGroup.go
    │   │   │       │   ├── api_op_DeleteLaunchConfiguration.go
    │   │   │       │   ├── api_op_DeleteLifecycleHook.go
    │   │   │       │   ├── api_op_DeleteNotificationConfiguration.go
    │   │   │       │   ├── api_op_DeletePolicy.go
    │   │   │       │   ├── api_op_DeleteScheduledAction.go
    │   │   │       │   ├── api_op_DeleteTags.go
    │   │   │       │   ├── api_op_DeleteWarmPool.go
    │   │   │       │   ├── api_op_DescribeAccountLimits.go
    │   │   │       │   ├── api_op_DescribeAdjustmentTypes.go
    │   │   │       │   ├── api_op_DescribeAutoScalingGroups.go
    │   │   │       │   ├── api_op_DescribeAutoScalingInstances.go
    │   │   │       │   ├── api_op_DescribeAutoScalingNotificationTypes.go
    │   │   │       │   ├── api_op_DescribeInstanceRefreshes.go
    │   │   │       │   ├── api_op_DescribeLaunchConfigurations.go
    │   │   │       │   ├── api_op_DescribeLifecycleHookTypes.go
    │   │   │       │   ├── api_op_DescribeLifecycleHooks.go
    │   │   │       │   ├── api_op_DescribeLoadBalancerTargetGroups.go
    │   │   │       │   ├── api_op_DescribeLoadBalancers.go
    │   │   │       │   ├── api_op_DescribeMetricCollectionTypes.go
    │   │   │       │   ├── api_op_DescribeNotificationConfigurations.go
    │   │   │       │   ├── api_op_DescribePolicies.go
    │   │   │       │   ├── api_op_DescribeScalingActivities.go
    │   │   │       │   ├── api_op_DescribeScalingProcessTypes.go
    │   │   │       │   ├── api_op_DescribeScheduledActions.go
    │   │   │       │   ├── api_op_DescribeTags.go
    │   │   │       │   ├── api_op_DescribeTerminationPolicyTypes.go
    │   │   │       │   ├── api_op_DescribeTrafficSources.go
    │   │   │       │   ├── api_op_DescribeWarmPool.go
    │   │   │       │   ├── api_op_DetachInstances.go
    │   │   │       │   ├── api_op_DetachLoadBalancerTargetGroups.go
    │   │   │       │   ├── api_op_DetachLoadBalancers.go
    │   │   │       │   ├── api_op_DetachTrafficSources.go
    │   │   │       │   ├── api_op_DisableMetricsCollection.go
    │   │   │       │   ├── api_op_EnableMetricsCollection.go
    │   │   │       │   ├── api_op_EnterStandby.go
    │   │   │       │   ├── api_op_ExecutePolicy.go
    │   │   │       │   ├── api_op_ExitStandby.go
    │   │   │       │   ├── api_op_GetPredictiveScalingForecast.go
    │   │   │       │   ├── api_op_LaunchInstances.go
    │   │   │       │   ├── api_op_PutLifecycleHook.go
    │   │   │       │   ├── api_op_PutNotificationConfiguration.go
    │   │   │       │   ├── api_op_PutScalingPolicy.go
    │   │   │       │   ├── api_op_PutScheduledUpdateGroupAction.go
    │   │   │       │   ├── api_op_PutWarmPool.go
    │   │   │       │   ├── api_op_RecordLifecycleActionHeartbeat.go
    │   │   │       │   ├── api_op_ResumeProcesses.go
    │   │   │       │   ├── api_op_RollbackInstanceRefresh.go
    │   │   │       │   ├── api_op_SetDesiredCapacity.go
    │   │   │       │   ├── api_op_SetInstanceHealth.go
    │   │   │       │   ├── api_op_SetInstanceProtection.go
    │   │   │       │   ├── api_op_StartInstanceRefresh.go
    │   │   │       │   ├── api_op_SuspendProcesses.go
    │   │   │       │   ├── api_op_TerminateInstanceInAutoScalingGroup.go
    │   │   │       │   ├── api_op_UpdateAutoScalingGroup.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── ec2/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_AcceptAddressTransfer.go
    │   │   │       │   ├── api_op_AcceptCapacityReservationBillingOwnership.go
    │   │   │       │   ├── api_op_AcceptReservedInstancesExchangeQuote.go
    │   │   │       │   ├── api_op_AcceptTransitGatewayMulticastDomainAssociations.go
    │   │   │       │   ├── api_op_AcceptTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_AcceptTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_AcceptVpcEndpointConnections.go
    │   │   │       │   ├── api_op_AcceptVpcPeeringConnection.go
    │   │   │       │   ├── api_op_AdvertiseByoipCidr.go
    │   │   │       │   ├── api_op_AllocateAddress.go
    │   │   │       │   ├── api_op_AllocateHosts.go
    │   │   │       │   ├── api_op_AllocateIpamPoolCidr.go
    │   │   │       │   ├── api_op_ApplySecurityGroupsToClientVpnTargetNetwork.go
    │   │   │       │   ├── api_op_AssignIpv6Addresses.go
    │   │   │       │   ├── api_op_AssignPrivateIpAddresses.go
    │   │   │       │   ├── api_op_AssignPrivateNatGatewayAddress.go
    │   │   │       │   ├── api_op_AssociateAddress.go
    │   │   │       │   ├── api_op_AssociateCapacityReservationBillingOwner.go
    │   │   │       │   ├── api_op_AssociateClientVpnTargetNetwork.go
    │   │   │       │   ├── api_op_AssociateDhcpOptions.go
    │   │   │       │   ├── api_op_AssociateEnclaveCertificateIamRole.go
    │   │   │       │   ├── api_op_AssociateIamInstanceProfile.go
    │   │   │       │   ├── api_op_AssociateInstanceEventWindow.go
    │   │   │       │   ├── api_op_AssociateIpamByoasn.go
    │   │   │       │   ├── api_op_AssociateIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_AssociateNatGatewayAddress.go
    │   │   │       │   ├── api_op_AssociateRouteServer.go
    │   │   │       │   ├── api_op_AssociateRouteTable.go
    │   │   │       │   ├── api_op_AssociateSecurityGroupVpc.go
    │   │   │       │   ├── api_op_AssociateSubnetCidrBlock.go
    │   │   │       │   ├── api_op_AssociateTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_AssociateTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_AssociateTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_AssociateTrunkInterface.go
    │   │   │       │   ├── api_op_AssociateVpcCidrBlock.go
    │   │   │       │   ├── api_op_AttachClassicLinkVpc.go
    │   │   │       │   ├── api_op_AttachInternetGateway.go
    │   │   │       │   ├── api_op_AttachNetworkInterface.go
    │   │   │       │   ├── api_op_AttachVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_AttachVolume.go
    │   │   │       │   ├── api_op_AttachVpnGateway.go
    │   │   │       │   ├── api_op_AuthorizeClientVpnIngress.go
    │   │   │       │   ├── api_op_AuthorizeSecurityGroupEgress.go
    │   │   │       │   ├── api_op_AuthorizeSecurityGroupIngress.go
    │   │   │       │   ├── api_op_BundleInstance.go
    │   │   │       │   ├── api_op_CancelBundleTask.go
    │   │   │       │   ├── api_op_CancelCapacityReservation.go
    │   │   │       │   ├── api_op_CancelCapacityReservationFleets.go
    │   │   │       │   ├── api_op_CancelConversionTask.go
    │   │   │       │   ├── api_op_CancelDeclarativePoliciesReport.go
    │   │   │       │   ├── api_op_CancelExportTask.go
    │   │   │       │   ├── api_op_CancelImageLaunchPermission.go
    │   │   │       │   ├── api_op_CancelImportTask.go
    │   │   │       │   ├── api_op_CancelReservedInstancesListing.go
    │   │   │       │   ├── api_op_CancelSpotFleetRequests.go
    │   │   │       │   ├── api_op_CancelSpotInstanceRequests.go
    │   │   │       │   ├── api_op_ConfirmProductInstance.go
    │   │   │       │   ├── api_op_CopyFpgaImage.go
    │   │   │       │   ├── api_op_CopyImage.go
    │   │   │       │   ├── api_op_CopySnapshot.go
    │   │   │       │   ├── api_op_CopyVolumes.go
    │   │   │       │   ├── api_op_CreateCapacityManagerDataExport.go
    │   │   │       │   ├── api_op_CreateCapacityReservation.go
    │   │   │       │   ├── api_op_CreateCapacityReservationBySplitting.go
    │   │   │       │   ├── api_op_CreateCapacityReservationFleet.go
    │   │   │       │   ├── api_op_CreateCarrierGateway.go
    │   │   │       │   ├── api_op_CreateClientVpnEndpoint.go
    │   │   │       │   ├── api_op_CreateClientVpnRoute.go
    │   │   │       │   ├── api_op_CreateCoipCidr.go
    │   │   │       │   ├── api_op_CreateCoipPool.go
    │   │   │       │   ├── api_op_CreateCustomerGateway.go
    │   │   │       │   ├── api_op_CreateDefaultSubnet.go
    │   │   │       │   ├── api_op_CreateDefaultVpc.go
    │   │   │       │   ├── api_op_CreateDelegateMacVolumeOwnershipTask.go
    │   │   │       │   ├── api_op_CreateDhcpOptions.go
    │   │   │       │   ├── api_op_CreateEgressOnlyInternetGateway.go
    │   │   │       │   ├── api_op_CreateFleet.go
    │   │   │       │   ├── api_op_CreateFlowLogs.go
    │   │   │       │   ├── api_op_CreateFpgaImage.go
    │   │   │       │   ├── api_op_CreateImage.go
    │   │   │       │   ├── api_op_CreateImageUsageReport.go
    │   │   │       │   ├── api_op_CreateInstanceConnectEndpoint.go
    │   │   │       │   ├── api_op_CreateInstanceEventWindow.go
    │   │   │       │   ├── api_op_CreateInstanceExportTask.go
    │   │   │       │   ├── api_op_CreateInternetGateway.go
    │   │   │       │   ├── api_op_CreateInterruptibleCapacityReservationAllocation.go
    │   │   │       │   ├── api_op_CreateIpam.go
    │   │   │       │   ├── api_op_CreateIpamExternalResourceVerificationToken.go
    │   │   │       │   ├── api_op_CreateIpamPolicy.go
    │   │   │       │   ├── api_op_CreateIpamPool.go
    │   │   │       │   ├── api_op_CreateIpamPrefixListResolver.go
    │   │   │       │   ├── api_op_CreateIpamPrefixListResolverTarget.go
    │   │   │       │   ├── api_op_CreateIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_CreateIpamScope.go
    │   │   │       │   ├── api_op_CreateKeyPair.go
    │   │   │       │   ├── api_op_CreateLaunchTemplate.go
    │   │   │       │   ├── api_op_CreateLaunchTemplateVersion.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRoute.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRouteTable.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRouteTableVpcAssociation.go
    │   │   │       │   ├── api_op_CreateLocalGatewayVirtualInterface.go
    │   │   │       │   ├── api_op_CreateLocalGatewayVirtualInterfaceGroup.go
    │   │   │       │   ├── api_op_CreateMacSystemIntegrityProtectionModificationTask.go
    │   │   │       │   ├── api_op_CreateManagedPrefixList.go
    │   │   │       │   ├── api_op_CreateNatGateway.go
    │   │   │       │   ├── api_op_CreateNetworkAcl.go
    │   │   │       │   ├── api_op_CreateNetworkAclEntry.go
    │   │   │       │   ├── api_op_CreateNetworkInsightsAccessScope.go
    │   │   │       │   ├── api_op_CreateNetworkInsightsPath.go
    │   │   │       │   ├── api_op_CreateNetworkInterface.go
    │   │   │       │   ├── api_op_CreateNetworkInterfacePermission.go
    │   │   │       │   ├── api_op_CreatePlacementGroup.go
    │   │   │       │   ├── api_op_CreatePublicIpv4Pool.go
    │   │   │       │   ├── api_op_CreateReplaceRootVolumeTask.go
    │   │   │       │   ├── api_op_CreateReservedInstancesListing.go
    │   │   │       │   ├── api_op_CreateRestoreImageTask.go
    │   │   │       │   ├── api_op_CreateRoute.go
    │   │   │       │   ├── api_op_CreateRouteServer.go
    │   │   │       │   ├── api_op_CreateRouteServerEndpoint.go
    │   │   │       │   ├── api_op_CreateRouteServerPeer.go
    │   │   │       │   ├── api_op_CreateRouteTable.go
    │   │   │       │   ├── api_op_CreateSecondaryNetwork.go
    │   │   │       │   ├── api_op_CreateSecondarySubnet.go
    │   │   │       │   ├── api_op_CreateSecurityGroup.go
    │   │   │       │   ├── api_op_CreateSnapshot.go
    │   │   │       │   ├── api_op_CreateSnapshots.go
    │   │   │       │   ├── api_op_CreateSpotDatafeedSubscription.go
    │   │   │       │   ├── api_op_CreateStoreImageTask.go
    │   │   │       │   ├── api_op_CreateSubnet.go
    │   │   │       │   ├── api_op_CreateSubnetCidrReservation.go
    │   │   │       │   ├── api_op_CreateTags.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorFilter.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorFilterRule.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorSession.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorTarget.go
    │   │   │       │   ├── api_op_CreateTransitGateway.go
    │   │   │       │   ├── api_op_CreateTransitGatewayConnect.go
    │   │   │       │   ├── api_op_CreateTransitGatewayConnectPeer.go
    │   │   │       │   ├── api_op_CreateTransitGatewayMeteringPolicy.go
    │   │   │       │   ├── api_op_CreateTransitGatewayMeteringPolicyEntry.go
    │   │   │       │   ├── api_op_CreateTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_CreateTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_CreateTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_CreateTransitGatewayPrefixListReference.go
    │   │   │       │   ├── api_op_CreateTransitGatewayRoute.go
    │   │   │       │   ├── api_op_CreateTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_CreateTransitGatewayRouteTableAnnouncement.go
    │   │   │       │   ├── api_op_CreateTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessEndpoint.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessGroup.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessInstance.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_CreateVolume.go
    │   │   │       │   ├── api_op_CreateVpc.go
    │   │   │       │   ├── api_op_CreateVpcBlockPublicAccessExclusion.go
    │   │   │       │   ├── api_op_CreateVpcEncryptionControl.go
    │   │   │       │   ├── api_op_CreateVpcEndpoint.go
    │   │   │       │   ├── api_op_CreateVpcEndpointConnectionNotification.go
    │   │   │       │   ├── api_op_CreateVpcEndpointServiceConfiguration.go
    │   │   │       │   ├── api_op_CreateVpcPeeringConnection.go
    │   │   │       │   ├── api_op_CreateVpnConcentrator.go
    │   │   │       │   ├── api_op_CreateVpnConnection.go
    │   │   │       │   ├── api_op_CreateVpnConnectionRoute.go
    │   │   │       │   ├── api_op_CreateVpnGateway.go
    │   │   │       │   ├── api_op_DeleteCapacityManagerDataExport.go
    │   │   │       │   ├── api_op_DeleteCarrierGateway.go
    │   │   │       │   ├── api_op_DeleteClientVpnEndpoint.go
    │   │   │       │   ├── api_op_DeleteClientVpnRoute.go
    │   │   │       │   ├── api_op_DeleteCoipCidr.go
    │   │   │       │   ├── api_op_DeleteCoipPool.go
    │   │   │       │   ├── api_op_DeleteCustomerGateway.go
    │   │   │       │   ├── api_op_DeleteDhcpOptions.go
    │   │   │       │   ├── api_op_DeleteEgressOnlyInternetGateway.go
    │   │   │       │   ├── api_op_DeleteFleets.go
    │   │   │       │   ├── api_op_DeleteFlowLogs.go
    │   │   │       │   ├── api_op_DeleteFpgaImage.go
    │   │   │       │   ├── api_op_DeleteImageUsageReport.go
    │   │   │       │   ├── api_op_DeleteInstanceConnectEndpoint.go
    │   │   │       │   ├── api_op_DeleteInstanceEventWindow.go
    │   │   │       │   ├── api_op_DeleteInternetGateway.go
    │   │   │       │   ├── api_op_DeleteIpam.go
    │   │   │       │   ├── api_op_DeleteIpamExternalResourceVerificationToken.go
    │   │   │       │   ├── api_op_DeleteIpamPolicy.go
    │   │   │       │   ├── api_op_DeleteIpamPool.go
    │   │   │       │   ├── api_op_DeleteIpamPrefixListResolver.go
    │   │   │       │   ├── api_op_DeleteIpamPrefixListResolverTarget.go
    │   │   │       │   ├── api_op_DeleteIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_DeleteIpamScope.go
    │   │   │       │   ├── api_op_DeleteKeyPair.go
    │   │   │       │   ├── api_op_DeleteLaunchTemplate.go
    │   │   │       │   ├── api_op_DeleteLaunchTemplateVersions.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRoute.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRouteTable.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRouteTableVpcAssociation.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayVirtualInterface.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayVirtualInterfaceGroup.go
    │   │   │       │   ├── api_op_DeleteManagedPrefixList.go
    │   │   │       │   ├── api_op_DeleteNatGateway.go
    │   │   │       │   ├── api_op_DeleteNetworkAcl.go
    │   │   │       │   ├── api_op_DeleteNetworkAclEntry.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsAccessScope.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsAccessScopeAnalysis.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsAnalysis.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsPath.go
    │   │   │       │   ├── api_op_DeleteNetworkInterface.go
    │   │   │       │   ├── api_op_DeleteNetworkInterfacePermission.go
    │   │   │       │   ├── api_op_DeletePlacementGroup.go
    │   │   │       │   ├── api_op_DeletePublicIpv4Pool.go
    │   │   │       │   ├── api_op_DeleteQueuedReservedInstances.go
    │   │   │       │   ├── api_op_DeleteRoute.go
    │   │   │       │   ├── api_op_DeleteRouteServer.go
    │   │   │       │   ├── api_op_DeleteRouteServerEndpoint.go
    │   │   │       │   ├── api_op_DeleteRouteServerPeer.go
    │   │   │       │   ├── api_op_DeleteRouteTable.go
    │   │   │       │   ├── api_op_DeleteSecondaryNetwork.go
    │   │   │       │   ├── api_op_DeleteSecondarySubnet.go
    │   │   │       │   ├── api_op_DeleteSecurityGroup.go
    │   │   │       │   ├── api_op_DeleteSnapshot.go
    │   │   │       │   ├── api_op_DeleteSpotDatafeedSubscription.go
    │   │   │       │   ├── api_op_DeleteSubnet.go
    │   │   │       │   ├── api_op_DeleteSubnetCidrReservation.go
    │   │   │       │   ├── api_op_DeleteTags.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorFilter.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorFilterRule.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorSession.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorTarget.go
    │   │   │       │   ├── api_op_DeleteTransitGateway.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayConnect.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayConnectPeer.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayMeteringPolicy.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayMeteringPolicyEntry.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayPrefixListReference.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayRoute.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayRouteTableAnnouncement.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessEndpoint.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessGroup.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessInstance.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_DeleteVolume.go
    │   │   │       │   ├── api_op_DeleteVpc.go
    │   │   │       │   ├── api_op_DeleteVpcBlockPublicAccessExclusion.go
    │   │   │       │   ├── api_op_DeleteVpcEncryptionControl.go
    │   │   │       │   ├── api_op_DeleteVpcEndpointConnectionNotifications.go
    │   │   │       │   ├── api_op_DeleteVpcEndpointServiceConfigurations.go
    │   │   │       │   ├── api_op_DeleteVpcEndpoints.go
    │   │   │       │   ├── api_op_DeleteVpcPeeringConnection.go
    │   │   │       │   ├── api_op_DeleteVpnConcentrator.go
    │   │   │       │   ├── api_op_DeleteVpnConnection.go
    │   │   │       │   ├── api_op_DeleteVpnConnectionRoute.go
    │   │   │       │   ├── api_op_DeleteVpnGateway.go
    │   │   │       │   ├── api_op_DeprovisionByoipCidr.go
    │   │   │       │   ├── api_op_DeprovisionIpamByoasn.go
    │   │   │       │   ├── api_op_DeprovisionIpamPoolCidr.go
    │   │   │       │   ├── api_op_DeprovisionPublicIpv4PoolCidr.go
    │   │   │       │   ├── api_op_DeregisterImage.go
    │   │   │       │   ├── api_op_DeregisterInstanceEventNotificationAttributes.go
    │   │   │       │   ├── api_op_DeregisterTransitGatewayMulticastGroupMembers.go
    │   │   │       │   ├── api_op_DeregisterTransitGatewayMulticastGroupSources.go
    │   │   │       │   ├── api_op_DescribeAccountAttributes.go
    │   │   │       │   ├── api_op_DescribeAddressTransfers.go
    │   │   │       │   ├── api_op_DescribeAddresses.go
    │   │   │       │   ├── api_op_DescribeAddressesAttribute.go
    │   │   │       │   ├── api_op_DescribeAggregateIdFormat.go
    │   │   │       │   ├── api_op_DescribeAvailabilityZones.go
    │   │   │       │   ├── api_op_DescribeAwsNetworkPerformanceMetricSubscriptions.go
    │   │   │       │   ├── api_op_DescribeBundleTasks.go
    │   │   │       │   ├── api_op_DescribeByoipCidrs.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockExtensionHistory.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockExtensionOfferings.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockOfferings.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockStatus.go
    │   │   │       │   ├── api_op_DescribeCapacityBlocks.go
    │   │   │       │   ├── api_op_DescribeCapacityManagerDataExports.go
    │   │   │       │   ├── api_op_DescribeCapacityReservationBillingRequests.go
    │   │   │       │   ├── api_op_DescribeCapacityReservationFleets.go
    │   │   │       │   ├── api_op_DescribeCapacityReservationTopology.go
    │   │   │       │   ├── api_op_DescribeCapacityReservations.go
    │   │   │       │   ├── api_op_DescribeCarrierGateways.go
    │   │   │       │   ├── api_op_DescribeClassicLinkInstances.go
    │   │   │       │   ├── api_op_DescribeClientVpnAuthorizationRules.go
    │   │   │       │   ├── api_op_DescribeClientVpnConnections.go
    │   │   │       │   ├── api_op_DescribeClientVpnEndpoints.go
    │   │   │       │   ├── api_op_DescribeClientVpnRoutes.go
    │   │   │       │   ├── api_op_DescribeClientVpnTargetNetworks.go
    │   │   │       │   ├── api_op_DescribeCoipPools.go
    │   │   │       │   ├── api_op_DescribeConversionTasks.go
    │   │   │       │   ├── api_op_DescribeCustomerGateways.go
    │   │   │       │   ├── api_op_DescribeDeclarativePoliciesReports.go
    │   │   │       │   ├── api_op_DescribeDhcpOptions.go
    │   │   │       │   ├── api_op_DescribeEgressOnlyInternetGateways.go
    │   │   │       │   ├── api_op_DescribeElasticGpus.go
    │   │   │       │   ├── api_op_DescribeExportImageTasks.go
    │   │   │       │   ├── api_op_DescribeExportTasks.go
    │   │   │       │   ├── api_op_DescribeFastLaunchImages.go
    │   │   │       │   ├── api_op_DescribeFastSnapshotRestores.go
    │   │   │       │   ├── api_op_DescribeFleetHistory.go
    │   │   │       │   ├── api_op_DescribeFleetInstances.go
    │   │   │       │   ├── api_op_DescribeFleets.go
    │   │   │       │   ├── api_op_DescribeFlowLogs.go
    │   │   │       │   ├── api_op_DescribeFpgaImageAttribute.go
    │   │   │       │   ├── api_op_DescribeFpgaImages.go
    │   │   │       │   ├── api_op_DescribeHostReservationOfferings.go
    │   │   │       │   ├── api_op_DescribeHostReservations.go
    │   │   │       │   ├── api_op_DescribeHosts.go
    │   │   │       │   ├── api_op_DescribeIamInstanceProfileAssociations.go
    │   │   │       │   ├── api_op_DescribeIdFormat.go
    │   │   │       │   ├── api_op_DescribeIdentityIdFormat.go
    │   │   │       │   ├── api_op_DescribeImageAttribute.go
    │   │   │       │   ├── api_op_DescribeImageReferences.go
    │   │   │       │   ├── api_op_DescribeImageUsageReportEntries.go
    │   │   │       │   ├── api_op_DescribeImageUsageReports.go
    │   │   │       │   ├── api_op_DescribeImages.go
    │   │   │       │   ├── api_op_DescribeImportImageTasks.go
    │   │   │       │   ├── api_op_DescribeImportSnapshotTasks.go
    │   │   │       │   ├── api_op_DescribeInstanceAttribute.go
    │   │   │       │   ├── api_op_DescribeInstanceConnectEndpoints.go
    │   │   │       │   ├── api_op_DescribeInstanceCreditSpecifications.go
    │   │   │       │   ├── api_op_DescribeInstanceEventNotificationAttributes.go
    │   │   │       │   ├── api_op_DescribeInstanceEventWindows.go
    │   │   │       │   ├── api_op_DescribeInstanceImageMetadata.go
    │   │   │       │   ├── api_op_DescribeInstanceSqlHaHistoryStates.go
    │   │   │       │   ├── api_op_DescribeInstanceSqlHaStates.go
    │   │   │       │   ├── api_op_DescribeInstanceStatus.go
    │   │   │       │   ├── api_op_DescribeInstanceTopology.go
    │   │   │       │   ├── api_op_DescribeInstanceTypeOfferings.go
    │   │   │       │   ├── api_op_DescribeInstanceTypes.go
    │   │   │       │   ├── api_op_DescribeInstances.go
    │   │   │       │   ├── api_op_DescribeInternetGateways.go
    │   │   │       │   ├── api_op_DescribeIpamByoasn.go
    │   │   │       │   ├── api_op_DescribeIpamExternalResourceVerificationTokens.go
    │   │   │       │   ├── api_op_DescribeIpamPolicies.go
    │   │   │       │   ├── api_op_DescribeIpamPools.go
    │   │   │       │   ├── api_op_DescribeIpamPrefixListResolverTargets.go
    │   │   │       │   ├── api_op_DescribeIpamPrefixListResolvers.go
    │   │   │       │   ├── api_op_DescribeIpamResourceDiscoveries.go
    │   │   │       │   ├── api_op_DescribeIpamResourceDiscoveryAssociations.go
    │   │   │       │   ├── api_op_DescribeIpamScopes.go
    │   │   │       │   ├── api_op_DescribeIpams.go
    │   │   │       │   ├── api_op_DescribeIpv6Pools.go
    │   │   │       │   ├── api_op_DescribeKeyPairs.go
    │   │   │       │   ├── api_op_DescribeLaunchTemplateVersions.go
    │   │   │       │   ├── api_op_DescribeLaunchTemplates.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayRouteTableVpcAssociations.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayRouteTables.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayVirtualInterfaceGroups.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayVirtualInterfaces.go
    │   │   │       │   ├── api_op_DescribeLocalGateways.go
    │   │   │       │   ├── api_op_DescribeLockedSnapshots.go
    │   │   │       │   ├── api_op_DescribeMacHosts.go
    │   │   │       │   ├── api_op_DescribeMacModificationTasks.go
    │   │   │       │   ├── api_op_DescribeManagedPrefixLists.go
    │   │   │       │   ├── api_op_DescribeMovingAddresses.go
    │   │   │       │   ├── api_op_DescribeNatGateways.go
    │   │   │       │   ├── api_op_DescribeNetworkAcls.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsAccessScopeAnalyses.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsAccessScopes.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsAnalyses.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsPaths.go
    │   │   │       │   ├── api_op_DescribeNetworkInterfaceAttribute.go
    │   │   │       │   ├── api_op_DescribeNetworkInterfacePermissions.go
    │   │   │       │   ├── api_op_DescribeNetworkInterfaces.go
    │   │   │       │   ├── api_op_DescribeOutpostLags.go
    │   │   │       │   ├── api_op_DescribePlacementGroups.go
    │   │   │       │   ├── api_op_DescribePrefixLists.go
    │   │   │       │   ├── api_op_DescribePrincipalIdFormat.go
    │   │   │       │   ├── api_op_DescribePublicIpv4Pools.go
    │   │   │       │   ├── api_op_DescribeRegions.go
    │   │   │       │   ├── api_op_DescribeReplaceRootVolumeTasks.go
    │   │   │       │   ├── api_op_DescribeReservedInstances.go
    │   │   │       │   ├── api_op_DescribeReservedInstancesListings.go
    │   │   │       │   ├── api_op_DescribeReservedInstancesModifications.go
    │   │   │       │   ├── api_op_DescribeReservedInstancesOfferings.go
    │   │   │       │   ├── api_op_DescribeRouteServerEndpoints.go
    │   │   │       │   ├── api_op_DescribeRouteServerPeers.go
    │   │   │       │   ├── api_op_DescribeRouteServers.go
    │   │   │       │   ├── api_op_DescribeRouteTables.go
    │   │   │       │   ├── api_op_DescribeScheduledInstanceAvailability.go
    │   │   │       │   ├── api_op_DescribeScheduledInstances.go
    │   │   │       │   ├── api_op_DescribeSecondaryInterfaces.go
    │   │   │       │   ├── api_op_DescribeSecondaryNetworks.go
    │   │   │       │   ├── api_op_DescribeSecondarySubnets.go
    │   │   │       │   ├── api_op_DescribeSecurityGroupReferences.go
    │   │   │       │   ├── api_op_DescribeSecurityGroupRules.go
    │   │   │       │   ├── api_op_DescribeSecurityGroupVpcAssociations.go
    │   │   │       │   ├── api_op_DescribeSecurityGroups.go
    │   │   │       │   ├── api_op_DescribeServiceLinkVirtualInterfaces.go
    │   │   │       │   ├── api_op_DescribeSnapshotAttribute.go
    │   │   │       │   ├── api_op_DescribeSnapshotTierStatus.go
    │   │   │       │   ├── api_op_DescribeSnapshots.go
    │   │   │       │   ├── api_op_DescribeSpotDatafeedSubscription.go
    │   │   │       │   ├── api_op_DescribeSpotFleetInstances.go
    │   │   │       │   ├── api_op_DescribeSpotFleetRequestHistory.go
    │   │   │       │   ├── api_op_DescribeSpotFleetRequests.go
    │   │   │       │   ├── api_op_DescribeSpotInstanceRequests.go
    │   │   │       │   ├── api_op_DescribeSpotPriceHistory.go
    │   │   │       │   ├── api_op_DescribeStaleSecurityGroups.go
    │   │   │       │   ├── api_op_DescribeStoreImageTasks.go
    │   │   │       │   ├── api_op_DescribeSubnets.go
    │   │   │       │   ├── api_op_DescribeTags.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorFilterRules.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorFilters.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorSessions.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorTargets.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayAttachments.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayConnectPeers.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayConnects.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayMeteringPolicies.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayMulticastDomains.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayPeeringAttachments.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayPolicyTables.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayRouteTableAnnouncements.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayRouteTables.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayVpcAttachments.go
    │   │   │       │   ├── api_op_DescribeTransitGateways.go
    │   │   │       │   ├── api_op_DescribeTrunkInterfaceAssociations.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessEndpoints.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessGroups.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessInstanceLoggingConfigurations.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessInstances.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessTrustProviders.go
    │   │   │       │   ├── api_op_DescribeVolumeAttribute.go
    │   │   │       │   ├── api_op_DescribeVolumeStatus.go
    │   │   │       │   ├── api_op_DescribeVolumes.go
    │   │   │       │   ├── api_op_DescribeVolumesModifications.go
    │   │   │       │   ├── api_op_DescribeVpcAttribute.go
    │   │   │       │   ├── api_op_DescribeVpcBlockPublicAccessExclusions.go
    │   │   │       │   ├── api_op_DescribeVpcBlockPublicAccessOptions.go
    │   │   │       │   ├── api_op_DescribeVpcClassicLink.go
    │   │   │       │   ├── api_op_DescribeVpcClassicLinkDnsSupport.go
    │   │   │       │   ├── api_op_DescribeVpcEncryptionControls.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointAssociations.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointConnectionNotifications.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointConnections.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointServiceConfigurations.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointServicePermissions.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointServices.go
    │   │   │       │   ├── api_op_DescribeVpcEndpoints.go
    │   │   │       │   ├── api_op_DescribeVpcPeeringConnections.go
    │   │   │       │   ├── api_op_DescribeVpcs.go
    │   │   │       │   ├── api_op_DescribeVpnConcentrators.go
    │   │   │       │   ├── api_op_DescribeVpnConnections.go
    │   │   │       │   ├── api_op_DescribeVpnGateways.go
    │   │   │       │   ├── api_op_DetachClassicLinkVpc.go
    │   │   │       │   ├── api_op_DetachInternetGateway.go
    │   │   │       │   ├── api_op_DetachNetworkInterface.go
    │   │   │       │   ├── api_op_DetachVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_DetachVolume.go
    │   │   │       │   ├── api_op_DetachVpnGateway.go
    │   │   │       │   ├── api_op_DisableAddressTransfer.go
    │   │   │       │   ├── api_op_DisableAllowedImagesSettings.go
    │   │   │       │   ├── api_op_DisableAwsNetworkPerformanceMetricSubscription.go
    │   │   │       │   ├── api_op_DisableCapacityManager.go
    │   │   │       │   ├── api_op_DisableEbsEncryptionByDefault.go
    │   │   │       │   ├── api_op_DisableFastLaunch.go
    │   │   │       │   ├── api_op_DisableFastSnapshotRestores.go
    │   │   │       │   ├── api_op_DisableImage.go
    │   │   │       │   ├── api_op_DisableImageBlockPublicAccess.go
    │   │   │       │   ├── api_op_DisableImageDeprecation.go
    │   │   │       │   ├── api_op_DisableImageDeregistrationProtection.go
    │   │   │       │   ├── api_op_DisableInstanceSqlHaStandbyDetections.go
    │   │   │       │   ├── api_op_DisableIpamOrganizationAdminAccount.go
    │   │   │       │   ├── api_op_DisableIpamPolicy.go
    │   │   │       │   ├── api_op_DisableRouteServerPropagation.go
    │   │   │       │   ├── api_op_DisableSerialConsoleAccess.go
    │   │   │       │   ├── api_op_DisableSnapshotBlockPublicAccess.go
    │   │   │       │   ├── api_op_DisableTransitGatewayRouteTablePropagation.go
    │   │   │       │   ├── api_op_DisableVgwRoutePropagation.go
    │   │   │       │   ├── api_op_DisableVpcClassicLink.go
    │   │   │       │   ├── api_op_DisableVpcClassicLinkDnsSupport.go
    │   │   │       │   ├── api_op_DisassociateAddress.go
    │   │   │       │   ├── api_op_DisassociateCapacityReservationBillingOwner.go
    │   │   │       │   ├── api_op_DisassociateClientVpnTargetNetwork.go
    │   │   │       │   ├── api_op_DisassociateEnclaveCertificateIamRole.go
    │   │   │       │   ├── api_op_DisassociateIamInstanceProfile.go
    │   │   │       │   ├── api_op_DisassociateInstanceEventWindow.go
    │   │   │       │   ├── api_op_DisassociateIpamByoasn.go
    │   │   │       │   ├── api_op_DisassociateIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_DisassociateNatGatewayAddress.go
    │   │   │       │   ├── api_op_DisassociateRouteServer.go
    │   │   │       │   ├── api_op_DisassociateRouteTable.go
    │   │   │       │   ├── api_op_DisassociateSecurityGroupVpc.go
    │   │   │       │   ├── api_op_DisassociateSubnetCidrBlock.go
    │   │   │       │   ├── api_op_DisassociateTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_DisassociateTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_DisassociateTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_DisassociateTrunkInterface.go
    │   │   │       │   ├── api_op_DisassociateVpcCidrBlock.go
    │   │   │       │   ├── api_op_EnableAddressTransfer.go
    │   │   │       │   ├── api_op_EnableAllowedImagesSettings.go
    │   │   │       │   ├── api_op_EnableAwsNetworkPerformanceMetricSubscription.go
    │   │   │       │   ├── api_op_EnableCapacityManager.go
    │   │   │       │   ├── api_op_EnableEbsEncryptionByDefault.go
    │   │   │       │   ├── api_op_EnableFastLaunch.go
    │   │   │       │   ├── api_op_EnableFastSnapshotRestores.go
    │   │   │       │   ├── api_op_EnableImage.go
    │   │   │       │   ├── api_op_EnableImageBlockPublicAccess.go
    │   │   │       │   ├── api_op_EnableImageDeprecation.go
    │   │   │       │   ├── api_op_EnableImageDeregistrationProtection.go
    │   │   │       │   ├── api_op_EnableInstanceSqlHaStandbyDetections.go
    │   │   │       │   ├── api_op_EnableIpamOrganizationAdminAccount.go
    │   │   │       │   ├── api_op_EnableIpamPolicy.go
    │   │   │       │   ├── api_op_EnableReachabilityAnalyzerOrganizationSharing.go
    │   │   │       │   ├── api_op_EnableRouteServerPropagation.go
    │   │   │       │   ├── api_op_EnableSerialConsoleAccess.go
    │   │   │       │   ├── api_op_EnableSnapshotBlockPublicAccess.go
    │   │   │       │   ├── api_op_EnableTransitGatewayRouteTablePropagation.go
    │   │   │       │   ├── api_op_EnableVgwRoutePropagation.go
    │   │   │       │   ├── api_op_EnableVolumeIO.go
    │   │   │       │   ├── api_op_EnableVpcClassicLink.go
    │   │   │       │   ├── api_op_EnableVpcClassicLinkDnsSupport.go
    │   │   │       │   ├── api_op_ExportClientVpnClientCertificateRevocationList.go
    │   │   │       │   ├── api_op_ExportClientVpnClientConfiguration.go
    │   │   │       │   ├── api_op_ExportImage.go
    │   │   │       │   ├── api_op_ExportTransitGatewayRoutes.go
    │   │   │       │   ├── api_op_ExportVerifiedAccessInstanceClientConfiguration.go
    │   │   │       │   ├── api_op_GetActiveVpnTunnelStatus.go
    │   │   │       │   ├── api_op_GetAllowedImagesSettings.go
    │   │   │       │   ├── api_op_GetAssociatedEnclaveCertificateIamRoles.go
    │   │   │       │   ├── api_op_GetAssociatedIpv6PoolCidrs.go
    │   │   │       │   ├── api_op_GetAwsNetworkPerformanceData.go
    │   │   │       │   ├── api_op_GetCapacityManagerAttributes.go
    │   │   │       │   ├── api_op_GetCapacityManagerMetricData.go
    │   │   │       │   ├── api_op_GetCapacityManagerMetricDimensions.go
    │   │   │       │   ├── api_op_GetCapacityReservationUsage.go
    │   │   │       │   ├── api_op_GetCoipPoolUsage.go
    │   │   │       │   ├── api_op_GetConsoleOutput.go
    │   │   │       │   ├── api_op_GetConsoleScreenshot.go
    │   │   │       │   ├── api_op_GetDeclarativePoliciesReportSummary.go
    │   │   │       │   ├── api_op_GetDefaultCreditSpecification.go
    │   │   │       │   ├── api_op_GetEbsDefaultKmsKeyId.go
    │   │   │       │   ├── api_op_GetEbsEncryptionByDefault.go
    │   │   │       │   ├── api_op_GetEnabledIpamPolicy.go
    │   │   │       │   ├── api_op_GetFlowLogsIntegrationTemplate.go
    │   │   │       │   ├── api_op_GetGroupsForCapacityReservation.go
    │   │   │       │   ├── api_op_GetHostReservationPurchasePreview.go
    │   │   │       │   ├── api_op_GetImageAncestry.go
    │   │   │       │   ├── api_op_GetImageBlockPublicAccessState.go
    │   │   │       │   ├── api_op_GetInstanceMetadataDefaults.go
    │   │   │       │   ├── api_op_GetInstanceTpmEkPub.go
    │   │   │       │   ├── api_op_GetInstanceTypesFromInstanceRequirements.go
    │   │   │       │   ├── api_op_GetInstanceUefiData.go
    │   │   │       │   ├── api_op_GetIpamAddressHistory.go
    │   │   │       │   ├── api_op_GetIpamDiscoveredAccounts.go
    │   │   │       │   ├── api_op_GetIpamDiscoveredPublicAddresses.go
    │   │   │       │   ├── api_op_GetIpamDiscoveredResourceCidrs.go
    │   │   │       │   ├── api_op_GetIpamPolicyAllocationRules.go
    │   │   │       │   ├── api_op_GetIpamPolicyOrganizationTargets.go
    │   │   │       │   ├── api_op_GetIpamPoolAllocations.go
    │   │   │       │   ├── api_op_GetIpamPoolCidrs.go
    │   │   │       │   ├── api_op_GetIpamPrefixListResolverRules.go
    │   │   │       │   ├── api_op_GetIpamPrefixListResolverVersionEntries.go
    │   │   │       │   ├── api_op_GetIpamPrefixListResolverVersions.go
    │   │   │       │   ├── api_op_GetIpamResourceCidrs.go
    │   │   │       │   ├── api_op_GetLaunchTemplateData.go
    │   │   │       │   ├── api_op_GetManagedPrefixListAssociations.go
    │   │   │       │   ├── api_op_GetManagedPrefixListEntries.go
    │   │   │       │   ├── api_op_GetNetworkInsightsAccessScopeAnalysisFindings.go
    │   │   │       │   ├── api_op_GetNetworkInsightsAccessScopeContent.go
    │   │   │       │   ├── api_op_GetPasswordData.go
    │   │   │       │   ├── api_op_GetReservedInstancesExchangeQuote.go
    │   │   │       │   ├── api_op_GetRouteServerAssociations.go
    │   │   │       │   ├── api_op_GetRouteServerPropagations.go
    │   │   │       │   ├── api_op_GetRouteServerRoutingDatabase.go
    │   │   │       │   ├── api_op_GetSecurityGroupsForVpc.go
    │   │   │       │   ├── api_op_GetSerialConsoleAccessStatus.go
    │   │   │       │   ├── api_op_GetSnapshotBlockPublicAccessState.go
    │   │   │       │   ├── api_op_GetSpotPlacementScores.go
    │   │   │       │   ├── api_op_GetSubnetCidrReservations.go
    │   │   │       │   ├── api_op_GetTransitGatewayAttachmentPropagations.go
    │   │   │       │   ├── api_op_GetTransitGatewayMeteringPolicyEntries.go
    │   │   │       │   ├── api_op_GetTransitGatewayMulticastDomainAssociations.go
    │   │   │       │   ├── api_op_GetTransitGatewayPolicyTableAssociations.go
    │   │   │       │   ├── api_op_GetTransitGatewayPolicyTableEntries.go
    │   │   │       │   ├── api_op_GetTransitGatewayPrefixListReferences.go
    │   │   │       │   ├── api_op_GetTransitGatewayRouteTableAssociations.go
    │   │   │       │   ├── api_op_GetTransitGatewayRouteTablePropagations.go
    │   │   │       │   ├── api_op_GetVerifiedAccessEndpointPolicy.go
    │   │   │       │   ├── api_op_GetVerifiedAccessEndpointTargets.go
    │   │   │       │   ├── api_op_GetVerifiedAccessGroupPolicy.go
    │   │   │       │   ├── api_op_GetVpcResourcesBlockingEncryptionEnforcement.go
    │   │   │       │   ├── api_op_GetVpnConnectionDeviceSampleConfiguration.go
    │   │   │       │   ├── api_op_GetVpnConnectionDeviceTypes.go
    │   │   │       │   ├── api_op_GetVpnTunnelReplacementStatus.go
    │   │   │       │   ├── api_op_ImportClientVpnClientCertificateRevocationList.go
    │   │   │       │   ├── api_op_ImportImage.go
    │   │   │       │   ├── api_op_ImportInstance.go
    │   │   │       │   ├── api_op_ImportKeyPair.go
    │   │   │       │   ├── api_op_ImportSnapshot.go
    │   │   │       │   ├── api_op_ImportVolume.go
    │   │   │       │   ├── api_op_ListImagesInRecycleBin.go
    │   │   │       │   ├── api_op_ListSnapshotsInRecycleBin.go
    │   │   │       │   ├── api_op_ListVolumesInRecycleBin.go
    │   │   │       │   ├── api_op_LockSnapshot.go
    │   │   │       │   ├── api_op_ModifyAddressAttribute.go
    │   │   │       │   ├── api_op_ModifyAvailabilityZoneGroup.go
    │   │   │       │   ├── api_op_ModifyCapacityReservation.go
    │   │   │       │   ├── api_op_ModifyCapacityReservationFleet.go
    │   │   │       │   ├── api_op_ModifyClientVpnEndpoint.go
    │   │   │       │   ├── api_op_ModifyDefaultCreditSpecification.go
    │   │   │       │   ├── api_op_ModifyEbsDefaultKmsKeyId.go
    │   │   │       │   ├── api_op_ModifyFleet.go
    │   │   │       │   ├── api_op_ModifyFpgaImageAttribute.go
    │   │   │       │   ├── api_op_ModifyHosts.go
    │   │   │       │   ├── api_op_ModifyIdFormat.go
    │   │   │       │   ├── api_op_ModifyIdentityIdFormat.go
    │   │   │       │   ├── api_op_ModifyImageAttribute.go
    │   │   │       │   ├── api_op_ModifyInstanceAttribute.go
    │   │   │       │   ├── api_op_ModifyInstanceCapacityReservationAttributes.go
    │   │   │       │   ├── api_op_ModifyInstanceConnectEndpoint.go
    │   │   │       │   ├── api_op_ModifyInstanceCpuOptions.go
    │   │   │       │   ├── api_op_ModifyInstanceCreditSpecification.go
    │   │   │       │   ├── api_op_ModifyInstanceEventStartTime.go
    │   │   │       │   ├── api_op_ModifyInstanceEventWindow.go
    │   │   │       │   ├── api_op_ModifyInstanceMaintenanceOptions.go
    │   │   │       │   ├── api_op_ModifyInstanceMetadataDefaults.go
    │   │   │       │   ├── api_op_ModifyInstanceMetadataOptions.go
    │   │   │       │   ├── api_op_ModifyInstanceNetworkPerformanceOptions.go
    │   │   │       │   ├── api_op_ModifyInstancePlacement.go
    │   │   │       │   ├── api_op_ModifyIpam.go
    │   │   │       │   ├── api_op_ModifyIpamPolicyAllocationRules.go
    │   │   │       │   ├── api_op_ModifyIpamPool.go
    │   │   │       │   ├── api_op_ModifyIpamPrefixListResolver.go
    │   │   │       │   ├── api_op_ModifyIpamPrefixListResolverTarget.go
    │   │   │       │   ├── api_op_ModifyIpamResourceCidr.go
    │   │   │       │   ├── api_op_ModifyIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_ModifyIpamScope.go
    │   │   │       │   ├── api_op_ModifyLaunchTemplate.go
    │   │   │       │   ├── api_op_ModifyLocalGatewayRoute.go
    │   │   │       │   ├── api_op_ModifyManagedPrefixList.go
    │   │   │       │   ├── api_op_ModifyNetworkInterfaceAttribute.go
    │   │   │       │   ├── api_op_ModifyPrivateDnsNameOptions.go
    │   │   │       │   ├── api_op_ModifyPublicIpDnsNameOptions.go
    │   │   │       │   ├── api_op_ModifyReservedInstances.go
    │   │   │       │   ├── api_op_ModifyRouteServer.go
    │   │   │       │   ├── api_op_ModifySecurityGroupRules.go
    │   │   │       │   ├── api_op_ModifySnapshotAttribute.go
    │   │   │       │   ├── api_op_ModifySnapshotTier.go
    │   │   │       │   ├── api_op_ModifySpotFleetRequest.go
    │   │   │       │   ├── api_op_ModifySubnetAttribute.go
    │   │   │       │   ├── api_op_ModifyTrafficMirrorFilterNetworkServices.go
    │   │   │       │   ├── api_op_ModifyTrafficMirrorFilterRule.go
    │   │   │       │   ├── api_op_ModifyTrafficMirrorSession.go
    │   │   │       │   ├── api_op_ModifyTransitGateway.go
    │   │   │       │   ├── api_op_ModifyTransitGatewayMeteringPolicy.go
    │   │   │       │   ├── api_op_ModifyTransitGatewayPrefixListReference.go
    │   │   │       │   ├── api_op_ModifyTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessEndpoint.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessEndpointPolicy.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessGroup.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessGroupPolicy.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessInstance.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessInstanceLoggingConfiguration.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_ModifyVolume.go
    │   │   │       │   ├── api_op_ModifyVolumeAttribute.go
    │   │   │       │   ├── api_op_ModifyVpcAttribute.go
    │   │   │       │   ├── api_op_ModifyVpcBlockPublicAccessExclusion.go
    │   │   │       │   ├── api_op_ModifyVpcBlockPublicAccessOptions.go
    │   │   │       │   ├── api_op_ModifyVpcEncryptionControl.go
    │   │   │       │   ├── api_op_ModifyVpcEndpoint.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointConnectionNotification.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointServiceConfiguration.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointServicePayerResponsibility.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointServicePermissions.go
    │   │   │       │   ├── api_op_ModifyVpcPeeringConnectionOptions.go
    │   │   │       │   ├── api_op_ModifyVpcTenancy.go
    │   │   │       │   ├── api_op_ModifyVpnConnection.go
    │   │   │       │   ├── api_op_ModifyVpnConnectionOptions.go
    │   │   │       │   ├── api_op_ModifyVpnTunnelCertificate.go
    │   │   │       │   ├── api_op_ModifyVpnTunnelOptions.go
    │   │   │       │   ├── api_op_MonitorInstances.go
    │   │   │       │   ├── api_op_MoveAddressToVpc.go
    │   │   │       │   ├── api_op_MoveByoipCidrToIpam.go
    │   │   │       │   ├── api_op_MoveCapacityReservationInstances.go
    │   │   │       │   ├── api_op_ProvisionByoipCidr.go
    │   │   │       │   ├── api_op_ProvisionIpamByoasn.go
    │   │   │       │   ├── api_op_ProvisionIpamPoolCidr.go
    │   │   │       │   ├── api_op_ProvisionPublicIpv4PoolCidr.go
    │   │   │       │   ├── api_op_PurchaseCapacityBlock.go
    │   │   │       │   ├── api_op_PurchaseCapacityBlockExtension.go
    │   │   │       │   ├── api_op_PurchaseHostReservation.go
    │   │   │       │   ├── api_op_PurchaseReservedInstancesOffering.go
    │   │   │       │   ├── api_op_PurchaseScheduledInstances.go
    │   │   │       │   ├── api_op_RebootInstances.go
    │   │   │       │   ├── api_op_RegisterImage.go
    │   │   │       │   ├── api_op_RegisterInstanceEventNotificationAttributes.go
    │   │   │       │   ├── api_op_RegisterTransitGatewayMulticastGroupMembers.go
    │   │   │       │   ├── api_op_RegisterTransitGatewayMulticastGroupSources.go
    │   │   │       │   ├── api_op_RejectCapacityReservationBillingOwnership.go
    │   │   │       │   ├── api_op_RejectTransitGatewayMulticastDomainAssociations.go
    │   │   │       │   ├── api_op_RejectTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_RejectTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_RejectVpcEndpointConnections.go
    │   │   │       │   ├── api_op_RejectVpcPeeringConnection.go
    │   │   │       │   ├── api_op_ReleaseAddress.go
    │   │   │       │   ├── api_op_ReleaseHosts.go
    │   │   │       │   ├── api_op_ReleaseIpamPoolAllocation.go
    │   │   │       │   ├── api_op_ReplaceIamInstanceProfileAssociation.go
    │   │   │       │   ├── api_op_ReplaceImageCriteriaInAllowedImagesSettings.go
    │   │   │       │   ├── api_op_ReplaceNetworkAclAssociation.go
    │   │   │       │   ├── api_op_ReplaceNetworkAclEntry.go
    │   │   │       │   ├── api_op_ReplaceRoute.go
    │   │   │       │   ├── api_op_ReplaceRouteTableAssociation.go
    │   │   │       │   ├── api_op_ReplaceTransitGatewayRoute.go
    │   │   │       │   ├── api_op_ReplaceVpnTunnel.go
    │   │   │       │   ├── api_op_ReportInstanceStatus.go
    │   │   │       │   ├── api_op_RequestSpotFleet.go
    │   │   │       │   ├── api_op_RequestSpotInstances.go
    │   │   │       │   ├── api_op_ResetAddressAttribute.go
    │   │   │       │   ├── api_op_ResetEbsDefaultKmsKeyId.go
    │   │   │       │   ├── api_op_ResetFpgaImageAttribute.go
    │   │   │       │   ├── api_op_ResetImageAttribute.go
    │   │   │       │   ├── api_op_ResetInstanceAttribute.go
    │   │   │       │   ├── api_op_ResetNetworkInterfaceAttribute.go
    │   │   │       │   ├── api_op_ResetSnapshotAttribute.go
    │   │   │       │   ├── api_op_RestoreAddressToClassic.go
    │   │   │       │   ├── api_op_RestoreImageFromRecycleBin.go
    │   │   │       │   ├── api_op_RestoreManagedPrefixListVersion.go
    │   │   │       │   ├── api_op_RestoreSnapshotFromRecycleBin.go
    │   │   │       │   ├── api_op_RestoreSnapshotTier.go
    │   │   │       │   ├── api_op_RestoreVolumeFromRecycleBin.go
    │   │   │       │   ├── api_op_RevokeClientVpnIngress.go
    │   │   │       │   ├── api_op_RevokeSecurityGroupEgress.go
    │   │   │       │   ├── api_op_RevokeSecurityGroupIngress.go
    │   │   │       │   ├── api_op_RunInstances.go
    │   │   │       │   ├── api_op_RunScheduledInstances.go
    │   │   │       │   ├── api_op_SearchLocalGatewayRoutes.go
    │   │   │       │   ├── api_op_SearchTransitGatewayMulticastGroups.go
    │   │   │       │   ├── api_op_SearchTransitGatewayRoutes.go
    │   │   │       │   ├── api_op_SendDiagnosticInterrupt.go
    │   │   │       │   ├── api_op_StartDeclarativePoliciesReport.go
    │   │   │       │   ├── api_op_StartInstances.go
    │   │   │       │   ├── api_op_StartNetworkInsightsAccessScopeAnalysis.go
    │   │   │       │   ├── api_op_StartNetworkInsightsAnalysis.go
    │   │   │       │   ├── api_op_StartVpcEndpointServicePrivateDnsVerification.go
    │   │   │       │   ├── api_op_StopInstances.go
    │   │   │       │   ├── api_op_TerminateClientVpnConnections.go
    │   │   │       │   ├── api_op_TerminateInstances.go
    │   │   │       │   ├── api_op_UnassignIpv6Addresses.go
    │   │   │       │   ├── api_op_UnassignPrivateIpAddresses.go
    │   │   │       │   ├── api_op_UnassignPrivateNatGatewayAddress.go
    │   │   │       │   ├── api_op_UnlockSnapshot.go
    │   │   │       │   ├── api_op_UnmonitorInstances.go
    │   │   │       │   ├── api_op_UpdateCapacityManagerOrganizationsAccess.go
    │   │   │       │   ├── api_op_UpdateInterruptibleCapacityReservationAllocation.go
    │   │   │       │   ├── api_op_UpdateSecurityGroupRuleDescriptionsEgress.go
    │   │   │       │   ├── api_op_UpdateSecurityGroupRuleDescriptionsIngress.go
    │   │   │       │   ├── api_op_WithdrawByoipCidr.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── internal/
    │   │   │       │   ├── accept-encoding/
    │   │   │       │   │   ├── CHANGELOG.md
    │   │   │       │   │   ├── LICENSE.txt
    │   │   │       │   │   ├── accept_encoding_gzip.go
    │   │   │       │   │   ├── doc.go
    │   │   │       │   │   └── go_module_metadata.go
    │   │   │       │   ├── checksum/
    │   │   │       │   │   ├── CHANGELOG.md
    │   │   │       │   │   ├── LICENSE.txt
    │   │   │       │   │   ├── algorithms.go
    │   │   │       │   │   ├── aws_chunked_encoding.go
    │   │   │       │   │   ├── go_module_metadata.go
    │   │   │       │   │   ├── middleware_add.go
    │   │   │       │   │   ├── middleware_checksum_metrics_tracking.go
    │   │   │       │   │   ├── middleware_compute_input_checksum.go
    │   │   │       │   │   ├── middleware_setup_context.go
    │   │   │       │   │   └── middleware_validate_output.go
    │   │   │       │   ├── presigned-url/
    │   │   │       │   │   ├── CHANGELOG.md
    │   │   │       │   │   ├── LICENSE.txt
    │   │   │       │   │   ├── context.go
    │   │   │       │   │   ├── doc.go
    │   │   │       │   │   ├── go_module_metadata.go
    │   │   │       │   │   └── middleware.go
    │   │   │       │   └── s3shared/
    │   │   │       │       ├── CHANGELOG.md
    │   │   │       │       ├── LICENSE.txt
    │   │   │       │       ├── arn/
    │   │   │       │       │   ├── accesspoint_arn.go
    │   │   │       │       │   ├── arn.go
    │   │   │       │       │   ├── arn_member.go
    │   │   │       │       │   ├── outpost_arn.go
    │   │   │       │       │   └── s3_object_lambda_arn.go
    │   │   │       │       ├── arn_lookup.go
    │   │   │       │       ├── config/
    │   │   │       │       │   └── config.go
    │   │   │       │       ├── endpoint_error.go
    │   │   │       │       ├── go_module_metadata.go
    │   │   │       │       ├── host_id.go
    │   │   │       │       ├── metadata.go
    │   │   │       │       ├── metadata_retriever.go
    │   │   │       │       ├── resource_request.go
    │   │   │       │       ├── response_error.go
    │   │   │       │       ├── response_error_middleware.go
    │   │   │       │       ├── s3100continue.go
    │   │   │       │       ├── update_endpoint.go
    │   │   │       │       └── xml_utils.go
    │   │   │       ├── s3/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_AbortMultipartUpload.go
    │   │   │       │   ├── api_op_CompleteMultipartUpload.go
    │   │   │       │   ├── api_op_CopyObject.go
    │   │   │       │   ├── api_op_CreateBucket.go
    │   │   │       │   ├── api_op_CreateBucketMetadataConfiguration.go
    │   │   │       │   ├── api_op_CreateBucketMetadataTableConfiguration.go
    │   │   │       │   ├── api_op_CreateMultipartUpload.go
    │   │   │       │   ├── api_op_CreateSession.go
    │   │   │       │   ├── api_op_DeleteBucket.go
    │   │   │       │   ├── api_op_DeleteBucketAnalyticsConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketCors.go
    │   │   │       │   ├── api_op_DeleteBucketEncryption.go
    │   │   │       │   ├── api_op_DeleteBucketIntelligentTieringConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketInventoryConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketLifecycle.go
    │   │   │       │   ├── api_op_DeleteBucketMetadataConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketMetadataTableConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketMetricsConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketOwnershipControls.go
    │   │   │       │   ├── api_op_DeleteBucketPolicy.go
    │   │   │       │   ├── api_op_DeleteBucketReplication.go
    │   │   │       │   ├── api_op_DeleteBucketTagging.go
    │   │   │       │   ├── api_op_DeleteBucketWebsite.go
    │   │   │       │   ├── api_op_DeleteObject.go
    │   │   │       │   ├── api_op_DeleteObjectTagging.go
    │   │   │       │   ├── api_op_DeleteObjects.go
    │   │   │       │   ├── api_op_DeletePublicAccessBlock.go
    │   │   │       │   ├── api_op_GetBucketAccelerateConfiguration.go
    │   │   │       │   ├── api_op_GetBucketAcl.go
    │   │   │       │   ├── api_op_GetBucketAnalyticsConfiguration.go
    │   │   │       │   ├── api_op_GetBucketCors.go
    │   │   │       │   ├── api_op_GetBucketEncryption.go
    │   │   │       │   ├── api_op_GetBucketIntelligentTieringConfiguration.go
    │   │   │       │   ├── api_op_GetBucketInventoryConfiguration.go
    │   │   │       │   ├── api_op_GetBucketLifecycleConfiguration.go
    │   │   │       │   ├── api_op_GetBucketLocation.go
    │   │   │       │   ├── api_op_GetBucketLogging.go
    │   │   │       │   ├── api_op_GetBucketMetadataConfiguration.go
    │   │   │       │   ├── api_op_GetBucketMetadataTableConfiguration.go
    │   │   │       │   ├── api_op_GetBucketMetricsConfiguration.go
    │   │   │       │   ├── api_op_GetBucketNotificationConfiguration.go
    │   │   │       │   ├── api_op_GetBucketOwnershipControls.go
    │   │   │       │   ├── api_op_GetBucketPolicy.go
    │   │   │       │   ├── api_op_GetBucketPolicyStatus.go
    │   │   │       │   ├── api_op_GetBucketReplication.go
    │   │   │       │   ├── api_op_GetBucketRequestPayment.go
    │   │   │       │   ├── api_op_GetBucketTagging.go
    │   │   │       │   ├── api_op_GetBucketVersioning.go
    │   │   │       │   ├── api_op_GetBucketWebsite.go
    │   │   │       │   ├── api_op_GetObject.go
    │   │   │       │   ├── api_op_GetObjectAcl.go
    │   │   │       │   ├── api_op_GetObjectAttributes.go
    │   │   │       │   ├── api_op_GetObjectLegalHold.go
    │   │   │       │   ├── api_op_GetObjectLockConfiguration.go
    │   │   │       │   ├── api_op_GetObjectRetention.go
    │   │   │       │   ├── api_op_GetObjectTagging.go
    │   │   │       │   ├── api_op_GetObjectTorrent.go
    │   │   │       │   ├── api_op_GetPublicAccessBlock.go
    │   │   │       │   ├── api_op_HeadBucket.go
    │   │   │       │   ├── api_op_HeadObject.go
    │   │   │       │   ├── api_op_ListBucketAnalyticsConfigurations.go
    │   │   │       │   ├── api_op_ListBucketIntelligentTieringConfigurations.go
    │   │   │       │   ├── api_op_ListBucketInventoryConfigurations.go
    │   │   │       │   ├── api_op_ListBucketMetricsConfigurations.go
    │   │   │       │   ├── api_op_ListBuckets.go
    │   │   │       │   ├── api_op_ListDirectoryBuckets.go
    │   │   │       │   ├── api_op_ListMultipartUploads.go
    │   │   │       │   ├── api_op_ListObjectVersions.go
    │   │   │       │   ├── api_op_ListObjects.go
    │   │   │       │   ├── api_op_ListObjectsV2.go
    │   │   │       │   ├── api_op_ListParts.go
    │   │   │       │   ├── api_op_PutBucketAccelerateConfiguration.go
    │   │   │       │   ├── api_op_PutBucketAcl.go
    │   │   │       │   ├── api_op_PutBucketAnalyticsConfiguration.go
    │   │   │       │   ├── api_op_PutBucketCors.go
    │   │   │       │   ├── api_op_PutBucketEncryption.go
    │   │   │       │   ├── api_op_PutBucketIntelligentTieringConfiguration.go
    │   │   │       │   ├── api_op_PutBucketInventoryConfiguration.go
    │   │   │       │   ├── api_op_PutBucketLifecycleConfiguration.go
    │   │   │       │   ├── api_op_PutBucketLogging.go
    │   │   │       │   ├── api_op_PutBucketMetricsConfiguration.go
    │   │   │       │   ├── api_op_PutBucketNotificationConfiguration.go
    │   │   │       │   ├── api_op_PutBucketOwnershipControls.go
    │   │   │       │   ├── api_op_PutBucketPolicy.go
    │   │   │       │   ├── api_op_PutBucketReplication.go
    │   │   │       │   ├── api_op_PutBucketRequestPayment.go
    │   │   │       │   ├── api_op_PutBucketTagging.go
    │   │   │       │   ├── api_op_PutBucketVersioning.go
    │   │   │       │   ├── api_op_PutBucketWebsite.go
    │   │   │       │   ├── api_op_PutObject.go
    │   │   │       │   ├── api_op_PutObjectAcl.go
    │   │   │       │   ├── api_op_PutObjectLegalHold.go
    │   │   │       │   ├── api_op_PutObjectLockConfiguration.go
    │   │   │       │   ├── api_op_PutObjectRetention.go
    │   │   │       │   ├── api_op_PutObjectTagging.go
    │   │   │       │   ├── api_op_PutPublicAccessBlock.go
    │   │   │       │   ├── api_op_RenameObject.go
    │   │   │       │   ├── api_op_RestoreObject.go
    │   │   │       │   ├── api_op_SelectObjectContent.go
    │   │   │       │   ├── api_op_UpdateBucketMetadataInventoryTableConfiguration.go
    │   │   │       │   ├── api_op_UpdateBucketMetadataJournalTableConfiguration.go
    │   │   │       │   ├── api_op_UploadPart.go
    │   │   │       │   ├── api_op_UploadPartCopy.go
    │   │   │       │   ├── api_op_WriteGetObjectResponse.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── bucket_context.go
    │   │   │       │   ├── bucketer.go
    │   │   │       │   ├── create_mpu_checksum.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoint_auth_resolver.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── eventstream.go
    │   │   │       │   ├── express.go
    │   │   │       │   ├── express_default.go
    │   │   │       │   ├── express_resolve.go
    │   │   │       │   ├── express_user_agent.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── handwritten_paginators.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   ├── arn/
    │   │   │       │   │   │   └── arn_parser.go
    │   │   │       │   │   ├── customizations/
    │   │   │       │   │   │   ├── context.go
    │   │   │       │   │   │   ├── doc.go
    │   │   │       │   │   │   ├── express.go
    │   │   │       │   │   │   ├── express_config.go
    │   │   │       │   │   │   ├── express_default_checksum.go
    │   │   │       │   │   │   ├── express_properties.go
    │   │   │       │   │   │   ├── express_signer.go
    │   │   │       │   │   │   ├── express_signer_smithy.go
    │   │   │       │   │   │   ├── handle_200_error.go
    │   │   │       │   │   │   ├── host.go
    │   │   │       │   │   │   ├── presigned_expires.go
    │   │   │       │   │   │   ├── process_arn_resource.go
    │   │   │       │   │   │   ├── remove_bucket_middleware.go
    │   │   │       │   │   │   ├── s3_object_lambda.go
    │   │   │       │   │   │   ├── signer_wrapper.go
    │   │   │       │   │   │   └── update_endpoint.go
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── presign_post.go
    │   │   │       │   ├── serialize_immutable_hostname_bucket.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   ├── uri_context.go
    │   │   │       │   └── validators.go
    │   │   │       ├── signin/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_CreateOAuth2Token.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── sso/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_GetRoleCredentials.go
    │   │   │       │   ├── api_op_ListAccountRoles.go
    │   │   │       │   ├── api_op_ListAccounts.go
    │   │   │       │   ├── api_op_Logout.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── ssooidc/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_CreateToken.go
    │   │   │       │   ├── api_op_CreateTokenWithIAM.go
    │   │   │       │   ├── api_op_RegisterClient.go
    │   │   │       │   ├── api_op_StartDeviceAuthorization.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       └── sts/
    │   │   │           ├── CHANGELOG.md
    │   │   │           ├── LICENSE.txt
    │   │   │           ├── api_client.go
    │   │   │           ├── api_op_AssumeRole.go
    │   │   │           ├── api_op_AssumeRoleWithSAML.go
    │   │   │           ├── api_op_AssumeRoleWithWebIdentity.go
    │   │   │           ├── api_op_AssumeRoot.go
    │   │   │           ├── api_op_DecodeAuthorizationMessage.go
    │   │   │           ├── api_op_GetAccessKeyInfo.go
    │   │   │           ├── api_op_GetCallerIdentity.go
    │   │   │           ├── api_op_GetDelegatedAccessToken.go
    │   │   │           ├── api_op_GetFederationToken.go
    │   │   │           ├── api_op_GetSessionToken.go
    │   │   │           ├── api_op_GetWebIdentityToken.go
    │   │   │           ├── auth.go
    │   │   │           ├── deserializers.go
    │   │   │           ├── doc.go
    │   │   │           ├── endpoints.go
    │   │   │           ├── generated.json
    │   │   │           ├── go_module_metadata.go
    │   │   │           ├── internal/
    │   │   │           │   └── endpoints/
    │   │   │           │       └── endpoints.go
    │   │   │           ├── options.go
    │   │   │           ├── serializers.go
    │   │   │           ├── types/
    │   │   │           │   ├── errors.go
    │   │   │           │   └── types.go
    │   │   │           └── validators.go
    │   │   └── smithy-go/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── CHANGELOG.md
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── NOTICE
    │   │       ├── README.md
    │   │       ├── auth/
    │   │       │   ├── auth.go
    │   │       │   ├── bearer/
    │   │       │   │   ├── docs.go
    │   │       │   │   ├── middleware.go
    │   │       │   │   ├── token.go
    │   │       │   │   └── token_cache.go
    │   │       │   ├── identity.go
    │   │       │   ├── option.go
    │   │       │   └── scheme_id.go
    │   │       ├── changelog-template.json
    │   │       ├── container/
    │   │       │   └── private/
    │   │       │       └── cache/
    │   │       │           ├── cache.go
    │   │       │           └── lru/
    │   │       │               └── lru.go
    │   │       ├── context/
    │   │       │   └── suppress_expired.go
    │   │       ├── doc.go
    │   │       ├── document/
    │   │       │   ├── doc.go
    │   │       │   ├── document.go
    │   │       │   └── errors.go
    │   │       ├── document.go
    │   │       ├── encoding/
    │   │       │   ├── doc.go
    │   │       │   ├── encoding.go
    │   │       │   ├── httpbinding/
    │   │       │   │   ├── encode.go
    │   │       │   │   ├── header.go
    │   │       │   │   ├── path_replace.go
    │   │       │   │   ├── query.go
    │   │       │   │   └── uri.go
    │   │       │   ├── json/
    │   │       │   │   ├── array.go
    │   │       │   │   ├── constants.go
    │   │       │   │   ├── decoder_util.go
    │   │       │   │   ├── encoder.go
    │   │       │   │   ├── escape.go
    │   │       │   │   ├── object.go
    │   │       │   │   └── value.go
    │   │       │   └── xml/
    │   │       │       ├── array.go
    │   │       │       ├── constants.go
    │   │       │       ├── doc.go
    │   │       │       ├── element.go
    │   │       │       ├── encoder.go
    │   │       │       ├── error_utils.go
    │   │       │       ├── escape.go
    │   │       │       ├── map.go
    │   │       │       ├── value.go
    │   │       │       └── xml_decoder.go
    │   │       ├── endpoints/
    │   │       │   ├── endpoint.go
    │   │       │   └── private/
    │   │       │       └── rulesfn/
    │   │       │           ├── doc.go
    │   │       │           ├── strings.go
    │   │       │           └── uri.go
    │   │       ├── errors.go
    │   │       ├── go_module_metadata.go
    │   │       ├── internal/
    │   │       │   └── sync/
    │   │       │       └── singleflight/
    │   │       │           ├── LICENSE
    │   │       │           ├── docs.go
    │   │       │           └── singleflight.go
    │   │       ├── io/
    │   │       │   ├── byte.go
    │   │       │   ├── doc.go
    │   │       │   ├── reader.go
    │   │       │   └── ringbuffer.go
    │   │       ├── local-mod-replace.sh
    │   │       ├── logging/
    │   │       │   └── logger.go
    │   │       ├── metrics/
    │   │       │   ├── metrics.go
    │   │       │   └── nop.go
    │   │       ├── middleware/
    │   │       │   ├── context.go
    │   │       │   ├── doc.go
    │   │       │   ├── eventstream_middleware.go
    │   │       │   ├── logging.go
    │   │       │   ├── metadata.go
    │   │       │   ├── middleware.go
    │   │       │   ├── ordered_group.go
    │   │       │   ├── stack.go
    │   │       │   ├── stack_values.go
    │   │       │   ├── step_build.go
    │   │       │   ├── step_deserialize.go
    │   │       │   ├── step_finalize.go
    │   │       │   ├── step_initialize.go
    │   │       │   └── step_serialize.go
    │   │       ├── modman.toml
    │   │       ├── private/
    │   │       │   └── requestcompression/
    │   │       │       ├── gzip.go
    │   │       │       ├── middleware_capture_request_compression.go
    │   │       │       └── request_compression.go
    │   │       ├── properties.go
    │   │       ├── ptr/
    │   │       │   ├── doc.go
    │   │       │   ├── from_ptr.go
    │   │       │   ├── gen_scalars.go
    │   │       │   └── to_ptr.go
    │   │       ├── rand/
    │   │       │   ├── doc.go
    │   │       │   ├── rand.go
    │   │       │   └── uuid.go
    │   │       ├── sync/
    │   │       │   └── error.go
    │   │       ├── time/
    │   │       │   └── time.go
    │   │       ├── tracing/
    │   │       │   ├── context.go
    │   │       │   ├── nop.go
    │   │       │   └── tracing.go
    │   │       ├── transport/
    │   │       │   └── http/
    │   │       │       ├── auth.go
    │   │       │       ├── auth_schemes.go
    │   │       │       ├── checksum_middleware.go
    │   │       │       ├── client.go
    │   │       │       ├── doc.go
    │   │       │       ├── headerlist.go
    │   │       │       ├── host.go
    │   │       │       ├── interceptor.go
    │   │       │       ├── interceptor_middleware.go
    │   │       │       ├── internal/
    │   │       │       │   └── io/
    │   │       │       │       └── safe.go
    │   │       │       ├── md5_checksum.go
    │   │       │       ├── metrics.go
    │   │       │       ├── middleware_close_response_body.go
    │   │       │       ├── middleware_content_length.go
    │   │       │       ├── middleware_header_comment.go
    │   │       │       ├── middleware_headers.go
    │   │       │       ├── middleware_http_logging.go
    │   │       │       ├── middleware_metadata.go
    │   │       │       ├── middleware_min_proto.go
    │   │       │       ├── properties.go
    │   │       │       ├── request.go
    │   │       │       ├── response.go
    │   │       │       ├── time.go
    │   │       │       ├── url.go
    │   │       │       └── user_agent.go
    │   │       ├── validation.go
    │   │       └── waiter/
    │   │           ├── logger.go
    │   │           └── waiter.go
    │   ├── aymerick/
    │   │   └── douceur/
    │   │       ├── LICENSE
    │   │       ├── css/
    │   │       │   ├── declaration.go
    │   │       │   ├── rule.go
    │   │       │   └── stylesheet.go
    │   │       └── parser/
    │   │           └── parser.go
    │   ├── beorn7/
    │   │   └── perks/
    │   │       ├── LICENSE
    │   │       └── quantile/
    │   │           ├── exampledata.txt
    │   │           └── stream.go
    │   ├── cenkalti/
    │   │   └── backoff/
    │   │       └── v4/
    │   │           ├── .gitignore
    │   │           ├── LICENSE
    │   │           ├── README.md
    │   │           ├── backoff.go
    │   │           ├── context.go
    │   │           ├── exponential.go
    │   │           ├── retry.go
    │   │           ├── ticker.go
    │   │           ├── timer.go
    │   │           └── tries.go
    │   ├── cespare/
    │   │   └── xxhash/
    │   │       └── v2/
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── testall.sh
    │   │           ├── xxhash.go
    │   │           ├── xxhash_amd64.s
    │   │           ├── xxhash_arm64.s
    │   │           ├── xxhash_asm.go
    │   │           ├── xxhash_other.go
    │   │           ├── xxhash_safe.go
    │   │           └── xxhash_unsafe.go
    │   ├── cncf/
    │   │   └── xds/
    │   │       └── go/
    │   │           ├── LICENSE
    │   │           ├── udpa/
    │   │           │   ├── annotations/
    │   │           │   │   ├── migrate.pb.go
    │   │           │   │   ├── migrate.pb.validate.go
    │   │           │   │   ├── security.pb.go
    │   │           │   │   ├── security.pb.validate.go
    │   │           │   │   ├── sensitive.pb.go
    │   │           │   │   ├── sensitive.pb.validate.go
    │   │           │   │   ├── status.pb.go
    │   │           │   │   ├── status.pb.validate.go
    │   │           │   │   ├── versioning.pb.go
    │   │           │   │   └── versioning.pb.validate.go
    │   │           │   └── type/
    │   │           │       └── v1/
    │   │           │           ├── typed_struct.pb.go
    │   │           │           └── typed_struct.pb.validate.go
    │   │           └── xds/
    │   │               ├── annotations/
    │   │               │   └── v3/
    │   │               │       ├── migrate.pb.go
    │   │               │       ├── migrate.pb.validate.go
    │   │               │       ├── security.pb.go
    │   │               │       ├── security.pb.validate.go
    │   │               │       ├── sensitive.pb.go
    │   │               │       ├── sensitive.pb.validate.go
    │   │               │       ├── status.pb.go
    │   │               │       ├── status.pb.validate.go
    │   │               │       ├── versioning.pb.go
    │   │               │       └── versioning.pb.validate.go
    │   │               ├── core/
    │   │               │   └── v3/
    │   │               │       ├── authority.pb.go
    │   │               │       ├── authority.pb.validate.go
    │   │               │       ├── cidr.pb.go
    │   │               │       ├── cidr.pb.validate.go
    │   │               │       ├── collection_entry.pb.go
    │   │               │       ├── collection_entry.pb.validate.go
    │   │               │       ├── context_params.pb.go
    │   │               │       ├── context_params.pb.validate.go
    │   │               │       ├── extension.pb.go
    │   │               │       ├── extension.pb.validate.go
    │   │               │       ├── resource.pb.go
    │   │               │       ├── resource.pb.validate.go
    │   │               │       ├── resource_locator.pb.go
    │   │               │       ├── resource_locator.pb.validate.go
    │   │               │       ├── resource_name.pb.go
    │   │               │       └── resource_name.pb.validate.go
    │   │               ├── data/
    │   │               │   └── orca/
    │   │               │       └── v3/
    │   │               │           ├── orca_load_report.pb.go
    │   │               │           └── orca_load_report.pb.validate.go
    │   │               ├── service/
    │   │               │   └── orca/
    │   │               │       └── v3/
    │   │               │           ├── orca.pb.go
    │   │               │           ├── orca.pb.validate.go
    │   │               │           └── orca_grpc.pb.go
    │   │               └── type/
    │   │                   ├── matcher/
    │   │                   │   └── v3/
    │   │                   │       ├── cel.pb.go
    │   │                   │       ├── cel.pb.validate.go
    │   │                   │       ├── domain.pb.go
    │   │                   │       ├── domain.pb.validate.go
    │   │                   │       ├── http_inputs.pb.go
    │   │                   │       ├── http_inputs.pb.validate.go
    │   │                   │       ├── ip.pb.go
    │   │                   │       ├── ip.pb.validate.go
    │   │                   │       ├── matcher.pb.go
    │   │                   │       ├── matcher.pb.validate.go
    │   │                   │       ├── range.pb.go
    │   │                   │       ├── range.pb.validate.go
    │   │                   │       ├── regex.pb.go
    │   │                   │       ├── regex.pb.validate.go
    │   │                   │       ├── string.pb.go
    │   │                   │       └── string.pb.validate.go
    │   │                   └── v3/
    │   │                       ├── cel.pb.go
    │   │                       ├── cel.pb.validate.go
    │   │                       ├── range.pb.go
    │   │                       ├── range.pb.validate.go
    │   │                       ├── typed_struct.pb.go
    │   │                       └── typed_struct.pb.validate.go
    │   ├── containerd/
    │   │   ├── cgroups/
    │   │   │   └── v3/
    │   │   │       ├── LICENSE
    │   │   │       └── cgroup1/
    │   │   │           └── stats/
    │   │   │               ├── doc.go
    │   │   │               ├── metrics.pb.go
    │   │   │               ├── metrics.pb.txt
    │   │   │               └── metrics.proto
    │   │   ├── errdefs/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── errors.go
    │   │   │   ├── pkg/
    │   │   │   │   ├── LICENSE
    │   │   │   │   ├── errgrpc/
    │   │   │   │   │   └── grpc.go
    │   │   │   │   ├── errhttp/
    │   │   │   │   │   └── http.go
    │   │   │   │   └── internal/
    │   │   │   │       ├── cause/
    │   │   │   │       │   └── cause.go
    │   │   │   │       └── types/
    │   │   │   │           └── collapsible.go
    │   │   │   └── resolve.go
    │   │   ├── stargz-snapshotter/
    │   │   │   └── estargz/
    │   │   │       ├── LICENSE
    │   │   │       ├── build.go
    │   │   │       ├── errorutil/
    │   │   │       │   └── errors.go
    │   │   │       ├── estargz.go
    │   │   │       ├── gzip.go
    │   │   │       ├── testutil.go
    │   │   │       └── types.go
    │   │   └── typeurl/
    │   │       └── v2/
    │   │           ├── .gitignore
    │   │           ├── LICENSE
    │   │           ├── README.md
    │   │           ├── doc.go
    │   │           ├── types.go
    │   │           └── types_gogo.go
    │   ├── containers/
    │   │   ├── common/
    │   │   │   ├── LICENSE
    │   │   │   └── pkg/
    │   │   │       └── retry/
    │   │   │           ├── retry.go
    │   │   │           ├── retry_linux.go
    │   │   │           └── retry_unsupported.go
    │   │   ├── image/
    │   │   │   └── v5/
    │   │   │       ├── LICENSE
    │   │   │       ├── copy/
    │   │   │       │   ├── blob.go
    │   │   │       │   ├── compression.go
    │   │   │       │   ├── copy.go
    │   │   │       │   ├── digesting_reader.go
    │   │   │       │   ├── encryption.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── multiple.go
    │   │   │       │   ├── progress_bars.go
    │   │   │       │   ├── progress_channel.go
    │   │   │       │   ├── sign.go
    │   │   │       │   └── single.go
    │   │   │       ├── directory/
    │   │   │       │   ├── directory_dest.go
    │   │   │       │   ├── directory_src.go
    │   │   │       │   ├── directory_transport.go
    │   │   │       │   └── explicitfilepath/
    │   │   │       │       └── path.go
    │   │   │       ├── docker/
    │   │   │       │   ├── archive/
    │   │   │       │   │   ├── dest.go
    │   │   │       │   │   ├── reader.go
    │   │   │       │   │   ├── src.go
    │   │   │       │   │   ├── transport.go
    │   │   │       │   │   └── writer.go
    │   │   │       │   ├── body_reader.go
    │   │   │       │   ├── cache.go
    │   │   │       │   ├── daemon/
    │   │   │       │   │   ├── client.go
    │   │   │       │   │   ├── daemon_dest.go
    │   │   │       │   │   ├── daemon_src.go
    │   │   │       │   │   └── daemon_transport.go
    │   │   │       │   ├── distribution_error.go
    │   │   │       │   ├── docker_client.go
    │   │   │       │   ├── docker_image.go
    │   │   │       │   ├── docker_image_dest.go
    │   │   │       │   ├── docker_image_src.go
    │   │   │       │   ├── docker_transport.go
    │   │   │       │   ├── errors.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── tarfile/
    │   │   │       │   │       ├── dest.go
    │   │   │       │   │       ├── reader.go
    │   │   │       │   │       ├── src.go
    │   │   │       │   │       ├── types.go
    │   │   │       │   │       └── writer.go
    │   │   │       │   ├── paths_common.go
    │   │   │       │   ├── paths_freebsd.go
    │   │   │       │   ├── policyconfiguration/
    │   │   │       │   │   └── naming.go
    │   │   │       │   ├── reference/
    │   │   │       │   │   ├── README.md
    │   │   │       │   │   ├── helpers.go
    │   │   │       │   │   ├── normalize.go
    │   │   │       │   │   ├── reference.go
    │   │   │       │   │   ├── regexp-additions.go
    │   │   │       │   │   └── regexp.go
    │   │   │       │   ├── registries_d.go
    │   │   │       │   └── wwwauthenticate.go
    │   │   │       ├── internal/
    │   │   │       │   ├── blobinfocache/
    │   │   │       │   │   ├── blobinfocache.go
    │   │   │       │   │   └── types.go
    │   │   │       │   ├── image/
    │   │   │       │   │   ├── docker_list.go
    │   │   │       │   │   ├── docker_schema1.go
    │   │   │       │   │   ├── docker_schema2.go
    │   │   │       │   │   ├── manifest.go
    │   │   │       │   │   ├── memory.go
    │   │   │       │   │   ├── oci.go
    │   │   │       │   │   ├── oci_index.go
    │   │   │       │   │   ├── sourced.go
    │   │   │       │   │   └── unparsed.go
    │   │   │       │   ├── imagedestination/
    │   │   │       │   │   ├── impl/
    │   │   │       │   │   │   ├── compat.go
    │   │   │       │   │   │   ├── helpers.go
    │   │   │       │   │   │   └── properties.go
    │   │   │       │   │   ├── stubs/
    │   │   │       │   │   │   ├── original_oci_config.go
    │   │   │       │   │   │   ├── put_blob_partial.go
    │   │   │       │   │   │   ├── signatures.go
    │   │   │       │   │   │   └── stubs.go
    │   │   │       │   │   └── wrapper.go
    │   │   │       │   ├── imagesource/
    │   │   │       │   │   ├── impl/
    │   │   │       │   │   │   ├── compat.go
    │   │   │       │   │   │   ├── layer_infos.go
    │   │   │       │   │   │   ├── properties.go
    │   │   │       │   │   │   └── signatures.go
    │   │   │       │   │   ├── stubs/
    │   │   │       │   │   │   ├── get_blob_at.go
    │   │   │       │   │   │   └── stubs.go
    │   │   │       │   │   └── wrapper.go
    │   │   │       │   ├── iolimits/
    │   │   │       │   │   └── iolimits.go
    │   │   │       │   ├── manifest/
    │   │   │       │   │   ├── common.go
    │   │   │       │   │   ├── docker_schema2.go
    │   │   │       │   │   ├── docker_schema2_list.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   ├── list.go
    │   │   │       │   │   ├── manifest.go
    │   │   │       │   │   └── oci_index.go
    │   │   │       │   ├── multierr/
    │   │   │       │   │   └── multierr.go
    │   │   │       │   ├── pkg/
    │   │   │       │   │   └── platform/
    │   │   │       │   │       └── platform_matcher.go
    │   │   │       │   ├── private/
    │   │   │       │   │   └── private.go
    │   │   │       │   ├── putblobdigest/
    │   │   │       │   │   └── put_blob_digest.go
    │   │   │       │   ├── rootless/
    │   │   │       │   │   └── rootless.go
    │   │   │       │   ├── set/
    │   │   │       │   │   └── set.go
    │   │   │       │   ├── signature/
    │   │   │       │   │   ├── signature.go
    │   │   │       │   │   ├── sigstore.go
    │   │   │       │   │   └── simple.go
    │   │   │       │   ├── signer/
    │   │   │       │   │   └── signer.go
    │   │   │       │   ├── streamdigest/
    │   │   │       │   │   └── stream_digest.go
    │   │   │       │   ├── tmpdir/
    │   │   │       │   │   └── tmpdir.go
    │   │   │       │   ├── unparsedimage/
    │   │   │       │   │   └── wrapper.go
    │   │   │       │   ├── uploadreader/
    │   │   │       │   │   └── upload_reader.go
    │   │   │       │   └── useragent/
    │   │   │       │       └── useragent.go
    │   │   │       ├── manifest/
    │   │   │       │   ├── common.go
    │   │   │       │   ├── docker_schema1.go
    │   │   │       │   ├── docker_schema2.go
    │   │   │       │   ├── docker_schema2_list.go
    │   │   │       │   ├── list.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── oci.go
    │   │   │       │   └── oci_index.go
    │   │   │       ├── oci/
    │   │   │       │   ├── archive/
    │   │   │       │   │   ├── oci_dest.go
    │   │   │       │   │   ├── oci_src.go
    │   │   │       │   │   └── oci_transport.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── oci_util.go
    │   │   │       │   └── layout/
    │   │   │       │       ├── oci_delete.go
    │   │   │       │       ├── oci_dest.go
    │   │   │       │       ├── oci_src.go
    │   │   │       │       ├── oci_transport.go
    │   │   │       │       └── reader.go
    │   │   │       ├── openshift/
    │   │   │       │   ├── openshift-copies.go
    │   │   │       │   ├── openshift.go
    │   │   │       │   ├── openshift_dest.go
    │   │   │       │   ├── openshift_src.go
    │   │   │       │   └── openshift_transport.go
    │   │   │       ├── pkg/
    │   │   │       │   ├── blobinfocache/
    │   │   │       │   │   ├── default.go
    │   │   │       │   │   ├── internal/
    │   │   │       │   │   │   └── prioritize/
    │   │   │       │   │   │       └── prioritize.go
    │   │   │       │   │   ├── memory/
    │   │   │       │   │   │   └── memory.go
    │   │   │       │   │   ├── none/
    │   │   │       │   │   │   └── none.go
    │   │   │       │   │   └── sqlite/
    │   │   │       │   │       └── sqlite.go
    │   │   │       │   ├── compression/
    │   │   │       │   │   ├── compression.go
    │   │   │       │   │   ├── internal/
    │   │   │       │   │   │   └── types.go
    │   │   │       │   │   ├── types/
    │   │   │       │   │   │   └── types.go
    │   │   │       │   │   └── zstd.go
    │   │   │       │   ├── docker/
    │   │   │       │   │   └── config/
    │   │   │       │   │       └── config.go
    │   │   │       │   ├── strslice/
    │   │   │       │   │   ├── README.md
    │   │   │       │   │   └── strslice.go
    │   │   │       │   ├── sysregistriesv2/
    │   │   │       │   │   ├── paths_common.go
    │   │   │       │   │   ├── paths_freebsd.go
    │   │   │       │   │   ├── shortnames.go
    │   │   │       │   │   └── system_registries_v2.go
    │   │   │       │   └── tlsclientconfig/
    │   │   │       │       └── tlsclientconfig.go
    │   │   │       ├── sif/
    │   │   │       │   ├── load.go
    │   │   │       │   ├── src.go
    │   │   │       │   └── transport.go
    │   │   │       ├── signature/
    │   │   │       │   ├── docker.go
    │   │   │       │   ├── fulcio_cert.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   ├── json.go
    │   │   │       │   │   ├── rekor_api_types.go
    │   │   │       │   │   ├── rekor_set.go
    │   │   │       │   │   └── sigstore_payload.go
    │   │   │       │   ├── mechanism.go
    │   │   │       │   ├── mechanism_gpgme.go
    │   │   │       │   ├── mechanism_openpgp.go
    │   │   │       │   ├── pki_cert.go
    │   │   │       │   ├── policy_config.go
    │   │   │       │   ├── policy_config_sigstore.go
    │   │   │       │   ├── policy_eval.go
    │   │   │       │   ├── policy_eval_baselayer.go
    │   │   │       │   ├── policy_eval_signedby.go
    │   │   │       │   ├── policy_eval_sigstore.go
    │   │   │       │   ├── policy_eval_simple.go
    │   │   │       │   ├── policy_paths_common.go
    │   │   │       │   ├── policy_paths_freebsd.go
    │   │   │       │   ├── policy_reference_match.go
    │   │   │       │   ├── policy_types.go
    │   │   │       │   ├── signer/
    │   │   │       │   │   └── signer.go
    │   │   │       │   ├── sigstore/
    │   │   │       │   │   ├── copied.go
    │   │   │       │   │   ├── generate.go
    │   │   │       │   │   ├── internal/
    │   │   │       │   │   │   └── signer.go
    │   │   │       │   │   └── signer.go
    │   │   │       │   ├── simple.go
    │   │   │       │   └── simplesigning/
    │   │   │       │       └── signer.go
    │   │   │       ├── storage/
    │   │   │       │   ├── storage_dest.go
    │   │   │       │   ├── storage_image.go
    │   │   │       │   ├── storage_reference.go
    │   │   │       │   ├── storage_src.go
    │   │   │       │   └── storage_transport.go
    │   │   │       ├── tarball/
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── tarball_reference.go
    │   │   │       │   ├── tarball_src.go
    │   │   │       │   └── tarball_transport.go
    │   │   │       ├── transports/
    │   │   │       │   ├── alltransports/
    │   │   │       │   │   ├── alltransports.go
    │   │   │       │   │   ├── docker_daemon.go
    │   │   │       │   │   ├── docker_daemon_stub.go
    │   │   │       │   │   ├── storage.go
    │   │   │       │   │   └── storage_stub.go
    │   │   │       │   ├── stub.go
    │   │   │       │   └── transports.go
    │   │   │       ├── types/
    │   │   │       │   └── types.go
    │   │   │       └── version/
    │   │   │           └── version.go
    │   │   ├── libtrust/
    │   │   │   ├── CODE-OF-CONDUCT.md
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── certificates.go
    │   │   │   ├── doc.go
    │   │   │   ├── ec_key.go
    │   │   │   ├── ec_key_no_openssl.go
    │   │   │   ├── ec_key_openssl.go
    │   │   │   ├── filter.go
    │   │   │   ├── hash.go
    │   │   │   ├── jsonsign.go
    │   │   │   ├── key.go
    │   │   │   ├── key_files.go
    │   │   │   ├── key_manager.go
    │   │   │   ├── rsa_key.go
    │   │   │   └── util.go
    │   │   ├── ocicrypt/
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── ADOPTERS.md
    │   │   │   ├── CODE-OF-CONDUCT.md
    │   │   │   ├── LICENSE
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── blockcipher/
    │   │   │   │   ├── blockcipher.go
    │   │   │   │   └── blockcipher_aes_ctr.go
    │   │   │   ├── config/
    │   │   │   │   ├── config.go
    │   │   │   │   ├── constructors.go
    │   │   │   │   └── keyprovider-config/
    │   │   │   │       └── config.go
    │   │   │   ├── crypto/
    │   │   │   │   └── pkcs11/
    │   │   │   │       ├── common.go
    │   │   │   │       ├── pkcs11helpers.go
    │   │   │   │       ├── pkcs11helpers_nocgo.go
    │   │   │   │       └── utils.go
    │   │   │   ├── encryption.go
    │   │   │   ├── gpg.go
    │   │   │   ├── gpgvault.go
    │   │   │   ├── keywrap/
    │   │   │   │   ├── jwe/
    │   │   │   │   │   └── keywrapper_jwe.go
    │   │   │   │   ├── keyprovider/
    │   │   │   │   │   └── keyprovider.go
    │   │   │   │   ├── keywrap.go
    │   │   │   │   ├── pgp/
    │   │   │   │   │   └── keywrapper_gpg.go
    │   │   │   │   ├── pkcs11/
    │   │   │   │   │   └── keywrapper_pkcs11.go
    │   │   │   │   └── pkcs7/
    │   │   │   │       └── keywrapper_pkcs7.go
    │   │   │   ├── reader.go
    │   │   │   ├── spec/
    │   │   │   │   └── spec.go
    │   │   │   └── utils/
    │   │   │       ├── delayedreader.go
    │   │   │       ├── ioutils.go
    │   │   │       ├── keyprovider/
    │   │   │       │   ├── keyprovider.pb.go
    │   │   │       │   └── keyprovider.proto
    │   │   │       ├── testing.go
    │   │   │       └── utils.go
    │   │   └── storage/
    │   │       ├── .cirrus.yml
    │   │       ├── .codespellrc
    │   │       ├── .dockerignore
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── .mailmap
    │   │       ├── AUTHORS
    │   │       ├── CODE-OF-CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── NOTICE
    │   │       ├── OWNERS
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── VERSION
    │   │       ├── check.go
    │   │       ├── containers.go
    │   │       ├── deprecated.go
    │   │       ├── drivers/
    │   │       │   ├── aufs/
    │   │       │   │   ├── aufs.go
    │   │       │   │   ├── dirs.go
    │   │       │   │   ├── mount.go
    │   │       │   │   └── mount_linux.go
    │   │       │   ├── btrfs/
    │   │       │   │   ├── btrfs.go
    │   │       │   │   ├── dummy_unsupported.go
    │   │       │   │   └── version.go
    │   │       │   ├── chown.go
    │   │       │   ├── chown_darwin.go
    │   │       │   ├── chown_unix.go
    │   │       │   ├── chown_windows.go
    │   │       │   ├── chroot_unix.go
    │   │       │   ├── chroot_windows.go
    │   │       │   ├── copy/
    │   │       │   │   ├── copy_linux.go
    │   │       │   │   └── copy_unsupported.go
    │   │       │   ├── counter.go
    │   │       │   ├── driver.go
    │   │       │   ├── driver_darwin.go
    │   │       │   ├── driver_freebsd.go
    │   │       │   ├── driver_linux.go
    │   │       │   ├── driver_solaris.go
    │   │       │   ├── driver_unsupported.go
    │   │       │   ├── driver_windows.go
    │   │       │   ├── fsdiff.go
    │   │       │   ├── jsoniter.go
    │   │       │   ├── overlay/
    │   │       │   │   ├── check.go
    │   │       │   │   ├── check_116.go
    │   │       │   │   ├── composefs.go
    │   │       │   │   ├── jsoniter.go
    │   │       │   │   ├── mount.go
    │   │       │   │   ├── overlay.go
    │   │       │   │   ├── overlay_disk_quota.go
    │   │       │   │   ├── overlay_disk_quota_unsupported.go
    │   │       │   │   ├── overlay_unsupported.go
    │   │       │   │   └── randomid.go
    │   │       │   ├── overlayutils/
    │   │       │   │   └── overlayutils.go
    │   │       │   ├── quota/
    │   │       │   │   ├── projectquota.go
    │   │       │   │   ├── projectquota_supported.go
    │   │       │   │   └── projectquota_unsupported.go
    │   │       │   ├── register/
    │   │       │   │   ├── register_aufs.go
    │   │       │   │   ├── register_btrfs.go
    │   │       │   │   ├── register_overlay.go
    │   │       │   │   ├── register_vfs.go
    │   │       │   │   ├── register_windows.go
    │   │       │   │   └── register_zfs.go
    │   │       │   ├── template.go
    │   │       │   ├── vfs/
    │   │       │   │   ├── copy_linux.go
    │   │       │   │   ├── copy_unsupported.go
    │   │       │   │   └── driver.go
    │   │       │   ├── windows/
    │   │       │   │   ├── jsoniter_windows.go
    │   │       │   │   └── windows.go
    │   │       │   └── zfs/
    │   │       │       ├── MAINTAINERS
    │   │       │       ├── zfs.go
    │   │       │       ├── zfs_freebsd.go
    │   │       │       ├── zfs_linux.go
    │   │       │       └── zfs_unsupported.go
    │   │       ├── errors.go
    │   │       ├── idset.go
    │   │       ├── images.go
    │   │       ├── internal/
    │   │       │   ├── dedup/
    │   │       │   │   ├── dedup.go
    │   │       │   │   ├── dedup_linux.go
    │   │ 

================================================
FILE CONTENTS
================================================

================================================
FILE: .devcontainer/Dockerfile
================================================
FROM fedora:36

# Install:
#  - a few packages for convenient usage
#  - RPM tooling
#  - the go compiler
#  - weldr-client to use the weldr API
#  - builddep to be able to pull in requirements from .spec
RUN dnf install -y \
    fish \
    fd-find \
    ripgrep \
    jq \
    fedora-packager \
    rpmdevtools \
    go-srpm-macros \
    go \
    weldr-client \
    osbuild \
    osbuild-lvm2 \
    osbuild-luks2 \
    osbuild-ostree \
    osbuild-tools \
    'dnf-command(builddep)'
# install the language server
RUN go install -v golang.org/x/tools/gopls@latest
RUN go install -v github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest
RUN go install -v github.com/ramya-rao-a/go-outline@latest
RUN go install -v github.com/go-delve/delve/cmd/dlv@latest
RUN go install -v honnef.co/go/tools/cmd/staticcheck@latest
COPY ./osbuild-composer.spec /tmp/osbuild-composer.spec
RUN dnf builddep /tmp/osbuild-composer.spec -y
RUN rm /tmp/osbuild-composer.spec


================================================
FILE: .devcontainer/devcontainer.json
================================================
{
  "name": "composer",
  "build": {
    "dockerfile": "Dockerfile",
    "context": ".."
  },
  "mounts": [
    "source=osbuild-share,target=/root/.local/share,type=volume"
  ],
  "runArgs": [
    "--privileged"
  ],
  "extensions": [
    "laurenttreguier.rpm-spec",
    "golang.Go",
    "GitHub.vscode-pull-request-github"
  ]
}

================================================
FILE: .fmf/version
================================================
1


================================================
FILE: .gitattributes
================================================
# Collapse by default on GitHub (linguist-generated)
go.sum linguist-generated

*.gen.go linguist-generated

vendor/modules.txt linguist-generated


================================================
FILE: .github/CODEOWNERS
================================================
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence.
*               @osbuild/osbuild-reviewers

# Worker code
/internal/worker/       @thozza
/cmd/osbuild-worker/    @thozza

# Service deployment
# (note: last match wins)
/templates/ @croissanne @kingsleyzissou @schuellerf @thozza
/templates/dashboards/ @croissanne @kingsleyzissou @schuellerf @thozza



================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**Environment**
 * OS version (`/etc/os-release` and `/etc/redhat-release`):
 * osbuild-composer version (`rpm -qi osbuild-composer)`

**To Reproduce**
Steps to reproduce the behavior:
 * *for example starting osbuild-composer.service or running composer-cli command, don't forget to include all configuration files you created*

**Expected behavior**
A clear and concise description of what you expected to happen.

**Additional context**
Add any other context about the problem here.


================================================
FILE: .github/dependabot.yml
================================================
---
version: 2
updates:

  # Maintain dependencies for GitHub Actions
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "weekly"
      time: "04:00"
    open-pull-requests-limit: 5
    rebase-strategy: "disabled"


================================================
FILE: .github/renovate.json
================================================
{
  "extends": [
    "github>konflux-ci/mintmaker//config/renovate/renovate.json",
    "schedule:earlyMondays",
    "docker:disable"
  ],
  "prConcurrentLimit": 3,
  "gomod": {
    "enabled": false
  }
}


================================================
FILE: .github/workflows/coverity_scan.yml
================================================
name: Coverity Scan

on:
  # https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#scheduled-events
  schedule:
    - cron: '0 7 * * *' # Daily at 07:00 UTC

jobs:
  coverity_scan:
    runs-on: ubuntu-22.04
    steps:
      - name: Clone repository
        uses: actions/checkout@v5

      # https://scan.coverity.com/projects/osbuild-osbuild-composer
      - name: Run coverity scan script
        env:
          COVERITY_SCAN_PROJECT_NAME: "osbuild/osbuild-composer"
          COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
          COVERITY_SCAN_EMAIL: ${{ secrets.COVERITY_SCAN_EMAIL }}
        run: |
          sudo apt-get update
          sudo apt-get install -y libkrb5-dev libgpgme-dev

          echo "Downloading coverity scan package."
          curl -o /tmp/cov-analysis-linux64.tgz https://scan.coverity.com/download/linux64 \
            --form project="$COVERITY_SCAN_PROJECT_NAME" \
            --form token="$COVERITY_SCAN_TOKEN"
          pushd /tmp && tar xzvf cov-analysis-linux64.tgz && popd

          mkdir bin
          /tmp/cov-analysis-linux64-*/bin/cov-build --dir cov-int go build -o bin/ ./...
          tar czvf cov-int.tar.gz cov-int

          echo "Uploading coverity scan result to http://scan.coverity.com"
          curl https://scan.coverity.com/builds?project="$COVERITY_SCAN_PROJECT_NAME" \
            --form token="$COVERITY_SCAN_TOKEN" \
            --form email="$COVERITY_SCAN_EMAIL" \
            --form file=@cov-int.tar.gz \
            --form version="$(git rev-parse HEAD)" \
            --form description="$GITHUB_REF / $GITHUB_SHA"


================================================
FILE: .github/workflows/create-tag.yml
================================================
# This action creates a release every second Wednesday
name: "Create and push release tag"

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Version to tag. Useful for making the first "dot" release from a rhel-x.y branch.'
        required: false
        default: ""
  schedule:
    - cron: "0 8 * * 3"

jobs:
  tag-and-push:
    runs-on: ubuntu-22.04

    steps:
      - name: Even or odd week
        run: if [ `expr \`date +\%s\` / 86400 \% 2` -eq 0 ]; then echo "WEEK=odd" >> $GITHUB_ENV; else echo "WEEK=even" >> $GITHUB_ENV; fi
        shell: bash

      - name: Upstream tag
        uses: osbuild/release-action@create-tag
        if: ${{ env.WEEK == 'odd' || github.event_name != 'schedule' }}
        with:
          token: "${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}"
          username: "imagebuilder-bot"
          email: "imagebuilder-bots+imagebuilder-bot@redhat.com"
          version: ${{ github.event.inputs.version }}


================================================
FILE: .github/workflows/gobump.yml
================================================
---
name: "Updates Go dependencies via gobump"

on:  # yamllint disable-line rule:truthy
  workflow_dispatch:
  schedule:
    # Every Monday at 6:00 PM (one hour after images release)
    - cron: "0 6 * * 1"

jobs:
  bump-images:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v5

      - name: Run gobump-deps action - images
        uses: lzap/gobump@main
        with:
          go_version: "1.24.12"
          token: ${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}
          exec_pr: ./tools/prepare-source.sh
          include: "github.com/osbuild/images github.com/osbuild/blueprint"
          commit_message: "deps: bump osbuild/images dependency"

  bump-deps:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v5

      - name: Run gobump-deps action - all other
        uses: lzap/gobump@main
        with:
          go_version: "1.24.12"
          token: ${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}
          exec_pr: ./tools/prepare-source.sh
          exclude: "github.com/osbuild/images,github.com/osbuild/blueprint"
          commit_message: "deps: update dependencies (w/o osbuild/images)"


================================================
FILE: .github/workflows/pr_best_practices.yml
================================================
name: "Verify PR best practices"

on:
  pull_request_target:
    branches: [main]
    types: [opened, synchronize, reopened, edited]
  issue_comment:
    types: [created]

jobs:
  pr-best-practices:
    runs-on: ubuntu-22.04
    steps:
      - name: PR best practice check
        uses: osbuild/pr-best-practices@main
        with:
          token: ${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}
          jira_token: ${{ secrets.IMAGEBUILDER_BOT_JIRA_TOKEN }}


================================================
FILE: .github/workflows/release.yml
================================================
name: "Create GitHub release"

on:
  push:
    tags:
      - "v*"

jobs:
  release:
    runs-on: ubuntu-22.04
    steps:
      - name: Upstream release
        uses: osbuild/release-action@main
        with:
          token: "${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}"
          slack_bot_token: "${{ secrets.SLACK_BOT_TOKEN }}"


================================================
FILE: .github/workflows/stale-cleanup.yml
================================================
name: Mark and close stale issues and PRs

on:
  schedule:
    - cron: '0 4 * * *'

jobs:
  stale:
    runs-on: ubuntu-22.04
    permissions:
      actions: write  # needed to clean up the saved action state
      issues: write
      pull-requests: write
    steps:
      - uses: osbuild/common-stale-action@main
        with:
          token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .github/workflows/tests.yml
================================================
name: Tests

# NOTE(mhayden): Restricting branches prevents jobs from being doubled since
# a push to a pull request triggers two events.
on:
  pull_request:
    branches:
      - "*"
  push:
    branches:
      - main

jobs:
  unit-tests:
    name: "🛃 Unit tests"
    runs-on: ubuntu-22.04
    container:
      image: registry.fedoraproject.org/fedora:42

    steps:
        # krb5-devel is needed to test internal/upload/koji package
        # gpgme-devel is needed for container upload dependencies
      - name: Install build and test dependencies
        run: dnf -y install krb5-devel git-core go gpgme-devel btrfs-progs-devel device-mapper-devel

      - name: Check out code into the Go module directory
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Mark the working directory as safe for git
        run: git config --global --add safe.directory "$(pwd)"

      - name: Run unit tests
        run: make unit-tests

      - uses: codecov/codecov-action@v6
        if: env.CODECOV_TOKEN
        with:
          fail_ci_if_error: false
          verbose: true
          token: ${{ secrets.CODECOV_TOKEN }}
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

  db-tests:
    name: "🗄 DB tests"
    runs-on: ubuntu-22.04
    services:
      postgres:
        # 12 is used in deployments
        image: postgres:12
        env:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: foobar
          POSTGRES_DB: osbuildcomposer
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          - 5432:5432
    steps:
    - name: Apt update
      run: sudo apt-get update
      # gpgme-devel is needed for container upload dependencies
    - name: Install test dependencies
      run: sudo apt-get install -y libgpgme-dev libbtrfs-dev
    - uses: actions/checkout@v5
    - uses: actions/setup-go@v6
      with:
        go-version: "1.24.12"
    - env:
        PGUSER: postgres
        PGPASSWORD: foobar
        PGDATABASE: osbuildcomposer
        PGHOST: localhost
        PGPORT: 5432
      run: |
        ./tools/dbtest-prepare-env.sh
    - run: ./tools/dbtest-entrypoint.sh

  python-lint:
    name: "🐍 Lint python scripts"
    runs-on: ubuntu-22.04
    container:
      image: registry.fedoraproject.org/fedora:42
    steps:

      - name: Install build and test dependencies
        run: dnf -y install python3-pylint git-core python3-requests

      - name: Check out code into the Go module directory
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Analysing the code with pylint
        run: |
          python3 -m pylint tools/koji-compose.py

  golang-lint:
    name: "⌨ Golang Lint"
    runs-on: ubuntu-22.04
    steps:
      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version: "1.24.12"
        id: go

      - name: Check out code into the Go module directory
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Install dependencies
        run: sudo tools/apt-install-deps.sh

      - name: Extract golangci-lint version from Makefile
        id: golangci_lint_version
        run: echo "GOLANGCI_LINT_VERSION=$(awk -F '=' '/^GOLANGCI_LINT_VERSION *=/{print $2}' Makefile)" >> "$GITHUB_OUTPUT"

      - name: Run golangci-lint
        uses: golangci/golangci-lint-action@v9
        with:
          version: ${{ steps.golangci_lint_version.outputs.GOLANGCI_LINT_VERSION }}
          skip-cache: true
          args: --verbose --timeout 5m0s

  packit-config-lint:
    name: "📦 Packit config lint"
    runs-on: ubuntu-22.04
    container:
      image: registry.fedoraproject.org/fedora:latest
    steps:
      - name: Install Packit
        run: dnf -y install packit

      - name: Check out code
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Validate Packit config
        run: |
          packit config validate .packit.yaml

  prepare:
    name: "🔍 Check source preparation"
    runs-on: ubuntu-22.04
    steps:

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version: "1.24.12"
        id: go

      - name: Check out code into the Go module directory
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Check that source has been prepared
        run: |
          ./tools/prepare-source.sh
          if [ -n "$(git status --porcelain)" ]; then
            echo
            echo "Please include these changes in your branch: "
            git status -vv
            exit "1"
          else
            exit "0"
          fi

  check-snapshots:
    name: "🔍 Check for valid snapshot urls"
    runs-on: ubuntu-22.04
    steps:
      - name: Check out code into the Go module directory
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}
      - name: Check for valid snapshot urls
        run: ./tools/check-snapshots --errors-only .

  check-runners:
    name: "🔍 Check for missing or unused runner repos"
    runs-on: ubuntu-22.04
    steps:
      - name: Check out code into the Go module directory
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}
      - name: Check for missing or unused runner repos
        run: ./tools/check-runners

  shellcheck:
    name: "🐚 Shellcheck"
    runs-on: ubuntu-22.04
    steps:
    - uses: actions/checkout@v5
      with:
        ref: ${{ github.event.pull_request.head.sha }}

    - name: Run ShellCheck
      uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38
      with:
        ignore: vendor # We don't want to fix the code in vendored dependencies
        version: "v0.10.0"
      env:
        # don't check /etc/os-release sourcing, allow useless cats to live inside our codebase, and
        # allow seemingly unreachable commands
        SHELLCHECK_OPTS: -e SC1091 -e SC2002 -e SC2317

    - name: Do not doube trap signals inside test scripts
      run: |
        FILES_WITH_DOUBLE_TRAP=$(grep trap test/cases/* -R | cut -f1 -d: | sort | uniq -c | grep -v 1 || echo -n)

        echo "INFO: ----- files with possible double calls to 'trap' -----"
        echo "$FILES_WITH_DOUBLE_TRAP"
        echo "---------- END ----------"

        if [ -n "$FILES_WITH_DOUBLE_TRAP" ]; then
            echo "FAIL: Do not double 'trap' signals"
            echo "INFO: because this may lead to cleanup() function not being executed"
            exit 1
        fi

  rpmlint:
    name: "📦 RPMlint"
    runs-on: ubuntu-22.04
    container: registry.fedoraproject.org/fedora:42
    steps:
      - name: Install dependencies
        run: sudo dnf install -y rpmlint rpm-build make git-core

      - uses: actions/checkout@v5
        with:
          ref: ${{ github.event.pull_request.head.sha }}

      - name: Create SRPM
        run: |
          git config --global --add safe.directory "$GITHUB_WORKSPACE"
          make srpm

      - name: Run rpmlint
        run: rpmlint --config rpmlint.config rpmbuild/SRPMS/*

  gitlab-ci-helper:
    name: "Gitlab CI trigger helper"
    runs-on: ubuntu-22.04
    env:
      SKIP_CI: ${{ (github.event.pull_request.draft == true || contains(github.event.pull_request.labels.*.name, 'WIP')) && !contains(github.event.pull_request.labels.*.name, 'WIP+test') }}
    steps:
      - name: Write PR status
        run: echo "$SKIP_CI" > SKIP_CI.txt
      - name: Upload status
        uses: actions/upload-artifact@v7
        with:
          name: PR_STATUS
          path: SKIP_CI.txt

  kube-linter:
    name: "🎀 kube-linter"
    runs-on: ubuntu-22.04
    steps:
    - uses: actions/checkout@v5
    - uses: redhat-actions/oc-installer@v1
    - name: Process template
      run: |
        make process-templates

    - uses: stackrox/kube-linter-action@v1.0.6
      with:
        directory: processed-templates
        config: templates/.kube-linter-config.yml
        version: 0.3.0

  cloud-cleaner-is-enabled:
    name: "🧹 cloud-cleaner-is-enabled"
    runs-on: ubuntu-22.04
    steps:
    - name: Check if workflow is enabled
      run: |
        curl https://github.com/osbuild/cloud-cleaner/actions/workflows/run_ib.yml 2>/dev/null | grep -vz "This scheduled workflow is disabled" >/dev/null

    - name: How to enable cloud-cleaner
      if: failure()
      run: |
        echo "Cloud-cleaner is disabled"
        echo "Go to https://github.com/osbuild/cloud-cleaner/actions/workflows/run_ib.yml and"
        echo "https://github.com/osbuild/cloud-cleaner/actions/workflows/run_cloudx.yml and"
        echo "manually enable it!"

  check-spec-images-deps:
    name: "🔍 Check spec file osbuild/images dependencies"
    runs-on: ubuntu-latest
    container: registry.fedoraproject.org/fedora:latest
    steps:
    - name: Checkout
      uses: actions/checkout@v5

    - name: Check dependencies in spec file
      uses: osbuild/images@check-spec-deps-action


================================================
FILE: .github/workflows/trigger-gitlab.yml
================================================
# inspired by rhinstaller/anaconda

name: Trigger GitLab CI

on:
  workflow_run:
    workflows: ["Tests"]
    types: [completed]

jobs:
  trigger-gitlab:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    runs-on: ubuntu-22.04
    env:
      IMAGEBUILDER_BOT_GITLAB_SSH_KEY: ${{ secrets.IMAGEBUILDER_BOT_GITLAB_SSH_KEY }}
      GITLAB_TOKEN: ${{ secrets.IMAGEBUILDER_BOT_GITLAB_PIPELINE_TRIGGER_TOKEN }}
    steps:
      - name: Report status
        uses: haya14busa/action-workflow_run-status@v1

      - name: Install Dependencies
        run: |
          sudo apt install -y jq

      - name: Clone repository
        uses: actions/checkout@v5
        with:
          ref: ${{ github.event.workflow_run.head_sha }}
          fetch-depth: 0

      - uses: octokit/request-action@v2.x
        id: fetch_pulls
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          route: GET /repos/${{ github.repository }}/pulls
          per_page: 100

      - name: Checkout branch
        id: pr_data
        env:
          BRANCH: ${{ github.event.workflow_run.head_branch }}
        run: |
          PR_DATA=$(mktemp)
          # use uuid as a file terminator to avoid conflicts with data content
          cat > "$PR_DATA" <<'a21b3e7f-d5eb-44a3-8be0-c2412851d2e6'
          ${{ steps.fetch_pulls.outputs.data }}
          a21b3e7f-d5eb-44a3-8be0-c2412851d2e6

          PR=$(jq -rc '.[] | select(.head.sha | contains("${{ github.event.workflow_run.head_sha }}")) | select(.state | contains("open"))' "$PR_DATA" | jq -r .number)
          if [ ! -z "$PR" ]; then
            echo "pr_branch=PR-$PR" >> "$GITHUB_OUTPUT"
            git checkout -b PR-$PR
          else
            git checkout "${BRANCH}"
          fi

      - name: Download artifacts
        uses: actions/github-script@v9
        with:
          script: |
            let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
               owner: context.repo.owner,
               repo: context.repo.repo,
               run_id: context.payload.workflow_run.id,
            });
            let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
              return artifact.name == "PR_STATUS"
            })[0];
            let download = await github.rest.actions.downloadArtifact({
               owner: context.repo.owner,
               repo: context.repo.repo,
               artifact_id: matchArtifact.id,
               archive_format: 'zip',
            });
            let fs = require('fs');
            fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/PR_STATUS.zip`, Buffer.from(download.data));

      - name: Unzip artifact
        run: unzip PR_STATUS.zip

      - name: Push to gitlab
        run: |
          mkdir -p ~/.ssh
          echo "${IMAGEBUILDER_BOT_GITLAB_SSH_KEY}" > ~/.ssh/id_rsa
          chmod 400 ~/.ssh/id_rsa
          touch ~/.ssh/known_hosts
          ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts
          git remote add ci git@gitlab.com:redhat/services/products/image-builder/ci/osbuild-composer.git
          SKIP_CI=$(cat SKIP_CI.txt)
          if [[ "${SKIP_CI}" == true ]];then
            git push -f -o ci.variable="SKIP_CI=true" ci
          else
            git push -f ci
          fi

      - name: Trigger GitLab RHEL 9 nightly pipeline against this PR
        if: env.GITLAB_TOKEN && steps.pr_data.outputs.pr_branch
        run: |
            # osbuild-composer
            PROJECT_ID=34771166

            # Simulate a nightly CI pipeline against this PR
            curl --request POST --fail --form "token=$GITLAB_TOKEN" \
                --form ref=${{ steps.pr_data.outputs.pr_branch }} \
                --form "variables[CI_PIPELINE_SOURCE]=schedule" \
                --form "variables[NIGHTLY]=true" \
                --form "variables[RHEL_MAJOR]=9" \
                "https://gitlab.com/api/v4/projects/$PROJECT_ID/trigger/pipeline"

      - name: Trigger GitLab RHEL 10 nightly pipeline against this PR
        if: env.GITLAB_TOKEN && steps.pr_data.outputs.pr_branch
        run: |
            # osbuild-composer
            PROJECT_ID=34771166
            # Simulate a nightly CI pipeline against this PR
            curl --request POST --fail --form "token=$GITLAB_TOKEN" \
                --form ref=${{ steps.pr_data.outputs.pr_branch }} \
                --form "variables[CI_PIPELINE_SOURCE]=schedule" \
                --form "variables[NIGHTLY]=true" \
                --form "variables[RHEL_MAJOR]=10" \
                "https://gitlab.com/api/v4/projects/$PROJECT_ID/trigger/pipeline"


================================================
FILE: .github/workflows/update-osbuild.yml
================================================
# This action updates the osbuild ref in the Schutzfile
---
name: "Update osbuild commit ID"

on:  # yamllint disable-line rule:truthy
  workflow_dispatch:
  schedule:
    # Every Sunday at 12:00
    - cron: "0 12 * * 0"

jobs:
  update-and-push:
    runs-on: ubuntu-24.04
    env:
      GH_TOKEN: ${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}
    steps:
      - name: Clone
        # This workflow can be started from a branch, but we always want to
        # work on main to update the osbuild ref.
        # WARNING: This means the update-schutzfile-script below will always be
        # run from the main branch.
        run: |
          git clone --depth=1 --branch main https://github.com/$GITHUB_REPOSITORY ./src

      - name: User config
        working-directory: ./src
        run: |
          git config user.name "schutzbot"
          git config user.email "schutzbot@gmail.com"

      - name: Update Schutzfile
        working-directory: ./src
        env:
          # GITHUB_TOKEN is required by the script
          # TODO: change it to read GH_TOKEN for consistency with gh cli
          GITHUB_TOKEN: ${{ secrets.SCHUTZBOT_GITHUB_ACCESS_TOKEN }}
        # script also creates github_pr_body.txt
        run: |
          ./test/scripts/update-schutzfile-osbuild

      - name: Open PR
        working-directory: ./src
        run: |
          if git diff --exit-code; then echo "No changes"; exit 0; fi
          branch="schutzfile-osbuild-$(date -I)"
          git checkout -b "${branch}"
          git add Schutzfile
          git commit -m "schutzfile: Update osbuild dependency commit ID"
          remote="https://oauth2:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}"
          git push -f "${remote}" "${branch}"
          gh pr create \
            --title "Update osbuild dependency commit ID" \
            --body-file "github_pr_body.txt" \
            --base "main" \
            --head "${branch}"


================================================
FILE: .gitignore
================================================
__pycache__

.vscode
.DS_Store
/.idea

/containers/config/
/bin
/rpmbuild
/osbuild-composer
/osbuild-worker

/tools/appsre-ansible/inventory

/docs/osbuild-composer.7
.cache
container_composer_golangci_built.info
processed-templates

coverage.txt
coverage.html

coverage_splunk_logger.txt
coverage_splunk_logger.html


================================================
FILE: .gitlab-ci.yml
================================================
stages:
  - init
  - rpmbuild
  - prepare-rhel-internal
  - test
  - finish

.base:
  before_script:
    - mkdir -p /tmp/artifacts
    - schutzbot/ci_details.sh > /tmp/artifacts/ci-details-before-run.txt
    - cat schutzbot/team_ssh_keys.txt | tee -a ~/.ssh/authorized_keys > /dev/null
    # workaround bug https://issues.redhat.com/browse/RHEL-17890
    - sudo dnf upgrade -y nettle
  after_script:
    - schutzbot/ci_details.sh > /tmp/artifacts/ci-details-after-run.txt || true
    - schutzbot/unregister.sh || true
    - schutzbot/save_journal.sh || true
    - schutzbot/upload_artifacts.sh
  interruptible: true
  retry: 1
  tags:
    - terraform
  artifacts:
    paths:
      - "*.repo"
      - COMPOSER_NVR
    when: always

.terraform:
  extends: .base
  tags:
    - terraform

.terraform/openstack:
  extends: .base
  tags:
    - terraform/openstack

.terraform/gcp:
  extends: .base
  tags:
    - terraform/gcp


init:
  stage: init
  interruptible: true
  tags:
    - shell
  script:
    - schutzbot/update_github_status.sh start

.build_rules:
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $SKIP_CI == "false"'
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $SKIP_CI == "true"'
      when: manual

.upstream_rules_all:
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/'

.upstream_rules_x86_64:
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/'

.upstream_and_ga_rules_all:
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER'

.nightly_rules_all:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.\d+-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-10.\d+-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "10"'

.nightly_rules_x86_64:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.\d+-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-10.\d+-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "10"'

.ga_rules_all:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $NIGHTLY == "false"'

.ga_rules_x86_64:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "false"'


.RPM_RUNNERS_RHEL: &RPM_RUNNERS_RHEL
  RUNNER:
    - aws/rhel-9.8-nightly-x86_64
    - aws/rhel-9.8-nightly-aarch64
    - aws/rhel-9.9-nightly-x86_64
    - aws/rhel-9.9-nightly-aarch64
    - aws/rhel-10.2-nightly-x86_64
    - aws/rhel-10.2-nightly-aarch64
    - aws/rhel-10.3-nightly-x86_64
    - aws/rhel-10.3-nightly-aarch64
  INTERNAL_NETWORK: ["true"]

RPM:
  stage: rpmbuild
  extends: .terraform
  rules:
    - !reference [.build_rules, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - sh "schutzbot/mockbuild.sh"
  parallel:
    matrix:
      - RUNNER:
          - aws/fedora-42-x86_64
          - aws/fedora-42-aarch64
          - aws/rhel-8.10-ga-x86_64
          - aws/rhel-8.10-ga-aarch64
          - aws/rhel-9.7-ga-x86_64
          - aws/rhel-9.7-ga-aarch64
          - aws/rhel-10.1-ga-x86_64
          - aws/rhel-10.1-ga-aarch64
          - aws/centos-stream-9-x86_64
          - aws/centos-stream-9-aarch64
          - aws/centos-stream-10-x86_64
          - aws/centos-stream-10-aarch64
      - <<: *RPM_RUNNERS_RHEL

Build -tests RPM for RHEL:
  stage: rpmbuild
  extends: .terraform
  rules:
    - !reference [.nightly_rules_all, rules]
  script:
    - sh "schutzbot/mockbuild.sh"
  interruptible: true
  after_script:
    - schutzbot/update_github_status.sh update
    - schutzbot/save_journal.sh
  parallel:
    matrix:
      - <<: *RPM_RUNNERS_RHEL

Container:
  stage: rpmbuild
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - sh "schutzbot/containerbuild.sh"
  parallel:
    matrix:
      - RUNNER:
          - aws/rhel-8.10-ga-x86_64


API-bootc:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/api-bootc.sh
  parallel:
    matrix:
      - RUNNER:
          - aws/centos-stream-9-x86_64
        BOOTC_USE_REMOTE_CONTAINER_SOURCE: ["true", "false"]

Packer:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
  script:
    - tools/ci-build-worker-packer.sh
  variables:
    RUNNER: aws/rhel-9.7-ga-x86_64

Prepare-rhel-internal:
  stage: prepare-rhel-internal
  extends: .terraform
  rules:
    - !reference [.nightly_rules_all, rules]
  script:
    - schutzbot/prepare-rhel-internal.sh
  artifacts:
    paths:
      - rhel-${RHEL_MAJOR}.json
      - rhel${RHEL_MAJOR}internal.repo
      - COMPOSE_ID
  parallel:
    matrix:
      - RUNNER:
          # NOTE: 1 runner prepares for all arches b/c subsequent jobs download
          # artifacts from all previous jobs and the last one wins
          - aws/rhel-9.8-nightly-x86_64
          - aws/rhel-9.9-nightly-x86_64
          - aws/rhel-10.2-nightly-x86_64
          - aws/rhel-10.3-nightly-x86_64
        INTERNAL_NETWORK: ["true"]

Base:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/base_tests.sh
  parallel:
    matrix:
      - RUNNER:
          - aws/fedora-42-x86_64
          - aws/fedora-42-aarch64
          - aws/rhel-8.10-ga-x86_64
          - aws/rhel-8.10-ga-aarch64
          - aws/rhel-9.7-ga-x86_64
          - aws/rhel-9.7-ga-aarch64
          - aws/rhel-10.1-ga-x86_64
          - aws/rhel-10.1-ga-aarch64
          - aws/centos-stream-9-x86_64
          - aws/centos-stream-9-aarch64
          - aws/centos-stream-10-x86_64
          - aws/centos-stream-10-aarch64
      - <<: *RPM_RUNNERS_RHEL

.regression:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/${SCRIPT}
  parallel:
    matrix:
      - RUNNER:
          - aws/fedora-42-x86_64
          - aws/fedora-42-aarch64
      - RUNNER:
          - aws/rhel-8.10-ga-x86_64
          - aws/rhel-8.10-ga-aarch64
          - aws/rhel-9.7-ga-x86_64
          - aws/rhel-9.7-ga-aarch64
          - aws/rhel-10.1-ga-x86_64
          - aws/rhel-10.1-ga-aarch64
          - aws/centos-stream-9-x86_64
          - aws/centos-stream-9-aarch64
          - aws/centos-stream-10-x86_64
          - aws/centos-stream-10-aarch64
      - <<: *RPM_RUNNERS_RHEL

regression-composer-works-behind-satellite-fallback:
  extends: .regression
  rules:
    # WHITELIST: Run on RHEL-nightly only
    - if: $RUNNER =~ "/^.*(rhel-.*-nightly).*$/" && $CI_PIPELINE_SOURCE != "schedule"
  variables:
    SCRIPT: regression-composer-works-behind-satellite-fallback.sh

regression-composer-works-behind-satellite:
  extends: .regression
  rules:
    # WHITELIST: Run on RHEL-nightly only
    - if: $RUNNER =~ "/^.*(rhel-.*-nightly).*$/" && $CI_PIPELINE_SOURCE != "schedule"
  variables:
    SCRIPT: regression-composer-works-behind-satellite.sh

regression-excluded-dependency:
  extends: .regression
  rules:
    # WHITELIST & BLACKLIST: excluding GA runners from the PR pipeline
    - if: $RUNNER =~ "/^.*(rhel-8.*|rhel-9.*|centos-stream-*).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  variables:
    SCRIPT: regression-excluded-dependency.sh

regression-include-excluded-packages:
  extends: .regression
  rules:
    # BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
    - if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  variables:
    SCRIPT: regression-include-excluded-packages.sh

regression-old-worker-new-composer:
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  parallel:
    matrix:
      - RUNNER:
          - aws/rhel-8.10-ga-x86_64
          - aws/rhel-9.7-ga-x86_64
          - aws/rhel-10.1-ga-x86_64
        INTERNAL_NETWORK: ["true"]
  extends: .regression
  variables:
    SCRIPT: regression-old-worker-new-composer.sh

regression-insecure-repo:
  extends: .regression
  rules:
    # WHITELIST & BLACKLIST: excluding GA runners from the PR pipeline
    - if: $RUNNER =~ "/^.*(rhel-*).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  variables:
    SCRIPT: regression-insecure-repo.sh


regression-no-explicit-rootfs-definition:
  extends: .regression
  rules:
    # BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
    - if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  variables:
    SCRIPT: regression-no-explicit-rootfs-definition.sh

# NB (thozza): The rhel-edge-ci job is currently disabled because the tests have been consistently failing for a while.
# The tests need to be investigated and fixed before re-enabling the job.
# See https://issues.redhat.com/browse/HMS-8719
# Trigger-rhel-edge-ci:
#   rules:
#     - if: '$CI_PIPELINE_SOURCE != "schedule"'
#   stage: test
#   interruptible: true
#   tags:
#     - shell
#   script:
#     - 'curl -u "${SCHUTZBOT_LOGIN}" -X POST -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/osbuild/rhel-edge-ci/dispatches -d "{\"event_type\":\"osbuild-composer-ci\",\"client_payload\":{\"pr_number\":\"${CI_COMMIT_BRANCH}\"}}"'

.integration_base:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/${SCRIPT}

.rhel_runners: &rhel_runners
    RUNNER:
      - aws/rhel-8.10-ga-x86_64
      - aws/rhel-9.7-ga-x86_64
      - aws/rhel-9.9-nightly-x86_64
      - aws/rhel-10.1-ga-x86_64
      - aws/rhel-10.2-nightly-x86_64
      - aws/rhel-10.3-nightly-x86_64
      - aws/centos-stream-9-x86_64
      - aws/centos-stream-10-x86_64
    INTERNAL_NETWORK: ["true"]

.integration_rhel:
  extends: .integration_base
  parallel:
    matrix:
      - *rhel_runners

.fedora_runners: &fedora_runners
    RUNNER:
      - aws/fedora-42-x86_64

.integration_fedora:
  extends: .integration_base
  parallel:
    matrix:
      - *fedora_runners

.integration:
  extends: .integration_base
  parallel:
    matrix:
      - *fedora_runners
      - *rhel_runners

koji.sh (cloud upload):
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/koji.sh cloud-upload ${CLOUD_TARGET} ${IMAGE_TYPE}
  parallel:
    matrix:
      - RUNNER:
          - aws/rhel-9.7-ga-x86_64
        INTERNAL_NETWORK: ["true"]
        CLOUD_TARGET: aws
        IMAGE_TYPE: aws-rhui
      - RUNNER:
          - aws/rhel-9.7-ga-x86_64
        INTERNAL_NETWORK: ["true"]
        CLOUD_TARGET: azure
        IMAGE_TYPE: azure-rhui
      - RUNNER:
          - aws/rhel-9.7-ga-x86_64
        INTERNAL_NETWORK: ["true"]
        CLOUD_TARGET: gcp
        IMAGE_TYPE: gcp-rhui

koji.sh (cloudapi):
  extends: .integration
  # Not supported in nightly pipelines
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  variables:
    SCRIPT: koji.sh
  parallel:
    matrix:
      - *fedora_runners
      - RUNNER:
          - aws/rhel-9.7-ga-x86_64
        INTERNAL_NETWORK: ["true"]

aws.sh:
  extends: .integration
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  variables:
    SCRIPT: aws.sh

oci.sh:
  extends: .integration
  rules:
    # Run only on x86_64
    - !reference [.upstream_rules_x86_64, rules]
    - !reference [.ga_rules_x86_64, rules]
  variables:
    SCRIPT: oci.sh

OpenShift_Virtualization:
  extends: .integration_rhel
  rules:
    - !reference [.nightly_rules_x86_64, rules]
  variables:
    SCRIPT: openshift_virtualization.sh
  parallel:
    matrix:
      - RUNNER:
          - aws/rhel-9.8-nightly-x86_64
          - aws/rhel-9.9-nightly-x86_64
          - aws/rhel-10.2-nightly-x86_64
          - aws/rhel-10.3-nightly-x86_64
        INTERNAL_NETWORK: ["true"]

azure.sh:
  extends: .integration_rhel
  rules:
    # Run only on x86_64
    - !reference [.upstream_rules_x86_64, rules]
    - !reference [.nightly_rules_x86_64, rules]
    - !reference [.ga_rules_x86_64, rules]
  variables:
    SCRIPT: azure.sh

azure.sh_hyperv_gen2:
  extends: .integration_rhel
  rules:
    # Run only on x86_64
    - !reference [.upstream_rules_x86_64, rules]
    - !reference [.nightly_rules_x86_64, rules]
    - !reference [.ga_rules_x86_64, rules]
  variables:
    SCRIPT: azure_hyperv_gen2.sh

# The required GCE image type is not supported on Fedora
gcp.sh:
  extends: .integration_rhel
  rules:
    - !reference [.upstream_rules_x86_64, rules]
    - !reference [.nightly_rules_x86_64, rules]
    - !reference [.ga_rules_x86_64, rules]
  variables:
    SCRIPT: gcp.sh

# NOTE(akoutsou): The vmware tests are consistently failing. While the
# build succeeds, the upload fails with:
#   Unable to protect host, if the host isn't running as part of an
#   autoscaling group, this can safely be ignored: operation error Auto
#   Scaling: DescribeAutoScalingInstances, get identity: get credentials:
#   failed to refresh cached credentials, no EC2 IMDS role found, operation
#   error ec2imds: GetMetadata, http response error StatusCode: 404, request
#   to EC2 IMDS failed
# Disabling the test until we have time to look into it furhter.
# vmware.sh_vmdk:
#   extends: .integration_rhel
#   rules:
#     # Run only on x86_64
#     - !reference [.upstream_rules_x86_64, rules]
#     - !reference [.nightly_rules_x86_64, rules]
#     - !reference [.ga_rules_x86_64, rules]
#   variables:
#     SCRIPT: vmware.sh vmdk

# vmware.sh_ova:
#   extends: .integration_rhel
#   rules:
#     # Run only on x86_64
#     - !reference [.upstream_rules_x86_64, rules]
#     - !reference [.nightly_rules_x86_64, rules]
#     - !reference [.ga_rules_x86_64, rules]
#   variables:
#     SCRIPT: vmware.sh ova

filesystem.sh:
  extends: .integration
  parallel:
    matrix:
      - CUSTOMIZATION_TYPE: "disk-btrfs"
        RUNNER:
          - aws/fedora-42-x86_64
      - CUSTOMIZATION_TYPE: "filesystem"
        RUNNER:
          - aws/rhel-8.10-ga-x86_64
        INTERNAL_NETWORK: ["true"]
      - CUSTOMIZATION_TYPE: "disk-plain"
        RUNNER:
          - aws/rhel-9.7-ga-x86_64
          - aws/rhel-10.1-ga-x86_64
          - aws/rhel-10.2-nightly-x86_64
          - aws/rhel-10.3-nightly-x86_64
        INTERNAL_NETWORK: ["true"]
      - CUSTOMIZATION_TYPE: "disk-lvm"
        RUNNER:
          - aws/rhel-9.8-nightly-x86_64
          - aws/rhel-9.9-nightly-x86_64
        INTERNAL_NETWORK: ["true"]
      - CUSTOMIZATION_TYPE: "disk-lvm"
        RUNNER:
          - aws/centos-stream-9-x86_64
      - CUSTOMIZATION_TYPE: "filesystem"
        RUNNER:
          - aws/centos-stream-10-x86_64
  variables:
    SCRIPT: filesystem.sh ${CUSTOMIZATION_TYPE}

cross-distro.sh:
  extends: .integration
  variables:
    SCRIPT: cross-distro.sh

.API_TESTS: &API_TESTS
  IMAGE_TYPE:
    - aws
    - azure
    - edge-commit
    - gcp
    - vsphere
    - edge-commit generic.s3
    - edge-container
    - oci

API:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
    # note: cloud API is not supported for on-prem installations so
    # don't run this test case for nightly trees
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/api.sh ${IMAGE_TYPE}
  parallel:
    matrix:
      - <<: *API_TESTS
        RUNNER:
          - aws/rhel-8.10-ga-x86_64
          - aws/rhel-9.7-ga-x86_64
          - aws/rhel-9.8-nightly-x86_64
          - aws/rhel-9.9-nightly-x86_64
        INTERNAL_NETWORK: ["true"]
      # el10 supports only a subset of image types
      # Edge is not supported anymore for RHEL 10 (no edge-commit, edge-commit generic.s3, edge-container)
      - IMAGE_TYPE:
          - aws
          - azure
          - gcp
          - oci
          - vsphere
        RUNNER:
          # Add all RHEL 10 runners here to exclude Edge for them
          - aws/rhel-10.1-ga-x86_64
          - aws/rhel-10.2-nightly-x86_64
          - aws/rhel-10.3-nightly-x86_64
        INTERNAL_NETWORK: ["true"]
      - IMAGE_TYPE: ["iot-commit"]
        RUNNER:
          - aws/fedora-42-x86_64
      - IMAGE_TYPE: ["iot-bootable-container"]
        RUNNER:
          - aws/fedora-42-x86_64
          - aws/fedora-42-aarch64
      - IMAGE_TYPE: ["aws"]
        RUNNER:
          - aws/rhel-8.10-ga-aarch64
          - aws/rhel-9.7-ga-aarch64
          - aws/rhel-10.1-ga-aarch64
        INTERNAL_NETWORK: ["true"]

      # single test config for experimental feature
      # TODO: temporarily disabled until https://github.com/osbuild/osbuild-composer/issues/5000 is resolved
      # - IMAGE_TYPE: ["aws"]
      #   RUNNER:
      #     - aws/rhel-10.1-ga-x86_64
      #   IMAGE_BUILDER_EXPERIMENTAL: "image-builder-manifest-generation=1"
      #   INTERNAL_NETWORK: ["true"]

API-module-hotfixes:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
    # note: cloud API is not supported for on-prem installations so
    # don't run this test case for nightly trees
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/api.sh "${IMAGE_TYPE}"
  parallel:
    matrix:
      - IMAGE_TYPE:
          - aws
        RUNNER:
          - aws/rhel-8.10-ga-x86_64
          - aws/rhel-8.10-ga-aarch64
        INTERNAL_NETWORK: ["true"]
        TEST_MODULE_HOTFIXES: [1]
      - IMAGE_TYPE:
          - vsphere
        RUNNER:
          - aws/rhel-8.10-ga-x86_64
        INTERNAL_NETWORK: ["true"]
        TEST_MODULE_HOTFIXES: [1]

.libvirt_integration:
  stage: test
  extends: .terraform/gcp
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/${SCRIPT}
  parallel:
    matrix:
      - RUNNER:
          - rhos-01/fedora-42-x86_64
      - RUNNER:
          - gcp/rhel-8.10-ga-x86_64
          - gcp/rhel-9.7-ga-x86_64
          - gcp/rhel-10.1-ga-x86_64
          - gcp/rhel-9.8-nightly-x86_64
          - gcp/rhel-9.9-nightly-x86_64
          - gcp/rhel-10.2-nightly-x86_64
          - gcp/rhel-10.3-nightly-x86_64
          - gcp/centos-stream-9-x86_64
        INTERNAL_NETWORK: ["true"]

libvirt.sh:
  extends: .libvirt_integration
  variables:
    SCRIPT: libvirt.sh

weldr-distro-dot-notation+aliases:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/weldr-distro-dot-notation-and-aliases.sh
  parallel:
    matrix:
      - RUNNER:
          - aws/rhel-8.8-ga-x86_64
          - aws/rhel-9.8-nightly-x86_64
          - aws/rhel-9.9-nightly-x86_64
        INTERNAL_NETWORK: ["true"]

.generic_s3:
  extends: .libvirt_integration
  rules:
    # BLACKLIST
    - if: $RUNNER !~ "/^.*(rhel-9.7).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $NIGHTLY != "true" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]

generic_s3_http.sh:
  extends: .generic_s3
  variables:
    SCRIPT: generic_s3_http.sh

generic_s3_https_secure.sh:
  extends: .generic_s3
  variables:
    SCRIPT: generic_s3_https_secure.sh

generic_s3_https_insecure.sh:
  extends: .generic_s3
  variables:
    SCRIPT: generic_s3_https_insecure.sh

aws_s3.sh:
  extends: .generic_s3
  variables:
    SCRIPT: aws_s3.sh

RHEL 8 on 9 (Koji):
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/koji.sh
  variables:
    RUNNER: aws/rhel-9.7-ga-x86_64
    INTERNAL_NETWORK: "true"
    DISTRO_CODE: rhel-8.10

RHEL 10 on 9 (Koji):
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/koji.sh
  variables:
    RUNNER: aws/rhel-9.7-ga-x86_64
    INTERNAL_NETWORK: "true"
    DISTRO_CODE: rhel-10.1

Multi-tenancy:
  stage: test
  extends: .terraform
  rules:
    - if: '$CI_PIPELINE_SOURCE != "schedule"'
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/multi-tenancy.sh
  variables:
    RUNNER: aws/rhel-8.10-ga-x86_64
    INTERNAL_NETWORK: "true"

Upgrade:
  stage: test
  extends: .terraform/openstack
  rules:
    - !reference [.nightly_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/rhel-upgrade.sh
  parallel:
    matrix:
      - RUNNER:
          - rhos-01/rhel-9.8-nightly-x86_64-large
          - rhos-01/rhel-9.9-nightly-x86_64-large
          - rhos-01/rhel-10.2-nightly-x86_64-large
          - rhos-01/rhel-10.3-nightly-x86_64-large


NIGHTLY_FAIL:
  stage: finish
  tags:
    - shell
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY == "true" && $CI_COMMIT_BRANCH == "main"'
      when: on_failure
  script:
    - schutzbot/slack_notification.sh FAILED ":big-sad:" nightly

NIGHTLY_SUCCESS:
  stage: finish
  tags:
    - shell
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY == "true" && $CI_COMMIT_BRANCH == "main"'
  script:
    - schutzbot/slack_notification.sh SUCCESS ":partymeow:" nightly

GA_FAIL:
  stage: finish
  tags:
    - shell
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY== "false" && $CI_COMMIT_BRANCH == "main"'
      when: on_failure
  script:
    - schutzbot/slack_notification.sh FAILED ":big-sad:" ga

GA_SUCCESS:
  stage: finish
  tags:
    - shell
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY== "false" && $CI_COMMIT_BRANCH == "main"'
  script:
    - schutzbot/slack_notification.sh SUCCESS ":partymeow:" ga

Installer:
  stage: test
  extends: .terraform/openstack
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/installers.sh
  parallel:
    matrix:
      - RUNNER:
          - rhos-01/rhel-9.8-nightly-x86_64
          - rhos-01/rhel-9.9-nightly-x86_64
          - rhos-01/centos-stream-9-x86_64
          - rhos-01/rhel-10.2-nightly-x86_64
          - rhos-01/rhel-10.3-nightly-x86_64
          - rhos-01/centos-stream-10-x86_64

ContainerUpload:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/container-upload.sh
  parallel:
    matrix:
      - RUNNER:
          - aws/fedora-42-x86_64

ContainerEmbedding:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.nightly_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/container-embedding.sh
  parallel:
    matrix:
      - INTERNAL_NETWORK: "true"
        RUNNER:
        - aws/centos-stream-9-x86_64
        - aws/centos-stream-10-x86_64
        - aws/rhel-9.8-nightly-x86_64
        - aws/rhel-9.9-nightly-x86_64
        - aws/rhel-10.2-nightly-x86_64
        - aws/rhel-10.3-nightly-x86_64

WorkerExecutor:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/worker-executor.sh
  variables:
    RUNNER: aws/fedora-42-x86_64
    IAM_INSTANCE_PROFILE: worker-executor

WorkerExecutorFailure:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/worker-executor-crash.sh
  variables:
    RUNNER: aws/fedora-42-x86_64
    IAM_INSTANCE_PROFILE: worker-executor

API-bootc-service:
  stage: test
  extends: .terraform
  timeout: 120m
  rules:
    - !reference [.upstream_and_ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/api-bootc-service.sh ${IMAGE_TYPE}
  variables:
    RUNNER: aws/rhel-10.1-ga-x86_64
    IAM_INSTANCE_PROFILE: worker-executor
  parallel:
    matrix:
      - IMAGE_TYPE:
        - guest-image
        - bootable-container-iso


CleanStore:
  stage: test
  extends: .terraform
  rules:
    - !reference [.upstream_rules_all, rules]
    - !reference [.ga_rules_all, rules]
  script:
    - schutzbot/deploy.sh
    - /usr/libexec/tests/osbuild-composer/cleanstore.sh
  variables:
    RUNNER: aws/fedora-42-x86_64

finish:
  stage: finish
  dependencies: []
  tags:
    - shell
  script:
    - schutzbot/update_github_status.sh finish

# runs only when a stage fails and reports failure to github
fail:
  stage: finish
  tags:
    - shell
  script:
    - schutzbot/update_github_status.sh fail
    - exit 1  # make the pipeline fail so it doesn't look like success
  when: on_failure


================================================
FILE: .gitleaks.toml
================================================
[allowlist]
  description = "Test keys and passwords that should not be reported as leaks"
  regexes = [
      '''\$6\$BhyxFBgrEFh0VrPJ\$MllG8auiU26x2pmzL4\.1maHzPHrA\.4gTdCvlATFp8HJU9UPee4zCS9BVl2HOzKaUYD\/zEm8r\/OF05F2icWB0K''',  # qcow2 test manifest user password
      '''\\\$6\\\$GRmb7S0p8vsYmXzH\\\$o0E020S\.9JQGaHkszoog4ha4AQVs3sk8q0DvLjSMxoxHBKnB2FBXGQ\/OkwZQfW\/76ktHd0NX5nls2LPxPuUdl\.''',  # hashed user password for ostree tests
  ]
  paths = [
      '''test/data/keyring/id_rsa''',  # boot test private key
      '''internal/crypt/crypt_test.go''',  # sample hashed passwords for testing crypt sniffer function
  ]


================================================
FILE: .golangci.yml
================================================
version: "2"
run:
  build-tags:
    - integration
  timeout: 5m

linters:
  enable:
    - gomoddirectives
    - gosec
  settings:
    gomoddirectives:
      replace-local: true
      # XXX: uncomment this to test osbuild/images changes from your fork,
      # but never merge this change to main branch
      # replace-allow-list:
      #  - github.com/osbuild/images
    govet:
      disable:
        - shadow
        - composites
    staticcheck:
      # Default: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022"]
      # See: https://golangci-lint.run/docs/linters/configuration/#staticcheck
      checks:
        - all
        - -ST1000 # https://staticcheck.dev/docs/checks/#ST1000
        - -ST1003 # https://staticcheck.dev/docs/checks/#ST1003
        - -ST1016 # https://staticcheck.dev/docs/checks/#ST1016
        - -ST1020 # https://staticcheck.dev/docs/checks/#ST1020
        - -ST1021 # https://staticcheck.dev/docs/checks/#ST1021
        - -ST1022 # https://staticcheck.dev/docs/checks/#ST1022
        # XXX: remove the exclusions below once we fix the code
        - -ST1005 # https://staticcheck.dev/docs/checks/#ST1005
        - -ST1023 # https://staticcheck.dev/docs/checks/#ST1023
        - -QF1003 # https://staticcheck.dev/docs/checks/#QF1003
        - -QF1007 # https://staticcheck.dev/docs/checks/#QF1007
        - -QF1008 # https://staticcheck.dev/docs/checks/#QF1008
        - -QF1011 # https://staticcheck.dev/docs/checks/#QF1011
  exclusions:
    presets:
      # XXX: we should consider removing these presets in the future and instead fix the code
      - common-false-positives
      - legacy
      - std-error-handling
    rules:
      - linters:
          - gosec
        path: ^(osbuild-composer/)?cmd/osbuild-worker-executor/.*_test\.go$
    paths:
      - vendor

issues:
  max-issues-per-linter: 0
  max-same-issues: 0

formatters:
  exclusions:
    paths:
      - vendor


================================================
FILE: .packit.yaml
================================================
# https://packit.dev/docs/configuration/

specfile_path: osbuild-composer.spec

files_to_sync:
    - osbuild-composer.spec
    - .packit.yaml

copy_upstream_release_description: true

upstream_tag_template: v{version}

srpm_build_deps: []
actions:
  get-current-version: bash -c "git describe --tags --abbrev=0 | sed 's|v||'"
  post-upstream-clone: "./tools/rpm_spec_add_provides_bundle.sh"

# Handle only releases without a "dot" (e.g. v88.2), since "dot" releases should never be released to Fedora
upstream_tag_include: 'v\d+'

jobs:
- job: bodhi_update
  trigger: commit
  dist_git_branches:
    - fedora-branched # rawhide updates are created automatically
- job: koji_build
  trigger: commit
  dist_git_branches:
    - fedora-all
- job: propose_downstream
  trigger: release
  dist_git_branches:
    - fedora-all
- job: copr_build
  trigger: pull_request
  targets: &build_targets
    - centos-stream-9-aarch64
    - centos-stream-9-s390x
    - centos-stream-9-ppc64le
    - centos-stream-9-x86_64
    - centos-stream-10-aarch64
    - centos-stream-10-s390x
    - centos-stream-10-ppc64le
    - centos-stream-10-x86_64
    - fedora-all-aarch64
    - fedora-all-s390x
    - fedora-all-ppc64le
    - fedora-all
    - rhel-8-aarch64
    - rhel-8-x86_64
    - rhel-9-aarch64
    - rhel-9-x86_64
    - rhel-10-x86_64
    - rhel-10-aarch64
- job: copr_build
  trigger: commit
  branch: main
  owner: "@osbuild" # copr repo namespace
  project: osbuild-composer  # copr repo name so you can consume the builds
  targets: *build_targets


================================================
FILE: .pylintrc
================================================
[FORMAT]
max-line-length=120

[MESSAGES CONTROL]
disable=missing-module-docstring,
    missing-class-docstring,
    missing-function-docstring


================================================
FILE: .tekton/osbuild-composer-maintenance-pull-request.yaml
================================================
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  annotations:
    build.appstudio.openshift.io/repo: https://github.com/osbuild/osbuild-composer?rev={{revision}}
    build.appstudio.redhat.com/commit_sha: '{{revision}}'
    build.appstudio.redhat.com/pull_request_number: '{{pull_request_number}}'
    build.appstudio.redhat.com/target_branch: '{{target_branch}}'
    pipelinesascode.tekton.dev/cancel-in-progress: "true"
    pipelinesascode.tekton.dev/max-keep-runs: "3"
    pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch == "main"
  creationTimestamp:
  labels:
    appstudio.openshift.io/application: image-builder-composer
    appstudio.openshift.io/component: osbuild-composer-maintenance
    pipelines.appstudio.openshift.io/type: build
  name: osbuild-composer-maintenance-on-pull-request
  namespace: insights-management-tenant
spec:
  params:
  - name: git-url
    value: '{{source_url}}'
  - name: revision
    value: '{{revision}}'
  - name: output-image
    value: quay.io/redhat-user-workloads/insights-management-tenant/image-builder-composer/osbuild-composer-maintenance:on-pr-{{revision}}
  - name: image-expires-after
    value: 5d
  - name: dockerfile
    value: distribution/Dockerfile-ubi-maintenance
  - name: path-context
    value: .
  pipelineSpec:
    description: |
      This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization.

      _Uses `buildah` to create a container image leveraging [trusted artifacts](https://konflux-ci.dev/architecture/ADR/0036-trusted-artifacts.html). It also optionally creates a source image and runs some build-time tests. Information is shared between tasks using OCI artifacts instead of PVCs. EC will pass the [`trusted_task.trusted`](https://conforma.dev/docs/policy/packages/release_trusted_task.html#trusted_task__trusted) policy as long as all data used to build the artifact is generated from trusted tasks.
      This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/repository/konflux-ci/tekton-catalog/pipeline-docker-build-oci-ta?tab=tags)_
    params:
    - description: Source Repository URL
      name: git-url
      type: string
    - default: ""
      description: Revision of the Source Repository
      name: revision
      type: string
    - description: Fully Qualified Output Image
      name: output-image
      type: string
    - default: .
      description: Path to the source code of an application's component from where to build image.
      name: path-context
      type: string
    - default: Dockerfile
      description: Path to the Dockerfile inside the context specified by parameter path-context
      name: dockerfile
      type: string
    - default: "false"
      description: Skip checks against built image
      name: skip-checks
      type: string
    - default: "false"
      description: Execute the build with network isolation
      name: hermetic
      type: string
    - default: ""
      description: Build dependencies to be prefetched
      name: prefetch-input
      type: string
    - default: ""
      description: Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.
      name: image-expires-after
      type: string
    - default: "false"
      description: Build a source image.
      name: build-source-image
      type: string
    - default: "false"
      description: Add built image into an OCI image index
      name: build-image-index
      type: string
    - default: docker
      description: The format for the resulting image's mediaType. Valid values are oci or docker.
      name: buildah-format
      type: string
    - default: "false"
      description: Enable cache proxy configuration
      name: enable-cache-proxy
    - default: []
      description: Array of --build-arg values ("arg=value" strings) for buildah
      name: build-args
      type: array
    - default: ""
      description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
      name: build-args-file
      type: string
    - default: "false"
      description: Whether to enable privileged mode, should be used only with remote VMs
      name: privileged-nested
      type: string
    - name: enable-package-registry-proxy
      default: 'true'
      description: Use the package registry proxy when prefetching dependencies
      type: string
    results:
    - description: ""
      name: IMAGE_URL
      value: $(tasks.build-image-index.results.IMAGE_URL)
    - description: ""
      name: IMAGE_DIGEST
      value: $(tasks.build-image-index.results.IMAGE_DIGEST)
    - description: ""
      name: CHAINS-GIT_URL
      value: $(tasks.clone-repository.results.url)
    - description: ""
      name: CHAINS-GIT_COMMIT
      value: $(tasks.clone-repository.results.commit)
    tasks:
    - name: init
      params:
      - name: enable-cache-proxy
        value: $(params.enable-cache-proxy)
      taskRef:
        params:
        - name: name
          value: init
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-init:0.4@sha256:b797dd453ddad669365de6de4649e3a9e37e77aa26eb9862ca079a36cbfe64a4
        - name: kind
          value: task
        resolver: bundles
    - name: clone-repository
      params:
      - name: url
        value: $(params.git-url)
      - name: revision
        value: $(params.revision)
      - name: ociStorage
        value: $(params.output-image).git
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      runAfter:
      - init
      taskRef:
        params:
        - name: name
          value: git-clone-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:13d49df7dc9ae301627e45f95a236011422996152f1bea46cd60217b0f057407
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: basic-auth
        workspace: git-auth
    - name: prefetch-dependencies
      params:
      - name: input
        value: $(params.prefetch-input)
      - name: SOURCE_ARTIFACT
        value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
      - name: ociStorage
        value: $(params.output-image).prefetch
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      - name: enable-package-registry-proxy
        value: $(params.enable-package-registry-proxy)
      runAfter:
      - clone-repository
      taskRef:
        params:
        - name: name
          value: prefetch-dependencies-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.3@sha256:1b209c0d93e52e418f3e6cd4b4fd915a84e4bd7f68e1cfd0d6446133540d7f43
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: git-basic-auth
        workspace: git-auth
      - name: netrc
        workspace: netrc
    - name: build-container
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: PRIVILEGED_NESTED
        value: $(params.privileged-nested)
      - name: SOURCE_URL
        value: $(tasks.clone-repository.results.url)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      - name: HTTP_PROXY
        value: $(tasks.init.results.http-proxy)
      - name: NO_PROXY
        value: $(tasks.init.results.no-proxy)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - prefetch-dependencies
      taskRef:
        params:
        - name: name
          value: buildah-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-buildah-oci-ta:0.9@sha256:681d9f65a7f50cb260ee576ccab551e11d63c549f1e1ef3d201da3c112855bd6
        - name: kind
          value: task
        resolver: bundles
    - name: build-image-index
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: ALWAYS_BUILD_INDEX
        value: $(params.build-image-index)
      - name: IMAGES
        value:
        - $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      runAfter:
      - build-container
      taskRef:
        params:
        - name: name
          value: build-image-index
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.3@sha256:550afde50349e22ec11191ea0db9a49395ab46fef4e8317d820b6e946677ebeb
        - name: kind
          value: task
        resolver: bundles
    - name: build-source-image
      params:
      - name: BINARY_IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: BINARY_IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: source-build-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.3@sha256:0917cfc7772e82cb8e74743c2104f43bcf2596aceafe87eec6fce69a8cac5f06
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.build-source-image)
        operator: in
        values:
        - "true"
    - name: deprecated-base-image-check
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: deprecated-image-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:5ff16b7e6b4a8aa1adb352e74b9f831f77ff97bafd1b89ddb0038d63335f1a67
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clair-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clair-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:cd49cdea7e5403a87c4774bd8ea10bc4e6aeb83841ff490cbe42b782779513a7
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: ecosystem-cert-preflight-checks
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: ecosystem-cert-preflight-checks
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:2468c01818fbaad2235e4fca438f28e847260e3e354cf5a441bbd671684af2db
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-snyk-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-snyk-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clamav-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clamav-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.3@sha256:171eca520b545a0c860c6d59249796ffe5db5be1dab87f3a328fc5ef1fd68af2
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-coverity-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - coverity-availability-check
      taskRef:
        params:
        - name: name
          value: sast-coverity-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
      - input: $(tasks.coverity-availability-check.results.STATUS)
        operator: in
        values:
        - success
    - name: coverity-availability-check
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: coverity-availability-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-shell-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-shell-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-unicode-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-unicode-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: apply-tags
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: apply-tags
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.3@sha256:a291081de7fb27f832c6fc3c4b078acf7e6162ca4c085db38b118ca87e8b5b66
        - name: kind
          value: task
        resolver: bundles
    - name: push-dockerfile
      params:
      - name: IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: push-dockerfile-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.3@sha256:7855471abfe87de080b914f2f3ca27c59e64f6448a7c2435e51435b764494c71
        - name: kind
          value: task
        resolver: bundles
    - name: rpms-signature-scan
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: rpms-signature-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:ce4bace2998b02d8a4da188df4f460e1952770ccd1d2fadddefd4f2ba748705b
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    workspaces:
    - name: git-auth
      optional: true
    - name: netrc
      optional: true
  taskRunTemplate:
    serviceAccountName: build-pipeline-osbuild-composer-maintenance
  workspaces:
  - name: git-auth
    secret:
      secretName: '{{ git_auth_secret }}'
status: {}


================================================
FILE: .tekton/osbuild-composer-maintenance-push.yaml
================================================
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  annotations:
    build.appstudio.openshift.io/repo: https://github.com/osbuild/osbuild-composer?rev={{revision}}
    build.appstudio.redhat.com/commit_sha: '{{revision}}'
    build.appstudio.redhat.com/target_branch: '{{target_branch}}'
    pipelinesascode.tekton.dev/cancel-in-progress: "false"
    pipelinesascode.tekton.dev/max-keep-runs: "3"
    pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main"
  creationTimestamp:
  labels:
    appstudio.openshift.io/application: image-builder-composer
    appstudio.openshift.io/component: osbuild-composer-maintenance
    pipelines.appstudio.openshift.io/type: build
  name: osbuild-composer-maintenance-on-push
  namespace: insights-management-tenant
spec:
  params:
  - name: git-url
    value: '{{source_url}}'
  - name: revision
    value: '{{revision}}'
  - name: output-image
    value: quay.io/redhat-user-workloads/insights-management-tenant/image-builder-composer/osbuild-composer-maintenance:{{revision}}
  - name: dockerfile
    value: distribution/Dockerfile-ubi-maintenance
  - name: path-context
    value: .
  pipelineSpec:
    description: |
      This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization.

      _Uses `buildah` to create a container image leveraging [trusted artifacts](https://konflux-ci.dev/architecture/ADR/0036-trusted-artifacts.html). It also optionally creates a source image and runs some build-time tests. Information is shared between tasks using OCI artifacts instead of PVCs. EC will pass the [`trusted_task.trusted`](https://conforma.dev/docs/policy/packages/release_trusted_task.html#trusted_task__trusted) policy as long as all data used to build the artifact is generated from trusted tasks.
      This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/repository/konflux-ci/tekton-catalog/pipeline-docker-build-oci-ta?tab=tags)_
    params:
    - description: Source Repository URL
      name: git-url
      type: string
    - default: ""
      description: Revision of the Source Repository
      name: revision
      type: string
    - description: Fully Qualified Output Image
      name: output-image
      type: string
    - default: .
      description: Path to the source code of an application's component from where to build image.
      name: path-context
      type: string
    - default: Dockerfile
      description: Path to the Dockerfile inside the context specified by parameter path-context
      name: dockerfile
      type: string
    - default: "false"
      description: Skip checks against built image
      name: skip-checks
      type: string
    - default: "false"
      description: Execute the build with network isolation
      name: hermetic
      type: string
    - default: ""
      description: Build dependencies to be prefetched
      name: prefetch-input
      type: string
    - default: ""
      description: Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.
      name: image-expires-after
      type: string
    - default: "false"
      description: Build a source image.
      name: build-source-image
      type: string
    - default: "false"
      description: Add built image into an OCI image index
      name: build-image-index
      type: string
    - default: docker
      description: The format for the resulting image's mediaType. Valid values are oci or docker.
      name: buildah-format
      type: string
    - default: "false"
      description: Enable cache proxy configuration
      name: enable-cache-proxy
    - default: []
      description: Array of --build-arg values ("arg=value" strings) for buildah
      name: build-args
      type: array
    - default: ""
      description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
      name: build-args-file
      type: string
    - default: "false"
      description: Whether to enable privileged mode, should be used only with remote VMs
      name: privileged-nested
      type: string
    - name: enable-package-registry-proxy
      default: 'true'
      description: Use the package registry proxy when prefetching dependencies
      type: string
    results:
    - description: ""
      name: IMAGE_URL
      value: $(tasks.build-image-index.results.IMAGE_URL)
    - description: ""
      name: IMAGE_DIGEST
      value: $(tasks.build-image-index.results.IMAGE_DIGEST)
    - description: ""
      name: CHAINS-GIT_URL
      value: $(tasks.clone-repository.results.url)
    - description: ""
      name: CHAINS-GIT_COMMIT
      value: $(tasks.clone-repository.results.commit)
    tasks:
    - name: init
      params:
      - name: enable-cache-proxy
        value: $(params.enable-cache-proxy)
      taskRef:
        params:
        - name: name
          value: init
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-init:0.4@sha256:b797dd453ddad669365de6de4649e3a9e37e77aa26eb9862ca079a36cbfe64a4
        - name: kind
          value: task
        resolver: bundles
    - name: clone-repository
      params:
      - name: url
        value: $(params.git-url)
      - name: revision
        value: $(params.revision)
      - name: ociStorage
        value: $(params.output-image).git
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      runAfter:
      - init
      taskRef:
        params:
        - name: name
          value: git-clone-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:13d49df7dc9ae301627e45f95a236011422996152f1bea46cd60217b0f057407
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: basic-auth
        workspace: git-auth
    - name: prefetch-dependencies
      params:
      - name: input
        value: $(params.prefetch-input)
      - name: SOURCE_ARTIFACT
        value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
      - name: ociStorage
        value: $(params.output-image).prefetch
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      - name: enable-package-registry-proxy
        value: $(params.enable-package-registry-proxy)
      runAfter:
      - clone-repository
      taskRef:
        params:
        - name: name
          value: prefetch-dependencies-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.3@sha256:1b209c0d93e52e418f3e6cd4b4fd915a84e4bd7f68e1cfd0d6446133540d7f43
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: git-basic-auth
        workspace: git-auth
      - name: netrc
        workspace: netrc
    - name: build-container
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: PRIVILEGED_NESTED
        value: $(params.privileged-nested)
      - name: SOURCE_URL
        value: $(tasks.clone-repository.results.url)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      - name: HTTP_PROXY
        value: $(tasks.init.results.http-proxy)
      - name: NO_PROXY
        value: $(tasks.init.results.no-proxy)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - prefetch-dependencies
      taskRef:
        params:
        - name: name
          value: buildah-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-buildah-oci-ta:0.9@sha256:681d9f65a7f50cb260ee576ccab551e11d63c549f1e1ef3d201da3c112855bd6
        - name: kind
          value: task
        resolver: bundles
    - name: build-image-index
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: ALWAYS_BUILD_INDEX
        value: $(params.build-image-index)
      - name: IMAGES
        value:
        - $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      runAfter:
      - build-container
      taskRef:
        params:
        - name: name
          value: build-image-index
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.3@sha256:550afde50349e22ec11191ea0db9a49395ab46fef4e8317d820b6e946677ebeb
        - name: kind
          value: task
        resolver: bundles
    - name: build-source-image
      params:
      - name: BINARY_IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: BINARY_IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: source-build-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.3@sha256:0917cfc7772e82cb8e74743c2104f43bcf2596aceafe87eec6fce69a8cac5f06
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.build-source-image)
        operator: in
        values:
        - "true"
    - name: deprecated-base-image-check
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: deprecated-image-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:5ff16b7e6b4a8aa1adb352e74b9f831f77ff97bafd1b89ddb0038d63335f1a67
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clair-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clair-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:cd49cdea7e5403a87c4774bd8ea10bc4e6aeb83841ff490cbe42b782779513a7
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: ecosystem-cert-preflight-checks
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: ecosystem-cert-preflight-checks
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:2468c01818fbaad2235e4fca438f28e847260e3e354cf5a441bbd671684af2db
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-snyk-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-snyk-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clamav-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clamav-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.3@sha256:171eca520b545a0c860c6d59249796ffe5db5be1dab87f3a328fc5ef1fd68af2
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-coverity-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - coverity-availability-check
      taskRef:
        params:
        - name: name
          value: sast-coverity-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
      - input: $(tasks.coverity-availability-check.results.STATUS)
        operator: in
        values:
        - success
    - name: coverity-availability-check
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: coverity-availability-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-shell-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-shell-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-unicode-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-unicode-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: apply-tags
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: apply-tags
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.3@sha256:a291081de7fb27f832c6fc3c4b078acf7e6162ca4c085db38b118ca87e8b5b66
        - name: kind
          value: task
        resolver: bundles
    - name: push-dockerfile
      params:
      - name: IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: push-dockerfile-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.3@sha256:7855471abfe87de080b914f2f3ca27c59e64f6448a7c2435e51435b764494c71
        - name: kind
          value: task
        resolver: bundles
    - name: rpms-signature-scan
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: rpms-signature-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:ce4bace2998b02d8a4da188df4f460e1952770ccd1d2fadddefd4f2ba748705b
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    workspaces:
    - name: git-auth
      optional: true
    - name: netrc
      optional: true
  taskRunTemplate:
    serviceAccountName: build-pipeline-osbuild-composer-maintenance
  workspaces:
  - name: git-auth
    secret:
      secretName: '{{ git_auth_secret }}'
status: {}


================================================
FILE: .tekton/osbuild-composer-pull-request.yaml
================================================
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  annotations:
    build.appstudio.openshift.io/repo: https://github.com/osbuild/osbuild-composer?rev={{revision}}
    build.appstudio.redhat.com/commit_sha: '{{revision}}'
    build.appstudio.redhat.com/pull_request_number: '{{pull_request_number}}'
    build.appstudio.redhat.com/target_branch: '{{target_branch}}'
    pipelinesascode.tekton.dev/cancel-in-progress: "true"
    pipelinesascode.tekton.dev/max-keep-runs: "3"
    pipelinesascode.tekton.dev/on-cel-expression: event == "pull_request" && target_branch == "main"
  creationTimestamp:
  labels:
    appstudio.openshift.io/application: image-builder-composer
    appstudio.openshift.io/component: osbuild-composer
    pipelines.appstudio.openshift.io/type: build
  name: osbuild-composer-on-pull-request
  namespace: insights-management-tenant
spec:
  params:
  - name: git-url
    value: '{{source_url}}'
  - name: revision
    value: '{{revision}}'
  - name: output-image
    value: quay.io/redhat-user-workloads/insights-management-tenant/image-builder-composer/osbuild-composer:on-pr-{{revision}}
  - name: image-expires-after
    value: 5d
  - name: dockerfile
    value: distribution/Dockerfile-ubi
  - name: path-context
    value: .
  pipelineSpec:
    description: |
      This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization.

      _Uses `buildah` to create a container image leveraging [trusted artifacts](https://konflux-ci.dev/architecture/ADR/0036-trusted-artifacts.html). It also optionally creates a source image and runs some build-time tests. Information is shared between tasks using OCI artifacts instead of PVCs. EC will pass the [`trusted_task.trusted`](https://conforma.dev/docs/policy/packages/release_trusted_task.html#trusted_task__trusted) policy as long as all data used to build the artifact is generated from trusted tasks.
      This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/repository/konflux-ci/tekton-catalog/pipeline-docker-build-oci-ta?tab=tags)_
    params:
    - description: Source Repository URL
      name: git-url
      type: string
    - default: ""
      description: Revision of the Source Repository
      name: revision
      type: string
    - description: Fully Qualified Output Image
      name: output-image
      type: string
    - default: .
      description: Path to the source code of an application's component from where to build image.
      name: path-context
      type: string
    - default: Dockerfile
      description: Path to the Dockerfile inside the context specified by parameter path-context
      name: dockerfile
      type: string
    - default: "false"
      description: Skip checks against built image
      name: skip-checks
      type: string
    - default: "false"
      description: Execute the build with network isolation
      name: hermetic
      type: string
    - default: ""
      description: Build dependencies to be prefetched
      name: prefetch-input
      type: string
    - default: ""
      description: Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.
      name: image-expires-after
      type: string
    - default: "false"
      description: Build a source image.
      name: build-source-image
      type: string
    - default: "false"
      description: Add built image into an OCI image index
      name: build-image-index
      type: string
    - default: docker
      description: The format for the resulting image's mediaType. Valid values are oci or docker.
      name: buildah-format
      type: string
    - default: []
      description: Array of --build-arg values ("arg=value" strings) for buildah
      name: build-args
      type: array
    - default: ""
      description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
      name: build-args-file
      type: string
    - default: "false"
      description: Whether to enable privileged mode, should be used only with remote VMs
      name: privileged-nested
      type: string
    - name: enable-cache-proxy
      default: 'false'
      description: Enable cache proxy configuration
      type: string
    - name: enable-package-registry-proxy
      default: 'true'
      description: Use the package registry proxy when prefetching dependencies
      type: string
    results:
    - description: ""
      name: IMAGE_URL
      value: $(tasks.build-image-index.results.IMAGE_URL)
    - description: ""
      name: IMAGE_DIGEST
      value: $(tasks.build-image-index.results.IMAGE_DIGEST)
    - description: ""
      name: CHAINS-GIT_URL
      value: $(tasks.clone-repository.results.url)
    - description: ""
      name: CHAINS-GIT_COMMIT
      value: $(tasks.clone-repository.results.commit)
    tasks:
    - name: init
      params:
      - name: enable-cache-proxy
        value: $(params.enable-cache-proxy)
      taskRef:
        params:
        - name: name
          value: init
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-init:0.4@sha256:b797dd453ddad669365de6de4649e3a9e37e77aa26eb9862ca079a36cbfe64a4
        - name: kind
          value: task
        resolver: bundles
    - name: clone-repository
      params:
      - name: url
        value: $(params.git-url)
      - name: revision
        value: $(params.revision)
      - name: ociStorage
        value: $(params.output-image).git
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      runAfter:
      - init
      taskRef:
        params:
        - name: name
          value: git-clone-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:13d49df7dc9ae301627e45f95a236011422996152f1bea46cd60217b0f057407
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: basic-auth
        workspace: git-auth
    - name: prefetch-dependencies
      params:
      - name: input
        value: $(params.prefetch-input)
      - name: SOURCE_ARTIFACT
        value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
      - name: ociStorage
        value: $(params.output-image).prefetch
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      - name: enable-package-registry-proxy
        value: $(params.enable-package-registry-proxy)
      runAfter:
      - clone-repository
      taskRef:
        params:
        - name: name
          value: prefetch-dependencies-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.3@sha256:1b209c0d93e52e418f3e6cd4b4fd915a84e4bd7f68e1cfd0d6446133540d7f43
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: git-basic-auth
        workspace: git-auth
      - name: netrc
        workspace: netrc
    - name: build-container
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: PRIVILEGED_NESTED
        value: $(params.privileged-nested)
      - name: SOURCE_URL
        value: $(tasks.clone-repository.results.url)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      - name: HTTP_PROXY
        value: $(tasks.init.results.http-proxy)
      - name: NO_PROXY
        value: $(tasks.init.results.no-proxy)
      runAfter:
      - prefetch-dependencies
      taskRef:
        params:
        - name: name
          value: buildah-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-buildah-oci-ta:0.9@sha256:681d9f65a7f50cb260ee576ccab551e11d63c549f1e1ef3d201da3c112855bd6
        - name: kind
          value: task
        resolver: bundles
    - name: build-image-index
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: ALWAYS_BUILD_INDEX
        value: $(params.build-image-index)
      - name: IMAGES
        value:
        - $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      runAfter:
      - build-container
      taskRef:
        params:
        - name: name
          value: build-image-index
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.3@sha256:550afde50349e22ec11191ea0db9a49395ab46fef4e8317d820b6e946677ebeb
        - name: kind
          value: task
        resolver: bundles
    - name: build-source-image
      params:
      - name: BINARY_IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: BINARY_IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: source-build-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.3@sha256:0917cfc7772e82cb8e74743c2104f43bcf2596aceafe87eec6fce69a8cac5f06
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.build-source-image)
        operator: in
        values:
        - "true"
    - name: deprecated-base-image-check
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: deprecated-image-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:5ff16b7e6b4a8aa1adb352e74b9f831f77ff97bafd1b89ddb0038d63335f1a67
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clair-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clair-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:cd49cdea7e5403a87c4774bd8ea10bc4e6aeb83841ff490cbe42b782779513a7
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: ecosystem-cert-preflight-checks
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: ecosystem-cert-preflight-checks
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:2468c01818fbaad2235e4fca438f28e847260e3e354cf5a441bbd671684af2db
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-snyk-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-snyk-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clamav-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clamav-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.3@sha256:171eca520b545a0c860c6d59249796ffe5db5be1dab87f3a328fc5ef1fd68af2
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-coverity-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - coverity-availability-check
      taskRef:
        params:
        - name: name
          value: sast-coverity-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
      - input: $(tasks.coverity-availability-check.results.STATUS)
        operator: in
        values:
        - success
    - name: coverity-availability-check
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: coverity-availability-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-shell-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-shell-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-unicode-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-unicode-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: apply-tags
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: apply-tags
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.3@sha256:a291081de7fb27f832c6fc3c4b078acf7e6162ca4c085db38b118ca87e8b5b66
        - name: kind
          value: task
        resolver: bundles
    - name: push-dockerfile
      params:
      - name: IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: push-dockerfile-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.3@sha256:7855471abfe87de080b914f2f3ca27c59e64f6448a7c2435e51435b764494c71
        - name: kind
          value: task
        resolver: bundles
    - name: rpms-signature-scan
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: rpms-signature-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:ce4bace2998b02d8a4da188df4f460e1952770ccd1d2fadddefd4f2ba748705b
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    workspaces:
    - name: git-auth
      optional: true
    - name: netrc
      optional: true
  taskRunTemplate:
    serviceAccountName: build-pipeline-osbuild-composer
  workspaces:
  - name: git-auth
    secret:
      secretName: '{{ git_auth_secret }}'
status: {}


================================================
FILE: .tekton/osbuild-composer-push.yaml
================================================
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
  annotations:
    build.appstudio.openshift.io/repo: https://github.com/osbuild/osbuild-composer?rev={{revision}}
    build.appstudio.redhat.com/commit_sha: '{{revision}}'
    build.appstudio.redhat.com/target_branch: '{{target_branch}}'
    pipelinesascode.tekton.dev/cancel-in-progress: "false"
    pipelinesascode.tekton.dev/max-keep-runs: "3"
    pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main"
  creationTimestamp:
  labels:
    appstudio.openshift.io/application: image-builder-composer
    appstudio.openshift.io/component: osbuild-composer
    pipelines.appstudio.openshift.io/type: build
  name: osbuild-composer-on-push
  namespace: insights-management-tenant
spec:
  params:
  - name: git-url
    value: '{{source_url}}'
  - name: revision
    value: '{{revision}}'
  - name: output-image
    value: quay.io/redhat-user-workloads/insights-management-tenant/image-builder-composer/osbuild-composer:{{revision}}
  - name: dockerfile
    value: distribution/Dockerfile-ubi
  - name: path-context
    value: .
  pipelineSpec:
    description: |
      This pipeline is ideal for building container images from a Containerfile while maintaining trust after pipeline customization.

      _Uses `buildah` to create a container image leveraging [trusted artifacts](https://konflux-ci.dev/architecture/ADR/0036-trusted-artifacts.html). It also optionally creates a source image and runs some build-time tests. Information is shared between tasks using OCI artifacts instead of PVCs. EC will pass the [`trusted_task.trusted`](https://conforma.dev/docs/policy/packages/release_trusted_task.html#trusted_task__trusted) policy as long as all data used to build the artifact is generated from trusted tasks.
      This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/repository/konflux-ci/tekton-catalog/pipeline-docker-build-oci-ta?tab=tags)_
    params:
    - description: Source Repository URL
      name: git-url
      type: string
    - default: ""
      description: Revision of the Source Repository
      name: revision
      type: string
    - description: Fully Qualified Output Image
      name: output-image
      type: string
    - default: .
      description: Path to the source code of an application's component from where to build image.
      name: path-context
      type: string
    - default: Dockerfile
      description: Path to the Dockerfile inside the context specified by parameter path-context
      name: dockerfile
      type: string
    - default: "false"
      description: Skip checks against built image
      name: skip-checks
      type: string
    - default: "false"
      description: Execute the build with network isolation
      name: hermetic
      type: string
    - default: ""
      description: Build dependencies to be prefetched
      name: prefetch-input
      type: string
    - default: ""
      description: Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.
      name: image-expires-after
      type: string
    - default: "false"
      description: Build a source image.
      name: build-source-image
      type: string
    - default: "false"
      description: Add built image into an OCI image index
      name: build-image-index
      type: string
    - default: docker
      description: The format for the resulting image's mediaType. Valid values are oci or docker.
      name: buildah-format
      type: string
    - default: []
      description: Array of --build-arg values ("arg=value" strings) for buildah
      name: build-args
      type: array
    - default: ""
      description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
      name: build-args-file
      type: string
    - default: "false"
      description: Whether to enable privileged mode, should be used only with remote VMs
      name: privileged-nested
      type: string
    - name: enable-package-registry-proxy
      default: 'true'
      description: Use the package registry proxy when prefetching dependencies
      type: string
    results:
    - description: ""
      name: IMAGE_URL
      value: $(tasks.build-image-index.results.IMAGE_URL)
    - description: ""
      name: IMAGE_DIGEST
      value: $(tasks.build-image-index.results.IMAGE_DIGEST)
    - description: ""
      name: CHAINS-GIT_URL
      value: $(tasks.clone-repository.results.url)
    - description: ""
      name: CHAINS-GIT_COMMIT
      value: $(tasks.clone-repository.results.commit)
    tasks:
    - name: init
      taskRef:
        params:
        - name: name
          value: init
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-init:0.4@sha256:b797dd453ddad669365de6de4649e3a9e37e77aa26eb9862ca079a36cbfe64a4
        - name: kind
          value: task
        resolver: bundles
    - name: clone-repository
      params:
      - name: url
        value: $(params.git-url)
      - name: revision
        value: $(params.revision)
      - name: ociStorage
        value: $(params.output-image).git
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      runAfter:
      - init
      taskRef:
        params:
        - name: name
          value: git-clone-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:13d49df7dc9ae301627e45f95a236011422996152f1bea46cd60217b0f057407
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: basic-auth
        workspace: git-auth
    - name: prefetch-dependencies
      params:
      - name: input
        value: $(params.prefetch-input)
      - name: SOURCE_ARTIFACT
        value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
      - name: ociStorage
        value: $(params.output-image).prefetch
      - name: ociArtifactExpiresAfter
        value: $(params.image-expires-after)
      - name: enable-package-registry-proxy
        value: $(params.enable-package-registry-proxy)
      runAfter:
      - clone-repository
      taskRef:
        params:
        - name: name
          value: prefetch-dependencies-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.3@sha256:1b209c0d93e52e418f3e6cd4b4fd915a84e4bd7f68e1cfd0d6446133540d7f43
        - name: kind
          value: task
        resolver: bundles
      workspaces:
      - name: git-basic-auth
        workspace: git-auth
      - name: netrc
        workspace: netrc
    - name: build-container
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: PRIVILEGED_NESTED
        value: $(params.privileged-nested)
      - name: SOURCE_URL
        value: $(tasks.clone-repository.results.url)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - prefetch-dependencies
      taskRef:
        params:
        - name: name
          value: buildah-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-buildah-oci-ta:0.9@sha256:681d9f65a7f50cb260ee576ccab551e11d63c549f1e1ef3d201da3c112855bd6
        - name: kind
          value: task
        resolver: bundles
    - name: build-image-index
      params:
      - name: IMAGE
        value: $(params.output-image)
      - name: ALWAYS_BUILD_INDEX
        value: $(params.build-image-index)
      - name: IMAGES
        value:
        - $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
      - name: BUILDAH_FORMAT
        value: $(params.buildah-format)
      runAfter:
      - build-container
      taskRef:
        params:
        - name: name
          value: build-image-index
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.3@sha256:550afde50349e22ec11191ea0db9a49395ab46fef4e8317d820b6e946677ebeb
        - name: kind
          value: task
        resolver: bundles
    - name: build-source-image
      params:
      - name: BINARY_IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: BINARY_IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: source-build-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.3@sha256:0917cfc7772e82cb8e74743c2104f43bcf2596aceafe87eec6fce69a8cac5f06
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.build-source-image)
        operator: in
        values:
        - "true"
    - name: deprecated-base-image-check
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: deprecated-image-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:5ff16b7e6b4a8aa1adb352e74b9f831f77ff97bafd1b89ddb0038d63335f1a67
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clair-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clair-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:cd49cdea7e5403a87c4774bd8ea10bc4e6aeb83841ff490cbe42b782779513a7
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: ecosystem-cert-preflight-checks
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: ecosystem-cert-preflight-checks
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:2468c01818fbaad2235e4fca438f28e847260e3e354cf5a441bbd671684af2db
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-snyk-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-snyk-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.4@sha256:8f3ecbeaff579e41b8278f82d7fabac27845db17a8e687ea6c510c0c9aceabbb
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: clamav-scan
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: clamav-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.3@sha256:171eca520b545a0c860c6d59249796ffe5db5be1dab87f3a328fc5ef1fd68af2
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-coverity-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE
        value: $(params.output-image)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: HERMETIC
        value: $(params.hermetic)
      - name: PREFETCH_INPUT
        value: $(params.prefetch-input)
      - name: IMAGE_EXPIRES_AFTER
        value: $(params.image-expires-after)
      - name: COMMIT_SHA
        value: $(tasks.clone-repository.results.commit)
      - name: BUILD_ARGS
        value:
        - $(params.build-args[*])
      - name: BUILD_ARGS_FILE
        value: $(params.build-args-file)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - coverity-availability-check
      taskRef:
        params:
        - name: name
          value: sast-coverity-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-coverity-check-oci-ta:0.3@sha256:e92d00ed858233d0096627861192d3e4fc013cf1559c0d0b0ea0657d3377ce75
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
      - input: $(tasks.coverity-availability-check.results.STATUS)
        operator: in
        values:
        - success
    - name: coverity-availability-check
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: coverity-availability-check
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-coverity-availability-check:0.2@sha256:8b501440a960aec446db2ebc6625a49d0317a9fc7bf0f7bd9b18cb63052db7de
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-shell-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-shell-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:c4ef47e3b4e0508572d266fb745be7e374c29dc02580328cbe9f4d472a8aca57
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: sast-unicode-check
      params:
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      - name: CACHI2_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: sast-unicode-check-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:0854d9261760b2dc8f092569739685a5ab0a5c620e9cb8c1b78fef9e2d077a29
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    - name: apply-tags
      params:
      - name: IMAGE_URL
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: apply-tags
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.3@sha256:a291081de7fb27f832c6fc3c4b078acf7e6162ca4c085db38b118ca87e8b5b66
        - name: kind
          value: task
        resolver: bundles
    - name: push-dockerfile
      params:
      - name: IMAGE
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: IMAGE_DIGEST
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      - name: DOCKERFILE
        value: $(params.dockerfile)
      - name: CONTEXT
        value: $(params.path-context)
      - name: SOURCE_ARTIFACT
        value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: push-dockerfile-oci-ta
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.3@sha256:7855471abfe87de080b914f2f3ca27c59e64f6448a7c2435e51435b764494c71
        - name: kind
          value: task
        resolver: bundles
    - name: rpms-signature-scan
      params:
      - name: image-url
        value: $(tasks.build-image-index.results.IMAGE_URL)
      - name: image-digest
        value: $(tasks.build-image-index.results.IMAGE_DIGEST)
      runAfter:
      - build-image-index
      taskRef:
        params:
        - name: name
          value: rpms-signature-scan
        - name: bundle
          value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:ce4bace2998b02d8a4da188df4f460e1952770ccd1d2fadddefd4f2ba748705b
        - name: kind
          value: task
        resolver: bundles
      when:
      - input: $(params.skip-checks)
        operator: in
        values:
        - "false"
    workspaces:
    - name: git-auth
      optional: true
    - name: netrc
      optional: true
  taskRunTemplate:
    serviceAccountName: build-pipeline-osbuild-composer
  workspaces:
  - name: git-auth
    secret:
      secretName: '{{ git_auth_secret }}'
status: {}


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to osbuild-composer

First of all, thank you for taking the time to contribute to osbuild-composer.
In this document you will find information that can help you with your
contribution.
For more information feel free to read our [developer guide](https://www.osbuild.org/docs/developer-guide/index).

### Running from sources

We recommend using the latest stable Fedora for development but latest minor
release of RHEL/CentOS 8 should work just fine as well. To run osbuild-composer
from sources, follow these steps:

1. Clone the repository and create a local checkout:

```
$ git clone https://github.com/osbuild/osbuild-composer.git
$ cd osbuild-composer
```

2. To install the build-requirements for Fedora and friends, use:

```
$ sudo dnf group install -y 'RPM Development Tools'   # Install rpmbuild
$ sudo dnf builddep -y osbuild-composer.spec          # Install build-time dependencies
$ sudo dnf -y install cockpit-composer             # Optional: Install cockpit integration
$ sudo systemctl start cockpit.socket              # Optional: Start cockpit
```

3. Finally, use the following to compile the project from the working
directory, install it, and then run it:

```
$ rm -rf rpmbuild/
$ make rpm
$ sudo dnf -y install rpmbuild/RPMS/x86_64/*
$ sudo systemctl start osbuild-composer.socket
```

You can now open https://localhost:9090 in your browser to open cockpit console
and check the "Image Builder" section.

Alternatively you can use `composer-cli` to interact with the Weldr API. We
don't have any client for the RCM API, so the only option there is a
plain `curl`.

When developing the code, use `go` executable to generate, build, run, and test you
code [1], alternatively you can use the script `tools/prepare-source.sh`:

```
$ go test ./...
$ go build ./...
$ go generate ./...
```

### Testing

See [test/README.md](test/README.md) for more information about testing.

### Planning the work

In general we encourage you to first fill in an issue and discuss the feature
you would like to work on before you start. This can prevent the scenario where
you work on something we don't want to include in our code.

That being said, you are of course welcome to implement an example of what you
would like to achieve.

### Creating a PR

The commits in the PR should have these properties:

* Preferably minimal and well documented
  * Where minimal means: don't do unrelated changes even if the code is
    obviously wrong
  * Well documented: both code and commit message
  * The commit message should start with the module you work on,
    like: `weldr: `, or `distro:`
* The code should compile and the composer should start, so that we can run
  `git bisect` on it
* All code should be covered by unit-tests

### Notes:

[1] If you are running macOS, you can still compile osbuild-composer. If it
    doesn't work out of the box, use `-tags macos` together with any `go`
    command, for example: `go test -tags macos ./...`


================================================
FILE: Containerfile_golangci_lint
================================================
ARG GOLANGCI_LINT_VERSION
FROM docker.io/golangci/golangci-lint:${GOLANGCI_LINT_VERSION}

COPY tools/apt-install-deps.sh /usr/local/bin/.
RUN /usr/local/bin/apt-install-deps.sh


================================================
FILE: DEPLOYING.md
================================================
# Deploying osbuild-composer

*osbuild-composer* has currently has to be deployed in a virtual machine. The
[tools](./tools) subdirectory contains various scripts (those starting with
`deploy-`) to deploy it into cloud-init-enabled environemnts. These scripts all
take the form:

```
 ./tools/deploy-<target> <config> <userdata>
```

`<config>` depends on the target (see below). `<userdata>` is either a
cloud-init [cloud-config file](https://cloudinit.readthedocs.io/en/latest/topics/format.html#cloud-config-data), or a directory containing
this configuration, as documented by [./tools/gen-user-data](./tools/gen-user-data).

## Target: QEMU

`tools/deploy-qemu` takes as `<config>` the path to a qcow2 image and starts a
ephemeral virtual machine using qemu. The qcow2 file is not changed and all
changes to the virtual machine are lost after stopping qemu.

Two ports are forwarded to the host via qemu's [user networking](https://wiki.qemu.org/Documentation/Networking#User_Networking_.28SLIRP.29):
22 → 2222 and 443 → 4430.

See [HACKING.md](./HACKING.md) for how to use this target for running
integration tests locally.

## Target: OpenStack

`tools/deploy-openstack` uses the `openstack` tool (from `python3-openstack`)
to deploy a machine in an OpenStack cluster. It expects that an [OpenStack RC
file](https://docs.openstack.org/newton/admin-guide/common/cli-set-environment-variables-using-openstack-rc.html) was sourced into the running shell:

```
. openstackrc.sh
```

`<config>` has to be a JSON-file containing configuration about what kind of
machine to create. For example:

```json
{
  "name": "composer-instance",
  "image": "fedora-32-x86_64",
  "flavor": "m1.small",
  "network": "my-network-id"
}
```


================================================
FILE: HACKING.md
================================================
# Hacking on osbuild-composer

## Virtual Machine

*osbuild-composer* cannot be run from the source tree, but has to be installed
onto a system. We recommend doing this by building rpms, with:

```
dnf install fedora-packager
dnf builddep osbuild-composer
make rpm
```

This will build rpms from the latest git HEAD (remember to commit changes), for
the current operating system, with a version that contains the commit hash. The
packages end up in `./rpmbuild/RPMS/$arch`.

RPMS are easiest to deal with when they're in a dnf repository. To turn this
directory into a dnf repository and serve it on localhost:8000, run:

```
createrepo_c ./rpmbuild/RPMS/x86_64
python3 -m http.server --directory ./rpmbuild/RPMS/x86_64 8000
```

To start a ephemeral virtual machine using this repository, run:

```
tools/deploy-qemu IMAGE tools/deploy/test
```

`IMAGE` has to be a path to an cloud-init-enabled image matching the host
operating system, because that's what the packages were built for above.
Note that the Fedora/RHEL cloud images might be too small for some tests
to pass. Run `qemu-img resize IMAGE 10G` to grow them, cloud-init's growpart
module will grow the root partition automatically during boot. 

The second argument points to a directory from which cloud-init user-data is
generated (see `tools/gen-user-data` for details). The one given above tries to
mimic what is run on *osbuild-composer*'s continuous integration
infrastructure, i.e., installing `osbuild-composer-tests` and starting the
service.

The virtual machine uses qemu's [user networking](https://wiki.qemu.org/Documentation/Networking#User_Networking_.28SLIRP.29), forwarding port 22 to
the host's 2222 and 443 to 4430. You can log into the running machine with

```
ssh admin@localhost -p 2222
```

The password is `foobar`. Stopping the machine loses all data.

For a quick compile and debug cycle, we recommend iterating code using thorough
unit tests before going through the full workflow described above.

## Containers

*osbuild-composer* and *osbuild-composer-worker* can be run using Docker
containers. Building and starting containers is generally faster than building
RPMs and installing them in a VM, so this method is more convenient for
developing and testing changes quickly. However, using this method has several
downsides:
- It doesn't build the RPMs so the `.spec` file isn't tested.
- The environment is quite different from production (e.g., installation paths,
  privileges and permissions).
- The setup is not complete for all required services, so some functionality
  isn't available for testing this way (e.g., Koji Hub and all its dependent
  services).

The containers are a good way to quickly test small changes, but before
submitting a Pull Request, it's recommended to run through all the tests using
the [Virtual Machine](#virtual-machine) setup described above.

### Build and run

To build the containers run:

```
docker-compose build
```

To start the containers run:

```
docker-compose up
```

You can send requests to the *osbuild-composer* container by entering the devel
container and running:

```
curl -k --cert /etc/osbuild-composer/client-crt.pem --key /etc/osbuild-composer/client-key.pem https://172.30.0.10:8080/api/composer-koji/v1/status
```

To rebuild the containers after a change, add the `--build` flag to the `docker-compose` command:

```
docker-compose up --build
```

## Shortening the loop

For some components, it is possible to install distribution packages first and then only to replace binaries which may or may not work for smaller changes.

```
systemctl stop osbuild-composer.service osbuild-composer.socket osbuild-local-worker.socket
make build && sudo install -m755 bin/osbuild-composer bin/osbuild-worker /usr/libexec/osbuild-composer/
systemctl start osbuild-composer.socket osbuild-local-worker.socket
```

## Accessing Cloud API

You can use curl to access the Cloud API:

```
curl --unix-socket /run/cloudapi/api.socket -XGET http://localhost/api/image-builder-composer/v2/openapi
```


================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: Makefile
================================================
#
# Maintenance Helpers
#
# This makefile contains targets used for development, as well as helpers to
# aid automatization of maintenance. Unless a target is documented in
# `make help`, it is not supported and is only meant to be used by developers
# to aid their daily development work.
#
# All supported targets honor the `SRCDIR` variable to find the source-tree.
# For most unsupported targets, you are expected to have the source-tree as
# your working directory. To specify a different source-tree, simply override
# the variable via `SRCDIR=<path>` on the commandline. By default, the working
# directory is used for build output, but `BUILDDIR=<path>` allows overriding
# it.
#

BUILDDIR ?= .
SRCDIR ?= .

RST2MAN ?= rst2man

.ONESHELL:
SHELL := /bin/bash
.SHELLFLAGS := -ec -o pipefail

# Ensure golangci version that is compatible with Go version for this project.
# See https://hub.docker.com/r/golangci/golangci-lint/tags
# This is also used in Containerfile_golangci_lint FROM line
GOLANGCI_LINT_VERSION=v2.9
GOLANGCI_LINT_CACHE_DIR=$(HOME)/.cache/golangci-lint/$(GOLANGCI_LINT_VERSION)
GOLANGCI_COMPOSER_IMAGE=composer_golangci
#
# Automatic Variables
#
# This section contains a bunch of automatic variables used all over the place.
# They mostly try to fetch information from the repository sources to avoid
# hard-coding them in this makefile.
#
# Most of the variables here are pre-fetched so they will only ever be
# evaluated once. This, however, means they are always executed regardless of
# which target is run.
#
#     VERSION:
#         This evaluates the `Version` field of the specfile. Therefore, it will
#         be set to the latest version number of this repository without any
#         prefix (just a plain number).
#
#     COMMIT:
#         This evaluates to the latest git commit sha. This will not work if
#         the source is not a git checkout. Hence, this variable is not
#         pre-fetched but evaluated at time of use.
#

VERSION := $(shell (cd "$(SRCDIR)" && grep "^Version:" osbuild-composer.spec | sed 's/[^[:digit:]]*\([[:digit:]]\+\).*/\1/'))
COMMIT = $(shell (cd "$(SRCDIR)" && git rev-parse HEAD))

#
# Generic Targets
#
# The following is a set of generic targets used across the makefile. The
# following targets are defined:
#
#     help
#         This target prints all supported targets. It is meant as
#         documentation of targets we support and might use outside of this
#         repository.
#         This is also the default target.
#
#     $(BUILDDIR)/
#     $(BUILDDIR)/%/
#         This target simply creates the specified directory. It is limited to
#         the build-dir as a safety measure. Note that this requires you to use
#         a trailing slash after the directory to not mix it up with regular
#         files. Lastly, you mostly want this as order-only dependency, since
#         timestamps on directories do not affect their content.
#

.PHONY: help
help:
	@echo "make [TARGETS...]"
	@echo
	@echo "This is the maintenance makefile of osbuild-composer. The following"
	@echo "targets are available:"
	@echo
	@echo "    help:               Print this usage information."
	@echo "    build:              Build all binaries"
	@echo "    rpm:                Build the RPM"
	@echo "    srpm:               Build the source RPM"
	@echo "    scratch:            Quick scratch build of RPM"
	@echo "    clean:              Remove all built binaries"
	@echo "    man:                Generate all man-pages"
	@echo "    unit-tests:         Run unit tests"
	@echo "    db-tests:           Run postgres DB tests"
	@echo "    push-check:         Replicates the github workflow checks as close as possible"
	@echo "                        (do this before pushing!)"
	@echo "    lint:               Runs linters as close as github workflow as possible"
	@echo "    process-templates:  Execute the OpenShift CLI to check the templates"
	@echo "    coverage-report:    Run unit tests and generate HTML coverage reports"

$(BUILDDIR)/:
	mkdir -p "$@"

$(BUILDDIR)/%/:
	mkdir -p "$@"

$(GOLANGCI_LINT_CACHE_DIR):
	mkdir -p "$@"
#
# Documentation
#
# The following targets build the included documentation. This includes the
# packaged man-pages, but also all other kinds of documentation that needs to
# be generated. Note that these targets are relied upon by automatic
# deployments to our website, as well as package manager scripts.
#

MANPAGES_RST = $(wildcard $(SRCDIR)/docs/*.[0123456789].rst)
MANPAGES_TROFF = $(patsubst $(SRCDIR)/%.rst,$(BUILDDIR)/%,$(MANPAGES_RST))

$(MANPAGES_TROFF): $(BUILDDIR)/docs/%: $(SRCDIR)/docs/%.rst | $(BUILDDIR)/docs/
	$(RST2MAN) "$<" "$@"

.PHONY: man
man: $(MANPAGES_TROFF)

#
# Maintenance Targets
#
# The following targets are meant for development and repository maintenance.
# They are not supported nor is their use recommended in scripts.
#

.PHONY: build-maintenance
build-maintenance: $(BUILDDIR)/bin/
	go build -o $<osbuild-service-maintenance ./cmd/osbuild-service-maintenance
	go test -c -tags=integration -o $<osbuild-composer-maintenance-tests ./cmd/osbuild-service-maintenance/

.PHONY: build
build: $(BUILDDIR)/bin/ build-maintenance
	go build -o $<osbuild-composer ./cmd/osbuild-composer/
	go build -o $<osbuild-worker ./cmd/osbuild-worker/
	go build -o $<osbuild-worker-executor ./cmd/osbuild-worker-executor/
	go build -o $<osbuild-mock-openid-provider ./cmd/osbuild-mock-openid-provider
	# also build the test binaries
	go test -c -tags=integration -o $<osbuild-composer-cli-tests ./cmd/osbuild-composer-cli-tests/main_test.go
	go test -c -tags=integration -o $<osbuild-weldr-tests ./internal/client/
	go test -c -tags=integration -o $<osbuild-auth-tests ./cmd/osbuild-auth-tests/
	go test -c -tags=integration -o $<osbuild-koji-tests ./cmd/osbuild-koji-tests/
	go test -c -tags=integration -o $<osbuild-composer-dbjobqueue-tests ./cmd/osbuild-composer-dbjobqueue-tests/

.PHONY: install
install: build
	- mkdir -p /usr/libexec/osbuild-composer
	cp $(BUILDDIR)/bin/osbuild-composer /usr/libexec/osbuild-composer/
	cp $(BUILDDIR)/bin/osbuild-worker /usr/libexec/osbuild-composer/
	- mkdir -p /usr/share/osbuild-composer/repositories
	cp repositories/* /usr/share/osbuild-composer/repositories
	- mkdir -p /etc/sysusers.d/
	cp distribution/osbuild-composer.conf /etc/sysusers.d/
	systemd-sysusers osbuild-composer.conf
	- mkdir -p /etc/systemd/system/
	cp distribution/*.service /etc/systemd/system/
	cp distribution/*.socket /etc/systemd/system/
	systemctl daemon-reload

.PHONY: clean
clean: db-tests-prune
	rm -rf $(BUILDDIR)/bin/
	rm -rf $(CURDIR)/rpmbuild
	rm -rf container_composer_golangci_built.info
	rm -rf $(BUILDDIR)/$(PROCESSED_TEMPLATE_DIR)
	rm -rf $(GOLANGCI_LINT_CACHE_DIR)

.PHONY: push-check
push-check: lint build unit-tests srpm man
	./tools/check-runners
	./tools/check-snapshots --errors-only .
	rpmlint --config rpmlint.config $(CURDIR)/rpmbuild/SRPMS/*
	@if [ 0 -ne $$(git status --porcelain --untracked-files|wc -l) ]; then \
	    echo "There should be no changed or untracked files"; \
	    git status --porcelain --untracked-files; \
	    exit 1; \
	fi
	@echo "All looks good - congratulations"

CERT_DIR=/etc/osbuild-composer

.PHONY: ca
ca:
ifneq (${CERT_DIR}/ca-key.pem${CERT_DIR}/ca-crt.pem,$(wildcard ${CERT_DIR}/ca-key.pem)$(wildcard ${CERT_DIR}/ca-crt.pem))
	@echo CA key or certificate file is missing, generating a new pair...
	- mkdir -p ${CERT_DIR}
	openssl req -new -nodes -x509 -days 365 -keyout ${CERT_DIR}/ca-key.pem -out ${CERT_DIR}/ca-crt.pem -subj "/CN=osbuild.org"
else
	@echo CA key and certificate files already exist, skipping...
endif

.PHONY: composer-key-pair
composer-key-pair: ca
	# generate a private key and a certificate request
	openssl req -new -nodes \
		-subj "/CN=localhost" \
		-keyout ${CERT_DIR}/composer-key.pem \
		-out ${CERT_DIR}/composer-csr.pem

	# sign the certificate
	openssl x509 -req \
		-in ${CERT_DIR}/composer-csr.pem \
		-CA ${CERT_DIR}/ca-crt.pem \
		-CAkey ${CERT_DIR}/ca-key.pem \
		-CAcreateserial \
		-out ${CERT_DIR}/composer-crt.pem

	# delete the request and set _osbuild-composer as the owner
	rm ${CERT_DIR}/composer-csr.pem
	chown _osbuild-composer:_osbuild-composer ${CERT_DIR}/composer-key.pem ${CERT_DIR}/composer-crt.pem

.PHONY: worker-key-pair
worker-key-pair: ca
	# generate a private key and a certificate request
	openssl req -new -nodes \
		-subj "/CN=localhost" \
		-keyout ${CERT_DIR}/worker-key.pem \
		-out ${CERT_DIR}/worker-csr.pem

	# sign the certificate
	openssl x509 -req \
		-in ${CERT_DIR}/worker-csr.pem \
		-CA ${CERT_DIR}/ca-crt.pem \
		-CAkey ${CERT_DIR}/ca-key.pem \
		-CAcreateserial \
		-out ${CERT_DIR}/worker-crt.pem

	# delete the request
	rm /etc/osbuild-composer/worker-csr.pem

.PHONY: unit-tests
unit-tests:
	go test -race -covermode=atomic -coverprofile=coverage.txt -coverpkg=$$(go list ./... | tr "\n" ",") ./...
	# go modules with go.mod in subdirs are not tested automatically
	cd pkg/splunk_logger
	go test -race -covermode=atomic -coverprofile=../../coverage_splunk_logger.txt -coverpkg=$$(go list ./... | tr "\n" ",") ./...

.PHONY: coverage-report
coverage-report: unit-tests
	go tool cover -o coverage.html -html coverage.txt
	go tool cover -o coverage_splunk_logger.html -html coverage_splunk_logger.txt

CONTAINER_EXECUTABLE ?= podman

.PHONY: db-tests-prune
db-tests-prune:
	-$(CONTAINER_EXECUTABLE) stop composer-test-db
	-$(CONTAINER_EXECUTABLE) rm composer-test-db

CHECK_DB_PORT_READY=$(CONTAINER_EXECUTABLE) exec composer-test-db pg_isready -d osbuildcomposer
CHECK_DB_UP=$(CONTAINER_EXECUTABLE) exec composer-test-db psql -U postgres -d osbuildcomposer -c "SELECT 1"

.PHONY: db-tests
db-tests:
	-$(CONTAINER_EXECUTABLE) stop composer-test-db 2>/dev/null || echo "DB already stopped"
	-$(CONTAINER_EXECUTABLE) rm composer-test-db 2>/dev/null || echo "DB already removed"
	$(CONTAINER_EXECUTABLE) run -d \
      --name composer-test-db \
      --env POSTGRES_PASSWORD=foobar \
      --env POSTGRES_DB=osbuildcomposer \
      --publish 5432:5432 \
      postgres:12
	echo "Waiting for DB"
	until $(CHECK_DB_PORT_READY) ; do sleep 1; done
	until $(CHECK_DB_UP) ; do sleep 1; done
	env PGPASSWORD=foobar \
	    PGDATABASE=osbuildcomposer \
	    PGUSER=postgres \
	    PGHOST=localhost \
	    PGPORT=5432 \
	    ./tools/dbtest-run-migrations.sh
	./tools/dbtest-entrypoint.sh
	# we'll leave the composer-test-db container running
	# for easier inspection is something fails

.PHONY: test
test: unit-tests db-tests  # run all tests

#
# Building packages
#
# The following rules build osbuild-composer packages from the current HEAD
# commit, based on the spec file in this directory.  The resulting packages
# have the commit hash in their version, so that they don't get overwritten
# when calling `make rpm` again after switching to another branch.
#
# All resulting files (spec files, source rpms, rpms) are written into
# ./rpmbuild, using rpmbuild's usual directory structure.
#

RPM_SPECFILE=rpmbuild/SPECS/osbuild-composer.spec
RPM_TARBALL=rpmbuild/SOURCES/osbuild-composer-$(COMMIT).tar.gz

.PHONY: $(RPM_SPECFILE)
$(RPM_SPECFILE):
	mkdir -p $(CURDIR)/rpmbuild/SPECS
	git show HEAD:osbuild-composer.spec > $(RPM_SPECFILE)
	./tools/rpm_spec_add_provides_bundle.sh $(RPM_SPECFILE)

$(RPM_TARBALL):
	mkdir -p $(CURDIR)/rpmbuild/SOURCES
	git archive --prefix=osbuild-composer-$(COMMIT)/ --format=tar.gz HEAD > $(RPM_TARBALL)

.PHONY: srpm
srpm: $(RPM_SPECFILE) $(RPM_TARBALL)
	rpmbuild -bs \
		--define "_topdir $(CURDIR)/rpmbuild" \
		--define "commit $(COMMIT)" \
		--with tests \
		$(RPM_SPECFILE)

.PHONY: rpm
rpm: $(RPM_SPECFILE) $(RPM_TARBALL)
	rpmbuild -bb \
		--define "_topdir $(CURDIR)/rpmbuild" \
		--define "commit $(COMMIT)" \
		--with tests \
		$(RPM_SPECFILE)

.PHONY: scratch
scratch: $(RPM_SPECFILE) $(RPM_TARBALL)
	rpmbuild -bb \
		--define "_topdir $(CURDIR)/rpmbuild" \
		--define "commit $(COMMIT)" \
		--without tests \
		--nocheck \
		$(RPM_SPECFILE)

container_composer_golangci_built.info: Makefile Containerfile_golangci_lint tools/apt-install-deps.sh
	podman build -f Containerfile_golangci_lint -t $(GOLANGCI_COMPOSER_IMAGE) --build-arg "GOLANGCI_LINT_VERSION=$(GOLANGCI_LINT_VERSION)"
	echo "Image last built on" > $@
	date >> $@

# trying to catch our use cases of the github action implementation
# https://github.com/ludeeus/action-shellcheck/blob/master/action.yaml#L164
SHELLCHECK_FILES=$(shell find . -name "*.sh" -not -regex "./vendor/.*")

.PHONY: lint
lint: $(GOLANGCI_LINT_CACHE_DIR) container_composer_golangci_built.info
	./tools/prepare-source.sh
	podman run -t --rm -v $(SRCDIR):/app:z -v $(GOLANGCI_LINT_CACHE_DIR):/root/.cache:z -w /app $(GOLANGCI_COMPOSER_IMAGE) golangci-lint config verify -v
	podman run -t --rm -v $(SRCDIR):/app:z -v $(GOLANGCI_LINT_CACHE_DIR):/root/.cache:z -w /app $(GOLANGCI_COMPOSER_IMAGE) golangci-lint run -v
	echo "$(SHELLCHECK_FILES)" | xargs shellcheck --shell bash -e SC1091 -e SC2002 -e SC2317

# The OpenShift CLI - maybe get it from https://access.redhat.com/downloads/content/290
OC_EXECUTABLE ?= oc

OPENSHIFT_TEMPLATES_DIR := templates/openshift
OPENSHIFT_TEMPLATES := $(notdir $(wildcard $(OPENSHIFT_TEMPLATES_DIR)/*.yml))

PROCESSED_TEMPLATE_DIR := $(BUILDDIR)/processed-templates

$(PROCESSED_TEMPLATE_DIR): $(BUILDDIR)
	mkdir -p $@

$(PROCESSED_TEMPLATE_DIR)/%.yml: $(PROCESSED_TEMPLATE_DIR) $(OPENSHIFT_TEMPLATES_DIR)/%.yml
	$(OC_EXECUTABLE) process -f $(OPENSHIFT_TEMPLATES_DIR)/$*.yml \
          -p IMAGE_TAG=image_tag \
          --local \
          -o yaml > $@

.PHONY: process-templates
process-templates: $(addprefix $(PROCESSED_TEMPLATE_DIR)/, $(OPENSHIFT_TEMPLATES))

# get yourself aws access to your deployment by
# either setting AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
# or providing a token in ~/.aws/credentials
# for profile "default"!
.PHONY: osbuild-service-maintenance-dry-run-aws
osbuild-service-maintenance-dry-run-aws: build-maintenance
	env DRY_RUN=true \
	    ENABLE_AWS_MAINTENANCE=true \
	    $(BUILDDIR)/bin/osbuild-service-maintenance


================================================
FILE: README.md
================================================
OSBuild Composer
================

Operating System Image Composition Services

The composer project is a set of HTTP services for composing operating system
images. It builds on the pipeline execution engine of *osbuild* and defines
its own class of images that it supports building.

Multiple APIs are available to access a composer service. This includes
support for the [lorax-composer](https://github.com/weldr/lorax) API, and as
such can serve as drop-in replacement for lorax-composer.

You can control a composer instance either directly via the provided APIs, or
through higher-level user-interfaces from external projects. This, for
instance, includes a
[Cockpit Module](https://github.com/osbuild/cockpit-composer) or using the
[composer-cli](https://weldr.io/lorax/composer-cli.html) command-line tool.

## Project

 * **Website**: <https://www.osbuild.org>
 * **Bug Tracker**: <https://github.com/osbuild/osbuild-composer/issues>
 * **Discussions**: <https://github.com/orgs/osbuild/discussions>
 * **Matrix**: [#image-builder on fedoraproject.org](https://matrix.to/#/#image-builder:fedoraproject.org)
 * **Changelog**: <https://github.com/osbuild/osbuild-composer/releases>

### Principles

1. OSBuild Composer shall only allow users to do what generally makes sense.
2. Blueprints are the policy layer where we decide what to expose to end users.
3. If a blueprint can be built, it should also boot.
4. It should be obvious why a blueprint doesn’t build.
5. The [cloud API](./internal/cloudapi) is never broken.
6. In the hosted service, OSBuild Composer is an orchestrator of image builds.
7. On-premises, it should be as easy as possible to run the service and build an image.
8. OSBuild Composer needs to run on the oldest supported target distribution.

### Contributing

Please refer to the [developer guide](https://osbuild.org/docs/developer-guide/index) to learn about our workflow, code style and more.

### About

Composer is a middleman between the workhorses from *osbuild* and the
user-interfaces like *cockpit-composer*, *composer-cli*, or others. It defines
a set of high-level image compositions that it supports building. Builds of
these compositions can be requested via the different APIs of *Composer*, which
will then translate the requests into pipeline-descriptions for *osbuild*. The
pipeline output is then either provided back to the user, or uploaded to a user
specified target.

The following image visualizes the overall architecture of the OSBuild
infrastructure and the place that *Composer* takes:

![overview](docs/osbuild-composer.svg)

Consult the `osbuild-composer(7)` man-page for an introduction into composer,
information on running your own composer instance, as well as details on the
provided infrastructure and services.

### Requirements

The requirements for this project are:

 * `osbuild >= 26`
 * `systemd >= 244`

At build-time, the following software is required:

 * `go >= 1.21`
 * `python-docutils >= 0.13`
 * `krb5-devel` for fedora/rhel or `libkrb5-dev` for debian/ubuntu`
 * `btrfs-progs-devel` for fedora/rhel or `libbtrfs-dev` for debian/ubuntu
 * `device-mapper-devel` for fedora/rhel or `libdevmapper-dev` for debian/ubuntu
 * `gpgme-devel` for fedora/rhel or `libgpgme-dev` for debian/ubuntu
 * `rpmdevtools` (only for `make push-check`)
 * `rpmlint` (only for `make push-check`)

### Build

The standard go package system is used. Consult upstream documentation for
detailed help. In most situations the following commands are sufficient to
build and install from source:

```sh
make build
```

The man-pages require `python-docutils` and can be built via:

```sh
make man
```

### Run Tests

To run our tests locally just call

```sh
make unit-tests
```

Before pushing something for a pull request you should run this check to avoid problems with required github actions

```sh
make push-check
```

### Repository:

 - **web**:   <https://github.com/osbuild/osbuild-composer>
 - **https**: `https://github.com/osbuild/osbuild-composer.git`
 - **ssh**:   `git@github.com:osbuild/osbuild-composer.git`

### Pull request gating

Each pull request against `osbuild-composer` starts a series of automated
tests. Tests run via GitHub Actions and Jenkins. Each push to the pull request
will launch theses tests automatically.

Jenkins only tests pull requests from members of the `osbuild` organization in
GitHub. A member of the `osbuild` organization must say `ok to test` in a pull
request comment to approve testing. Anyone can ask for testing to run by
saying the bot's favorite word, `schutzbot`, in a pull request comment.
Testing will begin shortly after the comment is posted.

Test results in Jenkins are available by clicking the *Details* link on the
right side of the Schutzbot check in the pull request page.

### License:

 - **Apache-2.0**
 - See LICENSE file for details.


================================================
FILE: Schutzfile
================================================
{
  "common": {
    "dependencies": {
      "image-builder": {
        "copr-build": "image-builder-0:48-1.20260205163614977774.main.8.g9991cf2"
      }
    }
  },
  "fedora-42": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/fedora.repo",
        "x86_64": [
          {
            "title": "fedora",
            "name": "fedora",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/f42/f42-x86_64-fedora-20250512"
          }
        ],
        "aarch64": [
          {
            "title": "fedora",
            "name": "fedora",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/f42/f42-aarch64-fedora-20250512"
          }
        ]
      },
      {
        "file": "/etc/yum.repos.d/fedora-updates.repo",
        "x86_64": [
          {
            "title": "updates",
            "name": "updates",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/f42/f42-x86_64-updates-released-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "updates",
            "name": "updates",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/f42/f42-aarch64-updates-released-20260426"
          }
        ]
      }
    ]
  },
  "rhel-8.4": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-8.8": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-8.9": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-8.10": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.2": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.3": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.4": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.5": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.6": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.7": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-9.8": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/rhel9internal.repo",
        "x86_64": [
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.8-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.8-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-crb-n9.8-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.8-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.8-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-crb-n9.8-20260426"
          }
        ]
      }
    ]
  },
  "rhel-9.9": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/rhel9internal.repo",
        "x86_64": [
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.9-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.9-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-crb-n9.9-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.9-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.9-20260426"
          },
          {
            "title": "RHEL-9-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-crb-n9.9-20260426"
          }
        ]
      }
    ]
  },
  "rhel-10.0": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "rhel-10.1": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      },
      "bootc": {
        "guest-image": {
          "x86_64": {
            "base": "quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10-qcow2:latest"
          }
        },
        "bootable-container-iso": {
          "x86_64": {
            "base": "quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10-installer:latest",
            "payload": "quay.io/redhat-services-prod/insights-management-tenant/image-builder-bootc-foundry/rhel-10-qcow2:latest"
          }
        }
      }
    }
  },
  "rhel-10.2": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/rhel10internal.repo",
        "x86_64": [
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-x86_64-baseos-n10.2-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-x86_64-appstream-n10.2-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-x86_64-crb-n10.2-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-aarch64-baseos-n10.2-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-aarch64-appstream-n10.2-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-aarch64-crb-n10.2-20260426"
          }
        ]
      }
    ]
  },
  "rhel-10.3": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/rhel10internal.repo",
        "x86_64": [
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-x86_64-baseos-n10.3-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-x86_64-appstream-n10.3-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-x86_64-crb-n10.3-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-BaseOS",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-aarch64-baseos-n10.3-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-AppStream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-aarch64-appstream-n10.3-20260426"
          },
          {
            "title": "RHEL-10-RPMREPO-NIGHTLY-CRB",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el10/el10-aarch64-crb-n10.3-20260426"
          }
        ]
      }
    ]
  },
  "centos-9": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "centos-stream-9": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/centos.repo",
        "x86_64": [
          {
            "title": "baseos",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-baseos-20260426"
          },
          {
            "title": "appstream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-appstream-20260426"
          },
          {
            "title": "crb",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-x86_64-crb-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "baseos",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-baseos-20260426"
          },
          {
            "title": "appstream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-appstream-20260426"
          },
          {
            "title": "crb",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el9/cs9-aarch64-crb-20260426"
          }
        ]
      }
    ]
  },
  "centos-10": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    }
  },
  "centos-stream-10": {
    "dependencies": {
      "osbuild": {
        "commit": "d36f11818f6f7b301ba392c6f7378eb908c1f943"
      }
    },
    "repos": [
      {
        "file": "/etc/yum.repos.d/centos.repo",
        "x86_64": [
          {
            "title": "baseos",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el10/cs10-x86_64-baseos-20260426"
          },
          {
            "title": "appstream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el10/cs10-x86_64-appstream-20260426"
          },
          {
            "title": "crb",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el10/cs10-x86_64-crb-20260426"
          }
        ],
        "aarch64": [
          {
            "title": "baseos",
            "name": "baseos",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el10/cs10-aarch64-baseos-20260426"
          },
          {
            "title": "appstream",
            "name": "appstream",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el10/cs10-aarch64-appstream-20260426"
          },
          {
            "title": "crb",
            "name": "crb",
            "baseurl": "https://rpmrepo.osbuild.org/v2/mirror/public/el10/cs10-aarch64-crb-20260426"
          }
        ]
      }
    ]
  }
}


================================================
FILE: cmd/README
================================================
Binaries
========

osbuild-composer: The main binary, the service that maintains the queue and schedules all
jobs. This is started as the main process by systemd or container runtime.

osbuild-worker: The worker binary that handles jobs from the job queue locally.

osbuild-worker-executor: The binary that runs osbuild to build an image on an isolated VM.

Service binaries
================

osbuild-service-maintenance: Vacuum the database and remove old jobs. Also used to cleanup
cloud instances.

Development and test tools
==========================

osbuild-auth-tests
osbuild-composer-cli-tests
osbuild-composer-dbjobqueue-tests
osbuild-koji-tests
osbuild-mock-openid-provider

osbuild-store-dump: the output from this is used in Test_upgrade in internal/store/json_test.go


================================================
FILE: cmd/osbuild-auth-tests/certificates.go
================================================
//go:build integration

package main

import (
	"fmt"
	"log"
	"os"
	"os/exec"
	"path"
)

const (
	opensslConfig    = "/usr/share/tests/osbuild-composer/x509/openssl.cnf"
	osbuildCAExt     = "osbuild_ca_ext"
	osbuildClientExt = "osbuild_client_ext"
)

type certificateKeyPair struct {
	baseDir string
}

func (ckp certificateKeyPair) remove() {
	err := os.RemoveAll(ckp.baseDir)
	if err != nil {
		log.Printf("cannot delete the certificate key pair: %v", err)
	}
}

func (ckp certificateKeyPair) certificate() string {
	return path.Join(ckp.baseDir, "crt")
}

func (ckp certificateKeyPair) key() string {
	return path.Join(ckp.baseDir, "key")
}

func newSelfSignedCertificateKeyPair(subj string) (*certificateKeyPair, error) {
	dir, err := os.MkdirTemp("", "osbuild-auth-tests-")
	if err != nil {
		return nil, fmt.Errorf("cannot create a temporary directory for the certificate: %v", err)
	}

	ckp := certificateKeyPair{baseDir: dir}

	//nolint:gosec
	cmd := exec.Command(
		"openssl", "req", "-nodes", "-x509",
		"-subj", subj,
		"-out", ckp.certificate(),
		"-keyout", ckp.key(),
	)
	err = cmd.Run()
	if err != nil {
		return nil, fmt.Errorf("cannot generate a self-signed certificate: %v", err)
	}

	return &ckp, nil
}

type ca struct {
	BaseDir string
}

func (c ca) remove() {
	err := os.RemoveAll(c.BaseDir)
	if err != nil {
		log.Printf("cannot delete the ca: %v", err)
	}
}

func (c ca) certificate() string {
	return path.Join(c.BaseDir, "ca.cert.pem")
}

func (c ca) key() string {
	return path.Join(c.BaseDir, "private", "ca.key.pem")
}

func newCA(subj string) (*ca, error) {
	baseDir, err := os.MkdirTemp("", "osbuild-auth-tests-ca")
	if err != nil {
		return nil, fmt.Errorf("cannot create a temporary dir for a new CA: %v", err)
	}

	err = os.Mkdir(path.Join(baseDir, "certs"), 0700)
	if err != nil {
		innerErr := os.RemoveAll(baseDir)
		if innerErr != nil {
			log.Print(innerErr)
		}
		return nil, fmt.Errorf("cannot create certs dir for the new CA: %v", err)
	}

	err = os.Mkdir(path.Join(baseDir, "private"), 0700)
	if err != nil {
		innerErr := os.RemoveAll(baseDir)
		if innerErr != nil {
			log.Print(innerErr)
		}
		return nil, fmt.Errorf("cannot create private dir for the new CA: %v", err)
	}

	f, err := os.Create(path.Join(baseDir, "index.txt"))
	if err != nil {
		innerErr := os.RemoveAll(baseDir)
		if innerErr != nil {
			log.Print(innerErr)
		}
		return nil, fmt.Errorf("cannot create index file for the new CA: %v", err)
	}
	f.Close()

	c := ca{
		BaseDir: baseDir,
	}

	//nolint:gosec
	cmd := exec.Command(
		"openssl", "req",
		"-config", opensslConfig,
		"-new", "-nodes", "-x509", "-extensions", osbuildCAExt,
		"-subj", subj,
		"-keyout", c.key(),
		"-out", c.certificate(),
	)

	err = cmd.Run()
	if err != nil {
		innerErr := os.RemoveAll(baseDir)
		if innerErr != nil {
			log.Print(innerErr)
		}
		return nil, fmt.Errorf("cannot create the CA: %v", err)
	}

	return &c, nil
}

func (c ca) newCertificateKeyPair(subj, extensions, addext string) (*certificateKeyPair, error) {
	dir, err := os.MkdirTemp("", "osbuild-auth-tests-")
	if err != nil {
		return nil, fmt.Errorf("cannot create a temporary directory for the certificate: %v", err)
	}

	ckp := certificateKeyPair{baseDir: dir}
	certificateRequest := path.Join(dir, "csr")

	args := []string{
		"req", "-new", "-nodes",
		"-subj", subj,
		"-keyout", ckp.key(),
		"-out", certificateRequest,
		"-config", opensslConfig,
	}

	if addext != "" {
		args = append(args, "-addext", addext)
	}

	cmd := exec.Command(
		"openssl",
		args...,
	)

	err = cmd.Run()
	if err != nil {
		return nil, fmt.Errorf("cannot generate a private key and a certificate request: %v", err)
	}

	defer os.Remove(certificateRequest)

	cmd = exec.Command(
		"openssl", "ca",
		"-batch",
		"-config", opensslConfig,
		"-extensions", extensions,
		"-in", certificateRequest,
		"-out", ckp.certificate(),
	)
	// this command must be run in the CA base directory
	cmd.Dir = c.BaseDir

	err = cmd.Run()
	if err != nil {
		return nil, fmt.Errorf("cannot sign the certificate: %v", err)
	}

	return &ckp, nil
}


================================================
FILE: cmd/osbuild-auth-tests/main_test.go
================================================
//go:build integration

package main

import (
	"crypto/tls"
	"crypto/x509"
	"encoding/json"
	"errors"
	"net/http"
	"os"
	"testing"

	"github.com/stretchr/testify/require"
)

const trustedCADir = "/etc/osbuild-composer-test/ca"

type connectionConfig struct {
	CACertFile     string
	ClientKeyFile  string
	ClientCertFile string
}

func createTLSConfig(config *connectionConfig) (*tls.Config, error) {
	caCertPEM, err := os.ReadFile(config.CACertFile)
	if err != nil {
		return nil, err
	}

	roots := x509.NewCertPool()
	ok := roots.AppendCertsFromPEM(caCertPEM)
	if !ok {
		return nil, errors.New("failed to append root certificate")
	}

	cert, err := tls.LoadX509KeyPair(config.ClientCertFile, config.ClientKeyFile)
	if err != nil {
		return nil, err
	}

	return &tls.Config{
		RootCAs:      roots,
		Certificates: []tls.Certificate{cert},
		MinVersion:   tls.VersionTLS12,
	}, nil
}

func TestWorkerAPIAuth(t *testing.T) {
	t.Run("certificate signed by a trusted CA", func(t *testing.T) {
		cases := []struct {
			caseDesc string
			subj     string
			addext   string
			success  bool
		}{
			{"valid CN 1", "/CN=worker.osbuild.org/emailAddress=osbuild@example.com", "subjectAltName=DNS:example.com,DNS:worker.osbuild.org", true},
			{"valid CN 2", "/CN=localhost/emailAddress=osbuild@example.com", "subjectAltName=DNS:example.com,DNS:localhost", true},
			{"invalid CN", "/CN=example.com/emailAddress=osbuild@example.com", "subjectAltName=DNS:example.com", false},
		}

		authority := &ca{BaseDir: trustedCADir}

		for _, c := range cases {
			t.Run(c.caseDesc, func(t *testing.T) {
				ckp, err := authority.newCertificateKeyPair(c.subj, osbuildClientExt, c.addext)
				require.NoError(t, err)
				defer ckp.remove()

				testRoute(t, "https://localhost:8700/api/worker/v1/status", ckp, c.success)
			})
		}
	})

	t.Run("certificate signed by an untrusted CA", func(t *testing.T) {
		// generate a new CA
		ca, err := newCA("/CN=untrusted.osbuild.org")
		require.NoError(t, err)
		defer ca.remove()

		// create a new certificate and signed it with the new CA
		ckp, err := ca.newCertificateKeyPair("/CN=localhost/emailAddress=osbuild@example.com", osbuildClientExt, "")
		require.NoError(t, err)
		defer ckp.remove()

		testRoute(t, "https://localhost:8700/api/worker/v1/status", ckp, false)
	})

	t.Run("self-signed certificate", func(t *testing.T) {
		// generate a new self-signed certificate
		ckp, err := newSelfSignedCertificateKeyPair("/CN=osbuild.org
Download .txt
Showing preview only (686K chars total). Download the full file or copy to clipboard to get everything.
gitextract_1b6z3z9p/

├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .fmf/
│   └── version
├── .gitattributes
├── .github/
│   ├── CODEOWNERS
│   ├── ISSUE_TEMPLATE/
│   │   └── bug_report.md
│   ├── dependabot.yml
│   ├── renovate.json
│   └── workflows/
│       ├── coverity_scan.yml
│       ├── create-tag.yml
│       ├── gobump.yml
│       ├── pr_best_practices.yml
│       ├── release.yml
│       ├── stale-cleanup.yml
│       ├── tests.yml
│       ├── trigger-gitlab.yml
│       └── update-osbuild.yml
├── .gitignore
├── .gitlab-ci.yml
├── .gitleaks.toml
├── .golangci.yml
├── .packit.yaml
├── .pylintrc
├── .tekton/
│   ├── osbuild-composer-maintenance-pull-request.yaml
│   ├── osbuild-composer-maintenance-push.yaml
│   ├── osbuild-composer-pull-request.yaml
│   └── osbuild-composer-push.yaml
├── CONTRIBUTING.md
├── Containerfile_golangci_lint
├── DEPLOYING.md
├── HACKING.md
├── LICENSE
├── Makefile
├── README.md
├── Schutzfile
├── cmd/
│   ├── README
│   ├── osbuild-auth-tests/
│   │   ├── certificates.go
│   │   └── main_test.go
│   ├── osbuild-composer/
│   │   ├── composer.go
│   │   ├── config.go
│   │   ├── config_test.go
│   │   ├── main.go
│   │   └── testdata/
│   │       ├── empty-config.toml
│   │       └── test.toml
│   ├── osbuild-composer-cli-tests/
│   │   └── main_test.go
│   ├── osbuild-composer-dbjobqueue-tests/
│   │   └── main_test.go
│   ├── osbuild-koji-tests/
│   │   └── main_test.go
│   ├── osbuild-mock-openid-provider/
│   │   └── main.go
│   ├── osbuild-service-maintenance/
│   │   ├── aws.go
│   │   ├── aws_test.go
│   │   ├── config.go
│   │   ├── db.go
│   │   ├── db_test.go
│   │   ├── export_test.go
│   │   ├── gcp.go
│   │   └── main.go
│   ├── osbuild-store-dump/
│   │   └── main.go
│   ├── osbuild-worker/
│   │   ├── config.go
│   │   ├── config_test.go
│   │   ├── export_test.go
│   │   ├── jobimpl-awsec2.go
│   │   ├── jobimpl-bootc-info-resolve.go
│   │   ├── jobimpl-bootc-info-resolve_test.go
│   │   ├── jobimpl-container-resolve.go
│   │   ├── jobimpl-container-resolve_test.go
│   │   ├── jobimpl-depsolve.go
│   │   ├── jobimpl-depsolve_test.go
│   │   ├── jobimpl-file-resolve.go
│   │   ├── jobimpl-image-builder-manifest.go
│   │   ├── jobimpl-image-builder-manifest_test.go
│   │   ├── jobimpl-koji-finalize.go
│   │   ├── jobimpl-koji-init.go
│   │   ├── jobimpl-osbuild.go
│   │   ├── jobimpl-osbuild_test.go
│   │   ├── jobimpl-ostree-resolve.go
│   │   ├── jobimpl-search.go
│   │   ├── main.go
│   │   ├── main_test.go
│   │   ├── mock_job_test.go
│   │   └── rh-logrus-adapter.go
│   └── osbuild-worker-executor/
│       ├── build_result.go
│       ├── config.go
│       ├── export_test.go
│       ├── handler_build.go
│       ├── handler_build_test.go
│       ├── handler_log.go
│       ├── handler_log_test.go
│       ├── handler_result.go
│       ├── handler_result_test.go
│       ├── handler_root.go
│       ├── handler_root_test.go
│       ├── main.go
│       ├── main_test.go
│       └── routes.go
├── codecov.yml
├── containers/
│   ├── fauxauth/
│   │   └── fauxauth.py
│   └── osbuild-composer/
│       └── entrypoint.py
├── distribution/
│   ├── Dockerfile-config
│   ├── Dockerfile-fauxauth
│   ├── Dockerfile-ubi
│   ├── Dockerfile-ubi-maintenance
│   ├── Dockerfile-ubi-packer
│   ├── Dockerfile-worker
│   ├── osbuild-composer-api.socket
│   ├── osbuild-composer-prometheus.socket
│   ├── osbuild-composer.conf
│   ├── osbuild-composer.service
│   ├── osbuild-composer.socket
│   ├── osbuild-local-worker.socket
│   ├── osbuild-remote-worker.socket
│   ├── osbuild-remote-worker@.service
│   └── osbuild-worker@.service
├── docker-compose.yml
├── docs/
│   ├── errors.md
│   └── osbuild-composer.7.rst
├── go.mod
├── go.sum
├── image-types/
│   ├── README.md
│   └── rhel8/
│       ├── README.md
│       ├── amazon-ec2.md
│       ├── google-gce.md
│       ├── kvm-guest-image.md
│       ├── microsoft-azure.md
│       ├── openstack.md
│       ├── oracle-oci.md
│       └── vmware.md
├── internal/
│   ├── auth/
│   │   ├── jwt.go
│   │   ├── jwt_auth_handler.go
│   │   ├── jwt_test.go
│   │   └── middleware.go
│   ├── client/
│   │   ├── blueprints.go
│   │   ├── blueprints_non_el10_test.go
│   │   ├── blueprints_test.go
│   │   ├── client.go
│   │   ├── client_test.go
│   │   ├── compose.go
│   │   ├── compose_test.go
│   │   ├── integration_test.go
│   │   ├── modules.go
│   │   ├── modules_test.go
│   │   ├── projects.go
│   │   ├── projects_test.go
│   │   ├── source.go
│   │   ├── source_test.go
│   │   ├── unit_test.go
│   │   ├── utils.go
│   │   └── weldr.go
│   ├── cloud/
│   │   └── awscloud/
│   │       ├── autoscaling.go
│   │       ├── awscloud.go
│   │       ├── awscloud_test.go
│   │       ├── client-interfaces.go
│   │       ├── export_test.go
│   │       ├── maintenance.go
│   │       ├── mocks_test.go
│   │       ├── secure-instance.go
│   │       └── secure-instance_test.go
│   ├── cloudapi/
│   │   ├── server.go
│   │   └── v2/
│   │       ├── bootc.go
│   │       ├── bootc_premanifest_test.go
│   │       ├── bootc_test.go
│   │       ├── compose.go
│   │       ├── compose_test.go
│   │       ├── depsolve.go
│   │       ├── errors.go
│   │       ├── errors_test.go
│   │       ├── export_test.go
│   │       ├── handler.go
│   │       ├── imagerequest.go
│   │       ├── imagerequest_test.go
│   │       ├── middleware.go
│   │       ├── openapi.v2.gen.go
│   │       ├── openapi.v2.yml
│   │       ├── search.go
│   │       ├── server.go
│   │       ├── server_container_compat.go
│   │       ├── server_container_compat_test.go
│   │       ├── v2_disk_test.go
│   │       ├── v2_internal_test.go
│   │       ├── v2_koji_test.go
│   │       ├── v2_multi_tenancy_test.go
│   │       └── v2_test.go
│   ├── common/
│   │   ├── constants.go
│   │   ├── context_hook.go
│   │   ├── dependencies.go
│   │   ├── echo_logrus.go
│   │   ├── external_id.go
│   │   ├── helpers.go
│   │   ├── helpers_test.go
│   │   ├── journal_hook.go
│   │   ├── journal_hook_test.go
│   │   ├── logger_middleware.go
│   │   ├── operation_id.go
│   │   ├── pointers.go
│   │   ├── pointers_test.go
│   │   ├── slogger/
│   │   │   ├── logrus.go
│   │   │   ├── logrus_test.go
│   │   │   └── noop.go
│   │   ├── states.go
│   │   └── states_test.go
│   ├── jobqueue/
│   │   ├── fsjobqueue/
│   │   │   ├── fsjobqueue.go
│   │   │   └── fsjobqueue_test.go
│   │   └── jobqueuetest/
│   │       └── jobqueuetest.go
│   ├── jsondb/
│   │   ├── db.go
│   │   ├── db_private_test.go
│   │   └── db_test.go
│   ├── mocks/
│   │   ├── depsolvednf/
│   │   │   ├── depsolvednf.go
│   │   │   └── mock_data.go
│   │   ├── rpmmd/
│   │   │   ├── fixtures.go
│   │   │   └── rpmmd_mock.go
│   │   └── rpmrepo/
│   │       └── rpmrepo.go
│   ├── osbuildexecutor/
│   │   ├── export_test.go
│   │   ├── osbuild-executor.go
│   │   ├── runner-common.go
│   │   ├── runner-impl-aws-ec2.go
│   │   ├── runner-impl-aws-ec2_test.go
│   │   └── runner-impl-host.go
│   ├── prometheus/
│   │   ├── constants.go
│   │   ├── helpers.go
│   │   ├── http_metrics.go
│   │   ├── job_metrics.go
│   │   ├── middleware.go
│   │   └── status_metrics.go
│   ├── remotefile/
│   │   ├── client.go
│   │   ├── client_test.go
│   │   ├── resolver.go
│   │   ├── resolver_test.go
│   │   └── spec.go
│   ├── store/
│   │   ├── fixtures.go
│   │   ├── json.go
│   │   ├── json_test.go
│   │   ├── store.go
│   │   ├── store_test.go
│   │   └── test/
│   │       ├── state-v12.json
│   │       └── state-v13.json
│   ├── target/
│   │   ├── aws_target.go
│   │   ├── azure_image_target.go
│   │   ├── azure_target.go
│   │   ├── container_target.go
│   │   ├── gcp_target.go
│   │   ├── koji_target.go
│   │   ├── koji_target_test.go
│   │   ├── local_target.go
│   │   ├── oci_target.go
│   │   ├── target.go
│   │   ├── target_test.go
│   │   ├── targetresult.go
│   │   ├── targetresult_test.go
│   │   ├── vmware_target.go
│   │   └── worker_server_target.go
│   ├── test/
│   │   ├── apicall.go
│   │   ├── helpers.go
│   │   ├── request.go
│   │   └── validator.go
│   ├── tools.go
│   ├── weldr/
│   │   ├── api.go
│   │   ├── api_test.go
│   │   ├── compose.go
│   │   ├── compose_test.go
│   │   ├── json.go
│   │   ├── responses_test.go
│   │   ├── upload.go
│   │   └── util.go
│   ├── weldrtypes/
│   │   ├── compose.go
│   │   ├── imagebuild.go
│   │   ├── package.go
│   │   └── package_test.go
│   └── worker/
│       ├── api/
│       │   ├── api.gen.go
│       │   ├── api.go
│       │   ├── errors.go
│       │   └── openapi.yml
│       ├── client.go
│       ├── client_test.go
│       ├── clienterrors/
│       │   ├── errors.go
│       │   └── errors_test.go
│       ├── export_test.go
│       ├── ibcli-exec.go
│       ├── ibcli-exec_test.go
│       ├── json.go
│       ├── json_test.go
│       ├── proxy_test.go
│       ├── server.go
│       └── server_test.go
├── krb5.conf
├── osbuild-composer.spec
├── pkg/
│   ├── jobqueue/
│   │   ├── dbjobqueue/
│   │   │   ├── dbjobqueue.go
│   │   │   └── schemas/
│   │   │       ├── 001_jobs.sql
│   │   │       ├── 002_channels.sql
│   │   │       ├── 003_dependencies_cascade.sql
│   │   │       ├── 004_heartbeats_cascade.sql
│   │   │       ├── 005_jobs_expiry.sql
│   │   │       ├── 006_retry_count.sql
│   │   │       ├── 007_create_table_workers.sql
│   │   │       ├── 008_workers_add_channel.sql
│   │   │       └── 009_jobs_alter_result_type.sql
│   │   └── jobqueue.go
│   └── splunk_logger/
│       ├── environment_hook.go
│       ├── environment_hook_test.go
│       ├── go.mod
│       ├── go.sum
│       ├── splunk_hook.go
│       ├── splunk_logger.go
│       └── splunk_logger_test.go
├── repositories/
│   ├── README.md
│   ├── rhel-8-no-aux-key.json
│   ├── rhel-8.10-no-aux-key.json
│   ├── rhel-8.4-no-aux-key.json
│   ├── rhel-8.6-no-aux-key.json
│   ├── rhel-8.8-no-aux-key.json
│   ├── rhel-9.7.json
│   └── rhel-9.8.json
├── rpmlint.config
├── schutzbot/
│   ├── ci_details.sh
│   ├── containerbuild.sh
│   ├── deploy.sh
│   ├── mockbuild.sh
│   ├── prepare-rhel-internal.sh
│   ├── save_journal.sh
│   ├── send_webhook.py
│   ├── slack_notification.sh
│   ├── start_iostats.sh
│   ├── stop_iostats.sh
│   ├── team_ssh_keys.txt
│   ├── terraform
│   ├── unregister.sh
│   ├── update-schutzfile-osbuild
│   ├── update_github_status.sh
│   └── upload_artifacts.sh
├── templates/
│   ├── .kube-linter-config.yml
│   ├── README.md
│   ├── dashboards/
│   │   ├── grafana-dashboard-image-builder-composer-general.configmap.yml
│   │   ├── grafana-dashboard-image-builder-worker-api.configmap.yml
│   │   └── grafana-dashboard-image-builder-worker-general.configmap.yml
│   ├── openshift/
│   │   ├── composer.yml
│   │   └── maintenance.yml
│   └── packer/
│       ├── README.md
│       ├── ansible/
│       │   ├── inventory/
│       │   │   ├── fedora-42-aarch64/
│       │   │   │   └── group_vars/
│       │   │   │       └── all.yml
│       │   │   ├── fedora-42-x86_64/
│       │   │   │   └── group_vars/
│       │   │   │       └── all.yml
│       │   │   ├── rhel-10-aarch64/
│       │   │   │   └── group_vars/
│       │   │   │       └── all.yml
│       │   │   └── rhel-10-x86_64/
│       │   │       └── group_vars/
│       │   │           └── all.yml
│       │   ├── playbook.yml
│       │   └── roles/
│       │       └── common/
│       │           ├── files/
│       │           │   ├── osbuild-worker.toml
│       │           │   ├── timber-vector.repo
│       │           │   ├── worker-executor.service
│       │           │   ├── worker-initialization-scripts/
│       │           │   │   ├── client_credentials.sh
│       │           │   │   ├── container_registries_login.sh
│       │           │   │   ├── get_aws_creds.sh
│       │           │   │   ├── get_azure_creds.sh
│       │           │   │   ├── get_gcp_creds.sh
│       │           │   │   ├── get_koji_creds.sh
│       │           │   │   ├── get_ldap_sa_mtls_creds.sh
│       │           │   │   ├── get_oci_creds.sh
│       │           │   │   ├── offline_token.sh
│       │           │   │   ├── on_exit.sh
│       │           │   │   ├── set_executor_hostname.sh
│       │           │   │   ├── set_hostname.sh
│       │           │   │   ├── subscription_manager.sh
│       │           │   │   ├── vector.sh
│       │           │   │   ├── worker_config.sh
│       │           │   │   ├── worker_executor.sh
│       │           │   │   └── worker_service.sh
│       │           │   └── worker-initialization.service
│       │           └── tasks/
│       │               ├── main.yml
│       │               ├── packages.yml
│       │               ├── subscribe.yml
│       │               ├── unregister.yml
│       │               ├── worker-config.yml
│       │               └── worker-initialization-service.yml
│       ├── config.pkr.hcl
│       ├── variables.pkr.hcl
│       └── worker.pkr.hcl
├── test/
│   ├── README.md
│   ├── cases/
│   │   ├── api/
│   │   │   ├── aws.s3.sh
│   │   │   ├── aws.sh
│   │   │   ├── azure.sh
│   │   │   ├── bootc/
│   │   │   │   ├── container-iso.s3.sh
│   │   │   │   └── guest.s3.sh
│   │   │   ├── common/
│   │   │   │   ├── aws.sh
│   │   │   │   ├── bootc.sh
│   │   │   │   ├── common.sh
│   │   │   │   ├── executor.sh
│   │   │   │   ├── image-types.sh
│   │   │   │   ├── s3.sh
│   │   │   │   └── vsphere.sh
│   │   │   ├── container.registry.sh
│   │   │   ├── gcp.sh
│   │   │   ├── generic.s3.sh
│   │   │   └── oci.sh
│   │   ├── api-bootc-service.sh
│   │   ├── api-bootc.sh
│   │   ├── api.sh
│   │   ├── aws.sh
│   │   ├── aws_s3.sh
│   │   ├── azure.sh
│   │   ├── azure_hyperv_gen2.sh
│   │   ├── base_tests.sh
│   │   ├── cleanstore.sh
│   │   ├── container-embedding.sh
│   │   ├── container-upload.sh
│   │   ├── cross-distro.sh
│   │   ├── filesystem.sh
│   │   ├── gcp.sh
│   │   ├── generic_s3.sh
│   │   ├── generic_s3_http.sh
│   │   ├── generic_s3_https_insecure.sh
│   │   ├── generic_s3_https_secure.sh
│   │   ├── installers.sh
│   │   ├── koji.sh
│   │   ├── libvirt.sh
│   │   ├── minimal-raw.sh
│   │   ├── multi-tenancy.sh
│   │   ├── oci.sh
│   │   ├── openshift_virtualization.sh
│   │   ├── ostree-ami-image.sh
│   │   ├── ostree-ignition.sh
│   │   ├── ostree-iot-qcow2.sh
│   │   ├── ostree-ng.sh
│   │   ├── ostree-raw-image.sh
│   │   ├── ostree-simplified-installer.sh
│   │   ├── ostree-vsphere.sh
│   │   ├── ostree.sh
│   │   ├── regression-composer-works-behind-satellite-fallback.sh
│   │   ├── regression-composer-works-behind-satellite.sh
│   │   ├── regression-excluded-dependency.sh
│   │   ├── regression-include-excluded-packages.sh
│   │   ├── regression-insecure-repo.sh
│   │   ├── regression-no-explicit-rootfs-definition.sh
│   │   ├── regression-old-worker-new-composer.sh
│   │   ├── rhel-upgrade.sh
│   │   ├── shared_lib.sh
│   │   ├── vmware.sh
│   │   ├── weldr-distro-dot-notation-and-aliases.sh
│   │   ├── worker-executor-crash.sh
│   │   └── worker-executor.sh
│   └── data/
│       ├── ansible/
│       │   ├── check-minimal.yaml
│       │   ├── check_install.yaml
│       │   ├── check_ostree.yaml
│       │   └── check_ostree_nort.yaml
│       ├── azure/
│       │   └── deployment-template.json
│       ├── cloud-init/
│       │   ├── meta-data
│       │   └── user-data
│       ├── composer/
│       │   ├── osbuild-composer-jwt.toml
│       │   └── osbuild-composer-tls.toml
│       ├── kerberos/
│       │   └── krb5-local.conf
│       ├── keyring/
│       │   ├── id_rsa
│       │   └── id_rsa.pub
│       ├── koji/
│       │   └── koji.conf
│       ├── repositories/
│       │   ├── centos-stream-10.json
│       │   ├── centos-stream-9.json
│       │   ├── fedora-41.json
│       │   ├── fedora-42.json
│       │   ├── rhel-10.0.json
│       │   ├── rhel-10.1.json
│       │   ├── rhel-10.2.json
│       │   ├── rhel-10.3.json
│       │   ├── rhel-10.json
│       │   ├── rhel-8.10.json
│       │   ├── rhel-8.4.json
│       │   ├── rhel-8.5.json
│       │   ├── rhel-8.6.json
│       │   ├── rhel-8.7.json
│       │   ├── rhel-8.8.json
│       │   ├── rhel-8.9.json
│       │   ├── rhel-8.json
│       │   ├── rhel-9.0.json
│       │   ├── rhel-9.1.json
│       │   ├── rhel-9.2.json
│       │   ├── rhel-9.3.json
│       │   ├── rhel-9.4.json
│       │   ├── rhel-9.5.json
│       │   ├── rhel-9.6.json
│       │   ├── rhel-9.7.json
│       │   ├── rhel-9.8.json
│       │   ├── rhel-9.9.json
│       │   ├── rhel-9.json
│       │   └── test-distro-1.json
│       ├── rhel-upgrade/
│       │   ├── integration.xml
│       │   ├── upgrade_prepare.sh
│       │   └── upgrade_verify.sh
│       ├── testrepo/
│       │   ├── README.md
│       │   └── repodata/
│       │       └── repomd.xml
│       ├── worker/
│       │   ├── osbuild-worker-jwt.toml
│       │   └── osbuild-worker-tls.toml
│       └── x509/
│           └── openssl.cnf
├── tmt/
│   ├── plans/
│   │   └── edge-test.fmf
│   └── tests/
│       ├── edge-test.fmf
│       └── test.sh
├── tools/
│   ├── appsre-ansible/
│   │   └── rpmbuild.yml
│   ├── appsre-build-deploy.sh
│   ├── appsre-build-fedora-worker-packer.sh
│   ├── appsre-build-worker-packer.sh
│   ├── appsre-worker-packer-container.sh
│   ├── apt-install-deps.sh
│   ├── build-rpms.py
│   ├── check-runners
│   ├── check-snapshots
│   ├── ci-build-worker-packer.sh
│   ├── dbtest-entrypoint.sh
│   ├── dbtest-prepare-env.sh
│   ├── dbtest-run-migrations.sh
│   ├── define-compose-url.sh
│   ├── deploy/
│   │   └── test/
│   │       ├── files/
│   │       │   └── run/
│   │       │       └── provision-scripts/
│   │       │           └── deploy.sh
│   │       └── user-data.yml
│   ├── deploy-openstack
│   ├── deploy-qemu
│   ├── gen-certs.sh
│   ├── gen-ssh.sh
│   ├── gen-user-data
│   ├── generic_s3_https_test.sh
│   ├── generic_s3_test.sh
│   ├── koji-compose.py
│   ├── libvirt_test.sh
│   ├── prepare-source.sh
│   ├── provision.sh
│   ├── rpm_spec_add_provides_bundle.sh
│   ├── rpm_spec_vendor2provides
│   ├── run-koji-container.sh
│   ├── run-mock-auth-servers.sh
│   ├── s3_test.sh
│   ├── set-env-variables.sh
│   └── update-distgit.py
└── vendor/
    ├── cel.dev/
    │   └── expr/
    │       ├── .bazelversion
    │       ├── .gitattributes
    │       ├── .gitignore
    │       ├── BUILD.bazel
    │       ├── CODE_OF_CONDUCT.md
    │       ├── CONTRIBUTING.md
    │       ├── GOVERNANCE.md
    │       ├── LICENSE
    │       ├── MAINTAINERS.md
    │       ├── MODULE.bazel
    │       ├── README.md
    │       ├── WORKSPACE
    │       ├── WORKSPACE.bzlmod
    │       ├── checked.pb.go
    │       ├── cloudbuild.yaml
    │       ├── eval.pb.go
    │       ├── explain.pb.go
    │       ├── regen_go_proto.sh
    │       ├── regen_go_proto_canonical_protos.sh
    │       ├── syntax.pb.go
    │       └── value.pb.go
    ├── cloud.google.com/
    │   └── go/
    │       ├── LICENSE
    │       ├── auth/
    │       │   ├── CHANGES.md
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── auth.go
    │       │   ├── credentials/
    │       │   │   ├── compute.go
    │       │   │   ├── detect.go
    │       │   │   ├── doc.go
    │       │   │   ├── filetypes.go
    │       │   │   ├── internal/
    │       │   │   │   ├── externalaccount/
    │       │   │   │   │   ├── aws_provider.go
    │       │   │   │   │   ├── executable_provider.go
    │       │   │   │   │   ├── externalaccount.go
    │       │   │   │   │   ├── file_provider.go
    │       │   │   │   │   ├── info.go
    │       │   │   │   │   ├── programmatic_provider.go
    │       │   │   │   │   ├── url_provider.go
    │       │   │   │   │   └── x509_provider.go
    │       │   │   │   ├── externalaccountuser/
    │       │   │   │   │   └── externalaccountuser.go
    │       │   │   │   ├── gdch/
    │       │   │   │   │   └── gdch.go
    │       │   │   │   ├── impersonate/
    │       │   │   │   │   ├── idtoken.go
    │       │   │   │   │   └── impersonate.go
    │       │   │   │   └── stsexchange/
    │       │   │   │       └── sts_exchange.go
    │       │   │   └── selfsignedjwt.go
    │       │   ├── grpctransport/
    │       │   │   ├── dial_socketopt.go
    │       │   │   ├── directpath.go
    │       │   │   ├── grpctransport.go
    │       │   │   └── pool.go
    │       │   ├── httptransport/
    │       │   │   ├── httptransport.go
    │       │   │   └── transport.go
    │       │   ├── internal/
    │       │   │   ├── compute/
    │       │   │   │   ├── compute.go
    │       │   │   │   ├── manufacturer.go
    │       │   │   │   ├── manufacturer_linux.go
    │       │   │   │   └── manufacturer_windows.go
    │       │   │   ├── credsfile/
    │       │   │   │   ├── credsfile.go
    │       │   │   │   ├── filetype.go
    │       │   │   │   └── parse.go
    │       │   │   ├── internal.go
    │       │   │   ├── jwt/
    │       │   │   │   └── jwt.go
    │       │   │   ├── retry/
    │       │   │   │   └── retry.go
    │       │   │   ├── transport/
    │       │   │   │   ├── cba.go
    │       │   │   │   ├── cert/
    │       │   │   │   │   ├── default_cert.go
    │       │   │   │   │   ├── enterprise_cert.go
    │       │   │   │   │   ├── secureconnect_cert.go
    │       │   │   │   │   └── workload_cert.go
    │       │   │   │   ├── headers/
    │       │   │   │   │   └── headers.go
    │       │   │   │   ├── s2a.go
    │       │   │   │   └── transport.go
    │       │   │   ├── trustboundary/
    │       │   │   │   ├── external_accounts_config_providers.go
    │       │   │   │   └── trust_boundary.go
    │       │   │   └── version.go
    │       │   ├── oauth2adapt/
    │       │   │   ├── CHANGES.md
    │       │   │   ├── LICENSE
    │       │   │   └── oauth2adapt.go
    │       │   └── threelegged.go
    │       ├── compute/
    │       │   ├── LICENSE
    │       │   ├── apiv1/
    │       │   │   ├── .repo-metadata.json
    │       │   │   ├── accelerator_types_client.go
    │       │   │   ├── addresses_client.go
    │       │   │   ├── advice_client.go
    │       │   │   ├── autoscalers_client.go
    │       │   │   ├── auxiliary.go
    │       │   │   ├── auxiliary_go123.go
    │       │   │   ├── backend_buckets_client.go
    │       │   │   ├── backend_services_client.go
    │       │   │   ├── computepb/
    │       │   │   │   ├── compute.pb.go
    │       │   │   │   └── compute_grpc.pb.go
    │       │   │   ├── cross_site_networks_client.go
    │       │   │   ├── disk_types_client.go
    │       │   │   ├── disks_client.go
    │       │   │   ├── doc.go
    │       │   │   ├── external_vpn_gateways_client.go
    │       │   │   ├── firewall_policies_client.go
    │       │   │   ├── firewalls_client.go
    │       │   │   ├── forwarding_rules_client.go
    │       │   │   ├── future_reservations_client.go
    │       │   │   ├── gapic_metadata.json
    │       │   │   ├── global_addresses_client.go
    │       │   │   ├── global_forwarding_rules_client.go
    │       │   │   ├── global_network_endpoint_groups_client.go
    │       │   │   ├── global_operations_client.go
    │       │   │   ├── global_organization_operations_client.go
    │       │   │   ├── global_public_delegated_prefixes_client.go
    │       │   │   ├── health_checks_client.go
    │       │   │   ├── helpers.go
    │       │   │   ├── image_family_views_client.go
    │       │   │   ├── images_client.go
    │       │   │   ├── instance_group_manager_resize_requests_client.go
    │       │   │   ├── instance_group_managers_client.go
    │       │   │   ├── instance_groups_client.go
    │       │   │   ├── instance_settings_client.go
    │       │   │   ├── instance_templates_client.go
    │       │   │   ├── instances_client.go
    │       │   │   ├── instant_snapshots_client.go
    │       │   │   ├── interconnect_attachment_groups_client.go
    │       │   │   ├── interconnect_attachments_client.go
    │       │   │   ├── interconnect_groups_client.go
    │       │   │   ├── interconnect_locations_client.go
    │       │   │   ├── interconnect_remote_locations_client.go
    │       │   │   ├── interconnects_client.go
    │       │   │   ├── license_codes_client.go
    │       │   │   ├── licenses_client.go
    │       │   │   ├── machine_images_client.go
    │       │   │   ├── machine_types_client.go
    │       │   │   ├── network_attachments_client.go
    │       │   │   ├── network_edge_security_services_client.go
    │       │   │   ├── network_endpoint_groups_client.go
    │       │   │   ├── network_firewall_policies_client.go
    │       │   │   ├── network_profiles_client.go
    │       │   │   ├── networks_client.go
    │       │   │   ├── node_groups_client.go
    │       │   │   ├── node_templates_client.go
    │       │   │   ├── node_types_client.go
    │       │   │   ├── operations.go
    │       │   │   ├── organization_security_policies_client.go
    │       │   │   ├── packet_mirrorings_client.go
    │       │   │   ├── preview_features_client.go
    │       │   │   ├── projects_client.go
    │       │   │   ├── public_advertised_prefixes_client.go
    │       │   │   ├── public_delegated_prefixes_client.go
    │       │   │   ├── region_autoscalers_client.go
    │       │   │   ├── region_backend_services_client.go
    │       │   │   ├── region_commitments_client.go
    │       │   │   ├── region_disk_types_client.go
    │       │   │   ├── region_disks_client.go
    │       │   │   ├── region_health_check_services_client.go
    │       │   │   ├── region_health_checks_client.go
    │       │   │   ├── region_instance_group_managers_client.go
    │       │   │   ├── region_instance_groups_client.go
    │       │   │   ├── region_instance_templates_client.go
    │       │   │   ├── region_instances_client.go
    │       │   │   ├── region_instant_snapshots_client.go
    │       │   │   ├── region_network_endpoint_groups_client.go
    │       │   │   ├── region_network_firewall_policies_client.go
    │       │   │   ├── region_notification_endpoints_client.go
    │       │   │   ├── region_operations_client.go
    │       │   │   ├── region_security_policies_client.go
    │       │   │   ├── region_ssl_certificates_client.go
    │       │   │   ├── region_ssl_policies_client.go
    │       │   │   ├── region_target_http_proxies_client.go
    │       │   │   ├── region_target_https_proxies_client.go
    │       │   │   ├── region_target_tcp_proxies_client.go
    │       │   │   ├── region_url_maps_client.go
    │       │   │   ├── region_zones_client.go
    │       │   │   ├── regions_client.go
    │       │   │   ├── reservation_blocks_client.go
    │       │   │   ├── reservation_sub_blocks_client.go
    │       │   │   ├── reservations_client.go
    │       │   │   ├── resource_policies_client.go
    │       │   │   ├── routers_client.go
    │       │   │   ├── routes_client.go
    │       │   │   ├── security_policies_client.go
    │       │   │   ├── service_attachments_client.go
    │       │   │   ├── snapshot_settings_client.go
    │       │   │   ├── snapshots_client.go
    │       │   │   ├── ssl_certificates_client.go
    │       │   │   ├── ssl_policies_client.go
    │       │   │   ├── storage_pool_types_client.go
    │       │   │   ├── storage_pools_client.go
    │       │   │   ├── subnetworks_client.go
    │       │   │   ├── target_grpc_proxies_client.go
    │       │   │   ├── target_http_proxies_client.go
    │       │   │   ├── target_https_proxies_client.go
    │       │   │   ├── target_instances_client.go
    │       │   │   ├── target_pools_client.go
    │       │   │   ├── target_ssl_proxies_client.go
    │       │   │   ├── target_tcp_proxies_client.go
    │       │   │   ├── target_vpn_gateways_client.go
    │       │   │   ├── url_maps_client.go
    │       │   │   ├── version.go
    │       │   │   ├── vpn_gateways_client.go
    │       │   │   ├── vpn_tunnels_client.go
    │       │   │   ├── wire_groups_client.go
    │       │   │   ├── zone_operations_client.go
    │       │   │   └── zones_client.go
    │       │   ├── internal/
    │       │   │   └── version.go
    │       │   └── metadata/
    │       │       ├── CHANGES.md
    │       │       ├── LICENSE
    │       │       ├── README.md
    │       │       ├── log.go
    │       │       ├── metadata.go
    │       │       ├── retry.go
    │       │       ├── retry_linux.go
    │       │       ├── syscheck.go
    │       │       ├── syscheck_linux.go
    │       │       └── syscheck_windows.go
    │       ├── iam/
    │       │   ├── CHANGES.md
    │       │   ├── LICENSE
    │       │   ├── README.md
    │       │   ├── apiv1/
    │       │   │   └── iampb/
    │       │   │       ├── iam_policy.pb.go
    │       │   │       ├── iam_policy_grpc.pb.go
    │       │   │       ├── options.pb.go
    │       │   │       ├── policy.pb.go
    │       │   │       └── resource_policy_member.pb.go
    │       │   └── iam.go
    │       ├── internal/
    │       │   ├── .repo-metadata-full.json
    │       │   ├── README.md
    │       │   ├── annotate.go
    │       │   ├── gen_info.sh
    │       │   ├── optional/
    │       │   │   └── optional.go
    │       │   ├── retry.go
    │       │   ├── trace/
    │       │   │   └── trace.go
    │       │   └── version/
    │       │       ├── update_version.sh
    │       │       └── version.go
    │       ├── monitoring/
    │       │   ├── LICENSE
    │       │   ├── apiv3/
    │       │   │   └── v2/
    │       │   │       ├── alert_policy_client.go
    │       │   │       ├── auxiliary.go
    │       │   │       ├── auxiliary_go123.go
    │       │   │       ├── doc.go
    │       │   │       ├── gapic_metadata.json
    │       │   │       ├── group_client.go
    │       │   │       ├── helpers.go
    │       │   │       ├── metric_client.go
    │       │   │       ├── monitoringpb/
    │       │   │       │   ├── alert.pb.go
    │       │   │       │   ├── alert_service.pb.go
    │       │   │       │   ├── alert_service_grpc.pb.go
    │       │   │       │   ├── common.pb.go
    │       │   │       │   ├── dropped_labels.pb.go
    │       │   │       │   ├── group.pb.go
    │       │   │       │   ├── group_service.pb.go
    │       │   │       │   ├── group_service_grpc.pb.go
    │       │   │       │   ├── metric.pb.go
    │       │   │       │   ├── metric_service.pb.go
    │       │   │       │   ├── metric_service_grpc.pb.go
    │       │   │       │   ├── mutation_record.pb.go
    │       │   │       │   ├── notification.pb.go
    │       │   │       │   ├── notification_service.pb.go
    │       │   │       │   ├── notification_service_grpc.pb.go
    │       │   │       │   ├── query_service.pb.go
    │       │   │       │   ├── query_service_grpc.pb.go
    │       │   │       │   ├── service.pb.go
    │       │   │       │   ├── service_service.pb.go
    │       │   │       │   ├── service_service_grpc.pb.go
    │       │   │       │   ├── snooze.pb.go
    │       │   │       │   ├── snooze_service.pb.go
    │       │   │       │   ├── snooze_service_grpc.pb.go
    │       │   │       │   ├── span_context.pb.go
    │       │   │       │   ├── uptime.pb.go
    │       │   │       │   ├── uptime_service.pb.go
    │       │   │       │   └── uptime_service_grpc.pb.go
    │       │   │       ├── notification_channel_client.go
    │       │   │       ├── query_client.go
    │       │   │       ├── service_monitoring_client.go
    │       │   │       ├── snooze_client.go
    │       │   │       ├── uptime_check_client.go
    │       │   │       └── version.go
    │       │   └── internal/
    │       │       └── version.go
    │       └── storage/
    │           ├── CHANGES.md
    │           ├── LICENSE
    │           ├── README.md
    │           ├── TESTING.md
    │           ├── acl.go
    │           ├── bucket.go
    │           ├── client.go
    │           ├── copy.go
    │           ├── doc.go
    │           ├── dynamic_delay.go
    │           ├── emulator_test.sh
    │           ├── experimental/
    │           │   └── experimental.go
    │           ├── grpc_client.go
    │           ├── grpc_dp.go
    │           ├── grpc_metrics.go
    │           ├── grpc_reader.go
    │           ├── grpc_reader_multi_range.go
    │           ├── grpc_writer.go
    │           ├── hmac.go
    │           ├── http_client.go
    │           ├── iam.go
    │           ├── internal/
    │           │   ├── apiv2/
    │           │   │   ├── auxiliary.go
    │           │   │   ├── auxiliary_go123.go
    │           │   │   ├── doc.go
    │           │   │   ├── gapic_metadata.json
    │           │   │   ├── helpers.go
    │           │   │   ├── storage_client.go
    │           │   │   ├── storagepb/
    │           │   │   │   └── storage.pb.go
    │           │   │   └── version.go
    │           │   ├── experimental.go
    │           │   └── version.go
    │           ├── invoke.go
    │           ├── notifications.go
    │           ├── option.go
    │           ├── post_policy_v4.go
    │           ├── reader.go
    │           ├── storage.go
    │           ├── storage.replay
    │           ├── trace.go
    │           └── writer.go
    ├── dario.cat/
    │   └── mergo/
    │       ├── .deepsource.toml
    │       ├── .gitignore
    │       ├── .travis.yml
    │       ├── CODE_OF_CONDUCT.md
    │       ├── CONTRIBUTING.md
    │       ├── FUNDING.json
    │       ├── LICENSE
    │       ├── README.md
    │       ├── SECURITY.md
    │       ├── doc.go
    │       ├── map.go
    │       ├── merge.go
    │       └── mergo.go
    ├── github.com/
    │   ├── Azure/
    │   │   └── azure-sdk-for-go/
    │   │       └── sdk/
    │   │           ├── azcore/
    │   │           │   ├── CHANGELOG.md
    │   │           │   ├── LICENSE.txt
    │   │           │   ├── README.md
    │   │           │   ├── arm/
    │   │           │   │   ├── client.go
    │   │           │   │   ├── doc.go
    │   │           │   │   ├── internal/
    │   │           │   │   │   └── resource/
    │   │           │   │   │       ├── resource_identifier.go
    │   │           │   │   │       └── resource_type.go
    │   │           │   │   ├── policy/
    │   │           │   │   │   └── policy.go
    │   │           │   │   ├── resource_identifier.go
    │   │           │   │   ├── resource_type.go
    │   │           │   │   └── runtime/
    │   │           │   │       ├── pipeline.go
    │   │           │   │       ├── policy_bearer_token.go
    │   │           │   │       ├── policy_register_rp.go
    │   │           │   │       ├── policy_trace_namespace.go
    │   │           │   │       └── runtime.go
    │   │           │   ├── ci.yml
    │   │           │   ├── cloud/
    │   │           │   │   ├── cloud.go
    │   │           │   │   └── doc.go
    │   │           │   ├── core.go
    │   │           │   ├── doc.go
    │   │           │   ├── errors.go
    │   │           │   ├── etag.go
    │   │           │   ├── internal/
    │   │           │   │   ├── exported/
    │   │           │   │   │   ├── exported.go
    │   │           │   │   │   ├── pipeline.go
    │   │           │   │   │   ├── request.go
    │   │           │   │   │   └── response_error.go
    │   │           │   │   ├── log/
    │   │           │   │   │   └── log.go
    │   │           │   │   ├── pollers/
    │   │           │   │   │   ├── async/
    │   │           │   │   │   │   └── async.go
    │   │           │   │   │   ├── body/
    │   │           │   │   │   │   └── body.go
    │   │           │   │   │   ├── fake/
    │   │           │   │   │   │   └── fake.go
    │   │           │   │   │   ├── loc/
    │   │           │   │   │   │   └── loc.go
    │   │           │   │   │   ├── op/
    │   │           │   │   │   │   └── op.go
    │   │           │   │   │   ├── poller.go
    │   │           │   │   │   └── util.go
    │   │           │   │   └── shared/
    │   │           │   │       ├── constants.go
    │   │           │   │       └── shared.go
    │   │           │   ├── log/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── log.go
    │   │           │   ├── policy/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── policy.go
    │   │           │   ├── runtime/
    │   │           │   │   ├── doc.go
    │   │           │   │   ├── errors.go
    │   │           │   │   ├── pager.go
    │   │           │   │   ├── pipeline.go
    │   │           │   │   ├── policy_api_version.go
    │   │           │   │   ├── policy_bearer_token.go
    │   │           │   │   ├── policy_body_download.go
    │   │           │   │   ├── policy_http_header.go
    │   │           │   │   ├── policy_http_trace.go
    │   │           │   │   ├── policy_include_response.go
    │   │           │   │   ├── policy_key_credential.go
    │   │           │   │   ├── policy_logging.go
    │   │           │   │   ├── policy_request_id.go
    │   │           │   │   ├── policy_retry.go
    │   │           │   │   ├── policy_sas_credential.go
    │   │           │   │   ├── policy_telemetry.go
    │   │           │   │   ├── poller.go
    │   │           │   │   ├── request.go
    │   │           │   │   ├── response.go
    │   │           │   │   ├── transport_default_dialer_other.go
    │   │           │   │   ├── transport_default_dialer_wasm.go
    │   │           │   │   └── transport_default_http_client.go
    │   │           │   ├── streaming/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── progress.go
    │   │           │   ├── to/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── to.go
    │   │           │   └── tracing/
    │   │           │       ├── constants.go
    │   │           │       └── tracing.go
    │   │           ├── azidentity/
    │   │           │   ├── .gitignore
    │   │           │   ├── BREAKING_CHANGES.md
    │   │           │   ├── CHANGELOG.md
    │   │           │   ├── LICENSE.txt
    │   │           │   ├── MIGRATION.md
    │   │           │   ├── README.md
    │   │           │   ├── TOKEN_CACHING.MD
    │   │           │   ├── TROUBLESHOOTING.md
    │   │           │   ├── assets.json
    │   │           │   ├── authentication_record.go
    │   │           │   ├── azidentity.go
    │   │           │   ├── azure_cli_credential.go
    │   │           │   ├── azure_developer_cli_credential.go
    │   │           │   ├── azure_pipelines_credential.go
    │   │           │   ├── chained_token_credential.go
    │   │           │   ├── ci.yml
    │   │           │   ├── client_assertion_credential.go
    │   │           │   ├── client_certificate_credential.go
    │   │           │   ├── client_secret_credential.go
    │   │           │   ├── confidential_client.go
    │   │           │   ├── default_azure_credential.go
    │   │           │   ├── developer_credential_util.go
    │   │           │   ├── device_code_credential.go
    │   │           │   ├── environment_credential.go
    │   │           │   ├── errors.go
    │   │           │   ├── go.work
    │   │           │   ├── interactive_browser_credential.go
    │   │           │   ├── internal/
    │   │           │   │   └── cache.go
    │   │           │   ├── logging.go
    │   │           │   ├── managed-identity-matrix.json
    │   │           │   ├── managed_identity_client.go
    │   │           │   ├── managed_identity_credential.go
    │   │           │   ├── on_behalf_of_credential.go
    │   │           │   ├── public_client.go
    │   │           │   ├── test-resources-post.ps1
    │   │           │   ├── test-resources-pre.ps1
    │   │           │   ├── test-resources.bicep
    │   │           │   ├── username_password_credential.go
    │   │           │   ├── version.go
    │   │           │   └── workload_identity.go
    │   │           ├── internal/
    │   │           │   ├── LICENSE.txt
    │   │           │   ├── diag/
    │   │           │   │   ├── diag.go
    │   │           │   │   └── doc.go
    │   │           │   ├── errorinfo/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── errorinfo.go
    │   │           │   ├── exported/
    │   │           │   │   └── exported.go
    │   │           │   ├── log/
    │   │           │   │   ├── doc.go
    │   │           │   │   └── log.go
    │   │           │   ├── poller/
    │   │           │   │   └── util.go
    │   │           │   ├── temporal/
    │   │           │   │   └── resource.go
    │   │           │   └── uuid/
    │   │           │       ├── doc.go
    │   │           │       └── uuid.go
    │   │           ├── resourcemanager/
    │   │           │   ├── compute/
    │   │           │   │   └── armcompute/
    │   │           │   │       └── v5/
    │   │           │   │           ├── CHANGELOG.md
    │   │           │   │           ├── LICENSE.txt
    │   │           │   │           ├── README.md
    │   │           │   │           ├── assets.json
    │   │           │   │           ├── autorest.md
    │   │           │   │           ├── availabilitysets_client.go
    │   │           │   │           ├── build.go
    │   │           │   │           ├── capacityreservationgroups_client.go
    │   │           │   │           ├── capacityreservations_client.go
    │   │           │   │           ├── ci.yml
    │   │           │   │           ├── client_factory.go
    │   │           │   │           ├── cloudserviceoperatingsystems_client.go
    │   │           │   │           ├── cloudserviceroleinstances_client.go
    │   │           │   │           ├── cloudserviceroles_client.go
    │   │           │   │           ├── cloudservices_client.go
    │   │           │   │           ├── cloudservicesupdatedomain_client.go
    │   │           │   │           ├── communitygalleries_client.go
    │   │           │   │           ├── communitygalleryimages_client.go
    │   │           │   │           ├── communitygalleryimageversions_client.go
    │   │           │   │           ├── constants.go
    │   │           │   │           ├── dedicatedhostgroups_client.go
    │   │           │   │           ├── dedicatedhosts_client.go
    │   │           │   │           ├── diskaccesses_client.go
    │   │           │   │           ├── diskencryptionsets_client.go
    │   │           │   │           ├── diskrestorepoint_client.go
    │   │           │   │           ├── disks_client.go
    │   │           │   │           ├── galleries_client.go
    │   │           │   │           ├── galleryapplications_client.go
    │   │           │   │           ├── galleryapplicationversions_client.go
    │   │           │   │           ├── galleryimages_client.go
    │   │           │   │           ├── galleryimageversions_client.go
    │   │           │   │           ├── gallerysharingprofile_client.go
    │   │           │   │           ├── images_client.go
    │   │           │   │           ├── loganalytics_client.go
    │   │           │   │           ├── models.go
    │   │           │   │           ├── models_serde.go
    │   │           │   │           ├── operations_client.go
    │   │           │   │           ├── options.go
    │   │           │   │           ├── proximityplacementgroups_client.go
    │   │           │   │           ├── resourceskus_client.go
    │   │           │   │           ├── responses.go
    │   │           │   │           ├── restorepointcollections_client.go
    │   │           │   │           ├── restorepoints_client.go
    │   │           │   │           ├── sharedgalleries_client.go
    │   │           │   │           ├── sharedgalleryimages_client.go
    │   │           │   │           ├── sharedgalleryimageversions_client.go
    │   │           │   │           ├── snapshots_client.go
    │   │           │   │           ├── sshpublickeys_client.go
    │   │           │   │           ├── time_rfc3339.go
    │   │           │   │           ├── usage_client.go
    │   │           │   │           ├── virtualmachineextensionimages_client.go
    │   │           │   │           ├── virtualmachineextensions_client.go
    │   │           │   │           ├── virtualmachineimages_client.go
    │   │           │   │           ├── virtualmachineimagesedgezone_client.go
    │   │           │   │           ├── virtualmachineruncommands_client.go
    │   │           │   │           ├── virtualmachines_client.go
    │   │           │   │           ├── virtualmachinescalesetextensions_client.go
    │   │           │   │           ├── virtualmachinescalesetrollingupgrades_client.go
    │   │           │   │           ├── virtualmachinescalesets_client.go
    │   │           │   │           ├── virtualmachinescalesetvmextensions_client.go
    │   │           │   │           ├── virtualmachinescalesetvmruncommands_client.go
    │   │           │   │           ├── virtualmachinescalesetvms_client.go
    │   │           │   │           └── virtualmachinesizes_client.go
    │   │           │   ├── network/
    │   │           │   │   └── armnetwork/
    │   │           │   │       └── v7/
    │   │           │   │           ├── CHANGELOG.md
    │   │           │   │           ├── LICENSE.txt
    │   │           │   │           ├── README.md
    │   │           │   │           ├── adminrulecollections_client.go
    │   │           │   │           ├── adminrules_client.go
    │   │           │   │           ├── applicationgatewayprivateendpointconnections_client.go
    │   │           │   │           ├── applicationgatewayprivatelinkresources_client.go
    │   │           │   │           ├── applicationgateways_client.go
    │   │           │   │           ├── applicationgatewaywafdynamicmanifests_client.go
    │   │           │   │           ├── applicationgatewaywafdynamicmanifestsdefault_client.go
    │   │           │   │           ├── applicationsecuritygroups_client.go
    │   │           │   │           ├── assets.json
    │   │           │   │           ├── autorest.md
    │   │           │   │           ├── availabledelegations_client.go
    │   │           │   │           ├── availableendpointservices_client.go
    │   │           │   │           ├── availableprivateendpointtypes_client.go
    │   │           │   │           ├── availableresourcegroupdelegations_client.go
    │   │           │   │           ├── availableservicealiases_client.go
    │   │           │   │           ├── azurefirewallfqdntags_client.go
    │   │           │   │           ├── azurefirewalls_client.go
    │   │           │   │           ├── bastionhosts_client.go
    │   │           │   │           ├── bgpservicecommunities_client.go
    │   │           │   │           ├── build.go
    │   │           │   │           ├── ci.yml
    │   │           │   │           ├── client_factory.go
    │   │           │   │           ├── configurationpolicygroups_client.go
    │   │           │   │           ├── connectionmonitors_client.go
    │   │           │   │           ├── connectivityconfigurations_client.go
    │   │           │   │           ├── constants.go
    │   │           │   │           ├── customipprefixes_client.go
    │   │           │   │           ├── ddoscustompolicies_client.go
    │   │           │   │           ├── ddosprotectionplans_client.go
    │   │           │   │           ├── defaultsecurityrules_client.go
    │   │           │   │           ├── dscpconfiguration_client.go
    │   │           │   │           ├── expressroutecircuitauthorizations_client.go
    │   │           │   │           ├── expressroutecircuitconnections_client.go
    │   │           │   │           ├── expressroutecircuitpeerings_client.go
    │   │           │   │           ├── expressroutecircuits_client.go
    │   │           │   │           ├── expressrouteconnections_client.go
    │   │           │   │           ├── expressroutecrossconnectionpeerings_client.go
    │   │           │   │           ├── expressroutecrossconnections_client.go
    │   │           │   │           ├── expressroutegateways_client.go
    │   │           │   │           ├── expressroutelinks_client.go
    │   │           │   │           ├── expressrouteportauthorizations_client.go
    │   │           │   │           ├── expressrouteports_client.go
    │   │           │   │           ├── expressrouteportslocations_client.go
    │   │           │   │           ├── expressrouteproviderportslocation_client.go
    │   │           │   │           ├── expressrouteserviceproviders_client.go
    │   │           │   │           ├── firewallpolicies_client.go
    │   │           │   │           ├── firewallpolicydeployments_client.go
    │   │           │   │           ├── firewallpolicydrafts_client.go
    │   │           │   │           ├── firewallpolicyidpssignatures_client.go
    │   │           │   │           ├── firewallpolicyidpssignaturesfiltervalues_client.go
    │   │           │   │           ├── firewallpolicyidpssignaturesoverrides_client.go
    │   │           │   │           ├── firewallpolicyrulecollectiongroupdrafts_client.go
    │   │           │   │           ├── firewallpolicyrulecollectiongroups_client.go
    │   │           │   │           ├── flowlogs_client.go
    │   │           │   │           ├── groups_client.go
    │   │           │   │           ├── hubroutetables_client.go
    │   │           │   │           ├── hubvirtualnetworkconnections_client.go
    │   │           │   │           ├── inboundnatrules_client.go
    │   │           │   │           ├── inboundsecurityrule_client.go
    │   │           │   │           ├── interfaceipconfigurations_client.go
    │   │           │   │           ├── interfaceloadbalancers_client.go
    │   │           │   │           ├── interfaces.go
    │   │           │   │           ├── interfaces_client.go
    │   │           │   │           ├── interfacetapconfigurations_client.go
    │   │           │   │           ├── ipallocations_client.go
    │   │           │   │           ├── ipampools_client.go
    │   │           │   │           ├── ipgroups_client.go
    │   │           │   │           ├── loadbalancerbackendaddresspools_client.go
    │   │           │   │           ├── loadbalancerfrontendipconfigurations_client.go
    │   │           │   │           ├── loadbalancerloadbalancingrules_client.go
    │   │           │   │           ├── loadbalancernetworkinterfaces_client.go
    │   │           │   │           ├── loadbalanceroutboundrules_client.go
    │   │           │   │           ├── loadbalancerprobes_client.go
    │   │           │   │           ├── loadbalancers_client.go
    │   │           │   │           ├── localnetworkgateways_client.go
    │   │           │   │           ├── management_client.go
    │   │           │   │           ├── managementgroupnetworkmanagerconnections_client.go
    │   │           │   │           ├── managercommits_client.go
    │   │           │   │           ├── managerdeploymentstatus_client.go
    │   │           │   │           ├── managerroutingconfigurations_client.go
    │   │           │   │           ├── managers_client.go
    │   │           │   │           ├── models.go
    │   │           │   │           ├── models_serde.go
    │   │           │   │           ├── natgateways_client.go
    │   │           │   │           ├── natrules_client.go
    │   │           │   │           ├── operations_client.go
    │   │           │   │           ├── options.go
    │   │           │   │           ├── p2svpngateways_client.go
    │   │           │   │           ├── packetcaptures_client.go
    │   │           │   │           ├── peerexpressroutecircuitconnections_client.go
    │   │           │   │           ├── polymorphic_helpers.go
    │   │           │   │           ├── privatednszonegroups_client.go
    │   │           │   │           ├── privateendpoints_client.go
    │   │           │   │           ├── privatelinkservices_client.go
    │   │           │   │           ├── profiles_client.go
    │   │           │   │           ├── publicipaddresses_client.go
    │   │           │   │           ├── publicipprefixes_client.go
    │   │           │   │           ├── reachabilityanalysisintents_client.go
    │   │           │   │           ├── reachabilityanalysisruns_client.go
    │   │           │   │           ├── resourcenavigationlinks_client.go
    │   │           │   │           ├── responses.go
    │   │           │   │           ├── responses_serde.go
    │   │           │   │           ├── routefilterrules_client.go
    │   │           │   │           ├── routefilters_client.go
    │   │           │   │           ├── routemaps_client.go
    │   │           │   │           ├── routes_client.go
    │   │           │   │           ├── routetables_client.go
    │   │           │   │           ├── routingintent_client.go
    │   │           │   │           ├── routingrulecollections_client.go
    │   │           │   │           ├── routingrules_client.go
    │   │           │   │           ├── scopeconnections_client.go
    │   │           │   │           ├── securityadminconfigurations_client.go
    │   │           │   │           ├── securitygroups_client.go
    │   │           │   │           ├── securitypartnerproviders_client.go
    │   │           │   │           ├── securityperimeteraccessrules_client.go
    │   │           │   │           ├── securityperimeterassociableresourcetypes_client.go
    │   │           │   │           ├── securityperimeterassociations_client.go
    │   │           │   │           ├── securityperimeterlinkreferences_client.go
    │   │           │   │           ├── securityperimeterlinks_client.go
    │   │           │   │           ├── securityperimeterloggingconfigurations_client.go
    │   │           │   │           ├── securityperimeteroperationstatuses_client.go
    │   │           │   │           ├── securityperimeterprofiles_client.go
    │   │           │   │           ├── securityperimeters_client.go
    │   │           │   │           ├── securityrules_client.go
    │   │           │   │           ├── securityuserconfigurations_client.go
    │   │           │   │           ├── securityuserrulecollections_client.go
    │   │           │   │           ├── securityuserrules_client.go
    │   │           │   │           ├── serviceassociationlinks_client.go
    │   │           │   │           ├── serviceendpointpolicies_client.go
    │   │           │   │           ├── serviceendpointpolicydefinitions_client.go
    │   │           │   │           ├── servicetaginformation_client.go
    │   │           │   │           ├── servicetags_client.go
    │   │           │   │           ├── staticcidrs_client.go
    │   │           │   │           ├── staticmembers_client.go
    │   │           │   │           ├── subnets_client.go
    │   │           │   │           ├── subscriptionnetworkmanagerconnections_client.go
    │   │           │   │           ├── time_rfc3339.go
    │   │           │   │           ├── usages_client.go
    │   │           │   │           ├── verifierworkspaces_client.go
    │   │           │   │           ├── vipswap_client.go
    │   │           │   │           ├── virtualapplianceconnections_client.go
    │   │           │   │           ├── virtualappliances_client.go
    │   │           │   │           ├── virtualappliancesites_client.go
    │   │           │   │           ├── virtualapplianceskus_client.go
    │   │           │   │           ├── virtualhubbgpconnection_client.go
    │   │           │   │           ├── virtualhubbgpconnections_client.go
    │   │           │   │           ├── virtualhubipconfiguration_client.go
    │   │           │   │           ├── virtualhubroutetablev2s_client.go
    │   │           │   │           ├── virtualhubs_client.go
    │   │           │   │           ├── virtualnetworkgatewayconnections_client.go
    │   │           │   │           ├── virtualnetworkgatewaynatrules_client.go
    │   │           │   │           ├── virtualnetworkgateways_client.go
    │   │           │   │           ├── virtualnetworkpeerings_client.go
    │   │           │   │           ├── virtualnetworks_client.go
    │   │           │   │           ├── virtualnetworktaps_client.go
    │   │           │   │           ├── virtualrouterpeerings_client.go
    │   │           │   │           ├── virtualrouters_client.go
    │   │           │   │           ├── virtualwans_client.go
    │   │           │   │           ├── vpnconnections_client.go
    │   │           │   │           ├── vpngateways_client.go
    │   │           │   │           ├── vpnlinkconnections_client.go
    │   │           │   │           ├── vpnserverconfigurations_client.go
    │   │           │   │           ├── vpnserverconfigurationsassociatedwithvirtualwan_client.go
    │   │           │   │           ├── vpnsitelinkconnections_client.go
    │   │           │   │           ├── vpnsitelinks_client.go
    │   │           │   │           ├── vpnsites_client.go
    │   │           │   │           ├── vpnsitesconfiguration_client.go
    │   │           │   │           ├── watchers_client.go
    │   │           │   │           ├── webapplicationfirewallpolicies_client.go
    │   │           │   │           └── webcategories_client.go
    │   │           │   ├── resources/
    │   │           │   │   └── armresources/
    │   │           │   │       ├── CHANGELOG.md
    │   │           │   │       ├── LICENSE.txt
    │   │           │   │       ├── README.md
    │   │           │   │       ├── assets.json
    │   │           │   │       ├── autorest.md
    │   │           │   │       ├── build.go
    │   │           │   │       ├── ci.yml
    │   │           │   │       ├── client.go
    │   │           │   │       ├── client_factory.go
    │   │           │   │       ├── constants.go
    │   │           │   │       ├── deploymentoperations_client.go
    │   │           │   │       ├── deployments_client.go
    │   │           │   │       ├── models.go
    │   │           │   │       ├── models_serde.go
    │   │           │   │       ├── operations_client.go
    │   │           │   │       ├── options.go
    │   │           │   │       ├── providerresourcetypes_client.go
    │   │           │   │       ├── providers_client.go
    │   │           │   │       ├── resourcegroups_client.go
    │   │           │   │       ├── response_types.go
    │   │           │   │       ├── tags_client.go
    │   │           │   │       └── time_rfc3339.go
    │   │           │   └── storage/
    │   │           │       └── armstorage/
    │   │           │           ├── CHANGELOG.md
    │   │           │           ├── LICENSE.txt
    │   │           │           ├── README.md
    │   │           │           ├── accounts_client.go
    │   │           │           ├── assets.json
    │   │           │           ├── autorest.md
    │   │           │           ├── blobcontainers_client.go
    │   │           │           ├── blobinventorypolicies_client.go
    │   │           │           ├── blobservices_client.go
    │   │           │           ├── build.go
    │   │           │           ├── ci.yml
    │   │           │           ├── client_factory.go
    │   │           │           ├── constants.go
    │   │           │           ├── deletedaccounts_client.go
    │   │           │           ├── encryptionscopes_client.go
    │   │           │           ├── fileservices_client.go
    │   │           │           ├── fileshares_client.go
    │   │           │           ├── localusers_client.go
    │   │           │           ├── managementpolicies_client.go
    │   │           │           ├── models.go
    │   │           │           ├── models_serde.go
    │   │           │           ├── networksecurityperimeterconfigurations_client.go
    │   │           │           ├── objectreplicationpolicies_client.go
    │   │           │           ├── operations_client.go
    │   │           │           ├── options.go
    │   │           │           ├── privateendpointconnections_client.go
    │   │           │           ├── privatelinkresources_client.go
    │   │           │           ├── queue_client.go
    │   │           │           ├── queueservices_client.go
    │   │           │           ├── responses.go
    │   │           │           ├── skus_client.go
    │   │           │           ├── table_client.go
    │   │           │           ├── tableservices_client.go
    │   │           │           ├── taskassignmentinstancesreport_client.go
    │   │           │           ├── taskassignments_client.go
    │   │           │           ├── taskassignmentsinstancesreport_client.go
    │   │           │           ├── time_rfc1123.go
    │   │           │           ├── time_rfc3339.go
    │   │           │           └── usages_client.go
    │   │           └── storage/
    │   │               └── azblob/
    │   │                   ├── CHANGELOG.md
    │   │                   ├── LICENSE.txt
    │   │                   ├── README.md
    │   │                   ├── appendblob/
    │   │                   │   ├── client.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── assets.json
    │   │                   ├── blob/
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   ├── responses.go
    │   │                   │   ├── retry_reader.go
    │   │                   │   └── utils.go
    │   │                   ├── bloberror/
    │   │                   │   └── error_codes.go
    │   │                   ├── blockblob/
    │   │                   │   ├── chunkwriting.go
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── ci.yml
    │   │                   ├── client.go
    │   │                   ├── common.go
    │   │                   ├── constants.go
    │   │                   ├── container/
    │   │                   │   ├── batch_builder.go
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── doc.go
    │   │                   ├── internal/
    │   │                   │   ├── base/
    │   │                   │   │   └── clients.go
    │   │                   │   ├── exported/
    │   │                   │   │   ├── access_conditions.go
    │   │                   │   │   ├── access_policy.go
    │   │                   │   │   ├── blob_batch.go
    │   │                   │   │   ├── exported.go
    │   │                   │   │   ├── log_events.go
    │   │                   │   │   ├── set_expiry.go
    │   │                   │   │   ├── shared_key_credential.go
    │   │                   │   │   ├── transfer_validation_option.go
    │   │                   │   │   ├── user_delegation_credential.go
    │   │                   │   │   └── version.go
    │   │                   │   ├── generated/
    │   │                   │   │   ├── appendblob_client.go
    │   │                   │   │   ├── autorest.md
    │   │                   │   │   ├── blob_client.go
    │   │                   │   │   ├── block_blob_client.go
    │   │                   │   │   ├── build.go
    │   │                   │   │   ├── constants.go
    │   │                   │   │   ├── container_client.go
    │   │                   │   │   ├── models.go
    │   │                   │   │   ├── pageblob_client.go
    │   │                   │   │   ├── service_client.go
    │   │                   │   │   ├── zz_appendblob_client.go
    │   │                   │   │   ├── zz_blob_client.go
    │   │                   │   │   ├── zz_blockblob_client.go
    │   │                   │   │   ├── zz_constants.go
    │   │                   │   │   ├── zz_container_client.go
    │   │                   │   │   ├── zz_models.go
    │   │                   │   │   ├── zz_models_serde.go
    │   │                   │   │   ├── zz_options.go
    │   │                   │   │   ├── zz_pageblob_client.go
    │   │                   │   │   ├── zz_responses.go
    │   │                   │   │   ├── zz_service_client.go
    │   │                   │   │   ├── zz_time_rfc1123.go
    │   │                   │   │   ├── zz_time_rfc3339.go
    │   │                   │   │   └── zz_xml_helper.go
    │   │                   │   └── shared/
    │   │                   │       ├── batch_transfer.go
    │   │                   │       ├── buffer_manager.go
    │   │                   │       ├── bytes_writer.go
    │   │                   │       ├── challenge_policy.go
    │   │                   │       ├── mmf_unix.go
    │   │                   │       ├── mmf_windows.go
    │   │                   │       ├── section_writer.go
    │   │                   │       └── shared.go
    │   │                   ├── log.go
    │   │                   ├── migrationguide.md
    │   │                   ├── models.go
    │   │                   ├── pageblob/
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   ├── responses.go
    │   │                   ├── sas/
    │   │                   │   ├── account.go
    │   │                   │   ├── query_params.go
    │   │                   │   ├── service.go
    │   │                   │   └── url_parts.go
    │   │                   ├── service/
    │   │                   │   ├── batch_builder.go
    │   │                   │   ├── client.go
    │   │                   │   ├── constants.go
    │   │                   │   ├── models.go
    │   │                   │   └── responses.go
    │   │                   └── test-resources.json
    │   ├── AzureAD/
    │   │   └── microsoft-authentication-library-for-go/
    │   │       ├── LICENSE
    │   │       └── apps/
    │   │           ├── cache/
    │   │           │   └── cache.go
    │   │           ├── confidential/
    │   │           │   └── confidential.go
    │   │           ├── errors/
    │   │           │   ├── error_design.md
    │   │           │   └── errors.go
    │   │           ├── internal/
    │   │           │   ├── base/
    │   │           │   │   ├── base.go
    │   │           │   │   └── storage/
    │   │           │   │       ├── items.go
    │   │           │   │       ├── partitioned_storage.go
    │   │           │   │       └── storage.go
    │   │           │   ├── exported/
    │   │           │   │   └── exported.go
    │   │           │   ├── json/
    │   │           │   │   ├── design.md
    │   │           │   │   ├── json.go
    │   │           │   │   ├── mapslice.go
    │   │           │   │   ├── marshal.go
    │   │           │   │   ├── struct.go
    │   │           │   │   └── types/
    │   │           │   │       └── time/
    │   │           │   │           └── time.go
    │   │           │   ├── local/
    │   │           │   │   └── server.go
    │   │           │   ├── oauth/
    │   │           │   │   ├── oauth.go
    │   │           │   │   ├── ops/
    │   │           │   │   │   ├── accesstokens/
    │   │           │   │   │   │   ├── accesstokens.go
    │   │           │   │   │   │   ├── apptype_string.go
    │   │           │   │   │   │   └── tokens.go
    │   │           │   │   │   ├── authority/
    │   │           │   │   │   │   ├── authority.go
    │   │           │   │   │   │   └── authorizetype_string.go
    │   │           │   │   │   ├── internal/
    │   │           │   │   │   │   ├── comm/
    │   │           │   │   │   │   │   ├── comm.go
    │   │           │   │   │   │   │   └── compress.go
    │   │           │   │   │   │   └── grant/
    │   │           │   │   │   │       └── grant.go
    │   │           │   │   │   ├── ops.go
    │   │           │   │   │   └── wstrust/
    │   │           │   │   │       ├── defs/
    │   │           │   │   │       │   ├── endpointtype_string.go
    │   │           │   │   │       │   ├── mex_document_definitions.go
    │   │           │   │   │       │   ├── saml_assertion_definitions.go
    │   │           │   │   │       │   ├── version_string.go
    │   │           │   │   │       │   ├── wstrust_endpoint.go
    │   │           │   │   │       │   └── wstrust_mex_document.go
    │   │           │   │   │       └── wstrust.go
    │   │           │   │   └── resolvers.go
    │   │           │   ├── options/
    │   │           │   │   └── options.go
    │   │           │   ├── shared/
    │   │           │   │   └── shared.go
    │   │           │   └── version/
    │   │           │       └── version.go
    │   │           ├── managedidentity/
    │   │           │   ├── azure_ml.go
    │   │           │   ├── cloud_shell.go
    │   │           │   ├── managedidentity.go
    │   │           │   └── servicefabric.go
    │   │           └── public/
    │   │               └── public.go
    │   ├── BurntSushi/
    │   │   └── toml/
    │   │       ├── .gitignore
    │   │       ├── COPYING
    │   │       ├── README.md
    │   │       ├── decode.go
    │   │       ├── deprecated.go
    │   │       ├── doc.go
    │   │       ├── encode.go
    │   │       ├── error.go
    │   │       ├── internal/
    │   │       │   └── tz.go
    │   │       ├── lex.go
    │   │       ├── meta.go
    │   │       ├── parse.go
    │   │       ├── type_fields.go
    │   │       └── type_toml.go
    │   ├── GoogleCloudPlatform/
    │   │   └── opentelemetry-operations-go/
    │   │       ├── detectors/
    │   │       │   └── gcp/
    │   │       │       ├── LICENSE
    │   │       │       ├── README.md
    │   │       │       ├── app_engine.go
    │   │       │       ├── bms.go
    │   │       │       ├── detector.go
    │   │       │       ├── faas.go
    │   │       │       ├── gce.go
    │   │       │       └── gke.go
    │   │       ├── exporter/
    │   │       │   └── metric/
    │   │       │       ├── LICENSE
    │   │       │       ├── README.md
    │   │       │       ├── cloudmonitoring.go
    │   │       │       ├── constants.go
    │   │       │       ├── error.go
    │   │       │       ├── metric.go
    │   │       │       ├── option.go
    │   │       │       └── version.go
    │   │       └── internal/
    │   │           └── resourcemapping/
    │   │               ├── LICENSE
    │   │               └── resourcemapping.go
    │   ├── Microsoft/
    │   │   ├── go-winio/
    │   │   │   ├── .gitattributes
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── CODEOWNERS
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── backup.go
    │   │   │   ├── backuptar/
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── strconv.go
    │   │   │   │   └── tar.go
    │   │   │   ├── doc.go
    │   │   │   ├── ea.go
    │   │   │   ├── file.go
    │   │   │   ├── fileinfo.go
    │   │   │   ├── hvsock.go
    │   │   │   ├── internal/
    │   │   │   │   ├── fs/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── fs.go
    │   │   │   │   │   ├── security.go
    │   │   │   │   │   └── zsyscall_windows.go
    │   │   │   │   ├── socket/
    │   │   │   │   │   ├── rawaddr.go
    │   │   │   │   │   ├── socket.go
    │   │   │   │   │   └── zsyscall_windows.go
    │   │   │   │   └── stringbuffer/
    │   │   │   │       └── wstring.go
    │   │   │   ├── pipe.go
    │   │   │   ├── pkg/
    │   │   │   │   └── guid/
    │   │   │   │       ├── guid.go
    │   │   │   │       ├── guid_nonwindows.go
    │   │   │   │       ├── guid_windows.go
    │   │   │   │       └── variant_string.go
    │   │   │   ├── privilege.go
    │   │   │   ├── reparse.go
    │   │   │   ├── sd.go
    │   │   │   ├── syscall.go
    │   │   │   ├── vhd/
    │   │   │   │   ├── vhd.go
    │   │   │   │   └── zvhd_windows.go
    │   │   │   └── zsyscall_windows.go
    │   │   └── hcsshim/
    │   │       ├── .clang-format
    │   │       ├── .gitattributes
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── CODEOWNERS
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── Makefile.bootfiles
    │   │       ├── Protobuild.toml
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── computestorage/
    │   │       │   ├── attach.go
    │   │       │   ├── destroy.go
    │   │       │   ├── detach.go
    │   │       │   ├── export.go
    │   │       │   ├── format.go
    │   │       │   ├── helpers.go
    │   │       │   ├── import.go
    │   │       │   ├── initialize.go
    │   │       │   ├── mount.go
    │   │       │   ├── setup.go
    │   │       │   ├── storage.go
    │   │       │   └── zsyscall_windows.go
    │   │       ├── container.go
    │   │       ├── errors.go
    │   │       ├── hcsshim.go
    │   │       ├── hnsaccelnet.go
    │   │       ├── hnsendpoint.go
    │   │       ├── hnsglobals.go
    │   │       ├── hnsnetwork.go
    │   │       ├── hnspolicy.go
    │   │       ├── hnspolicylist.go
    │   │       ├── hnssupport.go
    │   │       ├── interface.go
    │   │       ├── internal/
    │   │       │   ├── cow/
    │   │       │   │   └── cow.go
    │   │       │   ├── hcs/
    │   │       │   │   ├── callback.go
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── errors.go
    │   │       │   │   ├── process.go
    │   │       │   │   ├── schema1/
    │   │       │   │   │   └── schema1.go
    │   │       │   │   ├── schema2/
    │   │       │   │   │   ├── attachment.go
    │   │       │   │   │   ├── battery.go
    │   │       │   │   │   ├── cache_query_stats_response.go
    │   │       │   │   │   ├── chipset.go
    │   │       │   │   │   ├── cimfs.go
    │   │       │   │   │   ├── close_handle.go
    │   │       │   │   │   ├── com_port.go
    │   │       │   │   │   ├── compute_system.go
    │   │       │   │   │   ├── configuration.go
    │   │       │   │   │   ├── console_size.go
    │   │       │   │   │   ├── container.go
    │   │       │   │   │   ├── container_credential_guard_add_instance_request.go
    │   │       │   │   │   ├── container_credential_guard_hv_socket_service_config.go
    │   │       │   │   │   ├── container_credential_guard_instance.go
    │   │       │   │   │   ├── container_credential_guard_modify_operation.go
    │   │       │   │   │   ├── container_credential_guard_operation_request.go
    │   │       │   │   │   ├── container_credential_guard_remove_instance_request.go
    │   │       │   │   │   ├── container_credential_guard_state.go
    │   │       │   │   │   ├── container_credential_guard_system_info.go
    │   │       │   │   │   ├── container_memory_information.go
    │   │       │   │   │   ├── cpu_group.go
    │   │       │   │   │   ├── cpu_group_affinity.go
    │   │       │   │   │   ├── cpu_group_config.go
    │   │       │   │   │   ├── cpu_group_configurations.go
    │   │       │   │   │   ├── cpu_group_operations.go
    │   │       │   │   │   ├── cpu_group_property.go
    │   │       │   │   │   ├── create_group_operation.go
    │   │       │   │   │   ├── debug_options.go
    │   │       │   │   │   ├── delete_group_operation.go
    │   │       │   │   │   ├── device.go
    │   │       │   │   │   ├── devices.go
    │   │       │   │   │   ├── enhanced_mode_video.go
    │   │       │   │   │   ├── firmware.go
    │   │       │   │   │   ├── flexible_io_device.go
    │   │       │   │   │   ├── guest_connection.go
    │   │       │   │   │   ├── guest_connection_info.go
    │   │       │   │   │   ├── guest_crash_reporting.go
    │   │       │   │   │   ├── guest_os.go
    │   │       │   │   │   ├── guest_state.go
    │   │       │   │   │   ├── host_processor_modify_request.go
    │   │       │   │   │   ├── hosted_system.go
    │   │       │   │   │   ├── hv_socket.go
    │   │       │   │   │   ├── hv_socket_2.go
    │   │       │   │   │   ├── hv_socket_address.go
    │   │       │   │   │   ├── hv_socket_service_config.go
    │   │       │   │   │   ├── hv_socket_system_config.go
    │   │       │   │   │   ├── interrupt_moderation_mode.go
    │   │       │   │   │   ├── iov_settings.go
    │   │       │   │   │   ├── isolation_settings.go
    │   │       │   │   │   ├── keyboard.go
    │   │       │   │   │   ├── layer.go
    │   │       │   │   │   ├── linux_kernel_direct.go
    │   │       │   │   │   ├── logical_processor.go
    │   │       │   │   │   ├── mapped_directory.go
    │   │       │   │   │   ├── mapped_pipe.go
    │   │       │   │   │   ├── memory.go
    │   │       │   │   │   ├── memory_backing_type.go
    │   │       │   │   │   ├── memory_information_for_vm.go
    │   │       │   │   │   ├── memory_stats.go
    │   │       │   │   │   ├── model_container_definition_device.go
    │   │       │   │   │   ├── model_device_category.go
    │   │       │   │   │   ├── model_device_extension.go
    │   │       │   │   │   ├── model_device_instance.go
    │   │       │   │   │   ├── model_device_namespace.go
    │   │       │   │   │   ├── model_interface_class.go
    │   │       │   │   │   ├── model_namespace.go
    │   │       │   │   │   ├── model_object_directory.go
    │   │       │   │   │   ├── model_object_namespace.go
    │   │       │   │   │   ├── model_object_symlink.go
    │   │       │   │   │   ├── modification_request.go
    │   │       │   │   │   ├── modify_setting_request.go
    │   │       │   │   │   ├── mouse.go
    │   │       │   │   │   ├── network_adapter.go
    │   │       │   │   │   ├── networking.go
    │   │       │   │   │   ├── numa.go
    │   │       │   │   │   ├── numa_node.go
    │   │       │   │   │   ├── numa_node_memory.go
    │   │       │   │   │   ├── numa_node_processor.go
    │   │       │   │   │   ├── numa_processors.go
    │   │       │   │   │   ├── numa_setting.go
    │   │       │   │   │   ├── pause_notification.go
    │   │       │   │   │   ├── pause_options.go
    │   │       │   │   │   ├── plan9.go
    │   │       │   │   │   ├── plan9_share.go
    │   │       │   │   │   ├── process_details.go
    │   │       │   │   │   ├── process_modify_request.go
    │   │       │   │   │   ├── process_parameters.go
    │   │       │   │   │   ├── process_status.go
    │   │       │   │   │   ├── processor.go
    │   │       │   │   │   ├── processor_stats.go
    │   │       │   │   │   ├── processor_topology.go
    │   │       │   │   │   ├── properties.go
    │   │       │   │   │   ├── property_query.go
    │   │       │   │   │   ├── property_type.go
    │   │       │   │   │   ├── rdp_connection_options.go
    │   │       │   │   │   ├── registry_changes.go
    │   │       │   │   │   ├── registry_hive.go
    │   │       │   │   │   ├── registry_key.go
    │   │       │   │   │   ├── registry_value.go
    │   │       │   │   │   ├── registry_value_type.go
    │   │       │   │   │   ├── restore_state.go
    │   │       │   │   │   ├── save_options.go
    │   │       │   │   │   ├── scsi.go
    │   │       │   │   │   ├── security_settings.go
    │   │       │   │   │   ├── service_properties.go
    │   │       │   │   │   ├── shared_memory_configuration.go
    │   │       │   │   │   ├── shared_memory_region.go
    │   │       │   │   │   ├── shared_memory_region_info.go
    │   │       │   │   │   ├── silo_properties.go
    │   │       │   │   │   ├── statistics.go
    │   │       │   │   │   ├── storage.go
    │   │       │   │   │   ├── storage_qo_s.go
    │   │       │   │   │   ├── storage_stats.go
    │   │       │   │   │   ├── system_time.go
    │   │       │   │   │   ├── time_zone_information.go
    │   │       │   │   │   ├── topology.go
    │   │       │   │   │   ├── uefi.go
    │   │       │   │   │   ├── uefi_boot_entry.go
    │   │       │   │   │   ├── version.go
    │   │       │   │   │   ├── video_monitor.go
    │   │       │   │   │   ├── virtual_machine.go
    │   │       │   │   │   ├── virtual_machine_memory.go
    │   │       │   │   │   ├── virtual_machine_processor.go
    │   │       │   │   │   ├── virtual_node_info.go
    │   │       │   │   │   ├── virtual_p_mem_controller.go
    │   │       │   │   │   ├── virtual_p_mem_device.go
    │   │       │   │   │   ├── virtual_p_mem_mapping.go
    │   │       │   │   │   ├── virtual_pci_device.go
    │   │       │   │   │   ├── virtual_pci_function.go
    │   │       │   │   │   ├── virtual_slit_type.go
    │   │       │   │   │   ├── virtual_smb.go
    │   │       │   │   │   ├── virtual_smb_share.go
    │   │       │   │   │   ├── virtual_smb_share_options.go
    │   │       │   │   │   ├── vm_memory.go
    │   │       │   │   │   ├── vm_processor_limits.go
    │   │       │   │   │   └── windows_crash_reporting.go
    │   │       │   │   ├── service.go
    │   │       │   │   ├── system.go
    │   │       │   │   ├── utils.go
    │   │       │   │   └── waithelper.go
    │   │       │   ├── hcserror/
    │   │       │   │   ├── doc.go
    │   │       │   │   └── hcserror.go
    │   │       │   ├── hns/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── hns.go
    │   │       │   │   ├── hnsaccelnet.go
    │   │       │   │   ├── hnsendpoint.go
    │   │       │   │   ├── hnsfuncs.go
    │   │       │   │   ├── hnsglobals.go
    │   │       │   │   ├── hnsnetwork.go
    │   │       │   │   ├── hnspolicy.go
    │   │       │   │   ├── hnspolicylist.go
    │   │       │   │   ├── hnssupport.go
    │   │       │   │   ├── namespace.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── interop/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── interop.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── jobobject/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── iocp.go
    │   │       │   │   ├── jobobject.go
    │   │       │   │   └── limits.go
    │   │       │   ├── log/
    │   │       │   │   ├── context.go
    │   │       │   │   ├── format.go
    │   │       │   │   ├── hook.go
    │   │       │   │   ├── nopformatter.go
    │   │       │   │   └── scrub.go
    │   │       │   ├── logfields/
    │   │       │   │   └── fields.go
    │   │       │   ├── longpath/
    │   │       │   │   └── longpath.go
    │   │       │   ├── memory/
    │   │       │   │   ├── pool.go
    │   │       │   │   └── types.go
    │   │       │   ├── mergemaps/
    │   │       │   │   └── merge.go
    │   │       │   ├── oc/
    │   │       │   │   ├── errors.go
    │   │       │   │   ├── exporter.go
    │   │       │   │   └── span.go
    │   │       │   ├── protocol/
    │   │       │   │   └── guestrequest/
    │   │       │   │       └── types.go
    │   │       │   ├── queue/
    │   │       │   │   └── mq.go
    │   │       │   ├── safefile/
    │   │       │   │   ├── do.go
    │   │       │   │   └── safeopen.go
    │   │       │   ├── security/
    │   │       │   │   ├── grantvmgroupaccess.go
    │   │       │   │   ├── syscall_windows.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── timeout/
    │   │       │   │   └── timeout.go
    │   │       │   ├── vmcompute/
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── vmcompute.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   ├── wclayer/
    │   │       │   │   ├── activatelayer.go
    │   │       │   │   ├── baselayerreader.go
    │   │       │   │   ├── baselayerwriter.go
    │   │       │   │   ├── converttobaselayer.go
    │   │       │   │   ├── createlayer.go
    │   │       │   │   ├── createscratchlayer.go
    │   │       │   │   ├── deactivatelayer.go
    │   │       │   │   ├── destroylayer.go
    │   │       │   │   ├── doc.go
    │   │       │   │   ├── expandscratchsize.go
    │   │       │   │   ├── exportlayer.go
    │   │       │   │   ├── getlayermountpath.go
    │   │       │   │   ├── getsharedbaseimages.go
    │   │       │   │   ├── grantvmaccess.go
    │   │       │   │   ├── importlayer.go
    │   │       │   │   ├── layerexists.go
    │   │       │   │   ├── layerid.go
    │   │       │   │   ├── layerutils.go
    │   │       │   │   ├── legacy.go
    │   │       │   │   ├── nametoguid.go
    │   │       │   │   ├── preparelayer.go
    │   │       │   │   ├── processimage.go
    │   │       │   │   ├── unpreparelayer.go
    │   │       │   │   ├── wclayer.go
    │   │       │   │   └── zsyscall_windows.go
    │   │       │   └── winapi/
    │   │       │       ├── bindflt.go
    │   │       │       ├── cimfs.go
    │   │       │       ├── console.go
    │   │       │       ├── devices.go
    │   │       │       ├── doc.go
    │   │       │       ├── elevation.go
    │   │       │       ├── errors.go
    │   │       │       ├── filesystem.go
    │   │       │       ├── jobobject.go
    │   │       │       ├── logon.go
    │   │       │       ├── memory.go
    │   │       │       ├── net.go
    │   │       │       ├── offlinereg.go
    │   │       │       ├── path.go
    │   │       │       ├── process.go
    │   │       │       ├── processor.go
    │   │       │       ├── system.go
    │   │       │       ├── thread.go
    │   │       │       ├── user.go
    │   │       │       ├── utils.go
    │   │       │       ├── winapi.go
    │   │       │       └── zsyscall_windows.go
    │   │       ├── layer.go
    │   │       ├── osversion/
    │   │       │   ├── osversion_windows.go
    │   │       │   ├── platform_compat_windows.go
    │   │       │   └── windowsbuilds.go
    │   │       ├── process.go
    │   │       └── zsyscall_windows.go
    │   ├── VividCortex/
    │   │   └── ewma/
    │   │       ├── .gitignore
    │   │       ├── .whitesource
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       ├── codecov.yml
    │   │       └── ewma.go
    │   ├── acarl005/
    │   │   └── stripansi/
    │   │       ├── LICENSE
    │   │       ├── README.md
    │   │       └── stripansi.go
    │   ├── aws/
    │   │   ├── aws-sdk-go-v2/
    │   │   │   ├── LICENSE.txt
    │   │   │   ├── NOTICE.txt
    │   │   │   ├── aws/
    │   │   │   │   ├── accountid_endpoint_mode.go
    │   │   │   │   ├── arn/
    │   │   │   │   │   └── arn.go
    │   │   │   │   ├── checksum.go
    │   │   │   │   ├── config.go
    │   │   │   │   ├── context.go
    │   │   │   │   ├── credential_cache.go
    │   │   │   │   ├── credentials.go
    │   │   │   │   ├── defaults/
    │   │   │   │   │   ├── auto.go
    │   │   │   │   │   ├── configuration.go
    │   │   │   │   │   ├── defaults.go
    │   │   │   │   │   └── doc.go
    │   │   │   │   ├── defaultsmode.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── endpoints.go
    │   │   │   │   ├── errors.go
    │   │   │   │   ├── from_ptr.go
    │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   ├── logging.go
    │   │   │   │   ├── logging_generate.go
    │   │   │   │   ├── middleware/
    │   │   │   │   │   ├── metadata.go
    │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   ├── osname.go
    │   │   │   │   │   ├── osname_go115.go
    │   │   │   │   │   ├── recursion_detection.go
    │   │   │   │   │   ├── request_id.go
    │   │   │   │   │   ├── request_id_retriever.go
    │   │   │   │   │   └── user_agent.go
    │   │   │   │   ├── protocol/
    │   │   │   │   │   ├── ec2query/
    │   │   │   │   │   │   └── error_utils.go
    │   │   │   │   │   ├── eventstream/
    │   │   │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   │   │   ├── LICENSE.txt
    │   │   │   │   │   │   ├── debug.go
    │   │   │   │   │   │   ├── decode.go
    │   │   │   │   │   │   ├── encode.go
    │   │   │   │   │   │   ├── error.go
    │   │   │   │   │   │   ├── eventstreamapi/
    │   │   │   │   │   │   │   ├── headers.go
    │   │   │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   │   │   ├── transport.go
    │   │   │   │   │   │   │   └── transport_go117.go
    │   │   │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   │   │   ├── header.go
    │   │   │   │   │   │   ├── header_value.go
    │   │   │   │   │   │   └── message.go
    │   │   │   │   │   ├── query/
    │   │   │   │   │   │   ├── array.go
    │   │   │   │   │   │   ├── encoder.go
    │   │   │   │   │   │   ├── map.go
    │   │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   │   ├── object.go
    │   │   │   │   │   │   └── value.go
    │   │   │   │   │   ├── restjson/
    │   │   │   │   │   │   └── decoder_util.go
    │   │   │   │   │   └── xml/
    │   │   │   │   │       └── error_utils.go
    │   │   │   │   ├── ratelimit/
    │   │   │   │   │   ├── none.go
    │   │   │   │   │   ├── token_bucket.go
    │   │   │   │   │   └── token_rate_limit.go
    │   │   │   │   ├── request.go
    │   │   │   │   ├── retry/
    │   │   │   │   │   ├── adaptive.go
    │   │   │   │   │   ├── adaptive_ratelimit.go
    │   │   │   │   │   ├── adaptive_token_bucket.go
    │   │   │   │   │   ├── attempt_metrics.go
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── errors.go
    │   │   │   │   │   ├── jitter_backoff.go
    │   │   │   │   │   ├── metadata.go
    │   │   │   │   │   ├── middleware.go
    │   │   │   │   │   ├── retry.go
    │   │   │   │   │   ├── retryable_error.go
    │   │   │   │   │   ├── standard.go
    │   │   │   │   │   ├── throttle_error.go
    │   │   │   │   │   └── timeout_error.go
    │   │   │   │   ├── retryer.go
    │   │   │   │   ├── runtime.go
    │   │   │   │   ├── signer/
    │   │   │   │   │   ├── internal/
    │   │   │   │   │   │   └── v4/
    │   │   │   │   │   │       ├── cache.go
    │   │   │   │   │   │       ├── const.go
    │   │   │   │   │   │       ├── header_rules.go
    │   │   │   │   │   │       ├── headers.go
    │   │   │   │   │   │       ├── hmac.go
    │   │   │   │   │   │       ├── host.go
    │   │   │   │   │   │       ├── scope.go
    │   │   │   │   │   │       ├── time.go
    │   │   │   │   │   │       └── util.go
    │   │   │   │   │   └── v4/
    │   │   │   │   │       ├── middleware.go
    │   │   │   │   │       ├── presign_middleware.go
    │   │   │   │   │       ├── stream.go
    │   │   │   │   │       └── v4.go
    │   │   │   │   ├── to_ptr.go
    │   │   │   │   ├── transport/
    │   │   │   │   │   └── http/
    │   │   │   │   │       ├── client.go
    │   │   │   │   │       ├── content_type.go
    │   │   │   │   │       ├── response_error.go
    │   │   │   │   │       ├── response_error_middleware.go
    │   │   │   │   │       └── timeout_read_closer.go
    │   │   │   │   ├── types.go
    │   │   │   │   └── version.go
    │   │   │   ├── config/
    │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   ├── LICENSE.txt
    │   │   │   │   ├── auth_scheme_preference.go
    │   │   │   │   ├── config.go
    │   │   │   │   ├── defaultsmode.go
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── env_config.go
    │   │   │   │   ├── generate.go
    │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   ├── load_options.go
    │   │   │   │   ├── local.go
    │   │   │   │   ├── provider.go
    │   │   │   │   ├── resolve.go
    │   │   │   │   ├── resolve_bearer_token.go
    │   │   │   │   ├── resolve_credentials.go
    │   │   │   │   └── shared_config.go
    │   │   │   ├── credentials/
    │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   ├── LICENSE.txt
    │   │   │   │   ├── doc.go
    │   │   │   │   ├── ec2rolecreds/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── provider.go
    │   │   │   │   ├── endpointcreds/
    │   │   │   │   │   ├── internal/
    │   │   │   │   │   │   └── client/
    │   │   │   │   │   │       ├── auth.go
    │   │   │   │   │   │       ├── client.go
    │   │   │   │   │   │       ├── endpoints.go
    │   │   │   │   │   │       └── middleware.go
    │   │   │   │   │   └── provider.go
    │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   ├── logincreds/
    │   │   │   │   │   ├── dpop.go
    │   │   │   │   │   ├── file.go
    │   │   │   │   │   ├── provider.go
    │   │   │   │   │   └── token.go
    │   │   │   │   ├── processcreds/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   └── provider.go
    │   │   │   │   ├── ssocreds/
    │   │   │   │   │   ├── doc.go
    │   │   │   │   │   ├── sso_cached_token.go
    │   │   │   │   │   ├── sso_credentials_provider.go
    │   │   │   │   │   └── sso_token_provider.go
    │   │   │   │   ├── static_provider.go
    │   │   │   │   └── stscreds/
    │   │   │   │       ├── assume_role_provider.go
    │   │   │   │       └── web_identity_provider.go
    │   │   │   ├── feature/
    │   │   │   │   ├── ec2/
    │   │   │   │   │   └── imds/
    │   │   │   │   │       ├── CHANGELOG.md
    │   │   │   │   │       ├── LICENSE.txt
    │   │   │   │   │       ├── api_client.go
    │   │   │   │   │       ├── api_op_GetDynamicData.go
    │   │   │   │   │       ├── api_op_GetIAMInfo.go
    │   │   │   │   │       ├── api_op_GetInstanceIdentityDocument.go
    │   │   │   │   │       ├── api_op_GetMetadata.go
    │   │   │   │   │       ├── api_op_GetRegion.go
    │   │   │   │   │       ├── api_op_GetToken.go
    │   │   │   │   │       ├── api_op_GetUserData.go
    │   │   │   │   │       ├── auth.go
    │   │   │   │   │       ├── doc.go
    │   │   │   │   │       ├── endpoints.go
    │   │   │   │   │       ├── go_module_metadata.go
    │   │   │   │   │       ├── internal/
    │   │   │   │   │       │   └── config/
    │   │   │   │   │       │       └── resolvers.go
    │   │   │   │   │       ├── request_middleware.go
    │   │   │   │   │       └── token_provider.go
    │   │   │   │   └── s3/
    │   │   │   │       └── manager/
    │   │   │   │           ├── CHANGELOG.md
    │   │   │   │           ├── LICENSE.txt
    │   │   │   │           ├── api.go
    │   │   │   │           ├── arn.go
    │   │   │   │           ├── bucket_region.go
    │   │   │   │           ├── buffered_read_seeker.go
    │   │   │   │           ├── default_read_seeker_write_to.go
    │   │   │   │           ├── default_read_seeker_write_to_windows.go
    │   │   │   │           ├── default_writer_read_from.go
    │   │   │   │           ├── default_writer_read_from_windows.go
    │   │   │   │           ├── doc.go
    │   │   │   │           ├── download.go
    │   │   │   │           ├── go_module_metadata.go
    │   │   │   │           ├── pool.go
    │   │   │   │           ├── read_seeker_write_to.go
    │   │   │   │           ├── types.go
    │   │   │   │           ├── upload.go
    │   │   │   │           └── writer_read_from.go
    │   │   │   ├── internal/
    │   │   │   │   ├── auth/
    │   │   │   │   │   ├── auth.go
    │   │   │   │   │   ├── scheme.go
    │   │   │   │   │   └── smithy/
    │   │   │   │   │       ├── bearer_token_adapter.go
    │   │   │   │   │       ├── bearer_token_signer_adapter.go
    │   │   │   │   │       ├── credentials_adapter.go
    │   │   │   │   │       ├── smithy.go
    │   │   │   │   │       └── v4signer_adapter.go
    │   │   │   │   ├── awsutil/
    │   │   │   │   │   ├── copy.go
    │   │   │   │   │   ├── equal.go
    │   │   │   │   │   ├── prettify.go
    │   │   │   │   │   └── string_value.go
    │   │   │   │   ├── configsources/
    │   │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   │   ├── LICENSE.txt
    │   │   │   │   │   ├── config.go
    │   │   │   │   │   ├── endpoints.go
    │   │   │   │   │   └── go_module_metadata.go
    │   │   │   │   ├── context/
    │   │   │   │   │   └── context.go
    │   │   │   │   ├── endpoints/
    │   │   │   │   │   ├── awsrulesfn/
    │   │   │   │   │   │   ├── arn.go
    │   │   │   │   │   │   ├── doc.go
    │   │   │   │   │   │   ├── generate.go
    │   │   │   │   │   │   ├── host.go
    │   │   │   │   │   │   ├── partition.go
    │   │   │   │   │   │   ├── partitions.go
    │   │   │   │   │   │   └── partitions.json
    │   │   │   │   │   ├── endpoints.go
    │   │   │   │   │   └── v2/
    │   │   │   │   │       ├── CHANGELOG.md
    │   │   │   │   │       ├── LICENSE.txt
    │   │   │   │   │       ├── endpoints.go
    │   │   │   │   │       └── go_module_metadata.go
    │   │   │   │   ├── ini/
    │   │   │   │   │   ├── CHANGELOG.md
    │   │   │   │   │   ├── LICENSE.txt
    │   │   │   │   │   ├── errors.go
    │   │   │   │   │   ├── go_module_metadata.go
    │   │   │   │   │   ├── ini.go
    │   │   │   │   │   ├── parse.go
    │   │   │   │   │   ├── sections.go
    │   │   │   │   │   ├── strings.go
    │   │   │   │   │   ├── token.go
    │   │   │   │   │   ├── tokenize.go
    │   │   │   │   │   └── value.go
    │   │   │   │   ├── middleware/
    │   │   │   │   │   └── middleware.go
    │   │   │   │   ├── rand/
    │   │   │   │   │   └── rand.go
    │   │   │   │   ├── sdk/
    │   │   │   │   │   ├── interfaces.go
    │   │   │   │   │   └── time.go
    │   │   │   │   ├── sdkio/
    │   │   │   │   │   └── byte.go
    │   │   │   │   ├── shareddefaults/
    │   │   │   │   │   └── shared_config.go
    │   │   │   │   ├── strings/
    │   │   │   │   │   └── strings.go
    │   │   │   │   ├── sync/
    │   │   │   │   │   └── singleflight/
    │   │   │   │   │       ├── LICENSE
    │   │   │   │   │       ├── docs.go
    │   │   │   │   │       └── singleflight.go
    │   │   │   │   ├── timeconv/
    │   │   │   │   │   └── duration.go
    │   │   │   │   └── v4a/
    │   │   │   │       ├── CHANGELOG.md
    │   │   │   │       ├── LICENSE.txt
    │   │   │   │       ├── credentials.go
    │   │   │   │       ├── error.go
    │   │   │   │       ├── go_module_metadata.go
    │   │   │   │       ├── internal/
    │   │   │   │       │   ├── crypto/
    │   │   │   │       │   │   ├── compare.go
    │   │   │   │       │   │   └── ecc.go
    │   │   │   │       │   └── v4/
    │   │   │   │       │       ├── const.go
    │   │   │   │       │       ├── header_rules.go
    │   │   │   │       │       ├── headers.go
    │   │   │   │       │       ├── hmac.go
    │   │   │   │       │       ├── host.go
    │   │   │   │       │       ├── time.go
    │   │   │   │       │       └── util.go
    │   │   │   │       ├── middleware.go
    │   │   │   │       ├── presign_middleware.go
    │   │   │   │       ├── smithy.go
    │   │   │   │       └── v4a.go
    │   │   │   └── service/
    │   │   │       ├── autoscaling/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_AttachInstances.go
    │   │   │       │   ├── api_op_AttachLoadBalancerTargetGroups.go
    │   │   │       │   ├── api_op_AttachLoadBalancers.go
    │   │   │       │   ├── api_op_AttachTrafficSources.go
    │   │   │       │   ├── api_op_BatchDeleteScheduledAction.go
    │   │   │       │   ├── api_op_BatchPutScheduledUpdateGroupAction.go
    │   │   │       │   ├── api_op_CancelInstanceRefresh.go
    │   │   │       │   ├── api_op_CompleteLifecycleAction.go
    │   │   │       │   ├── api_op_CreateAutoScalingGroup.go
    │   │   │       │   ├── api_op_CreateLaunchConfiguration.go
    │   │   │       │   ├── api_op_CreateOrUpdateTags.go
    │   │   │       │   ├── api_op_DeleteAutoScalingGroup.go
    │   │   │       │   ├── api_op_DeleteLaunchConfiguration.go
    │   │   │       │   ├── api_op_DeleteLifecycleHook.go
    │   │   │       │   ├── api_op_DeleteNotificationConfiguration.go
    │   │   │       │   ├── api_op_DeletePolicy.go
    │   │   │       │   ├── api_op_DeleteScheduledAction.go
    │   │   │       │   ├── api_op_DeleteTags.go
    │   │   │       │   ├── api_op_DeleteWarmPool.go
    │   │   │       │   ├── api_op_DescribeAccountLimits.go
    │   │   │       │   ├── api_op_DescribeAdjustmentTypes.go
    │   │   │       │   ├── api_op_DescribeAutoScalingGroups.go
    │   │   │       │   ├── api_op_DescribeAutoScalingInstances.go
    │   │   │       │   ├── api_op_DescribeAutoScalingNotificationTypes.go
    │   │   │       │   ├── api_op_DescribeInstanceRefreshes.go
    │   │   │       │   ├── api_op_DescribeLaunchConfigurations.go
    │   │   │       │   ├── api_op_DescribeLifecycleHookTypes.go
    │   │   │       │   ├── api_op_DescribeLifecycleHooks.go
    │   │   │       │   ├── api_op_DescribeLoadBalancerTargetGroups.go
    │   │   │       │   ├── api_op_DescribeLoadBalancers.go
    │   │   │       │   ├── api_op_DescribeMetricCollectionTypes.go
    │   │   │       │   ├── api_op_DescribeNotificationConfigurations.go
    │   │   │       │   ├── api_op_DescribePolicies.go
    │   │   │       │   ├── api_op_DescribeScalingActivities.go
    │   │   │       │   ├── api_op_DescribeScalingProcessTypes.go
    │   │   │       │   ├── api_op_DescribeScheduledActions.go
    │   │   │       │   ├── api_op_DescribeTags.go
    │   │   │       │   ├── api_op_DescribeTerminationPolicyTypes.go
    │   │   │       │   ├── api_op_DescribeTrafficSources.go
    │   │   │       │   ├── api_op_DescribeWarmPool.go
    │   │   │       │   ├── api_op_DetachInstances.go
    │   │   │       │   ├── api_op_DetachLoadBalancerTargetGroups.go
    │   │   │       │   ├── api_op_DetachLoadBalancers.go
    │   │   │       │   ├── api_op_DetachTrafficSources.go
    │   │   │       │   ├── api_op_DisableMetricsCollection.go
    │   │   │       │   ├── api_op_EnableMetricsCollection.go
    │   │   │       │   ├── api_op_EnterStandby.go
    │   │   │       │   ├── api_op_ExecutePolicy.go
    │   │   │       │   ├── api_op_ExitStandby.go
    │   │   │       │   ├── api_op_GetPredictiveScalingForecast.go
    │   │   │       │   ├── api_op_LaunchInstances.go
    │   │   │       │   ├── api_op_PutLifecycleHook.go
    │   │   │       │   ├── api_op_PutNotificationConfiguration.go
    │   │   │       │   ├── api_op_PutScalingPolicy.go
    │   │   │       │   ├── api_op_PutScheduledUpdateGroupAction.go
    │   │   │       │   ├── api_op_PutWarmPool.go
    │   │   │       │   ├── api_op_RecordLifecycleActionHeartbeat.go
    │   │   │       │   ├── api_op_ResumeProcesses.go
    │   │   │       │   ├── api_op_RollbackInstanceRefresh.go
    │   │   │       │   ├── api_op_SetDesiredCapacity.go
    │   │   │       │   ├── api_op_SetInstanceHealth.go
    │   │   │       │   ├── api_op_SetInstanceProtection.go
    │   │   │       │   ├── api_op_StartInstanceRefresh.go
    │   │   │       │   ├── api_op_SuspendProcesses.go
    │   │   │       │   ├── api_op_TerminateInstanceInAutoScalingGroup.go
    │   │   │       │   ├── api_op_UpdateAutoScalingGroup.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── ec2/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_AcceptAddressTransfer.go
    │   │   │       │   ├── api_op_AcceptCapacityReservationBillingOwnership.go
    │   │   │       │   ├── api_op_AcceptReservedInstancesExchangeQuote.go
    │   │   │       │   ├── api_op_AcceptTransitGatewayMulticastDomainAssociations.go
    │   │   │       │   ├── api_op_AcceptTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_AcceptTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_AcceptVpcEndpointConnections.go
    │   │   │       │   ├── api_op_AcceptVpcPeeringConnection.go
    │   │   │       │   ├── api_op_AdvertiseByoipCidr.go
    │   │   │       │   ├── api_op_AllocateAddress.go
    │   │   │       │   ├── api_op_AllocateHosts.go
    │   │   │       │   ├── api_op_AllocateIpamPoolCidr.go
    │   │   │       │   ├── api_op_ApplySecurityGroupsToClientVpnTargetNetwork.go
    │   │   │       │   ├── api_op_AssignIpv6Addresses.go
    │   │   │       │   ├── api_op_AssignPrivateIpAddresses.go
    │   │   │       │   ├── api_op_AssignPrivateNatGatewayAddress.go
    │   │   │       │   ├── api_op_AssociateAddress.go
    │   │   │       │   ├── api_op_AssociateCapacityReservationBillingOwner.go
    │   │   │       │   ├── api_op_AssociateClientVpnTargetNetwork.go
    │   │   │       │   ├── api_op_AssociateDhcpOptions.go
    │   │   │       │   ├── api_op_AssociateEnclaveCertificateIamRole.go
    │   │   │       │   ├── api_op_AssociateIamInstanceProfile.go
    │   │   │       │   ├── api_op_AssociateInstanceEventWindow.go
    │   │   │       │   ├── api_op_AssociateIpamByoasn.go
    │   │   │       │   ├── api_op_AssociateIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_AssociateNatGatewayAddress.go
    │   │   │       │   ├── api_op_AssociateRouteServer.go
    │   │   │       │   ├── api_op_AssociateRouteTable.go
    │   │   │       │   ├── api_op_AssociateSecurityGroupVpc.go
    │   │   │       │   ├── api_op_AssociateSubnetCidrBlock.go
    │   │   │       │   ├── api_op_AssociateTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_AssociateTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_AssociateTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_AssociateTrunkInterface.go
    │   │   │       │   ├── api_op_AssociateVpcCidrBlock.go
    │   │   │       │   ├── api_op_AttachClassicLinkVpc.go
    │   │   │       │   ├── api_op_AttachInternetGateway.go
    │   │   │       │   ├── api_op_AttachNetworkInterface.go
    │   │   │       │   ├── api_op_AttachVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_AttachVolume.go
    │   │   │       │   ├── api_op_AttachVpnGateway.go
    │   │   │       │   ├── api_op_AuthorizeClientVpnIngress.go
    │   │   │       │   ├── api_op_AuthorizeSecurityGroupEgress.go
    │   │   │       │   ├── api_op_AuthorizeSecurityGroupIngress.go
    │   │   │       │   ├── api_op_BundleInstance.go
    │   │   │       │   ├── api_op_CancelBundleTask.go
    │   │   │       │   ├── api_op_CancelCapacityReservation.go
    │   │   │       │   ├── api_op_CancelCapacityReservationFleets.go
    │   │   │       │   ├── api_op_CancelConversionTask.go
    │   │   │       │   ├── api_op_CancelDeclarativePoliciesReport.go
    │   │   │       │   ├── api_op_CancelExportTask.go
    │   │   │       │   ├── api_op_CancelImageLaunchPermission.go
    │   │   │       │   ├── api_op_CancelImportTask.go
    │   │   │       │   ├── api_op_CancelReservedInstancesListing.go
    │   │   │       │   ├── api_op_CancelSpotFleetRequests.go
    │   │   │       │   ├── api_op_CancelSpotInstanceRequests.go
    │   │   │       │   ├── api_op_ConfirmProductInstance.go
    │   │   │       │   ├── api_op_CopyFpgaImage.go
    │   │   │       │   ├── api_op_CopyImage.go
    │   │   │       │   ├── api_op_CopySnapshot.go
    │   │   │       │   ├── api_op_CopyVolumes.go
    │   │   │       │   ├── api_op_CreateCapacityManagerDataExport.go
    │   │   │       │   ├── api_op_CreateCapacityReservation.go
    │   │   │       │   ├── api_op_CreateCapacityReservationBySplitting.go
    │   │   │       │   ├── api_op_CreateCapacityReservationFleet.go
    │   │   │       │   ├── api_op_CreateCarrierGateway.go
    │   │   │       │   ├── api_op_CreateClientVpnEndpoint.go
    │   │   │       │   ├── api_op_CreateClientVpnRoute.go
    │   │   │       │   ├── api_op_CreateCoipCidr.go
    │   │   │       │   ├── api_op_CreateCoipPool.go
    │   │   │       │   ├── api_op_CreateCustomerGateway.go
    │   │   │       │   ├── api_op_CreateDefaultSubnet.go
    │   │   │       │   ├── api_op_CreateDefaultVpc.go
    │   │   │       │   ├── api_op_CreateDelegateMacVolumeOwnershipTask.go
    │   │   │       │   ├── api_op_CreateDhcpOptions.go
    │   │   │       │   ├── api_op_CreateEgressOnlyInternetGateway.go
    │   │   │       │   ├── api_op_CreateFleet.go
    │   │   │       │   ├── api_op_CreateFlowLogs.go
    │   │   │       │   ├── api_op_CreateFpgaImage.go
    │   │   │       │   ├── api_op_CreateImage.go
    │   │   │       │   ├── api_op_CreateImageUsageReport.go
    │   │   │       │   ├── api_op_CreateInstanceConnectEndpoint.go
    │   │   │       │   ├── api_op_CreateInstanceEventWindow.go
    │   │   │       │   ├── api_op_CreateInstanceExportTask.go
    │   │   │       │   ├── api_op_CreateInternetGateway.go
    │   │   │       │   ├── api_op_CreateInterruptibleCapacityReservationAllocation.go
    │   │   │       │   ├── api_op_CreateIpam.go
    │   │   │       │   ├── api_op_CreateIpamExternalResourceVerificationToken.go
    │   │   │       │   ├── api_op_CreateIpamPolicy.go
    │   │   │       │   ├── api_op_CreateIpamPool.go
    │   │   │       │   ├── api_op_CreateIpamPrefixListResolver.go
    │   │   │       │   ├── api_op_CreateIpamPrefixListResolverTarget.go
    │   │   │       │   ├── api_op_CreateIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_CreateIpamScope.go
    │   │   │       │   ├── api_op_CreateKeyPair.go
    │   │   │       │   ├── api_op_CreateLaunchTemplate.go
    │   │   │       │   ├── api_op_CreateLaunchTemplateVersion.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRoute.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRouteTable.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation.go
    │   │   │       │   ├── api_op_CreateLocalGatewayRouteTableVpcAssociation.go
    │   │   │       │   ├── api_op_CreateLocalGatewayVirtualInterface.go
    │   │   │       │   ├── api_op_CreateLocalGatewayVirtualInterfaceGroup.go
    │   │   │       │   ├── api_op_CreateMacSystemIntegrityProtectionModificationTask.go
    │   │   │       │   ├── api_op_CreateManagedPrefixList.go
    │   │   │       │   ├── api_op_CreateNatGateway.go
    │   │   │       │   ├── api_op_CreateNetworkAcl.go
    │   │   │       │   ├── api_op_CreateNetworkAclEntry.go
    │   │   │       │   ├── api_op_CreateNetworkInsightsAccessScope.go
    │   │   │       │   ├── api_op_CreateNetworkInsightsPath.go
    │   │   │       │   ├── api_op_CreateNetworkInterface.go
    │   │   │       │   ├── api_op_CreateNetworkInterfacePermission.go
    │   │   │       │   ├── api_op_CreatePlacementGroup.go
    │   │   │       │   ├── api_op_CreatePublicIpv4Pool.go
    │   │   │       │   ├── api_op_CreateReplaceRootVolumeTask.go
    │   │   │       │   ├── api_op_CreateReservedInstancesListing.go
    │   │   │       │   ├── api_op_CreateRestoreImageTask.go
    │   │   │       │   ├── api_op_CreateRoute.go
    │   │   │       │   ├── api_op_CreateRouteServer.go
    │   │   │       │   ├── api_op_CreateRouteServerEndpoint.go
    │   │   │       │   ├── api_op_CreateRouteServerPeer.go
    │   │   │       │   ├── api_op_CreateRouteTable.go
    │   │   │       │   ├── api_op_CreateSecondaryNetwork.go
    │   │   │       │   ├── api_op_CreateSecondarySubnet.go
    │   │   │       │   ├── api_op_CreateSecurityGroup.go
    │   │   │       │   ├── api_op_CreateSnapshot.go
    │   │   │       │   ├── api_op_CreateSnapshots.go
    │   │   │       │   ├── api_op_CreateSpotDatafeedSubscription.go
    │   │   │       │   ├── api_op_CreateStoreImageTask.go
    │   │   │       │   ├── api_op_CreateSubnet.go
    │   │   │       │   ├── api_op_CreateSubnetCidrReservation.go
    │   │   │       │   ├── api_op_CreateTags.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorFilter.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorFilterRule.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorSession.go
    │   │   │       │   ├── api_op_CreateTrafficMirrorTarget.go
    │   │   │       │   ├── api_op_CreateTransitGateway.go
    │   │   │       │   ├── api_op_CreateTransitGatewayConnect.go
    │   │   │       │   ├── api_op_CreateTransitGatewayConnectPeer.go
    │   │   │       │   ├── api_op_CreateTransitGatewayMeteringPolicy.go
    │   │   │       │   ├── api_op_CreateTransitGatewayMeteringPolicyEntry.go
    │   │   │       │   ├── api_op_CreateTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_CreateTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_CreateTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_CreateTransitGatewayPrefixListReference.go
    │   │   │       │   ├── api_op_CreateTransitGatewayRoute.go
    │   │   │       │   ├── api_op_CreateTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_CreateTransitGatewayRouteTableAnnouncement.go
    │   │   │       │   ├── api_op_CreateTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessEndpoint.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessGroup.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessInstance.go
    │   │   │       │   ├── api_op_CreateVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_CreateVolume.go
    │   │   │       │   ├── api_op_CreateVpc.go
    │   │   │       │   ├── api_op_CreateVpcBlockPublicAccessExclusion.go
    │   │   │       │   ├── api_op_CreateVpcEncryptionControl.go
    │   │   │       │   ├── api_op_CreateVpcEndpoint.go
    │   │   │       │   ├── api_op_CreateVpcEndpointConnectionNotification.go
    │   │   │       │   ├── api_op_CreateVpcEndpointServiceConfiguration.go
    │   │   │       │   ├── api_op_CreateVpcPeeringConnection.go
    │   │   │       │   ├── api_op_CreateVpnConcentrator.go
    │   │   │       │   ├── api_op_CreateVpnConnection.go
    │   │   │       │   ├── api_op_CreateVpnConnectionRoute.go
    │   │   │       │   ├── api_op_CreateVpnGateway.go
    │   │   │       │   ├── api_op_DeleteCapacityManagerDataExport.go
    │   │   │       │   ├── api_op_DeleteCarrierGateway.go
    │   │   │       │   ├── api_op_DeleteClientVpnEndpoint.go
    │   │   │       │   ├── api_op_DeleteClientVpnRoute.go
    │   │   │       │   ├── api_op_DeleteCoipCidr.go
    │   │   │       │   ├── api_op_DeleteCoipPool.go
    │   │   │       │   ├── api_op_DeleteCustomerGateway.go
    │   │   │       │   ├── api_op_DeleteDhcpOptions.go
    │   │   │       │   ├── api_op_DeleteEgressOnlyInternetGateway.go
    │   │   │       │   ├── api_op_DeleteFleets.go
    │   │   │       │   ├── api_op_DeleteFlowLogs.go
    │   │   │       │   ├── api_op_DeleteFpgaImage.go
    │   │   │       │   ├── api_op_DeleteImageUsageReport.go
    │   │   │       │   ├── api_op_DeleteInstanceConnectEndpoint.go
    │   │   │       │   ├── api_op_DeleteInstanceEventWindow.go
    │   │   │       │   ├── api_op_DeleteInternetGateway.go
    │   │   │       │   ├── api_op_DeleteIpam.go
    │   │   │       │   ├── api_op_DeleteIpamExternalResourceVerificationToken.go
    │   │   │       │   ├── api_op_DeleteIpamPolicy.go
    │   │   │       │   ├── api_op_DeleteIpamPool.go
    │   │   │       │   ├── api_op_DeleteIpamPrefixListResolver.go
    │   │   │       │   ├── api_op_DeleteIpamPrefixListResolverTarget.go
    │   │   │       │   ├── api_op_DeleteIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_DeleteIpamScope.go
    │   │   │       │   ├── api_op_DeleteKeyPair.go
    │   │   │       │   ├── api_op_DeleteLaunchTemplate.go
    │   │   │       │   ├── api_op_DeleteLaunchTemplateVersions.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRoute.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRouteTable.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayRouteTableVpcAssociation.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayVirtualInterface.go
    │   │   │       │   ├── api_op_DeleteLocalGatewayVirtualInterfaceGroup.go
    │   │   │       │   ├── api_op_DeleteManagedPrefixList.go
    │   │   │       │   ├── api_op_DeleteNatGateway.go
    │   │   │       │   ├── api_op_DeleteNetworkAcl.go
    │   │   │       │   ├── api_op_DeleteNetworkAclEntry.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsAccessScope.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsAccessScopeAnalysis.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsAnalysis.go
    │   │   │       │   ├── api_op_DeleteNetworkInsightsPath.go
    │   │   │       │   ├── api_op_DeleteNetworkInterface.go
    │   │   │       │   ├── api_op_DeleteNetworkInterfacePermission.go
    │   │   │       │   ├── api_op_DeletePlacementGroup.go
    │   │   │       │   ├── api_op_DeletePublicIpv4Pool.go
    │   │   │       │   ├── api_op_DeleteQueuedReservedInstances.go
    │   │   │       │   ├── api_op_DeleteRoute.go
    │   │   │       │   ├── api_op_DeleteRouteServer.go
    │   │   │       │   ├── api_op_DeleteRouteServerEndpoint.go
    │   │   │       │   ├── api_op_DeleteRouteServerPeer.go
    │   │   │       │   ├── api_op_DeleteRouteTable.go
    │   │   │       │   ├── api_op_DeleteSecondaryNetwork.go
    │   │   │       │   ├── api_op_DeleteSecondarySubnet.go
    │   │   │       │   ├── api_op_DeleteSecurityGroup.go
    │   │   │       │   ├── api_op_DeleteSnapshot.go
    │   │   │       │   ├── api_op_DeleteSpotDatafeedSubscription.go
    │   │   │       │   ├── api_op_DeleteSubnet.go
    │   │   │       │   ├── api_op_DeleteSubnetCidrReservation.go
    │   │   │       │   ├── api_op_DeleteTags.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorFilter.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorFilterRule.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorSession.go
    │   │   │       │   ├── api_op_DeleteTrafficMirrorTarget.go
    │   │   │       │   ├── api_op_DeleteTransitGateway.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayConnect.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayConnectPeer.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayMeteringPolicy.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayMeteringPolicyEntry.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayPrefixListReference.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayRoute.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayRouteTableAnnouncement.go
    │   │   │       │   ├── api_op_DeleteTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessEndpoint.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessGroup.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessInstance.go
    │   │   │       │   ├── api_op_DeleteVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_DeleteVolume.go
    │   │   │       │   ├── api_op_DeleteVpc.go
    │   │   │       │   ├── api_op_DeleteVpcBlockPublicAccessExclusion.go
    │   │   │       │   ├── api_op_DeleteVpcEncryptionControl.go
    │   │   │       │   ├── api_op_DeleteVpcEndpointConnectionNotifications.go
    │   │   │       │   ├── api_op_DeleteVpcEndpointServiceConfigurations.go
    │   │   │       │   ├── api_op_DeleteVpcEndpoints.go
    │   │   │       │   ├── api_op_DeleteVpcPeeringConnection.go
    │   │   │       │   ├── api_op_DeleteVpnConcentrator.go
    │   │   │       │   ├── api_op_DeleteVpnConnection.go
    │   │   │       │   ├── api_op_DeleteVpnConnectionRoute.go
    │   │   │       │   ├── api_op_DeleteVpnGateway.go
    │   │   │       │   ├── api_op_DeprovisionByoipCidr.go
    │   │   │       │   ├── api_op_DeprovisionIpamByoasn.go
    │   │   │       │   ├── api_op_DeprovisionIpamPoolCidr.go
    │   │   │       │   ├── api_op_DeprovisionPublicIpv4PoolCidr.go
    │   │   │       │   ├── api_op_DeregisterImage.go
    │   │   │       │   ├── api_op_DeregisterInstanceEventNotificationAttributes.go
    │   │   │       │   ├── api_op_DeregisterTransitGatewayMulticastGroupMembers.go
    │   │   │       │   ├── api_op_DeregisterTransitGatewayMulticastGroupSources.go
    │   │   │       │   ├── api_op_DescribeAccountAttributes.go
    │   │   │       │   ├── api_op_DescribeAddressTransfers.go
    │   │   │       │   ├── api_op_DescribeAddresses.go
    │   │   │       │   ├── api_op_DescribeAddressesAttribute.go
    │   │   │       │   ├── api_op_DescribeAggregateIdFormat.go
    │   │   │       │   ├── api_op_DescribeAvailabilityZones.go
    │   │   │       │   ├── api_op_DescribeAwsNetworkPerformanceMetricSubscriptions.go
    │   │   │       │   ├── api_op_DescribeBundleTasks.go
    │   │   │       │   ├── api_op_DescribeByoipCidrs.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockExtensionHistory.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockExtensionOfferings.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockOfferings.go
    │   │   │       │   ├── api_op_DescribeCapacityBlockStatus.go
    │   │   │       │   ├── api_op_DescribeCapacityBlocks.go
    │   │   │       │   ├── api_op_DescribeCapacityManagerDataExports.go
    │   │   │       │   ├── api_op_DescribeCapacityReservationBillingRequests.go
    │   │   │       │   ├── api_op_DescribeCapacityReservationFleets.go
    │   │   │       │   ├── api_op_DescribeCapacityReservationTopology.go
    │   │   │       │   ├── api_op_DescribeCapacityReservations.go
    │   │   │       │   ├── api_op_DescribeCarrierGateways.go
    │   │   │       │   ├── api_op_DescribeClassicLinkInstances.go
    │   │   │       │   ├── api_op_DescribeClientVpnAuthorizationRules.go
    │   │   │       │   ├── api_op_DescribeClientVpnConnections.go
    │   │   │       │   ├── api_op_DescribeClientVpnEndpoints.go
    │   │   │       │   ├── api_op_DescribeClientVpnRoutes.go
    │   │   │       │   ├── api_op_DescribeClientVpnTargetNetworks.go
    │   │   │       │   ├── api_op_DescribeCoipPools.go
    │   │   │       │   ├── api_op_DescribeConversionTasks.go
    │   │   │       │   ├── api_op_DescribeCustomerGateways.go
    │   │   │       │   ├── api_op_DescribeDeclarativePoliciesReports.go
    │   │   │       │   ├── api_op_DescribeDhcpOptions.go
    │   │   │       │   ├── api_op_DescribeEgressOnlyInternetGateways.go
    │   │   │       │   ├── api_op_DescribeElasticGpus.go
    │   │   │       │   ├── api_op_DescribeExportImageTasks.go
    │   │   │       │   ├── api_op_DescribeExportTasks.go
    │   │   │       │   ├── api_op_DescribeFastLaunchImages.go
    │   │   │       │   ├── api_op_DescribeFastSnapshotRestores.go
    │   │   │       │   ├── api_op_DescribeFleetHistory.go
    │   │   │       │   ├── api_op_DescribeFleetInstances.go
    │   │   │       │   ├── api_op_DescribeFleets.go
    │   │   │       │   ├── api_op_DescribeFlowLogs.go
    │   │   │       │   ├── api_op_DescribeFpgaImageAttribute.go
    │   │   │       │   ├── api_op_DescribeFpgaImages.go
    │   │   │       │   ├── api_op_DescribeHostReservationOfferings.go
    │   │   │       │   ├── api_op_DescribeHostReservations.go
    │   │   │       │   ├── api_op_DescribeHosts.go
    │   │   │       │   ├── api_op_DescribeIamInstanceProfileAssociations.go
    │   │   │       │   ├── api_op_DescribeIdFormat.go
    │   │   │       │   ├── api_op_DescribeIdentityIdFormat.go
    │   │   │       │   ├── api_op_DescribeImageAttribute.go
    │   │   │       │   ├── api_op_DescribeImageReferences.go
    │   │   │       │   ├── api_op_DescribeImageUsageReportEntries.go
    │   │   │       │   ├── api_op_DescribeImageUsageReports.go
    │   │   │       │   ├── api_op_DescribeImages.go
    │   │   │       │   ├── api_op_DescribeImportImageTasks.go
    │   │   │       │   ├── api_op_DescribeImportSnapshotTasks.go
    │   │   │       │   ├── api_op_DescribeInstanceAttribute.go
    │   │   │       │   ├── api_op_DescribeInstanceConnectEndpoints.go
    │   │   │       │   ├── api_op_DescribeInstanceCreditSpecifications.go
    │   │   │       │   ├── api_op_DescribeInstanceEventNotificationAttributes.go
    │   │   │       │   ├── api_op_DescribeInstanceEventWindows.go
    │   │   │       │   ├── api_op_DescribeInstanceImageMetadata.go
    │   │   │       │   ├── api_op_DescribeInstanceSqlHaHistoryStates.go
    │   │   │       │   ├── api_op_DescribeInstanceSqlHaStates.go
    │   │   │       │   ├── api_op_DescribeInstanceStatus.go
    │   │   │       │   ├── api_op_DescribeInstanceTopology.go
    │   │   │       │   ├── api_op_DescribeInstanceTypeOfferings.go
    │   │   │       │   ├── api_op_DescribeInstanceTypes.go
    │   │   │       │   ├── api_op_DescribeInstances.go
    │   │   │       │   ├── api_op_DescribeInternetGateways.go
    │   │   │       │   ├── api_op_DescribeIpamByoasn.go
    │   │   │       │   ├── api_op_DescribeIpamExternalResourceVerificationTokens.go
    │   │   │       │   ├── api_op_DescribeIpamPolicies.go
    │   │   │       │   ├── api_op_DescribeIpamPools.go
    │   │   │       │   ├── api_op_DescribeIpamPrefixListResolverTargets.go
    │   │   │       │   ├── api_op_DescribeIpamPrefixListResolvers.go
    │   │   │       │   ├── api_op_DescribeIpamResourceDiscoveries.go
    │   │   │       │   ├── api_op_DescribeIpamResourceDiscoveryAssociations.go
    │   │   │       │   ├── api_op_DescribeIpamScopes.go
    │   │   │       │   ├── api_op_DescribeIpams.go
    │   │   │       │   ├── api_op_DescribeIpv6Pools.go
    │   │   │       │   ├── api_op_DescribeKeyPairs.go
    │   │   │       │   ├── api_op_DescribeLaunchTemplateVersions.go
    │   │   │       │   ├── api_op_DescribeLaunchTemplates.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayRouteTableVpcAssociations.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayRouteTables.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayVirtualInterfaceGroups.go
    │   │   │       │   ├── api_op_DescribeLocalGatewayVirtualInterfaces.go
    │   │   │       │   ├── api_op_DescribeLocalGateways.go
    │   │   │       │   ├── api_op_DescribeLockedSnapshots.go
    │   │   │       │   ├── api_op_DescribeMacHosts.go
    │   │   │       │   ├── api_op_DescribeMacModificationTasks.go
    │   │   │       │   ├── api_op_DescribeManagedPrefixLists.go
    │   │   │       │   ├── api_op_DescribeMovingAddresses.go
    │   │   │       │   ├── api_op_DescribeNatGateways.go
    │   │   │       │   ├── api_op_DescribeNetworkAcls.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsAccessScopeAnalyses.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsAccessScopes.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsAnalyses.go
    │   │   │       │   ├── api_op_DescribeNetworkInsightsPaths.go
    │   │   │       │   ├── api_op_DescribeNetworkInterfaceAttribute.go
    │   │   │       │   ├── api_op_DescribeNetworkInterfacePermissions.go
    │   │   │       │   ├── api_op_DescribeNetworkInterfaces.go
    │   │   │       │   ├── api_op_DescribeOutpostLags.go
    │   │   │       │   ├── api_op_DescribePlacementGroups.go
    │   │   │       │   ├── api_op_DescribePrefixLists.go
    │   │   │       │   ├── api_op_DescribePrincipalIdFormat.go
    │   │   │       │   ├── api_op_DescribePublicIpv4Pools.go
    │   │   │       │   ├── api_op_DescribeRegions.go
    │   │   │       │   ├── api_op_DescribeReplaceRootVolumeTasks.go
    │   │   │       │   ├── api_op_DescribeReservedInstances.go
    │   │   │       │   ├── api_op_DescribeReservedInstancesListings.go
    │   │   │       │   ├── api_op_DescribeReservedInstancesModifications.go
    │   │   │       │   ├── api_op_DescribeReservedInstancesOfferings.go
    │   │   │       │   ├── api_op_DescribeRouteServerEndpoints.go
    │   │   │       │   ├── api_op_DescribeRouteServerPeers.go
    │   │   │       │   ├── api_op_DescribeRouteServers.go
    │   │   │       │   ├── api_op_DescribeRouteTables.go
    │   │   │       │   ├── api_op_DescribeScheduledInstanceAvailability.go
    │   │   │       │   ├── api_op_DescribeScheduledInstances.go
    │   │   │       │   ├── api_op_DescribeSecondaryInterfaces.go
    │   │   │       │   ├── api_op_DescribeSecondaryNetworks.go
    │   │   │       │   ├── api_op_DescribeSecondarySubnets.go
    │   │   │       │   ├── api_op_DescribeSecurityGroupReferences.go
    │   │   │       │   ├── api_op_DescribeSecurityGroupRules.go
    │   │   │       │   ├── api_op_DescribeSecurityGroupVpcAssociations.go
    │   │   │       │   ├── api_op_DescribeSecurityGroups.go
    │   │   │       │   ├── api_op_DescribeServiceLinkVirtualInterfaces.go
    │   │   │       │   ├── api_op_DescribeSnapshotAttribute.go
    │   │   │       │   ├── api_op_DescribeSnapshotTierStatus.go
    │   │   │       │   ├── api_op_DescribeSnapshots.go
    │   │   │       │   ├── api_op_DescribeSpotDatafeedSubscription.go
    │   │   │       │   ├── api_op_DescribeSpotFleetInstances.go
    │   │   │       │   ├── api_op_DescribeSpotFleetRequestHistory.go
    │   │   │       │   ├── api_op_DescribeSpotFleetRequests.go
    │   │   │       │   ├── api_op_DescribeSpotInstanceRequests.go
    │   │   │       │   ├── api_op_DescribeSpotPriceHistory.go
    │   │   │       │   ├── api_op_DescribeStaleSecurityGroups.go
    │   │   │       │   ├── api_op_DescribeStoreImageTasks.go
    │   │   │       │   ├── api_op_DescribeSubnets.go
    │   │   │       │   ├── api_op_DescribeTags.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorFilterRules.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorFilters.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorSessions.go
    │   │   │       │   ├── api_op_DescribeTrafficMirrorTargets.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayAttachments.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayConnectPeers.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayConnects.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayMeteringPolicies.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayMulticastDomains.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayPeeringAttachments.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayPolicyTables.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayRouteTableAnnouncements.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayRouteTables.go
    │   │   │       │   ├── api_op_DescribeTransitGatewayVpcAttachments.go
    │   │   │       │   ├── api_op_DescribeTransitGateways.go
    │   │   │       │   ├── api_op_DescribeTrunkInterfaceAssociations.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessEndpoints.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessGroups.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessInstanceLoggingConfigurations.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessInstances.go
    │   │   │       │   ├── api_op_DescribeVerifiedAccessTrustProviders.go
    │   │   │       │   ├── api_op_DescribeVolumeAttribute.go
    │   │   │       │   ├── api_op_DescribeVolumeStatus.go
    │   │   │       │   ├── api_op_DescribeVolumes.go
    │   │   │       │   ├── api_op_DescribeVolumesModifications.go
    │   │   │       │   ├── api_op_DescribeVpcAttribute.go
    │   │   │       │   ├── api_op_DescribeVpcBlockPublicAccessExclusions.go
    │   │   │       │   ├── api_op_DescribeVpcBlockPublicAccessOptions.go
    │   │   │       │   ├── api_op_DescribeVpcClassicLink.go
    │   │   │       │   ├── api_op_DescribeVpcClassicLinkDnsSupport.go
    │   │   │       │   ├── api_op_DescribeVpcEncryptionControls.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointAssociations.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointConnectionNotifications.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointConnections.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointServiceConfigurations.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointServicePermissions.go
    │   │   │       │   ├── api_op_DescribeVpcEndpointServices.go
    │   │   │       │   ├── api_op_DescribeVpcEndpoints.go
    │   │   │       │   ├── api_op_DescribeVpcPeeringConnections.go
    │   │   │       │   ├── api_op_DescribeVpcs.go
    │   │   │       │   ├── api_op_DescribeVpnConcentrators.go
    │   │   │       │   ├── api_op_DescribeVpnConnections.go
    │   │   │       │   ├── api_op_DescribeVpnGateways.go
    │   │   │       │   ├── api_op_DetachClassicLinkVpc.go
    │   │   │       │   ├── api_op_DetachInternetGateway.go
    │   │   │       │   ├── api_op_DetachNetworkInterface.go
    │   │   │       │   ├── api_op_DetachVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_DetachVolume.go
    │   │   │       │   ├── api_op_DetachVpnGateway.go
    │   │   │       │   ├── api_op_DisableAddressTransfer.go
    │   │   │       │   ├── api_op_DisableAllowedImagesSettings.go
    │   │   │       │   ├── api_op_DisableAwsNetworkPerformanceMetricSubscription.go
    │   │   │       │   ├── api_op_DisableCapacityManager.go
    │   │   │       │   ├── api_op_DisableEbsEncryptionByDefault.go
    │   │   │       │   ├── api_op_DisableFastLaunch.go
    │   │   │       │   ├── api_op_DisableFastSnapshotRestores.go
    │   │   │       │   ├── api_op_DisableImage.go
    │   │   │       │   ├── api_op_DisableImageBlockPublicAccess.go
    │   │   │       │   ├── api_op_DisableImageDeprecation.go
    │   │   │       │   ├── api_op_DisableImageDeregistrationProtection.go
    │   │   │       │   ├── api_op_DisableInstanceSqlHaStandbyDetections.go
    │   │   │       │   ├── api_op_DisableIpamOrganizationAdminAccount.go
    │   │   │       │   ├── api_op_DisableIpamPolicy.go
    │   │   │       │   ├── api_op_DisableRouteServerPropagation.go
    │   │   │       │   ├── api_op_DisableSerialConsoleAccess.go
    │   │   │       │   ├── api_op_DisableSnapshotBlockPublicAccess.go
    │   │   │       │   ├── api_op_DisableTransitGatewayRouteTablePropagation.go
    │   │   │       │   ├── api_op_DisableVgwRoutePropagation.go
    │   │   │       │   ├── api_op_DisableVpcClassicLink.go
    │   │   │       │   ├── api_op_DisableVpcClassicLinkDnsSupport.go
    │   │   │       │   ├── api_op_DisassociateAddress.go
    │   │   │       │   ├── api_op_DisassociateCapacityReservationBillingOwner.go
    │   │   │       │   ├── api_op_DisassociateClientVpnTargetNetwork.go
    │   │   │       │   ├── api_op_DisassociateEnclaveCertificateIamRole.go
    │   │   │       │   ├── api_op_DisassociateIamInstanceProfile.go
    │   │   │       │   ├── api_op_DisassociateInstanceEventWindow.go
    │   │   │       │   ├── api_op_DisassociateIpamByoasn.go
    │   │   │       │   ├── api_op_DisassociateIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_DisassociateNatGatewayAddress.go
    │   │   │       │   ├── api_op_DisassociateRouteServer.go
    │   │   │       │   ├── api_op_DisassociateRouteTable.go
    │   │   │       │   ├── api_op_DisassociateSecurityGroupVpc.go
    │   │   │       │   ├── api_op_DisassociateSubnetCidrBlock.go
    │   │   │       │   ├── api_op_DisassociateTransitGatewayMulticastDomain.go
    │   │   │       │   ├── api_op_DisassociateTransitGatewayPolicyTable.go
    │   │   │       │   ├── api_op_DisassociateTransitGatewayRouteTable.go
    │   │   │       │   ├── api_op_DisassociateTrunkInterface.go
    │   │   │       │   ├── api_op_DisassociateVpcCidrBlock.go
    │   │   │       │   ├── api_op_EnableAddressTransfer.go
    │   │   │       │   ├── api_op_EnableAllowedImagesSettings.go
    │   │   │       │   ├── api_op_EnableAwsNetworkPerformanceMetricSubscription.go
    │   │   │       │   ├── api_op_EnableCapacityManager.go
    │   │   │       │   ├── api_op_EnableEbsEncryptionByDefault.go
    │   │   │       │   ├── api_op_EnableFastLaunch.go
    │   │   │       │   ├── api_op_EnableFastSnapshotRestores.go
    │   │   │       │   ├── api_op_EnableImage.go
    │   │   │       │   ├── api_op_EnableImageBlockPublicAccess.go
    │   │   │       │   ├── api_op_EnableImageDeprecation.go
    │   │   │       │   ├── api_op_EnableImageDeregistrationProtection.go
    │   │   │       │   ├── api_op_EnableInstanceSqlHaStandbyDetections.go
    │   │   │       │   ├── api_op_EnableIpamOrganizationAdminAccount.go
    │   │   │       │   ├── api_op_EnableIpamPolicy.go
    │   │   │       │   ├── api_op_EnableReachabilityAnalyzerOrganizationSharing.go
    │   │   │       │   ├── api_op_EnableRouteServerPropagation.go
    │   │   │       │   ├── api_op_EnableSerialConsoleAccess.go
    │   │   │       │   ├── api_op_EnableSnapshotBlockPublicAccess.go
    │   │   │       │   ├── api_op_EnableTransitGatewayRouteTablePropagation.go
    │   │   │       │   ├── api_op_EnableVgwRoutePropagation.go
    │   │   │       │   ├── api_op_EnableVolumeIO.go
    │   │   │       │   ├── api_op_EnableVpcClassicLink.go
    │   │   │       │   ├── api_op_EnableVpcClassicLinkDnsSupport.go
    │   │   │       │   ├── api_op_ExportClientVpnClientCertificateRevocationList.go
    │   │   │       │   ├── api_op_ExportClientVpnClientConfiguration.go
    │   │   │       │   ├── api_op_ExportImage.go
    │   │   │       │   ├── api_op_ExportTransitGatewayRoutes.go
    │   │   │       │   ├── api_op_ExportVerifiedAccessInstanceClientConfiguration.go
    │   │   │       │   ├── api_op_GetActiveVpnTunnelStatus.go
    │   │   │       │   ├── api_op_GetAllowedImagesSettings.go
    │   │   │       │   ├── api_op_GetAssociatedEnclaveCertificateIamRoles.go
    │   │   │       │   ├── api_op_GetAssociatedIpv6PoolCidrs.go
    │   │   │       │   ├── api_op_GetAwsNetworkPerformanceData.go
    │   │   │       │   ├── api_op_GetCapacityManagerAttributes.go
    │   │   │       │   ├── api_op_GetCapacityManagerMetricData.go
    │   │   │       │   ├── api_op_GetCapacityManagerMetricDimensions.go
    │   │   │       │   ├── api_op_GetCapacityReservationUsage.go
    │   │   │       │   ├── api_op_GetCoipPoolUsage.go
    │   │   │       │   ├── api_op_GetConsoleOutput.go
    │   │   │       │   ├── api_op_GetConsoleScreenshot.go
    │   │   │       │   ├── api_op_GetDeclarativePoliciesReportSummary.go
    │   │   │       │   ├── api_op_GetDefaultCreditSpecification.go
    │   │   │       │   ├── api_op_GetEbsDefaultKmsKeyId.go
    │   │   │       │   ├── api_op_GetEbsEncryptionByDefault.go
    │   │   │       │   ├── api_op_GetEnabledIpamPolicy.go
    │   │   │       │   ├── api_op_GetFlowLogsIntegrationTemplate.go
    │   │   │       │   ├── api_op_GetGroupsForCapacityReservation.go
    │   │   │       │   ├── api_op_GetHostReservationPurchasePreview.go
    │   │   │       │   ├── api_op_GetImageAncestry.go
    │   │   │       │   ├── api_op_GetImageBlockPublicAccessState.go
    │   │   │       │   ├── api_op_GetInstanceMetadataDefaults.go
    │   │   │       │   ├── api_op_GetInstanceTpmEkPub.go
    │   │   │       │   ├── api_op_GetInstanceTypesFromInstanceRequirements.go
    │   │   │       │   ├── api_op_GetInstanceUefiData.go
    │   │   │       │   ├── api_op_GetIpamAddressHistory.go
    │   │   │       │   ├── api_op_GetIpamDiscoveredAccounts.go
    │   │   │       │   ├── api_op_GetIpamDiscoveredPublicAddresses.go
    │   │   │       │   ├── api_op_GetIpamDiscoveredResourceCidrs.go
    │   │   │       │   ├── api_op_GetIpamPolicyAllocationRules.go
    │   │   │       │   ├── api_op_GetIpamPolicyOrganizationTargets.go
    │   │   │       │   ├── api_op_GetIpamPoolAllocations.go
    │   │   │       │   ├── api_op_GetIpamPoolCidrs.go
    │   │   │       │   ├── api_op_GetIpamPrefixListResolverRules.go
    │   │   │       │   ├── api_op_GetIpamPrefixListResolverVersionEntries.go
    │   │   │       │   ├── api_op_GetIpamPrefixListResolverVersions.go
    │   │   │       │   ├── api_op_GetIpamResourceCidrs.go
    │   │   │       │   ├── api_op_GetLaunchTemplateData.go
    │   │   │       │   ├── api_op_GetManagedPrefixListAssociations.go
    │   │   │       │   ├── api_op_GetManagedPrefixListEntries.go
    │   │   │       │   ├── api_op_GetNetworkInsightsAccessScopeAnalysisFindings.go
    │   │   │       │   ├── api_op_GetNetworkInsightsAccessScopeContent.go
    │   │   │       │   ├── api_op_GetPasswordData.go
    │   │   │       │   ├── api_op_GetReservedInstancesExchangeQuote.go
    │   │   │       │   ├── api_op_GetRouteServerAssociations.go
    │   │   │       │   ├── api_op_GetRouteServerPropagations.go
    │   │   │       │   ├── api_op_GetRouteServerRoutingDatabase.go
    │   │   │       │   ├── api_op_GetSecurityGroupsForVpc.go
    │   │   │       │   ├── api_op_GetSerialConsoleAccessStatus.go
    │   │   │       │   ├── api_op_GetSnapshotBlockPublicAccessState.go
    │   │   │       │   ├── api_op_GetSpotPlacementScores.go
    │   │   │       │   ├── api_op_GetSubnetCidrReservations.go
    │   │   │       │   ├── api_op_GetTransitGatewayAttachmentPropagations.go
    │   │   │       │   ├── api_op_GetTransitGatewayMeteringPolicyEntries.go
    │   │   │       │   ├── api_op_GetTransitGatewayMulticastDomainAssociations.go
    │   │   │       │   ├── api_op_GetTransitGatewayPolicyTableAssociations.go
    │   │   │       │   ├── api_op_GetTransitGatewayPolicyTableEntries.go
    │   │   │       │   ├── api_op_GetTransitGatewayPrefixListReferences.go
    │   │   │       │   ├── api_op_GetTransitGatewayRouteTableAssociations.go
    │   │   │       │   ├── api_op_GetTransitGatewayRouteTablePropagations.go
    │   │   │       │   ├── api_op_GetVerifiedAccessEndpointPolicy.go
    │   │   │       │   ├── api_op_GetVerifiedAccessEndpointTargets.go
    │   │   │       │   ├── api_op_GetVerifiedAccessGroupPolicy.go
    │   │   │       │   ├── api_op_GetVpcResourcesBlockingEncryptionEnforcement.go
    │   │   │       │   ├── api_op_GetVpnConnectionDeviceSampleConfiguration.go
    │   │   │       │   ├── api_op_GetVpnConnectionDeviceTypes.go
    │   │   │       │   ├── api_op_GetVpnTunnelReplacementStatus.go
    │   │   │       │   ├── api_op_ImportClientVpnClientCertificateRevocationList.go
    │   │   │       │   ├── api_op_ImportImage.go
    │   │   │       │   ├── api_op_ImportInstance.go
    │   │   │       │   ├── api_op_ImportKeyPair.go
    │   │   │       │   ├── api_op_ImportSnapshot.go
    │   │   │       │   ├── api_op_ImportVolume.go
    │   │   │       │   ├── api_op_ListImagesInRecycleBin.go
    │   │   │       │   ├── api_op_ListSnapshotsInRecycleBin.go
    │   │   │       │   ├── api_op_ListVolumesInRecycleBin.go
    │   │   │       │   ├── api_op_LockSnapshot.go
    │   │   │       │   ├── api_op_ModifyAddressAttribute.go
    │   │   │       │   ├── api_op_ModifyAvailabilityZoneGroup.go
    │   │   │       │   ├── api_op_ModifyCapacityReservation.go
    │   │   │       │   ├── api_op_ModifyCapacityReservationFleet.go
    │   │   │       │   ├── api_op_ModifyClientVpnEndpoint.go
    │   │   │       │   ├── api_op_ModifyDefaultCreditSpecification.go
    │   │   │       │   ├── api_op_ModifyEbsDefaultKmsKeyId.go
    │   │   │       │   ├── api_op_ModifyFleet.go
    │   │   │       │   ├── api_op_ModifyFpgaImageAttribute.go
    │   │   │       │   ├── api_op_ModifyHosts.go
    │   │   │       │   ├── api_op_ModifyIdFormat.go
    │   │   │       │   ├── api_op_ModifyIdentityIdFormat.go
    │   │   │       │   ├── api_op_ModifyImageAttribute.go
    │   │   │       │   ├── api_op_ModifyInstanceAttribute.go
    │   │   │       │   ├── api_op_ModifyInstanceCapacityReservationAttributes.go
    │   │   │       │   ├── api_op_ModifyInstanceConnectEndpoint.go
    │   │   │       │   ├── api_op_ModifyInstanceCpuOptions.go
    │   │   │       │   ├── api_op_ModifyInstanceCreditSpecification.go
    │   │   │       │   ├── api_op_ModifyInstanceEventStartTime.go
    │   │   │       │   ├── api_op_ModifyInstanceEventWindow.go
    │   │   │       │   ├── api_op_ModifyInstanceMaintenanceOptions.go
    │   │   │       │   ├── api_op_ModifyInstanceMetadataDefaults.go
    │   │   │       │   ├── api_op_ModifyInstanceMetadataOptions.go
    │   │   │       │   ├── api_op_ModifyInstanceNetworkPerformanceOptions.go
    │   │   │       │   ├── api_op_ModifyInstancePlacement.go
    │   │   │       │   ├── api_op_ModifyIpam.go
    │   │   │       │   ├── api_op_ModifyIpamPolicyAllocationRules.go
    │   │   │       │   ├── api_op_ModifyIpamPool.go
    │   │   │       │   ├── api_op_ModifyIpamPrefixListResolver.go
    │   │   │       │   ├── api_op_ModifyIpamPrefixListResolverTarget.go
    │   │   │       │   ├── api_op_ModifyIpamResourceCidr.go
    │   │   │       │   ├── api_op_ModifyIpamResourceDiscovery.go
    │   │   │       │   ├── api_op_ModifyIpamScope.go
    │   │   │       │   ├── api_op_ModifyLaunchTemplate.go
    │   │   │       │   ├── api_op_ModifyLocalGatewayRoute.go
    │   │   │       │   ├── api_op_ModifyManagedPrefixList.go
    │   │   │       │   ├── api_op_ModifyNetworkInterfaceAttribute.go
    │   │   │       │   ├── api_op_ModifyPrivateDnsNameOptions.go
    │   │   │       │   ├── api_op_ModifyPublicIpDnsNameOptions.go
    │   │   │       │   ├── api_op_ModifyReservedInstances.go
    │   │   │       │   ├── api_op_ModifyRouteServer.go
    │   │   │       │   ├── api_op_ModifySecurityGroupRules.go
    │   │   │       │   ├── api_op_ModifySnapshotAttribute.go
    │   │   │       │   ├── api_op_ModifySnapshotTier.go
    │   │   │       │   ├── api_op_ModifySpotFleetRequest.go
    │   │   │       │   ├── api_op_ModifySubnetAttribute.go
    │   │   │       │   ├── api_op_ModifyTrafficMirrorFilterNetworkServices.go
    │   │   │       │   ├── api_op_ModifyTrafficMirrorFilterRule.go
    │   │   │       │   ├── api_op_ModifyTrafficMirrorSession.go
    │   │   │       │   ├── api_op_ModifyTransitGateway.go
    │   │   │       │   ├── api_op_ModifyTransitGatewayMeteringPolicy.go
    │   │   │       │   ├── api_op_ModifyTransitGatewayPrefixListReference.go
    │   │   │       │   ├── api_op_ModifyTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessEndpoint.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessEndpointPolicy.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessGroup.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessGroupPolicy.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessInstance.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessInstanceLoggingConfiguration.go
    │   │   │       │   ├── api_op_ModifyVerifiedAccessTrustProvider.go
    │   │   │       │   ├── api_op_ModifyVolume.go
    │   │   │       │   ├── api_op_ModifyVolumeAttribute.go
    │   │   │       │   ├── api_op_ModifyVpcAttribute.go
    │   │   │       │   ├── api_op_ModifyVpcBlockPublicAccessExclusion.go
    │   │   │       │   ├── api_op_ModifyVpcBlockPublicAccessOptions.go
    │   │   │       │   ├── api_op_ModifyVpcEncryptionControl.go
    │   │   │       │   ├── api_op_ModifyVpcEndpoint.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointConnectionNotification.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointServiceConfiguration.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointServicePayerResponsibility.go
    │   │   │       │   ├── api_op_ModifyVpcEndpointServicePermissions.go
    │   │   │       │   ├── api_op_ModifyVpcPeeringConnectionOptions.go
    │   │   │       │   ├── api_op_ModifyVpcTenancy.go
    │   │   │       │   ├── api_op_ModifyVpnConnection.go
    │   │   │       │   ├── api_op_ModifyVpnConnectionOptions.go
    │   │   │       │   ├── api_op_ModifyVpnTunnelCertificate.go
    │   │   │       │   ├── api_op_ModifyVpnTunnelOptions.go
    │   │   │       │   ├── api_op_MonitorInstances.go
    │   │   │       │   ├── api_op_MoveAddressToVpc.go
    │   │   │       │   ├── api_op_MoveByoipCidrToIpam.go
    │   │   │       │   ├── api_op_MoveCapacityReservationInstances.go
    │   │   │       │   ├── api_op_ProvisionByoipCidr.go
    │   │   │       │   ├── api_op_ProvisionIpamByoasn.go
    │   │   │       │   ├── api_op_ProvisionIpamPoolCidr.go
    │   │   │       │   ├── api_op_ProvisionPublicIpv4PoolCidr.go
    │   │   │       │   ├── api_op_PurchaseCapacityBlock.go
    │   │   │       │   ├── api_op_PurchaseCapacityBlockExtension.go
    │   │   │       │   ├── api_op_PurchaseHostReservation.go
    │   │   │       │   ├── api_op_PurchaseReservedInstancesOffering.go
    │   │   │       │   ├── api_op_PurchaseScheduledInstances.go
    │   │   │       │   ├── api_op_RebootInstances.go
    │   │   │       │   ├── api_op_RegisterImage.go
    │   │   │       │   ├── api_op_RegisterInstanceEventNotificationAttributes.go
    │   │   │       │   ├── api_op_RegisterTransitGatewayMulticastGroupMembers.go
    │   │   │       │   ├── api_op_RegisterTransitGatewayMulticastGroupSources.go
    │   │   │       │   ├── api_op_RejectCapacityReservationBillingOwnership.go
    │   │   │       │   ├── api_op_RejectTransitGatewayMulticastDomainAssociations.go
    │   │   │       │   ├── api_op_RejectTransitGatewayPeeringAttachment.go
    │   │   │       │   ├── api_op_RejectTransitGatewayVpcAttachment.go
    │   │   │       │   ├── api_op_RejectVpcEndpointConnections.go
    │   │   │       │   ├── api_op_RejectVpcPeeringConnection.go
    │   │   │       │   ├── api_op_ReleaseAddress.go
    │   │   │       │   ├── api_op_ReleaseHosts.go
    │   │   │       │   ├── api_op_ReleaseIpamPoolAllocation.go
    │   │   │       │   ├── api_op_ReplaceIamInstanceProfileAssociation.go
    │   │   │       │   ├── api_op_ReplaceImageCriteriaInAllowedImagesSettings.go
    │   │   │       │   ├── api_op_ReplaceNetworkAclAssociation.go
    │   │   │       │   ├── api_op_ReplaceNetworkAclEntry.go
    │   │   │       │   ├── api_op_ReplaceRoute.go
    │   │   │       │   ├── api_op_ReplaceRouteTableAssociation.go
    │   │   │       │   ├── api_op_ReplaceTransitGatewayRoute.go
    │   │   │       │   ├── api_op_ReplaceVpnTunnel.go
    │   │   │       │   ├── api_op_ReportInstanceStatus.go
    │   │   │       │   ├── api_op_RequestSpotFleet.go
    │   │   │       │   ├── api_op_RequestSpotInstances.go
    │   │   │       │   ├── api_op_ResetAddressAttribute.go
    │   │   │       │   ├── api_op_ResetEbsDefaultKmsKeyId.go
    │   │   │       │   ├── api_op_ResetFpgaImageAttribute.go
    │   │   │       │   ├── api_op_ResetImageAttribute.go
    │   │   │       │   ├── api_op_ResetInstanceAttribute.go
    │   │   │       │   ├── api_op_ResetNetworkInterfaceAttribute.go
    │   │   │       │   ├── api_op_ResetSnapshotAttribute.go
    │   │   │       │   ├── api_op_RestoreAddressToClassic.go
    │   │   │       │   ├── api_op_RestoreImageFromRecycleBin.go
    │   │   │       │   ├── api_op_RestoreManagedPrefixListVersion.go
    │   │   │       │   ├── api_op_RestoreSnapshotFromRecycleBin.go
    │   │   │       │   ├── api_op_RestoreSnapshotTier.go
    │   │   │       │   ├── api_op_RestoreVolumeFromRecycleBin.go
    │   │   │       │   ├── api_op_RevokeClientVpnIngress.go
    │   │   │       │   ├── api_op_RevokeSecurityGroupEgress.go
    │   │   │       │   ├── api_op_RevokeSecurityGroupIngress.go
    │   │   │       │   ├── api_op_RunInstances.go
    │   │   │       │   ├── api_op_RunScheduledInstances.go
    │   │   │       │   ├── api_op_SearchLocalGatewayRoutes.go
    │   │   │       │   ├── api_op_SearchTransitGatewayMulticastGroups.go
    │   │   │       │   ├── api_op_SearchTransitGatewayRoutes.go
    │   │   │       │   ├── api_op_SendDiagnosticInterrupt.go
    │   │   │       │   ├── api_op_StartDeclarativePoliciesReport.go
    │   │   │       │   ├── api_op_StartInstances.go
    │   │   │       │   ├── api_op_StartNetworkInsightsAccessScopeAnalysis.go
    │   │   │       │   ├── api_op_StartNetworkInsightsAnalysis.go
    │   │   │       │   ├── api_op_StartVpcEndpointServicePrivateDnsVerification.go
    │   │   │       │   ├── api_op_StopInstances.go
    │   │   │       │   ├── api_op_TerminateClientVpnConnections.go
    │   │   │       │   ├── api_op_TerminateInstances.go
    │   │   │       │   ├── api_op_UnassignIpv6Addresses.go
    │   │   │       │   ├── api_op_UnassignPrivateIpAddresses.go
    │   │   │       │   ├── api_op_UnassignPrivateNatGatewayAddress.go
    │   │   │       │   ├── api_op_UnlockSnapshot.go
    │   │   │       │   ├── api_op_UnmonitorInstances.go
    │   │   │       │   ├── api_op_UpdateCapacityManagerOrganizationsAccess.go
    │   │   │       │   ├── api_op_UpdateInterruptibleCapacityReservationAllocation.go
    │   │   │       │   ├── api_op_UpdateSecurityGroupRuleDescriptionsEgress.go
    │   │   │       │   ├── api_op_UpdateSecurityGroupRuleDescriptionsIngress.go
    │   │   │       │   ├── api_op_WithdrawByoipCidr.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── internal/
    │   │   │       │   ├── accept-encoding/
    │   │   │       │   │   ├── CHANGELOG.md
    │   │   │       │   │   ├── LICENSE.txt
    │   │   │       │   │   ├── accept_encoding_gzip.go
    │   │   │       │   │   ├── doc.go
    │   │   │       │   │   └── go_module_metadata.go
    │   │   │       │   ├── checksum/
    │   │   │       │   │   ├── CHANGELOG.md
    │   │   │       │   │   ├── LICENSE.txt
    │   │   │       │   │   ├── algorithms.go
    │   │   │       │   │   ├── aws_chunked_encoding.go
    │   │   │       │   │   ├── go_module_metadata.go
    │   │   │       │   │   ├── middleware_add.go
    │   │   │       │   │   ├── middleware_checksum_metrics_tracking.go
    │   │   │       │   │   ├── middleware_compute_input_checksum.go
    │   │   │       │   │   ├── middleware_setup_context.go
    │   │   │       │   │   └── middleware_validate_output.go
    │   │   │       │   ├── presigned-url/
    │   │   │       │   │   ├── CHANGELOG.md
    │   │   │       │   │   ├── LICENSE.txt
    │   │   │       │   │   ├── context.go
    │   │   │       │   │   ├── doc.go
    │   │   │       │   │   ├── go_module_metadata.go
    │   │   │       │   │   └── middleware.go
    │   │   │       │   └── s3shared/
    │   │   │       │       ├── CHANGELOG.md
    │   │   │       │       ├── LICENSE.txt
    │   │   │       │       ├── arn/
    │   │   │       │       │   ├── accesspoint_arn.go
    │   │   │       │       │   ├── arn.go
    │   │   │       │       │   ├── arn_member.go
    │   │   │       │       │   ├── outpost_arn.go
    │   │   │       │       │   └── s3_object_lambda_arn.go
    │   │   │       │       ├── arn_lookup.go
    │   │   │       │       ├── config/
    │   │   │       │       │   └── config.go
    │   │   │       │       ├── endpoint_error.go
    │   │   │       │       ├── go_module_metadata.go
    │   │   │       │       ├── host_id.go
    │   │   │       │       ├── metadata.go
    │   │   │       │       ├── metadata_retriever.go
    │   │   │       │       ├── resource_request.go
    │   │   │       │       ├── response_error.go
    │   │   │       │       ├── response_error_middleware.go
    │   │   │       │       ├── s3100continue.go
    │   │   │       │       ├── update_endpoint.go
    │   │   │       │       └── xml_utils.go
    │   │   │       ├── s3/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_AbortMultipartUpload.go
    │   │   │       │   ├── api_op_CompleteMultipartUpload.go
    │   │   │       │   ├── api_op_CopyObject.go
    │   │   │       │   ├── api_op_CreateBucket.go
    │   │   │       │   ├── api_op_CreateBucketMetadataConfiguration.go
    │   │   │       │   ├── api_op_CreateBucketMetadataTableConfiguration.go
    │   │   │       │   ├── api_op_CreateMultipartUpload.go
    │   │   │       │   ├── api_op_CreateSession.go
    │   │   │       │   ├── api_op_DeleteBucket.go
    │   │   │       │   ├── api_op_DeleteBucketAnalyticsConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketCors.go
    │   │   │       │   ├── api_op_DeleteBucketEncryption.go
    │   │   │       │   ├── api_op_DeleteBucketIntelligentTieringConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketInventoryConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketLifecycle.go
    │   │   │       │   ├── api_op_DeleteBucketMetadataConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketMetadataTableConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketMetricsConfiguration.go
    │   │   │       │   ├── api_op_DeleteBucketOwnershipControls.go
    │   │   │       │   ├── api_op_DeleteBucketPolicy.go
    │   │   │       │   ├── api_op_DeleteBucketReplication.go
    │   │   │       │   ├── api_op_DeleteBucketTagging.go
    │   │   │       │   ├── api_op_DeleteBucketWebsite.go
    │   │   │       │   ├── api_op_DeleteObject.go
    │   │   │       │   ├── api_op_DeleteObjectTagging.go
    │   │   │       │   ├── api_op_DeleteObjects.go
    │   │   │       │   ├── api_op_DeletePublicAccessBlock.go
    │   │   │       │   ├── api_op_GetBucketAccelerateConfiguration.go
    │   │   │       │   ├── api_op_GetBucketAcl.go
    │   │   │       │   ├── api_op_GetBucketAnalyticsConfiguration.go
    │   │   │       │   ├── api_op_GetBucketCors.go
    │   │   │       │   ├── api_op_GetBucketEncryption.go
    │   │   │       │   ├── api_op_GetBucketIntelligentTieringConfiguration.go
    │   │   │       │   ├── api_op_GetBucketInventoryConfiguration.go
    │   │   │       │   ├── api_op_GetBucketLifecycleConfiguration.go
    │   │   │       │   ├── api_op_GetBucketLocation.go
    │   │   │       │   ├── api_op_GetBucketLogging.go
    │   │   │       │   ├── api_op_GetBucketMetadataConfiguration.go
    │   │   │       │   ├── api_op_GetBucketMetadataTableConfiguration.go
    │   │   │       │   ├── api_op_GetBucketMetricsConfiguration.go
    │   │   │       │   ├── api_op_GetBucketNotificationConfiguration.go
    │   │   │       │   ├── api_op_GetBucketOwnershipControls.go
    │   │   │       │   ├── api_op_GetBucketPolicy.go
    │   │   │       │   ├── api_op_GetBucketPolicyStatus.go
    │   │   │       │   ├── api_op_GetBucketReplication.go
    │   │   │       │   ├── api_op_GetBucketRequestPayment.go
    │   │   │       │   ├── api_op_GetBucketTagging.go
    │   │   │       │   ├── api_op_GetBucketVersioning.go
    │   │   │       │   ├── api_op_GetBucketWebsite.go
    │   │   │       │   ├── api_op_GetObject.go
    │   │   │       │   ├── api_op_GetObjectAcl.go
    │   │   │       │   ├── api_op_GetObjectAttributes.go
    │   │   │       │   ├── api_op_GetObjectLegalHold.go
    │   │   │       │   ├── api_op_GetObjectLockConfiguration.go
    │   │   │       │   ├── api_op_GetObjectRetention.go
    │   │   │       │   ├── api_op_GetObjectTagging.go
    │   │   │       │   ├── api_op_GetObjectTorrent.go
    │   │   │       │   ├── api_op_GetPublicAccessBlock.go
    │   │   │       │   ├── api_op_HeadBucket.go
    │   │   │       │   ├── api_op_HeadObject.go
    │   │   │       │   ├── api_op_ListBucketAnalyticsConfigurations.go
    │   │   │       │   ├── api_op_ListBucketIntelligentTieringConfigurations.go
    │   │   │       │   ├── api_op_ListBucketInventoryConfigurations.go
    │   │   │       │   ├── api_op_ListBucketMetricsConfigurations.go
    │   │   │       │   ├── api_op_ListBuckets.go
    │   │   │       │   ├── api_op_ListDirectoryBuckets.go
    │   │   │       │   ├── api_op_ListMultipartUploads.go
    │   │   │       │   ├── api_op_ListObjectVersions.go
    │   │   │       │   ├── api_op_ListObjects.go
    │   │   │       │   ├── api_op_ListObjectsV2.go
    │   │   │       │   ├── api_op_ListParts.go
    │   │   │       │   ├── api_op_PutBucketAccelerateConfiguration.go
    │   │   │       │   ├── api_op_PutBucketAcl.go
    │   │   │       │   ├── api_op_PutBucketAnalyticsConfiguration.go
    │   │   │       │   ├── api_op_PutBucketCors.go
    │   │   │       │   ├── api_op_PutBucketEncryption.go
    │   │   │       │   ├── api_op_PutBucketIntelligentTieringConfiguration.go
    │   │   │       │   ├── api_op_PutBucketInventoryConfiguration.go
    │   │   │       │   ├── api_op_PutBucketLifecycleConfiguration.go
    │   │   │       │   ├── api_op_PutBucketLogging.go
    │   │   │       │   ├── api_op_PutBucketMetricsConfiguration.go
    │   │   │       │   ├── api_op_PutBucketNotificationConfiguration.go
    │   │   │       │   ├── api_op_PutBucketOwnershipControls.go
    │   │   │       │   ├── api_op_PutBucketPolicy.go
    │   │   │       │   ├── api_op_PutBucketReplication.go
    │   │   │       │   ├── api_op_PutBucketRequestPayment.go
    │   │   │       │   ├── api_op_PutBucketTagging.go
    │   │   │       │   ├── api_op_PutBucketVersioning.go
    │   │   │       │   ├── api_op_PutBucketWebsite.go
    │   │   │       │   ├── api_op_PutObject.go
    │   │   │       │   ├── api_op_PutObjectAcl.go
    │   │   │       │   ├── api_op_PutObjectLegalHold.go
    │   │   │       │   ├── api_op_PutObjectLockConfiguration.go
    │   │   │       │   ├── api_op_PutObjectRetention.go
    │   │   │       │   ├── api_op_PutObjectTagging.go
    │   │   │       │   ├── api_op_PutPublicAccessBlock.go
    │   │   │       │   ├── api_op_RenameObject.go
    │   │   │       │   ├── api_op_RestoreObject.go
    │   │   │       │   ├── api_op_SelectObjectContent.go
    │   │   │       │   ├── api_op_UpdateBucketMetadataInventoryTableConfiguration.go
    │   │   │       │   ├── api_op_UpdateBucketMetadataJournalTableConfiguration.go
    │   │   │       │   ├── api_op_UploadPart.go
    │   │   │       │   ├── api_op_UploadPartCopy.go
    │   │   │       │   ├── api_op_WriteGetObjectResponse.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── bucket_context.go
    │   │   │       │   ├── bucketer.go
    │   │   │       │   ├── create_mpu_checksum.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoint_auth_resolver.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── eventstream.go
    │   │   │       │   ├── express.go
    │   │   │       │   ├── express_default.go
    │   │   │       │   ├── express_resolve.go
    │   │   │       │   ├── express_user_agent.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── handwritten_paginators.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   ├── arn/
    │   │   │       │   │   │   └── arn_parser.go
    │   │   │       │   │   ├── customizations/
    │   │   │       │   │   │   ├── context.go
    │   │   │       │   │   │   ├── doc.go
    │   │   │       │   │   │   ├── express.go
    │   │   │       │   │   │   ├── express_config.go
    │   │   │       │   │   │   ├── express_default_checksum.go
    │   │   │       │   │   │   ├── express_properties.go
    │   │   │       │   │   │   ├── express_signer.go
    │   │   │       │   │   │   ├── express_signer_smithy.go
    │   │   │       │   │   │   ├── handle_200_error.go
    │   │   │       │   │   │   ├── host.go
    │   │   │       │   │   │   ├── presigned_expires.go
    │   │   │       │   │   │   ├── process_arn_resource.go
    │   │   │       │   │   │   ├── remove_bucket_middleware.go
    │   │   │       │   │   │   ├── s3_object_lambda.go
    │   │   │       │   │   │   ├── signer_wrapper.go
    │   │   │       │   │   │   └── update_endpoint.go
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── presign_post.go
    │   │   │       │   ├── serialize_immutable_hostname_bucket.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   ├── uri_context.go
    │   │   │       │   └── validators.go
    │   │   │       ├── signin/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_CreateOAuth2Token.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── sso/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_GetRoleCredentials.go
    │   │   │       │   ├── api_op_ListAccountRoles.go
    │   │   │       │   ├── api_op_ListAccounts.go
    │   │   │       │   ├── api_op_Logout.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       ├── ssooidc/
    │   │   │       │   ├── CHANGELOG.md
    │   │   │       │   ├── LICENSE.txt
    │   │   │       │   ├── api_client.go
    │   │   │       │   ├── api_op_CreateToken.go
    │   │   │       │   ├── api_op_CreateTokenWithIAM.go
    │   │   │       │   ├── api_op_RegisterClient.go
    │   │   │       │   ├── api_op_StartDeviceAuthorization.go
    │   │   │       │   ├── auth.go
    │   │   │       │   ├── deserializers.go
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── endpoints.go
    │   │   │       │   ├── generated.json
    │   │   │       │   ├── go_module_metadata.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── endpoints/
    │   │   │       │   │       └── endpoints.go
    │   │   │       │   ├── options.go
    │   │   │       │   ├── serializers.go
    │   │   │       │   ├── types/
    │   │   │       │   │   ├── enums.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   └── types.go
    │   │   │       │   └── validators.go
    │   │   │       └── sts/
    │   │   │           ├── CHANGELOG.md
    │   │   │           ├── LICENSE.txt
    │   │   │           ├── api_client.go
    │   │   │           ├── api_op_AssumeRole.go
    │   │   │           ├── api_op_AssumeRoleWithSAML.go
    │   │   │           ├── api_op_AssumeRoleWithWebIdentity.go
    │   │   │           ├── api_op_AssumeRoot.go
    │   │   │           ├── api_op_DecodeAuthorizationMessage.go
    │   │   │           ├── api_op_GetAccessKeyInfo.go
    │   │   │           ├── api_op_GetCallerIdentity.go
    │   │   │           ├── api_op_GetDelegatedAccessToken.go
    │   │   │           ├── api_op_GetFederationToken.go
    │   │   │           ├── api_op_GetSessionToken.go
    │   │   │           ├── api_op_GetWebIdentityToken.go
    │   │   │           ├── auth.go
    │   │   │           ├── deserializers.go
    │   │   │           ├── doc.go
    │   │   │           ├── endpoints.go
    │   │   │           ├── generated.json
    │   │   │           ├── go_module_metadata.go
    │   │   │           ├── internal/
    │   │   │           │   └── endpoints/
    │   │   │           │       └── endpoints.go
    │   │   │           ├── options.go
    │   │   │           ├── serializers.go
    │   │   │           ├── types/
    │   │   │           │   ├── errors.go
    │   │   │           │   └── types.go
    │   │   │           └── validators.go
    │   │   └── smithy-go/
    │   │       ├── .gitignore
    │   │       ├── .travis.yml
    │   │       ├── CHANGELOG.md
    │   │       ├── CODE_OF_CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── NOTICE
    │   │       ├── README.md
    │   │       ├── auth/
    │   │       │   ├── auth.go
    │   │       │   ├── bearer/
    │   │       │   │   ├── docs.go
    │   │       │   │   ├── middleware.go
    │   │       │   │   ├── token.go
    │   │       │   │   └── token_cache.go
    │   │       │   ├── identity.go
    │   │       │   ├── option.go
    │   │       │   └── scheme_id.go
    │   │       ├── changelog-template.json
    │   │       ├── container/
    │   │       │   └── private/
    │   │       │       └── cache/
    │   │       │           ├── cache.go
    │   │       │           └── lru/
    │   │       │               └── lru.go
    │   │       ├── context/
    │   │       │   └── suppress_expired.go
    │   │       ├── doc.go
    │   │       ├── document/
    │   │       │   ├── doc.go
    │   │       │   ├── document.go
    │   │       │   └── errors.go
    │   │       ├── document.go
    │   │       ├── encoding/
    │   │       │   ├── doc.go
    │   │       │   ├── encoding.go
    │   │       │   ├── httpbinding/
    │   │       │   │   ├── encode.go
    │   │       │   │   ├── header.go
    │   │       │   │   ├── path_replace.go
    │   │       │   │   ├── query.go
    │   │       │   │   └── uri.go
    │   │       │   ├── json/
    │   │       │   │   ├── array.go
    │   │       │   │   ├── constants.go
    │   │       │   │   ├── decoder_util.go
    │   │       │   │   ├── encoder.go
    │   │       │   │   ├── escape.go
    │   │       │   │   ├── object.go
    │   │       │   │   └── value.go
    │   │       │   └── xml/
    │   │       │       ├── array.go
    │   │       │       ├── constants.go
    │   │       │       ├── doc.go
    │   │       │       ├── element.go
    │   │       │       ├── encoder.go
    │   │       │       ├── error_utils.go
    │   │       │       ├── escape.go
    │   │       │       ├── map.go
    │   │       │       ├── value.go
    │   │       │       └── xml_decoder.go
    │   │       ├── endpoints/
    │   │       │   ├── endpoint.go
    │   │       │   └── private/
    │   │       │       └── rulesfn/
    │   │       │           ├── doc.go
    │   │       │           ├── strings.go
    │   │       │           └── uri.go
    │   │       ├── errors.go
    │   │       ├── go_module_metadata.go
    │   │       ├── internal/
    │   │       │   └── sync/
    │   │       │       └── singleflight/
    │   │       │           ├── LICENSE
    │   │       │           ├── docs.go
    │   │       │           └── singleflight.go
    │   │       ├── io/
    │   │       │   ├── byte.go
    │   │       │   ├── doc.go
    │   │       │   ├── reader.go
    │   │       │   └── ringbuffer.go
    │   │       ├── local-mod-replace.sh
    │   │       ├── logging/
    │   │       │   └── logger.go
    │   │       ├── metrics/
    │   │       │   ├── metrics.go
    │   │       │   └── nop.go
    │   │       ├── middleware/
    │   │       │   ├── context.go
    │   │       │   ├── doc.go
    │   │       │   ├── eventstream_middleware.go
    │   │       │   ├── logging.go
    │   │       │   ├── metadata.go
    │   │       │   ├── middleware.go
    │   │       │   ├── ordered_group.go
    │   │       │   ├── stack.go
    │   │       │   ├── stack_values.go
    │   │       │   ├── step_build.go
    │   │       │   ├── step_deserialize.go
    │   │       │   ├── step_finalize.go
    │   │       │   ├── step_initialize.go
    │   │       │   └── step_serialize.go
    │   │       ├── modman.toml
    │   │       ├── private/
    │   │       │   └── requestcompression/
    │   │       │       ├── gzip.go
    │   │       │       ├── middleware_capture_request_compression.go
    │   │       │       └── request_compression.go
    │   │       ├── properties.go
    │   │       ├── ptr/
    │   │       │   ├── doc.go
    │   │       │   ├── from_ptr.go
    │   │       │   ├── gen_scalars.go
    │   │       │   └── to_ptr.go
    │   │       ├── rand/
    │   │       │   ├── doc.go
    │   │       │   ├── rand.go
    │   │       │   └── uuid.go
    │   │       ├── sync/
    │   │       │   └── error.go
    │   │       ├── time/
    │   │       │   └── time.go
    │   │       ├── tracing/
    │   │       │   ├── context.go
    │   │       │   ├── nop.go
    │   │       │   └── tracing.go
    │   │       ├── transport/
    │   │       │   └── http/
    │   │       │       ├── auth.go
    │   │       │       ├── auth_schemes.go
    │   │       │       ├── checksum_middleware.go
    │   │       │       ├── client.go
    │   │       │       ├── doc.go
    │   │       │       ├── headerlist.go
    │   │       │       ├── host.go
    │   │       │       ├── interceptor.go
    │   │       │       ├── interceptor_middleware.go
    │   │       │       ├── internal/
    │   │       │       │   └── io/
    │   │       │       │       └── safe.go
    │   │       │       ├── md5_checksum.go
    │   │       │       ├── metrics.go
    │   │       │       ├── middleware_close_response_body.go
    │   │       │       ├── middleware_content_length.go
    │   │       │       ├── middleware_header_comment.go
    │   │       │       ├── middleware_headers.go
    │   │       │       ├── middleware_http_logging.go
    │   │       │       ├── middleware_metadata.go
    │   │       │       ├── middleware_min_proto.go
    │   │       │       ├── properties.go
    │   │       │       ├── request.go
    │   │       │       ├── response.go
    │   │       │       ├── time.go
    │   │       │       ├── url.go
    │   │       │       └── user_agent.go
    │   │       ├── validation.go
    │   │       └── waiter/
    │   │           ├── logger.go
    │   │           └── waiter.go
    │   ├── aymerick/
    │   │   └── douceur/
    │   │       ├── LICENSE
    │   │       ├── css/
    │   │       │   ├── declaration.go
    │   │       │   ├── rule.go
    │   │       │   └── stylesheet.go
    │   │       └── parser/
    │   │           └── parser.go
    │   ├── beorn7/
    │   │   └── perks/
    │   │       ├── LICENSE
    │   │       └── quantile/
    │   │           ├── exampledata.txt
    │   │           └── stream.go
    │   ├── cenkalti/
    │   │   └── backoff/
    │   │       └── v4/
    │   │           ├── .gitignore
    │   │           ├── LICENSE
    │   │           ├── README.md
    │   │           ├── backoff.go
    │   │           ├── context.go
    │   │           ├── exponential.go
    │   │           ├── retry.go
    │   │           ├── ticker.go
    │   │           ├── timer.go
    │   │           └── tries.go
    │   ├── cespare/
    │   │   └── xxhash/
    │   │       └── v2/
    │   │           ├── LICENSE.txt
    │   │           ├── README.md
    │   │           ├── testall.sh
    │   │           ├── xxhash.go
    │   │           ├── xxhash_amd64.s
    │   │           ├── xxhash_arm64.s
    │   │           ├── xxhash_asm.go
    │   │           ├── xxhash_other.go
    │   │           ├── xxhash_safe.go
    │   │           └── xxhash_unsafe.go
    │   ├── cncf/
    │   │   └── xds/
    │   │       └── go/
    │   │           ├── LICENSE
    │   │           ├── udpa/
    │   │           │   ├── annotations/
    │   │           │   │   ├── migrate.pb.go
    │   │           │   │   ├── migrate.pb.validate.go
    │   │           │   │   ├── security.pb.go
    │   │           │   │   ├── security.pb.validate.go
    │   │           │   │   ├── sensitive.pb.go
    │   │           │   │   ├── sensitive.pb.validate.go
    │   │           │   │   ├── status.pb.go
    │   │           │   │   ├── status.pb.validate.go
    │   │           │   │   ├── versioning.pb.go
    │   │           │   │   └── versioning.pb.validate.go
    │   │           │   └── type/
    │   │           │       └── v1/
    │   │           │           ├── typed_struct.pb.go
    │   │           │           └── typed_struct.pb.validate.go
    │   │           └── xds/
    │   │               ├── annotations/
    │   │               │   └── v3/
    │   │               │       ├── migrate.pb.go
    │   │               │       ├── migrate.pb.validate.go
    │   │               │       ├── security.pb.go
    │   │               │       ├── security.pb.validate.go
    │   │               │       ├── sensitive.pb.go
    │   │               │       ├── sensitive.pb.validate.go
    │   │               │       ├── status.pb.go
    │   │               │       ├── status.pb.validate.go
    │   │               │       ├── versioning.pb.go
    │   │               │       └── versioning.pb.validate.go
    │   │               ├── core/
    │   │               │   └── v3/
    │   │               │       ├── authority.pb.go
    │   │               │       ├── authority.pb.validate.go
    │   │               │       ├── cidr.pb.go
    │   │               │       ├── cidr.pb.validate.go
    │   │               │       ├── collection_entry.pb.go
    │   │               │       ├── collection_entry.pb.validate.go
    │   │               │       ├── context_params.pb.go
    │   │               │       ├── context_params.pb.validate.go
    │   │               │       ├── extension.pb.go
    │   │               │       ├── extension.pb.validate.go
    │   │               │       ├── resource.pb.go
    │   │               │       ├── resource.pb.validate.go
    │   │               │       ├── resource_locator.pb.go
    │   │               │       ├── resource_locator.pb.validate.go
    │   │               │       ├── resource_name.pb.go
    │   │               │       └── resource_name.pb.validate.go
    │   │               ├── data/
    │   │               │   └── orca/
    │   │               │       └── v3/
    │   │               │           ├── orca_load_report.pb.go
    │   │               │           └── orca_load_report.pb.validate.go
    │   │               ├── service/
    │   │               │   └── orca/
    │   │               │       └── v3/
    │   │               │           ├── orca.pb.go
    │   │               │           ├── orca.pb.validate.go
    │   │               │           └── orca_grpc.pb.go
    │   │               └── type/
    │   │                   ├── matcher/
    │   │                   │   └── v3/
    │   │                   │       ├── cel.pb.go
    │   │                   │       ├── cel.pb.validate.go
    │   │                   │       ├── domain.pb.go
    │   │                   │       ├── domain.pb.validate.go
    │   │                   │       ├── http_inputs.pb.go
    │   │                   │       ├── http_inputs.pb.validate.go
    │   │                   │       ├── ip.pb.go
    │   │                   │       ├── ip.pb.validate.go
    │   │                   │       ├── matcher.pb.go
    │   │                   │       ├── matcher.pb.validate.go
    │   │                   │       ├── range.pb.go
    │   │                   │       ├── range.pb.validate.go
    │   │                   │       ├── regex.pb.go
    │   │                   │       ├── regex.pb.validate.go
    │   │                   │       ├── string.pb.go
    │   │                   │       └── string.pb.validate.go
    │   │                   └── v3/
    │   │                       ├── cel.pb.go
    │   │                       ├── cel.pb.validate.go
    │   │                       ├── range.pb.go
    │   │                       ├── range.pb.validate.go
    │   │                       ├── typed_struct.pb.go
    │   │                       └── typed_struct.pb.validate.go
    │   ├── containerd/
    │   │   ├── cgroups/
    │   │   │   └── v3/
    │   │   │       ├── LICENSE
    │   │   │       └── cgroup1/
    │   │   │           └── stats/
    │   │   │               ├── doc.go
    │   │   │               ├── metrics.pb.go
    │   │   │               ├── metrics.pb.txt
    │   │   │               └── metrics.proto
    │   │   ├── errdefs/
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── errors.go
    │   │   │   ├── pkg/
    │   │   │   │   ├── LICENSE
    │   │   │   │   ├── errgrpc/
    │   │   │   │   │   └── grpc.go
    │   │   │   │   ├── errhttp/
    │   │   │   │   │   └── http.go
    │   │   │   │   └── internal/
    │   │   │   │       ├── cause/
    │   │   │   │       │   └── cause.go
    │   │   │   │       └── types/
    │   │   │   │           └── collapsible.go
    │   │   │   └── resolve.go
    │   │   ├── stargz-snapshotter/
    │   │   │   └── estargz/
    │   │   │       ├── LICENSE
    │   │   │       ├── build.go
    │   │   │       ├── errorutil/
    │   │   │       │   └── errors.go
    │   │   │       ├── estargz.go
    │   │   │       ├── gzip.go
    │   │   │       ├── testutil.go
    │   │   │       └── types.go
    │   │   └── typeurl/
    │   │       └── v2/
    │   │           ├── .gitignore
    │   │           ├── LICENSE
    │   │           ├── README.md
    │   │           ├── doc.go
    │   │           ├── types.go
    │   │           └── types_gogo.go
    │   ├── containers/
    │   │   ├── common/
    │   │   │   ├── LICENSE
    │   │   │   └── pkg/
    │   │   │       └── retry/
    │   │   │           ├── retry.go
    │   │   │           ├── retry_linux.go
    │   │   │           └── retry_unsupported.go
    │   │   ├── image/
    │   │   │   └── v5/
    │   │   │       ├── LICENSE
    │   │   │       ├── copy/
    │   │   │       │   ├── blob.go
    │   │   │       │   ├── compression.go
    │   │   │       │   ├── copy.go
    │   │   │       │   ├── digesting_reader.go
    │   │   │       │   ├── encryption.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── multiple.go
    │   │   │       │   ├── progress_bars.go
    │   │   │       │   ├── progress_channel.go
    │   │   │       │   ├── sign.go
    │   │   │       │   └── single.go
    │   │   │       ├── directory/
    │   │   │       │   ├── directory_dest.go
    │   │   │       │   ├── directory_src.go
    │   │   │       │   ├── directory_transport.go
    │   │   │       │   └── explicitfilepath/
    │   │   │       │       └── path.go
    │   │   │       ├── docker/
    │   │   │       │   ├── archive/
    │   │   │       │   │   ├── dest.go
    │   │   │       │   │   ├── reader.go
    │   │   │       │   │   ├── src.go
    │   │   │       │   │   ├── transport.go
    │   │   │       │   │   └── writer.go
    │   │   │       │   ├── body_reader.go
    │   │   │       │   ├── cache.go
    │   │   │       │   ├── daemon/
    │   │   │       │   │   ├── client.go
    │   │   │       │   │   ├── daemon_dest.go
    │   │   │       │   │   ├── daemon_src.go
    │   │   │       │   │   └── daemon_transport.go
    │   │   │       │   ├── distribution_error.go
    │   │   │       │   ├── docker_client.go
    │   │   │       │   ├── docker_image.go
    │   │   │       │   ├── docker_image_dest.go
    │   │   │       │   ├── docker_image_src.go
    │   │   │       │   ├── docker_transport.go
    │   │   │       │   ├── errors.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── tarfile/
    │   │   │       │   │       ├── dest.go
    │   │   │       │   │       ├── reader.go
    │   │   │       │   │       ├── src.go
    │   │   │       │   │       ├── types.go
    │   │   │       │   │       └── writer.go
    │   │   │       │   ├── paths_common.go
    │   │   │       │   ├── paths_freebsd.go
    │   │   │       │   ├── policyconfiguration/
    │   │   │       │   │   └── naming.go
    │   │   │       │   ├── reference/
    │   │   │       │   │   ├── README.md
    │   │   │       │   │   ├── helpers.go
    │   │   │       │   │   ├── normalize.go
    │   │   │       │   │   ├── reference.go
    │   │   │       │   │   ├── regexp-additions.go
    │   │   │       │   │   └── regexp.go
    │   │   │       │   ├── registries_d.go
    │   │   │       │   └── wwwauthenticate.go
    │   │   │       ├── internal/
    │   │   │       │   ├── blobinfocache/
    │   │   │       │   │   ├── blobinfocache.go
    │   │   │       │   │   └── types.go
    │   │   │       │   ├── image/
    │   │   │       │   │   ├── docker_list.go
    │   │   │       │   │   ├── docker_schema1.go
    │   │   │       │   │   ├── docker_schema2.go
    │   │   │       │   │   ├── manifest.go
    │   │   │       │   │   ├── memory.go
    │   │   │       │   │   ├── oci.go
    │   │   │       │   │   ├── oci_index.go
    │   │   │       │   │   ├── sourced.go
    │   │   │       │   │   └── unparsed.go
    │   │   │       │   ├── imagedestination/
    │   │   │       │   │   ├── impl/
    │   │   │       │   │   │   ├── compat.go
    │   │   │       │   │   │   ├── helpers.go
    │   │   │       │   │   │   └── properties.go
    │   │   │       │   │   ├── stubs/
    │   │   │       │   │   │   ├── original_oci_config.go
    │   │   │       │   │   │   ├── put_blob_partial.go
    │   │   │       │   │   │   ├── signatures.go
    │   │   │       │   │   │   └── stubs.go
    │   │   │       │   │   └── wrapper.go
    │   │   │       │   ├── imagesource/
    │   │   │       │   │   ├── impl/
    │   │   │       │   │   │   ├── compat.go
    │   │   │       │   │   │   ├── layer_infos.go
    │   │   │       │   │   │   ├── properties.go
    │   │   │       │   │   │   └── signatures.go
    │   │   │       │   │   ├── stubs/
    │   │   │       │   │   │   ├── get_blob_at.go
    │   │   │       │   │   │   └── stubs.go
    │   │   │       │   │   └── wrapper.go
    │   │   │       │   ├── iolimits/
    │   │   │       │   │   └── iolimits.go
    │   │   │       │   ├── manifest/
    │   │   │       │   │   ├── common.go
    │   │   │       │   │   ├── docker_schema2.go
    │   │   │       │   │   ├── docker_schema2_list.go
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   ├── list.go
    │   │   │       │   │   ├── manifest.go
    │   │   │       │   │   └── oci_index.go
    │   │   │       │   ├── multierr/
    │   │   │       │   │   └── multierr.go
    │   │   │       │   ├── pkg/
    │   │   │       │   │   └── platform/
    │   │   │       │   │       └── platform_matcher.go
    │   │   │       │   ├── private/
    │   │   │       │   │   └── private.go
    │   │   │       │   ├── putblobdigest/
    │   │   │       │   │   └── put_blob_digest.go
    │   │   │       │   ├── rootless/
    │   │   │       │   │   └── rootless.go
    │   │   │       │   ├── set/
    │   │   │       │   │   └── set.go
    │   │   │       │   ├── signature/
    │   │   │       │   │   ├── signature.go
    │   │   │       │   │   ├── sigstore.go
    │   │   │       │   │   └── simple.go
    │   │   │       │   ├── signer/
    │   │   │       │   │   └── signer.go
    │   │   │       │   ├── streamdigest/
    │   │   │       │   │   └── stream_digest.go
    │   │   │       │   ├── tmpdir/
    │   │   │       │   │   └── tmpdir.go
    │   │   │       │   ├── unparsedimage/
    │   │   │       │   │   └── wrapper.go
    │   │   │       │   ├── uploadreader/
    │   │   │       │   │   └── upload_reader.go
    │   │   │       │   └── useragent/
    │   │   │       │       └── useragent.go
    │   │   │       ├── manifest/
    │   │   │       │   ├── common.go
    │   │   │       │   ├── docker_schema1.go
    │   │   │       │   ├── docker_schema2.go
    │   │   │       │   ├── docker_schema2_list.go
    │   │   │       │   ├── list.go
    │   │   │       │   ├── manifest.go
    │   │   │       │   ├── oci.go
    │   │   │       │   └── oci_index.go
    │   │   │       ├── oci/
    │   │   │       │   ├── archive/
    │   │   │       │   │   ├── oci_dest.go
    │   │   │       │   │   ├── oci_src.go
    │   │   │       │   │   └── oci_transport.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   └── oci_util.go
    │   │   │       │   └── layout/
    │   │   │       │       ├── oci_delete.go
    │   │   │       │       ├── oci_dest.go
    │   │   │       │       ├── oci_src.go
    │   │   │       │       ├── oci_transport.go
    │   │   │       │       └── reader.go
    │   │   │       ├── openshift/
    │   │   │       │   ├── openshift-copies.go
    │   │   │       │   ├── openshift.go
    │   │   │       │   ├── openshift_dest.go
    │   │   │       │   ├── openshift_src.go
    │   │   │       │   └── openshift_transport.go
    │   │   │       ├── pkg/
    │   │   │       │   ├── blobinfocache/
    │   │   │       │   │   ├── default.go
    │   │   │       │   │   ├── internal/
    │   │   │       │   │   │   └── prioritize/
    │   │   │       │   │   │       └── prioritize.go
    │   │   │       │   │   ├── memory/
    │   │   │       │   │   │   └── memory.go
    │   │   │       │   │   ├── none/
    │   │   │       │   │   │   └── none.go
    │   │   │       │   │   └── sqlite/
    │   │   │       │   │       └── sqlite.go
    │   │   │       │   ├── compression/
    │   │   │       │   │   ├── compression.go
    │   │   │       │   │   ├── internal/
    │   │   │       │   │   │   └── types.go
    │   │   │       │   │   ├── types/
    │   │   │       │   │   │   └── types.go
    │   │   │       │   │   └── zstd.go
    │   │   │       │   ├── docker/
    │   │   │       │   │   └── config/
    │   │   │       │   │       └── config.go
    │   │   │       │   ├── strslice/
    │   │   │       │   │   ├── README.md
    │   │   │       │   │   └── strslice.go
    │   │   │       │   ├── sysregistriesv2/
    │   │   │       │   │   ├── paths_common.go
    │   │   │       │   │   ├── paths_freebsd.go
    │   │   │       │   │   ├── shortnames.go
    │   │   │       │   │   └── system_registries_v2.go
    │   │   │       │   └── tlsclientconfig/
    │   │   │       │       └── tlsclientconfig.go
    │   │   │       ├── sif/
    │   │   │       │   ├── load.go
    │   │   │       │   ├── src.go
    │   │   │       │   └── transport.go
    │   │   │       ├── signature/
    │   │   │       │   ├── docker.go
    │   │   │       │   ├── fulcio_cert.go
    │   │   │       │   ├── internal/
    │   │   │       │   │   ├── errors.go
    │   │   │       │   │   ├── json.go
    │   │   │       │   │   ├── rekor_api_types.go
    │   │   │       │   │   ├── rekor_set.go
    │   │   │       │   │   └── sigstore_payload.go
    │   │   │       │   ├── mechanism.go
    │   │   │       │   ├── mechanism_gpgme.go
    │   │   │       │   ├── mechanism_openpgp.go
    │   │   │       │   ├── pki_cert.go
    │   │   │       │   ├── policy_config.go
    │   │   │       │   ├── policy_config_sigstore.go
    │   │   │       │   ├── policy_eval.go
    │   │   │       │   ├── policy_eval_baselayer.go
    │   │   │       │   ├── policy_eval_signedby.go
    │   │   │       │   ├── policy_eval_sigstore.go
    │   │   │       │   ├── policy_eval_simple.go
    │   │   │       │   ├── policy_paths_common.go
    │   │   │       │   ├── policy_paths_freebsd.go
    │   │   │       │   ├── policy_reference_match.go
    │   │   │       │   ├── policy_types.go
    │   │   │       │   ├── signer/
    │   │   │       │   │   └── signer.go
    │   │   │       │   ├── sigstore/
    │   │   │       │   │   ├── copied.go
    │   │   │       │   │   ├── generate.go
    │   │   │       │   │   ├── internal/
    │   │   │       │   │   │   └── signer.go
    │   │   │       │   │   └── signer.go
    │   │   │       │   ├── simple.go
    │   │   │       │   └── simplesigning/
    │   │   │       │       └── signer.go
    │   │   │       ├── storage/
    │   │   │       │   ├── storage_dest.go
    │   │   │       │   ├── storage_image.go
    │   │   │       │   ├── storage_reference.go
    │   │   │       │   ├── storage_src.go
    │   │   │       │   └── storage_transport.go
    │   │   │       ├── tarball/
    │   │   │       │   ├── doc.go
    │   │   │       │   ├── tarball_reference.go
    │   │   │       │   ├── tarball_src.go
    │   │   │       │   └── tarball_transport.go
    │   │   │       ├── transports/
    │   │   │       │   ├── alltransports/
    │   │   │       │   │   ├── alltransports.go
    │   │   │       │   │   ├── docker_daemon.go
    │   │   │       │   │   ├── docker_daemon_stub.go
    │   │   │       │   │   ├── storage.go
    │   │   │       │   │   └── storage_stub.go
    │   │   │       │   ├── stub.go
    │   │   │       │   └── transports.go
    │   │   │       ├── types/
    │   │   │       │   └── types.go
    │   │   │       └── version/
    │   │   │           └── version.go
    │   │   ├── libtrust/
    │   │   │   ├── CODE-OF-CONDUCT.md
    │   │   │   ├── CONTRIBUTING.md
    │   │   │   ├── LICENSE
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── certificates.go
    │   │   │   ├── doc.go
    │   │   │   ├── ec_key.go
    │   │   │   ├── ec_key_no_openssl.go
    │   │   │   ├── ec_key_openssl.go
    │   │   │   ├── filter.go
    │   │   │   ├── hash.go
    │   │   │   ├── jsonsign.go
    │   │   │   ├── key.go
    │   │   │   ├── key_files.go
    │   │   │   ├── key_manager.go
    │   │   │   ├── rsa_key.go
    │   │   │   └── util.go
    │   │   ├── ocicrypt/
    │   │   │   ├── .gitignore
    │   │   │   ├── .golangci.yml
    │   │   │   ├── ADOPTERS.md
    │   │   │   ├── CODE-OF-CONDUCT.md
    │   │   │   ├── LICENSE
    │   │   │   ├── MAINTAINERS
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── SECURITY.md
    │   │   │   ├── blockcipher/
    │   │   │   │   ├── blockcipher.go
    │   │   │   │   └── blockcipher_aes_ctr.go
    │   │   │   ├── config/
    │   │   │   │   ├── config.go
    │   │   │   │   ├── constructors.go
    │   │   │   │   └── keyprovider-config/
    │   │   │   │       └── config.go
    │   │   │   ├── crypto/
    │   │   │   │   └── pkcs11/
    │   │   │   │       ├── common.go
    │   │   │   │       ├── pkcs11helpers.go
    │   │   │   │       ├── pkcs11helpers_nocgo.go
    │   │   │   │       └── utils.go
    │   │   │   ├── encryption.go
    │   │   │   ├── gpg.go
    │   │   │   ├── gpgvault.go
    │   │   │   ├── keywrap/
    │   │   │   │   ├── jwe/
    │   │   │   │   │   └── keywrapper_jwe.go
    │   │   │   │   ├── keyprovider/
    │   │   │   │   │   └── keyprovider.go
    │   │   │   │   ├── keywrap.go
    │   │   │   │   ├── pgp/
    │   │   │   │   │   └── keywrapper_gpg.go
    │   │   │   │   ├── pkcs11/
    │   │   │   │   │   └── keywrapper_pkcs11.go
    │   │   │   │   └── pkcs7/
    │   │   │   │       └── keywrapper_pkcs7.go
    │   │   │   ├── reader.go
    │   │   │   ├── spec/
    │   │   │   │   └── spec.go
    │   │   │   └── utils/
    │   │   │       ├── delayedreader.go
    │   │   │       ├── ioutils.go
    │   │   │       ├── keyprovider/
    │   │   │       │   ├── keyprovider.pb.go
    │   │   │       │   └── keyprovider.proto
    │   │   │       ├── testing.go
    │   │   │       └── utils.go
    │   │   └── storage/
    │   │       ├── .cirrus.yml
    │   │       ├── .codespellrc
    │   │       ├── .dockerignore
    │   │       ├── .gitignore
    │   │       ├── .golangci.yml
    │   │       ├── .mailmap
    │   │       ├── AUTHORS
    │   │       ├── CODE-OF-CONDUCT.md
    │   │       ├── CONTRIBUTING.md
    │   │       ├── LICENSE
    │   │       ├── Makefile
    │   │       ├── NOTICE
    │   │       ├── OWNERS
    │   │       ├── README.md
    │   │       ├── SECURITY.md
    │   │       ├── VERSION
    │   │       ├── check.go
    │   │       ├── containers.go
    │   │       ├── deprecated.go
    │   │       ├── drivers/
    │   │       │   ├── aufs/
    │   │       │   │   ├── aufs.go
    │   │       │   │   ├── dirs.go
    │   │       │   │   ├── mount.go
    │   │       │   │   └── mount_linux.go
    │   │       │   ├── btrfs/
    │   │       │   │   ├── btrfs.go
    │   │       │   │   ├── dummy_unsupported.go
    │   │       │   │   └── version.go
    │   │       │   ├── chown.go
    │   │       │   ├── chown_darwin.go
    │   │       │   ├── chown_unix.go
    │   │       │   ├── chown_windows.go
    │   │       │   ├── chroot_unix.go
    │   │       │   ├── chroot_windows.go
    │   │       │   ├── copy/
    │   │       │   │   ├── copy_linux.go
    │   │       │   │   └── copy_unsupported.go
    │   │       │   ├── counter.go
    │   │       │   ├── driver.go
    │   │       │   ├── driver_darwin.go
    │   │       │   ├── driver_freebsd.go
    │   │       │   ├── driver_linux.go
    │   │       │   ├── driver_solaris.go
    │   │       │   ├── driver_unsupported.go
    │   │       │   ├── driver_windows.go
    │   │       │   ├── fsdiff.go
    │   │       │   ├── jsoniter.go
    │   │       │   ├── overlay/
    │   │       │   │   ├── check.go
    │   │       │   │   ├── check_116.go
    │   │       │   │   ├── composefs.go
    │   │       │   │   ├── jsoniter.go
    │   │       │   │   ├── mount.go
    │   │       │   │   ├── overlay.go
    │   │       │   │   ├── overlay_disk_quota.go
    │   │       │   │   ├── overlay_disk_quota_unsupported.go
    │   │       │   │   ├── overlay_unsupported.go
    │   │       │   │   └── randomid.go
    │   │       │   ├── overlayutils/
    │   │       │   │   └── overlayutils.go
    │   │       │   ├── quota/
    │   │       │   │   ├── projectquota.go
    │   │       │   │   ├── projectquota_supported.go
    │   │       │   │   └── projectquota_unsupported.go
    │   │       │   ├── register/
    │   │       │   │   ├── register_aufs.go
    │   │       │   │   ├── register_btrfs.go
    │   │       │   │   ├── register_overlay.go
    │   │       │   │   ├── register_vfs.go
    │   │       │   │   ├── register_windows.go
    │   │       │   │   └── register_zfs.go
    │   │       │   ├── template.go
    │   │       │   ├── vfs/
    │   │       │   │   ├── copy_linux.go
    │   │       │   │   ├── copy_unsupported.go
    │   │       │   │   └── driver.go
    │   │       │   ├── windows/
    │   │       │   │   ├── jsoniter_windows.go
    │   │       │   │   └── windows.go
    │   │       │   └── zfs/
    │   │       │       ├── MAINTAINERS
    │   │       │       ├── zfs.go
    │   │       │       ├── zfs_freebsd.go
    │   │       │       ├── zfs_linux.go
    │   │       │       └── zfs_unsupported.go
    │   │       ├── errors.go
    │   │       ├── idset.go
    │   │       ├── images.go
    │   │       ├── internal/
    │   │       │   ├── dedup/
    │   │       │   │   ├── dedup.go
    │   │       │   │   ├── dedup_linux.go
    │   │       │   │   └── dedup_unsupported.go
    │   │       │   ├── rawfilelock/
    │   │       │   │   ├── rawfilelock.go
    │   
Copy disabled (too large) Download .txt
Showing preview only (14,886K chars total). Download the full file to get everything.
SYMBOL INDEX (140249 symbols across 6931 files)

FILE: cmd/osbuild-auth-tests/certificates.go
  constant opensslConfig (line 14) | opensslConfig    = "/usr/share/tests/osbuild-composer/x509/openssl.cnf"
  constant osbuildCAExt (line 15) | osbuildCAExt     = "osbuild_ca_ext"
  constant osbuildClientExt (line 16) | osbuildClientExt = "osbuild_client_ext"
  type certificateKeyPair (line 19) | type certificateKeyPair struct
    method remove (line 23) | func (ckp certificateKeyPair) remove() {
    method certificate (line 30) | func (ckp certificateKeyPair) certificate() string {
    method key (line 34) | func (ckp certificateKeyPair) key() string {
  function newSelfSignedCertificateKeyPair (line 38) | func newSelfSignedCertificateKeyPair(subj string) (*certificateKeyPair, ...
  type ca (line 61) | type ca struct
    method remove (line 65) | func (c ca) remove() {
    method certificate (line 72) | func (c ca) certificate() string {
    method key (line 76) | func (c ca) key() string {
    method newCertificateKeyPair (line 140) | func (c ca) newCertificateKeyPair(subj, extensions, addext string) (*c...
  function newCA (line 80) | func newCA(subj string) (*ca, error) {

FILE: cmd/osbuild-auth-tests/main_test.go
  constant trustedCADir (line 17) | trustedCADir = "/etc/osbuild-composer-test/ca"
  type connectionConfig (line 19) | type connectionConfig struct
  function createTLSConfig (line 25) | func createTLSConfig(config *connectionConfig) (*tls.Config, error) {
  function TestWorkerAPIAuth (line 49) | func TestWorkerAPIAuth(t *testing.T) {
  function testRoute (line 99) | func testRoute(t *testing.T, route string, ckp *certificateKeyPair, expe...

FILE: cmd/osbuild-composer-cli-tests/main_test.go
  function TestComposeCommands (line 26) | func TestComposeCommands(t *testing.T) {
  function TestBlueprintCommands (line 97) | func TestBlueprintCommands(t *testing.T) {
  function TestModulesCommands (line 150) | func TestModulesCommands(t *testing.T) {
  function TestProjectsCommands (line 154) | func TestProjectsCommands(t *testing.T) {
  function TestStatusCommands (line 160) | func TestStatusCommands(t *testing.T) {
  function TestSourcesCommands (line 164) | func TestSourcesCommands(t *testing.T) {
  function buildCompose (line 187) | func buildCompose(t *testing.T, bpName string, outputType string) uuid.U...
  function startCompose (line 206) | func startCompose(t *testing.T, name, outputType string) uuid.UUID {
  function deleteCompose (line 235) | func deleteCompose(t *testing.T, id uuid.UUID) {
  function waitForCompose (line 274) | func waitForCompose(t *testing.T, uuid uuid.UUID) string {
  function getComposeStatus (line 284) | func getComposeStatus(t *testing.T, uuid uuid.UUID) string {
  function getLogs (line 316) | func getLogs(t *testing.T, uuid uuid.UUID) string {
  function pushBlueprint (line 337) | func pushBlueprint(t *testing.T, bp *blueprint.Blueprint) {
  function deleteBlueprint (line 373) | func deleteBlueprint(t *testing.T, bp *blueprint.Blueprint) {
  function runComposer (line 400) | func runComposer(t *testing.T, command ...string) []byte {
  function runComposerJSON (line 423) | func runComposerJSON(t *testing.T, command ...string) json.RawMessage {
  type TemporaryWorkDir (line 460) | type TemporaryWorkDir struct
    method Close (line 489) | func (d *TemporaryWorkDir) Close(t *testing.T) {
  function NewTemporaryWorkDir (line 472) | func NewTemporaryWorkDir(t *testing.T, pattern string) TemporaryWorkDir {
  function isWeldrClientInstalled (line 500) | func isWeldrClientInstalled() bool {

FILE: cmd/osbuild-composer-dbjobqueue-tests/main_test.go
  function migrate (line 24) | func migrate(migration string) error {
  function TestJobQueueInterface (line 52) | func TestJobQueueInterface(t *testing.T) {
  function testMigrationPath (line 95) | func testMigrationPath(t *testing.T, makeJobQueue func(migration string,...

FILE: cmd/osbuild-composer/composer.go
  type Composer (line 36) | type Composer struct
    method InitWeldr (line 151) | func (c *Composer) InitWeldr(weldrListener net.Listener, distrosImageT...
    method InitMetricsAPI (line 167) | func (c *Composer) InitMetricsAPI(prometheus net.Listener) {
    method InitAPI (line 171) | func (c *Composer) InitAPI(cert, key string, enableTLS bool, enableMTL...
    method InitLocalWorker (line 217) | func (c *Composer) InitLocalWorker(l net.Listener) {
    method InitRemoteWorkers (line 221) | func (c *Composer) InitRemoteWorkers(cert, key string, enableTLS bool,...
    method Start (line 256) | func (c *Composer) Start() error {
    method ensureStateDirectory (line 434) | func (c *Composer) ensureStateDirectory(name string, perm os.FileMode)...
  function NewComposer (line 53) | func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) ...
  type connectionConfig (line 445) | type connectionConfig struct
  function createTLSConfig (line 456) | func createTLSConfig(c *connectionConfig) (*tls.Config, error) {

FILE: cmd/osbuild-composer/config.go
  type ComposerConfigFile (line 14) | type ComposerConfigFile struct
    method weldrDistrosImageTypeDenyList (line 81) | func (c *ComposerConfigFile) weldrDistrosImageTypeDenyList() map[strin...
  type KojiAPIConfig (line 31) | type KojiAPIConfig struct
  type WorkerAPIConfig (line 43) | type WorkerAPIConfig struct
  type WeldrAPIConfig (line 66) | type WeldrAPIConfig struct
  type WeldrDistroConfig (line 70) | type WeldrDistroConfig struct
  type BootcConfig (line 75) | type BootcConfig struct
  function GetDefaultConfig (line 97) | func GetDefaultConfig() *ComposerConfigFile {
  function LoadConfig (line 146) | func LoadConfig(name string) (*ComposerConfigFile, error) {
  function envStrToMap (line 160) | func envStrToMap(s string) (map[string]string, error) {
  function lookupEnvTagValue (line 178) | func lookupEnvTagValue(fieldT reflect.StructField) (string, bool) {
  function loadConfigFromEnv (line 190) | func loadConfigFromEnv(intf interface{}) error {
  function DumpConfig (line 259) | func DumpConfig(c ComposerConfigFile, w io.Writer) error {

FILE: cmd/osbuild-composer/config_test.go
  function TestEmpty (line 13) | func TestEmpty(t *testing.T) {
  function TestNonExisting (line 20) | func TestNonExisting(t *testing.T) {
  function TestDefaultConfig (line 26) | func TestDefaultConfig(t *testing.T) {
  function TestConfig (line 85) | func TestConfig(t *testing.T) {
  function TestWeldrDistrosImageTypeDenyList (line 130) | func TestWeldrDistrosImageTypeDenyList(t *testing.T) {
  function TestDumpConfig (line 145) | func TestDumpConfig(t *testing.T) {
  function TestEnvStrToMap (line 160) | func TestEnvStrToMap(t *testing.T) {
  function TestConfigFromEnv (line 172) | func TestConfigFromEnv(t *testing.T) {

FILE: cmd/osbuild-composer/main.go
  constant configFile (line 21) | configFile     = "/etc/osbuild-composer/osbuild-composer.toml"
  constant ServerKeyFile (line 22) | ServerKeyFile  = "/etc/osbuild-composer/composer-key.pem"
  constant ServerCertFile (line 23) | ServerCertFile = "/etc/osbuild-composer/composer-crt.pem"
  function main (line 31) | func main() {

FILE: cmd/osbuild-koji-tests/main_test.go
  function TestKojiRefund (line 30) | func TestKojiRefund(t *testing.T) {
  function TestKojiImport (line 84) | func TestKojiImport(t *testing.T) {

FILE: cmd/osbuild-mock-openid-provider/main.go
  function main (line 18) | func main() {

FILE: cmd/osbuild-service-maintenance/aws.go
  type ChildToParentAssociation (line 19) | type ChildToParentAssociation struct
  function AWSCleanup (line 24) | func AWSCleanup(maxConcurrentRequests int, dryRun bool, accessKeyID, acc...
  function terminateOrphanedSecureInstances (line 132) | func terminateOrphanedSecureInstances(a *awscloud.AWS, dryRun bool) error {
  function filterOnTooOld (line 169) | func filterOnTooOld(instanceIDs []string, reservations []ec2types.Reserv...
  function getChildParentAssociations (line 183) | func getChildParentAssociations(reservations []ec2types.Reservation) []C...
  function checkValidParent (line 201) | func checkValidParent(childId string, parent []ec2types.Reservation) bool {
  function searchSGAndCleanup (line 227) | func searchSGAndCleanup(ctx context.Context, a *awscloud.AWS, dryRun boo...
  function allTerminated (line 266) | func allTerminated(reservations []ec2types.Reservation) bool {
  function searchLTAndCleanup (line 277) | func searchLTAndCleanup(ctx context.Context, a *awscloud.AWS, dryRun boo...

FILE: cmd/osbuild-service-maintenance/aws_test.go
  function TestFilterReservations (line 14) | func TestFilterReservations(t *testing.T) {
  function TestCheckValidParent (line 54) | func TestCheckValidParent(t *testing.T) {
  function TestAllTerminated (line 129) | func TestAllTerminated(t *testing.T) {

FILE: cmd/osbuild-service-maintenance/config.go
  type Config (line 11) | type Config struct
  type GCPCredentialsConfig (line 27) | type GCPCredentialsConfig struct
    method valid (line 80) | func (gc *GCPCredentialsConfig) valid() bool {
  function LoadConfigFromEnv (line 42) | func LoadConfigFromEnv(intf interface{}) error {

FILE: cmd/osbuild-service-maintenance/db.go
  constant sqlDeleteJobs (line 13) | sqlDeleteJobs = `
  constant sqlExpiredJobCount (line 21) | sqlExpiredJobCount = `
  constant sqlVacuumAnalyze (line 24) | sqlVacuumAnalyze = `
  constant sqlVacuumStats (line 26) | sqlVacuumStats = `
  type db (line 34) | type db struct
    method Close (line 49) | func (d *db) Close() {
    method DeleteJobs (line 53) | func (d *db) DeleteJobs() (int64, error) {
    method ExpiredJobCount (line 61) | func (d *db) ExpiredJobCount() (int64, error) {
    method VacuumAnalyze (line 70) | func (d *db) VacuumAnalyze() error {
    method LogVacuumStats (line 78) | func (d *db) LogVacuumStats() error {
  function newDB (line 38) | func newDB(dbURL string) (db, error) {
  function DBCleanup (line 123) | func DBCleanup(dbURL string, dryRun bool, cutoff time.Time) error {

FILE: cmd/osbuild-service-maintenance/db_test.go
  function TestDBJobQueueMaintenance (line 17) | func TestDBJobQueueMaintenance(t *testing.T) {
  function setExpired (line 37) | func setExpired(t *testing.T, d db, id uuid.UUID) {
  function testDeleteJob (line 42) | func testDeleteJob(t *testing.T, d db, q *dbjobqueue.DBJobQueue) {
  function testVacuum (line 86) | func testVacuum(t *testing.T, d db, q *dbjobqueue.DBJobQueue) {

FILE: cmd/osbuild-service-maintenance/gcp.go
  function GCPCleanup (line 17) | func GCPCleanup(creds []byte, maxConcurrentRequests int, dryRun bool, cu...

FILE: cmd/osbuild-service-maintenance/main.go
  function main (line 11) | func main() {

FILE: cmd/osbuild-store-dump/main.go
  function getManifest (line 27) | func getManifest(bp blueprint.Blueprint, t distro.ImageType, a distro.Ar...
  function main (line 50) | func main() {

FILE: cmd/osbuild-worker-executor/build_result.go
  type buildResult (line 8) | type buildResult struct
    method Mark (line 20) | func (br *buildResult) Mark(err error) error {
    method Good (line 29) | func (br *buildResult) Good() bool {
    method Bad (line 34) | func (br *buildResult) Bad() bool {
  function newBuildResult (line 13) | func newBuildResult(config *Config) *buildResult {

FILE: cmd/osbuild-worker-executor/config.go
  type Config (line 7) | type Config struct
  function newConfigFromCmdline (line 14) | func newConfigFromCmdline(args []string) (*Config, error) {

FILE: cmd/osbuild-worker-executor/export_test.go
  function MockOsbuildBinary (line 16) | func MockOsbuildBinary(t *testing.T, new string) (restore func()) {

FILE: cmd/osbuild-worker-executor/handler_build.go
  type writeFlusher (line 31) | type writeFlusher struct
    method Write (line 36) | func (wf *writeFlusher) Write(p []byte) (n int, err error) {
  function runOSBuild (line 44) | func runOSBuild(logger *logrus.Logger, buildDir string, control *control...
  type controlJSON (line 141) | type controlJSON struct
  function mustRead (line 146) | func mustRead(atar *tar.Reader, name string) error {
  function handleControlJSON (line 157) | func handleControlJSON(atar *tar.Reader) (*controlJSON, error) {
  function createBuildDir (line 169) | func createBuildDir(config *Config) (string, error) {
  function handleManifestJSON (line 190) | func handleManifestJSON(atar *tar.Reader, buildDir string) error {
  function handleIncludedSources (line 214) | func handleIncludedSources(atar *tar.Reader, buildDir string) error {
  function handleBuild (line 273) | func handleBuild(logger *logrus.Logger, config *Config) http.Handler {

FILE: cmd/osbuild-worker-executor/handler_build_test.go
  function TestBuildMustPOST (line 22) | func TestBuildMustPOST(t *testing.T) {
  function writeToTar (line 33) | func writeToTar(atar *tar.Writer, name, content string) error {
  function TestBuildChecksContentType (line 46) | func TestBuildChecksContentType(t *testing.T) {
  function makeTestPost (line 59) | func makeTestPost(t *testing.T, controlJSON, manifestJSON string) *bytes...
  function TestBuildIntegration (line 84) | func TestBuildIntegration(t *testing.T) {
  function TestBuildErrorsForMultipleBuilds (line 176) | func TestBuildErrorsForMultipleBuilds(t *testing.T) {
  function TestHandleIncludedSourcesUnclean (line 202) | func TestHandleIncludedSourcesUnclean(t *testing.T) {
  function TestHandleIncludedSourcesNotFromStore (line 214) | func TestHandleIncludedSourcesNotFromStore(t *testing.T) {
  function TestHandleIncludedSourcesBadTypes (line 226) | func TestHandleIncludedSourcesBadTypes(t *testing.T) {
  function TestBuildIntegrationOsbuildError (line 243) | func TestBuildIntegrationOsbuildError(t *testing.T) {
  function TestBuildStreamsOutput (line 282) | func TestBuildStreamsOutput(t *testing.T) {
  function TestBuildErrorHandlingResult (line 322) | func TestBuildErrorHandlingResult(t *testing.T) {

FILE: cmd/osbuild-worker-executor/handler_log.go
  function handleLog (line 13) | func handleLog(logger *logrus.Logger, config *Config) http.Handler {

FILE: cmd/osbuild-worker-executor/handler_log_test.go
  function simulateBuildResult (line 13) | func simulateBuildResult(t *testing.T, buildBaseDir, result, log string) {
  function TestLogTooEarly (line 29) | func TestLogTooEarly(t *testing.T) {
  function TestLogBad (line 38) | func TestLogBad(t *testing.T) {
  function TestLogGood (line 51) | func TestLogGood(t *testing.T) {

FILE: cmd/osbuild-worker-executor/handler_result.go
  function handleResult (line 12) | func handleResult(logger *logrus.Logger, config *Config) http.Handler {

FILE: cmd/osbuild-worker-executor/handler_result_test.go
  function TestResultTooEarly (line 13) | func TestResultTooEarly(t *testing.T) {
  function TestResultBad (line 22) | func TestResultBad(t *testing.T) {
  function TestResultGood (line 35) | func TestResultGood(t *testing.T) {

FILE: cmd/osbuild-worker-executor/handler_root.go
  function handleRoot (line 9) | func handleRoot(logger *logrus.Logger, _ *Config) http.Handler {

FILE: cmd/osbuild-worker-executor/handler_root_test.go
  function TestTrivialRootEndpoint (line 10) | func TestTrivialRootEndpoint(t *testing.T) {

FILE: cmd/osbuild-worker-executor/main.go
  function newServer (line 19) | func newServer(logger *logrus.Logger, config *Config) http.Handler {
  function run (line 28) | func run(ctx context.Context, args []string, getenv func(string) string,...
  function main (line 74) | func main() {

FILE: cmd/osbuild-worker-executor/main_test.go
  constant defaultTimeout (line 20) | defaultTimeout = 5 * time.Second
  function waitReady (line 22) | func waitReady(ctx context.Context, timeout time.Duration, endpoint stri...
  function getFreePort (line 56) | func getFreePort() (int, error) {
  function runTestServer (line 67) | func runTestServer(t *testing.T) (baseURL, buildBaseDir string, loggerHo...

FILE: cmd/osbuild-worker-executor/routes.go
  function addRoutes (line 9) | func addRoutes(mux *http.ServeMux, logger *logrus.Logger, config *Config) {

FILE: cmd/osbuild-worker/config.go
  type composerConfig (line 13) | type composerConfig struct
  type kerberosConfig (line 17) | type kerberosConfig struct
  type kojiServerConfig (line 22) | type kojiServerConfig struct
  type gcpConfig (line 27) | type gcpConfig struct
  type azureConfig (line 32) | type azureConfig struct
  type awsConfig (line 37) | type awsConfig struct
  type ociConfig (line 43) | type ociConfig struct
  type genericS3Config (line 47) | type genericS3Config struct
  type authenticationConfig (line 56) | type authenticationConfig struct
  type containersConfig (line 63) | type containersConfig struct
  type executorConfig (line 71) | type executorConfig struct
  type repositoryMTLSConfig (line 77) | type repositoryMTLSConfig struct
  type bootcInfoResolveConfig (line 85) | type bootcInfoResolveConfig struct
  type workerConfig (line 93) | type workerConfig struct
  function parseConfig (line 116) | func parseConfig(file string) (*workerConfig, error) {

FILE: cmd/osbuild-worker/config_test.go
  function Test_parseConfig (line 11) | func Test_parseConfig(t *testing.T) {
  function prepareConfig (line 197) | func prepareConfig(t *testing.T, config string) string {

FILE: cmd/osbuild-worker/export_test.go
  function MockRun (line 10) | func MockRun(new func()) (restore func()) {
  function MockResolveBootcInfoFunc (line 20) | func MockResolveBootcInfoFunc(mockFunc ResolveBootcInfoFuncType) (restor...
  function MockResolveBootcBuildInfoFunc (line 28) | func MockResolveBootcBuildInfoFunc(mockFunc ResolveBootcInfoFuncType) (r...
  function MockRemoveContainerImageFunc (line 38) | func MockRemoveContainerImageFunc(mockFunc RemoveContainerImageFuncType)...

FILE: cmd/osbuild-worker/jobimpl-awsec2.go
  function getAWS (line 15) | func getAWS(awsCreds, region string) (*awscloud.AWS, error) {
  type AWSEC2CopyJobImpl (line 22) | type AWSEC2CopyJobImpl struct
    method Run (line 26) | func (impl *AWSEC2CopyJobImpl) Run(job worker.Job) error {
  type AWSEC2ShareJobImpl (line 80) | type AWSEC2ShareJobImpl struct
    method Run (line 84) | func (impl *AWSEC2ShareJobImpl) Run(job worker.Job) error {

FILE: cmd/osbuild-worker/jobimpl-bootc-info-resolve.go
  type resolveBootcInfoFuncType (line 14) | type resolveBootcInfoFuncType
  type removeContainerImageFuncType (line 15) | type removeContainerImageFuncType
  function removeContainerImage (line 22) | func removeContainerImage(ref string) error {
  type BootcInfoResolveJobImpl (line 31) | type BootcInfoResolveJobImpl struct
    method Run (line 35) | func (impl *BootcInfoResolveJobImpl) Run(job worker.Job) error {

FILE: cmd/osbuild-worker/jobimpl-bootc-info-resolve_test.go
  function mockResolveBootcInfoFunc (line 18) | func mockResolveBootcInfoFunc(t *testing.T, resolveMode worker.BootcInfo...
  function TestBootcInfoResolveJobRun (line 60) | func TestBootcInfoResolveJobRun(t *testing.T) {

FILE: cmd/osbuild-worker/jobimpl-container-resolve.go
  type ContainerResolveJobImpl (line 13) | type ContainerResolveJobImpl struct
    method Run (line 17) | func (impl *ContainerResolveJobImpl) Run(job worker.Job) error {
  function readContainerResolveArgsFromDynArgs (line 103) | func readContainerResolveArgsFromDynArgs(job worker.Job, dynArgsIdx int)...

FILE: cmd/osbuild-worker/jobimpl-container-resolve_test.go
  function TestContainerResolveJobRun (line 17) | func TestContainerResolveJobRun(t *testing.T) {

FILE: cmd/osbuild-worker/jobimpl-depsolve.go
  type RepositoryMTLSConfig (line 19) | type RepositoryMTLSConfig struct
    method SetupRepoSSL (line 28) | func (rmc *RepositoryMTLSConfig) SetupRepoSSL(repo *rpmmd.RepoConfig) {
    method CompareBaseURL (line 34) | func (rmc *RepositoryMTLSConfig) CompareBaseURL(baseURLStr string) (bo...
  type DepsolveJobImpl (line 53) | type DepsolveJobImpl struct
    method depsolve (line 64) | func (impl *DepsolveJobImpl) depsolve(packageSets map[string][]rpmmd.P...
    method Run (line 155) | func (impl *DepsolveJobImpl) Run(job worker.Job) error {
  function workerClientErrorFrom (line 119) | func workerClientErrorFrom(err error, logWithId *logrus.Entry) *clienter...

FILE: cmd/osbuild-worker/jobimpl-depsolve_test.go
  function makeMockEntry (line 15) | func makeMockEntry() (*logrus.Entry, *test.Hook) {
  function TestWorkerClientErrorFromDnfJson (line 20) | func TestWorkerClientErrorFromDnfJson(t *testing.T) {
  function TestWorkerClientErrorFromDnfJsonOtherKind (line 36) | func TestWorkerClientErrorFromDnfJsonOtherKind(t *testing.T) {
  function TestWorkerClientErrorFromOtherError (line 48) | func TestWorkerClientErrorFromOtherError(t *testing.T) {
  function TestWorkerClientErrorFromNil (line 56) | func TestWorkerClientErrorFromNil(t *testing.T) {

FILE: cmd/osbuild-worker/jobimpl-file-resolve.go
  type FileResolveJobImpl (line 11) | type FileResolveJobImpl struct
    method Run (line 13) | func (impl *FileResolveJobImpl) Run(job worker.Job) error {

FILE: cmd/osbuild-worker/jobimpl-image-builder-manifest.go
  type ImageBuilderManifestJobImpl (line 15) | type ImageBuilderManifestJobImpl struct
    method Run (line 19) | func (impl *ImageBuilderManifestJobImpl) Run(job worker.Job) error {
  function parseManifestPipelines (line 81) | func parseManifestPipelines(rawManifest []byte) (*worker.PipelineNames, ...

FILE: cmd/osbuild-worker/jobimpl-image-builder-manifest_test.go
  function TestParseManifestPipelines (line 11) | func TestParseManifestPipelines(t *testing.T) {

FILE: cmd/osbuild-worker/jobimpl-koji-finalize.go
  type KojiFinalizeJobImpl (line 17) | type KojiFinalizeJobImpl struct
    method kojiImport (line 21) | func (impl *KojiFinalizeJobImpl) kojiImport(
    method kojiFail (line 58) | func (impl *KojiFinalizeJobImpl) kojiFail(server string, buildID int, ...
    method Run (line 85) | func (impl *KojiFinalizeJobImpl) Run(job worker.Job) error {
  function extractDynamicArgs (line 359) | func extractDynamicArgs(job worker.Job) (*worker.KojiInitJobResult, []wo...
  function hasFailedDependency (line 379) | func hasFailedDependency(kojiInitResult worker.KojiInitJobResult, osbuil...

FILE: cmd/osbuild-worker/jobimpl-koji-init.go
  type KojiInitJobImpl (line 14) | type KojiInitJobImpl struct
    method kojiInit (line 18) | func (impl *KojiInitJobImpl) kojiInit(server, name, version, release s...
    method Run (line 53) | func (impl *KojiInitJobImpl) Run(job worker.Job) error {

FILE: cmd/osbuild-worker/jobimpl-osbuild.go
  type GCPConfiguration (line 42) | type GCPConfiguration struct
  type S3Configuration (line 47) | type S3Configuration struct
  type ContainersConfiguration (line 56) | type ContainersConfiguration struct
  type AzureConfiguration (line 64) | type AzureConfiguration struct
  type OCIConfiguration (line 69) | type OCIConfiguration struct
  type PulpConfiguration (line 76) | type PulpConfiguration struct
  type ExecutorConfiguration (line 81) | type ExecutorConfiguration struct
  type OSBuildJobImpl (line 87) | type OSBuildJobImpl struct
    method getAWS (line 107) | func (impl *OSBuildJobImpl) getAWS(region string, accessId string, sec...
    method getAWSForS3TargetFromOptions (line 117) | func (impl *OSBuildJobImpl) getAWSForS3TargetFromOptions(options *targ...
    method getAWSForS3TargetFromConfig (line 127) | func (impl *OSBuildJobImpl) getAWSForS3TargetFromConfig() (*awscloud.A...
    method verifyS3TargetConfiguration (line 136) | func (impl *OSBuildJobImpl) verifyS3TargetConfiguration() error {
    method getAWSForS3Target (line 156) | func (impl *OSBuildJobImpl) getAWSForS3Target(options *target.AWSS3Tar...
    method getGCP (line 204) | func (impl *OSBuildJobImpl) getGCP(credentials []byte) (*gcp.GCP, erro...
    method getOCI (line 220) | func (impl *OSBuildJobImpl) getOCI(tcp oci.ClientParams) (oci.Client, ...
    method getContainerClient (line 294) | func (impl *OSBuildJobImpl) getContainerClient(destination string, tar...
    method Run (line 347) | func (impl *OSBuildJobImpl) Run(job worker.Job) error {
  function validateResult (line 243) | func validateResult(result *worker.OSBuildJobResult, jobID string) {
  function uploadToS3 (line 264) | func uploadToS3(a *awscloud.AWS, outputDirectory, exportPath, bucket, ke...
  function makeJobErrorFromOsbuildOutput (line 320) | func makeJobErrorFromOsbuildOutput(osbuildOutput *osbuild.Result) *clien...
  function extractXzArchive (line 1360) | func extractXzArchive(archivePath string) (string, error) {

FILE: cmd/osbuild-worker/jobimpl-osbuild_test.go
  function TestMakeJobErrorFromOsbuildOutput (line 14) | func TestMakeJobErrorFromOsbuildOutput(t *testing.T) {

FILE: cmd/osbuild-worker/jobimpl-ostree-resolve.go
  type OSTreeResolveJobImpl (line 15) | type OSTreeResolveJobImpl struct
    method CompareBaseURL (line 19) | func (job *OSTreeResolveJobImpl) CompareBaseURL(baseURLStr string) (bo...
    method Run (line 65) | func (impl *OSTreeResolveJobImpl) Run(job worker.Job) error {
  function setError (line 42) | func setError(err error, result *worker.OSTreeResolveJobResult) {

FILE: cmd/osbuild-worker/jobimpl-search.go
  type SearchPackagesJobImpl (line 12) | type SearchPackagesJobImpl struct
    method search (line 17) | func (impl *SearchPackagesJobImpl) search(repos []rpmmd.RepoConfig, mo...
    method Run (line 30) | func (impl *SearchPackagesJobImpl) Run(job worker.Job) error {

FILE: cmd/osbuild-worker/main.go
  constant configFile (line 37) | configFile = "/etc/osbuild-worker/osbuild-worker.toml"
  constant backoffDuration (line 38) | backoffDuration = time.Second * 10
  type connectionConfig (line 40) | type connectionConfig struct
  type kojiServer (line 46) | type kojiServer struct
  type JobImplementation (line 52) | type JobImplementation interface
  function createTLSConfig (line 56) | func createTLSConfig(config *connectionConfig) (*tls.Config, error) {
  function WatchJob (line 89) | func WatchJob(ctx context.Context, job worker.Job) {
  function setProtection (line 105) | func setProtection(protected bool) {
  function RequestAndRunJob (line 134) | func RequestAndRunJob(client *worker.Client, acceptedJobTypes []string, ...
  function stopSelf (line 563) | func stopSelf() {
  function main (line 589) | func main() {

FILE: cmd/osbuild-worker/main_test.go
  function TestCatchesPanic (line 14) | func TestCatchesPanic(t *testing.T) {

FILE: cmd/osbuild-worker/mock_job_test.go
  type mockJob (line 15) | type mockJob struct
    method Id (line 26) | func (j *mockJob) Id() uuid.UUID {
    method Type (line 30) | func (j *mockJob) Type() string {
    method Args (line 34) | func (j *mockJob) Args(args interface{}) error {
    method DynamicArgs (line 38) | func (j *mockJob) DynamicArgs(i int, args interface{}) error {
    method NDynamicArgs (line 45) | func (j *mockJob) NDynamicArgs() int {
    method Update (line 49) | func (j *mockJob) Update(interface{}) error {
    method Canceled (line 53) | func (j *mockJob) Canceled() (bool, error) {
    method UploadArtifact (line 57) | func (j *mockJob) UploadArtifact(string, io.ReadSeeker) error {
    method Finish (line 61) | func (j *mockJob) Finish(result interface{}) error {
  function newMockJob (line 74) | func newMockJob(t *testing.T, jobType string, rawArgs json.RawMessage, d...
  function marshalJobArgs (line 90) | func marshalJobArgs(t *testing.T, args interface{}) json.RawMessage {

FILE: cmd/osbuild-worker/rh-logrus-adapter.go
  type LeveledLogrus (line 10) | type LeveledLogrus struct
    method Error (line 33) | func (l *LeveledLogrus) Error(msg string, keysAndValues ...interface{}) {
    method Info (line 37) | func (l *LeveledLogrus) Info(msg string, keysAndValues ...interface{}) {
    method Debug (line 40) | func (l *LeveledLogrus) Debug(msg string, keysAndValues ...interface{}) {
    method Warn (line 48) | func (l *LeveledLogrus) Warn(msg string, keysAndValues ...interface{}) {
  function NewRHLeveledLogger (line 14) | func NewRHLeveledLogger(logger *logrus.Logger) rh.LeveledLogger {
  constant monitoringKeyword (line 21) | monitoringKeyword = "retrying"
  function fields (line 23) | func fields(keysAndValues ...interface{}) map[string]interface{} {

FILE: containers/fauxauth/fauxauth.py
  function launch_server (line 4) | def launch_server(address, port, certdir):
  function main (line 19) | def main():

FILE: containers/osbuild-composer/entrypoint.py
  class Cli (line 20) | class Cli(contextlib.AbstractContextManager):
    method __init__ (line 23) | def __init__(self, argv):
    method _parse_args (line 29) | def _parse_args(self):
    method __enter__ (line 167) | def __enter__(self):
    method __exit__ (line 172) | def __exit__(self, exc_type, exc_value, exc_tb):
    method _prepare_sockets (line 176) | def _prepare_sockets(self):
    method _spawn_worker (line 267) | def _spawn_worker():
    method _spawn_composer (line 287) | def _spawn_composer(sockets):
    method run (line 315) | def run(self):

FILE: internal/auth/jwt.go
  function GetFromClaims (line 20) | func GetFromClaims(ctx context.Context, keys []string) (string, error) {

FILE: internal/auth/jwt_auth_handler.go
  function BuildJWTAuthHandler (line 18) | func BuildJWTAuthHandler(keysURLs []string, caFile, aclFile string, excl...

FILE: internal/auth/jwt_test.go
  function TestChannelFromContext (line 14) | func TestChannelFromContext(t *testing.T) {

FILE: internal/auth/middleware.go
  constant TenantCtxKey (line 10) | TenantCtxKey string = "tenant"
  function TenantChannelMiddleware (line 12) | func TenantChannelMiddleware(tenantProviderFields []string, onFail error...

FILE: internal/client/blueprints.go
  function PostTOMLBlueprintV0 (line 17) | func PostTOMLBlueprintV0(socket *http.Client, blueprint string) (*APIRes...
  function PostTOMLWorkspaceV0 (line 27) | func PostTOMLWorkspaceV0(socket *http.Client, blueprint string) (*APIRes...
  function PostJSONBlueprintV0 (line 37) | func PostJSONBlueprintV0(socket *http.Client, blueprint string) (*APIRes...
  function PostJSONWorkspaceV0 (line 47) | func PostJSONWorkspaceV0(socket *http.Client, blueprint string) (*APIRes...
  function DeleteBlueprintV0 (line 56) | func DeleteBlueprintV0(socket *http.Client, bpName string) (*APIResponse...
  function DeleteWorkspaceV0 (line 65) | func DeleteWorkspaceV0(socket *http.Client, bpName string) (*APIResponse...
  function ListBlueprintsV0 (line 74) | func ListBlueprintsV0(socket *http.Client) ([]string, *APIResponse, erro...
  function GetBlueprintInfoTOMLV0 (line 88) | func GetBlueprintInfoTOMLV0(socket *http.Client, bpName string) (string,...
  function GetBlueprintsInfoJSONV0 (line 97) | func GetBlueprintsInfoJSONV0(socket *http.Client, bpName string) (weldr....
  function GetBlueprintsChangesV0 (line 111) | func GetBlueprintsChangesV0(socket *http.Client, bpNames []string) (weld...
  function GetBlueprintChangeV1 (line 126) | func GetBlueprintChangeV1(socket *http.Client, name, commit string) (blu...
  function UndoBlueprintChangeV0 (line 141) | func UndoBlueprintChangeV0(socket *http.Client, blueprint, commit string...
  function TagBlueprintV0 (line 151) | func TagBlueprintV0(socket *http.Client, blueprint string) (*APIResponse...
  function DepsolveBlueprintV0 (line 160) | func DepsolveBlueprintV0(socket *http.Client, blueprint string) (weldr.B...
  function FreezeBlueprintV0 (line 175) | func FreezeBlueprintV0(socket *http.Client, blueprint string) (weldr.Blu...

FILE: internal/client/blueprints_non_el10_test.go
  function TestMultilibBlueprintDepsolveV0 (line 23) | func TestMultilibBlueprintDepsolveV0(t *testing.T) {

FILE: internal/client/blueprints_test.go
  function TestPostTOMLBlueprintV0 (line 25) | func TestPostTOMLBlueprintV0(t *testing.T) {
  function TestPostInvalidTOMLBlueprintV0 (line 48) | func TestPostInvalidTOMLBlueprintV0(t *testing.T) {
  function TestPostEmptyTOMLBlueprintV0 (line 64) | func TestPostEmptyTOMLBlueprintV0(t *testing.T) {
  function TestPostEmptyNameTOMLBlueprintV0 (line 71) | func TestPostEmptyNameTOMLBlueprintV0(t *testing.T) {
  function TestPostInvalidNameTOMLBlueprintV0 (line 90) | func TestPostInvalidNameTOMLBlueprintV0(t *testing.T) {
  function TestPostJSONBlueprintV0 (line 109) | func TestPostJSONBlueprintV0(t *testing.T) {
  function TestPostInvalidJSONBlueprintV0 (line 125) | func TestPostInvalidJSONBlueprintV0(t *testing.T) {
  function TestPostEmptyJSONBlueprintV0 (line 140) | func TestPostEmptyJSONBlueprintV0(t *testing.T) {
  function TestPostEmptyNameJSONBlueprintV0 (line 147) | func TestPostEmptyNameJSONBlueprintV0(t *testing.T) {
  function TestPostInvalidNameJSONBlueprintV0 (line 165) | func TestPostInvalidNameJSONBlueprintV0(t *testing.T) {
  function TestPostTOMLWorkspaceV0 (line 183) | func TestPostTOMLWorkspaceV0(t *testing.T) {
  function TestPostInvalidTOMLWorkspaceV0 (line 206) | func TestPostInvalidTOMLWorkspaceV0(t *testing.T) {
  function TestPostEmptyTOMLWorkspaceV0 (line 222) | func TestPostEmptyTOMLWorkspaceV0(t *testing.T) {
  function TestPostEmptyNameTOMLWorkspaceV0 (line 229) | func TestPostEmptyNameTOMLWorkspaceV0(t *testing.T) {
  function TestPostInvalidNameTOMLWorkspaceV0 (line 248) | func TestPostInvalidNameTOMLWorkspaceV0(t *testing.T) {
  function TestPostJSONWorkspaceV0 (line 267) | func TestPostJSONWorkspaceV0(t *testing.T) {
  function TestPostInvalidJSONWorkspaceV0 (line 283) | func TestPostInvalidJSONWorkspaceV0(t *testing.T) {
  function TestPostEmptyJSONWorkspaceV0 (line 298) | func TestPostEmptyJSONWorkspaceV0(t *testing.T) {
  function TestPostEmptyNameJSONWorkspaceV0 (line 305) | func TestPostEmptyNameJSONWorkspaceV0(t *testing.T) {
  function TestPostInvalidNameJSONWorkspaceV0 (line 323) | func TestPostInvalidNameJSONWorkspaceV0(t *testing.T) {
  function TestDeleteBlueprintV0 (line 341) | func TestDeleteBlueprintV0(t *testing.T) {
  function TestDeleteNonBlueprint0 (line 363) | func TestDeleteNonBlueprint0(t *testing.T) {
  function TestDeleteInvalidBlueprintV0 (line 370) | func TestDeleteInvalidBlueprintV0(t *testing.T) {
  function TestDeleteNewWorkspaceV0 (line 380) | func TestDeleteNewWorkspaceV0(t *testing.T) {
  function TestDeleteChangesWorkspaceV0 (line 402) | func TestDeleteChangesWorkspaceV0(t *testing.T) {
  function TestDeleteNonWorkspace0 (line 460) | func TestDeleteNonWorkspace0(t *testing.T) {
  function TestDeleteInvalidWorkspaceV0 (line 467) | func TestDeleteInvalidWorkspaceV0(t *testing.T) {
  function TestListBlueprintsV0 (line 477) | func TestListBlueprintsV0(t *testing.T) {
  function TestGetTOMLBlueprintV0 (line 511) | func TestGetTOMLBlueprintV0(t *testing.T) {
  function TestGetNonTOMLBlueprintV0 (line 539) | func TestGetNonTOMLBlueprintV0(t *testing.T) {
  function TestGetInvalidTOMLBlueprintV0 (line 547) | func TestGetInvalidTOMLBlueprintV0(t *testing.T) {
  function TestGetJSONBlueprintV0 (line 557) | func TestGetJSONBlueprintV0(t *testing.T) {
  function TestGetNonJSONBkueprintV0 (line 584) | func TestGetNonJSONBkueprintV0(t *testing.T) {
  function TestBumpBlueprintVersionV0 (line 592) | func TestBumpBlueprintVersionV0(t *testing.T) {
  function TestBlueprintChangesV0 (line 636) | func TestBlueprintChangesV0(t *testing.T) {
  function TestBlueprintNonChangesV0 (line 678) | func TestBlueprintNonChangesV0(t *testing.T) {
  function TestInvalidBlueprintChangesV0 (line 686) | func TestInvalidBlueprintChangesV0(t *testing.T) {
  function TestUndoBlueprintV0 (line 696) | func TestUndoBlueprintV0(t *testing.T) {
  function TestUndoBlueprintNonCommitV0 (line 758) | func TestUndoBlueprintNonCommitV0(t *testing.T) {
  function TestUndoNonBlueprintV0 (line 788) | func TestUndoNonBlueprintV0(t *testing.T) {
  function TestUndoInvalidBlueprintV0 (line 795) | func TestUndoInvalidBlueprintV0(t *testing.T) {
  function TestUndoInvalidBlueprintCommitV0 (line 805) | func TestUndoInvalidBlueprintCommitV0(t *testing.T) {
  function TestBlueprintTagV0 (line 817) | func TestBlueprintTagV0(t *testing.T) {
  function TestNonBlueprintTagV0 (line 879) | func TestNonBlueprintTagV0(t *testing.T) {
  function TestTagInvalidBlueprintV0 (line 886) | func TestTagInvalidBlueprintV0(t *testing.T) {
  function TestBlueprintDepsolveV0 (line 896) | func TestBlueprintDepsolveV0(t *testing.T) {
  function TestBlueprintDepsolveGlobsV0 (line 923) | func TestBlueprintDepsolveGlobsV0(t *testing.T) {
  function TestNonBlueprintDepsolveV0 (line 960) | func TestNonBlueprintDepsolveV0(t *testing.T) {
  function TestDepsolveInvalidBlueprintV0 (line 968) | func TestDepsolveInvalidBlueprintV0(t *testing.T) {
  function TestBadDepsolveBlueprintV0 (line 978) | func TestBadDepsolveBlueprintV0(t *testing.T) {
  function TestBlueprintFreezeV0 (line 1003) | func TestBlueprintFreezeV0(t *testing.T) {
  function TestBlueprintFreezeGlobsV0 (line 1057) | func TestBlueprintFreezeGlobsV0(t *testing.T) {
  function TestNonBlueprintFreezeV0 (line 1098) | func TestNonBlueprintFreezeV0(t *testing.T) {
  function TestFreezeInvalidBlueprintV0 (line 1106) | func TestFreezeInvalidBlueprintV0(t *testing.T) {
  function TestBlueprintChangeV1 (line 1116) | func TestBlueprintChangeV1(t *testing.T) {
  function TestEmptyPackageNameBlueprintJsonV0 (line 1167) | func TestEmptyPackageNameBlueprintJsonV0(t *testing.T) {
  function TestEmptyPackageNameBlueprintTOMLV0 (line 1197) | func TestEmptyPackageNameBlueprintTOMLV0(t *testing.T) {

FILE: internal/client/client.go
  function Request (line 22) | func Request(socket *http.Client, method, path, body string, headers map...
  type APIErrorMsg (line 41) | type APIErrorMsg struct
    method String (line 47) | func (r *APIErrorMsg) String() string {
  type APIResponse (line 55) | type APIResponse struct
    method String (line 61) | func (r *APIResponse) String() string {
    method AllErrors (line 69) | func (r *APIResponse) AllErrors() (all []string) {
  function NewAPIResponse (line 77) | func NewAPIResponse(body []byte) (*APIResponse, error) {
  function apiError (line 91) | func apiError(resp *http.Response) (*APIResponse, error) {
  function GetRawBody (line 103) | func GetRawBody(socket *http.Client, method, path string) (io.ReadCloser...
  function GetRaw (line 120) | func GetRaw(socket *http.Client, method, path string) ([]byte, *APIRespo...
  function GetJSONAll (line 140) | func GetJSONAll(socket *http.Client, path string) ([]byte, *APIResponse,...
  function PostRaw (line 169) | func PostRaw(socket *http.Client, path, body string, headers map[string]...
  function PostTOML (line 192) | func PostTOML(socket *http.Client, path, body string) ([]byte, *APIRespo...
  function PostJSON (line 199) | func PostJSON(socket *http.Client, path, body string) ([]byte, *APIRespo...
  function DeleteRaw (line 206) | func DeleteRaw(socket *http.Client, path string) ([]byte, *APIResponse, ...

FILE: internal/client/client_test.go
  function TestRequest (line 12) | func TestRequest(t *testing.T) {
  function TestAPIErrorMsg (line 33) | func TestAPIErrorMsg(t *testing.T) {
  function TestAPIResponse (line 38) | func TestAPIResponse(t *testing.T) {
  function TestGetRaw (line 53) | func TestGetRaw(t *testing.T) {
  function TestGetJSONAll (line 69) | func TestGetJSONAll(t *testing.T) {
  function TestPostRaw (line 81) | func TestPostRaw(t *testing.T) {
  function TestPostTOML (line 91) | func TestPostTOML(t *testing.T) {
  function TestPostJSON (line 101) | func TestPostJSON(t *testing.T) {

FILE: internal/client/compose.go
  function PostComposeV0 (line 16) | func PostComposeV0(socket *http.Client, compose string) (*APIResponse, e...
  function NewComposeResponseV0 (line 25) | func NewComposeResponseV0(body []byte) (*weldr.ComposeResponseV0, error) {
  function GetFinishedComposesV0 (line 35) | func GetFinishedComposesV0(socket *http.Client) ([]weldr.ComposeEntryV0,...
  function GetFailedComposesV0 (line 49) | func GetFailedComposesV0(socket *http.Client) ([]weldr.ComposeEntryV0, *...
  function GetComposeStatusV0 (line 63) | func GetComposeStatusV0(socket *http.Client, uuids, blueprint, status, c...
  function GetComposesTypesV0 (line 95) | func GetComposesTypesV0(socket *http.Client) ([]weldr.ComposeTypeV0, *AP...
  function CancelComposeV0 (line 109) | func CancelComposeV0(socket *http.Client, uuid string) (weldr.CancelComp...
  function DeleteComposeV0 (line 123) | func DeleteComposeV0(socket *http.Client, uuids string) (weldr.DeleteCom...
  function GetComposeInfoV0 (line 137) | func GetComposeInfoV0(socket *http.Client, uuid string) (weldr.ComposeIn...
  function GetComposeQueueV0 (line 151) | func GetComposeQueueV0(socket *http.Client) (weldr.ComposeQueueResponseV...
  function WriteComposeImageV0 (line 169) | func WriteComposeImageV0(socket *http.Client, w io.Writer, uuid string) ...
  function WriteComposeLogsV0 (line 181) | func WriteComposeLogsV0(socket *http.Client, w io.Writer, uuid string) (...
  function WriteComposeLogV0 (line 193) | func WriteComposeLogV0(socket *http.Client, w io.Writer, uuid string) (*...
  function WriteComposeMetadataV0 (line 205) | func WriteComposeMetadataV0(socket *http.Client, w io.Writer, uuid strin...
  function WriteComposeResultsV0 (line 217) | func WriteComposeResultsV0(socket *http.Client, w io.Writer, uuid string...

FILE: internal/client/compose_test.go
  function TestComposeTypesV0 (line 40) | func TestComposeTypesV0(t *testing.T) {
  function TestComposeInvalidTypeV0 (line 56) | func TestComposeInvalidTypeV0(t *testing.T) {
  function TestComposeInvalidBlueprintV0 (line 82) | func TestComposeInvalidBlueprintV0(t *testing.T) {
  function TestComposeEmptyBlueprintV0 (line 97) | func TestComposeEmptyBlueprintV0(t *testing.T) {
  function TestComposeInvalidCharsBlueprintV0 (line 112) | func TestComposeInvalidCharsBlueprintV0(t *testing.T) {
  function TestCancelUnknownComposeV0 (line 127) | func TestCancelUnknownComposeV0(t *testing.T) {
  function TestDeleteUnknownComposeV0 (line 139) | func TestDeleteUnknownComposeV0(t *testing.T) {
  function TestUnknownComposeInfoV0 (line 151) | func TestUnknownComposeInfoV0(t *testing.T) {
  function TestComposeInvalidImageV0 (line 165) | func TestComposeInvalidImageV0(t *testing.T) {
  function TestComposeInvalidLogsV0 (line 176) | func TestComposeInvalidLogsV0(t *testing.T) {
  function TestComposeInvalidLogV0 (line 187) | func TestComposeInvalidLogV0(t *testing.T) {
  function TestComposeInvalidMetadataV0 (line 198) | func TestComposeInvalidMetadataV0(t *testing.T) {
  function TestComposeInvalidResultsV0 (line 209) | func TestComposeInvalidResultsV0(t *testing.T) {
  function TestComposeInvalidStatusV0 (line 220) | func TestComposeInvalidStatusV0(t *testing.T) {
  function TestComposeUnknownBlueprintStatusV0 (line 228) | func TestComposeUnknownBlueprintStatusV0(t *testing.T) {
  function TestComposeInvalidBlueprintStatusV0 (line 236) | func TestComposeInvalidBlueprintStatusV0(t *testing.T) {
  function UUIDInComposeResults (line 246) | func UUIDInComposeResults(buildID uuid.UUID, results []weldr.ComposeEntr...
  function WaitForBuild (line 256) | func WaitForBuild(socket *http.Client, buildID uuid.UUID) (*APIResponse,...
  function TestFailedComposeV0 (line 275) | func TestFailedComposeV0(t *testing.T) {
  function TestFinishedComposeV0 (line 380) | func TestFinishedComposeV0(t *testing.T) {
  function TestComposeSupportedMountPointV0 (line 484) | func TestComposeSupportedMountPointV0(t *testing.T) {
  function TestComposeUnsupportedMountPointV0 (line 551) | func TestComposeUnsupportedMountPointV0(t *testing.T) {

FILE: internal/client/integration_test.go
  function executeTests (line 23) | func executeTests(m *testing.M) int {
  function TestMain (line 67) | func TestMain(m *testing.M) {

FILE: internal/client/modules.go
  function ListAllModulesV0 (line 14) | func ListAllModulesV0(socket *http.Client) ([]weldr.ModuleName, *APIResp...
  function ListSomeModulesV0 (line 28) | func ListSomeModulesV0(socket *http.Client, offset, limit int) ([]weldr....
  function ListModulesV0 (line 43) | func ListModulesV0(socket *http.Client, moduleNames string) ([]weldr.Mod...
  function GetModulesInfoV0 (line 57) | func GetModulesInfoV0(socket *http.Client, modulesNames string) ([]weldr...

FILE: internal/client/modules_test.go
  function TestListAllModulesV0 (line 18) | func TestListAllModulesV0(t *testing.T) {
  function TestListSomeModulesV0 (line 26) | func TestListSomeModulesV0(t *testing.T) {
  function TestListOneModulesV0 (line 34) | func TestListOneModulesV0(t *testing.T) {
  function TestListTwoModulesV0 (line 50) | func TestListTwoModulesV0(t *testing.T) {
  function TestOneModuleInfoV0 (line 66) | func TestOneModuleInfoV0(t *testing.T) {
  function TestTwoModuleInfoV0 (line 82) | func TestTwoModuleInfoV0(t *testing.T) {
  function TestEmptyModuleInfoV0 (line 98) | func TestEmptyModuleInfoV0(t *testing.T) {

FILE: internal/client/projects.go
  function ListAllProjectsV0 (line 15) | func ListAllProjectsV0(socket *http.Client) ([]weldr.PackageInfo, *APIRe...
  function ListSomeProjectsV0 (line 29) | func ListSomeProjectsV0(socket *http.Client, offset, limit int) ([]weldr...
  function GetProjectsInfoV0 (line 44) | func GetProjectsInfoV0(socket *http.Client, projNames string) ([]weldr.P...
  function DepsolveProjectsV0 (line 58) | func DepsolveProjectsV0(socket *http.Client, projNames string) ([]weldrt...

FILE: internal/client/projects_test.go
  function TestListAllProjectsV0 (line 19) | func TestListAllProjectsV0(t *testing.T) {
  function TestListSomeProjectsV0 (line 27) | func TestListSomeProjectsV0(t *testing.T) {
  function TestOneProjectsInfoV0 (line 35) | func TestOneProjectsInfoV0(t *testing.T) {
  function TestTwoProjectsInfoV0 (line 51) | func TestTwoProjectsInfoV0(t *testing.T) {
  function TestEmptyProjectsInfoV0 (line 67) | func TestEmptyProjectsInfoV0(t *testing.T) {
  function TestDepsolveOneProjectV0 (line 76) | func TestDepsolveOneProjectV0(t *testing.T) {
  function TestDepsolveTwoProjectV0 (line 84) | func TestDepsolveTwoProjectV0(t *testing.T) {
  function TestEmptyDepsolveProjectV0 (line 92) | func TestEmptyDepsolveProjectV0(t *testing.T) {

FILE: internal/client/source.go
  function ListSourcesV0 (line 15) | func ListSourcesV0(socket *http.Client) ([]string, *APIResponse, error) {
  function ListSourcesV1 (line 29) | func ListSourcesV1(socket *http.Client) ([]string, *APIResponse, error) {
  function GetSourceInfoV0 (line 43) | func GetSourceInfoV0(socket *http.Client, sourceNames string) (map[strin...
  function GetSourceInfoV1 (line 57) | func GetSourceInfoV1(socket *http.Client, sourceNames string) (map[strin...
  function PostJSONSourceV0 (line 72) | func PostJSONSourceV0(socket *http.Client, source string) (*APIResponse,...
  function PostJSONSourceV1 (line 82) | func PostJSONSourceV1(socket *http.Client, source string) (*APIResponse,...
  function PostTOMLSourceV0 (line 92) | func PostTOMLSourceV0(socket *http.Client, source string) (*APIResponse,...
  function PostTOMLSourceV1 (line 102) | func PostTOMLSourceV1(socket *http.Client, source string) (*APIResponse,...
  function DeleteSourceV0 (line 111) | func DeleteSourceV0(socket *http.Client, sourceName string) (*APIRespons...
  function DeleteSourceV1 (line 120) | func DeleteSourceV1(socket *http.Client, sourceName string) (*APIRespons...

FILE: internal/client/source_test.go
  function TestPOSTJSONSourceV0 (line 20) | func TestPOSTJSONSourceV0(t *testing.T) {
  function TestPOSTEmptyJSONSourceV0 (line 42) | func TestPOSTEmptyJSONSourceV0(t *testing.T) {
  function TestPOSTEmptyJSONSourceV1 (line 49) | func TestPOSTEmptyJSONSourceV1(t *testing.T) {
  function TestPOSTInvalidJSONSourceV0 (line 56) | func TestPOSTInvalidJSONSourceV0(t *testing.T) {
  function TestPOSTInvalidJSONSourceV1 (line 74) | func TestPOSTInvalidJSONSourceV1(t *testing.T) {
  function TestPOSTSystemJSONSourceV0 (line 93) | func TestPOSTSystemJSONSourceV0(t *testing.T) {
  function TestPOSTSystemJSONSourceV1 (line 126) | func TestPOSTSystemJSONSourceV1(t *testing.T) {
  function TestPOSTTOMLSourceV0 (line 160) | func TestPOSTTOMLSourceV0(t *testing.T) {
  function TestPOSTTOMLSourceV1 (line 182) | func TestPOSTTOMLSourceV1(t *testing.T) {
  function TestPOSTEmptyTOMLSourceV0 (line 205) | func TestPOSTEmptyTOMLSourceV0(t *testing.T) {
  function TestPOSTEmptyTOMLSourceV1 (line 212) | func TestPOSTEmptyTOMLSourceV1(t *testing.T) {
  function TestPOSTInvalidTOMLSourceV0 (line 219) | func TestPOSTInvalidTOMLSourceV0(t *testing.T) {
  function TestPOSTInvalidTOMLSourceV1 (line 237) | func TestPOSTInvalidTOMLSourceV1(t *testing.T) {
  function TestPOSTWrongTOMLSourceV0 (line 256) | func TestPOSTWrongTOMLSourceV0(t *testing.T) {
  function TestPOSTWrongTOMLSourceV1 (line 275) | func TestPOSTWrongTOMLSourceV1(t *testing.T) {
  function TestPOSTTOMLSystemSourceV0 (line 295) | func TestPOSTTOMLSystemSourceV0(t *testing.T) {
  function TestPOSTTOMLSystemSourceV1 (line 327) | func TestPOSTTOMLSystemSourceV1(t *testing.T) {
  function TestListSourcesV0 (line 360) | func TestListSourcesV0(t *testing.T) {
  function TestListSourcesV1 (line 406) | func TestListSourcesV1(t *testing.T) {
  function TestGetSourceInfoV0 (line 454) | func TestGetSourceInfoV0(t *testing.T) {
  function TestGetSourceInfoV1 (line 483) | func TestGetSourceInfoV1(t *testing.T) {
  function UploadUserDefinedSourcesV0 (line 514) | func UploadUserDefinedSourcesV0(t *testing.T, sources []string) {
  function UploadUserDefinedSourcesV1 (line 523) | func UploadUserDefinedSourcesV1(t *testing.T, sources []string) {
  function VerifyNoUserDefinedSourcesV0 (line 533) | func VerifyNoUserDefinedSourcesV0(t *testing.T, source_names []string) {
  function VerifyNoUserDefinedSourcesV1 (line 544) | func VerifyNoUserDefinedSourcesV1(t *testing.T, source_names []string) {
  function TestDeleteUserDefinedSourcesV0 (line 554) | func TestDeleteUserDefinedSourcesV0(t *testing.T) {
  function TestDeleteUserDefinedSourcesV1 (line 594) | func TestDeleteUserDefinedSourcesV1(t *testing.T) {
  function Index (line 636) | func Index(vs []string, t string) int {
  function Include (line 645) | func Include(vs []string, t string) bool {
  function TestDeleteSystemSourcesV0 (line 649) | func TestDeleteSystemSourcesV0(t *testing.T) {
  function TestDeleteSystemSourcesV1 (line 675) | func TestDeleteSystemSourcesV1(t *testing.T) {

FILE: internal/client/unit_test.go
  function executeTests (line 28) | func executeTests(m *testing.M) int {
  function TestMain (line 101) | func TestMain(m *testing.M) {

FILE: internal/client/utils.go
  type TestState (line 15) | type TestState struct
  function setUpTestState (line 23) | func setUpTestState(socketPath string, imageTypeName string, unitTest bo...

FILE: internal/client/weldr.go
  function GetStatusV0 (line 13) | func GetStatusV0(socket *http.Client) (reply weldr.StatusV0, resp *APIRe...

FILE: internal/cloud/awscloud/autoscaling.go
  method ASGSetProtectHost (line 12) | func (a *AWS) ASGSetProtectHost(protect bool) error {
  method SetInstanceToUnhealthy (line 48) | func (a *AWS) SetInstanceToUnhealthy() error {
  function ShutdownSelf (line 64) | func ShutdownSelf() error {

FILE: internal/cloud/awscloud/awscloud.go
  type AWS (line 21) | type AWS struct
    method CopyImage (line 200) | func (a *AWS) CopyImage(name, ami, sourceRegion string) (string, error) {
    method DescribeImagesByName (line 281) | func (a *AWS) DescribeImagesByName(name string) (*ec2.DescribeImagesOu...
  function newForTest (line 31) | func newForTest(ec2cli EC2, ec2imds EC2Imds) *AWS {
  function newAwsFromConfig (line 41) | func newAwsFromConfig(cfg aws.Config, imagesAWS *images_awscloud.AWS) *A...
  function New (line 51) | func New(region string, accessKeyID string, accessKey string, sessionTok...
  function NewFromFile (line 79) | func NewFromFile(filename string, region string) (*AWS, error) {
  function NewDefault (line 103) | func NewDefault(region string) (*AWS, error) {
  function RegionFromInstanceMetadata (line 121) | func RegionFromInstanceMetadata() (string, error) {
  function newAwsFromCredsWithEndpoint (line 133) | func newAwsFromCredsWithEndpoint(creds config.LoadOptionsFunc, region, e...
  function NewForEndpoint (line 174) | func NewForEndpoint(endpoint, region, accessKeyID, accessKey, sessionTok...
  function NewForEndpointFromFile (line 191) | func NewForEndpointFromFile(filename, endpoint, region, caBundle string,...

FILE: internal/cloud/awscloud/awscloud_test.go
  function TestEC2CopyImage (line 11) | func TestEC2CopyImage(t *testing.T) {

FILE: internal/cloud/awscloud/client-interfaces.go
  type EC2 (line 11) | type EC2 interface
  type EC2Imds (line 52) | type EC2Imds interface
  type ASG (line 56) | type ASG interface

FILE: internal/cloud/awscloud/maintenance.go
  method DescribeImagesByTag (line 16) | func (a *AWS) DescribeImagesByTag(tagKey, tagValue string) ([]ec2types.I...
  method describeInstancesByKeyValue (line 34) | func (a *AWS) describeInstancesByKeyValue(key, value string) ([]ec2types...
  method DescribeInstancesByTag (line 52) | func (a *AWS) DescribeInstancesByTag(tagKey, tagValue string) ([]ec2type...
  method DescribeInstancesBySecurityGroupID (line 56) | func (a *AWS) DescribeInstancesBySecurityGroupID(securityGroupID string)...
  method DescribeInstancesByLaunchTemplateID (line 60) | func (a *AWS) DescribeInstancesByLaunchTemplateID(launchTemplateID strin...
  method DescribeInstancesByInstanceID (line 64) | func (a *AWS) DescribeInstancesByInstanceID(instanceID string) ([]ec2typ...
  method DescribeSecurityGroupsByPrefix (line 77) | func (a *AWS) DescribeSecurityGroupsByPrefix(ctx context.Context, prefix...
  method DescribeLaunchTemplatesByPrefix (line 93) | func (a *AWS) DescribeLaunchTemplatesByPrefix(ctx context.Context, prefi...
  method DeleteSecurityGroupById (line 109) | func (a *AWS) DeleteSecurityGroupById(ctx context.Context, sgID *string)...
  method DeleteLaunchTemplateById (line 119) | func (a *AWS) DeleteLaunchTemplateById(ctx context.Context, ltID *string...

FILE: internal/cloud/awscloud/mocks_test.go
  type ec2imdsmock (line 13) | type ec2imdsmock struct
    method GetInstanceIdentityDocument (line 20) | func (m *ec2imdsmock) GetInstanceIdentityDocument(ctx context.Context,...
  type ec2mock (line 29) | type ec2mock struct
    method AuthorizeSecurityGroupEgress (line 52) | func (m *ec2mock) AuthorizeSecurityGroupEgress(ctx context.Context, in...
    method AuthorizeSecurityGroupIngress (line 59) | func (m *ec2mock) AuthorizeSecurityGroupIngress(ctx context.Context, i...
    method CreateSecurityGroup (line 66) | func (m *ec2mock) CreateSecurityGroup(ctx context.Context, input *ec2....
    method DeleteSecurityGroup (line 78) | func (m *ec2mock) DeleteSecurityGroup(ctx context.Context, input *ec2....
    method DescribeSecurityGroups (line 83) | func (m *ec2mock) DescribeSecurityGroups(ctx context.Context, input *e...
    method DescribeSecurityGroupRules (line 100) | func (m *ec2mock) DescribeSecurityGroupRules(ctx context.Context, inpu...
    method RevokeSecurityGroupEgress (line 112) | func (m *ec2mock) RevokeSecurityGroupEgress(ctx context.Context, input...
    method CreateSubnet (line 119) | func (m *ec2mock) CreateSubnet(ctx context.Context, input *ec2.CreateS...
    method DeleteSubnet (line 124) | func (m *ec2mock) DeleteSubnet(ctx context.Context, input *ec2.DeleteS...
    method DescribeSubnets (line 129) | func (m *ec2mock) DescribeSubnets(ctx context.Context, input *ec2.Desc...
    method CreateLaunchTemplate (line 140) | func (m *ec2mock) CreateLaunchTemplate(ctx context.Context, input *ec2...
    method DeleteLaunchTemplate (line 154) | func (m *ec2mock) DeleteLaunchTemplate(ctx context.Context, input *ec2...
    method DescribeLaunchTemplates (line 159) | func (m *ec2mock) DescribeLaunchTemplates(ctx context.Context, input *...
    method DescribeInstances (line 170) | func (m *ec2mock) DescribeInstances(ctx context.Context, input *ec2.De...
    method DescribeInstanceStatus (line 198) | func (m *ec2mock) DescribeInstanceStatus(ctx context.Context, input *e...
    method TerminateInstances (line 222) | func (m *ec2mock) TerminateInstances(ctx context.Context, input *ec2.T...
    method CreateFleet (line 227) | func (m *ec2mock) CreateFleet(ctx context.Context, input *ec2.CreateFl...
    method DeleteFleets (line 256) | func (m *ec2mock) DeleteFleets(ctx context.Context, input *ec2.DeleteF...
    method CopyImage (line 268) | func (m *ec2mock) CopyImage(ctx context.Context, input *ec2.CopyImageI...
    method DescribeImages (line 275) | func (m *ec2mock) DescribeImages(ctx context.Context, input *ec2.Descr...
    method ModifyImageAttribute (line 294) | func (m *ec2mock) ModifyImageAttribute(ctx context.Context, input *ec2...
    method DescribeImportSnapshotTasks (line 299) | func (m *ec2mock) DescribeImportSnapshotTasks(ctx context.Context, inp...
    method ModifySnapshotAttribute (line 314) | func (m *ec2mock) ModifySnapshotAttribute(ctx context.Context, input *...
    method CreateTags (line 319) | func (m *ec2mock) CreateTags(ctx context.Context, input *ec2.CreateTag...
  function newEc2Mock (line 41) | func newEc2Mock(t *testing.T) *ec2mock {

FILE: internal/cloud/awscloud/secure-instance.go
  type SecureInstance (line 21) | type SecureInstance struct
  function SecureInstanceUserData (line 30) | func SecureInstanceUserData(hostname, hostIP string) string {
  method RunSecureInstance (line 56) | func (a *AWS) RunSecureInstance(iamProfile, keyName, hostname string) (*...
  method TerminateSecureInstance (line 233) | func (a *AWS) TerminateSecureInstance(si *SecureInstance) error {
  method terminatePreviousSI (line 248) | func (a *AWS) terminatePreviousSI(hostInstanceID string) (string, error) {
  function isInvalidGroupNotFoundErr (line 326) | func isInvalidGroupNotFoundErr(err error) bool {
  method createOrReplaceSG (line 336) | func (a *AWS) createOrReplaceSG(hostInstanceID, hostIP, vpcID string) (s...
  function isLaunchTemplateNotFoundError (line 489) | func isLaunchTemplateNotFoundError(err error) bool {
  method createOrReplaceLT (line 499) | func (a *AWS) createOrReplaceLT(hostInstanceID, imageID, sgID, iamProfil...
  method deleteFleetIfExists (line 603) | func (a *AWS) deleteFleetIfExists(si *SecureInstance) error {
  method deleteLTIfExists (line 640) | func (a *AWS) deleteLTIfExists(si *SecureInstance) error {
  method deleteSGIfExists (line 657) | func (a *AWS) deleteSGIfExists(si *SecureInstance) error {
  method createFleet (line 674) | func (a *AWS) createFleet(input *ec2.CreateFleetInput) (*ec2.CreateFleet...
  function doCreateFleetRetry (line 725) | func doCreateFleetRetry(cfOutput *ec2.CreateFleetOutput) (bool, []string) {
  function logCreateFleetInput (line 756) | func logCreateFleetInput(input *ec2.CreateFleetInput) {

FILE: internal/cloud/awscloud/secure-instance_test.go
  function TestSIUserData (line 15) | func TestSIUserData(t *testing.T) {
  function TestSIRunSecureInstance (line 63) | func TestSIRunSecureInstance(t *testing.T) {
  function TestSITerminateSecureInstance (line 79) | func TestSITerminateSecureInstance(t *testing.T) {
  function TestSICreateSGFailures (line 101) | func TestSICreateSGFailures(t *testing.T) {
  function TestSICreateLTFailures (line 117) | func TestSICreateLTFailures(t *testing.T) {
  function TestSICreateFleetFailures (line 133) | func TestSICreateFleetFailures(t *testing.T) {
  function TestDoCreateFleetRetry (line 161) | func TestDoCreateFleetRetry(t *testing.T) {

FILE: internal/cloudapi/server.go
  type Server (line 13) | type Server struct
    method V2 (line 24) | func (server *Server) V2(path string) http.Handler {
    method Shutdown (line 28) | func (server *Server) Shutdown() {
  function NewServer (line 17) | func NewServer(workers *worker.Server, distros *distrofactory.Factory, r...

FILE: internal/cloudapi/v2/bootc.go
  function bootcSupportedImageType (line 27) | func bootcSupportedImageType(archName string, imageTypeName string) error {

FILE: internal/cloudapi/v2/bootc_premanifest_test.go
  function newTestWorkerServer (line 30) | func newTestWorkerServer(t *testing.T) *worker.Server {
  function rawValidBaseBootcInfoResult (line 46) | func rawValidBaseBootcInfoResult(t *testing.T) json.RawMessage {
  function TestHandleBootcPreManifest_Errors (line 79) | func TestHandleBootcPreManifest_Errors(t *testing.T) {
  function enqueuePreManifestWithResolvedDep (line 305) | func enqueuePreManifestWithResolvedDep(t *testing.T, ws *worker.Server, ...
  function assertValidPreManifestResult (line 340) | func assertValidPreManifestResult(t *testing.T, result worker.BootcPreMa...
  function TestHandleBootcPreManifest_HappyPath (line 386) | func TestHandleBootcPreManifest_HappyPath(t *testing.T) {
  function TestBootcPreManifestLoop_PicksUpJob (line 616) | func TestBootcPreManifestLoop_PicksUpJob(t *testing.T) {
  function TestSerializeManifest_PreManifestErrors (line 660) | func TestSerializeManifest_PreManifestErrors(t *testing.T) {

FILE: internal/cloudapi/v2/bootc_test.go
  function TestBootcSupportedImageType (line 11) | func TestBootcSupportedImageType(t *testing.T) {

FILE: internal/cloudapi/v2/compose.go
  method String (line 27) | func (bcpm BlueprintCustomizationsPartitioningMode) String() string {
  method GetCustomizationsFromBlueprintRequest (line 45) | func (rbp *Blueprint) GetCustomizationsFromBlueprintRequest() (*blueprin...
  method GetBlueprintFromCompose (line 523) | func (request *ComposeRequest) GetBlueprintFromCompose() (blueprint.Blue...
  function ConvertRequestBP (line 535) | func ConvertRequestBP(rbp Blueprint) (blueprint.Blueprint, error) {
  method GetBlueprintFromCustomizations (line 614) | func (request *ComposeRequest) GetBlueprintFromCustomizations() (bluepri...
  method GetBlueprint (line 1112) | func (request *ComposeRequest) GetBlueprint() (blueprint.Blueprint, erro...
  method GetPayloadRepositories (line 1122) | func (request *ComposeRequest) GetPayloadRepositories() (repos []Reposit...
  method GetSubscription (line 1132) | func (request *ComposeRequest) GetSubscription() (sub *subscription.Imag...
  method GetPartitioningMode (line 1180) | func (request *ComposeRequest) GetPartitioningMode() (partition.Partitio...
  method GetImageRequests (line 1199) | func (request *ComposeRequest) GetImageRequests(distroFactory *distrofac...
  function convertDiskCustomizations (line 1346) | func convertDiskCustomizations(disk *Disk) (*blueprint.DiskCustomization...
  function convertDNFCustomizations (line 1456) | func convertDNFCustomizations(dnf *DNF) *blueprint.DNFCustomization {
  function decodeMinsize (line 1472) | func decodeMinsize(size *Minsize) (uint64, error) {
  method HasImageType (line 1480) | func (request *ComposeRequest) HasImageType(imageType ImageTypes) bool {

FILE: internal/cloudapi/v2/compose_test.go
  constant TEST_DISTRO_NAME (line 26) | TEST_DISTRO_NAME    = "fedora-42"
  constant TEST_DISTRO_VERSION (line 27) | TEST_DISTRO_VERSION = "42"
  function GetTestBlueprint (line 34) | func GetTestBlueprint() blueprint.Blueprint {
  function TestGetBlueprintFromCustomizations (line 250) | func TestGetBlueprintFromCustomizations(t *testing.T) {
  function TestBlueprintFromCustomizationPasswordsHashed (line 491) | func TestBlueprintFromCustomizationPasswordsHashed(t *testing.T) {
  function TestGetBlueprintFromCompose (line 510) | func TestGetBlueprintFromCompose(t *testing.T) {
  function TestGetBlueprint (line 755) | func TestGetBlueprint(t *testing.T) {
  function TestGetPayloadRepositories (line 765) | func TestGetPayloadRepositories(t *testing.T) {
  function TestGetSubscriptions (line 800) | func TestGetSubscriptions(t *testing.T) {
  function TestGetPartitioningMode (line 851) | func TestGetPartitioningMode(t *testing.T) {
  function TestGetImageRequests_ImageTypeConversion (line 866) | func TestGetImageRequests_ImageTypeConversion(t *testing.T) {
  function TestGetImageRequests_NoRepositories (line 1153) | func TestGetImageRequests_NoRepositories(t *testing.T) {
  function TestGetImageRequests_BlueprintDistro (line 1173) | func TestGetImageRequests_BlueprintDistro(t *testing.T) {
  function TestGetImageRequests_BlueprintId (line 1198) | func TestGetImageRequests_BlueprintId(t *testing.T) {
  function TestGetImageRequests_BlueprintIdNil (line 1223) | func TestGetImageRequests_BlueprintIdNil(t *testing.T) {
  function TestOpenSCAPTailoringOptions (line 1244) | func TestOpenSCAPTailoringOptions(t *testing.T) {
  function TestDecodeMinsize (line 1313) | func TestDecodeMinsize(t *testing.T) {
  function TestConvertDNFCustomizations (line 1361) | func TestConvertDNFCustomizations(t *testing.T) {

FILE: internal/cloudapi/v2/depsolve.go
  method Depsolve (line 20) | func (request *DepsolveRequest) Depsolve(df *distrofactory.Factory, rr *...

FILE: internal/cloudapi/v2/errors.go
  constant ErrorCodePrefix (line 11) | ErrorCodePrefix = "IMAGE-BUILDER-COMPOSER-"
  constant ErrorHREF (line 12) | ErrorHREF       = "/api/image-builder-composer/v2/errors"
  constant ErrorUnauthenticated (line 15) | ErrorUnauthenticated ServiceErrorCode = 401
  constant ErrorUnauthorized (line 17) | ErrorUnauthorized                 ServiceErrorCode = 2
  constant ErrorUnsupportedMediaType (line 18) | ErrorUnsupportedMediaType         ServiceErrorCode = 3
  constant ErrorUnsupportedDistribution (line 19) | ErrorUnsupportedDistribution      ServiceErrorCode = 4
  constant ErrorUnsupportedArchitecture (line 20) | ErrorUnsupportedArchitecture      ServiceErrorCode = 5
  constant ErrorUnsupportedImageType (line 21) | ErrorUnsupportedImageType         ServiceErrorCode = 6
  constant ErrorInvalidRepository (line 22) | ErrorInvalidRepository            ServiceErrorCode = 7
  constant ErrorDNFError (line 23) | ErrorDNFError                     ServiceErrorCode = 8
  constant ErrorInvalidOSTreeRef (line 24) | ErrorInvalidOSTreeRef             ServiceErrorCode = 9
  constant ErrorInvalidOSTreeRepo (line 25) | ErrorInvalidOSTreeRepo            ServiceErrorCode = 10
  constant ErrorFailedToMakeManifest (line 26) | ErrorFailedToMakeManifest         ServiceErrorCode = 11
  constant ErrorInvalidComposeId (line 27) | ErrorInvalidComposeId             ServiceErrorCode = 14
  constant ErrorComposeNotFound (line 28) | ErrorComposeNotFound              ServiceErrorCode = 15
  constant ErrorInvalidErrorId (line 29) | ErrorInvalidErrorId               ServiceErrorCode = 16
  constant ErrorErrorNotFound (line 30) | ErrorErrorNotFound                ServiceErrorCode = 17
  constant ErrorInvalidPageParam (line 31) | ErrorInvalidPageParam             ServiceErrorCode = 18
  constant ErrorInvalidSizeParam (line 32) | ErrorInvalidSizeParam             ServiceErrorCode = 19
  constant ErrorBodyDecodingError (line 33) | ErrorBodyDecodingError            ServiceErrorCode = 20
  constant ErrorResourceNotFound (line 34) | ErrorResourceNotFound             ServiceErrorCode = 21
  constant ErrorMethodNotAllowed (line 35) | ErrorMethodNotAllowed             ServiceErrorCode = 22
  constant ErrorNotAcceptable (line 36) | ErrorNotAcceptable                ServiceErrorCode = 23
  constant ErrorNoBaseURLInPayloadRepository (line 37) | ErrorNoBaseURLInPayloadRepository ServiceErrorCode = 24
  constant ErrorInvalidNumberOfImageBuilds (line 38) | ErrorInvalidNumberOfImageBuilds   ServiceErrorCode = 25
  constant ErrorInvalidJobType (line 39) | ErrorInvalidJobType               ServiceErrorCode = 26
  constant ErrorInvalidOSTreeParams (line 40) | ErrorInvalidOSTreeParams          ServiceErrorCode = 27
  constant ErrorTenantNotFound (line 41) | ErrorTenantNotFound               ServiceErrorCode = 28
  constant ErrorNoGPGKey (line 42) | ErrorNoGPGKey                     ServiceErrorCode = 29
  constant ErrorValidationFailed (line 43) | ErrorValidationFailed             ServiceErrorCode = 30
  constant ErrorComposeBadState (line 44) | ErrorComposeBadState              ServiceErrorCode = 31
  constant ErrorUnsupportedImage (line 45) | ErrorUnsupportedImage             ServiceErrorCode = 32
  constant ErrorInvalidImageFromComposeId (line 46) | ErrorInvalidImageFromComposeId    ServiceErrorCode = 33
  constant ErrorImageNotFound (line 47) | ErrorImageNotFound                ServiceErrorCode = 34
  constant ErrorInvalidCustomization (line 48) | ErrorInvalidCustomization         ServiceErrorCode = 35
  constant ErrorLocalSaveNotEnabled (line 49) | ErrorLocalSaveNotEnabled          ServiceErrorCode = 36
  constant ErrorInvalidPartitioningMode (line 50) | ErrorInvalidPartitioningMode      ServiceErrorCode = 37
  constant ErrorInvalidUploadTarget (line 51) | ErrorInvalidUploadTarget          ServiceErrorCode = 38
  constant ErrorBlueprintOrCustomNotBoth (line 52) | ErrorBlueprintOrCustomNotBoth     ServiceErrorCode = 39
  constant ErrorMismatchedDistribution (line 53) | ErrorMismatchedDistribution       ServiceErrorCode = 40
  constant ErrorMismatchedArchitecture (line 54) | ErrorMismatchedArchitecture       ServiceErrorCode = 41
  constant ErrorBadRequest (line 55) | ErrorBadRequest                   ServiceErrorCode = 42
  constant ErrorDistroOrBootcNotBoth (line 56) | ErrorDistroOrBootcNotBoth         ServiceErrorCode = 43
  constant ErrorDistroAndBootcMissing (line 57) | ErrorDistroAndBootcMissing        ServiceErrorCode = 44
  constant ErrorDistroMissing (line 58) | ErrorDistroMissing                ServiceErrorCode = 45
  constant ErrorIsoPayloadReferenceForbidden (line 59) | ErrorIsoPayloadReferenceForbidden ServiceErrorCode = 46
  constant ErrorBootcOnlyImageType (line 60) | ErrorBootcOnlyImageType           ServiceErrorCode = 47
  constant ErrorFailedToInitializeBlueprint (line 63) | ErrorFailedToInitializeBlueprint              ServiceErrorCode = 1000
  constant ErrorFailedToGenerateManifestSeed (line 64) | ErrorFailedToGenerateManifestSeed             ServiceErrorCode = 1001
  constant ErrorFailedToDepsolve (line 65) | ErrorFailedToDepsolve                         ServiceErrorCode = 1002
  constant ErrorJSONMarshallingError (line 66) | ErrorJSONMarshallingError                     ServiceErrorCode = 1003
  constant ErrorJSONUnMarshallingError (line 67) | ErrorJSONUnMarshallingError                   ServiceErrorCode = 1004
  constant ErrorEnqueueingJob (line 68) | ErrorEnqueueingJob                            ServiceErrorCode = 1005
  constant ErrorSeveralUploadTargets (line 69) | ErrorSeveralUploadTargets                     ServiceErrorCode = 1006
  constant ErrorUnknownUploadTarget (line 70) | ErrorUnknownUploadTarget                      ServiceErrorCode = 1007
  constant ErrorFailedToLoadOpenAPISpec (line 71) | ErrorFailedToLoadOpenAPISpec                  ServiceErrorCode = 1008
  constant ErrorFailedToParseManifestVersion (line 72) | ErrorFailedToParseManifestVersion             ServiceErrorCode = 1009
  constant ErrorUnknownManifestVersion (line 73) | ErrorUnknownManifestVersion                   ServiceErrorCode = 1010
  constant ErrorUnableToConvertOSTreeCommitStageMetadata (line 74) | ErrorUnableToConvertOSTreeCommitStageMetadata ServiceErrorCode = 1011
  constant ErrorMalformedOSBuildJobResult (line 75) | ErrorMalformedOSBuildJobResult                ServiceErrorCode = 1012
  constant ErrorGettingDepsolveJobStatus (line 76) | ErrorGettingDepsolveJobStatus                 ServiceErrorCode = 1013
  constant ErrorDepsolveJobCanceled (line 77) | ErrorDepsolveJobCanceled                      ServiceErrorCode = 1014
  constant ErrorUnexpectedNumberOfImageBuilds (line 78) | ErrorUnexpectedNumberOfImageBuilds            ServiceErrorCode = 1015
  constant ErrorGettingBuildDependencyStatus (line 79) | ErrorGettingBuildDependencyStatus             ServiceErrorCode = 1016
  constant ErrorGettingOSBuildJobStatus (line 80) | ErrorGettingOSBuildJobStatus                  ServiceErrorCode = 1017
  constant ErrorGettingAWSEC2JobStatus (line 81) | ErrorGettingAWSEC2JobStatus                   ServiceErrorCode = 1018
  constant ErrorGettingJobType (line 82) | ErrorGettingJobType                           ServiceErrorCode = 1019
  constant ErrorTenantNotInContext (line 83) | ErrorTenantNotInContext                       ServiceErrorCode = 1020
  constant ErrorGettingComposeList (line 84) | ErrorGettingComposeList                       ServiceErrorCode = 1021
  constant ErrorArtifactNotFound (line 85) | ErrorArtifactNotFound                         ServiceErrorCode = 1022
  constant ErrorDeletingJob (line 86) | ErrorDeletingJob                              ServiceErrorCode = 1023
  constant ErrorDeletingArtifacts (line 87) | ErrorDeletingArtifacts                        ServiceErrorCode = 1024
  constant ErrorGettingImageTypes (line 88) | ErrorGettingImageTypes                        ServiceErrorCode = 1025
  constant ErrorUnspecified (line 91) | ErrorUnspecified          ServiceErrorCode = 10000
  constant ErrorNotHTTPError (line 92) | ErrorNotHTTPError         ServiceErrorCode = 10001
  constant ErrorServiceErrorNotFound (line 93) | ErrorServiceErrorNotFound ServiceErrorCode = 10002
  constant ErrorMalformedOperationID (line 94) | ErrorMalformedOperationID ServiceErrorCode = 10003
  type ServiceErrorCode (line 97) | type ServiceErrorCode
  type serviceError (line 99) | type serviceError struct
  type serviceErrors (line 105) | type serviceErrors
  function getServiceErrors (line 108) | func getServiceErrors() serviceErrors {
  function find (line 190) | func find(code ServiceErrorCode) *serviceError {
  function HTTPError (line 200) | func HTTPError(code ServiceErrorCode) error {
  function HTTPErrorWithInternal (line 205) | func HTTPErrorWithInternal(code ServiceErrorCode, internalErr error) err...
  type detailsError (line 218) | type detailsError struct
  function HTTPErrorWithDetails (line 224) | func HTTPErrorWithDetails(code ServiceErrorCode, internalErr error, deta...
  function APIError (line 235) | func APIError(serviceError *serviceError, c echo.Context, details interf...
  function APIErrorList (line 256) | func APIErrorList(page int, pageSize int, c echo.Context) *ErrorList {
  function apiErrorFromEchoError (line 286) | func apiErrorFromEchoError(echoError *echo.HTTPError) ServiceErrorCode {
  function HTTPErrorHandler (line 302) | func HTTPErrorHandler(echoError error, c echo.Context) {

FILE: internal/cloudapi/v2/errors_test.go
  function TestHTTPErrorReturnsEchoHTTPError (line 14) | func TestHTTPErrorReturnsEchoHTTPError(t *testing.T) {
  function TestAPIError (line 26) | func TestAPIError(t *testing.T) {
  function TestAPIErrorOperationID (line 42) | func TestAPIErrorOperationID(t *testing.T) {
  function TestAPIErrorList (line 57) | func TestAPIErrorList(t *testing.T) {
  function TestHTTPErrorHandler (line 101) | func TestHTTPErrorHandler(t *testing.T) {

FILE: internal/cloudapi/v2/export_test.go
  function MockSerializeManifestFunc (line 17) | func MockSerializeManifestFunc(f func(ctx context.Context, getManifestSo...
  function HandleBootcPreManifest (line 32) | func HandleBootcPreManifest(workers *worker.Server, jobID uuid.UUID, tok...
  function SerializeManifest (line 37) | func SerializeManifest(ctx context.Context, getManifestSource ManifestSo...
  function NewManifestJobDependencies (line 42) | func NewManifestJobDependencies(

FILE: internal/cloudapi/v2/handler.go
  type apiHandlers (line 36) | type apiHandlers struct
    method GetOpenapi (line 55) | func (h *apiHandlers) GetOpenapi(ctx echo.Context) error {
    method GetErrorList (line 63) | func (h *apiHandlers) GetErrorList(ctx echo.Context, params GetErrorLi...
    method GetError (line 84) | func (h *apiHandlers) GetError(ctx echo.Context, id string) error {
    method PostCompose (line 126) | func (h *apiHandlers) PostCompose(ctx echo.Context) error {
    method targetResultToUploadStatus (line 273) | func (h *apiHandlers) targetResultToUploadStatus(jobId uuid.UUID, t *t...
    method GetComposeList (line 348) | func (h *apiHandlers) GetComposeList(ctx echo.Context) error {
    method DeleteCompose (line 372) | func (h *apiHandlers) DeleteCompose(ctx echo.Context, jobId uuid.UUID)...
    method deleteComposeImpl (line 376) | func (h *apiHandlers) deleteComposeImpl(ctx echo.Context, jobId uuid.U...
    method GetComposeStatus (line 399) | func (h *apiHandlers) GetComposeStatus(ctx echo.Context, jobId uuid.UU...
    method getComposeStatusImpl (line 403) | func (h *apiHandlers) getComposeStatusImpl(ctx echo.Context, jobId uui...
    method getJobIDComposeStatus (line 413) | func (h *apiHandlers) getJobIDComposeStatus(jobId uuid.UUID) (ComposeS...
    method GetComposeMetadata (line 680) | func (h *apiHandlers) GetComposeMetadata(ctx echo.Context, jobId uuid....
    method getComposeMetadataImpl (line 684) | func (h *apiHandlers) getComposeMetadataImpl(ctx echo.Context, jobId u...
    method GetComposeLogs (line 793) | func (h *apiHandlers) GetComposeLogs(ctx echo.Context, jobId uuid.UUID...
    method getComposeLogsImpl (line 797) | func (h *apiHandlers) getComposeLogsImpl(ctx echo.Context, jobId uuid....
    method GetComposeManifests (line 893) | func (h *apiHandlers) GetComposeManifests(ctx echo.Context, jobId uuid...
    method getComposeManifestsImpl (line 897) | func (h *apiHandlers) getComposeManifestsImpl(ctx echo.Context, jobId ...
    method GetComposeSBOMs (line 1085) | func (h *apiHandlers) GetComposeSBOMs(ctx echo.Context, jobId uuid.UUI...
    method getComposeSBOMsImpl (line 1089) | func (h *apiHandlers) getComposeSBOMsImpl(ctx echo.Context, jobId uuid...
    method PostCloneCompose (line 1230) | func (h *apiHandlers) PostCloneCompose(ctx echo.Context, jobId uuid.UU...
    method postCloneComposeImpl (line 1234) | func (h *apiHandlers) postCloneComposeImpl(ctx echo.Context, jobId uui...
    method GetCloneStatus (line 1372) | func (h *apiHandlers) GetCloneStatus(ctx echo.Context, jobId uuid.UUID...
    method getCloneStatus (line 1376) | func (h *apiHandlers) getCloneStatus(ctx echo.Context, jobId uuid.UUID...
    method PostDepsolveBlueprint (line 1450) | func (h *apiHandlers) PostDepsolveBlueprint(ctx echo.Context) error {
    method PostSearchPackages (line 1537) | func (h *apiHandlers) PostSearchPackages(ctx echo.Context) error {
    method GetDistributionList (line 1559) | func (h *apiHandlers) GetDistributionList(ctx echo.Context) error {
    method GetDistribution (line 1594) | func (h *apiHandlers) GetDistribution(ctx echo.Context, distroName str...
    method GetComposeDownload (line 1803) | func (h *apiHandlers) GetComposeDownload(ctx echo.Context, jobId uuid....
    method getComposeDownloadImpl (line 1807) | func (h *apiHandlers) getComposeDownloadImpl(ctx echo.Context, jobId u...
  type binder (line 40) | type binder struct
    method Bind (line 42) | func (b binder) Bind(i interface{}, ctx echo.Context) error {
  function splitExtension (line 103) | func splitExtension(filename string) string {
  type imageRequest (line 117) | type imageRequest struct
  function imageTypeFromApiImageType (line 197) | func imageTypeFromApiImageType(it ImageTypes) string {
  function progressFromJobResult (line 552) | func progressFromJobResult(jobProgress *worker.JobProgress) *Progress {
  function composeStatusErrorFromJobError (line 569) | func composeStatusErrorFromJobError(jobError *clienterrors.Error) *Compo...
  function imageStatusFromOSBuildJobStatus (line 583) | func imageStatusFromOSBuildJobStatus(js *worker.JobStatus, result *worke...
  function imageStatusFromKojiJobStatus (line 605) | func imageStatusFromKojiJobStatus(js *worker.JobStatus, initResult *work...
  function composeStatusFromOSBuildJobStatus (line 633) | func composeStatusFromOSBuildJobStatus(js *worker.JobStatus, result *wor...
  function composeStatusFromKojiJobStatus (line 649) | func composeStatusFromKojiJobStatus(js *worker.JobStatus, initResult *wo...
  function stagesToPackageMetadata (line 771) | func stagesToPackageMetadata(stages []osbuild.RPMStageMetadata) []Packag...
  function manifestJobResultsFromJobDeps (line 870) | func manifestJobResultsFromJobDeps(w *worker.Server, deps []uuid.UUID) (...
  function sbomsFromOSBuildJob (line 994) | func sbomsFromOSBuildJob(w *worker.Server, osbuildJobUUID uuid.UUID) ([]...
  function convertRepos (line 1154) | func convertRepos(irRepos, payloadRepositories []Repository, payloadPack...
  function genRepoConfig (line 1181) | func genRepoConfig(repo Repository) (*rpmmd.RepoConfig, error) {
  function uploadStatusFromJobStatus (line 1433) | func uploadStatusFromJobStatus(js *worker.JobStatus, je *clienterrors.Er...
  function rpmmdPackageToPackageMetadata (line 1473) | func rpmmdPackageToPackageMetadata(pkgspecs rpmmd.PackageList) []Package...
  function packageListToPackageDetails (line 1499) | func packageListToPackageDetails(packages rpmmd.PackageList) []PackageDe...
  function partitionTableToDisk (line 1688) | func partitionTableToDisk(partitionTable *disk.PartitionTable) (*Disk, e...
  function saveComposeRequest (line 1851) | func saveComposeRequest(artifactsDir string, id uuid.UUID, request Compo...
  function readComposeRequest (line 1868) | func readComposeRequest(artifactsDir string, id uuid.UUID) (*ComposeRequ...

FILE: internal/cloudapi/v2/imagerequest.go
  function newAWSTarget (line 18) | func newAWSTarget(options UploadOptions, imageType distro.ImageType) (*t...
  function newAWSS3Target (line 59) | func newAWSS3Target(options UploadOptions, imageType distro.ImageType) (...
  function newContainerTarget (line 85) | func newContainerTarget(options UploadOptions, imageType distro.ImageTyp...
  function newGCPTarget (line 110) | func newGCPTarget(options UploadOptions, imageType distro.ImageType) (*t...
  function newAzureTarget (line 150) | func newAzureTarget(options UploadOptions, imageType distro.ImageType) (...
  function newOCITarget (line 188) | func newOCITarget(options UploadOptions, imageType distro.ImageType) (*t...
  function getDefaultTarget (line 207) | func getDefaultTarget(imageType ImageTypes) (UploadTypes, error) {
  function targetSupportMap (line 290) | func targetSupportMap() map[UploadTypes]map[ImageTypes]bool {
  method GetTargets (line 376) | func (ir *ImageRequest) GetTargets(imageType distro.ImageType) ([]*targe...
  function getTarget (line 410) | func getTarget(targetType UploadTypes, options UploadOptions, imageType ...
  method GetOSTreeOptions (line 448) | func (ir *ImageRequest) GetOSTreeOptions() (ostreeOptions *ostree.ImageO...

FILE: internal/cloudapi/v2/imagerequest_test.go
  function TestGetOstreeOptions (line 16) | func TestGetOstreeOptions(t *testing.T) {
  function TestGetTargets (line 58) | func TestGetTargets(t *testing.T) {

FILE: internal/cloudapi/v2/middleware.go
  constant TenantCtxKey (line 13) | TenantCtxKey string = "tenant"
  method getTenantChannel (line 16) | func (s *Server) getTenantChannel(ctx echo.Context) (string, error) {
  type ComposeHandlerFunc (line 28) | type ComposeHandlerFunc
  method EnsureJobChannel (line 31) | func (s *Server) EnsureJobChannel(next ComposeHandlerFunc) ComposeHandle...
  method ValidateRequest (line 52) | func (s *Server) ValidateRequest(next echo.HandlerFunc) echo.HandlerFunc {

FILE: internal/cloudapi/v2/openapi.v2.gen.go
  constant BearerScopes (line 24) | BearerScopes = "Bearer.Scopes"
  constant V1 (line 29) | V1 AzureUploadOptionsHyperVGeneration = "V1"
  constant V2 (line 30) | V2 AzureUploadOptionsHyperVGeneration = "V2"
  constant BlueprintCustomizationsPartitioningModeAutoLvm (line 47) | BlueprintCustomizationsPartitioningModeAutoLvm BlueprintCustomizationsPa...
  constant BlueprintCustomizationsPartitioningModeLvm (line 48) | BlueprintCustomizationsPartitioningModeLvm     BlueprintCustomizationsPa...
  constant BlueprintCustomizationsPartitioningModeRaw (line 49) | BlueprintCustomizationsPartitioningModeRaw     BlueprintCustomizationsPa...
  constant Btrfs (line 68) | Btrfs BtrfsVolumeType = "btrfs"
  constant ComposeStatusValueFailure (line 83) | ComposeStatusValueFailure ComposeStatusValue = "failure"
  constant ComposeStatusValuePending (line 84) | ComposeStatusValuePending ComposeStatusValue = "pending"
  constant ComposeStatusValueSuccess (line 85) | ComposeStatusValueSuccess ComposeStatusValue = "success"
  constant CustomizationsPartitioningModeAutoLvm (line 104) | CustomizationsPartitioningModeAutoLvm CustomizationsPartitioningMode = "...
  constant CustomizationsPartitioningModeLvm (line 105) | CustomizationsPartitioningModeLvm     CustomizationsPartitioningMode = "...
  constant CustomizationsPartitioningModeRaw (line 106) | CustomizationsPartitioningModeRaw     CustomizationsPartitioningMode = "...
  constant DiskTypeDos (line 125) | DiskTypeDos DiskType = "dos"
  constant DiskTypeGpt (line 126) | DiskTypeGpt DiskType = "gpt"
  constant FilesystemTypedFsTypeExt4 (line 143) | FilesystemTypedFsTypeExt4 FilesystemTypedFsType = "ext4"
  constant FilesystemTypedFsTypeSwap (line 144) | FilesystemTypedFsTypeSwap FilesystemTypedFsType = "swap"
  constant FilesystemTypedFsTypeVfat (line 145) | FilesystemTypedFsTypeVfat FilesystemTypedFsType = "vfat"
  constant FilesystemTypedFsTypeXfs (line 146) | FilesystemTypedFsTypeXfs  FilesystemTypedFsType = "xfs"
  constant Plain (line 167) | Plain FilesystemTypedType = "plain"
  constant Buildroot (line 182) | Buildroot ImageSBOMPipelinePurpose = "buildroot"
  constant Image (line 183) | Image     ImageSBOMPipelinePurpose = "image"
  constant Spdx (line 200) | Spdx ImageSBOMSbomType = "spdx"
  constant ImageStatusValueBuilding (line 215) | ImageStatusValueBuilding    ImageStatusValue = "building"
  constant ImageStatusValueFailure (line 216) | ImageStatusValueFailure     ImageStatusValue = "failure"
  constant ImageStatusValuePending (line 217) | ImageStatusValuePending     ImageStatusValue = "pending"
  constant ImageStatusValueRegistering (line 218) | ImageStatusValueRegistering ImageStatusValue = "registering"
  constant ImageStatusValueSuccess (line 219) | ImageStatusValueSuccess     ImageStatusValue = "success"
  constant ImageStatusValueUploading (line 220) | ImageStatusValueUploading   ImageStatusValue = "uploading"
  constant Hybrid (line 245) | Hybrid ImageTypeInfoBootMode = "hybrid"
  constant Legacy (line 246) | Legacy ImageTypeInfoBootMode = "legacy"
  constant None (line 247) | None   ImageTypeInfoBootMode = "none"
  constant Uefi (line 248) | Uefi   ImageTypeInfoBootMode = "uefi"
  constant ImageTypeInfoPartitionTypeDos (line 269) | ImageTypeInfoPartitionTypeDos ImageTypeInfoPartitionType = "dos"
  constant ImageTypeInfoPartitionTypeGpt (line 270) | ImageTypeInfoPartitionTypeGpt ImageTypeInfoPartitionType = "gpt"
  constant ImageTypesAws (line 287) | ImageTypesAws                        ImageTypes = "aws"
  constant ImageTypesAwsCvm (line 288) | ImageTypesAwsCvm                     ImageTypes = "aws-cvm"
  constant ImageTypesAwsHaRhui (line 289) | ImageTypesAwsHaRhui                  ImageTypes = "aws-ha-rhui"
  constant ImageTypesAwsRhui (line 290) | ImageTypesAwsRhui                    ImageTypes = "aws-rhui"
  constant ImageTypesAwsSapRhui (line 291) | ImageTypesAwsSapRhui                 ImageTypes = "aws-sap-rhui"
  constant ImageTypesAzure (line 292) | ImageTypesAzure                      ImageTypes = "azure"
  constant ImageTypesAzureCvm (line 293) | ImageTypesAzureCvm                   ImageTypes = "azure-cvm"
  constant ImageTypesAzureEap7Rhui (line 294) | ImageTypesAzureEap7Rhui              ImageTypes = "azure-eap7-rhui"
  constant ImageTypesAzureRhui (line 295) | ImageTypesAzureRhui                  ImageTypes = "azure-rhui"
  constant ImageTypesAzureSapRhui (line 296) | ImageTypesAzureSapRhui               ImageTypes = "azure-sap-rhui"
  constant ImageTypesAzureSapappsRhui (line 297) | ImageTypesAzureSapappsRhui           ImageTypes = "azure-sapapps-rhui"
  constant ImageTypesBootableContainerIso (line 298) | ImageTypesBootableContainerIso       ImageTypes = "bootable-container-iso"
  constant ImageTypesEdgeCommit (line 299) | ImageTypesEdgeCommit                 ImageTypes = "edge-commit"
  constant ImageTypesEdgeContainer (line 300) | ImageTypesEdgeContainer              ImageTypes = "edge-container"
  constant ImageTypesEdgeInstaller (line 301) | ImageTypesEdgeInstaller              ImageTypes = "edge-installer"
  constant ImageTypesEverythingNetworkInstaller (line 302) | ImageTypesEverythingNetworkInstaller ImageTypes = "everything-network-in...
  constant ImageTypesGcp (line 303) | ImageTypesGcp                        ImageTypes = "gcp"
  constant ImageTypesGcpRhui (line 304) | ImageTypesGcpRhui                    ImageTypes = "gcp-rhui"
  constant ImageTypesGuestImage (line 305) | ImageTypesGuestImage                 ImageTypes = "guest-image"
  constant ImageTypesImageInstaller (line 306) | ImageTypesImageInstaller             ImageTypes = "image-installer"
  constant ImageTypesIotBootableContainer (line 307) | ImageTypesIotBootableContainer       ImageTypes = "iot-bootable-container"
  constant ImageTypesIotCommit (line 308) | ImageTypesIotCommit                  ImageTypes = "iot-commit"
  constant ImageTypesIotContainer (line 309) | ImageTypesIotContainer               ImageTypes = "iot-container"
  constant ImageTypesIotInstaller (line 310) | ImageTypesIotInstaller               ImageTypes = "iot-installer"
  constant ImageTypesIotRawImage (line 311) | ImageTypesIotRawImage                ImageTypes = "iot-raw-image"
  constant ImageTypesIotSimplifiedInstaller (line 312) | ImageTypesIotSimplifiedInstaller     ImageTypes = "iot-simplified-instal...
  constant ImageTypesLiveInstaller (line 313) | ImageTypesLiveInstaller              ImageTypes = "live-installer"
  constant ImageTypesMinimalRaw (line 314) | ImageTypesMinimalRaw                 ImageTypes = "minimal-raw"
  constant ImageTypesNetworkInstaller (line 315) | ImageTypesNetworkInstaller           ImageTypes = "network-installer"
  constant ImageTypesOci (line 316) | ImageTypesOci                        ImageTypes = "oci"
  constant ImageTypesPxeTarXz (line 317) | ImageTypesPxeTarXz                   ImageTypes = "pxe-tar-xz"
  constant ImageTypesServerNetworkInstaller (line 318) | ImageTypesServerNetworkInstaller     ImageTypes = "server-network-instal...
  constant ImageTypesVsphere (line 319) | ImageTypesVsphere                    ImageTypes = "vsphere"
  constant ImageTypesVsphereOva (line 320) | ImageTypesVsphereOva                 ImageTypes = "vsphere-ova"
  constant ImageTypesWsl (line 321) | ImageTypesWsl                        ImageTypes = "wsl"
  constant LogicalVolumeFsTypeExt4 (line 404) | LogicalVolumeFsTypeExt4 LogicalVolumeFsType = "ext4"
  constant LogicalVolumeFsTypeSwap (line 405) | LogicalVolumeFsTypeSwap LogicalVolumeFsType = "swap"
  constant LogicalVolumeFsTypeVfat (line 406) | LogicalVolumeFsTypeVfat LogicalVolumeFsType = "vfat"
  constant LogicalVolumeFsTypeXfs (line 407) | LogicalVolumeFsTypeXfs  LogicalVolumeFsType = "xfs"
  constant Failure (line 428) | Failure UploadStatusValue = "failure"
  constant Pending (line 429) | Pending UploadStatusValue = "pending"
  constant Running (line 430) | Running UploadStatusValue = "running"
  constant Success (line 431) | Success UploadStatusValue = "success"
  constant UploadTypesAws (line 452) | UploadTypesAws              UploadTypes = "aws"
  constant UploadTypesAwsS3 (line 453) | UploadTypesAwsS3            UploadTypes = "aws.s3"
  constant UploadTypesAzure (line 454) | UploadTypesAzure            UploadTypes = "azure"
  constant UploadTypesContainer (line 455) | UploadTypesContainer        UploadTypes = "container"
  constant UploadTypesGcp (line 456) | UploadTypesGcp              UploadTypes = "gcp"
  constant UploadTypesLocal (line 457) | UploadTypesLocal            UploadTypes = "local"
  constant UploadTypesOciObjectstorage (line 458) | UploadTypesOciObjectstorage UploadTypes = "oci.objectstorage"
  constant Lvm (line 485) | Lvm VolumeGroupType = "lvm"
  type AWSEC2CloneCompose (line 499) | type AWSEC2CloneCompose struct
  type AWSEC2UploadOptions (line 505) | type AWSEC2UploadOptions struct
  type AWSEC2UploadStatus (line 512) | type AWSEC2UploadStatus struct
  type AWSS3UploadOptions (line 518) | type AWSS3UploadOptions struct
  type AWSS3UploadStatus (line 530) | type AWSS3UploadStatus struct
  type ArchitectureInfo (line 535) | type ArchitectureInfo struct
  type AzureUploadOptions (line 544) | type AzureUploadOptions struct
  type AzureUploadOptionsHyperVGeneration (line 574) | type AzureUploadOptionsHyperVGeneration
    method Valid (line 34) | func (e AzureUploadOptionsHyperVGeneration) Valid() bool {
  type AzureUploadStatus (line 577) | type AzureUploadStatus struct
  type Blueprint (line 582) | type Blueprint struct
  type BlueprintCustomizations (line 608) | type BlueprintCustomizations struct
  type BlueprintCustomizationsPartitioningMode (line 676) | type BlueprintCustomizationsPartitioningMode
    method Valid (line 53) | func (e BlueprintCustomizationsPartitioningMode) Valid() bool {
  type BlueprintFile (line 679) | type BlueprintFile struct
  type BlueprintFile_Group (line 703) | type BlueprintFile_Group struct
    method AsBlueprintFileGroup0 (line 2010) | func (t BlueprintFile_Group) AsBlueprintFileGroup0() (BlueprintFileGro...
    method FromBlueprintFileGroup0 (line 2017) | func (t *BlueprintFile_Group) FromBlueprintFileGroup0(v BlueprintFileG...
    method MergeBlueprintFileGroup0 (line 2024) | func (t *BlueprintFile_Group) MergeBlueprintFileGroup0(v BlueprintFile...
    method AsBlueprintFileGroup1 (line 2036) | func (t BlueprintFile_Group) AsBlueprintFileGroup1() (BlueprintFileGro...
    method FromBlueprintFileGroup1 (line 2043) | func (t *BlueprintFile_Group) FromBlueprintFileGroup1(v BlueprintFileG...
    method MergeBlueprintFileGroup1 (line 2050) | func (t *BlueprintFile_Group) MergeBlueprintFileGroup1(v BlueprintFile...
    method MarshalJSON (line 2061) | func (t BlueprintFile_Group) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2066) | func (t *BlueprintFile_Group) UnmarshalJSON(b []byte) error {
  type BlueprintFile_User (line 714) | type BlueprintFile_User struct
    method AsBlueprintFileUser0 (line 2072) | func (t BlueprintFile_User) AsBlueprintFileUser0() (BlueprintFileUser0...
    method FromBlueprintFileUser0 (line 2079) | func (t *BlueprintFile_User) FromBlueprintFileUser0(v BlueprintFileUse...
    method MergeBlueprintFileUser0 (line 2086) | func (t *BlueprintFile_User) MergeBlueprintFileUser0(v BlueprintFileUs...
    method AsBlueprintFileUser1 (line 2098) | func (t BlueprintFile_User) AsBlueprintFileUser1() (BlueprintFileUser1...
    method FromBlueprintFileUser1 (line 2105) | func (t *BlueprintFile_User) FromBlueprintFileUser1(v BlueprintFileUse...
    method MergeBlueprintFileUser1 (line 2112) | func (t *BlueprintFile_User) MergeBlueprintFileUser1(v BlueprintFileUs...
    method MarshalJSON (line 2123) | func (t BlueprintFile_User) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2128) | func (t *BlueprintFile_User) UnmarshalJSON(b []byte) error {
  type BlueprintFilesystem (line 719) | type BlueprintFilesystem struct
  type BlueprintFirewall (line 726) | type BlueprintFirewall struct
  type BlueprintOpenSCAP (line 736) | type BlueprintOpenSCAP struct
  type BlueprintRepository (line 748) | type BlueprintRepository struct
  type BlueprintUser (line 767) | type BlueprintUser struct
  type Bootc (line 796) | type Bootc struct
  type BtrfsSubvolume (line 806) | type BtrfsSubvolume struct
  type BtrfsVolume (line 815) | type BtrfsVolume struct
  type BtrfsVolumeType (line 826) | type BtrfsVolumeType
    method Valid (line 72) | func (e BtrfsVolumeType) Valid() bool {
  type CACertsCustomization (line 829) | type CACertsCustomization struct
  type CloneComposeBody (line 834) | type CloneComposeBody struct
    method AsAWSEC2CloneCompose (line 2134) | func (t CloneComposeBody) AsAWSEC2CloneCompose() (AWSEC2CloneCompose, ...
    method FromAWSEC2CloneCompose (line 2141) | func (t *CloneComposeBody) FromAWSEC2CloneCompose(v AWSEC2CloneCompose...
    method MergeAWSEC2CloneCompose (line 2148) | func (t *CloneComposeBody) MergeAWSEC2CloneCompose(v AWSEC2CloneCompos...
    method MarshalJSON (line 2159) | func (t CloneComposeBody) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2164) | func (t *CloneComposeBody) UnmarshalJSON(b []byte) error {
  type CloneComposeResponse (line 839) | type CloneComposeResponse struct
  type CloneStatus (line 846) | type CloneStatus struct
  type CloneStatus_Options (line 856) | type CloneStatus_Options struct
    method AsAWSEC2UploadStatus (line 2170) | func (t CloneStatus_Options) AsAWSEC2UploadStatus() (AWSEC2UploadStatu...
    method FromAWSEC2UploadStatus (line 2177) | func (t *CloneStatus_Options) FromAWSEC2UploadStatus(v AWSEC2UploadSta...
    method MergeAWSEC2UploadStatus (line 2184) | func (t *CloneStatus_Options) MergeAWSEC2UploadStatus(v AWSEC2UploadSt...
    method AsAWSS3UploadStatus (line 2196) | func (t CloneStatus_Options) AsAWSS3UploadStatus() (AWSS3UploadStatus,...
    method FromAWSS3UploadStatus (line 2203) | func (t *CloneStatus_Options) FromAWSS3UploadStatus(v AWSS3UploadStatu...
    method MergeAWSS3UploadStatus (line 2210) | func (t *CloneStatus_Options) MergeAWSS3UploadStatus(v AWSS3UploadStat...
    method AsGCPUploadStatus (line 2222) | func (t CloneStatus_Options) AsGCPUploadStatus() (GCPUploadStatus, err...
    method FromGCPUploadStatus (line 2229) | func (t *CloneStatus_Options) FromGCPUploadStatus(v GCPUploadStatus) e...
    method MergeGCPUploadStatus (line 2236) | func (t *CloneStatus_Options) MergeGCPUploadStatus(v GCPUploadStatus) ...
    method AsAzureUploadStatus (line 2248) | func (t CloneStatus_Options) AsAzureUploadStatus() (AzureUploadStatus,...
    method FromAzureUploadStatus (line 2255) | func (t *CloneStatus_Options) FromAzureUploadStatus(v AzureUploadStatu...
    method MergeAzureUploadStatus (line 2262) | func (t *CloneStatus_Options) MergeAzureUploadStatus(v AzureUploadStat...
    method AsContainerUploadStatus (line 2274) | func (t CloneStatus_Options) AsContainerUploadStatus() (ContainerUploa...
    method FromContainerUploadStatus (line 2281) | func (t *CloneStatus_Options) FromContainerUploadStatus(v ContainerUpl...
    method MergeContainerUploadStatus (line 2288) | func (t *CloneStatus_Options) MergeContainerUploadStatus(v ContainerUp...
    method AsOCIUploadStatus (line 2300) | func (t CloneStatus_Options) AsOCIUploadStatus() (OCIUploadStatus, err...
    method FromOCIUploadStatus (line 2307) | func (t *CloneStatus_Options) FromOCIUploadStatus(v OCIUploadStatus) e...
    method MergeOCIUploadStatus (line 2314) | func (t *CloneStatus_Options) MergeOCIUploadStatus(v OCIUploadStatus) ...
    method AsPulpOSTreeUploadStatus (line 2326) | func (t CloneStatus_Options) AsPulpOSTreeUploadStatus() (PulpOSTreeUpl...
    method FromPulpOSTreeUploadStatus (line 2333) | func (t *CloneStatus_Options) FromPulpOSTreeUploadStatus(v PulpOSTreeU...
    method MergePulpOSTreeUploadStatus (line 2340) | func (t *CloneStatus_Options) MergePulpOSTreeUploadStatus(v PulpOSTree...
    method AsLocalUploadStatus (line 2352) | func (t CloneStatus_Options) AsLocalUploadStatus() (LocalUploadStatus,...
    method FromLocalUploadStatus (line 2359) | func (t *CloneStatus_Options) FromLocalUploadStatus(v LocalUploadStatu...
    method MergeLocalUploadStatus (line 2366) | func (t *CloneStatus_Options) MergeLocalUploadStatus(v LocalUploadStat...
    method MarshalJSON (line 2377) | func (t CloneStatus_Options) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2382) | func (t *CloneStatus_Options) UnmarshalJSON(b []byte) error {
  type ComposeId (line 864) | type ComposeId struct
  type ComposeList (line 871) | type ComposeList struct
  type ComposeLogs (line 880) | type ComposeLogs struct
  type ComposeManifests (line 889) | type ComposeManifests struct
  type ComposeMetadata (line 897) | type ComposeMetadata struct
  type ComposeRequest (line 911) | type ComposeRequest struct
  type ComposeSBOMs (line 926) | type ComposeSBOMs struct
  type ComposeStatus (line 936) | type ComposeStatus struct
  type ComposeStatusError (line 947) | type ComposeStatusError struct
  type ComposeStatusValue (line 954) | type ComposeStatusValue
    method Valid (line 89) | func (e ComposeStatusValue) Valid() bool {
  type Container (line 957) | type Container struct
  type ContainerUploadOptions (line 969) | type ContainerUploadOptions struct
  type ContainerUploadStatus (line 978) | type ContainerUploadStatus struct
  type CustomRepository (line 987) | type CustomRepository struct
  type Customizations (line 1004) | type Customizations struct
  type CustomizationsPartitioningMode (line 1074) | type CustomizationsPartitioningMode
    method Valid (line 110) | func (e CustomizationsPartitioningMode) Valid() bool {
  type DNF (line 1077) | type DNF struct
  type DNFConfig (line 1082) | type DNFConfig struct
  type DNFPluginConfig (line 1088) | type DNFPluginConfig struct
  type DepsolveRequest (line 1093) | type DepsolveRequest struct
  type DepsolveResponse (line 1102) | type DepsolveResponse struct
  type Directory (line 1108) | type Directory struct
  type Directory_Group (line 1132) | type Directory_Group struct
    method AsDirectoryGroup0 (line 2388) | func (t Directory_Group) AsDirectoryGroup0() (DirectoryGroup0, error) {
    method FromDirectoryGroup0 (line 2395) | func (t *Directory_Group) FromDirectoryGroup0(v DirectoryGroup0) error {
    method MergeDirectoryGroup0 (line 2402) | func (t *Directory_Group) MergeDirectoryGroup0(v DirectoryGroup0) error {
    method AsDirectoryGroup1 (line 2414) | func (t Directory_Group) AsDirectoryGroup1() (DirectoryGroup1, error) {
    method FromDirectoryGroup1 (line 2421) | func (t *Directory_Group) FromDirectoryGroup1(v DirectoryGroup1) error {
    method MergeDirectoryGroup1 (line 2428) | func (t *Directory_Group) MergeDirectoryGroup1(v DirectoryGroup1) error {
    method MarshalJSON (line 2439) | func (t Directory_Group) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2444) | func (t *Directory_Group) UnmarshalJSON(b []byte) error {
  type Directory_User (line 1143) | type Directory_User struct
    method AsDirectoryUser0 (line 2450) | func (t Directory_User) AsDirectoryUser0() (DirectoryUser0, error) {
    method FromDirectoryUser0 (line 2457) | func (t *Directory_User) FromDirectoryUser0(v DirectoryUser0) error {
    method MergeDirectoryUser0 (line 2464) | func (t *Directory_User) MergeDirectoryUser0(v DirectoryUser0) error {
    method AsDirectoryUser1 (line 2476) | func (t Directory_User) AsDirectoryUser1() (DirectoryUser1, error) {
    method FromDirectoryUser1 (line 2483) | func (t *Directory_User) FromDirectoryUser1(v DirectoryUser1) error {
    method MergeDirectoryUser1 (line 2490) | func (t *Directory_User) MergeDirectoryUser1(v DirectoryUser1) error {
    method MarshalJSON (line 2501) | func (t Directory_User) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2506) | func (t *Directory_User) UnmarshalJSON(b []byte) error {
  type Disk (line 1148) | type Disk struct
  type DiskType (line 1158) | type DiskType
    method Valid (line 130) | func (e DiskType) Valid() bool {
  type DistributionDetails (line 1161) | type DistributionDetails struct
  type DistributionList (line 1191) | type DistributionList
  type Error (line 1194) | type Error struct
  type ErrorList (line 1205) | type ErrorList struct
  type FDO (line 1214) | type FDO struct
  type FIPS (line 1223) | type FIPS struct
  type File (line 1229) | type File struct
  type File_Group (line 1256) | type File_Group struct
    method AsFileGroup0 (line 2512) | func (t File_Group) AsFileGroup0() (FileGroup0, error) {
    method FromFileGroup0 (line 2519) | func (t *File_Group) FromFileGroup0(v FileGroup0) error {
    method MergeFileGroup0 (line 2526) | func (t *File_Group) MergeFileGroup0(v FileGroup0) error {
    method AsFileGroup1 (line 2538) | func (t File_Group) AsFileGroup1() (FileGroup1, error) {
    method FromFileGroup1 (line 2545) | func (t *File_Group) FromFileGroup1(v FileGroup1) error {
    method MergeFileGroup1 (line 2552) | func (t *File_Group) MergeFileGroup1(v FileGroup1) error {
    method MarshalJSON (line 2563) | func (t File_Group) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2568) | func (t *File_Group) UnmarshalJSON(b []byte) error {
  type File_User (line 1267) | type File_User struct
    method AsFileUser0 (line 2574) | func (t File_User) AsFileUser0() (FileUser0, error) {
    method FromFileUser0 (line 2581) | func (t *File_User) FromFileUser0(v FileUser0) error {
    method MergeFileUser0 (line 2588) | func (t *File_User) MergeFileUser0(v FileUser0) error {
    method AsFileUser1 (line 2600) | func (t File_User) AsFileUser1() (FileUser1, error) {
    method FromFileUser1 (line 2607) | func (t *File_User) FromFileUser1(v FileUser1) error {
    method MergeFileUser1 (line 2614) | func (t *File_User) MergeFileUser1(v FileUser1) error {
    method MarshalJSON (line 2625) | func (t File_User) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2630) | func (t *File_User) UnmarshalJSON(b []byte) error {
  type Filesystem (line 1272) | type Filesystem struct
  type FilesystemTyped (line 1279) | type FilesystemTyped struct
  type FilesystemTypedFsType (line 1294) | type FilesystemTypedFsType
    method Valid (line 150) | func (e FilesystemTypedFsType) Valid() bool {
  type FilesystemTypedType (line 1297) | type FilesystemTypedType
    method Valid (line 171) | func (e FilesystemTypedType) Valid() bool {
  type FirewallCustomization (line 1300) | type FirewallCustomization struct
  type FirewallServices (line 1309) | type FirewallServices struct
  type FirewallZones (line 1319) | type FirewallZones struct
  type GCPUploadOptions (line 1329) | type GCPUploadOptions struct
  type GCPUploadStatus (line 1361) | type GCPUploadStatus struct
  type Group (line 1367) | type Group struct
  type Ignition (line 1376) | type Ignition struct
  type IgnitionEmbedded (line 1382) | type IgnitionEmbedded struct
  type IgnitionFirstboot (line 1387) | type IgnitionFirstboot struct
  type ImageRequest (line 1393) | type ImageRequest struct
  type ImageSBOM (line 1419) | type ImageSBOM struct
  type ImageSBOMPipelinePurpose (line 1443) | type ImageSBOMPipelinePurpose
    method Valid (line 187) | func (e ImageSBOMPipelinePurpose) Valid() bool {
  type ImageSBOMSbomType (line 1446) | type ImageSBOMSbomType
    method Valid (line 204) | func (e ImageSBOMSbomType) Valid() bool {
  type ImageStatus (line 1449) | type ImageStatus struct
  type ImageStatusValue (line 1458) | type ImageStatusValue
    method Valid (line 224) | func (e ImageStatusValue) Valid() bool {
  type ImageTypeInfo (line 1461) | type ImageTypeInfo struct
  type ImageTypeInfoBootMode (line 1504) | type ImageTypeInfoBootMode
    method Valid (line 252) | func (e ImageTypeInfoBootMode) Valid() bool {
  type ImageTypeInfoPartitionType (line 1507) | type ImageTypeInfoPartitionType
    method Valid (line 274) | func (e ImageTypeInfoPartitionType) Valid() bool {
  type ImageTypes (line 1510) | type ImageTypes
    method Valid (line 325) | func (e ImageTypes) Valid() bool {
  type ImportKeys (line 1513) | type ImportKeys struct
  type Installer (line 1518) | type Installer struct
  type Kernel (line 1524) | type Kernel struct
  type Koji (line 1533) | type Koji struct
  type KojiLogs (line 1542) | type KojiLogs struct
  type KojiStatus (line 1548) | type KojiStatus struct
  type List (line 1553) | type List struct
  type LocalUploadStatus (line 1564) | type LocalUploadStatus struct
  type Locale (line 1569) | type Locale struct
  type LogicalVolume (line 1578) | type LogicalVolume struct
  type LogicalVolumeFsType (line 1592) | type LogicalVolumeFsType
    method Valid (line 411) | func (e LogicalVolumeFsType) Valid() bool {
  type Module (line 1595) | type Module struct
  type OCIUploadStatus (line 1607) | type OCIUploadStatus struct
  type OSTree (line 1612) | type OSTree struct
  type ObjectReference (line 1629) | type ObjectReference struct
  type OpenSCAP (line 1636) | type OpenSCAP struct
  type OpenSCAPJSONTailoring (line 1647) | type OpenSCAPJSONTailoring struct
  type OpenSCAPTailoring (line 1653) | type OpenSCAPTailoring struct
  type Package (line 1659) | type Package struct
  type PackageDetails (line 1671) | type PackageDetails struct
  type PackageGroup (line 1685) | type PackageGroup struct
  type PackageMetadata (line 1691) | type PackageMetadata struct
  type PackageMetadataCommon (line 1706) | type PackageMetadataCommon struct
  type Partition (line 1720) | type Partition struct
    method AsFilesystemTyped (line 2636) | func (t Partition) AsFilesystemTyped() (FilesystemTyped, error) {
    method FromFilesystemTyped (line 2643) | func (t *Partition) FromFilesystemTyped(v FilesystemTyped) error {
    method MergeFilesystemTyped (line 2650) | func (t *Partition) MergeFilesystemTyped(v FilesystemTyped) error {
    method AsBtrfsVolume (line 2662) | func (t Partition) AsBtrfsVolume() (BtrfsVolume, error) {
    method FromBtrfsVolume (line 2669) | func (t *Partition) FromBtrfsVolume(v BtrfsVolume) error {
    method MergeBtrfsVolume (line 2676) | func (t *Partition) MergeBtrfsVolume(v BtrfsVolume) error {
    method AsVolumeGroup (line 2688) | func (t Partition) AsVolumeGroup() (VolumeGroup, error) {
    method FromVolumeGroup (line 2695) | func (t *Partition) FromVolumeGroup(v VolumeGroup) error {
    method MergeVolumeGroup (line 2702) | func (t *Partition) MergeVolumeGroup(v VolumeGroup) error {
    method MarshalJSON (line 2713) | func (t Partition) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2718) | func (t *Partition) UnmarshalJSON(b []byte) error {
  type Progress (line 1725) | type Progress struct
  type PulpOSTreeUploadOptions (line 1735) | type PulpOSTreeUploadOptions struct
  type PulpOSTreeUploadStatus (line 1745) | type PulpOSTreeUploadStatus struct
  type RHSMConfig (line 1750) | type RHSMConfig struct
  type RHSMCustomization (line 1756) | type RHSMCustomization struct
  type RPMCustomization (line 1761) | type RPMCustomization struct
  type Repository (line 1769) | type Repository struct
  type SSHKey (line 1794) | type SSHKey struct
  type SearchPackagesRequest (line 1803) | type SearchPackagesRequest struct
  type SearchPackagesResponse (line 1814) | type SearchPackagesResponse struct
  type Services (line 1820) | type Services struct
  type SubManConfig (line 1832) | type SubManConfig struct
  type SubManDNFPluginsConfig (line 1838) | type SubManDNFPluginsConfig struct
  type SubManRHSMCertdConfig (line 1844) | type SubManRHSMCertdConfig struct
  type SubManRHSMConfig (line 1849) | type SubManRHSMConfig struct
  type SubProgress (line 1855) | type SubProgress struct
  type Subscription (line 1864) | type Subscription struct
  type Timezone (line 1891) | type Timezone struct
  type UploadOptions (line 1905) | type UploadOptions struct
    method AsAWSEC2UploadOptions (line 2724) | func (t UploadOptions) AsAWSEC2UploadOptions() (AWSEC2UploadOptions, e...
    method FromAWSEC2UploadOptions (line 2731) | func (t *UploadOptions) FromAWSEC2UploadOptions(v AWSEC2UploadOptions)...
    method MergeAWSEC2UploadOptions (line 2738) | func (t *UploadOptions) MergeAWSEC2UploadOptions(v AWSEC2UploadOptions...
    method AsAWSS3UploadOptions (line 2750) | func (t UploadOptions) AsAWSS3UploadOptions() (AWSS3UploadOptions, err...
    method FromAWSS3UploadOptions (line 2757) | func (t *UploadOptions) FromAWSS3UploadOptions(v AWSS3UploadOptions) e...
    method MergeAWSS3UploadOptions (line 2764) | func (t *UploadOptions) MergeAWSS3UploadOptions(v AWSS3UploadOptions) ...
    method AsGCPUploadOptions (line 2776) | func (t UploadOptions) AsGCPUploadOptions() (GCPUploadOptions, error) {
    method FromGCPUploadOptions (line 2783) | func (t *UploadOptions) FromGCPUploadOptions(v GCPUploadOptions) error {
    method MergeGCPUploadOptions (line 2790) | func (t *UploadOptions) MergeGCPUploadOptions(v GCPUploadOptions) error {
    method AsAzureUploadOptions (line 2802) | func (t UploadOptions) AsAzureUploadOptions() (AzureUploadOptions, err...
    method FromAzureUploadOptions (line 2809) | func (t *UploadOptions) FromAzureUploadOptions(v AzureUploadOptions) e...
    method MergeAzureUploadOptions (line 2816) | func (t *UploadOptions) MergeAzureUploadOptions(v AzureUploadOptions) ...
    method AsContainerUploadOptions (line 2828) | func (t UploadOptions) AsContainerUploadOptions() (ContainerUploadOpti...
    method FromContainerUploadOptions (line 2835) | func (t *UploadOptions) FromContainerUploadOptions(v ContainerUploadOp...
    method MergeContainerUploadOptions (line 2842) | func (t *UploadOptions) MergeContainerUploadOptions(v ContainerUploadO...
    method AsLocalUploadOptions (line 2854) | func (t UploadOptions) AsLocalUploadOptions() (LocalUploadOptions, err...
    method FromLocalUploadOptions (line 2861) | func (t *UploadOptions) FromLocalUploadOptions(v LocalUploadOptions) e...
    method MergeLocalUploadOptions (line 2868) | func (t *UploadOptions) MergeLocalUploadOptions(v LocalUploadOptions) ...
    method AsOCIUploadOptions (line 2880) | func (t UploadOptions) AsOCIUploadOptions() (OCIUploadOptions, error) {
    method FromOCIUploadOptions (line 2887) | func (t *UploadOptions) FromOCIUploadOptions(v OCIUploadOptions) error {
    method MergeOCIUploadOptions (line 2894) | func (t *UploadOptions) MergeOCIUploadOptions(v OCIUploadOptions) error {
    method AsPulpOSTreeUploadOptions (line 2906) | func (t UploadOptions) AsPulpOSTreeUploadOptions() (PulpOSTreeUploadOp...
    method FromPulpOSTreeUploadOptions (line 2913) | func (t *UploadOptions) FromPulpOSTreeUploadOptions(v PulpOSTreeUpload...
    method MergePulpOSTreeUploadOptions (line 2920) | func (t *UploadOptions) MergePulpOSTreeUploadOptions(v PulpOSTreeUploa...
    method MarshalJSON (line 2931) | func (t UploadOptions) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 2936) | func (t *UploadOptions) UnmarshalJSON(b []byte) error {
  type UploadStatus (line 1910) | type UploadStatus struct
  type UploadStatus_Options (line 1917) | type UploadStatus_Options struct
    method AsAWSEC2UploadStatus (line 2942) | func (t UploadStatus_Options) AsAWSEC2UploadStatus() (AWSEC2UploadStat...
    method FromAWSEC2UploadStatus (line 2949) | func (t *UploadStatus_Options) FromAWSEC2UploadStatus(v AWSEC2UploadSt...
    method MergeAWSEC2UploadStatus (line 2956) | func (t *UploadStatus_Options) MergeAWSEC2UploadStatus(v AWSEC2UploadS...
    method AsAWSS3UploadStatus (line 2968) | func (t UploadStatus_Options) AsAWSS3UploadStatus() (AWSS3UploadStatus...
    method FromAWSS3UploadStatus (line 2975) | func (t *UploadStatus_Options) FromAWSS3UploadStatus(v AWSS3UploadStat...
    method MergeAWSS3UploadStatus (line 2982) | func (t *UploadStatus_Options) MergeAWSS3UploadStatus(v AWSS3UploadSta...
    method AsGCPUploadStatus (line 2994) | func (t UploadStatus_Options) AsGCPUploadStatus() (GCPUploadStatus, er...
    method FromGCPUploadStatus (line 3001) | func (t *UploadStatus_Options) FromGCPUploadStatus(v GCPUploadStatus) ...
    method MergeGCPUploadStatus (line 3008) | func (t *UploadStatus_Options) MergeGCPUploadStatus(v GCPUploadStatus)...
    method AsAzureUploadStatus (line 3020) | func (t UploadStatus_Options) AsAzureUploadStatus() (AzureUploadStatus...
    method FromAzureUploadStatus (line 3027) | func (t *UploadStatus_Options) FromAzureUploadStatus(v AzureUploadStat...
    method MergeAzureUploadStatus (line 3034) | func (t *UploadStatus_Options) MergeAzureUploadStatus(v AzureUploadSta...
    method AsContainerUploadStatus (line 3046) | func (t UploadStatus_Options) AsContainerUploadStatus() (ContainerUplo...
    method FromContainerUploadStatus (line 3053) | func (t *UploadStatus_Options) FromContainerUploadStatus(v ContainerUp...
    method MergeContainerUploadStatus (line 3060) | func (t *UploadStatus_Options) MergeContainerUploadStatus(v ContainerU...
    method AsOCIUploadStatus (line 3072) | func (t UploadStatus_Options) AsOCIUploadStatus() (OCIUploadStatus, er...
    method FromOCIUploadStatus (line 3079) | func (t *UploadStatus_Options) FromOCIUploadStatus(v OCIUploadStatus) ...
    method MergeOCIUploadStatus (line 3086) | func (t *UploadStatus_Options) MergeOCIUploadStatus(v OCIUploadStatus)...
    method AsPulpOSTreeUploadStatus (line 3098) | func (t UploadStatus_Options) AsPulpOSTreeUploadStatus() (PulpOSTreeUp...
    method FromPulpOSTreeUploadStatus (line 3105) | func (t *UploadStatus_Options) FromPulpOSTreeUploadStatus(v PulpOSTree...
    method MergePulpOSTreeUploadStatus (line 3112) | func (t *UploadStatus_Options) MergePulpOSTreeUploadStatus(v PulpOSTre...
    method AsLocalUploadStatus (line 3124) | func (t UploadStatus_Options) AsLocalUploadStatus() (LocalUploadStatus...
    method FromLocalUploadStatus (line 3131) | func (t *UploadStatus_Options) FromLocalUploadStatus(v LocalUploadStat...
    method MergeLocalUploadStatus (line 3138) | func (t *UploadStatus_Options) MergeLocalUploadStatus(v LocalUploadSta...
    method MarshalJSON (line 3149) | func (t UploadStatus_Options) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 3154) | func (t *UploadStatus_Options) UnmarshalJSON(b []byte) error {
  type UploadStatusValue (line 1922) | type UploadStatusValue
    method Valid (line 435) | func (e UploadStatusValue) Valid() bool {
  type UploadTarget (line 1925) | type UploadTarget struct
  type UploadTypes (line 1938) | type UploadTypes
    method Valid (line 462) | func (e UploadTypes) Valid() bool {
  type User (line 1941) | type User struct
  type VolumeGroup (line 1953) | type VolumeGroup struct
  type VolumeGroupType (line 1968) | type VolumeGroupType
    method Valid (line 489) | func (e VolumeGroupType) Valid() bool {
  type GetDistributionParams (line 1980) | type GetDistributionParams struct
  type GetErrorListParams (line 1989) | type GetErrorListParams struct
  type ServerInterface (line 3160) | type ServerInterface interface
  type ServerInterfaceWrapper (line 3218) | type ServerInterfaceWrapper struct
    method GetCloneStatus (line 3223) | func (w *ServerInterfaceWrapper) GetCloneStatus(ctx echo.Context) error {
    method PostCompose (line 3241) | func (w *ServerInterfaceWrapper) PostCompose(ctx echo.Context) error {
    method GetComposeList (line 3252) | func (w *ServerInterfaceWrapper) GetComposeList(ctx echo.Context) error {
    method DeleteCompose (line 3263) | func (w *ServerInterfaceWrapper) DeleteCompose(ctx echo.Context) error {
    method GetComposeStatus (line 3281) | func (w *ServerInterfaceWrapper) GetComposeStatus(ctx echo.Context) er...
    method PostCloneCompose (line 3299) | func (w *ServerInterfaceWrapper) PostCloneCompose(ctx echo.Context) er...
    method GetComposeDownload (line 3315) | func (w *ServerInterfaceWrapper) GetComposeDownload(ctx echo.Context) ...
    method GetComposeLogs (line 3333) | func (w *ServerInterfaceWrapper) GetComposeLogs(ctx echo.Context) error {
    method GetComposeManifests (line 3349) | func (w *ServerInterfaceWrapper) GetComposeManifests(ctx echo.Context)...
    method GetComposeMetadata (line 3365) | func (w *ServerInterfaceWrapper) GetComposeMetadata(ctx echo.Context) ...
    method GetComposeSBOMs (line 3383) | func (w *ServerInterfaceWrapper) GetComposeSBOMs(ctx echo.Context) err...
    method PostDepsolveBlueprint (line 3399) | func (w *ServerInterfaceWrapper) PostDepsolveBlueprint(ctx echo.Contex...
    method GetDistributionList (line 3410) | func (w *ServerInterfaceWrapper) GetDistributionList(ctx echo.Context)...
    method GetDistribution (line 3421) | func (w *ServerInterfaceWrapper) GetDistribution(ctx echo.Context) err...
    method GetErrorList (line 3455) | func (w *ServerInterfaceWrapper) GetErrorList(ctx echo.Context) error {
    method GetError (line 3482) | func (w *ServerInterfaceWrapper) GetError(ctx echo.Context) error {
    method GetOpenapi (line 3500) | func (w *ServerInterfaceWrapper) GetOpenapi(ctx echo.Context) error {
    method PostSearchPackages (line 3511) | func (w *ServerInterfaceWrapper) PostSearchPackages(ctx echo.Context) ...
  type EchoRouter (line 3524) | type EchoRouter interface
  function RegisterHandlers (line 3537) | func RegisterHandlers(router EchoRouter, si ServerInterface) {
  function RegisterHandlersWithBaseURL (line 3543) | func RegisterHandlersWithBaseURL(router EchoRouter, si ServerInterface, ...
  function decodeSpec (line 3812) | func decodeSpec() ([]byte, error) {
  function decodeSpecCached (line 3833) | func decodeSpecCached() func() ([]byte, error) {
  function PathToRawSpec (line 3841) | func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) {
  function GetSwagger (line 3855) | func GetSwagger() (swagger *openapi3.T, err error) {

FILE: internal/cloudapi/v2/search.go
  method Search (line 16) | func (request *SearchPackagesRequest) Search(df *distrofactory.Factory, ...

FILE: internal/cloudapi/v2/server.go
  constant maxJobTimeoutMinutes (line 50) | maxJobTimeoutMinutes = 5
  type manifestSourceFunc (line 55) | type manifestSourceFunc
  type Server (line 62) | type Server struct
    method Handler (line 124) | func (s *Server) Handler(path string) http.Handler {
    method Shutdown (line 186) | func (s *Server) Shutdown() {
    method enqueueResolveJobs (line 223) | func (s *Server) enqueueResolveJobs(manifestSource *manifest.Manifest,...
    method enqueueCompose (line 300) | func (s *Server) enqueueCompose(irs []imageRequest, channel string) (u...
    method enqueueComposeIBCLI (line 345) | func (s *Server) enqueueComposeIBCLI(irs []imageRequest, channel strin...
    method enqueueKojiCompose (line 401) | func (s *Server) enqueueKojiCompose(taskID uint64, server, name, versi...
    method enqueueBootcCompose (line 565) | func (s *Server) enqueueBootcCompose(request ComposeRequest, channel s...
    method bootcPreManifestLoop (line 1019) | func (s *Server) bootcPreManifestLoop() {
  type ServerConfig (line 74) | type ServerConfig struct
  function NewServer (line 87) | func NewServer(workers *worker.Server, distros *distrofactory.Factory, r...
  type manifestJobDependencies (line 191) | type manifestJobDependencies struct
    method IDs (line 200) | func (mjd manifestJobDependencies) IDs() []uuid.UUID {
  function buildBootcManifestSource (line 500) | func buildBootcManifestSource(
  function serializeManifest (line 761) | func serializeManifest(ctx context.Context, getManifestSource manifestSo...
  function handleBootcPreManifest (line 1070) | func handleBootcPreManifest(

FILE: internal/cloudapi/v2/server_container_compat.go
  function matchContainerSpecsToPipelines (line 16) | func matchContainerSpecsToPipelines(

FILE: internal/cloudapi/v2/server_container_compat_test.go
  function TestMatchContainerSpecsToPipelines (line 12) | func TestMatchContainerSpecsToPipelines(t *testing.T) {

FILE: internal/cloudapi/v2/v2_disk_test.go
  function TestComposeDiskCustomizationsValidation (line 12) | func TestComposeDiskCustomizationsValidation(t *testing.T) {
  function TestComposeDiskCustomizationsErrors (line 264) | func TestComposeDiskCustomizationsErrors(t *testing.T) {

FILE: internal/cloudapi/v2/v2_internal_test.go
  function init (line 16) | func init() {
  function TestSplitExtension (line 23) | func TestSplitExtension(t *testing.T) {
  function TestCollectRepos (line 41) | func TestCollectRepos(t *testing.T) {
  function TestRepoConfigConversion (line 97) | func TestRepoConfigConversion(t *testing.T) {
  function TestStagesToPackageMetadata (line 246) | func TestStagesToPackageMetadata(t *testing.T) {

FILE: internal/cloudapi/v2/v2_koji_test.go
  type jobResult (line 23) | type jobResult struct
  function TestKojiCompose (line 27) | func TestKojiCompose(t *testing.T) {
  function TestKojiJobTypeValidation (line 589) | func TestKojiJobTypeValidation(t *testing.T) {

FILE: internal/cloudapi/v2/v2_multi_tenancy_test.go
  function kojiRequest (line 27) | func kojiRequest() string {
  function s3Request (line 52) | func s3Request() string {
  function bootcRequest (line 73) | func bootcRequest() string {
  function reqContext (line 90) | func reqContext(orgID string) context.Context {
  function scheduleRequest (line 103) | func scheduleRequest(t *testing.T, handler http.Handler, orgID, request ...
  function getAllJobsOfCompose (line 119) | func getAllJobsOfCompose(t *testing.T, q jobqueue.JobQueue, finalJob uui...
  function jobRequest (line 139) | func jobRequest() string {
  function runNextJob (line 157) | func runNextJob(t *testing.T, jobs []uuid.UUID, workerServer *worker.Ser...
  function TestMultitenancy (line 263) | func TestMultitenancy(t *testing.T) {
  function TestBootcMultitenancyPreManifestProcessed (line 389) | func TestBootcMultitenancyPreManifestProcessed(t *testing.T) {

FILE: internal/cloudapi/v2/v2_test.go
  function mockDepsolve (line 82) | func mockDepsolve(t *testing.T, workerServer *worker.Server, wg *sync.Wa...
  function mockIBManifest (line 187) | func mockIBManifest(t *testing.T, workerServer *worker.Server, wg *sync....
  function mockOSTreeResolve (line 238) | func mockOSTreeResolve(t *testing.T, workerServer *worker.Server, wg *sy...
  function mockSearch (line 283) | func mockSearch(t *testing.T, workerServer *worker.Server, wg *sync.Wait...
  type v2ServerOpts (line 331) | type v2ServerOpts struct
  function newV2Server (line 338) | func newV2Server(t *testing.T, dir string, opts *v2ServerOpts) (*v2.Serv...
  function TestUnknownRoute (line 400) | func TestUnknownRoute(t *testing.T) {
  function TestGetError (line 414) | func TestGetError(t *testing.T) {
  function TestGetErrorList (line 437) | func TestGetErrorList(t *testing.T) {
  function TestGetDistributionList (line 456) | func TestGetDistributionList(t *testing.T) {
  function TestGetDistribution (line 487) | func TestGetDistribution(t *testing.T) {
  function TestCompose (line 869) | func TestCompose(t *testing.T) {
  function TestComposeStatusSuccess (line 1286) | func TestComposeStatusSuccess(t *testing.T) {
  function TestComposeManifests (line 1445) | func TestComposeManifests(t *testing.T) {
  function TestComposeStatusFailure (line 1605) | func TestComposeStatusFailure(t *testing.T) {
  function TestComposeStatusInvalidUUID (line 1660) | func TestComposeStatusInvalidUUID(t *testing.T) {
  function TestComposeJobError (line 1676) | func TestComposeJobError(t *testing.T) {
  function TestComposeDependencyError (line 1737) | func TestComposeDependencyError(t *testing.T) {
  function TestComposeTargetErrors (line 1814) | func TestComposeTargetErrors(t *testing.T) {
  function TestComposeCustomizations (line 1906) | func TestComposeCustomizations(t *testing.T) {
  function TestComposeRhcSubscription (line 2012) | func TestComposeRhcSubscription(t *testing.T) {
  function TestImageTypes (line 2052) | func TestImageTypes(t *testing.T) {
  function TestImageFromCompose (line 2239) | func TestImageFromCompose(t *testing.T) {
  function TestDepsolveBlueprint (line 2379) | func TestDepsolveBlueprint(t *testing.T) {
  function TestDepsolveImageType (line 2420) | func TestDepsolveImageType(t *testing.T) {
  function TestDepsolveImageTypeError (line 2462) | func TestDepsolveImageTypeError(t *testing.T) {
  function TestDepsolveDistroErrors (line 2491) | func TestDepsolveDistroErrors(t *testing.T) {
  function TestDepsolveArchErrors (line 2564) | func TestDepsolveArchErrors(t *testing.T) {
  function TestSearchPackages (line 2591) | func TestSearchPackages(t *testing.T) {
  function TestSearchDistroErrors (line 2620) | func TestSearchDistroErrors(t *testing.T) {
  function TestSearchArchErrors (line 2642) | func TestSearchArchErrors(t *testing.T) {
  function TestComposesRoute (line 2664) | func TestComposesRoute(t *testing.T) {
  function TestDownload (line 2706) | func TestDownload(t *testing.T) {
  function TestDownloadNotFinished (line 2786) | func TestDownloadNotFinished(t *testing.T) {
  function TestDownloadUnknown (line 2844) | func TestDownloadUnknown(t *testing.T) {
  function TestComposeRequestMetadata (line 2864) | func TestComposeRequestMetadata(t *testing.T) {
  function TestComposesDeleteRoute (line 2940) | func TestComposesDeleteRoute(t *testing.T) {
  function TestComposeManifestByID (line 3002) | func TestComposeManifestByID(t *testing.T) {
  function TestComposeIBManifest (line 3043) | func TestComposeIBManifest(t *testing.T) {
  function TestComposeBootc (line 3084) | func TestComposeBootc(t *testing.T) {

FILE: internal/common/constants.go
  constant KiloByte (line 6) | KiloByte = 1000
  constant KibiByte (line 7) | KibiByte = 1024
  constant MegaByte (line 8) | MegaByte = 1000 * 1000
  constant MebiByte (line 9) | MebiByte = 1024 * 1024
  constant GigaByte (line 10) | GigaByte = 1000 * 1000 * 1000
  constant GibiByte (line 11) | GibiByte = 1024 * 1024 * 1024
  constant TeraByte (line 12) | TeraByte = 1000 * 1000 * 1000 * 1000
  constant TebiByte (line 13) | TebiByte = 1024 * 1024 * 1024 * 1024
  function BuildVersion (line 30) | func BuildVersion() string {

FILE: internal/common/context_hook.go
  type ContextHook (line 7) | type ContextHook struct
    method Levels (line 9) | func (h *ContextHook) Levels() []logrus.Level {
    method Fire (line 20) | func (h *ContextHook) Fire(e *logrus.Entry) error {

FILE: internal/common/dependencies.go
  constant OSBuildImagesModulePath (line 9) | OSBuildImagesModulePath = "github.com/osbuild/images"
  function GetDepModuleInfoByPath (line 15) | func GetDepModuleInfoByPath(path string) (*debug.Module, error) {

FILE: internal/common/echo_logrus.go
  type EchoLogrusLogger (line 14) | type EchoLogrusLogger struct
    method Close (line 61) | func (l *EchoLogrusLogger) Close() {
    method Output (line 68) | func (l *EchoLogrusLogger) Output() io.Writer {
    method SetOutput (line 72) | func (l *EchoLogrusLogger) SetOutput(w io.Writer) {
    method Level (line 76) | func (l *EchoLogrusLogger) Level() lslog.Lvl {
    method SetLevel (line 80) | func (l *EchoLogrusLogger) SetLevel(v lslog.Lvl) {
    method SetHeader (line 84) | func (l *EchoLogrusLogger) SetHeader(h string) {
    method Prefix (line 87) | func (l *EchoLogrusLogger) Prefix() string {
    method SetPrefix (line 91) | func (l *EchoLogrusLogger) SetPrefix(p string) {
    method Print (line 94) | func (l *EchoLogrusLogger) Print(i ...interface{}) {
    method Printf (line 98) | func (l *EchoLogrusLogger) Printf(format string, args ...interface{}) {
    method Printj (line 102) | func (l *EchoLogrusLogger) Printj(j lslog.JSON) {
    method Debug (line 110) | func (l *EchoLogrusLogger) Debug(i ...interface{}) {
    method Debugf (line 114) | func (l *EchoLogrusLogger) Debugf(format string, args ...interface{}) {
    method Debugj (line 118) | func (l *EchoLogrusLogger) Debugj(j lslog.JSON) {
    method Info (line 126) | func (l *EchoLogrusLogger) Info(i ...interface{}) {
    method Infof (line 130) | func (l *EchoLogrusLogger) Infof(format string, args ...interface{}) {
    method Infoj (line 134) | func (l *EchoLogrusLogger) Infoj(j lslog.JSON) {
    method Warn (line 142) | func (l *EchoLogrusLogger) Warn(i ...interface{}) {
    method Warnf (line 146) | func (l *EchoLogrusLogger) Warnf(format string, args ...interface{}) {
    method Warnj (line 150) | func (l *EchoLogrusLogger) Warnj(j lslog.JSON) {
    method Error (line 158) | func (l *EchoLogrusLogger) Error(i ...interface{}) {
    method Errorf (line 162) | func (l *EchoLogrusLogger) Errorf(format string, args ...interface{}) {
    method Errorj (line 166) | func (l *EchoLogrusLogger) Errorj(j lslog.JSON) {
    method Fatal (line 174) | func (l *EchoLogrusLogger) Fatal(i ...interface{}) {
    method Fatalf (line 178) | func (l *EchoLogrusLogger) Fatalf(format string, args ...interface{}) {
    method Fatalj (line 182) | func (l *EchoLogrusLogger) Fatalj(j lslog.JSON) {
    method Panic (line 190) | func (l *EchoLogrusLogger) Panic(i ...interface{}) {
    method Panicf (line 194) | func (l *EchoLogrusLogger) Panicf(format string, args ...interface{}) {
    method Panicj (line 198) | func (l *EchoLogrusLogger) Panicj(j lslog.JSON) {
    method Write (line 208) | func (l *EchoLogrusLogger) Write(p []byte) (n int, err error) {
  function NewEchoLogrusLogger (line 22) | func NewEchoLogrusLogger(logger *logrus.Logger, ctx context.Context) *Ec...
  function init (line 32) | func init() {
  function close (line 37) | func close(l *EchoLogrusLogger) {
  function Logger (line 42) | func Logger() *EchoLogrusLogger {
  function toEchoLevel (line 46) | func toEchoLevel(level logrus.Level) lslog.Lvl {

FILE: internal/common/external_id.go
  constant ExternalIDKey (line 10) | ExternalIDKey string = "externalID"
  constant externalIDKeyCtx (line 11) | externalIDKeyCtx ctxKey = ctxKey(ExternalIDKey)
  function ExternalIDMiddleware (line 14) | func ExternalIDMiddleware(next echo.HandlerFunc) echo.HandlerFunc {

FILE: internal/common/helpers.go
  function PanicOnError (line 12) | func PanicOnError(err error) {
  function IsStringInSortedSlice (line 20) | func IsStringInSortedSlice(slice []string, s string) bool {
  function DataSizeToUint64 (line 30) | func DataSizeToUint64(size string) (uint64, error) {
  function NopSeekCloser (line 78) | func NopSeekCloser(r io.ReadSeeker) io.ReadSeekCloser {
  type nopSeekCloser (line 82) | type nopSeekCloser struct
    method Close (line 86) | func (nopSeekCloser) Close() error { return nil }
  function Must (line 90) | func Must[T any](val T, err error) T {

FILE: internal/common/helpers_test.go
  function TestPanicOnError (line 11) | func TestPanicOnError(t *testing.T) {
  function TestIsStringInSortedSlice (line 16) | func TestIsStringInSortedSlice(t *testing.T) {
  function TestDataSizeToUint64 (line 23) | func TestDataSizeToUint64(t *testing.T) {

FILE: internal/common/journal_hook.go
  type JournalHook (line 12) | type JournalHook struct
    method Fire (line 57) | func (hook *JournalHook) Fire(entry *logrus.Entry) error {
    method Levels (line 61) | func (hook *JournalHook) Levels() []logrus.Level {
  function stringifyOp (line 25) | func stringifyOp(r rune) rune {
  function stringifyKey (line 40) | func stringifyKey(key string) string {
  function stringifyEntries (line 47) | func stringifyEntries(data map[string]interface{}) map[string]string {

FILE: internal/common/journal_hook_test.go
  function TestStringifyEntries (line 5) | func TestStringifyEntries(t *testing.T) {

FILE: internal/common/logger_middleware.go
  function LoggerMiddleware (line 9) | func LoggerMiddleware(next echo.HandlerFunc) echo.HandlerFunc {

FILE: internal/common/operation_id.go
  type ctxKey (line 10) | type ctxKey
  constant OperationIDKey (line 12) | OperationIDKey string = "operationID"
  constant operationIDKeyCtx (line 13) | operationIDKeyCtx ctxKey = ctxKey(OperationIDKey)
  function OperationIDMiddleware (line 16) | func OperationIDMiddleware(next echo.HandlerFunc) echo.HandlerFunc {
  function GenerateOperationID (line 31) | func GenerateOperationID() string {

FILE: internal/common/pointers.go
  function ToPtr (line 3) | func ToPtr[T any](x T) *T {
  function DerefOrDefault (line 9) | func DerefOrDefault[T any](p *T) T {

FILE: internal/common/pointers_test.go
  function TestToPtr (line 9) | func TestToPtr(t *testing.T) {

FILE: internal/common/slogger/logrus.go
  type simpleLogrus (line 8) | type simpleLogrus struct
    method log (line 16) | func (s *simpleLogrus) log(level logrus.Level, err error, msg string, ...
    method Info (line 32) | func (s *simpleLogrus) Info(msg string, args ...string) {
    method Error (line 36) | func (s *simpleLogrus) Error(err error, msg string, args ...string) {
  function NewLogrusLogger (line 12) | func NewLogrusLogger(logger *logrus.Logger) jobqueue.SimpleLogger {

FILE: internal/common/slogger/logrus_test.go
  function makeLogrus (line 12) | func makeLogrus(buf *bytes.Buffer) *logrus.Logger {
  function TestInfo (line 25) | func TestInfo(t *testing.T) {
  function TestError (line 33) | func TestError(t *testing.T) {
  function TestErrorIsNil (line 41) | func TestErrorIsNil(t *testing.T) {
  function TestInfoWithFields (line 49) | func TestInfoWithFields(t *testing.T) {
  function TestErrorWithFields (line 57) | func TestErrorWithFields(t *testing.T) {

FILE: internal/common/slogger/noop.go
  type noopLogger (line 7) | type noopLogger struct
    method Info (line 14) | func (s *noopLogger) Info(_ string, _ ...string) {
    method Error (line 17) | func (s *noopLogger) Error(_ error, _ string, _ ...string) {
  function NewNoopLogger (line 10) | func NewNoopLogger() jobqueue.SimpleLogger {

FILE: internal/common/states.go
  function getStateMapping (line 7) | func getStateMapping() []string {
  type ImageBuildState (line 11) | type ImageBuildState
    method ToString (line 41) | func (ibs ImageBuildState) ToString() string {
    method UnmarshalJSON (line 60) | func (ibs *ImageBuildState) UnmarshalJSON(data []byte) error {
    method MarshalJSON (line 69) | func (ibs ImageBuildState) MarshalJSON() ([]byte, error) {
  constant IBWaiting (line 14) | IBWaiting ImageBuildState = iota
  constant IBRunning (line 15) | IBRunning
  constant IBFinished (line 16) | IBFinished
  constant IBFailed (line 17) | IBFailed
  type CustomJsonConversionError (line 21) | type CustomJsonConversionError struct
    method Error (line 26) | func (err *CustomJsonConversionError) Error() string {
  type CustomTypeError (line 31) | type CustomTypeError struct
    method Error (line 36) | func (err *CustomTypeError) Error() string {
  function unmarshalStateHelper (line 45) | func unmarshalStateHelper(data []byte, mapping []string) (int, error) {

FILE: internal/common/states_test.go
  function TestJSONConversions (line 10) | func TestJSONConversions(t *testing.T) {

FILE: internal/jobqueue/fsjobqueue/fsjobqueue.go
  type fsJobQueue (line 30) | type fsJobQueue struct
    method Enqueue (line 149) | func (q *fsJobQueue) Enqueue(jobType string, args interface{}, depende...
    method dequeueLoop (line 206) | func (q *fsJobQueue) dequeueLoop(ctx context.Context, wID uuid.UUID, m...
    method Dequeue (line 264) | func (q *fsJobQueue) Dequeue(ctx context.Context, wID uuid.UUID, jobTy...
    method DequeueAnyChannel (line 270) | func (q *fsJobQueue) DequeueAnyChannel(ctx context.Context, wID uuid.U...
    method DequeueByID (line 276) | func (q *fsJobQueue) DequeueByID(ctx context.Context, id, wID uuid.UUI...
    method UpdateJobResult (line 317) | func (q *fsJobQueue) UpdateJobResult(id uuid.UUID, result interface{})...
    method RequeueOrFinishJob (line 347) | func (q *fsJobQueue) RequeueOrFinishJob(id uuid.UUID, maxRetries uint6...
    method CancelJob (line 423) | func (q *fsJobQueue) CancelJob(id uuid.UUID) error {
    method FailJob (line 453) | func (q *fsJobQueue) FailJob(id uuid.UUID, result interface{}) error {
    method JobStatus (line 487) | func (q *fsJobQueue) JobStatus(id uuid.UUID) (jobType string, channel ...
    method Job (line 506) | func (q *fsJobQueue) Job(id uuid.UUID) (jobType string, args json.RawM...
    method IdFromToken (line 520) | func (q *fsJobQueue) IdFromToken(token uuid.UUID) (id uuid.UUID, err e...
    method Heartbeats (line 532) | func (q *fsJobQueue) Heartbeats(olderThan time.Duration) (tokens []uui...
    method RefreshHeartbeat (line 544) | func (q *fsJobQueue) RefreshHeartbeat(token uuid.UUID) {
    method InsertWorker (line 552) | func (q *fsJobQueue) InsertWorker(channel, arch string) (uuid.UUID, er...
    method UpdateWorkerStatus (line 566) | func (q *fsJobQueue) UpdateWorkerStatus(wID uuid.UUID) error {
    method Workers (line 579) | func (q *fsJobQueue) Workers(olderThan time.Duration) ([]jobqueue.Work...
    method DeleteWorker (line 597) | func (q *fsJobQueue) DeleteWorker(wID uuid.UUID) error {
    method readJob (line 615) | func (q *fsJobQueue) readJob(id uuid.UUID) (*job, error) {
    method maybeEnqueue (line 633) | func (q *fsJobQueue) maybeEnqueue(j *job, updateDependants bool) error {
    method hasAllFinishedDependencies (line 666) | func (q *fsJobQueue) hasAllFinishedDependencies(j *job) (bool, error) {
    method dequeueSuitableJob (line 686) | func (q *fsJobQueue) dequeueSuitableJob(matches func(*job) bool) (*job...
    method removePendingJob (line 718) | func (q *fsJobQueue) removePendingJob(id uuid.UUID) {
    method AllRootJobIDs (line 749) | func (q *fsJobQueue) AllRootJobIDs(_ context.Context) ([]uuid.UUID, er...
    method DeleteJob (line 778) | func (q *fsJobQueue) DeleteJob(_ context.Context, id uuid.UUID) error {
    method deleteJob (line 786) | func (q *fsJobQueue) deleteJob(parent, id uuid.UUID) error {
  type worker (line 65) | type worker struct
  type job (line 75) | type job struct
  function New (line 97) | func New(dir string) (*fsJobQueue, error) {
  function jobMatchesCriteria (line 735) | func jobMatchesCriteria(j *job, acceptedJobTypes []string, acceptedChann...
  function jobMatchesType (line 743) | func jobMatchesType(j *job, acceptedJobTypes []string) bool {

FILE: internal/jobqueue/fsjobqueue/fsjobqueue_test.go
  function TestJobQueueInterface (line 19) | func TestJobQueueInterface(t *testing.T) {
  function TestNonExistant (line 32) | func TestNonExistant(t *testing.T) {
  function TestJobQueueBadJSON (line 38) | func TestJobQueueBadJSON(t *testing.T) {
  function sortUUIDs (line 50) | func sortUUIDs(entries []uuid.UUID) {
  function TestAllRootJobIDs (line 56) | func TestAllRootJobIDs(t *testing.T) {
  function TestDeleteJob (line 93) | func TestDeleteJob(t *testing.T) {

FILE: internal/jobqueue/jobqueuetest/jobqueuetest.go
  type MakeJobQueue (line 25) | type MakeJobQueue
  type TestResult (line 27) | type TestResult struct
  function TestDbURL (line 31) | func TestDbURL() string {
  function TestJobQueue (line 39) | func TestJobQueue(t *testing.T, makeJobQueue MakeJobQueue) {
  function pushTestJob (line 73) | func pushTestJob(t *testing.T, q jobqueue.JobQueue, jobType string, args...
  function finishNextTestJob (line 81) | func finishNextTestJob(t *testing.T, q jobqueue.JobQueue, jobType string...
  function testErrors (line 97) | func testErrors(t *testing.T, q jobqueue.JobQueue) {
  function testArgs (line 129) | func testArgs(t *testing.T, q jobqueue.JobQueue) {
  function testJobTypes (line 202) | func testJobTypes(t *testing.T, q jobqueue.JobQueue) {
  function testDequeueTimeout (line 220) | func testDequeueTimeout(t *testing.T, q jobqueue.JobQueue) {
  function testDependencies (line 232) | func testDependencies(t *testing.T, q jobqueue.JobQueue) {
  function testMultipleWorkers (line 310) | func testMultipleWorkers(t *testing.T, q jobqueue.JobQueue) {
  function testMultipleWorkersSingleJobType (line 344) | func testMultipleWorkersSingleJobType(t *testing.T, q jobqueue.JobQueue) {
  function testCancel (line 380) | func testCancel(t *testing.T, q jobqueue.JobQueue) {
  function testRequeue (line 442) | func testRequeue(t *testing.T, q jobqueue.JobQueue) {
  function testRequeueLimit (line 486) | func testRequeueLimit(t *testing.T, q jobqueue.JobQueue) {
  function testUpdateJobResult (line 513) | func testUpdateJobResult(t *testing.T, q jobqueue.JobQueue) {
  function testEscapedNullBytes (line 552) | func testEscapedNullBytes(t *testing.T, q jobqueue.JobQueue) {
  function testHeartbeats (line 564) | func testHeartbeats(t *testing.T, q jobqueue.JobQueue) {
  function testDequeueByID (line 600) | func testDequeueByID(t *testing.T, q jobqueue.JobQueue) {
  function testMultipleChannels (line 648) | func testMultipleChannels(t *testing.T, q jobqueue.JobQueue) {
  function testDequeueAnyChannel (line 750) | func testDequeueAnyChannel(t *testing.T, q jobqueue.JobQueue) {
  function test100dequeuers (line 840) | func test100dequeuers(t *testing.T, q jobqueue.JobQueue) {
  function testWorkers (line 877) | func testWorkers(t *testing.T, q jobqueue.JobQueue) {
  function testFail (line 917) | func testFail(t *testing.T, q jobqueue.JobQueue) {
  function sortUUIDs (line 968) | func sortUUIDs(entries []uuid.UUID) {
  function testAllRootJobs (line 975) | func testAllRootJobs(t *testing.T, q jobqueue.JobQueue) {
  function testDeleteJobs (line 1002) | func testDeleteJobs(t *testing.T, q jobqueue.JobQueue) {
  function testDequeueNilAndEmptyChannels (line 1085) | func testDequeueNilAndEmptyChannels(t *testing.T, q jobqueue.JobQueue) {

FILE: internal/jsondb/db.go
  type JSONDatabase (line 27) | type JSONDatabase struct
    method Read (line 41) | func (db *JSONDatabase) Read(name string, document interface{}) (bool,...
    method List (line 62) | func (db *JSONDatabase) List() ([]string, error) {
    method Delete (line 83) | func (db *JSONDatabase) Delete(name string) error {
    method Write (line 92) | func (db *JSONDatabase) Write(name string, document interface{}) error {
  function New (line 34) | func New(dir string, perm os.FileMode) *JSONDatabase {
  function writeFileAtomically (line 102) | func writeFileAtomically(dir, filename string, mode os.FileMode, writer ...

FILE: internal/jsondb/db_private_test.go
  function TestWriteFileAtomically (line 12) | func TestWriteFileAtomically(t *testing.T) {

FILE: internal/jsondb/db_test.go
  type document (line 14) | type document struct
  function TestDegenerate (line 21) | func TestDegenerate(t *testing.T) {
  function TestCorrupt (line 53) | func TestCorrupt(t *testing.T) {
  function TestRead (line 65) | func TestRead(t *testing.T) {
  function TestMultiple (line 96) | func TestMultiple(t *testing.T) {
  function TestDelete (line 125) | func TestDelete(t *testing.T) {
  function TestDeleteError (line 150) | func TestDeleteError(t *testing.T) {

FILE: internal/mocks/depsolvednf/depsolvednf.go
  type MockDepsolveDNF (line 14) | type MockDepsolveDNF struct
    method CleanCache (line 29) | func (m *MockDepsolveDNF) CleanCache() error {
    method Depsolve (line 36) | func (m *MockDepsolveDNF) Depsolve(packages []rpmmd.PackageSet, sbomTy...
    method FetchMetadata (line 46) | func (m *MockDepsolveDNF) FetchMetadata(repos []rpmmd.RepoConfig) (rpm...
    method SearchMetadata (line 69) | func (m *MockDepsolveDNF) SearchMetadata(repos []rpmmd.RepoConfig, pac...
  function lexSortedPackageList (line 58) | func lexSortedPackageList(pkgList rpmmd.PackageList) rpmmd.PackageList {

FILE: internal/mocks/depsolvednf/mock_data.go
  function BaseFetchResult (line 19) | func BaseFetchResult() rpmmd.PackageList {
  function BaseSearchResultsMap (line 71) | func BaseSearchResultsMap() map[string]rpmmd.PackageList {
  function BaseDepsolveResult (line 92) | func BaseDepsolveResult(repoID string) rpmmd.PackageList {

FILE: internal/mocks/rpmmd/fixtures.go
  type FixtureGenerator (line 12) | type FixtureGenerator
  function createBaseWorkersFixture (line 14) | func createBaseWorkersFixture(tmpdir string) *worker.Server {
  function BaseFixture (line 22) | func BaseFixture(tmpdir, hostDistroName, hostArchName string) Fixture {
  function NoComposesFixture (line 29) | func NoComposesFixture(tmpdir, hostDistroName, hostArchName string) Fixt...
  function NonExistingPackage (line 36) | func NonExistingPackage(tmpdir, hostDistroName, hostArchName string) Fix...
  function BadDepsolve (line 43) | func BadDepsolve(tmpdir, hostDistroName, hostArchName string) Fixture {
  function BadFetch (line 50) | func BadFetch(tmpdir, hostDistroName, hostArchName string) Fixture {
  function OldChangesFixture (line 57) | func OldChangesFixture(tmpdir, hostDistroName, hostArchName string) Fixt...
  function BadJobJSONFixture (line 64) | func BadJobJSONFixture(tmpdir, hostDistroName, hostArchName string) Fixt...

FILE: internal/mocks/rpmmd/rpmmd_mock.go
  type Fixture (line 8) | type Fixture struct

FILE: internal/mocks/rpmrepo/rpmrepo.go
  type testRepoServer (line 13) | type testRepoServer struct
    method Close (line 30) | func (trs *testRepoServer) Close() {
    method WriteConfig (line 36) | func (trs *testRepoServer) WriteConfig(path string) {
  function NewTestServer (line 18) | func NewTestServer() *testRepoServer {

FILE: internal/osbuildexecutor/osbuild-executor.go
  constant MinTimeBetweenUpdates (line 13) | MinTimeBetweenUpdates = time.Second * 30
  type Executor (line 16) | type Executor interface

FILE: internal/osbuildexecutor/runner-common.go
  function handleProgress (line 13) | func handleProgress(osbuildStatus *osbuild.StatusScanner, logger logrus....

FILE: internal/osbuildexecutor/runner-impl-aws-ec2.go
  constant OSBuildResultFilename (line 25) | OSBuildResultFilename = "osbuild-result.json"
  type awsEC2Executor (line 27) | type awsEC2Executor struct
    method RunOSBuild (line 267) | func (ec2e *awsEC2Executor) RunOSBuild(manifest []byte, logger logrus....
  function prepareSources (line 34) | func prepareSources(manifest []byte, logger logrus.FieldLogger, opts *os...
  function waitForSI (line 47) | func waitForSI(ctx context.Context, host string) bool {
  function writeInputArchive (line 79) | func writeInputArchive(cacheDir, store string, exports []string, manifes...
  function handleBuild (line 129) | func handleBuild(inputArchive, host string, logger logrus.FieldLogger, j...
  function fetchLog (line 156) | func fetchLog(host string) (string, error) {
  function fetchOutputArchive (line 180) | func fetchOutputArchive(cacheDir, host string) (string, error) {
  function validateOutputArchive (line 209) | func validateOutputArchive(outputTarPath string) error {
  function extractOutputArchive (line 247) | func extractOutputArchive(outputDirectory, outputTar string) error {
  function NewAWSEC2Executor (line 343) | func NewAWSEC2Executor(iamProfile, keyName, hostname, tmpDir string) Exe...

FILE: internal/osbuildexecutor/runner-impl-aws-ec2_test.go
  function makeMockEntry (line 26) | func makeMockEntry() (*logrus.Entry, *test.Hook) {
  function TestWaitForSI (line 31) | func TestWaitForSI(t *testing.T) {
  function TestWriteInputArchive (line 46) | func TestWriteInputArchive(t *testing.T) {
  type testJob (line 76) | type testJob struct
    method Id (line 80) | func (j *testJob) Id() uuid.UUID {
    method Type (line 84) | func (j *testJob) Type() string {
    method Args (line 88) | func (j *testJob) Args(args interface{}) error {
    method DynamicArgs (line 92) | func (j *testJob) DynamicArgs(i int, args interface{}) error {
    method NDynamicArgs (line 96) | func (j *testJob) NDynamicArgs() int {
    method Update (line 100) | func (j *testJob) Update(result interface{}) error {
    method Finish (line 105) | func (j *testJob) Finish(result interface{}) error {
    method Canceled (line 109) | func (j *testJob) Canceled() (bool, error) {
    method UploadArtifact (line 113) | func (j *testJob) UploadArtifact(name string, readSeeker io.ReadSeeker...
  function TestHandleBuild (line 117) | func TestHandleBuild(t *testing.T) {
  function TestHandleBuildTraceDebug (line 171) | func TestHandleBuildTraceDebug(t *testing.T) {
  function TestHandleBuildNoJSON (line 204) | func TestHandleBuildNoJSON(t *testing.T) {
  function TestHandleOutputArchive (line 223) | func TestHandleOutputArchive(t *testing.T) {
  function makeTestTarfile (line 265) | func makeTestTarfile(t *testing.T, content map[*tar.Header]string) string {
  function TestValidateOutputArchiveHappy (line 288) | func TestValidateOutputArchiveHappy(t *testing.T) {
  function makeSparseFile (line 301) | func makeSparseFile(t *testing.T, path string) {
  function TestValidateOutputArchiveHappySparseFile (line 307) | func TestValidateOutputArchiveHappySparseFile(t *testing.T) {
  function TestValidateOutputArchiveSadDotDot (line 321) | func TestValidateOutputArchiveSadDotDot(t *testing.T) {
  function TestValidateOutputArchiveSadAbsolutePath (line 329) | func TestValidateOutputArchiveSadAbsolutePath(t *testing.T) {
  function TestValidateOutputArchiveSadBadType (line 337) | func TestValidateOutputArchiveSadBadType(t *testing.T) {
  function TestValidateOutputArchiveSadExecutable (line 345) | func TestValidateOutputArchiveSadExecutable(t *testing.T) {

FILE: internal/osbuildexecutor/runner-impl-host.go
  type hostExecutor (line 15) | type hostExecutor struct
    method RunOSBuild (line 17) | func (he *hostExecutor) RunOSBuild(manifest []byte, logger logrus.Fiel...
  function NewHostExecutor (line 60) | func NewHostExecutor() Executor {

FILE: internal/prometheus/constants.go
  constant Namespace (line 4) | Namespace         = "image_builder"
  constant ComposerSubsystem (line 5) | ComposerSubsystem = "composer"
  constant WorkerSubsystem (line 6) | WorkerSubsystem   = "worker"

FILE: internal/prometheus/helpers.go
  function pathLabel (line 8) | func pathLabel(path string) string {

FILE: internal/prometheus/http_metrics.go
  function HTTPDurationHisto (line 26) | func HTTPDurationHisto(subsystem string) *prometheus.HistogramVec {

FILE: internal/prometheus/job_metrics.go
  function EnqueueJobMetrics (line 58) | func EnqueueJobMetrics(jobType, tenant string) {
  function DequeueJobMetrics (line 62) | func DequeueJobMetrics(pending time.Time, started time.Time, jobType, te...
  function RequeueJobMetrics (line 71) | func RequeueJobMetrics(jobType, tenant string) {
  function CancelJobMetrics (line 76) | func CancelJobMetrics(started time.Time, jobType, tenant string) {
  function FinishJobMetrics (line 84) | func FinishJobMetrics(started time.Time, finished time.Time, canceled bo...

FILE: internal/prometheus/middleware.go
  function MetricsMiddleware (line 14) | func MetricsMiddleware(next echo.HandlerFunc) echo.HandlerFunc {
  function HTTPDurationMiddleware (line 24) | func HTTPDurationMiddleware(subsystem string) func(next echo.HandlerFunc...
  function StatusMiddleware (line 37) | func StatusMiddleware(subsystem string) func(next echo.HandlerFunc) echo...

FILE: internal/prometheus/status_metrics.go
  function StatusRequestsCounter (line 8) | func StatusRequestsCounter(subsystem string) *prometheus.CounterVec {

FILE: internal/remotefile/client.go
  type Client (line 10) | type Client struct
    method makeRequest (line 20) | func (c *Client) makeRequest(u *url.URL) ([]byte, error) {
    method validateURL (line 40) | func (c *Client) validateURL(u string) (*url.URL, error) {
    method Resolve (line 53) | func (c *Client) Resolve(u string) ([]byte, error) {
  function NewClient (line 14) | func NewClient() *Client {

FILE: internal/remotefile/client_test.go
  function makeTestServer (line 12) | func makeTestServer() *httptest.Server {
  function TestClientResolve (line 25) | func TestClientResolve(t *testing.T) {
  function TestInputSpecValidation (line 40) | func TestInputSpecValidation(t *testing.T) {

FILE: internal/remotefile/resolver.go
  type resolveResult (line 9) | type resolveResult struct
  type Resolver (line 18) | type Resolver struct
    method Add (line 32) | func (r *Resolver) Add(url string) {
    method Finish (line 42) | func (r *Resolver) Finish() []Spec {
  function NewResolver (line 25) | func NewResolver() *Resolver {

FILE: internal/remotefile/resolver_test.go
  function TestSingleInputResolver (line 10) | func TestSingleInputResolver(t *testing.T) {
  function TestMultiInputResolver (line 32) | func TestMultiInputResolver(t *testing.T) {
  function TestInvalidInputResolver (line 65) | func TestInvalidInputResolver(t *testing.T) {
  function TestMultiInvalidInputResolver (line 81) | func TestMultiInvalidInputResolver(t *testing.T) {

FILE: internal/remotefile/spec.go
  type Spec (line 5) | type Spec struct

FILE: internal/store/fixtures.go
  function setupTestHostDistro (line 17) | func setupTestHostDistro(distroName, archName string) (Cleanup func()) {
  type Fixture (line 35) | type Fixture struct
  function FixtureBase (line 43) | func FixtureBase(hostDistroName, hostArchName string) *Fixture {
  function FixtureFinished (line 188) | func FixtureFinished(hostDistroName, hostArchName string) *Fixture {
  function FixtureEmpty (line 324) | func FixtureEmpty(hostDistroName, hostArchName string) *Fixture {
  function FixtureOldChanges (line 385) | func FixtureOldChanges(hostDistroName, hostArchName string) *Fixture {
  function FixtureJobs (line 434) | func FixtureJobs(hostDistroName, hostArchName string) *Fixture {

FILE: internal/store/json.go
  type storeV0 (line 24) | type storeV0 struct
  type blueprintsV0 (line 33) | type blueprintsV0
  type workspaceV0 (line 34) | type workspaceV0
  type composeV0 (line 39) | type composeV0 struct
  type composesV0 (line 45) | type composesV0
  type imageBuildV0 (line 48) | type imageBuildV0 struct
  type sourceV0 (line 65) | type sourceV0 struct
  type sourcesV0 (line 79) | type sourcesV0
  type changeV0 (line 81) | type changeV0 struct
  type changesV0 (line 89) | type changesV0
  type commitsV0 (line 91) | type commitsV0
  function newBlueprintsFromV0 (line 93) | func newBlueprintsFromV0(blueprintsStruct blueprintsV0) map[string]bluep...
  function newWorkspaceFromV0 (line 101) | func newWorkspaceFromV0(workspaceStruct workspaceV0) map[string]blueprin...
  function newComposesFromV0 (line 109) | func newComposesFromV0(composesStruct composesV0, df *distrofactory.Fact...
  function newImageBuildFromV0 (line 126) | func newImageBuildFromV0(imageBuildStruct imageBuildV0, arch distro.Arch...
  function newComposeFromV0 (line 156) | func newComposeFromV0(composeStruct composeV0, df *distrofactory.Factory...
  function newSourceConfigsFromV0 (line 197) | func newSourceConfigsFromV0(sourcesStruct sourcesV0) map[string]SourceCo...
  function newChangesFromV0 (line 207) | func newChangesFromV0(changesStruct changesV0) map[string]map[string]blu...
  function newCommitsFromV0 (line 227) | func newCommitsFromV0(commitsMapStruct commitsV0, changesMapStruct chang...
  function newStoreFromV0 (line 269) | func newStoreFromV0(storeStruct storeV0, df *distrofactory.Factory, log ...
  function newBlueprintsV0 (line 280) | func newBlueprintsV0(blueprints map[string]blueprint.Blueprint) blueprin...
  function newWorkspaceV0 (line 288) | func newWorkspaceV0(workspace map[string]blueprint.Blueprint) workspaceV0 {
  function newComposeV0 (line 296) | func newComposeV0(compose weldrtypes.Compose) composeV0 {
  function newComposesV0 (line 322) | func newComposesV0(composes map[uuid.UUID]weldrtypes.Compose) composesV0 {
  function newSourcesV0 (line 330) | func newSourcesV0(sources map[string]SourceConfig) sourcesV0 {
  function newChangesV0 (line 338) | func newChangesV0(changes map[string]map[string]blueprint.Change) change...
  function newCommitsV0 (line 356) | func newCommitsV0(commits map[string][]string) commitsV0 {
  method toStoreV0 (line 364) | func (store *Store) toStoreV0() *storeV0 {
  function imageTypeToCompatString (line 389) | func imageTypeToCompatString(imgType distro.ImageType) string {
  function imageTypeFromCompatString (line 398) | func imageTypeFromCompatString(input string, arch distro.Arch) distro.Im...

FILE: internal/store/json_test.go
  function MustParseTime (line 26) | func MustParseTime(ts string) time.Time {
  function getTestDistroArchImgType (line 34) | func getTestDistroArchImgType(t *testing.T) (distro.Distro, distro.Arch,...
  function Test_imageTypeToCompatString (line 44) | func Test_imageTypeToCompatString(t *testing.T) {
  function Test_imageTypeFromCompatString (line 74) | func Test_imageTypeFromCompatString(t *testing.T) {
  function TestMarshalEmpty (line 122) | func TestMarshalEmpty(t *testing.T) {
  function TestMarshalFinished (line 133) | func TestMarshalFinished(t *testing.T) {
  function TestStore_toStoreV0 (line 144) | func TestStore_toStoreV0(t *testing.T) {
  function Test_newStoreFromV0 (line 188) | func Test_newStoreFromV0(t *testing.T) {
  function Test_newCommitsV0 (line 219) | func Test_newCommitsV0(t *testing.T) {
  function Test_upgrade (line 293) | func Test_upgrade(t *testing.T) {
  function Test_newCommitsFromV0 (line 322) | func Test_newCommitsFromV0(t *testing.T) {
  function Test_newBlueprintsFromV0 (line 407) | func Test_newBlueprintsFromV0(t *testing.T) {
  function Test_newBlueprintsV0 (line 453) | func Test_newBlueprintsV0(t *testing.T) {
  function Test_newWorkspaceFromV0 (line 499) | func Test_newWorkspaceFromV0(t *testing.T) {
  function Test_newWorkspaceV0 (line 545) | func Test_newWorkspaceV0(t *testing.T) {
  function Test_newChangesFromV0 (line 591) | func Test_newChangesFromV0(t *testing.T) {
  function Test_newChangesV0 (line 772) | func Test_newChangesV0(t *testing.T) {
  function Test_newSourceConfigsFromV0 (line 954) | func Test_newSourceConfigsFromV0(t *testing.T) {
  function Test_newSourcesFromV0 (line 1037) | func Test_newSourcesFromV0(t *testing.T) {
  function Test_newComposeV0 (line 1120) | func Test_newComposeV0(t *testing.T) {
  function Test_newComposeFromV0 (line 1214) | func Test_newComposeFromV0(t *testing.T) {
  function Test_newComposesV0 (line 1327) | func Test_newComposesV0(t *testing.T) {
  function Test_newComposesFromV0 (line 1490) | func Test_newComposesFromV0(t *testing.T) {
  function Test_newImageBuildFromV0 (line 1664) | func Test_newImageBuildFromV0(t *testing.T) {

FILE: internal/store/store.go
  constant StoreDBName (line 35) | StoreDBName = "state"
  type Store (line 47) | type Store struct
    method change (line 128) | func (s *Store) change(f func() error) error {
    method ListBlueprints (line 144) | func (s *Store) ListBlueprints() []string {
    method GetBlueprint (line 160) | func (s *Store) GetBlueprint(name string) (*blueprint.Blueprint, bool) {
    method GetBlueprintCommitted (line 176) | func (s *Store) GetBlueprintCommitted(name string) *blueprint.Blueprint {
    method GetBlueprintChange (line 190) | func (s *Store) GetBlueprintChange(name string, commit string) (*bluep...
    method GetBlueprintChanges (line 205) | func (s *Store) GetBlueprintChanges(name string) []blueprint.Change {
    method PushBlueprint (line 218) | func (s *Store) PushBlueprint(bp blueprint.Blueprint, commitMsg string...
    method PushBlueprintToWorkspace (line 257) | func (s *Store) PushBlueprintToWorkspace(bp blueprint.Blueprint) error {
    method DeleteBlueprint (line 277) | func (s *Store) DeleteBlueprint(name string) error {
    method DeleteBlueprintFromWorkspace (line 290) | func (s *Store) DeleteBlueprintFromWorkspace(name string) error {
    method TagBlueprint (line 302) | func (s *Store) TagBlueprint(name string) error {
    method GetCompose (line 346) | func (s *Store) GetCompose(id uuid.UUID) (weldrtypes.Compose, bool) {
    method GetAllComposes (line 356) | func (s *Store) GetAllComposes() map[uuid.UUID]weldrtypes.Compose {
    method PushCompose (line 370) | func (s *Store) PushCompose(jobID uuid.UUID,
    method PushTestCompose (line 408) | func (s *Store) PushTestCompose(composeID uuid.UUID,
    method DeleteCompose (line 451) | func (s *Store) DeleteCompose(id uuid.UUID) error {
    method PushSource (line 464) | func (s *Store) PushSource(key string, source SourceConfig) {
    method DeleteSourceByName (line 473) | func (s *Store) DeleteSourceByName(name string) {
    method DeleteSourceByID (line 487) | func (s *Store) DeleteSourceByID(key string) {
    method ListSourcesByName (line 497) | func (s *Store) ListSourcesByName() []string {
    method ListSourcesById (line 511) | func (s *Store) ListSourcesById() []string {
    method GetSource (line 523) | func (s *Store) GetSource(name string) *SourceConfig {
    method GetAllSourcesByName (line 535) | func (s *Store) GetAllSourcesByName() map[string]SourceConfig {
    method GetAllSourcesByID (line 549) | func (s *Store) GetAllSourcesByID() map[string]SourceConfig {
    method GetAllDistroSources (line 564) | func (s *Store) GetAllDistroSources(distro string) map[string]SourceCo...
  type SourceConfig (line 60) | type SourceConfig struct
    method RepoConfig (line 624) | func (s *SourceConfig) RepoConfig(name string) rpmmd.RepoConfig {
  type NotFoundError (line 74) | type NotFoundError struct
    method Error (line 78) | func (e *NotFoundError) Error() string {
  type NoLocalTargetError (line 82) | type NoLocalTargetError struct
    method Error (line 86) | func (e *NoLocalTargetError) Error() string {
  function New (line 90) | func New(stateDir *string, df *distrofactory.Factory, log *log.Logger) *...
  function randomSHA1String (line 110) | func randomSHA1String() (string, error) {
  function NewSourceConfig (line 585) | func NewSourceConfig(repo rpmmd.RepoConfig, system bool) SourceConfig {

FILE: internal/store/store_test.go
  type storeTest (line 23) | type storeTest struct
    method SetupSuite (line 48) | func (suite *storeTest) SetupSuite() {
    method SetupTest (line 153) | func (suite *storeTest) SetupTest() {
    method TestRandomSHA1String (line 159) | func (suite *storeTest) TestRandomSHA1String() {
    method TestNewEmpty (line 166) | func (suite *storeTest) TestNewEmpty() {
    method TestPushBlueprint (line 177) | func (suite *storeTest) TestPushBlueprint() {
    method TestListBlueprints (line 186) | func (suite *storeTest) TestListBlueprints() {
    method TestPushBlueprintToWorkspace (line 192) | func (suite *storeTest) TestPushBlueprintToWorkspace() {
    method TestGetBlueprint (line 197) | func (suite *storeTest) TestGetBlueprint() {
    method TestGetBlueprintCommited (line 214) | func (suite *storeTest) TestGetBlueprintCommited() {
    method TestGetBlueprintChanges (line 224) | func (suite *storeTest) TestGetBlueprintChanges() {
    method TestGetBlueprintChange (line 230) | func (suite *storeTest) TestGetBlueprintChange() {
    method TestTagBlueprint (line 253) | func (suite *storeTest) TestTagBlueprint() {
    method TestDeleteBlueprint (line 300) | func (suite *storeTest) TestDeleteBlueprint() {
    method TestDeleteBlueprintFromWorkspace (line 308) | func (suite *storeTest) TestDeleteBlueprintFromWorkspace() {
    method TestPushCompose (line 316) | func (suite *storeTest) TestPushCompose() {
    method TestPushTestCompose (line 331) | func (suite *storeTest) TestPushTestCompose() {
    method TestGetAllComposes (line 352) | func (suite *storeTest) TestGetAllComposes() {
    method TestDeleteCompose (line 359) | func (suite *storeTest) TestDeleteCompose() {
    method TestDeleteSourceByName (line 370) | func (suite *storeTest) TestDeleteSourceByName() {
    method TestDeleteSourceByID (line 377) | func (suite *storeTest) TestDeleteSourceByID() {
    method TestPushSource (line 384) | func (suite *storeTest) TestPushSource() {
    method TestListSourcesByName (line 390) | func (suite *storeTest) TestListSourcesByName() {
    method TestListSourcesById (line 397) | func (suite *storeTest) TestListSourcesById() {
    method TestGetSource (line 404) | func (suite *storeTest) TestGetSource() {
    method TestGetAllSourcesByName (line 414) | func (suite *storeTest) TestGetAllSourcesByName() {
    method TestGetAllSourcesByID (line 422) | func (suite *storeTest) TestGetAllSourcesByID() {
    method TestNewSourceConfigWithBaseURL (line 430) | func (suite *storeTest) TestNewSourceConfigWithBaseURL() {
    method TestNewSourceConfigWithMetaLink (line 441) | func (suite *storeTest) TestNewSourceConfigWithMetaLink() {
    method TestNewSourceConfigWithMirrorList (line 452) | func (suite *storeTest) TestNewSourceConfigWithMirrorList() {
    method TestRepoConfigGPGKeys (line 463) | func (suite *storeTest) TestRepoConfigGPGKeys() {
    method TestRepoConfigBaseURL (line 474) | func (suite *storeTest) TestRepoConfigBaseURL() {
    method TestRepoConfigMetalink (line 482) | func (suite *storeTest) TestRepoConfigMetalink() {
    method TestRepoConfigMirrorlist (line 490) | func (suite *storeTest) TestRepoConfigMirrorlist() {
    method TestSourceConfigGPGKeysTrueFalse (line 499) | func (suite *storeTest) TestSourceConfigGPGKeysTrueFalse() {
  function TestStore (line 538) | func TestStore(t *testing.T) {

FILE: internal/target/aws_target.go
  constant TargetNameAWS (line 4) | TargetNameAWS   TargetName = "org.osbuild.aws"
  constant TargetNameAWSS3 (line 5) | TargetNameAWSS3 TargetName = "org.osbuild.aws.s3"
  type AWSTargetOptions (line 8) | type AWSTargetOptions struct
    method isTargetOptions (line 27) | func (AWSTargetOptions) isTargetOptions() {}
  function NewAWSTarget (line 29) | func NewAWSTarget(options *AWSTargetOptions) *Target {
  type AWSTargetResultOptions (line 33) | type AWSTargetResultOptions struct
    method isTargetResultOptions (line 38) | func (AWSTargetResultOptions) isTargetResultOptions() {}
  function NewAWSTargetResult (line 40) | func NewAWSTargetResult(options *AWSTargetResultOptions, artifact *Osbui...
  type AWSS3TargetOptions (line 44) | type AWSS3TargetOptions struct
    method isTargetOptions (line 57) | func (AWSS3TargetOptions) isTargetOptions() {}
  function NewAWSS3Target (line 59) | func NewAWSS3Target(options *AWSS3TargetOptions) *Target {
  type AWSS3TargetResultOptions (line 63) | type AWSS3TargetResultOptions struct
    method isTargetResultOptions (line 67) | func (AWSS3TargetResultOptions) isTargetResultOptions() {}
  function NewAWSS3TargetResult (line 69) | func NewAWSS3TargetResult(options *AWSS3TargetResultOptions, artifact *O...

FILE: internal/target/azure_image_target.go
  constant TargetNameAzureImage (line 3) | TargetNameAzureImage TargetName = "org.osbuild.azure.image"
  type HyperVGenerationType (line 5) | type HyperVGenerationType
  constant HyperVGenV1 (line 8) | HyperVGenV1 HyperVGenerationType = "V1"
  constant HyperVGenV2 (line 9) | HyperVGenV2 HyperVGenerationType = "V2"
  type AzureImageTargetOptions (line 12) | type AzureImageTargetOptions struct
    method isTargetOptions (line 20) | func (AzureImageTargetOptions) isTargetOptions() {}
  function NewAzureImageTarget (line 40) | func NewAzureImageTarget(options *AzureImageTargetOptions) *Target {
  type AzureImageTargetResultOptions (line 44) | type AzureImageTargetResultOptions struct
    method isTargetResultOptions (line 48) | func (AzureImageTargetResultOptions) isTargetResultOptions() {}
  function NewAzureImageTargetResult (line 50) | func NewAzureImageTargetResult(options *AzureImageTargetResultOptions, a...

FILE: internal/target/azure_target.go
  constant TargetNameAzure (line 3) | TargetNameAzure TargetName = "org.osbuild.azure"
  type AzureTargetOptions (line 5) | type AzureTargetOptions struct
    method isTargetOptions (line 11) | func (AzureTargetOptions) isTargetOptions() {}
  function NewAzureTarget (line 23) | func NewAzureTarget(options *AzureTargetOptions) *Target {
  function NewAzureTargetResult (line 27) | func NewAzureTargetResult(artifact *OsbuildArtifact) *TargetResult {

FILE: internal/target/container_target.go
  constant TargetNameContainer (line 3) | TargetNameContainer TargetName = "org.osbuild.container"
  type ContainerTargetOptions (line 5) | type ContainerTargetOptions struct
    method isTargetOptions (line 14) | func (ContainerTargetOptions) isTargetOptions() {}
  function NewContainerTarget (line 16) | func NewContainerTarget(options *ContainerTargetOptions) *Target {
  type ContainerTargetResultOptions (line 20) | type ContainerTargetResultOptions struct
    method isTargetResultOptions (line 25) | func (ContainerTargetResultOptions) isTargetResultOptions() {}
  function NewContainerTargetResult (line 27) | func NewContainerTargetResult(options *ContainerTargetResultOptions, art...

FILE: internal/target/gcp_target.go
  constant TargetNameGCP (line 5) | TargetNameGCP TargetName = "org.osbuild.gcp"
  type GCPTargetOptions (line 7) | type GCPTargetOptions struct
    method isTargetOptions (line 23) | func (GCPTargetOptions) isTargetOptions() {}
  function NewGCPTarget (line 25) | func NewGCPTarget(options *GCPTargetOptions) *Target {
  type GCPTargetResultOptions (line 29) | type GCPTargetResultOptions struct
    method isTargetResultOptions (line 34) | func (GCPTargetResultOptions) isTargetResultOptions() {}
  function NewGCPTargetResult (line 36) | func NewGCPTargetResult(options *GCPTargetResultOptions, artifact *Osbui...

FILE: internal/target/koji_target.go
  constant TargetNameKoji (line 8) | TargetNameKoji TargetName = "org.osbuild.koji"
  type KojiTargetOptions (line 10) | type KojiTargetOptions struct
    method isTargetOptions (line 15) | func (KojiTargetOptions) isTargetOptions() {}
  function NewKojiTarget (line 17) | func NewKojiTarget(options *KojiTargetOptions) *Target {
  type ChecksumType (line 22) | type ChecksumType
  constant ChecksumTypeMD5 (line 25) | ChecksumTypeMD5 ChecksumType = "md5"
  type KojiOutputInfo (line 38) | type KojiOutputInfo struct
  type OSBuildComposerDepModule (line 45) | type OSBuildComposerDepModule struct
  type ManifestInfo (line 53) | type ManifestInfo struct
  type KojiTargetResultOptions (line 60) | type KojiTargetResultOptions struct
    method UnmarshalJSON (line 68) | func (o *KojiTargetResultOptions) UnmarshalJSON(data []byte) error {
    method MarshalJSON (line 106) | func (o KojiTargetResultOptions) MarshalJSON() ([]byte, error) {
    method isTargetResultOptions (line 135) | func (KojiTargetResultOptions) isTargetResultOptions() {}
  function NewKojiTargetResult (line 137) | func NewKojiTargetResult(options *KojiTargetResultOptions, artifact *Osb...

FILE: internal/target/koji_target_test.go
  function TestKojiTargetResultOptionsUnmarshalJSON (line 12) | func TestKojiTargetResultOptionsUnmarshalJSON(t *testing.T) {
  function TestKojiTargetResultOptionsMarshalJSON (line 92) | func TestKojiTargetResultOptionsMarshalJSON(t *testing.T) {

FILE: internal/target/local_target.go
  constant TargetNameLocal (line 6) | TargetNameLocal TargetName = "org.osbuild.local"
  type LocalTargetOptions (line 12) | type LocalTargetOptions struct
    method isTargetOptions (line 19) | func (LocalTargetOptions) isTargetOptions() {}
  function NewLocalTarget (line 22) | func NewLocalTarget(options *LocalTargetOptions) *Target {

FILE: internal/target/oci_target.go
  constant TargetNameOCI (line 3) | TargetNameOCI TargetName = "org.osbuild.oci"
  type OCITargetOptions (line 5) | type OCITargetOptions struct
    method isTargetOptions (line 16) | func (OCITargetOptions) isTargetOptions() {}
  function NewOCITarget (line 18) | func NewOCITarget(options *OCITargetOptions) *Target {
  type OCITargetResultOptions (line 22) | type OCITargetResultOptions struct
    method isTargetResultOptions (line 27) | func (OCITargetResultOptions) isTargetResultOptions() {}
  function NewOCITargetResult (line 29) | func NewOCITargetResult(options *OCITargetResultOptions, artifact *Osbui...
  constant TargetNameOCIObjectStorage (line 33) | TargetNameOCIObjectStorage TargetName = "org.osbuild.oci.objectstorage"
  function NewOCIObjectStorageTarget (line 35) | func NewOCIObjectStorageTarget(options *OCIObjectStorageTargetOptions) *...
  type OCIObjectStorageTargetOptions (line 39) | type OCIObjectStorageTargetOptions struct
    method isTargetOptions (line 50) | func (OCIObjectStorageTargetOptions) isTargetOptions() {}
  type OCIObjectStorageTargetResultOptions (line 52) | type OCIObjectStorageTargetResultOptions struct
    method isTargetResultOptions (line 56) | func (OCIObjectStorageTargetResultOptions) isTargetResultOptions() {}
  function NewOCIObjectStorageTargetResult (line 58) | func NewOCIObjectStorageTargetResult(options *OCIObjectStorageTargetResu...

FILE: internal/target/target.go
  type TargetName (line 12) | type TargetName
  type OsbuildArtifact (line 16) | type OsbuildArtifact struct
  type Target (line 23) | type Target struct
    method UnmarshalJSON (line 62) | func (target *Target) UnmarshalJSON(data []byte) error {
    method MarshalJSON (line 134) | func (target Target) MarshalJSON() ([]byte, error) {
  function newTarget (line 37) | func newTarget(name TargetName, options TargetOptions) *Target {
  type TargetOptions (line 47) | type TargetOptions interface
  type rawTarget (line 51) | type rawTarget struct

FILE: internal/target/target_test.go
  function TestTargetOptionsFilenameCompatibilityUnmarshal (line 15) | func TestTargetOptionsFilenameCompatibilityUnmarshal(t *testing.T) {
  function TestTargetOptionsFilenameCompatibilityMarshal (line 209) | func TestTargetOptionsFilenameCompatibilityMarshal(t *testing.T) {

FILE: internal/target/targetresult.go
  type TargetResult (line 10) | type TargetResult struct
    method UnmarshalJSON (line 37) | func (targetResult *TargetResult) UnmarshalJSON(data []byte) error {
  function newTargetResult (line 18) | func newTargetResult(name TargetName, options TargetResultOptions, artif...
  type TargetResultOptions (line 26) | type TargetResultOptions interface
  type rawTargetResult (line 30) | type rawTargetResult struct
  function UnmarshalTargetResultOptions (line 60) | func UnmarshalTargetResultOptions(trName TargetName, rawOptions json.Raw...

FILE: internal/target/targetresult_test.go
  function TestTargetResultUnmarshal (line 16) | func TestTargetResultUnmarshal(t *testing.T) {

FILE: internal/target/vmware_target.go
  constant TargetNameVMWare (line 3) | TargetNameVMWare TargetName = "org.osbuild.vmware"
  type VMWareTargetOptions (line 5) | type VMWareTargetOptions struct
    method isTargetOptions (line 15) | func (VMWareTargetOptions) isTargetOptions() {}
  function NewVMWareTarget (line 17) | func NewVMWareTarget(options *VMWareTargetOptions) *Target {
  function NewVMWareTargetResult (line 21) | func NewVMWareTargetResult(artifact *OsbuildArtifact) *TargetResult {

FILE: internal/target/worker_server_target.go
  constant TargetNameWorkerServer (line 3) | TargetNameWorkerServer TargetName = "org.osbuild.worker.server"
  type WorkerServerTargetOptions (line 5) | type WorkerServerTargetOptions struct
    method isTargetOptions (line 7) | func (WorkerServerTargetOptions) isTargetOptions() {}
  function NewWorkerServerTarget (line 9) | func NewWorkerServerTarget() *Target {
  type WorkerServerTargetResultOptions (line 13) | type WorkerServerTargetResultOptions struct
    method isTargetResultOptions (line 17) | func (WorkerServerTargetResultOptions) isTargetResultOptions() {}
  function NewWorkerServerTargetResult (line 19) | func NewWorkerServerTargetResult(options *WorkerServerTargetResultOption...

FILE: internal/test/apicall.go
  type APICall (line 16) | type APICall struct
    method Do (line 48) | func (a APICall) Do(t *testing.T) APICallResult {
  type APICallResult (line 92) | type APICallResult struct

FILE: internal/test/helpers.go
  function externalRequest (line 27) | func externalRequest(method, path, body string) *http.Response {
  function internalRequest (line 53) | func internalRequest(api http.Handler, method, path, body string) *http....
  function SendHTTP (line 62) | func SendHTTP(api http.Handler, external bool, method, path, body string...
  function dropFields (line 74) | func dropFields(obj interface{}, fields ...string) {
  function TestRoute (line 95) | func TestRoute(t *testing.T, api http.Handler, external bool, method, pa...
  function TestRouteWithReply (line 101) | func TestRouteWithReply(t *testing.T, api http.Handler, external bool, m...
  function TestTOMLRoute (line 143) | func TestTOMLRoute(t *testing.T, api http.Handler, external bool, method...
  function TestNonJsonRoute (line 177) | func TestNonJsonRoute(t *testing.T, api http.Handler, external bool, met...
  function IgnoreDates (line 188) | func IgnoreDates() cmp.Option {
  function IgnoreUuids (line 192) | func IgnoreUuids() cmp.Option {
  function Ignore (line 196) | func Ignore(what string) cmp.Option {
  function CompareImageTypes (line 203) | func CompareImageTypes() cmp.Option {
  function SetUpTemporaryRepository (line 212) | func SetUpTemporaryRepository() (string, error) {
  function TearDownTemporaryRepository (line 233) | func TearDownTemporaryRepository(dir string) error {
  function GenerateCIArtifactName (line 240) | func GenerateCIArtifactName(prefix string) (string, error) {

FILE: internal/test/request.go
  type RequestBody (line 4) | type RequestBody interface
  type JSONRequestBody (line 15) | type JSONRequestBody
    method Body (line 17) | func (b JSONRequestBody) Body() []byte {
    method ContentType (line 21) | func (b JSONRequestBody) ContentType() string {

FILE: internal/test/validator.go
  type BodyValidator (line 11) | type BodyValidator interface
  type JSONValidator (line 17) | type JSONValidator struct
    method Validate (line 27) | func (b JSONValidator) Validate(body []byte) error {

FILE: internal/weldr/api.go
  type Solver (line 55) | type Solver interface
  type GetSolverFn (line 63) | type GetSolverFn
  type API (line 65) | type API struct
    method systemRepoNames (line 113) | func (api *API) systemRepoNames() (names []string) {
    method validDistros (line 125) | func (api *API) validDistros(arch string) []string {
    method Serve (line 295) | func (api *API) Serve(listener net.Listener) error {
    method Shutdown (line 309) | func (api *API) Shutdown(ctx context.Context) error {
    method ServeHTTP (line 313) | func (api *API) ServeHTTP(writer http.ResponseWriter, request *http.Re...
    method PreloadMetadata (line 325) | func (api *API) PreloadMetadata() {
    method getComposeStatus (line 383) | func (api *API) getComposeStatus(compose weldrtypes.Compose) (*compose...
    method openImageFile (line 429) | func (api *API) openImageFile(composeId uuid.UUID, compose weldrtypes....
    method isImageTypeAllowed (line 460) | func (api *API) isImageTypeAllowed(distroName, imageType string) (bool...
    method getImageType (line 488) | func (api *API) getImageType(distroName, imageType, archName string) (...
    method parseDistro (line 509) | func (api *API) parseDistro(query url.Values, arch string) (string, er...
    method getDistro (line 521) | func (api *API) getDistro(name, arch string) distro.Distro {
    method statusHandler (line 615) | func (api *API) statusHandler(writer http.ResponseWriter, request *htt...
    method sourceListHandler (line 638) | func (api *API) sourceListHandler(writer http.ResponseWriter, request ...
    method sourceEmptyInfoHandler (line 663) | func (api *API) sourceEmptyInfoHandler(writer http.ResponseWriter, req...
    method getSourceConfigs (line 678) | func (api *API) getSourceConfigs(params httprouter.Params) (map[string...
    method sourceInfoHandler (line 730) | func (api *API) sourceInfoHandler(writer http.ResponseWriter, request ...
    method sourceInfoHandlerV0 (line 748) | func (api *API) sourceInfoHandlerV0(writer http.ResponseWriter, reques...
    method sourceInfoHandlerV1 (line 789) | func (api *API) sourceInfoHandlerV1(writer http.ResponseWriter, reques...
    method sourceNewHandler (line 905) | func (api *API) sourceNewHandler(writer http.ResponseWriter, request *...
    method sourceDeleteHandler (line 990) | func (api *API) sourceDeleteHandler(writer http.ResponseWriter, reques...
    method modulesListHandler (line 1040) | func (api *API) modulesListHandler(writer http.ResponseWriter, request...
    method projectsListHandler (line 1136) | func (api *API) projectsListHandler(writer http.ResponseWriter, reques...
    method modulesInfoHandler (line 1205) | func (api *API) modulesInfoHandler(writer http.ResponseWriter, request...
    method projectsDepsolveHandler (line 1332) | func (api *API) projectsDepsolveHandler(writer http.ResponseWriter, re...
    method blueprintsListHandler (line 1411) | func (api *API) blueprintsListHandler(writer http.ResponseWriter, requ...
    method blueprintsInfoHandler (line 1447) | func (api *API) blueprintsInfoHandler(writer http.ResponseWriter, requ...
    method blueprintsDepsolveHandler (line 1545) | func (api *API) blueprintsDepsolveHandler(writer http.ResponseWriter, ...
    method blueprintsFreezeHandler (line 1659) | func (api *API) blueprintsFreezeHandler(writer http.ResponseWriter, re...
    method blueprintsDiffHandler (line 1778) | func (api *API) blueprintsDiffHandler(writer http.ResponseWriter, requ...
    method blueprintsChangeHandler (line 1882) | func (api *API) blueprintsChangeHandler(writer http.ResponseWriter, re...
    method blueprintsChangesHandler (line 1945) | func (api *API) blueprintsChangesHandler(writer http.ResponseWriter, r...
    method blueprintsNewHandler (line 2025) | func (api *API) blueprintsNewHandler(writer http.ResponseWriter, reque...
    method blueprintsWorkspaceHandler (line 2120) | func (api *API) blueprintsWorkspaceHandler(writer http.ResponseWriter,...
    method blueprintUndoHandler (line 2180) | func (api *API) blueprintUndoHandler(writer http.ResponseWriter, reque...
    method blueprintDeleteHandler (line 2228) | func (api *API) blueprintDeleteHandler(writer http.ResponseWriter, req...
    method blueprintDeleteWorkspaceHandler (line 2249) | func (api *API) blueprintDeleteWorkspaceHandler(writer http.ResponseWr...
    method blueprintsTagHandler (line 2271) | func (api *API) blueprintsTagHandler(writer http.ResponseWriter, reque...
    method depsolve (line 2300) | func (api *API) depsolve(packageSets map[string][]rpmmd.PackageSet, di...
    method resolveContainers (line 2323) | func (api *API) resolveContainers(sourceSpecs map[string][]container.S...
    method resolveOSTreeCommits (line 2378) | func (api *API) resolveOSTreeCommits(sourceSpecs map[string][]ostree.S...
    method composeHandler (line 2406) | func (api *API) composeHandler(writer http.ResponseWriter, request *ht...
    method composeDeleteHandler (line 2696) | func (api *API) composeDeleteHandler(writer http.ResponseWriter, reque...
    method composeCancelHandler (line 2781) | func (api *API) composeCancelHandler(writer http.ResponseWriter, reque...
    method composeTypesHandler (line 2839) | func (api *API) composeTypesHandler(writer http.ResponseWriter, reques...
    method composeQueueHandler (line 2911) | func (api *API) composeQueueHandler(writer http.ResponseWriter, reques...
    method composeStatusHandler (line 2942) | func (api *API) composeStatusHandler(writer http.ResponseWriter, reque...
    method composeInfoHandler (line 3035) | func (api *API) composeInfoHandler(writer http.ResponseWriter, request...
    method composeImageHandler (line 3110) | func (api *API) composeImageHandler(writer http.ResponseWriter, reques...
    method composeMetadataHandler (line 3176) | func (api *API) composeMetadataHandler(writer http.ResponseWriter, req...
    method composeResultsHandler (line 3245) | func (api *API) composeResultsHandler(writer http.ResponseWriter, requ...
    method composeLogsHandler (line 3344) | func (api *API) composeLogsHandler(writer http.ResponseWriter, request...
    method composeLogHandler (line 3415) | func (api *API) composeLogHandler(writer http.ResponseWriter, request ...
    method composeFinishedHandler (line 3469) | func (api *API) composeFinishedHandler(writer http.ResponseWriter, req...
    method composeFailedHandler (line 3496) | func (api *API) composeFailedHandler(writer http.ResponseWriter, reque...
    method fetchPackageList (line 3524) | func (api *API) fetchPackageList(distroName, arch string, names []stri...
    method payloadRepositories (line 3552) | func (api *API) payloadRepositories(distroName string) []rpmmd.RepoCon...
    method allRepositoriesByImageType (line 3571) | func (api *API) allRepositoriesByImageType(distroName string, imageTyp...
    method allRepositories (line 3588) | func (api *API) allRepositories(distroName, arch string) ([]rpmmd.Repo...
    method depsolveBlueprint (line 3600) | func (api *API) depsolveBlueprint(bp blueprint.Blueprint) ([]weldrtype...
    method uploadsScheduleHandler (line 3633) | func (api *API) uploadsScheduleHandler(writer http.ResponseWriter, req...
    method uploadsDeleteHandler (line 3642) | func (api *API) uploadsDeleteHandler(writer http.ResponseWriter, reque...
    method uploadsInfoHandler (line 3651) | func (api *API) uploadsInfoHandler(writer http.ResponseWriter, request...
    method uploadsLogHandler (line 3660) | func (api *API) uploadsLogHandler(writer http.ResponseWriter, request ...
    method uploadsResetHandler (line 3669) | func (api *API) uploadsResetHandler(writer http.ResponseWriter, reques...
    method uploadsCancelHandler (line 3678) | func (api *API) uploadsCancelHandler(writer http.ResponseWriter, reque...
    method providersHandler (line 3687) | func (api *API) providersHandler(writer http.ResponseWriter, request *...
    method providersSaveHandler (line 3696) | func (api *API) providersSaveHandler(writer http.ResponseWriter, reque...
    method providersDeleteHandler (line 3705) | func (api *API) providersDeleteHandler(writer http.ResponseWriter, req...
    method distrosListHandler (line 3714) | func (api *API) distrosListHandler(writer http.ResponseWriter, request...
  type ComposeState (line 86) | type ComposeState
    method ToString (line 96) | func (cs ComposeState) ToString() string {
  constant ComposeWaiting (line 89) | ComposeWaiting ComposeState = iota
  constant ComposeRunning (line 90) | ComposeRunning
  constant ComposeFinished (line 91) | ComposeFinished
  constant ComposeFailed (line 92) | ComposeFailed
  function NewTestAPI (line 153) | func NewTestAPI(getSolver GetSolverFn, rr *reporegistry.RepoRegistry, lo...
  function New (line 171) | func New(rr *reporegistry.RepoRegistry, stateDir string, solver *depsolv...
  function setupRouter (line 223) | func setupRouter(api *API) *API {
  type composeStatus (line 352) | type composeStatus struct
  function composeStateFromJobStatus (line 360) | func composeStateFromJobStatus(js *worker.JobStatus, result *worker.OSBu...
  function verifyRequestVersion (line 528) | func verifyRequestVersion(writer http.ResponseWriter, params httprouter....
  function isRequestVersionAtLeast (line 543) | func isRequestVersionAtLeast(params httprouter.Params, minVersion uint) ...
  function methodNotAllowedHandler (line 553) | func methodNotAllowedHandler(writer http.ResponseWriter, request *http.R...
  function notFoundHandler (line 557) | func notFoundHandler(writer http.ResponseWriter, request *http.Request) {
  function notImplementedHandler (line 566) | func notImplementedHandler(writer http.ResponseWriter, httpRequest *http...
  function statusResponseOK (line 570) | func statusResponseOK(writer http.ResponseWriter) {
  type responseError (line 580) | type responseError struct
  function verifyStringsWithRegex (line 589) | func verifyStringsWithRegex(writer http.ResponseWriter, strings []string...
  function statusResponseError (line 604) | func statusResponseError(writer http.ResponseWriter, code int, errors .....
  function DecodeSourceConfigV0 (line 830) | func DecodeSourceConfigV0(body io.Reader, contentType string) (source So...
  function DecodeSourceConfigV1 (line 863) | func DecodeSourceConfigV1(body io.Reader, contentType string) (source So...
  function expandBlueprintGlobs (line 1612) | func expandBlueprintGlobs(dependencies []weldrtypes.DepsolvedPackageInfo...

FILE: internal/weldr/api_test.go
  function createTestWeldrAPI (line 47) | func createTestWeldrAPI(tempdir, hostDistroName, hostArchName string, ge...
  function getMockDepsolveDNFSolverFn (line 120) | func getMockDepsolveDNFSolverFn(m *depsolvednf_mock.MockDepsolveDNF) Get...
  function getBaseMockDepsolveDNFSolverFn (line 128) | func getBaseMockDepsolveDNFSolverFn(deosolveRepoID string) GetSolverFn {
  function ResolveContent (line 142) | func ResolveContent(pkgs map[string][]rpmmd.PackageSet, containers map[s...
  function TestBasic (line 179) | func TestBasic(t *testing.T) {
  function TestBlueprintsNew (line 212) | func TestBlueprintsNew(t *testing.T) {
  function TestBlueprintsNewToml (line 238) | func TestBlueprintsNewToml(t *testing.T) {
  function TestBlueprintsEmptyToml (line 260) | func TestBlueprintsEmptyToml(t *testing.T) {
  function TestBlueprintsInvalidToml (line 273) | func TestBlueprintsInvalidToml(t *testing.T) {
  function TestBlueprintsWorkspaceJSON (line 295) | func TestBlueprintsWorkspaceJSON(t *testing.T) {
  function TestBlueprintsWorkspaceTOML (line 316) | func TestBlueprintsWorkspaceTOML(t *testing.T) {
  function TestBlueprintsWorkspaceEmptyTOML (line 338) | func TestBlueprintsWorkspaceEmptyTOML(t *testing.T) {
  function TestBlueprintsWorkspaceInvalidTOML (line 351) | func TestBlueprintsWorkspaceInvalidTOML(t *testing.T) {
  function TestBlueprintsInfo (line 373) | func TestBlueprintsInfo(t *testing.T) {
  function TestBlueprintsInfoToml (line 401) | func TestBlueprintsInfoToml(t *testing.T) {
  function TestBlueprintsCustomizationInfoToml (line 434) | func TestBlueprintsCustomizationInfoToml(t *testing.T) {
  function TestNonExistentBlueprintsInfoToml (line 711) | func TestNonExistentBlueprintsInfoToml(t *testing.T) {
  function TestBlueprintsFreeze (line 722) | func TestBlueprintsFreeze(t *testing.T) {
  function TestBlueprintsDiff (line 787) | func TestBlueprintsDiff(t *testing.T) {
  function TestBlueprintsDelete (line 809) | func TestBlueprintsDelete(t *testing.T) {
  function TestBlueprintsChanges (line 831) | func TestBlueprintsChanges(t *testing.T) {
  function TestBlueprintChange (line 858) | func TestBlueprintChange(t *testing.T) {
  function TestBlueprintsDepsolve (line 895) | func TestBlueprintsDepsolve(t *testing.T) {
  function TestOldBlueprintsUndo (line 939) | func TestOldBlueprintsUndo(t *testing.T) {
  function TestNewBlueprintsUndo (line 975) | func TestNewBlueprintsUndo(t *testing.T) {
  function TestCompose (line 1014) | func TestCompose(t *testing.T) {
  function TestComposeDelete (line 1482) | func TestComposeDelete(t *testing.T) {
  function TestComposeStatus (line 1517) | func TestComposeStatus(t *testing.T) {
  function TestComposeInfo (line 1548) | func TestComposeInfo(t *testing.T) {
  function TestComposeLogs (line 1575) | func TestComposeLogs(t *testing.T) {
  function TestComposeLog (line 1643) | func TestComposeLog(t *testing.T) {
  function TestComposeQueue (line 1671) | func TestComposeQueue(t *testing.T) {
  function TestComposeFinished (line 1699) | func TestComposeFinished(t *testing.T) {
  function TestComposeFailed (line 1726) | func TestComposeFailed(t *testing.T) {
  function TestSourcesNew (line 1753) | func TestSourcesNew(t *testing.T) {
  function TestSourcesNewTomlV0 (line 1784) | func TestSourcesNewTomlV0(t *testing.T) {
  function TestSourcesNewWrongTomlV0 (line 1817) | func TestSourcesNewWrongTomlV0(t *testing.T) {
  function TestSourcesNewTomlV1 (line 1841) | func TestSourcesNewTomlV1(t *testing.T) {
  function TestSourcesInfoTomlV1 (line 1920) | func TestSourcesInfoTomlV1(t *testing.T) {
  function TestSourcesInfoGPGKeysV1 (line 1945) | func TestSourcesInfoGPGKeysV1(t *testing.T) {
  function TestSourcesNewWrongTomlV1 (line 1956) | func TestSourcesNewWrongTomlV1(t *testing.T) {
  function TestSourcesInfo (line 1991) | func TestSourcesInfo(t *testing.T) {
  function TestSourcesInfoToml (line 2002) | func TestSourcesInfoToml(t *testing.T) {
  function TestSourcesDelete (line 2029) | func TestSourcesDelete(t *testing.T) {
  function TestProjectsDepsolve (line 2052) | func TestProjectsDepsolve(t *testing.T) {
  function TestProjectsInfo (line 2110) | func TestProjectsInfo(t *testing.T) {
  function TestModulesInfo (line 2187) | func TestModulesInfo(t *testing.T) {
  function TestProjectsList (line 2284) | func TestProjectsList(t *testing.T) {
  function TestModulesList (line 2347) | func TestModulesList(t *testing.T) {
  function TestComposeTypes_ImageTypeDenylist (line 2431) | func TestComposeTypes_ImageTypeDenylist(t *testing.T) {
  function TestComposePOST_ImageTypeDenylist (line 2510) | func TestComposePOST_ImageTypeDenylist(t *testing.T) {
  function TestExpandBlueprintNoGlob (line 2734) | func TestExpandBlueprintNoGlob(t *testing.T) {
  function TestExpandBlueprintError (line 2775) | func TestExpandBlueprintError(t *testing.T) {
  function TestExpandBlueprintGlobs (line 2802) | func TestExpandBlueprintGlobs(t *testing.T) {
  function TestMain (line 2869) | func TestMain(m *testing.M) {

FILE: internal/weldr/compose.go
  type ComposeEntry (line 12) | type ComposeEntry struct
  function composeToComposeEntry (line 25) | func composeToComposeEntry(id uuid.UUID, compose weldrtypes.Compose, sta...
  function sortComposeEntries (line 66) | func sortComposeEntries(entries []*ComposeEntry) {

FILE: internal/weldr/compose_test.go
  function TestComposeStatusFromLegacyError (line 19) | func TestComposeStatusFromLegacyError(t *testing.T) {
  function TestComposeStatusFromJobError (line 75) | func TestComposeStatusFromJobError(t *testing.T) {

FILE: internal/weldr/json.go
  type StatusV0 (line 16) | type StatusV0 struct
  type BlueprintsListV0 (line 27) | type BlueprintsListV0 struct
  type ResponseError (line 35) | type ResponseError struct
  type BlueprintsInfoV0 (line 42) | type BlueprintsInfoV0 struct
  type infoChange (line 47) | type infoChange struct
  type BlueprintsChangesV0 (line 53) | type BlueprintsChangesV0 struct
  type BlueprintsChangesV0Weldr (line 61) | type BlueprintsChangesV0Weldr struct
  type bpChange (line 64) | type bpChange struct
  type BlueprintsDepsolveV0 (line 71) | type BlueprintsDepsolveV0 struct
  type depsolveEntry (line 75) | type depsolveEntry struct
  type BlueprintsFreezeV0 (line 81) | type BlueprintsFreezeV0 struct
  type blueprintFrozen (line 85) | type blueprintFrozen struct
  type SourceListV0 (line 90) | type SourceListV0 struct
  type SourceListV1 (line 95) | type SourceListV1 struct
  type SourceInfoV0 (line 100) | type SourceInfoV0 struct
    method SourceConfig (line 106) | func (s *SourceInfoV0) SourceConfig(sourceName string) (ssc store.Sour...
  type SourceConfig (line 116) | type SourceConfig interface
  function NewSourceConfigV0 (line 125) | func NewSourceConfigV0(s store.SourceConfig) SourceConfigV0 {
  type SourceConfigV0 (line 139) | type SourceConfigV0 struct
    method GetKey (line 152) | func (s SourceConfigV0) GetKey() string {
    method GetName (line 157) | func (s SourceConfigV0) GetName() string {
    method GetType (line 162) | func (s SourceConfigV0) GetType() string {
    method SourceConfig (line 168) | func (s SourceConfigV0) SourceConfig() (ssc store.SourceConfig) {
  type SourceInfoResponseV0 (line 179) | type SourceInfoResponseV0 struct
  function NewSourceConfigV1 (line 186) | func NewSourceConfigV1(id string, s store.SourceConfig) SourceConfigV1 {
  type SourceConfigV1 (line 205) | type SourceConfigV1 struct
    method GetKey (line 222) | func (s SourceConfigV1) GetKey() string {
    method GetName (line 227) | func (s SourceConfigV1) GetName() string {
    method GetType (line 232) | func (s SourceConfigV1) GetType() string {
    method SourceConfig (line 238) | func (s SourceConfigV1) SourceConfig() (ssc store.SourceConfig) {
  type SourceInfoResponseV1 (line 253) | type SourceInfoResponseV1 struct
  type PackageSource (line 258) | type PackageSource struct
  type PackageBuild (line 265) | type PackageBuild struct
  type PackageInfo (line 277) | type PackageInfo struct
  function RPMMDPackageToPackageBuild (line 287) | func RPMMDPackageToPackageBuild(pkg rpmmd.Package) PackageBuild {
  function RPMMDPackageToPackageInfo (line 305) | func RPMMDPackageToPackageInfo(pkg rpmmd.Package) PackageInfo {
  function RPMMDPackageListToPackageInfos (line 317) | func RPMMDPackageListToPackageInfos(packages rpmmd.PackageList) []Packag...
  type ProjectsListV0 (line 340) | type ProjectsListV0 struct
  type ProjectsInfoV0 (line 348) | type ProjectsInfoV0 struct
  type ProjectsDependenciesV0 (line 353) | type ProjectsDependenciesV0 struct
  type ModuleName (line 357) | type ModuleName struct
  type ModulesListV0 (line 362) | type ModulesListV0 struct
  type ModulesInfoV0 (line 370) | type ModulesInfoV0 struct
  type ComposeRequestV0 (line 374) | type ComposeRequestV0 struct
  type ComposeResponseV0 (line 379) | type ComposeRes
Copy disabled (too large) Download .json
Condensed preview — 10259 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (112,213K chars).
[
  {
    "path": ".devcontainer/Dockerfile",
    "chars": 945,
    "preview": "FROM fedora:36\n\n# Install:\n#  - a few packages for convenient usage\n#  - RPM tooling\n#  - the go compiler\n#  - weldr-cli"
  },
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 329,
    "preview": "{\n  \"name\": \"composer\",\n  \"build\": {\n    \"dockerfile\": \"Dockerfile\",\n    \"context\": \"..\"\n  },\n  \"mounts\": [\n    \"source="
  },
  {
    "path": ".fmf/version",
    "chars": 2,
    "preview": "1\n"
  },
  {
    "path": ".gitattributes",
    "chars": 147,
    "preview": "# Collapse by default on GitHub (linguist-generated)\ngo.sum linguist-generated\n\n*.gen.go linguist-generated\n\nvendor/modu"
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 413,
    "preview": "# These owners will be the default owners for everything in\n# the repo. Unless a later match takes precedence.\n*        "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 664,
    "preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the b"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 252,
    "preview": "---\nversion: 2\nupdates:\n\n  # Maintain dependencies for GitHub Actions\n  - package-ecosystem: \"github-actions\"\n    direct"
  },
  {
    "path": ".github/renovate.json",
    "chars": 204,
    "preview": "{\n  \"extends\": [\n    \"github>konflux-ci/mintmaker//config/renovate/renovate.json\",\n    \"schedule:earlyMondays\",\n    \"doc"
  },
  {
    "path": ".github/workflows/coverity_scan.yml",
    "chars": 1627,
    "preview": "name: Coverity Scan\n\non:\n  # https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#sched"
  },
  {
    "path": ".github/workflows/create-tag.yml",
    "chars": 964,
    "preview": "# This action creates a release every second Wednesday\nname: \"Create and push release tag\"\n\non:\n  workflow_dispatch:\n   "
  },
  {
    "path": ".github/workflows/gobump.yml",
    "chars": 1213,
    "preview": "---\nname: \"Updates Go dependencies via gobump\"\n\non:  # yamllint disable-line rule:truthy\n  workflow_dispatch:\n  schedule"
  },
  {
    "path": ".github/workflows/pr_best_practices.yml",
    "chars": 459,
    "preview": "name: \"Verify PR best practices\"\n\non:\n  pull_request_target:\n    branches: [main]\n    types: [opened, synchronize, reope"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 332,
    "preview": "name: \"Create GitHub release\"\n\non:\n  push:\n    tags:\n      - \"v*\"\n\njobs:\n  release:\n    runs-on: ubuntu-22.04\n    steps:"
  },
  {
    "path": ".github/workflows/stale-cleanup.yml",
    "chars": 372,
    "preview": "name: Mark and close stale issues and PRs\n\non:\n  schedule:\n    - cron: '0 4 * * *'\n\njobs:\n  stale:\n    runs-on: ubuntu-2"
  },
  {
    "path": ".github/workflows/tests.yml",
    "chars": 9241,
    "preview": "name: Tests\n\n# NOTE(mhayden): Restricting branches prevents jobs from being doubled since\n# a push to a pull request tri"
  },
  {
    "path": ".github/workflows/trigger-gitlab.yml",
    "chars": 4614,
    "preview": "# inspired by rhinstaller/anaconda\n\nname: Trigger GitLab CI\n\non:\n  workflow_run:\n    workflows: [\"Tests\"]\n    types: [co"
  },
  {
    "path": ".github/workflows/update-osbuild.yml",
    "chars": 1924,
    "preview": "# This action updates the osbuild ref in the Schutzfile\n---\nname: \"Update osbuild commit ID\"\n\non:  # yamllint disable-li"
  },
  {
    "path": ".gitignore",
    "chars": 317,
    "preview": "__pycache__\n\n.vscode\n.DS_Store\n/.idea\n\n/containers/config/\n/bin\n/rpmbuild\n/osbuild-composer\n/osbuild-worker\n\n/tools/apps"
  },
  {
    "path": ".gitlab-ci.yml",
    "chars": 26861,
    "preview": "stages:\n  - init\n  - rpmbuild\n  - prepare-rhel-internal\n  - test\n  - finish\n\n.base:\n  before_script:\n    - mkdir -p /tmp"
  },
  {
    "path": ".gitleaks.toml",
    "chars": 629,
    "preview": "[allowlist]\n  description = \"Test keys and passwords that should not be reported as leaks\"\n  regexes = [\n      '''\\$6\\$B"
  },
  {
    "path": ".golangci.yml",
    "chars": 1931,
    "preview": "version: \"2\"\nrun:\n  build-tags:\n    - integration\n  timeout: 5m\n\nlinters:\n  enable:\n    - gomoddirectives\n    - gosec\n  "
  },
  {
    "path": ".packit.yaml",
    "chars": 1535,
    "preview": "# https://packit.dev/docs/configuration/\n\nspecfile_path: osbuild-composer.spec\n\nfiles_to_sync:\n    - osbuild-composer.sp"
  },
  {
    "path": ".pylintrc",
    "chars": 143,
    "preview": "[FORMAT]\nmax-line-length=120\n\n[MESSAGES CONTROL]\ndisable=missing-module-docstring,\n    missing-class-docstring,\n    miss"
  },
  {
    "path": ".tekton/osbuild-composer-maintenance-pull-request.yaml",
    "chars": 20279,
    "preview": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    build.appstudio.openshift.io/repo: https://gith"
  },
  {
    "path": ".tekton/osbuild-composer-maintenance-push.yaml",
    "chars": 20136,
    "preview": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    build.appstudio.openshift.io/repo: https://gith"
  },
  {
    "path": ".tekton/osbuild-composer-pull-request.yaml",
    "chars": 20238,
    "preview": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    build.appstudio.openshift.io/repo: https://gith"
  },
  {
    "path": ".tekton/osbuild-composer-push.yaml",
    "chars": 19737,
    "preview": "apiVersion: tekton.dev/v1\nkind: PipelineRun\nmetadata:\n  annotations:\n    build.appstudio.openshift.io/repo: https://gith"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 2969,
    "preview": "# Contributing to osbuild-composer\n\nFirst of all, thank you for taking the time to contribute to osbuild-composer.\nIn th"
  },
  {
    "path": "Containerfile_golangci_lint",
    "chars": 177,
    "preview": "ARG GOLANGCI_LINT_VERSION\nFROM docker.io/golangci/golangci-lint:${GOLANGCI_LINT_VERSION}\n\nCOPY tools/apt-install-deps.sh"
  },
  {
    "path": "DEPLOYING.md",
    "chars": 1727,
    "preview": "# Deploying osbuild-composer\n\n*osbuild-composer* has currently has to be deployed in a virtual machine. The\n[tools](./to"
  },
  {
    "path": "HACKING.md",
    "chars": 4040,
    "preview": "# Hacking on osbuild-composer\n\n## Virtual Machine\n\n*osbuild-composer* cannot be run from the source tree, but has to be "
  },
  {
    "path": "LICENSE",
    "chars": 11357,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "Makefile",
    "chars": 14029,
    "preview": "#\n# Maintenance Helpers\n#\n# This makefile contains targets used for development, as well as helpers to\n# aid automatizat"
  },
  {
    "path": "README.md",
    "chars": 4862,
    "preview": "OSBuild Composer\n================\n\nOperating System Image Composition Services\n\nThe composer project is a set of HTTP se"
  },
  {
    "path": "Schutzfile",
    "chars": 13046,
    "preview": "{\n  \"common\": {\n    \"dependencies\": {\n      \"image-builder\": {\n        \"copr-build\": \"image-builder-0:48-1.2026020516361"
  },
  {
    "path": "cmd/README",
    "chars": 782,
    "preview": "Binaries\n========\n\nosbuild-composer: The main binary, the service that maintains the queue and schedules all\njobs. This "
  },
  {
    "path": "cmd/osbuild-auth-tests/certificates.go",
    "chars": 4071,
    "preview": "//go:build integration\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path\"\n)\n\nconst (\n\topensslConfig    = \"/u"
  },
  {
    "path": "cmd/osbuild-auth-tests/main_test.go",
    "chars": 3341,
    "preview": "//go:build integration\n\npackage main\n\nimport (\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"net/http\"\n\t\"os\""
  },
  {
    "path": "cmd/osbuild-composer/composer.go",
    "chars": 12914,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"errors\"\n\t\"fmt\"\n\t\"log\"\n\t\"net\"\n\t\"net/http\"\n\t\"os\"\n\t\"os/sig"
  },
  {
    "path": "cmd/osbuild-composer/config.go",
    "chars": 7822,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"reflect\"\n\t\"strconv\"\n\t\"strings\"\n\n\t\"github.com/BurntSushi/toml\"\n)\n\ntype Compos"
  },
  {
    "path": "cmd/osbuild-composer/config_test.go",
    "chars": 5769,
    "preview": "package main\n\nimport (\n\t\"bytes\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n)\n\nfunc T"
  },
  {
    "path": "cmd/osbuild-composer/main.go",
    "chars": 5823,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"flag\"\n\t\"io\"\n\t\"log\"\n\t\"os\"\n\n\t\"github.com/coreos/go-systemd/v22/activation\"\n\t\"github.co"
  },
  {
    "path": "cmd/osbuild-composer/testdata/empty-config.toml",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "cmd/osbuild-composer/testdata/test.toml",
    "chars": 675,
    "preview": "[koji]\nallowed_domains = [ \"osbuild.org\" ]\nca = \"/etc/osbuild-composer/ca-crt.pem\"\nenable_jwt = false\njwt_keys_urls = [\""
  },
  {
    "path": "cmd/osbuild-composer-cli-tests/main_test.go",
    "chars": 15534,
    "preview": "//go:build integration\n\npackage main\n\nimport (\n\t\"bytes\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\""
  },
  {
    "path": "cmd/osbuild-composer-dbjobqueue-tests/main_test.go",
    "chars": 3883,
    "preview": "//go:build integration\n\npackage main\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"os/exec\"\n\t\"strings\"\n\t\"testing\""
  },
  {
    "path": "cmd/osbuild-koji-tests/main_test.go",
    "chars": 5866,
    "preview": "// This command contains some tests for the koji integration. It's a bit\n// different from the other cmd/*-tests executa"
  },
  {
    "path": "cmd/osbuild-mock-openid-provider/main.go",
    "chars": 3820,
    "preview": "package main\n\nimport (\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"flag\"\n\t\"log\"\n\t\"math/big\"\n\t\"net/http\"\n\t\"os\"\n\t\"strings\"\n\t\"tim"
  },
  {
    "path": "cmd/osbuild-service-maintenance/aws.go",
    "chars": 8662,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"errors\"\n\t\"fmt\"\n\t\"log\"\n\t\"slices\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\""
  },
  {
    "path": "cmd/osbuild-service-maintenance/aws_test.go",
    "chars": 4444,
    "preview": "package main_test\n\nimport (\n\t\"testing\"\n\t\"time\"\n\n\tec2types \"github.com/aws/aws-sdk-go-v2/service/ec2/types\"\n\t\"github.com/"
  },
  {
    "path": "cmd/osbuild-service-maintenance/config.go",
    "chars": 3076,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"reflect\"\n\t\"strconv\"\n)\n\n// Do not write this config to logs or stdout, it contains "
  },
  {
    "path": "cmd/osbuild-service-maintenance/db.go",
    "chars": 4016,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n\n\t\"github.com/jackc/pgx/v5\"\n)\n\nconst (\n\tsqlDeleteJobs = `\n      "
  },
  {
    "path": "cmd/osbuild-service-maintenance/db_test.go",
    "chars": 2252,
    "preview": "//go:build integration\n\npackage main\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"github.com/osbuild/osbuild-composer/interna"
  },
  {
    "path": "cmd/osbuild-service-maintenance/export_test.go",
    "chars": 124,
    "preview": "package main\n\nvar FilterOnTooOld = filterOnTooOld\nvar CheckValidParent = checkValidParent\nvar AllTerminated = allTermina"
  },
  {
    "path": "cmd/osbuild-service-maintenance/gcp.go",
    "chars": 1726,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"log\"\n\t\"sync\"\n\t\"time\"\n\n\tcompute \"cloud.google.com/go/compute/apiv1\"\n\t\"golang.o"
  },
  {
    "path": "cmd/osbuild-service-maintenance/main.go",
    "chars": 2159,
    "preview": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"log\"\n\t\"sync\"\n\t\"time\"\n)\n\nfunc main() {\n\t// 14 days\n\tcutoff := time.Now()"
  },
  {
    "path": "cmd/osbuild-store-dump/main.go",
    "chars": 5182,
    "preview": "// This fills and saves a store with more or less arbitrary data. It is meant to generate test stores as\n// test data fo"
  },
  {
    "path": "cmd/osbuild-worker/config.go",
    "chars": 4727,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/BurntSushi/toml\"\n\t\"github.com/osbuild/images/pkg/cloud/azure\"\n"
  },
  {
    "path": "cmd/osbuild-worker/config_test.go",
    "chars": 5164,
    "preview": "package main\n\nimport (\n\t\"os\"\n\t\"path\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n)\n\nfunc Test_parseConfig(t *test"
  },
  {
    "path": "cmd/osbuild-worker/export_test.go",
    "chars": 1110,
    "preview": "package main\n\nvar (\n\tWorkerClientErrorFrom         = workerClientErrorFrom\n\tMakeJobErrorFromOsbuildOutput = makeJobError"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-awsec2.go",
    "chars": 5204,
    "preview": "package main\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\n\tsmithy \"github.com/aws/smithy-go\"\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-bootc-info-resolve.go",
    "chars": 3869,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"os/exec\"\n\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/images/pkg/bootc\"\n\t\"github"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-bootc-info-resolve_test.go",
    "chars": 11910,
    "preview": "package main_test\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stret"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-container-resolve.go",
    "chars": 4308,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/images/pkg/container\"\n\t\"github.com/os"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-container-resolve_test.go",
    "chars": 10348,
    "preview": "package main_test\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stret"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-depsolve.go",
    "chars": 6575,
    "preview": "package main\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"net/url\"\n\t\"strings\"\n\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/image"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-depsolve_test.go",
    "chars": 2422,
    "preview": "package main_test\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\t\"github.com/sirupsen/logrus\"\n\t\"github.com/sirupsen/logrus/hooks/test\"\n\t\""
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-file-resolve.go",
    "chars": 2025,
    "preview": "package main\n\nimport (\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/osbuild-composer/internal/remotefile\"\n\t\"githu"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-image-builder-manifest.go",
    "chars": 3981,
    "preview": "package main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\n\t\"github.com/osbuild/osbuild-composer/internal/common\"\n"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-image-builder-manifest_test.go",
    "chars": 4600,
    "preview": "package main_test\n\nimport (\n\t\"testing\"\n\n\tmain \"github.com/osbuild/osbuild-composer/cmd/osbuild-worker\"\n\t\"github.com/osbu"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-koji-finalize.go",
    "chars": 12882,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"math\"\n\t\"net/url\"\n\t\"time\"\n\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/images/pkg"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-koji-init.go",
    "chars": 1803,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/url\"\n\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/images/pkg/upload/koji\"\n\t\""
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-osbuild.go",
    "chars": 51411,
    "preview": "package main\n\nimport (\n\t\"bytes\"\n\t\"context\"\n\t\"crypto/rand\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/big\"\n\t\"net/url\"\n\t\"os\"\n\t"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-osbuild_test.go",
    "chars": 1958,
    "preview": "package main_test\n\nimport (\n\t\"encoding/json\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n\n\t\"github.com/osbuild/im"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-ostree-resolve.go",
    "chars": 3438,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/url\"\n\t\"strings\"\n\n\t\"github.com/sirupsen/logrus\"\n\n\t\"github.com/osbuild/images/pkg/ostr"
  },
  {
    "path": "cmd/osbuild-worker/jobimpl-search.go",
    "chars": 2290,
    "preview": "package main\n\nimport (\n\t\"github.com/osbuild/images/pkg/depsolvednf\"\n\t\"github.com/osbuild/images/pkg/rpmmd\"\n\t\"github.com/"
  },
  {
    "path": "cmd/osbuild-worker/main.go",
    "chars": 17848,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"crypto/tls\"\n\t\"crypto/x509\"\n\t\"errors\"\n\t\"flag\"\n\t\"fmt\"\n\t\"io\"\n\t\"log\"\n\t\"net/url\"\n\t\"os\"\n\t\""
  },
  {
    "path": "cmd/osbuild-worker/main_test.go",
    "chars": 1162,
    "preview": "package main_test\n\nimport (\n\t\"io\"\n\t\"testing\"\n\n\t\"github.com/sirupsen/logrus\"\n\tlogrusTest \"github.com/sirupsen/logrus/hook"
  },
  {
    "path": "cmd/osbuild-worker/mock_job_test.go",
    "chars": 2115,
    "preview": "package main_test\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"io\"\n\t\"testing\"\n\n\t\"github.com/google/uuid\"\n\t\"github.com/stretchr/te"
  },
  {
    "path": "cmd/osbuild-worker/rh-logrus-adapter.go",
    "chars": 1226,
    "preview": "package main\n\nimport (\n\t\"strings\"\n\n\trh \"github.com/hashicorp/go-retryablehttp\"\n\t\"github.com/sirupsen/logrus\"\n)\n\ntype Lev"
  },
  {
    "path": "cmd/osbuild-worker-executor/build_result.go",
    "chars": 722,
    "preview": "package main\n\nimport (\n\t\"os\"\n\t\"path/filepath\"\n)\n\ntype buildResult struct {\n\tresultGood string\n\tresultBad  string\n}\n\nfunc"
  },
  {
    "path": "cmd/osbuild-worker-executor/config.go",
    "chars": 580,
    "preview": "package main\n\nimport (\n\t\"flag\"\n)\n\ntype Config struct {\n\tHost string\n\tPort string\n\n\tBuildDirBase string\n}\n\nfunc newConfig"
  },
  {
    "path": "cmd/osbuild-worker-executor/export_test.go",
    "chars": 498,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n)\n\nvar (\n\tRun = run\n\n\tHandleIncludedSources = handleIncl"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_build.go",
    "chars": 9386,
    "preview": "package main\n\nimport (\n\t\"archive/tar\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepa"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_build_test.go",
    "chars": 11297,
    "preview": "package main_test\n\nimport (\n\t\"archive/tar\"\n\t\"bufio\"\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"os/exec\"\n\t\"path/filepath\"\n"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_log.go",
    "chars": 1424,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/sirupsen/logrus\"\n)\n\nfunc handleLog("
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_log_test.go",
    "chars": 1742,
    "preview": "package main_test\n\nimport (\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_result.go",
    "chars": 1143,
    "preview": "package main\n\nimport (\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"path/filepath\"\n\n\t\"github.com/sirupsen/logrus\"\n)\n\nfunc handleResult(logg"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_result_test.go",
    "chars": 1335,
    "preview": "package main_test\n\nimport (\n\t\"io\"\n\t\"net/http\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_root.go",
    "chars": 283,
    "preview": "package main\n\nimport (\n\t\"net/http\"\n\n\t\"github.com/sirupsen/logrus\"\n)\n\nfunc handleRoot(logger *logrus.Logger, _ *Config) h"
  },
  {
    "path": "cmd/osbuild-worker-executor/handler_root_test.go",
    "chars": 371,
    "preview": "package main_test\n\nimport (\n\t\"net/http\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestTrivialRootEndpoin"
  },
  {
    "path": "cmd/osbuild-worker-executor/main.go",
    "chars": 1939,
    "preview": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net\"\n\t\"net/http\"\n\t\"os\"\n\t\"os/signal\"\n\t\"sync\"\n\t\"time\"\n\n\t\"github.com/sirupsen/lo"
  },
  {
    "path": "cmd/osbuild-worker-executor/main_test.go",
    "chars": 2075,
    "preview": "package main_test\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"net\"\n\t\"net/http\"\n\t\"os\"\n\t\"strconv\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/sirup"
  },
  {
    "path": "cmd/osbuild-worker-executor/routes.go",
    "chars": 435,
    "preview": "package main\n\nimport (\n\t\"net/http\"\n\n\t\"github.com/sirupsen/logrus\"\n)\n\nfunc addRoutes(mux *http.ServeMux, logger *logrus.L"
  },
  {
    "path": "codecov.yml",
    "chars": 131,
    "preview": "coverage:\n  status:\n    patch: no\n    project:\n      default:\n        threshold: 5%\ncodecov:\n  require_ci_to_pass: no\nco"
  },
  {
    "path": "containers/fauxauth/fauxauth.py",
    "chars": 985,
    "preview": "#!/usr/bin/env python3\nimport argparse, subprocess\n\ndef launch_server(address, port, certdir):\n  cmd = [\n      \"/usr/lib"
  },
  {
    "path": "containers/osbuild-composer/entrypoint.py",
    "chars": 12581,
    "preview": "\"\"\"entrypoint - Containerized OSBuild Composer\n\nThis provides the entrypoint for a containerized osbuild-composer image."
  },
  {
    "path": "distribution/Dockerfile-config",
    "chars": 327,
    "preview": "FROM fedora:40\n\nRUN dnf -y install \\\n    openssl\n\nCOPY ./tools/gen-certs.sh .\nCOPY ./test/data/x509/openssl.cnf .\nCOPY ."
  },
  {
    "path": "distribution/Dockerfile-fauxauth",
    "chars": 748,
    "preview": "FROM registry.access.redhat.com/ubi9/go-toolset:latest AS builder\n# ubi9/go-toolset defaults to uid 1001. Let's copy the"
  },
  {
    "path": "distribution/Dockerfile-ubi",
    "chars": 2304,
    "preview": "FROM registry.access.redhat.com/ubi9/go-toolset:latest AS builder\n# We need to be root to install packages, but ubi9/go-"
  },
  {
    "path": "distribution/Dockerfile-ubi-maintenance",
    "chars": 710,
    "preview": "FROM registry.access.redhat.com/ubi9/go-toolset:latest AS builder\n# ubi9/go-toolset defaults to uid 1001. Let's copy the"
  },
  {
    "path": "distribution/Dockerfile-ubi-packer",
    "chars": 517,
    "preview": "FROM registry.access.redhat.com/ubi10/ubi-minimal:latest\n\nRUN curl --location --output /etc/yum.repos.d/hashicorp.repo h"
  },
  {
    "path": "distribution/Dockerfile-worker",
    "chars": 822,
    "preview": "FROM fedora:40 AS builder\nENV GOBIN=/opt/app-root/src/go/bin\n# extra packages are needed\n# to compile osbuild\nRUN dnf in"
  },
  {
    "path": "distribution/osbuild-composer-api.socket",
    "chars": 186,
    "preview": "[Unit]\nDescription=OSBuild Composer API socket\nRequires=osbuild-composer-prometheus.socket\n\n[Socket]\nService=osbuild-com"
  },
  {
    "path": "distribution/osbuild-composer-prometheus.socket",
    "chars": 150,
    "preview": "[Unit]\nDescription=OSBuild Composer prometheus socket\n\n[Socket]\nService=osbuild-composer.service\nListenStream=8008\n\n[Ins"
  },
  {
    "path": "distribution/osbuild-composer.conf",
    "chars": 78,
    "preview": "u   _osbuild-composer   -   \"OSBuild Composer user\"\ng   weldr               -\n"
  },
  {
    "path": "distribution/osbuild-composer.service",
    "chars": 660,
    "preview": "[Unit]\nDescription=OSBuild Composer\nAfter=network.target\n\n# Weldr API needs a local worker by default.\n# Run `systemctl "
  },
  {
    "path": "distribution/osbuild-composer.socket",
    "chars": 204,
    "preview": "[Unit]\nDescription=OSBuild Composer Weldr API socket\n\n[Socket]\nListenStream=/run/weldr/api.socket\nListenStream=/run/clou"
  },
  {
    "path": "distribution/osbuild-local-worker.socket",
    "chars": 175,
    "preview": "[Unit]\nDescription=OSBuild local worker API socket\n\n[Socket]\nService=osbuild-composer.service\nListenStream=/run/osbuild-"
  },
  {
    "path": "distribution/osbuild-remote-worker.socket",
    "chars": 148,
    "preview": "[Unit]\nDescription=OSBuild remote worker API socket\n\n[Socket]\nService=osbuild-composer.service\nListenStream=8700\n\n[Insta"
  },
  {
    "path": "distribution/osbuild-remote-worker@.service",
    "chars": 451,
    "preview": "[Unit]\nDescription=OSBuild Composer Remote Worker (%i)\nAfter=network.target\n\n[Service]\nType=simple\nPrivateTmp=true\nExecS"
  },
  {
    "path": "distribution/osbuild-worker@.service",
    "chars": 548,
    "preview": "[Unit]\nDescription=OSBuild Composer Worker (%i)\nRequires=osbuild-local-worker.socket\nAfter=network.target osbuild-local-"
  },
  {
    "path": "docker-compose.yml",
    "chars": 2032,
    "preview": "version: '2.4'\nservices:\n  devel:\n    image: local/osbuild-composer-devel\n    build:\n      context: .\n      dockerfile: "
  },
  {
    "path": "docs/errors.md",
    "chars": 800,
    "preview": "# Error Handling\n\n## When to Panic\n\nAlways use `panic` for errors that can only happen when other code in\n*osbuild-compo"
  },
  {
    "path": "docs/osbuild-composer.7.rst",
    "chars": 2185,
    "preview": "================\nosbuild-composer\n================\n\n------------------------\nOSBuild Composer Service\n------------------"
  },
  {
    "path": "go.mod",
    "chars": 12615,
    "preview": "module github.com/osbuild/osbuild-composer\n\ngo 1.24.12\n\nexclude github.com/mattn/go-sqlite3 v2.0.3+incompatible\n\nrequire"
  },
  {
    "path": "go.sum",
    "chars": 76440,
    "preview": "cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=\ncel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ"
  },
  {
    "path": "image-types/README.md",
    "chars": 347,
    "preview": "# OSBuild Composer Image Types\n\nThis directory contains high-level descriptions of all image types that\n*osbuild-compose"
  },
  {
    "path": "image-types/rhel8/README.md",
    "chars": 380,
    "preview": "# Red Hat Enterprise Linux 8\n\n*osbuild-composer* can create [Red Hat Enterprise Linux 8][rhel] images.\n\nA RHEL installat"
  },
  {
    "path": "image-types/rhel8/amazon-ec2.md",
    "chars": 1849,
    "preview": "# Amazon EC2 Image\n\nThis image is meant to be used in [Amazon Elastic Compute Cloud (EC2)][ec2], a\npopular cloud computi"
  },
  {
    "path": "image-types/rhel8/google-gce.md",
    "chars": 61242,
    "preview": "# Google Compute Engine (GCE) RHEL Guest Image\n\nThe GCE Image is meant to be run in the Google Compute Engine environmen"
  },
  {
    "path": "image-types/rhel8/kvm-guest-image.md",
    "chars": 1336,
    "preview": "# KVM Guest Image\n\nThis is an image meant to be used as a generic base image for KVM\nbased hypervisors. It is mainly use"
  },
  {
    "path": "image-types/rhel8/microsoft-azure.md",
    "chars": 458,
    "preview": "# Microsoft Azure Image\n\nThis image is meant to be used in [Microsoft Azure][azure], a popular cloud\ncomputing platform."
  },
  {
    "path": "image-types/rhel8/openstack.md",
    "chars": 777,
    "preview": "# OpenStack Image\n\nThis image is meant to be run in an OpenStack environment. It has to conform to\nOpenStack’s [image re"
  },
  {
    "path": "image-types/rhel8/oracle-oci.md",
    "chars": 701,
    "preview": "# Oracle's oci image\n\nThis image type is meant to be used on Oracle Cloud Infrasturcure. It is derived from the KVM gues"
  },
  {
    "path": "image-types/rhel8/vmware.md",
    "chars": 165,
    "preview": "# VMWare Image\n\nThis image is meant to be used in various VMWare environments, such as\n[vSphere][vsphere].\n\n\n[vsphere]: "
  },
  {
    "path": "internal/auth/jwt.go",
    "chars": 927,
    "preview": "package auth\n\nimport (\n\t\"context\"\n\t\"errors\"\n\n\t\"github.com/golang-jwt/jwt/v4\"\n\t\"github.com/openshift-online/ocm-sdk-go/au"
  },
  {
    "path": "internal/auth/jwt_auth_handler.go",
    "chars": 1670,
    "preview": "package auth\n\nimport (\n\t\"context\"\n\t\"crypto/x509\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"os\"\n\n\t\"github.com/openshift-online/ocm-sdk-go/auth"
  },
  {
    "path": "internal/auth/jwt_test.go",
    "chars": 2000,
    "preview": "package auth_test\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"github.com/golang-jwt/jwt/v4\"\n\t\"github.com/openshift-online/ocm-sdk"
  },
  {
    "path": "internal/auth/middleware.go",
    "chars": 744,
    "preview": "package auth\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\n\t\"github.com/labstack/echo/v4\"\n)\n\nconst TenantCtxKey string = \"tenant\"\n\nfunc Te"
  },
  {
    "path": "internal/client/blueprints.go",
    "chars": 6428,
    "preview": "// Package client - blueprints contains functions for the blueprint API\n// Copyright (C) 2020 by Red Hat, Inc.\npackage c"
  },
  {
    "path": "internal/client/blueprints_non_el10_test.go",
    "chars": 1946,
    "preview": "//go:build !rhel10\n\npackage client\n\nimport (\n\t\"encoding/json\"\n\t\"strings\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/asser"
  },
  {
    "path": "internal/client/blueprints_test.go",
    "chars": 49920,
    "preview": "// Package client - blueprints_test contains functions to check the blueprints API\n// Copyright (C) 2020 by Red Hat, Inc"
  },
  {
    "path": "internal/client/client.go",
    "chars": 7061,
    "preview": "// Package client contains functions for communicating with the API server\n// Copyright (C) 2020 by Red Hat, Inc.\npackag"
  },
  {
    "path": "internal/client/client_test.go",
    "chars": 3840,
    "preview": "// Package client contains functions for communicating with the API server\n// Copyright (C) 2020 by Red Hat, Inc.\npackag"
  },
  {
    "path": "internal/client/compose.go",
    "chars": 7198,
    "preview": "// Package client - compose contains functions for the compose API\n// Copyright (C) 2020 by Red Hat, Inc.\npackage client"
  },
  {
    "path": "internal/client/compose_test.go",
    "chars": 22003,
    "preview": "// Package client - compose_test contains functions to check the compose API\n// Copyright (C) 2020 by Red Hat, Inc.\n\n// "
  },
  {
    "path": "internal/client/integration_test.go",
    "chars": 1595,
    "preview": "// Package client - integration_test contains functions to setup integration tests\n// Copyright (C) 2020 by Red Hat, Inc"
  },
  {
    "path": "internal/client/modules.go",
    "chars": 2061,
    "preview": "// Package client - modules contains functions for the modules API\n// Copyright (C) 2020 by Red Hat, Inc.\npackage client"
  },
  {
    "path": "internal/client/modules_test.go",
    "chars": 3230,
    "preview": "// Package client - modules_test contains functions to check the modules API\n// Copyright (C) 2020 by Red Hat, Inc.\n\n// "
  },
  {
    "path": "internal/client/projects.go",
    "chars": 2169,
    "preview": "// Package client - projects contains functions for the projects API\n// Copyright (C) 2020 by Red Hat, Inc.\npackage clie"
  },
  {
    "path": "internal/client/projects_test.go",
    "chars": 3224,
    "preview": "// Package client - projects_test contains functions to check the projects API\n// Copyright (C) 2020 by Red Hat, Inc.\n\n/"
  },
  {
    "path": "internal/client/source.go",
    "chars": 3971,
    "preview": "// Package client - source contains functions for the source API\n// Copyright (C) 2020 by Red Hat, Inc.\npackage client\n\n"
  },
  {
    "path": "internal/client/source_test.go",
    "chars": 24134,
    "preview": "// Package client - source_test contains functions to check the source API\n// Copyright (C) 2020 by Red Hat, Inc.\n\n// Te"
  },
  {
    "path": "internal/client/unit_test.go",
    "chars": 2813,
    "preview": "// Package client contains functions for communicating with the API server\n// Copyright (C) 2020 by Red Hat, Inc.\n\n//go:"
  },
  {
    "path": "internal/client/utils.go",
    "chars": 1312,
    "preview": "// Package weldrcheck contains functions used to run integration tests on a running API server\n// Copyright (C) 2020 by "
  },
  {
    "path": "internal/client/weldr.go",
    "chars": 639,
    "preview": "// Package client - weldr contains functions to return API structures\n// Copyright (C) 2020 by Red Hat, Inc.\npackage cli"
  },
  {
    "path": "internal/cloud/awscloud/autoscaling.go",
    "chars": 2294,
    "preview": "package awscloud\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go-v2/feature"
  },
  {
    "path": "internal/cloud/awscloud/awscloud.go",
    "chars": 8637,
    "preview": "package awscloud\n\nimport (\n\t\"context\"\n\t\"crypto/tls\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"os\"\n\t\"time\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws"
  },
  {
    "path": "internal/cloud/awscloud/awscloud_test.go",
    "chars": 494,
    "preview": "package awscloud_test\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/require\"\n\n\t\"github.com/osbuild/osbuild-compose"
  },
  {
    "path": "internal/cloud/awscloud/client-interfaces.go",
    "chars": 4268,
    "preview": "package awscloud\n\nimport (\n\t\"context\"\n\n\t\"github.com/aws/aws-sdk-go-v2/feature/ec2/imds\"\n\t\"github.com/aws/aws-sdk-go-v2/s"
  },
  {
    "path": "internal/cloud/awscloud/export_test.go",
    "chars": 90,
    "preview": "package awscloud\n\nvar NewForTest = newForTest\nvar DoCreateFleetRetry = doCreateFleetRetry\n"
  },
  {
    "path": "internal/cloud/awscloud/maintenance.go",
    "chars": 3663,
    "preview": "package awscloud\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go"
  },
  {
    "path": "internal/cloud/awscloud/mocks_test.go",
    "chars": 10235,
    "preview": "package awscloud_test\n\nimport (\n\t\"context\"\n\t\"testing\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go-v"
  },
  {
    "path": "internal/cloud/awscloud/secure-instance.go",
    "chars": 22385,
    "preview": "package awscloud\n\nimport (\n\t\"context\"\n\t\"encoding/base64\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"slices\"\n\t\"strings\"\n\t\"time\"\n"
  },
  {
    "path": "internal/cloud/awscloud/secure-instance_test.go",
    "chars": 6767,
    "preview": "package awscloud_test\n\nimport (\n\t\"fmt\"\n\t\"testing\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go-v2/se"
  },
  {
    "path": "internal/cloudapi/server.go",
    "chars": 674,
    "preview": "package cloudapi\n\nimport (\n\t\"net/http\"\n\n\t\"github.com/osbuild/images/pkg/distrofactory\"\n\t\"github.com/osbuild/images/pkg/r"
  },
  {
    "path": "internal/cloudapi/v2/bootc.go",
    "chars": 2652,
    "preview": "package v2\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/osbuild/images/pkg/arch\"\n\t\"github.com/osbuild/images/pkg/bib/osinfo\"\n\t\"github."
  },
  {
    "path": "internal/cloudapi/v2/bootc_premanifest_test.go",
    "chars": 27620,
    "preview": "package v2_test\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/goo"
  },
  {
    "path": "internal/cloudapi/v2/bootc_test.go",
    "chars": 3118,
    "preview": "package v2_test\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\n\tv2 \"github.com/osbuild/osbuild-composer/in"
  },
  {
    "path": "internal/cloudapi/v2/compose.go",
    "chars": 45114,
    "preview": "package v2\n\n// ComposeRequest methods to make it easier to use and test\nimport (\n\t\"crypto/rand\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/bi"
  },
  {
    "path": "internal/cloudapi/v2/compose_test.go",
    "chars": 38976,
    "preview": "package v2\n\nimport (\n\t\"fmt\"\n\t\"io/fs\"\n\t\"testing\"\n\n\t\"github.com/google/uuid\"\n\topenapi_types \"github.com/oapi-codegen/runti"
  },
  {
    "path": "internal/cloudapi/v2/depsolve.go",
    "chars": 5063,
    "preview": "package v2\n\n// DepsolveRequest methods\n\nimport (\n\t\"context\"\n\t\"crypto/rand\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/big\"\n\t\"time\"\n\n\t\"github."
  },
  {
    "path": "internal/cloudapi/v2/errors.go",
    "chars": 18132,
    "preview": "package v2\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\n\t\"github.com/labstack/echo/v4\"\n)\n\nconst (\n\tErrorCodePrefix = \"IMAGE-BUILDER-COM"
  },
  {
    "path": "internal/cloudapi/v2/errors_test.go",
    "chars": 6990,
    "preview": "package v2\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"net/http/httptest\"\n\t\"testing\"\n\n\t\"github.com/labstack/echo/v4\""
  },
  {
    "path": "internal/cloudapi/v2/export_test.go",
    "chars": 2201,
    "preview": "package v2\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\n\t\"github.com/google/uuid\"\n\t\"github.com/osbuild/osbuild-composer/intern"
  },
  {
    "path": "internal/cloudapi/v2/handler.go",
    "chars": 57064,
    "preview": "//go:generate go run github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen --package=v2 --generate types,spec,server "
  },
  {
    "path": "internal/cloudapi/v2/imagerequest.go",
    "chars": 14582,
    "preview": "package v2\n\n// ImageTypes methods to make it easier to use and test\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\tec2types \"github."
  },
  {
    "path": "internal/cloudapi/v2/imagerequest_test.go",
    "chars": 8981,
    "preview": "package v2\n\nimport (\n\t\"testing\"\n\n\t\"github.com/osbuild/images/pkg/arch\"\n\t\"github.com/osbuild/images/pkg/distro/test_distr"
  },
  {
    "path": "internal/cloudapi/v2/middleware.go",
    "chars": 2081,
    "preview": "package v2\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/getkin/kin-openapi/openapi3filter\"\n\t\"github.com/google/uuid\"\n\t\"github.com/labs"
  },
  {
    "path": "internal/cloudapi/v2/openapi.v2.gen.go",
    "chars": 142187,
    "preview": "// Package v2 provides primitives to interact with the openapi HTTP API.\n//\n// Code generated by github.com/oapi-codegen"
  },
  {
    "path": "internal/cloudapi/v2/openapi.v2.yml",
    "chars": 92623,
    "preview": "---\nopenapi: 3.0.1\ninfo:\n  version: '2'\n  title: OSBuild Composer cloud api\n  description: Service to build and install "
  },
  {
    "path": "internal/cloudapi/v2/search.go",
    "chars": 2470,
    "preview": "package v2\n\n// SearchPackagesRequest methods\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"time\"\n\n\t\"github.com/osbuild/images/pkg/distro"
  },
  {
    "path": "internal/cloudapi/v2/server.go",
    "chars": 44007,
    "preview": "package v2\n\nimport (\n\t\"context\"\n\t\"crypto/rand\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"math\"\n\t\"math/big\"\n\t\"net/http\"\n\t\"slice"
  },
  {
    "path": "internal/cloudapi/v2/server_container_compat.go",
    "chars": 1483,
    "preview": "package v2\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/osbuild/images/pkg/container\"\n\t\"github.com/osbuild/osbuild-composer/internal/w"
  },
  {
    "path": "internal/cloudapi/v2/server_container_compat_test.go",
    "chars": 3768,
    "preview": "package v2\n\nimport (\n\t\"testing\"\n\n\t\"github.com/osbuild/images/pkg/container\"\n\t\"github.com/osbuild/osbuild-composer/intern"
  },
  {
    "path": "internal/cloudapi/v2/v2_disk_test.go",
    "chars": 9183,
    "preview": "package v2_test\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"testing\"\n\n\t\"github.com/osbuild/images/pkg/distro/test_distro\"\n\t\"github.co"
  },
  {
    "path": "internal/cloudapi/v2/v2_internal_test.go",
    "chars": 9221,
    "preview": "package v2\n\nimport (\n\t\"io\"\n\t\"testing\"\n\n\t\"github.com/sirupsen/logrus\"\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/"
  },
  {
    "path": "internal/cloudapi/v2/v2_koji_test.go",
    "chars": 21413,
    "preview": "package v2_test\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/google/uuid\"\n\t"
  },
  {
    "path": "internal/cloudapi/v2/v2_multi_tenancy_test.go",
    "chars": 13476,
    "preview": "package v2_test\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"strings\"\n\t\"testing\"\n\t\"time\"\n\n\t\"github.com/gol"
  },
  {
    "path": "internal/cloudapi/v2/v2_test.go",
    "chars": 112808,
    "preview": "package v2_test\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"errors\"\n\t\"fmt\"\n\t\"net/http\"\n\t\"os\"\n\t\"path/filepath\"\n\t\"strings\"\n\t\"s"
  },
  {
    "path": "internal/common/constants.go",
    "chars": 1097,
    "preview": "package common\n\nimport \"fmt\"\n\nconst (\n\tKiloByte = 1000                      // kB\n\tKibiByte = 1024                      "
  },
  {
    "path": "internal/common/context_hook.go",
    "chars": 580,
    "preview": "package common\n\nimport (\n\t\"github.com/sirupsen/logrus\"\n)\n\ntype ContextHook struct{}\n\nfunc (h *ContextHook) Levels() []lo"
  },
  {
    "path": "internal/common/dependencies.go",
    "chars": 596,
    "preview": "package common\n\nimport (\n\t\"fmt\"\n\t\"runtime/debug\"\n)\n\nconst (\n\tOSBuildImagesModulePath = \"github.com/osbuild/images\"\n)\n\n//"
  },
  {
    "path": "internal/common/echo_logrus.go",
    "chars": 4847,
    "preview": "package common\n\nimport (\n\t\"context\"\n\t\"encoding/json\"\n\t\"io\"\n\t\"runtime\"\n\n\tlslog \"github.com/labstack/gommon/log\"\n\t\"github."
  },
  {
    "path": "internal/common/external_id.go",
    "chars": 670,
    "preview": "package common\n\nimport (\n\t\"context\"\n\t\"strings\"\n\n\t\"github.com/labstack/echo/v4\"\n)\n\nconst ExternalIDKey string = \"external"
  },
  {
    "path": "internal/common/helpers.go",
    "chars": 2635,
    "preview": "package common\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nfunc PanicOnError(err error) {\n\tif err "
  },
  {
    "path": "internal/common/helpers_test.go",
    "chars": 1560,
    "preview": "package common\n\nimport (\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n\t\"github.com/stretchr/testify/requi"
  },
  {
    "path": "internal/common/journal_hook.go",
    "chars": 1484,
    "preview": "// Inspired by github.com/wercker/journalhook (MIT license)\npackage common\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/cor"
  },
  {
    "path": "internal/common/journal_hook_test.go",
    "chars": 610,
    "preview": "package common\n\nimport \"testing\"\n\nfunc TestStringifyEntries(t *testing.T) {\n\tinput := map[string]interface{}{\n\t\t\"foo\":  "
  },
  {
    "path": "internal/common/logger_middleware.go",
    "chars": 393,
    "preview": "package common\n\nimport (\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/sirupsen/logrus\"\n)\n\n// Store context in request log"
  },
  {
    "path": "internal/common/operation_id.go",
    "chars": 745,
    "preview": "package common\n\nimport (\n\t\"context\"\n\n\t\"github.com/labstack/echo/v4\"\n\t\"github.com/segmentio/ksuid\"\n)\n\ntype ctxKey string\n"
  },
  {
    "path": "internal/common/pointers.go",
    "chars": 260,
    "preview": "package common\n\nfunc ToPtr[T any](x T) *T {\n\treturn &x\n}\n\n// DerefOrDefault returns the dereferenced value of the given "
  },
  {
    "path": "internal/common/pointers_test.go",
    "chars": 510,
    "preview": "package common\n\nimport (\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestToPtr(t *testing.T) {\n\tvar valueI"
  },
  {
    "path": "internal/common/slogger/logrus.go",
    "chars": 902,
    "preview": "package slogger\n\nimport (\n\t\"github.com/osbuild/osbuild-composer/pkg/jobqueue\"\n\t\"github.com/sirupsen/logrus\"\n)\n\ntype simp"
  },
  {
    "path": "internal/common/slogger/logrus_test.go",
    "chars": 1416,
    "preview": "package slogger\n\nimport (\n\t\"bytes\"\n\t\"errors\"\n\t\"testing\"\n\n\t\"github.com/sirupsen/logrus\"\n\t\"github.com/stretchr/testify/req"
  },
  {
    "path": "internal/common/slogger/noop.go",
    "chars": 296,
    "preview": "package slogger\n\nimport (\n\t\"github.com/osbuild/osbuild-composer/pkg/jobqueue\"\n)\n\ntype noopLogger struct {\n}\n\nfunc NewNoo"
  },
  {
    "path": "internal/common/states.go",
    "chars": 1584,
    "preview": "package common\n\nimport (\n\t\"encoding/json\"\n)\n\nfunc getStateMapping() []string {\n\treturn []string{\"WAITING\", \"RUNNING\", \"F"
  },
  {
    "path": "internal/common/states_test.go",
    "chars": 959,
    "preview": "package common\n\nimport (\n\t\"encoding/json\"\n\t\"testing\"\n\n\t\"github.com/stretchr/testify/assert\"\n)\n\nfunc TestJSONConversions("
  },
  {
    "path": "internal/jobqueue/fsjobqueue/fsjobqueue.go",
    "chars": 21004,
    "preview": "// Package fsjobqueue implements a filesystem-backed job queue. It implements\n// the interfaces in package jobqueue.\n//\n"
  }
]

// ... and 10059 more files (download for full content)

About this extraction

This page contains the full source code of the osbuild/osbuild-composer GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 10259 files (145.3 MB), approximately 26.9M tokens, and a symbol index with 140249 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!