diff --git a/.github/workflows/api.yaml b/.github/workflows/api.yaml index fe67f7e..a3ceea7 100644 --- a/.github/workflows/api.yaml +++ b/.github/workflows/api.yaml @@ -5,10 +5,12 @@ on: branches: [main] paths: - 'api/**' + - 'docs/openapi/**' - '.github/workflows/api.yaml' pull_request: paths: - 'api/**' + - 'docs/openapi/**' - '.github/workflows/api.yaml' workflow_dispatch: @@ -20,7 +22,7 @@ concurrency: cancel-in-progress: true env: - GO_VERSION: '1.25.4' + GO_VERSION: '1.26.3' jobs: build: @@ -41,6 +43,15 @@ jobs: - name: Go module verify run: go mod download && go mod verify + - name: Verify generated code is up to date + run: | + go generate ./internal/api + if ! git diff --quiet -- internal/api; then + echo "::error::generated code is out of date — run 'go generate ./internal/api' from api/ and commit" + git --no-pager diff -- internal/api + exit 1 + fi + - name: Vet run: go vet ./... diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index ccb3418..0235ca9 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -28,7 +28,7 @@ concurrency: cancel-in-progress: true env: - NODE_VERSION: '22' + NODE_VERSION: '24' PNPM_VERSION: '9' jobs: diff --git a/.github/workflows/web.yaml b/.github/workflows/web.yaml index 5061496..e50c332 100644 --- a/.github/workflows/web.yaml +++ b/.github/workflows/web.yaml @@ -5,6 +5,7 @@ on: branches: [main] paths: - 'web/**' + - 'docs/openapi/**' - 'pnpm-workspace.yaml' - 'pnpm-lock.yaml' - 'package.json' @@ -12,6 +13,7 @@ on: pull_request: paths: - 'web/**' + - 'docs/openapi/**' - 'pnpm-workspace.yaml' - 'pnpm-lock.yaml' - 'package.json' @@ -26,7 +28,7 @@ concurrency: cancel-in-progress: true env: - NODE_VERSION: '22' + NODE_VERSION: '24' PNPM_VERSION: '9' jobs: @@ -49,6 +51,15 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile + - name: Verify generated types are up to date + run: | + pnpm --filter @stig-manager-react/web gen:api + if ! git diff --quiet -- web/src/lib/api/schema.ts; then + echo "::error::generated types are out of date — run 'pnpm --filter web gen:api' and commit" + git --no-pager diff -- web/src/lib/api/schema.ts + exit 1 + fi + - name: Lint run: pnpm --filter @stig-manager-react/web lint diff --git a/README.md b/README.md index 7332810..a1aa98b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ A modern re-implementation of [NUWCDIVNPT/stig-manager](https://github.com/NUWCDIVNPT/stig-manager): - **Frontend:** React 19 + Vite + TypeScript + [shadcn/ui](https://ui.shadcn.com). -- **Backend:** Go 1.25 (`net/http` + `chi`), OpenAPI 3.0.1 v1 — byte-compatible with upstream. +- **Backend:** Go 1.26 (`net/http` + `chi`), OpenAPI 3.0.1 v1 — byte-compatible with upstream. - **Database:** PostgreSQL 18 (via pgx v5). - **Auth:** OIDC / OAuth 2.0 PKCE (Keycloak / Okta / Azure Entra ID). - **Docs:** [Astro Starlight](https://starlight.astro.build/) (this repo's `docs/`). @@ -24,8 +24,8 @@ A modern re-implementation of ## Prerequisites -- **Node.js 22** and **pnpm 9** (via [Corepack](https://nodejs.org/api/corepack.html)). -- **Go 1.25** for the API. +- **Node.js 24** and **pnpm 9** (via [Corepack](https://nodejs.org/api/corepack.html)). +- **Go 1.26** for the API. - **Docker / Docker Compose** for the integrated dev stack. ## Quick start (everything via compose) diff --git a/api/Dockerfile b/api/Containerfile similarity index 54% rename from api/Dockerfile rename to api/Containerfile index 8750ad0..2371b47 100644 --- a/api/Dockerfile +++ b/api/Containerfile @@ -1,5 +1,15 @@ +# OCI image build for the STIG Manager API. +# +# This Containerfile follows the Open Container Initiative image-spec +# (https://github.com/opencontainers/image-spec). The syntax is the same +# format Docker uses; Podman, Buildah, and BuildKit also build it natively. +# +# Build with either: +# podman build -t stigman-api -f api/Containerfile api/ +# docker build -t stigman-api -f api/Containerfile api/ + # syntax=docker/dockerfile:1.7 -FROM golang:1.23-alpine AS build +FROM docker.io/library/golang:1.26.3-alpine AS build WORKDIR /src COPY go.mod go.sum ./ diff --git a/api/README.md b/api/README.md index c0abfe2..a85cda9 100644 --- a/api/README.md +++ b/api/README.md @@ -2,12 +2,13 @@ Go HTTP API server for [stig-manager-react](https://github.com/Exonical/stig-manager-react). -- Go 1.23, [`chi`](https://github.com/go-chi/chi) router, structured logging +- Go 1.26, [`chi`](https://github.com/go-chi/chi) router, structured logging via `log/slog`. - [`pgx`](https://github.com/jackc/pgx) v5 for Postgres 18. -- OpenAPI v1 surface (currently stubbed: `/api/v1/op/appinfo`, - `/api/v1/op/appdata/tables`). Code-generated handlers from - `docs/openapi/stig-manager.yaml` arrive in Milestone 2. +- OpenAPI v1 surface served at `/api/*`, generated from + `docs/openapi/stig-manager.yaml` by [`oapi-codegen`](https://github.com/oapi-codegen/oapi-codegen). + All 150+ operations are wired up; unimplemented endpoints return 501 + until real handlers land in later milestones. ## Local development @@ -23,7 +24,7 @@ Smoke test: ```bash curl -s http://localhost:54001/health -curl -s http://localhost:54001/api/v1/op/appinfo | jq +curl -s http://localhost:54001/api/op/appinfo | jq ``` ## Test, lint, build @@ -40,12 +41,18 @@ go build ./... api/ ├── cmd/stigman/main.go program entrypoint ├── internal/ +│ ├── api/ oapi-codegen generated types + chi router +│ │ ├── gen.go go:generate directives +│ │ ├── server-config.yaml oapi-codegen config (chi server) +│ │ ├── types-config.yaml oapi-codegen config (models) +│ │ ├── server.gen.go generated chi router +│ │ └── types.gen.go generated request/response types │ ├── config/ env-based configuration -│ ├── handlers/ HTTP handlers (scaffold) -│ ├── server/ router wiring +│ ├── handlers/ top-level handlers (e.g. /health) +│ ├── server/ router wiring + APIServer overrides │ └── store/ Postgres data layer (scaffold) ├── go.mod -└── Dockerfile multi-stage distroless build +└── Containerfile OCI multi-stage distroless build ``` ## Environment diff --git a/api/go.mod b/api/go.mod index 6a18354..c3bfbd6 100644 --- a/api/go.mod +++ b/api/go.mod @@ -1,17 +1,41 @@ module github.com/Exonical/stig-manager-react/api -go 1.25.0 +go 1.26.3 require ( + github.com/getkin/kin-openapi v0.135.0 github.com/go-chi/chi/v5 v5.2.5 github.com/go-chi/cors v1.2.2 github.com/jackc/pgx/v5 v5.9.2 + github.com/oapi-codegen/runtime v1.4.0 ) require ( + github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect + github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect + github.com/go-openapi/jsonpointer v0.22.4 // indirect + github.com/go-openapi/swag/jsonname v0.25.4 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect github.com/jackc/puddle/v2 v2.2.2 // indirect - golang.org/x/sync v0.17.0 // indirect - golang.org/x/text v0.29.0 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/mailru/easyjson v0.9.1 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/oapi-codegen/oapi-codegen/v2 v2.7.0 // indirect + github.com/oasdiff/yaml v0.0.9 // indirect + github.com/oasdiff/yaml3 v0.0.9 // indirect + github.com/perimeterx/marshmallow v1.1.5 // indirect + github.com/speakeasy-api/jsonpath v0.6.3 // indirect + github.com/speakeasy-api/openapi v1.19.2 // indirect + github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect + github.com/woodsbury/decimal128 v1.4.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/mod v0.33.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/text v0.34.0 // indirect + golang.org/x/tools v0.42.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) + +tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen diff --git a/api/go.sum b/api/go.sum index e26a4d6..f7c1c59 100644 --- a/api/go.sum +++ b/api/go.sum @@ -1,10 +1,55 @@ +github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= +github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= +github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= +github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dprotaso/go-yit v0.0.0-20191028211022-135eb7262960/go.mod h1:9HQzr9D/0PGwMEbC3d5AB7oi67+h4TsQqItC1GVYG58= +github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 h1:PRxIJD8XjimM5aTknUK9w6DHLDox2r2M3DI4i2pnd3w= +github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936/go.mod h1:ttYvX5qlB+mlV1okblJqcSMtR4c52UKxDiX9GRBS8+Q= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/getkin/kin-openapi v0.135.0 h1:751SjYfbiwqukYuVjwYEIKNfrSwS5YpA7DZnKSwQgtg= +github.com/getkin/kin-openapi v0.135.0/go.mod h1:6dd5FJl6RdX4usBtFBaQhk9q62Yb2J0Mk5IhUO/QqFI= github.com/go-chi/chi/v5 v5.2.5 h1:Eg4myHZBjyvJmAFjFvWgrqDTXFyOzjj7YIm3L3mu6Ug= github.com/go-chi/chi/v5 v5.2.5/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0= github.com/go-chi/cors v1.2.2 h1:Jmey33TE+b+rB7fT8MUy1u0I4L+NARQlK6LhzKPSyQE= github.com/go-chi/cors v1.2.2/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58= +github.com/go-openapi/jsonpointer v0.22.4 h1:dZtK82WlNpVLDW2jlA1YCiVJFVqkED1MegOUy9kR5T4= +github.com/go-openapi/jsonpointer v0.22.4/go.mod h1:elX9+UgznpFhgBuaMQ7iu4lvvX1nvNsesQ3oxmYTw80= +github.com/go-openapi/swag/jsonname v0.25.4 h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ9869Vye1bNHI= +github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag= +github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= +github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= @@ -13,18 +58,148 @@ github.com/jackc/pgx/v5 v5.9.2 h1:3ZhOzMWnR4yJ+RW1XImIPsD1aNSz4T4fyP7zlQb56hw= github.com/jackc/pgx/v5 v5.9.2/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4= github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= +github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oapi-codegen/oapi-codegen/v2 v2.7.0 h1:/8daqIYZfwnsHEAZdHUu9m0D5LA+5DoJCP7zLlT5Cs0= +github.com/oapi-codegen/oapi-codegen/v2 v2.7.0/go.mod h1:qzFy6iuobJw/hD1aRILee4G87/ShmhR0xYCwcUtZMCw= +github.com/oapi-codegen/runtime v1.4.0 h1:KLOSFOp7UzkbS7Cs1ms6NBEKYr0WmH2wZG0KKbd2er4= +github.com/oapi-codegen/runtime v1.4.0/go.mod h1:5sw5fxCDmnOzKNYmkVNF8d34kyUeejJEY8HNT2WaPec= +github.com/oasdiff/yaml v0.0.9 h1:zQOvd2UKoozsSsAknnWoDJlSK4lC0mpmjfDsfqNwX48= +github.com/oasdiff/yaml v0.0.9/go.mod h1:8lvhgJG4xiKPj3HN5lDow4jZHPlx1i7dIwzkdAo6oAM= +github.com/oasdiff/yaml3 v0.0.9 h1:rWPrKccrdUm8J0F3sGuU+fuh9+1K/RdJlWF7O/9yw2g= +github.com/oasdiff/yaml3 v0.0.9/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.2/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s= +github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= +github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/speakeasy-api/jsonpath v0.6.3 h1:c+QPwzAOdrWvzycuc9HFsIZcxKIaWcNpC+xhOW9rJxU= +github.com/speakeasy-api/jsonpath v0.6.3/go.mod h1:2cXloNuQ+RSXi5HTRaeBh7JEmjRXTiaKpFTdZiL7URI= +github.com/speakeasy-api/openapi v1.19.2 h1:md90tE71/M8jS3cuRlsuWP5Aed4xoG5PSRvXeZgCv/M= +github.com/speakeasy-api/openapi v1.19.2/go.mod h1:UfKa7FqE4jgexJZuj51MmdHAFGmDv0Zaw3+yOd81YKU= +github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= -golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/vmware-labs/yaml-jsonpath v0.3.2 h1:/5QKeCBGdsInyDCyVNLbXyilb61MXGi9NP674f9Hobk= +github.com/vmware-labs/yaml-jsonpath v0.3.2/go.mod h1:U6whw1z03QyqgWdgXxvVnQ90zN1BWz5V+51Ewf8k+rQ= +github.com/woodsbury/decimal128 v1.4.0 h1:xJATj7lLu4f2oObouMt2tgGiElE5gO6mSWUjQsBgUlc= +github.com/woodsbury/decimal128 v1.4.0/go.mod h1:BP46FUrVjVhdTbKT+XuQh2xfQaGki9LMIRJSFuh6THU= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= +golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= +golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20191026110619-0b21df46bc1d/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/api/internal/api/gen.go b/api/internal/api/gen.go new file mode 100644 index 0000000..bf554fd --- /dev/null +++ b/api/internal/api/gen.go @@ -0,0 +1,14 @@ +// Package api contains code generated from the OpenAPI v1 spec at +// docs/openapi/stig-manager.yaml. +// +// The generated types and chi-based router live in types.gen.go and +// server.gen.go. Run `go generate ./internal/api` from the api/ directory +// (or use the helper script at scripts/gen.sh) to regenerate them. +// +// oapi-codegen also emits an `Unimplemented` value type that satisfies +// every ServerInterface method with a 501 response. Real handlers embed +// it and override individual methods as features land. +package api + +//go:generate go tool oapi-codegen -config types-config.yaml ../../../docs/openapi/stig-manager.yaml +//go:generate go tool oapi-codegen -config server-config.yaml ../../../docs/openapi/stig-manager.yaml diff --git a/api/internal/api/server-config.yaml b/api/internal/api/server-config.yaml new file mode 100644 index 0000000..c436fd2 --- /dev/null +++ b/api/internal/api/server-config.yaml @@ -0,0 +1,7 @@ +package: api +output: server.gen.go +generate: + chi-server: true + embedded-spec: true +output-options: + skip-prune: true diff --git a/api/internal/api/server.gen.go b/api/internal/api/server.gen.go new file mode 100644 index 0000000..731c289 --- /dev/null +++ b/api/internal/api/server.gen.go @@ -0,0 +1,11190 @@ +// Package api provides primitives to interact with the openapi HTTP API. +// +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.7.0 DO NOT EDIT. +package api + +import ( + "bytes" + "compress/flate" + "context" + "encoding/base64" + "errors" + "fmt" + "net/http" + "net/url" + "path" + "strings" + + "github.com/getkin/kin-openapi/openapi3" + "github.com/go-chi/chi/v5" + "github.com/oapi-codegen/runtime" +) + +// ServerInterface represents all server handlers. +type ServerInterface interface { + // Return a list of Assets accessible to the requester + // (GET /assets) + GetAssets(w http.ResponseWriter, r *http.Request, params GetAssetsParams) + // Delete one or more Assets + // (PATCH /assets) + PatchAssets(w http.ResponseWriter, r *http.Request, params PatchAssetsParams) + // Create an Asset + // (POST /assets) + CreateAsset(w http.ResponseWriter, r *http.Request, params CreateAssetParams) + // Delete an Asset + // (DELETE /assets/{assetId}) + DeleteAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params DeleteAssetParams) + // Return an Asset + // (GET /assets/{assetId}) + GetAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params GetAssetParams) + // Merge provided properties with an Asset + // (PATCH /assets/{assetId}) + UpdateAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params UpdateAssetParams) + // Set all properties of an Asset + // (PUT /assets/{assetId}) + ReplaceAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params ReplaceAssetParams) + // Return a multi-STIG CKL for an Asset and its mapped STIGs + // (GET /assets/{assetId}/checklists) + GetChecklistByAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params GetChecklistByAssetParams) + // Return JSON summary, or CKL(B) file, or XCCDF file for an Asset and STIG + // (GET /assets/{assetId}/checklists/{benchmarkId}/{revisionStr}) + GetChecklistByAssetStig(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, benchmarkId BenchmarkIdPath, revisionStr RevisionStrPath, params GetChecklistByAssetStigParams) + // Return the metadata for Asset + // (GET /assets/{assetId}/metadata) + GetAssetMetadata(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) + // Merge the provided object to a Assetmetadata + // (PATCH /assets/{assetId}/metadata) + PatchAssetMetadata(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) + // Set a Asset metadata to the provided object + // (PUT /assets/{assetId}/metadata) + PutAssetMetadata(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) + // Return the keys of the provided Asset's metadata + // (GET /assets/{assetId}/metadata/keys) + GetAssetMetadataKeys(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) + // Remove the provided Asset metadata key + // (DELETE /assets/{assetId}/metadata/keys/{key}) + DeleteAssetMetadataKey(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, key MetadataKeyPath) + // Return the value of the provided Asset metadata key + // (GET /assets/{assetId}/metadata/keys/{key}) + GetAssetMetadataValue(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, key MetadataKeyPath) + // Set the value of the provided Asset metadata key to the provided string + // (PUT /assets/{assetId}/metadata/keys/{key}) + PutAssetMetadataValue(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, key MetadataKeyPath) + // Delete all STIG assignments to an Asset + // (DELETE /assets/{assetId}/stigs) + RemoveStigsFromAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) + // Return an Asset's STIG assignments + // (GET /assets/{assetId}/stigs) + GetStigsByAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) + // Delete a STIG assignment to an Asset + // (DELETE /assets/{assetId}/stigs/{benchmarkId}) + RemoveStigFromAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, benchmarkId BenchmarkIdPath) + // Assign a STIG to an Asset + // (PUT /assets/{assetId}/stigs/{benchmarkId}) + AttachStigToAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, benchmarkId BenchmarkIdPath) + // Return a list of Collections accessible to the requester + // (GET /collections) + GetCollections(w http.ResponseWriter, r *http.Request, params GetCollectionsParams) + // Create a Collection + // (POST /collections) + CreateCollection(w http.ResponseWriter, r *http.Request, params CreateCollectionParams) + // Return fully aggregated meta-metrics + // (GET /collections/meta/metrics/detail) + GetMetricsDetailByMeta(w http.ResponseWriter, r *http.Request, params GetMetricsDetailByMetaParams) + // Return meta-metrics aggregated by Collection + // (GET /collections/meta/metrics/detail/collection) + GetMetricsDetailByMetaAggCollection(w http.ResponseWriter, r *http.Request, params GetMetricsDetailByMetaAggCollectionParams) + // Return meta-metrics aggregated by STIG + // (GET /collections/meta/metrics/detail/stig) + GetMetricsDetailByMetaAggStig(w http.ResponseWriter, r *http.Request, params GetMetricsDetailByMetaAggStigParams) + // Return fully aggregated meta-metrics + // (GET /collections/meta/metrics/summary) + GetMetricsSummaryByMeta(w http.ResponseWriter, r *http.Request, params GetMetricsSummaryByMetaParams) + // Return meta-metrics aggregated by Collection + // (GET /collections/meta/metrics/summary/collection) + GetMetricsSummaryByMetaAggCollection(w http.ResponseWriter, r *http.Request, params GetMetricsSummaryByMetaAggCollectionParams) + // Return meta-metrics aggregated by STIG + // (GET /collections/meta/metrics/summary/stig) + GetMetricsSummaryByMetaAggStig(w http.ResponseWriter, r *http.Request, params GetMetricsSummaryByMetaAggStigParams) + // Delete a Collection + // (DELETE /collections/{collectionId}) + DeleteCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params DeleteCollectionParams) + // Return a Collection + // (GET /collections/{collectionId}) + GetCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetCollectionParams) + // Merge provided properties with a Collection + // (PATCH /collections/{collectionId}) + UpdateCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params UpdateCollectionParams) + // Set all properties of a Collection + // (PUT /collections/{collectionId}) + ReplaceCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params ReplaceCollectionParams) + // Return a ZIP archive containing CKL files for the supplied Assets and STIGs + // (POST /collections/{collectionId}/archive/ckl) + PostCklArchiveByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params PostCklArchiveByCollectionParams) + // Return a ZIP archive containing CKLB files for the supplied Assets and STIGs + // (POST /collections/{collectionId}/archive/cklb) + PostCklbArchiveByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params PostCklbArchiveByCollectionParams) + // Return a ZIP archive containing XCCDF results for the supplied Assets and STIGs + // (POST /collections/{collectionId}/archive/xccdf) + PostXccdfArchiveByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Create Multiple Assets + // (POST /collections/{collectionId}/assets) + CreateAssets(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params CreateAssetsParams) + // Return the Checklist for the supplied Collection and STIG + // (GET /collections/{collectionId}/checklists/{benchmarkId}/{revisionStr}) + GetChecklistByCollectionStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, revisionStr RevisionStrPath) + // Clone an existing Collection to a new Collection + // (POST /collections/{collectionId}/clone) + CloneCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params CloneCollectionParams) + // Export reviews from a source Collection to a destination Collection + // (POST /collections/{collectionId}/export-to/{dstCollectionId}) + ExportToCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, dstCollectionId DstCollectionIdPath) + // Return the Findings for the specified Collection + // (GET /collections/{collectionId}/findings) + GetFindingsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetFindingsByCollectionParams) + // Return all collection grants + // (GET /collections/{collectionId}/grants) + GetGrantsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetGrantsByCollectionParams) + // Add Grants to a Collection + // (POST /collections/{collectionId}/grants) + PostGrantsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params PostGrantsByCollectionParams) + + // (DELETE /collections/{collectionId}/grants/{grantId}) + DeleteGrantByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath, params DeleteGrantByCollectionGrantParams) + // Return a collection grant by grantId + // (GET /collections/{collectionId}/grants/{grantId}) + GetGrantByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath, params GetGrantByCollectionGrantParams) + // Replace the properties of a Collection Grant by grantId. + // (PUT /collections/{collectionId}/grants/{grantId}) + PutGrantByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath, params PutGrantByCollectionGrantParams) + // Return the Access Control List for the specified Collection Grant. + // (GET /collections/{collectionId}/grants/{grantId}/acl) + GetAclRulesByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath) + // Set the Access Control List for the specified Collection Grant. + // (PUT /collections/{collectionId}/grants/{grantId}/acl) + PutAclRulesByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath) + // Return labels of the specified Collection + // (GET /collections/{collectionId}/labels) + GetCollectionLabels(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Create a label in the specified Collection + // (POST /collections/{collectionId}/labels) + CreateCollectionLabel(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Create multiple labels in the specified Collection + // (POST /collections/{collectionId}/labels/batch) + CreateCollectionLabels(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Delete a Label + // (DELETE /collections/{collectionId}/labels/{labelId}) + DeleteCollectionLabelById(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) + // Return the specified Label of the specified Collection + // (GET /collections/{collectionId}/labels/{labelId}) + GetCollectionLabelById(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) + // Update an existing Label + // (PATCH /collections/{collectionId}/labels/{labelId}) + PatchCollectionLabelById(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) + // Return the Assets mapped to the Label + // (GET /collections/{collectionId}/labels/{labelId}/assets) + GetAssetsByCollectionLabelId(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) + // Replace the Label's Asset mappings + // (PUT /collections/{collectionId}/labels/{labelId}/assets) + PutAssetsByCollectionLabelId(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) + // Return the metadata for Collection + // (GET /collections/{collectionId}/metadata) + GetCollectionMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Merge the provided object to a Collection metadata + // (PATCH /collections/{collectionId}/metadata) + PatchCollectionMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Set a Collection metadata to the provided object + // (PUT /collections/{collectionId}/metadata) + PutCollectionMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Return the keys of the provided Collection metadata + // (GET /collections/{collectionId}/metadata/keys) + GetCollectionMetadataKeys(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Remove the provided Collection metadata key + // (DELETE /collections/{collectionId}/metadata/keys/{key}) + DeleteCollectionMetadataKey(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, key MetadataKeyPath) + // Return the value of the provided Collection metadata key + // (GET /collections/{collectionId}/metadata/keys/{key}) + GetCollectionMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, key MetadataKeyPath) + // Set the value of the provided Collection metadata key to the provided string + // (PUT /collections/{collectionId}/metadata/keys/{key}) + PutCollectionMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, key MetadataKeyPath) + // Return unaggregated Asset/STIG metrics for the specified Collection + // (GET /collections/{collectionId}/metrics/detail) + GetMetricsDetailByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionParams) + // Return metrics for the specified Collection aggregated by Asset + // (GET /collections/{collectionId}/metrics/detail/asset) + GetMetricsDetailByCollectionAggAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggAssetParams) + // Return aggregated metrics for the specified Collection + // (GET /collections/{collectionId}/metrics/detail/collection) + GetMetricsDetailByCollectionAgg(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggParams) + // Return metrics for the specified Collection aggregated by Label + // (GET /collections/{collectionId}/metrics/detail/label) + GetMetricsDetailByCollectionAggLabel(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggLabelParams) + // Return metrics for the specified Collection aggregated by STIG + // (GET /collections/{collectionId}/metrics/detail/stig) + GetMetricsDetailByCollectionAggStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggStigParams) + // Return unaggregated Asset/STIG metrics for the specified Collection + // (GET /collections/{collectionId}/metrics/summary) + GetMetricsSummaryByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionParams) + // Return metrics for the specified Collection aggregated by Asset + // (GET /collections/{collectionId}/metrics/summary/asset) + GetMetricsSummaryByCollectionAggAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggAssetParams) + // Return aggregated metrics for the specified Collection + // (GET /collections/{collectionId}/metrics/summary/collection) + GetMetricsSummaryByCollectionAgg(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggParams) + // Return metrics for the specified Collection aggregated by Label + // (GET /collections/{collectionId}/metrics/summary/label) + GetMetricsSummaryByCollectionAggLabel(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggLabelParams) + // Return metrics for the specified Collection aggregated by STIG + // (GET /collections/{collectionId}/metrics/summary/stig) + GetMetricsSummaryByCollectionAggStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggStigParams) + // Return a POAM-like spreadsheet for the specified Collection aggregated by groupId + // (GET /collections/{collectionId}/poam) + GetPoamByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetPoamByCollectionParams) + // Remove history records that meet specified criteria + // (DELETE /collections/{collectionId}/review-history) + DeleteReviewHistoryByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params DeleteReviewHistoryByCollectionParams) + // Return history records for the specified Collection that meet the specified criteria + // (GET /collections/{collectionId}/review-history) + GetReviewHistoryByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetReviewHistoryByCollectionParams) + // Return history statistics for the specified Collection + // (GET /collections/{collectionId}/review-history/stats) + GetReviewHistoryStatsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetReviewHistoryStatsByCollectionParams) + // Return a list of Reviews accessible to the requester + // (GET /collections/{collectionId}/reviews) + GetReviewsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetReviewsByCollectionParams) + // Insert, update, or merge a complete or partial Review to multiple Assets and Rules + // (POST /collections/{collectionId}/reviews) + PostReviewBatch(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) + // Return a list of Reviews for an Asset + // (GET /collections/{collectionId}/reviews/{assetId}) + GetReviewsByAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, params GetReviewsByAssetParams) + // Post one or more Reviews + // (POST /collections/{collectionId}/reviews/{assetId}) + PostReviewsByAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath) + // Delete a Review + // (DELETE /collections/{collectionId}/reviews/{assetId}/{ruleId}) + DeleteReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params DeleteReviewByAssetRuleParams) + // Return the Review for an Asset and Rule + // (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}) + GetReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params GetReviewByAssetRuleParams) + // Merge the provided properties with an existing Review + // (PATCH /collections/{collectionId}/reviews/{assetId}/{ruleId}) + PatchReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params PatchReviewByAssetRuleParams) + // Set all properties of a Review + // (PUT /collections/{collectionId}/reviews/{assetId}/{ruleId}) + PutReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params PutReviewByAssetRuleParams) + // Return the metadata for Review + // (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata) + GetReviewMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) + // Merge the provided object to a Review metadata + // (PATCH /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata) + PatchReviewMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) + // Set a Review metadata to the provided object + // (PUT /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata) + PutReviewMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) + // Return the keys of the provided Review's metadata + // (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys) + GetReviewMetadataKeys(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) + // Remove the provided Review metadata key + // (DELETE /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}) + DeleteReviewMetadataKey(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, key MetadataKeyPath) + // Return the value of the provided Review metadata key + // (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}) + GetReviewMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, key MetadataKeyPath) + // Set the value of the provided Review metadata key to the provided string + // (PUT /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}) + PutReviewMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, key MetadataKeyPath) + // Return the STIGs mapped in the specified Collection + // (GET /collections/{collectionId}/stigs) + GetStigsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetStigsByCollectionParams) + // Return the STIG mapped in the specified Collection + // (GET /collections/{collectionId}/stigs/{benchmarkId}) + GetStigByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, params GetStigByCollectionParams) + // Set the default Revision and/or the Asset list of a STIG in a Collection + // (POST /collections/{collectionId}/stigs/{benchmarkId}) + WriteStigPropsByCollectionStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, params WriteStigPropsByCollectionStigParams) + // Get the Assets in a Collection attached to a STIG + // (GET /collections/{collectionId}/stigs/{benchmarkId}/assets) + GetAssetsByStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, params GetAssetsByStigParams) + // Set the Assets mapped to a STIG + // (PUT /collections/{collectionId}/stigs/{benchmarkId}/assets) + AttachAssetsToStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath) + // EXPERIMENTAL - Return the Assets in the specified Collection with unreviewed Rules + // (GET /collections/{collectionId}/unreviewed/assets) + GetUnreviewedAssetsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetUnreviewedAssetsByCollectionParams) + // EXPERIMENTAL - Return the Rules in the specified Collection with unreviewed Assets + // (GET /collections/{collectionId}/unreviewed/rules) + GetUnreviewedRulesByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetUnreviewedRulesByCollectionParams) + // Return a User's effective access rules for the specified Collection. + // (GET /collections/{collectionId}/users/{userId}/effective-acl) + GetEffectiveAclByCollectionUser(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, userId UserIdPath) + // List jobs + // (GET /jobs) + GetJobs(w http.ResponseWriter, r *http.Request, params GetJobsParams) + // Create a new job + // (POST /jobs) + PostJob(w http.ResponseWriter, r *http.Request, params PostJobParams) + // Delete a job run by ID + // (DELETE /jobs/runs/{runId}) + DeleteRunById(w http.ResponseWriter, r *http.Request, runId JobRunIdPath, params DeleteRunByIdParams) + // Get a job run by ID + // (GET /jobs/runs/{runId}) + GetRunById(w http.ResponseWriter, r *http.Request, runId JobRunIdPath, params GetRunByIdParams) + // Get the output for a job run + // (GET /jobs/runs/{runId}/output) + GetOutputByRun(w http.ResponseWriter, r *http.Request, runId JobRunIdPath, params GetOutputByRunParams) + // List all tasks + // (GET /jobs/tasks) + GetAllTasks(w http.ResponseWriter, r *http.Request, params GetAllTasksParams) + // Delete job by ID + // (DELETE /jobs/{jobId}) + DeleteJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params DeleteJobParams) + // Get job by ID + // (GET /jobs/{jobId}) + GetJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params GetJobParams) + // Update job by ID + // (PATCH /jobs/{jobId}) + PatchJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params PatchJobParams) + // List the job runs + // (GET /jobs/{jobId}/runs) + GetRunsByJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params GetRunsByJobParams) + // Start an immediate job run + // (POST /jobs/{jobId}/runs) + RunImmediateJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params RunImmediateJobParams) + // Export application data + // (GET /op/appdata) + GetAppData(w http.ResponseWriter, r *http.Request, params GetAppDataParams) + // Import and overwrite application data + // (POST /op/appdata) + ReplaceAppData(w http.ResponseWriter, r *http.Request, params ReplaceAppDataParams) + // Get the name and data length of each table + // (GET /op/appdata/tables) + GetAppDataTables(w http.ResponseWriter, r *http.Request, params GetAppDataTablesParams) + // Return information about the application deployment + // (GET /op/appinfo) + GetAppInfo(w http.ResponseWriter, r *http.Request, params GetAppInfoParams) + // Return API version and configuration information + // (GET /op/configuration) + GetConfiguration(w http.ResponseWriter, r *http.Request) + // Return the API definition + // (GET /op/definition) + GetDefinition(w http.ResponseWriter, r *http.Request, params GetDefinitionParams) + // DEPRECATED: replaced by /op/appinfo + // (GET /op/details) + GetDetails(w http.ResponseWriter, r *http.Request, params GetDetailsParams) + // Return information about the API state + // (GET /op/state) + GetState(w http.ResponseWriter, r *http.Request) + // Stream Server-Sent Events (SSE) about changes to the current API state + // (GET /op/state/sse) + StreamStateSse(w http.ResponseWriter, r *http.Request) + // Return a list of available STIGs + // (GET /stigs) + GetSTIGs(w http.ResponseWriter, r *http.Request, params GetSTIGsParams) + // Import a STIG Benchmark + // (POST /stigs) + ImportBenchmark(w http.ResponseWriter, r *http.Request, params ImportBenchmarkParams) + // Return data for the specified CCI + // (GET /stigs/ccis/{cci}) + GetCci(w http.ResponseWriter, r *http.Request, cci string, params GetCciParams) + // Return the definition and associated check and fix for the specified Rule + // (GET /stigs/rules/{ruleId}) + GetRuleByRuleId(w http.ResponseWriter, r *http.Request, ruleId string, params GetRuleByRuleIdParams) + // Return a list of SCAP benchmarkIds mapped to Manual benchmarkIds + // (GET /stigs/scap-maps) + GetScapMap(w http.ResponseWriter, r *http.Request) + // Deletes a STIG (*** and all revisions ***) + // (DELETE /stigs/{benchmarkId}) + DeleteStigById(w http.ResponseWriter, r *http.Request, benchmarkId string, params DeleteStigByIdParams) + // Return properties of the specified STIG + // (GET /stigs/{benchmarkId}) + GetStigById(w http.ResponseWriter, r *http.Request, benchmarkId string, params GetStigByIdParams) + // Return a list of revisions for the specified STIG + // (GET /stigs/{benchmarkId}/revisions) + GetRevisionsByBenchmarkId(w http.ResponseWriter, r *http.Request, benchmarkId string, params GetRevisionsByBenchmarkIdParams) + // Deletes the specified revision of a STIG + // (DELETE /stigs/{benchmarkId}/revisions/{revisionStr}) + DeleteRevisionByString(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params DeleteRevisionByStringParams) + // Return metadata for the specified revision of a STIG + // (GET /stigs/{benchmarkId}/revisions/{revisionStr}) + GetRevisionByString(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params GetRevisionByStringParams) + // Return a list of CCIs from a STIG revision + // (GET /stigs/{benchmarkId}/revisions/{revisionStr}/ccis) + GetCcisByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string) + // Return the list of groups for the specified revision of a STIG. + // (GET /stigs/{benchmarkId}/revisions/{revisionStr}/groups) + GetGroupsByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params GetGroupsByRevisionParams) + // Return the rules, checks and fixes for a Group from a specified revision of a STIG. + // (GET /stigs/{benchmarkId}/revisions/{revisionStr}/groups/{groupId}) + GetGroupByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, groupId string, params GetGroupByRevisionParams) + // Return rule data for the specified revision of a STIG. + // (GET /stigs/{benchmarkId}/revisions/{revisionStr}/rules) + GetRulesByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params GetRulesByRevisionParams) + // Return rule data for the specified Rule in a revision of a STIG. + // (GET /stigs/{benchmarkId}/revisions/{revisionStr}/rules/{ruleId}) + GetRuleByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, ruleId string, params GetRuleByRevisionParams) + // Return the requester's user information + // (GET /user) + GetUser(w http.ResponseWriter, r *http.Request, params GetUserParams) + // Get a list of User Groups accessible to the requester + // (GET /user-groups) + GetUserGroups(w http.ResponseWriter, r *http.Request, params GetUserGroupsParams) + // Create a User Group + // (POST /user-groups) + CreateUserGroup(w http.ResponseWriter, r *http.Request, params CreateUserGroupParams) + // Delete a User Group + // (DELETE /user-groups/{userGroupId}) + DeleteUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params DeleteUserGroupParams) + // Return a User Group + // (GET /user-groups/{userGroupId}) + GetUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params GetUserGroupParams) + // Patch a User Group + // (PATCH /user-groups/{userGroupId}) + PatchUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params PatchUserGroupParams) + // Replace a User Group + // (PUT /user-groups/{userGroupId}) + PutUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params PutUserGroupParams) + // Return the requester's web-preferences + // (GET /user/web-preferences) + GetUserWebPreferences(w http.ResponseWriter, r *http.Request) + // Merge the provided object to the requester's web-preferences + // (PATCH /user/web-preferences) + PatchUserWebPreferences(w http.ResponseWriter, r *http.Request) + // Return a list of Users accessible to the requester + // (GET /users) + GetUsers(w http.ResponseWriter, r *http.Request, params GetUsersParams) + // Create a User + // (POST /users) + CreateUser(w http.ResponseWriter, r *http.Request, params CreateUserParams) + // Delete a User that has never accessed the system. + // (DELETE /users/{userId}) + DeleteUser(w http.ResponseWriter, r *http.Request, userId UserIdPath, params DeleteUserParams) + // Return a User + // (GET /users/{userId}) + GetUserByUserId(w http.ResponseWriter, r *http.Request, userId UserIdPath, params GetUserByUserIdParams) + // Merge provided properties with a User + // (PATCH /users/{userId}) + UpdateUser(w http.ResponseWriter, r *http.Request, userId UserIdPath, params UpdateUserParams) + // Set all properties of a User + // (PUT /users/{userId}) + ReplaceUser(w http.ResponseWriter, r *http.Request, userId UserIdPath, params ReplaceUserParams) +} + +// Unimplemented server implementation that returns http.StatusNotImplemented for each endpoint. + +type Unimplemented struct{} + +// Return a list of Assets accessible to the requester +// (GET /assets) +func (_ Unimplemented) GetAssets(w http.ResponseWriter, r *http.Request, params GetAssetsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete one or more Assets +// (PATCH /assets) +func (_ Unimplemented) PatchAssets(w http.ResponseWriter, r *http.Request, params PatchAssetsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create an Asset +// (POST /assets) +func (_ Unimplemented) CreateAsset(w http.ResponseWriter, r *http.Request, params CreateAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete an Asset +// (DELETE /assets/{assetId}) +func (_ Unimplemented) DeleteAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params DeleteAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return an Asset +// (GET /assets/{assetId}) +func (_ Unimplemented) GetAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params GetAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge provided properties with an Asset +// (PATCH /assets/{assetId}) +func (_ Unimplemented) UpdateAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params UpdateAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set all properties of an Asset +// (PUT /assets/{assetId}) +func (_ Unimplemented) ReplaceAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params ReplaceAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a multi-STIG CKL for an Asset and its mapped STIGs +// (GET /assets/{assetId}/checklists) +func (_ Unimplemented) GetChecklistByAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, params GetChecklistByAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return JSON summary, or CKL(B) file, or XCCDF file for an Asset and STIG +// (GET /assets/{assetId}/checklists/{benchmarkId}/{revisionStr}) +func (_ Unimplemented) GetChecklistByAssetStig(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, benchmarkId BenchmarkIdPath, revisionStr RevisionStrPath, params GetChecklistByAssetStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the metadata for Asset +// (GET /assets/{assetId}/metadata) +func (_ Unimplemented) GetAssetMetadata(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge the provided object to a Assetmetadata +// (PATCH /assets/{assetId}/metadata) +func (_ Unimplemented) PatchAssetMetadata(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set a Asset metadata to the provided object +// (PUT /assets/{assetId}/metadata) +func (_ Unimplemented) PutAssetMetadata(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the keys of the provided Asset's metadata +// (GET /assets/{assetId}/metadata/keys) +func (_ Unimplemented) GetAssetMetadataKeys(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Remove the provided Asset metadata key +// (DELETE /assets/{assetId}/metadata/keys/{key}) +func (_ Unimplemented) DeleteAssetMetadataKey(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the value of the provided Asset metadata key +// (GET /assets/{assetId}/metadata/keys/{key}) +func (_ Unimplemented) GetAssetMetadataValue(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set the value of the provided Asset metadata key to the provided string +// (PUT /assets/{assetId}/metadata/keys/{key}) +func (_ Unimplemented) PutAssetMetadataValue(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete all STIG assignments to an Asset +// (DELETE /assets/{assetId}/stigs) +func (_ Unimplemented) RemoveStigsFromAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return an Asset's STIG assignments +// (GET /assets/{assetId}/stigs) +func (_ Unimplemented) GetStigsByAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a STIG assignment to an Asset +// (DELETE /assets/{assetId}/stigs/{benchmarkId}) +func (_ Unimplemented) RemoveStigFromAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, benchmarkId BenchmarkIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Assign a STIG to an Asset +// (PUT /assets/{assetId}/stigs/{benchmarkId}) +func (_ Unimplemented) AttachStigToAsset(w http.ResponseWriter, r *http.Request, assetId AssetIdPath, benchmarkId BenchmarkIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of Collections accessible to the requester +// (GET /collections) +func (_ Unimplemented) GetCollections(w http.ResponseWriter, r *http.Request, params GetCollectionsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create a Collection +// (POST /collections) +func (_ Unimplemented) CreateCollection(w http.ResponseWriter, r *http.Request, params CreateCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return fully aggregated meta-metrics +// (GET /collections/meta/metrics/detail) +func (_ Unimplemented) GetMetricsDetailByMeta(w http.ResponseWriter, r *http.Request, params GetMetricsDetailByMetaParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return meta-metrics aggregated by Collection +// (GET /collections/meta/metrics/detail/collection) +func (_ Unimplemented) GetMetricsDetailByMetaAggCollection(w http.ResponseWriter, r *http.Request, params GetMetricsDetailByMetaAggCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return meta-metrics aggregated by STIG +// (GET /collections/meta/metrics/detail/stig) +func (_ Unimplemented) GetMetricsDetailByMetaAggStig(w http.ResponseWriter, r *http.Request, params GetMetricsDetailByMetaAggStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return fully aggregated meta-metrics +// (GET /collections/meta/metrics/summary) +func (_ Unimplemented) GetMetricsSummaryByMeta(w http.ResponseWriter, r *http.Request, params GetMetricsSummaryByMetaParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return meta-metrics aggregated by Collection +// (GET /collections/meta/metrics/summary/collection) +func (_ Unimplemented) GetMetricsSummaryByMetaAggCollection(w http.ResponseWriter, r *http.Request, params GetMetricsSummaryByMetaAggCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return meta-metrics aggregated by STIG +// (GET /collections/meta/metrics/summary/stig) +func (_ Unimplemented) GetMetricsSummaryByMetaAggStig(w http.ResponseWriter, r *http.Request, params GetMetricsSummaryByMetaAggStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a Collection +// (DELETE /collections/{collectionId}) +func (_ Unimplemented) DeleteCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params DeleteCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a Collection +// (GET /collections/{collectionId}) +func (_ Unimplemented) GetCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge provided properties with a Collection +// (PATCH /collections/{collectionId}) +func (_ Unimplemented) UpdateCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params UpdateCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set all properties of a Collection +// (PUT /collections/{collectionId}) +func (_ Unimplemented) ReplaceCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params ReplaceCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a ZIP archive containing CKL files for the supplied Assets and STIGs +// (POST /collections/{collectionId}/archive/ckl) +func (_ Unimplemented) PostCklArchiveByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params PostCklArchiveByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a ZIP archive containing CKLB files for the supplied Assets and STIGs +// (POST /collections/{collectionId}/archive/cklb) +func (_ Unimplemented) PostCklbArchiveByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params PostCklbArchiveByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a ZIP archive containing XCCDF results for the supplied Assets and STIGs +// (POST /collections/{collectionId}/archive/xccdf) +func (_ Unimplemented) PostXccdfArchiveByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create Multiple Assets +// (POST /collections/{collectionId}/assets) +func (_ Unimplemented) CreateAssets(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params CreateAssetsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the Checklist for the supplied Collection and STIG +// (GET /collections/{collectionId}/checklists/{benchmarkId}/{revisionStr}) +func (_ Unimplemented) GetChecklistByCollectionStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, revisionStr RevisionStrPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Clone an existing Collection to a new Collection +// (POST /collections/{collectionId}/clone) +func (_ Unimplemented) CloneCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params CloneCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Export reviews from a source Collection to a destination Collection +// (POST /collections/{collectionId}/export-to/{dstCollectionId}) +func (_ Unimplemented) ExportToCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, dstCollectionId DstCollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the Findings for the specified Collection +// (GET /collections/{collectionId}/findings) +func (_ Unimplemented) GetFindingsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetFindingsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return all collection grants +// (GET /collections/{collectionId}/grants) +func (_ Unimplemented) GetGrantsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetGrantsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Add Grants to a Collection +// (POST /collections/{collectionId}/grants) +func (_ Unimplemented) PostGrantsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params PostGrantsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// (DELETE /collections/{collectionId}/grants/{grantId}) +func (_ Unimplemented) DeleteGrantByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath, params DeleteGrantByCollectionGrantParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a collection grant by grantId +// (GET /collections/{collectionId}/grants/{grantId}) +func (_ Unimplemented) GetGrantByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath, params GetGrantByCollectionGrantParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Replace the properties of a Collection Grant by grantId. +// (PUT /collections/{collectionId}/grants/{grantId}) +func (_ Unimplemented) PutGrantByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath, params PutGrantByCollectionGrantParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the Access Control List for the specified Collection Grant. +// (GET /collections/{collectionId}/grants/{grantId}/acl) +func (_ Unimplemented) GetAclRulesByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set the Access Control List for the specified Collection Grant. +// (PUT /collections/{collectionId}/grants/{grantId}/acl) +func (_ Unimplemented) PutAclRulesByCollectionGrant(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, grantId GrantIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return labels of the specified Collection +// (GET /collections/{collectionId}/labels) +func (_ Unimplemented) GetCollectionLabels(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create a label in the specified Collection +// (POST /collections/{collectionId}/labels) +func (_ Unimplemented) CreateCollectionLabel(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create multiple labels in the specified Collection +// (POST /collections/{collectionId}/labels/batch) +func (_ Unimplemented) CreateCollectionLabels(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a Label +// (DELETE /collections/{collectionId}/labels/{labelId}) +func (_ Unimplemented) DeleteCollectionLabelById(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the specified Label of the specified Collection +// (GET /collections/{collectionId}/labels/{labelId}) +func (_ Unimplemented) GetCollectionLabelById(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Update an existing Label +// (PATCH /collections/{collectionId}/labels/{labelId}) +func (_ Unimplemented) PatchCollectionLabelById(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the Assets mapped to the Label +// (GET /collections/{collectionId}/labels/{labelId}/assets) +func (_ Unimplemented) GetAssetsByCollectionLabelId(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Replace the Label's Asset mappings +// (PUT /collections/{collectionId}/labels/{labelId}/assets) +func (_ Unimplemented) PutAssetsByCollectionLabelId(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, labelId LabelIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the metadata for Collection +// (GET /collections/{collectionId}/metadata) +func (_ Unimplemented) GetCollectionMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge the provided object to a Collection metadata +// (PATCH /collections/{collectionId}/metadata) +func (_ Unimplemented) PatchCollectionMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set a Collection metadata to the provided object +// (PUT /collections/{collectionId}/metadata) +func (_ Unimplemented) PutCollectionMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the keys of the provided Collection metadata +// (GET /collections/{collectionId}/metadata/keys) +func (_ Unimplemented) GetCollectionMetadataKeys(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Remove the provided Collection metadata key +// (DELETE /collections/{collectionId}/metadata/keys/{key}) +func (_ Unimplemented) DeleteCollectionMetadataKey(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the value of the provided Collection metadata key +// (GET /collections/{collectionId}/metadata/keys/{key}) +func (_ Unimplemented) GetCollectionMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set the value of the provided Collection metadata key to the provided string +// (PUT /collections/{collectionId}/metadata/keys/{key}) +func (_ Unimplemented) PutCollectionMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return unaggregated Asset/STIG metrics for the specified Collection +// (GET /collections/{collectionId}/metrics/detail) +func (_ Unimplemented) GetMetricsDetailByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metrics for the specified Collection aggregated by Asset +// (GET /collections/{collectionId}/metrics/detail/asset) +func (_ Unimplemented) GetMetricsDetailByCollectionAggAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return aggregated metrics for the specified Collection +// (GET /collections/{collectionId}/metrics/detail/collection) +func (_ Unimplemented) GetMetricsDetailByCollectionAgg(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metrics for the specified Collection aggregated by Label +// (GET /collections/{collectionId}/metrics/detail/label) +func (_ Unimplemented) GetMetricsDetailByCollectionAggLabel(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggLabelParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metrics for the specified Collection aggregated by STIG +// (GET /collections/{collectionId}/metrics/detail/stig) +func (_ Unimplemented) GetMetricsDetailByCollectionAggStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsDetailByCollectionAggStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return unaggregated Asset/STIG metrics for the specified Collection +// (GET /collections/{collectionId}/metrics/summary) +func (_ Unimplemented) GetMetricsSummaryByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metrics for the specified Collection aggregated by Asset +// (GET /collections/{collectionId}/metrics/summary/asset) +func (_ Unimplemented) GetMetricsSummaryByCollectionAggAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return aggregated metrics for the specified Collection +// (GET /collections/{collectionId}/metrics/summary/collection) +func (_ Unimplemented) GetMetricsSummaryByCollectionAgg(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metrics for the specified Collection aggregated by Label +// (GET /collections/{collectionId}/metrics/summary/label) +func (_ Unimplemented) GetMetricsSummaryByCollectionAggLabel(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggLabelParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metrics for the specified Collection aggregated by STIG +// (GET /collections/{collectionId}/metrics/summary/stig) +func (_ Unimplemented) GetMetricsSummaryByCollectionAggStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetMetricsSummaryByCollectionAggStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a POAM-like spreadsheet for the specified Collection aggregated by groupId +// (GET /collections/{collectionId}/poam) +func (_ Unimplemented) GetPoamByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetPoamByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Remove history records that meet specified criteria +// (DELETE /collections/{collectionId}/review-history) +func (_ Unimplemented) DeleteReviewHistoryByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params DeleteReviewHistoryByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return history records for the specified Collection that meet the specified criteria +// (GET /collections/{collectionId}/review-history) +func (_ Unimplemented) GetReviewHistoryByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetReviewHistoryByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return history statistics for the specified Collection +// (GET /collections/{collectionId}/review-history/stats) +func (_ Unimplemented) GetReviewHistoryStatsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetReviewHistoryStatsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of Reviews accessible to the requester +// (GET /collections/{collectionId}/reviews) +func (_ Unimplemented) GetReviewsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetReviewsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Insert, update, or merge a complete or partial Review to multiple Assets and Rules +// (POST /collections/{collectionId}/reviews) +func (_ Unimplemented) PostReviewBatch(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of Reviews for an Asset +// (GET /collections/{collectionId}/reviews/{assetId}) +func (_ Unimplemented) GetReviewsByAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, params GetReviewsByAssetParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Post one or more Reviews +// (POST /collections/{collectionId}/reviews/{assetId}) +func (_ Unimplemented) PostReviewsByAsset(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a Review +// (DELETE /collections/{collectionId}/reviews/{assetId}/{ruleId}) +func (_ Unimplemented) DeleteReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params DeleteReviewByAssetRuleParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the Review for an Asset and Rule +// (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}) +func (_ Unimplemented) GetReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params GetReviewByAssetRuleParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge the provided properties with an existing Review +// (PATCH /collections/{collectionId}/reviews/{assetId}/{ruleId}) +func (_ Unimplemented) PatchReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params PatchReviewByAssetRuleParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set all properties of a Review +// (PUT /collections/{collectionId}/reviews/{assetId}/{ruleId}) +func (_ Unimplemented) PutReviewByAssetRule(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, params PutReviewByAssetRuleParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the metadata for Review +// (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata) +func (_ Unimplemented) GetReviewMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge the provided object to a Review metadata +// (PATCH /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata) +func (_ Unimplemented) PatchReviewMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set a Review metadata to the provided object +// (PUT /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata) +func (_ Unimplemented) PutReviewMetadata(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the keys of the provided Review's metadata +// (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys) +func (_ Unimplemented) GetReviewMetadataKeys(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Remove the provided Review metadata key +// (DELETE /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}) +func (_ Unimplemented) DeleteReviewMetadataKey(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the value of the provided Review metadata key +// (GET /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}) +func (_ Unimplemented) GetReviewMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set the value of the provided Review metadata key to the provided string +// (PUT /collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}) +func (_ Unimplemented) PutReviewMetadataValue(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, assetId AssetIdPath, ruleId RuleIdPath, key MetadataKeyPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the STIGs mapped in the specified Collection +// (GET /collections/{collectionId}/stigs) +func (_ Unimplemented) GetStigsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetStigsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the STIG mapped in the specified Collection +// (GET /collections/{collectionId}/stigs/{benchmarkId}) +func (_ Unimplemented) GetStigByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, params GetStigByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set the default Revision and/or the Asset list of a STIG in a Collection +// (POST /collections/{collectionId}/stigs/{benchmarkId}) +func (_ Unimplemented) WriteStigPropsByCollectionStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, params WriteStigPropsByCollectionStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Get the Assets in a Collection attached to a STIG +// (GET /collections/{collectionId}/stigs/{benchmarkId}/assets) +func (_ Unimplemented) GetAssetsByStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath, params GetAssetsByStigParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set the Assets mapped to a STIG +// (PUT /collections/{collectionId}/stigs/{benchmarkId}/assets) +func (_ Unimplemented) AttachAssetsToStig(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, benchmarkId BenchmarkIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// EXPERIMENTAL - Return the Assets in the specified Collection with unreviewed Rules +// (GET /collections/{collectionId}/unreviewed/assets) +func (_ Unimplemented) GetUnreviewedAssetsByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetUnreviewedAssetsByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// EXPERIMENTAL - Return the Rules in the specified Collection with unreviewed Assets +// (GET /collections/{collectionId}/unreviewed/rules) +func (_ Unimplemented) GetUnreviewedRulesByCollection(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, params GetUnreviewedRulesByCollectionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a User's effective access rules for the specified Collection. +// (GET /collections/{collectionId}/users/{userId}/effective-acl) +func (_ Unimplemented) GetEffectiveAclByCollectionUser(w http.ResponseWriter, r *http.Request, collectionId CollectionIdPath, userId UserIdPath) { + w.WriteHeader(http.StatusNotImplemented) +} + +// List jobs +// (GET /jobs) +func (_ Unimplemented) GetJobs(w http.ResponseWriter, r *http.Request, params GetJobsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create a new job +// (POST /jobs) +func (_ Unimplemented) PostJob(w http.ResponseWriter, r *http.Request, params PostJobParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a job run by ID +// (DELETE /jobs/runs/{runId}) +func (_ Unimplemented) DeleteRunById(w http.ResponseWriter, r *http.Request, runId JobRunIdPath, params DeleteRunByIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Get a job run by ID +// (GET /jobs/runs/{runId}) +func (_ Unimplemented) GetRunById(w http.ResponseWriter, r *http.Request, runId JobRunIdPath, params GetRunByIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Get the output for a job run +// (GET /jobs/runs/{runId}/output) +func (_ Unimplemented) GetOutputByRun(w http.ResponseWriter, r *http.Request, runId JobRunIdPath, params GetOutputByRunParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// List all tasks +// (GET /jobs/tasks) +func (_ Unimplemented) GetAllTasks(w http.ResponseWriter, r *http.Request, params GetAllTasksParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete job by ID +// (DELETE /jobs/{jobId}) +func (_ Unimplemented) DeleteJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params DeleteJobParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Get job by ID +// (GET /jobs/{jobId}) +func (_ Unimplemented) GetJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params GetJobParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Update job by ID +// (PATCH /jobs/{jobId}) +func (_ Unimplemented) PatchJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params PatchJobParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// List the job runs +// (GET /jobs/{jobId}/runs) +func (_ Unimplemented) GetRunsByJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params GetRunsByJobParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Start an immediate job run +// (POST /jobs/{jobId}/runs) +func (_ Unimplemented) RunImmediateJob(w http.ResponseWriter, r *http.Request, jobId JobIdPath, params RunImmediateJobParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Export application data +// (GET /op/appdata) +func (_ Unimplemented) GetAppData(w http.ResponseWriter, r *http.Request, params GetAppDataParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Import and overwrite application data +// (POST /op/appdata) +func (_ Unimplemented) ReplaceAppData(w http.ResponseWriter, r *http.Request, params ReplaceAppDataParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Get the name and data length of each table +// (GET /op/appdata/tables) +func (_ Unimplemented) GetAppDataTables(w http.ResponseWriter, r *http.Request, params GetAppDataTablesParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return information about the application deployment +// (GET /op/appinfo) +func (_ Unimplemented) GetAppInfo(w http.ResponseWriter, r *http.Request, params GetAppInfoParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return API version and configuration information +// (GET /op/configuration) +func (_ Unimplemented) GetConfiguration(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the API definition +// (GET /op/definition) +func (_ Unimplemented) GetDefinition(w http.ResponseWriter, r *http.Request, params GetDefinitionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// DEPRECATED: replaced by /op/appinfo +// (GET /op/details) +func (_ Unimplemented) GetDetails(w http.ResponseWriter, r *http.Request, params GetDetailsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return information about the API state +// (GET /op/state) +func (_ Unimplemented) GetState(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Stream Server-Sent Events (SSE) about changes to the current API state +// (GET /op/state/sse) +func (_ Unimplemented) StreamStateSse(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of available STIGs +// (GET /stigs) +func (_ Unimplemented) GetSTIGs(w http.ResponseWriter, r *http.Request, params GetSTIGsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Import a STIG Benchmark +// (POST /stigs) +func (_ Unimplemented) ImportBenchmark(w http.ResponseWriter, r *http.Request, params ImportBenchmarkParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return data for the specified CCI +// (GET /stigs/ccis/{cci}) +func (_ Unimplemented) GetCci(w http.ResponseWriter, r *http.Request, cci string, params GetCciParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the definition and associated check and fix for the specified Rule +// (GET /stigs/rules/{ruleId}) +func (_ Unimplemented) GetRuleByRuleId(w http.ResponseWriter, r *http.Request, ruleId string, params GetRuleByRuleIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of SCAP benchmarkIds mapped to Manual benchmarkIds +// (GET /stigs/scap-maps) +func (_ Unimplemented) GetScapMap(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Deletes a STIG (*** and all revisions ***) +// (DELETE /stigs/{benchmarkId}) +func (_ Unimplemented) DeleteStigById(w http.ResponseWriter, r *http.Request, benchmarkId string, params DeleteStigByIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return properties of the specified STIG +// (GET /stigs/{benchmarkId}) +func (_ Unimplemented) GetStigById(w http.ResponseWriter, r *http.Request, benchmarkId string, params GetStigByIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of revisions for the specified STIG +// (GET /stigs/{benchmarkId}/revisions) +func (_ Unimplemented) GetRevisionsByBenchmarkId(w http.ResponseWriter, r *http.Request, benchmarkId string, params GetRevisionsByBenchmarkIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Deletes the specified revision of a STIG +// (DELETE /stigs/{benchmarkId}/revisions/{revisionStr}) +func (_ Unimplemented) DeleteRevisionByString(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params DeleteRevisionByStringParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return metadata for the specified revision of a STIG +// (GET /stigs/{benchmarkId}/revisions/{revisionStr}) +func (_ Unimplemented) GetRevisionByString(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params GetRevisionByStringParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of CCIs from a STIG revision +// (GET /stigs/{benchmarkId}/revisions/{revisionStr}/ccis) +func (_ Unimplemented) GetCcisByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the list of groups for the specified revision of a STIG. +// (GET /stigs/{benchmarkId}/revisions/{revisionStr}/groups) +func (_ Unimplemented) GetGroupsByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params GetGroupsByRevisionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the rules, checks and fixes for a Group from a specified revision of a STIG. +// (GET /stigs/{benchmarkId}/revisions/{revisionStr}/groups/{groupId}) +func (_ Unimplemented) GetGroupByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, groupId string, params GetGroupByRevisionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return rule data for the specified revision of a STIG. +// (GET /stigs/{benchmarkId}/revisions/{revisionStr}/rules) +func (_ Unimplemented) GetRulesByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, params GetRulesByRevisionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return rule data for the specified Rule in a revision of a STIG. +// (GET /stigs/{benchmarkId}/revisions/{revisionStr}/rules/{ruleId}) +func (_ Unimplemented) GetRuleByRevision(w http.ResponseWriter, r *http.Request, benchmarkId string, revisionStr string, ruleId string, params GetRuleByRevisionParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the requester's user information +// (GET /user) +func (_ Unimplemented) GetUser(w http.ResponseWriter, r *http.Request, params GetUserParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Get a list of User Groups accessible to the requester +// (GET /user-groups) +func (_ Unimplemented) GetUserGroups(w http.ResponseWriter, r *http.Request, params GetUserGroupsParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create a User Group +// (POST /user-groups) +func (_ Unimplemented) CreateUserGroup(w http.ResponseWriter, r *http.Request, params CreateUserGroupParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a User Group +// (DELETE /user-groups/{userGroupId}) +func (_ Unimplemented) DeleteUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params DeleteUserGroupParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a User Group +// (GET /user-groups/{userGroupId}) +func (_ Unimplemented) GetUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params GetUserGroupParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Patch a User Group +// (PATCH /user-groups/{userGroupId}) +func (_ Unimplemented) PatchUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params PatchUserGroupParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Replace a User Group +// (PUT /user-groups/{userGroupId}) +func (_ Unimplemented) PutUserGroup(w http.ResponseWriter, r *http.Request, userGroupId UserGroupIdPath, params PutUserGroupParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return the requester's web-preferences +// (GET /user/web-preferences) +func (_ Unimplemented) GetUserWebPreferences(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge the provided object to the requester's web-preferences +// (PATCH /user/web-preferences) +func (_ Unimplemented) PatchUserWebPreferences(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a list of Users accessible to the requester +// (GET /users) +func (_ Unimplemented) GetUsers(w http.ResponseWriter, r *http.Request, params GetUsersParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Create a User +// (POST /users) +func (_ Unimplemented) CreateUser(w http.ResponseWriter, r *http.Request, params CreateUserParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Delete a User that has never accessed the system. +// (DELETE /users/{userId}) +func (_ Unimplemented) DeleteUser(w http.ResponseWriter, r *http.Request, userId UserIdPath, params DeleteUserParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Return a User +// (GET /users/{userId}) +func (_ Unimplemented) GetUserByUserId(w http.ResponseWriter, r *http.Request, userId UserIdPath, params GetUserByUserIdParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Merge provided properties with a User +// (PATCH /users/{userId}) +func (_ Unimplemented) UpdateUser(w http.ResponseWriter, r *http.Request, userId UserIdPath, params UpdateUserParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// Set all properties of a User +// (PUT /users/{userId}) +func (_ Unimplemented) ReplaceUser(w http.ResponseWriter, r *http.Request, userId UserIdPath, params ReplaceUserParams) { + w.WriteHeader(http.StatusNotImplemented) +} + +// ServerInterfaceWrapper converts contexts to parameters. +type ServerInterfaceWrapper struct { + Handler ServerInterface + HandlerMiddlewares []MiddlewareFunc + ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) +} + +type MiddlewareFunc func(http.Handler) http.Handler + +// GetAssets operation middleware +func (siw *ServerInterfaceWrapper) GetAssets(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAssetsParams + + // ------------- Required query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, true, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "name" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "name", r.URL.Query(), ¶ms.Name, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "name"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "name", Err: err}) + } + return + } + + // ------------- Optional query parameter "name-match" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "name-match", r.URL.Query(), ¶ms.NameMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "name-match"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "name-match", Err: err}) + } + return + } + + // ------------- Optional query parameter "metadata" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "metadata", r.URL.Query(), ¶ms.Metadata, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "metadata"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "metadata", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAssets(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchAssets operation middleware +func (siw *ServerInterfaceWrapper) PatchAssets(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PatchAssetsParams + + // ------------- Required query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, true, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchAssets(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateAsset operation middleware +func (siw *ServerInterfaceWrapper) CreateAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params CreateAssetParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateAsset(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteAsset operation middleware +func (siw *ServerInterfaceWrapper) DeleteAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteAssetParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteAsset(w, r, assetId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAsset operation middleware +func (siw *ServerInterfaceWrapper) GetAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAssetParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAsset(w, r, assetId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// UpdateAsset operation middleware +func (siw *ServerInterfaceWrapper) UpdateAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params UpdateAssetParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.UpdateAsset(w, r, assetId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// ReplaceAsset operation middleware +func (siw *ServerInterfaceWrapper) ReplaceAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params ReplaceAssetParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.ReplaceAsset(w, r, assetId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetChecklistByAsset operation middleware +func (siw *ServerInterfaceWrapper) GetChecklistByAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetChecklistByAssetParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetChecklistByAsset(w, r, assetId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetChecklistByAssetStig operation middleware +func (siw *ServerInterfaceWrapper) GetChecklistByAssetStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr RevisionStrPath + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetChecklistByAssetStigParams + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetChecklistByAssetStig(w, r, assetId, benchmarkId, revisionStr, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAssetMetadata operation middleware +func (siw *ServerInterfaceWrapper) GetAssetMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAssetMetadata(w, r, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchAssetMetadata operation middleware +func (siw *ServerInterfaceWrapper) PatchAssetMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchAssetMetadata(w, r, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutAssetMetadata operation middleware +func (siw *ServerInterfaceWrapper) PutAssetMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutAssetMetadata(w, r, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAssetMetadataKeys operation middleware +func (siw *ServerInterfaceWrapper) GetAssetMetadataKeys(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAssetMetadataKeys(w, r, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteAssetMetadataKey operation middleware +func (siw *ServerInterfaceWrapper) DeleteAssetMetadataKey(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteAssetMetadataKey(w, r, assetId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAssetMetadataValue operation middleware +func (siw *ServerInterfaceWrapper) GetAssetMetadataValue(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAssetMetadataValue(w, r, assetId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutAssetMetadataValue operation middleware +func (siw *ServerInterfaceWrapper) PutAssetMetadataValue(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutAssetMetadataValue(w, r, assetId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// RemoveStigsFromAsset operation middleware +func (siw *ServerInterfaceWrapper) RemoveStigsFromAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.RemoveStigsFromAsset(w, r, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetStigsByAsset operation middleware +func (siw *ServerInterfaceWrapper) GetStigsByAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetStigsByAsset(w, r, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// RemoveStigFromAsset operation middleware +func (siw *ServerInterfaceWrapper) RemoveStigFromAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.RemoveStigFromAsset(w, r, assetId, benchmarkId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// AttachStigToAsset operation middleware +func (siw *ServerInterfaceWrapper) AttachStigToAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.AttachStigToAsset(w, r, assetId, benchmarkId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollections operation middleware +func (siw *ServerInterfaceWrapper) GetCollections(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetCollectionsParams + + // ------------- Optional query parameter "name" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "name", r.URL.Query(), ¶ms.Name, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "name"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "name", Err: err}) + } + return + } + + // ------------- Optional query parameter "name-match" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "name-match", r.URL.Query(), ¶ms.NameMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "name-match"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "name-match", Err: err}) + } + return + } + + // ------------- Optional query parameter "metadata" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "metadata", r.URL.Query(), ¶ms.Metadata, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "metadata"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "metadata", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollections(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateCollection operation middleware +func (siw *ServerInterfaceWrapper) CreateCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params CreateCollectionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateCollection(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByMeta operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByMeta(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByMetaParams + + // ------------- Optional query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByMeta(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByMetaAggCollection operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByMetaAggCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByMetaAggCollectionParams + + // ------------- Optional query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "revisionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "revisionId", r.URL.Query(), ¶ms.RevisionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "revisionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByMetaAggCollection(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByMetaAggStig operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByMetaAggStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByMetaAggStigParams + + // ------------- Optional query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByMetaAggStig(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByMeta operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByMeta(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByMetaParams + + // ------------- Optional query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByMeta(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByMetaAggCollection operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByMetaAggCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByMetaAggCollectionParams + + // ------------- Optional query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "revisionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "revisionId", r.URL.Query(), ¶ms.RevisionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "revisionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByMetaAggCollection(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByMetaAggStig operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByMetaAggStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByMetaAggStigParams + + // ------------- Optional query parameter "collectionId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "collectionId", r.URL.Query(), ¶ms.CollectionId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "collectionId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByMetaAggStig(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteCollection operation middleware +func (siw *ServerInterfaceWrapper) DeleteCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteCollectionParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollection operation middleware +func (siw *ServerInterfaceWrapper) GetCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetCollectionParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// UpdateCollection operation middleware +func (siw *ServerInterfaceWrapper) UpdateCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params UpdateCollectionParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.UpdateCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// ReplaceCollection operation middleware +func (siw *ServerInterfaceWrapper) ReplaceCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params ReplaceCollectionParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.ReplaceCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostCklArchiveByCollection operation middleware +func (siw *ServerInterfaceWrapper) PostCklArchiveByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PostCklArchiveByCollectionParams + + // ------------- Optional query parameter "mode" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "mode", r.URL.Query(), ¶ms.Mode, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "mode"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "mode", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostCklArchiveByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostCklbArchiveByCollection operation middleware +func (siw *ServerInterfaceWrapper) PostCklbArchiveByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PostCklbArchiveByCollectionParams + + // ------------- Optional query parameter "mode" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "mode", r.URL.Query(), ¶ms.Mode, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "mode"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "mode", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostCklbArchiveByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostXccdfArchiveByCollection operation middleware +func (siw *ServerInterfaceWrapper) PostXccdfArchiveByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostXccdfArchiveByCollection(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateAssets operation middleware +func (siw *ServerInterfaceWrapper) CreateAssets(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params CreateAssetsParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + // ------------- Optional query parameter "dryRun" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "dryRun", r.URL.Query(), ¶ms.DryRun, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "dryRun"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "dryRun", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateAssets(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetChecklistByCollectionStig operation middleware +func (siw *ServerInterfaceWrapper) GetChecklistByCollectionStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr RevisionStrPath + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetChecklistByCollectionStig(w, r, collectionId, benchmarkId, revisionStr) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CloneCollection operation middleware +func (siw *ServerInterfaceWrapper) CloneCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params CloneCollectionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CloneCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// ExportToCollection operation middleware +func (siw *ServerInterfaceWrapper) ExportToCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "dstCollectionId" ------------- + var dstCollectionId DstCollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "dstCollectionId", chi.URLParam(r, "dstCollectionId"), &dstCollectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "dstCollectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.ExportToCollection(w, r, collectionId, dstCollectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetFindingsByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetFindingsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetFindingsByCollectionParams + + // ------------- Required query parameter "aggregator" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, true, "aggregator", r.URL.Query(), ¶ms.Aggregator, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "aggregator"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "aggregator", Err: err}) + } + return + } + + // ------------- Optional query parameter "acceptedOnly" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "acceptedOnly", r.URL.Query(), ¶ms.AcceptedOnly, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "acceptedOnly"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "acceptedOnly", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetFindingsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetGrantsByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetGrantsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetGrantsByCollectionParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetGrantsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostGrantsByCollection operation middleware +func (siw *ServerInterfaceWrapper) PostGrantsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PostGrantsByCollectionParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostGrantsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteGrantByCollectionGrant operation middleware +func (siw *ServerInterfaceWrapper) DeleteGrantByCollectionGrant(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "grantId" ------------- + var grantId GrantIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "grantId", chi.URLParam(r, "grantId"), &grantId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "grantId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteGrantByCollectionGrantParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteGrantByCollectionGrant(w, r, collectionId, grantId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetGrantByCollectionGrant operation middleware +func (siw *ServerInterfaceWrapper) GetGrantByCollectionGrant(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "grantId" ------------- + var grantId GrantIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "grantId", chi.URLParam(r, "grantId"), &grantId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "grantId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetGrantByCollectionGrantParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetGrantByCollectionGrant(w, r, collectionId, grantId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutGrantByCollectionGrant operation middleware +func (siw *ServerInterfaceWrapper) PutGrantByCollectionGrant(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "grantId" ------------- + var grantId GrantIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "grantId", chi.URLParam(r, "grantId"), &grantId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "grantId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PutGrantByCollectionGrantParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutGrantByCollectionGrant(w, r, collectionId, grantId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAclRulesByCollectionGrant operation middleware +func (siw *ServerInterfaceWrapper) GetAclRulesByCollectionGrant(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "grantId" ------------- + var grantId GrantIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "grantId", chi.URLParam(r, "grantId"), &grantId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "grantId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAclRulesByCollectionGrant(w, r, collectionId, grantId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutAclRulesByCollectionGrant operation middleware +func (siw *ServerInterfaceWrapper) PutAclRulesByCollectionGrant(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "grantId" ------------- + var grantId GrantIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "grantId", chi.URLParam(r, "grantId"), &grantId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "grantId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutAclRulesByCollectionGrant(w, r, collectionId, grantId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollectionLabels operation middleware +func (siw *ServerInterfaceWrapper) GetCollectionLabels(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollectionLabels(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateCollectionLabel operation middleware +func (siw *ServerInterfaceWrapper) CreateCollectionLabel(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateCollectionLabel(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateCollectionLabels operation middleware +func (siw *ServerInterfaceWrapper) CreateCollectionLabels(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateCollectionLabels(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteCollectionLabelById operation middleware +func (siw *ServerInterfaceWrapper) DeleteCollectionLabelById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "labelId" ------------- + var labelId LabelIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "labelId", chi.URLParam(r, "labelId"), &labelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteCollectionLabelById(w, r, collectionId, labelId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollectionLabelById operation middleware +func (siw *ServerInterfaceWrapper) GetCollectionLabelById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "labelId" ------------- + var labelId LabelIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "labelId", chi.URLParam(r, "labelId"), &labelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollectionLabelById(w, r, collectionId, labelId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchCollectionLabelById operation middleware +func (siw *ServerInterfaceWrapper) PatchCollectionLabelById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "labelId" ------------- + var labelId LabelIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "labelId", chi.URLParam(r, "labelId"), &labelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchCollectionLabelById(w, r, collectionId, labelId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAssetsByCollectionLabelId operation middleware +func (siw *ServerInterfaceWrapper) GetAssetsByCollectionLabelId(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "labelId" ------------- + var labelId LabelIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "labelId", chi.URLParam(r, "labelId"), &labelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAssetsByCollectionLabelId(w, r, collectionId, labelId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutAssetsByCollectionLabelId operation middleware +func (siw *ServerInterfaceWrapper) PutAssetsByCollectionLabelId(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "labelId" ------------- + var labelId LabelIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "labelId", chi.URLParam(r, "labelId"), &labelId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutAssetsByCollectionLabelId(w, r, collectionId, labelId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollectionMetadata operation middleware +func (siw *ServerInterfaceWrapper) GetCollectionMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollectionMetadata(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchCollectionMetadata operation middleware +func (siw *ServerInterfaceWrapper) PatchCollectionMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchCollectionMetadata(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutCollectionMetadata operation middleware +func (siw *ServerInterfaceWrapper) PutCollectionMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutCollectionMetadata(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollectionMetadataKeys operation middleware +func (siw *ServerInterfaceWrapper) GetCollectionMetadataKeys(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollectionMetadataKeys(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteCollectionMetadataKey operation middleware +func (siw *ServerInterfaceWrapper) DeleteCollectionMetadataKey(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteCollectionMetadataKey(w, r, collectionId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCollectionMetadataValue operation middleware +func (siw *ServerInterfaceWrapper) GetCollectionMetadataValue(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCollectionMetadataValue(w, r, collectionId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutCollectionMetadataValue operation middleware +func (siw *ServerInterfaceWrapper) PutCollectionMetadataValue(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutCollectionMetadataValue(w, r, collectionId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByCollectionParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByCollectionAggAsset operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByCollectionAggAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByCollectionAggAssetParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByCollectionAggAsset(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByCollectionAgg operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByCollectionAgg(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByCollectionAggParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByCollectionAgg(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByCollectionAggLabel operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByCollectionAggLabel(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByCollectionAggLabelParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByCollectionAggLabel(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsDetailByCollectionAggStig operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsDetailByCollectionAggStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsDetailByCollectionAggStigParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsDetailByCollectionAggStig(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByCollectionParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByCollectionAggAsset operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByCollectionAggAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByCollectionAggAssetParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByCollectionAggAsset(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByCollectionAgg operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByCollectionAgg(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByCollectionAggParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByCollectionAgg(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByCollectionAggLabel operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByCollectionAggLabel(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByCollectionAggLabelParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByCollectionAggLabel(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetMetricsSummaryByCollectionAggStig operation middleware +func (siw *ServerInterfaceWrapper) GetMetricsSummaryByCollectionAggStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetMetricsSummaryByCollectionAggStigParams + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetMetricsSummaryByCollectionAggStig(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetPoamByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetPoamByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetPoamByCollectionParams + + // ------------- Required query parameter "aggregator" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, true, "aggregator", r.URL.Query(), ¶ms.Aggregator, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "aggregator"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "aggregator", Err: err}) + } + return + } + + // ------------- Optional query parameter "acceptedOnly" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "acceptedOnly", r.URL.Query(), ¶ms.AcceptedOnly, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "acceptedOnly"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "acceptedOnly", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "date" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "date", r.URL.Query(), ¶ms.Date, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "date"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "date", Err: err}) + } + return + } + + // ------------- Optional query parameter "office" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "office", r.URL.Query(), ¶ms.Office, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "office"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "office", Err: err}) + } + return + } + + // ------------- Optional query parameter "status" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "status"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) + } + return + } + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + // ------------- Optional query parameter "mccastPackageId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "mccastPackageId", r.URL.Query(), ¶ms.MccastPackageId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "mccastPackageId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "mccastPackageId", Err: err}) + } + return + } + + // ------------- Optional query parameter "mccastAuthName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "mccastAuthName", r.URL.Query(), ¶ms.MccastAuthName, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "mccastAuthName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "mccastAuthName", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetPoamByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteReviewHistoryByCollection operation middleware +func (siw *ServerInterfaceWrapper) DeleteReviewHistoryByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteReviewHistoryByCollectionParams + + // ------------- Required query parameter "retentionDate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, true, "retentionDate", r.URL.Query(), ¶ms.RetentionDate, runtime.BindQueryParameterOptions{Type: "string", Format: "date"}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "retentionDate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "retentionDate", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteReviewHistoryByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewHistoryByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetReviewHistoryByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetReviewHistoryByCollectionParams + + // ------------- Optional query parameter "startDate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "startDate", r.URL.Query(), ¶ms.StartDate, runtime.BindQueryParameterOptions{Type: "string", Format: "date"}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "startDate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "startDate", Err: err}) + } + return + } + + // ------------- Optional query parameter "endDate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "endDate", r.URL.Query(), ¶ms.EndDate, runtime.BindQueryParameterOptions{Type: "string", Format: "date"}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "endDate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "endDate", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "ruleId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "ruleId", r.URL.Query(), ¶ms.RuleId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "ruleId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + } + return + } + + // ------------- Optional query parameter "status" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "status"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewHistoryByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewHistoryStatsByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetReviewHistoryStatsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetReviewHistoryStatsByCollectionParams + + // ------------- Optional query parameter "startDate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "startDate", r.URL.Query(), ¶ms.StartDate, runtime.BindQueryParameterOptions{Type: "string", Format: "date"}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "startDate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "startDate", Err: err}) + } + return + } + + // ------------- Optional query parameter "endDate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "endDate", r.URL.Query(), ¶ms.EndDate, runtime.BindQueryParameterOptions{Type: "string", Format: "date"}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "endDate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "endDate", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "ruleId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "ruleId", r.URL.Query(), ¶ms.RuleId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "ruleId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + } + return + } + + // ------------- Optional query parameter "status" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "status"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewHistoryStatsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewsByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetReviewsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetReviewsByCollectionParams + + // ------------- Optional query parameter "rules" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "rules", r.URL.Query(), ¶ms.Rules, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "rules"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "rules", Err: err}) + } + return + } + + // ------------- Optional query parameter "result" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "result", r.URL.Query(), ¶ms.Result, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "result"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "result", Err: err}) + } + return + } + + // ------------- Optional query parameter "status" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "status"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) + } + return + } + + // ------------- Optional query parameter "ruleId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "ruleId", r.URL.Query(), ¶ms.RuleId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "ruleId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + } + return + } + + // ------------- Optional query parameter "groupId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "groupId", r.URL.Query(), ¶ms.GroupId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "groupId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "groupId", Err: err}) + } + return + } + + // ------------- Optional query parameter "cci" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "cci", r.URL.Query(), ¶ms.Cci, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "cci"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cci", Err: err}) + } + return + } + + // ------------- Optional query parameter "userId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "userId", r.URL.Query(), ¶ms.UserId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "userId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err}) + } + return + } + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "metadata" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "metadata", r.URL.Query(), ¶ms.Metadata, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "metadata"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "metadata", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostReviewBatch operation middleware +func (siw *ServerInterfaceWrapper) PostReviewBatch(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostReviewBatch(w, r, collectionId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewsByAsset operation middleware +func (siw *ServerInterfaceWrapper) GetReviewsByAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetReviewsByAssetParams + + // ------------- Optional query parameter "rules" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "rules", r.URL.Query(), ¶ms.Rules, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "rules"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "rules", Err: err}) + } + return + } + + // ------------- Optional query parameter "result" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "result", r.URL.Query(), ¶ms.Result, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "result"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "result", Err: err}) + } + return + } + + // ------------- Optional query parameter "status" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "status"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "metadata" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "metadata", r.URL.Query(), ¶ms.Metadata, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "metadata"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "metadata", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewsByAsset(w, r, collectionId, assetId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostReviewsByAsset operation middleware +func (siw *ServerInterfaceWrapper) PostReviewsByAsset(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostReviewsByAsset(w, r, collectionId, assetId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteReviewByAssetRule operation middleware +func (siw *ServerInterfaceWrapper) DeleteReviewByAssetRule(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteReviewByAssetRuleParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteReviewByAssetRule(w, r, collectionId, assetId, ruleId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewByAssetRule operation middleware +func (siw *ServerInterfaceWrapper) GetReviewByAssetRule(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetReviewByAssetRuleParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewByAssetRule(w, r, collectionId, assetId, ruleId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchReviewByAssetRule operation middleware +func (siw *ServerInterfaceWrapper) PatchReviewByAssetRule(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PatchReviewByAssetRuleParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchReviewByAssetRule(w, r, collectionId, assetId, ruleId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutReviewByAssetRule operation middleware +func (siw *ServerInterfaceWrapper) PutReviewByAssetRule(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PutReviewByAssetRuleParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutReviewByAssetRule(w, r, collectionId, assetId, ruleId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewMetadata operation middleware +func (siw *ServerInterfaceWrapper) GetReviewMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewMetadata(w, r, collectionId, assetId, ruleId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchReviewMetadata operation middleware +func (siw *ServerInterfaceWrapper) PatchReviewMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchReviewMetadata(w, r, collectionId, assetId, ruleId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutReviewMetadata operation middleware +func (siw *ServerInterfaceWrapper) PutReviewMetadata(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutReviewMetadata(w, r, collectionId, assetId, ruleId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewMetadataKeys operation middleware +func (siw *ServerInterfaceWrapper) GetReviewMetadataKeys(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewMetadataKeys(w, r, collectionId, assetId, ruleId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteReviewMetadataKey operation middleware +func (siw *ServerInterfaceWrapper) DeleteReviewMetadataKey(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteReviewMetadataKey(w, r, collectionId, assetId, ruleId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetReviewMetadataValue operation middleware +func (siw *ServerInterfaceWrapper) GetReviewMetadataValue(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetReviewMetadataValue(w, r, collectionId, assetId, ruleId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutReviewMetadataValue operation middleware +func (siw *ServerInterfaceWrapper) PutReviewMetadataValue(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "assetId" ------------- + var assetId AssetIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "assetId", chi.URLParam(r, "assetId"), &assetId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId RuleIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + // ------------- Path parameter "key" ------------- + var key MetadataKeyPath + + err = runtime.BindStyledParameterWithOptions("simple", "key", chi.URLParam(r, "key"), &key, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "key", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutReviewMetadataValue(w, r, collectionId, assetId, ruleId, key) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetStigsByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetStigsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetStigsByCollectionParams + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetStigsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetStigByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetStigByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetStigByCollectionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetStigByCollection(w, r, collectionId, benchmarkId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// WriteStigPropsByCollectionStig operation middleware +func (siw *ServerInterfaceWrapper) WriteStigPropsByCollectionStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params WriteStigPropsByCollectionStigParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.WriteStigPropsByCollectionStig(w, r, collectionId, benchmarkId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAssetsByStig operation middleware +func (siw *ServerInterfaceWrapper) GetAssetsByStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAssetsByStigParams + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelMatch" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelMatch", r.URL.Query(), ¶ms.LabelMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelMatch"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelMatch", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAssetsByStig(w, r, collectionId, benchmarkId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// AttachAssetsToStig operation middleware +func (siw *ServerInterfaceWrapper) AttachAssetsToStig(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId BenchmarkIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.AttachAssetsToStig(w, r, collectionId, benchmarkId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUnreviewedAssetsByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetUnreviewedAssetsByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUnreviewedAssetsByCollectionParams + + // ------------- Optional query parameter "assetId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "assetId", r.URL.Query(), ¶ms.AssetId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "assetId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "assetId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "severity" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "severity", r.URL.Query(), ¶ms.Severity, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "severity"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "severity", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUnreviewedAssetsByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUnreviewedRulesByCollection operation middleware +func (siw *ServerInterfaceWrapper) GetUnreviewedRulesByCollection(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUnreviewedRulesByCollectionParams + + // ------------- Optional query parameter "ruleId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "ruleId", r.URL.Query(), ¶ms.RuleId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "ruleId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelId", r.URL.Query(), ¶ms.LabelId, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelId", Err: err}) + } + return + } + + // ------------- Optional query parameter "labelName" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "labelName", r.URL.Query(), ¶ms.LabelName, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "labelName"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "labelName", Err: err}) + } + return + } + + // ------------- Optional query parameter "benchmarkId" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "benchmarkId", r.URL.Query(), ¶ms.BenchmarkId, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "benchmarkId"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + } + return + } + + // ------------- Optional query parameter "severity" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "severity", r.URL.Query(), ¶ms.Severity, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "severity"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "severity", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUnreviewedRulesByCollection(w, r, collectionId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetEffectiveAclByCollectionUser operation middleware +func (siw *ServerInterfaceWrapper) GetEffectiveAclByCollectionUser(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "collectionId" ------------- + var collectionId CollectionIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "collectionId", chi.URLParam(r, "collectionId"), &collectionId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "collectionId", Err: err}) + return + } + + // ------------- Path parameter "userId" ------------- + var userId UserIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userId", chi.URLParam(r, "userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:collection:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetEffectiveAclByCollectionUser(w, r, collectionId, userId) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetJobs operation middleware +func (siw *ServerInterfaceWrapper) GetJobs(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetJobsParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetJobs(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PostJob operation middleware +func (siw *ServerInterfaceWrapper) PostJob(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PostJobParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PostJob(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteRunById operation middleware +func (siw *ServerInterfaceWrapper) DeleteRunById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "runId" ------------- + var runId JobRunIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "runId", chi.URLParam(r, "runId"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "runId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteRunByIdParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteRunById(w, r, runId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRunById operation middleware +func (siw *ServerInterfaceWrapper) GetRunById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "runId" ------------- + var runId JobRunIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "runId", chi.URLParam(r, "runId"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "runId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRunByIdParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRunById(w, r, runId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetOutputByRun operation middleware +func (siw *ServerInterfaceWrapper) GetOutputByRun(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "runId" ------------- + var runId JobRunIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "runId", chi.URLParam(r, "runId"), &runId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "runId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetOutputByRunParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "after-seq" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "after-seq", r.URL.Query(), ¶ms.AfterSeq, runtime.BindQueryParameterOptions{Type: "integer", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "after-seq"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "after-seq", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetOutputByRun(w, r, runId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAllTasks operation middleware +func (siw *ServerInterfaceWrapper) GetAllTasks(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAllTasksParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAllTasks(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteJob operation middleware +func (siw *ServerInterfaceWrapper) DeleteJob(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "jobId" ------------- + var jobId JobIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "jobId", chi.URLParam(r, "jobId"), &jobId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "jobId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteJobParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteJob(w, r, jobId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetJob operation middleware +func (siw *ServerInterfaceWrapper) GetJob(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "jobId" ------------- + var jobId JobIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "jobId", chi.URLParam(r, "jobId"), &jobId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "jobId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetJobParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetJob(w, r, jobId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchJob operation middleware +func (siw *ServerInterfaceWrapper) PatchJob(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "jobId" ------------- + var jobId JobIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "jobId", chi.URLParam(r, "jobId"), &jobId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "jobId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PatchJobParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchJob(w, r, jobId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRunsByJob operation middleware +func (siw *ServerInterfaceWrapper) GetRunsByJob(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "jobId" ------------- + var jobId JobIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "jobId", chi.URLParam(r, "jobId"), &jobId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "jobId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRunsByJobParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRunsByJob(w, r, jobId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// RunImmediateJob operation middleware +func (siw *ServerInterfaceWrapper) RunImmediateJob(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "jobId" ------------- + var jobId JobIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "jobId", chi.URLParam(r, "jobId"), &jobId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "jobId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params RunImmediateJobParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.RunImmediateJob(w, r, jobId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAppData operation middleware +func (siw *ServerInterfaceWrapper) GetAppData(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAppDataParams + + // ------------- Optional query parameter "format" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "format", r.URL.Query(), ¶ms.Format, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "format"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "format", Err: err}) + } + return + } + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAppData(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// ReplaceAppData operation middleware +func (siw *ServerInterfaceWrapper) ReplaceAppData(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params ReplaceAppDataParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.ReplaceAppData(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAppDataTables operation middleware +func (siw *ServerInterfaceWrapper) GetAppDataTables(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAppDataTablesParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAppDataTables(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetAppInfo operation middleware +func (siw *ServerInterfaceWrapper) GetAppInfo(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetAppInfoParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "includeRowCounts" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "includeRowCounts", r.URL.Query(), ¶ms.IncludeRowCounts, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "includeRowCounts"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "includeRowCounts", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetAppInfo(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetConfiguration operation middleware +func (siw *ServerInterfaceWrapper) GetConfiguration(w http.ResponseWriter, r *http.Request) { + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetConfiguration(w, r) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetDefinition operation middleware +func (siw *ServerInterfaceWrapper) GetDefinition(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // Parameter object where we will unmarshal all parameters from the context + var params GetDefinitionParams + + // ------------- Optional query parameter "jsonpath" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "jsonpath", r.URL.Query(), ¶ms.Jsonpath, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "jsonpath"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "jsonpath", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetDefinition(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetDetails operation middleware +func (siw *ServerInterfaceWrapper) GetDetails(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:op:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetDetailsParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetDetails(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetState operation middleware +func (siw *ServerInterfaceWrapper) GetState(w http.ResponseWriter, r *http.Request) { + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetState(w, r) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// StreamStateSse operation middleware +func (siw *ServerInterfaceWrapper) StreamStateSse(w http.ResponseWriter, r *http.Request) { + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.StreamStateSse(w, r) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetSTIGs operation middleware +func (siw *ServerInterfaceWrapper) GetSTIGs(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetSTIGsParams + + // ------------- Optional query parameter "title" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "title", r.URL.Query(), ¶ms.Title, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "title"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "title", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetSTIGs(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// ImportBenchmark operation middleware +func (siw *ServerInterfaceWrapper) ImportBenchmark(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params ImportBenchmarkParams + + // ------------- Optional query parameter "clobber" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "clobber", r.URL.Query(), ¶ms.Clobber, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "clobber"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "clobber", Err: err}) + } + return + } + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.ImportBenchmark(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCci operation middleware +func (siw *ServerInterfaceWrapper) GetCci(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "cci" ------------- + var cci string + + err = runtime.BindStyledParameterWithOptions("simple", "cci", chi.URLParam(r, "cci"), &cci, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "cci", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetCciParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCci(w, r, cci, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRuleByRuleId operation middleware +func (siw *ServerInterfaceWrapper) GetRuleByRuleId(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "ruleId" ------------- + var ruleId string + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRuleByRuleIdParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRuleByRuleId(w, r, ruleId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetScapMap operation middleware +func (siw *ServerInterfaceWrapper) GetScapMap(w http.ResponseWriter, r *http.Request) { + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetScapMap(w, r) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteStigById operation middleware +func (siw *ServerInterfaceWrapper) DeleteStigById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteStigByIdParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "force" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "force", r.URL.Query(), ¶ms.Force, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "force"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "force", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteStigById(w, r, benchmarkId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetStigById operation middleware +func (siw *ServerInterfaceWrapper) GetStigById(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetStigByIdParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetStigById(w, r, benchmarkId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRevisionsByBenchmarkId operation middleware +func (siw *ServerInterfaceWrapper) GetRevisionsByBenchmarkId(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRevisionsByBenchmarkIdParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRevisionsByBenchmarkId(w, r, benchmarkId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteRevisionByString operation middleware +func (siw *ServerInterfaceWrapper) DeleteRevisionByString(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteRevisionByStringParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "force" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "force", r.URL.Query(), ¶ms.Force, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "force"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "force", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteRevisionByString(w, r, benchmarkId, revisionStr, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRevisionByString operation middleware +func (siw *ServerInterfaceWrapper) GetRevisionByString(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRevisionByStringParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRevisionByString(w, r, benchmarkId, revisionStr, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetCcisByRevision operation middleware +func (siw *ServerInterfaceWrapper) GetCcisByRevision(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetCcisByRevision(w, r, benchmarkId, revisionStr) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetGroupsByRevision operation middleware +func (siw *ServerInterfaceWrapper) GetGroupsByRevision(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetGroupsByRevisionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetGroupsByRevision(w, r, benchmarkId, revisionStr, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetGroupByRevision operation middleware +func (siw *ServerInterfaceWrapper) GetGroupByRevision(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + // ------------- Path parameter "groupId" ------------- + var groupId string + + err = runtime.BindStyledParameterWithOptions("simple", "groupId", chi.URLParam(r, "groupId"), &groupId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "groupId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetGroupByRevisionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetGroupByRevision(w, r, benchmarkId, revisionStr, groupId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRulesByRevision operation middleware +func (siw *ServerInterfaceWrapper) GetRulesByRevision(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRulesByRevisionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRulesByRevision(w, r, benchmarkId, revisionStr, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetRuleByRevision operation middleware +func (siw *ServerInterfaceWrapper) GetRuleByRevision(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "benchmarkId" ------------- + var benchmarkId string + + err = runtime.BindStyledParameterWithOptions("simple", "benchmarkId", chi.URLParam(r, "benchmarkId"), &benchmarkId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "benchmarkId", Err: err}) + return + } + + // ------------- Path parameter "revisionStr" ------------- + var revisionStr string + + err = runtime.BindStyledParameterWithOptions("simple", "revisionStr", chi.URLParam(r, "revisionStr"), &revisionStr, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "revisionStr", Err: err}) + return + } + + // ------------- Path parameter "ruleId" ------------- + var ruleId string + + err = runtime.BindStyledParameterWithOptions("simple", "ruleId", chi.URLParam(r, "ruleId"), &ruleId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "ruleId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:stig:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetRuleByRevisionParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetRuleByRevision(w, r, benchmarkId, revisionStr, ruleId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUser operation middleware +func (siw *ServerInterfaceWrapper) GetUser(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUserParams + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUser(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUserGroups operation middleware +func (siw *ServerInterfaceWrapper) GetUserGroups(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUserGroupsParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUserGroups(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateUserGroup operation middleware +func (siw *ServerInterfaceWrapper) CreateUserGroup(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params CreateUserGroupParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateUserGroup(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteUserGroup operation middleware +func (siw *ServerInterfaceWrapper) DeleteUserGroup(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userGroupId" ------------- + var userGroupId UserGroupIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userGroupId", chi.URLParam(r, "userGroupId"), &userGroupId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userGroupId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteUserGroupParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteUserGroup(w, r, userGroupId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUserGroup operation middleware +func (siw *ServerInterfaceWrapper) GetUserGroup(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userGroupId" ------------- + var userGroupId UserGroupIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userGroupId", chi.URLParam(r, "userGroupId"), &userGroupId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userGroupId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUserGroupParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUserGroup(w, r, userGroupId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchUserGroup operation middleware +func (siw *ServerInterfaceWrapper) PatchUserGroup(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userGroupId" ------------- + var userGroupId UserGroupIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userGroupId", chi.URLParam(r, "userGroupId"), &userGroupId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userGroupId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PatchUserGroupParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchUserGroup(w, r, userGroupId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PutUserGroup operation middleware +func (siw *ServerInterfaceWrapper) PutUserGroup(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userGroupId" ------------- + var userGroupId UserGroupIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userGroupId", chi.URLParam(r, "userGroupId"), &userGroupId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userGroupId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params PutUserGroupParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PutUserGroup(w, r, userGroupId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUserWebPreferences operation middleware +func (siw *ServerInterfaceWrapper) GetUserWebPreferences(w http.ResponseWriter, r *http.Request) { + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUserWebPreferences(w, r) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// PatchUserWebPreferences operation middleware +func (siw *ServerInterfaceWrapper) PatchUserWebPreferences(w http.ResponseWriter, r *http.Request) { + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.PatchUserWebPreferences(w, r) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUsers operation middleware +func (siw *ServerInterfaceWrapper) GetUsers(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUsersParams + + // ------------- Optional query parameter "username" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "username", r.URL.Query(), ¶ms.Username, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "username"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "username", Err: err}) + } + return + } + + // ------------- Optional query parameter "privilege" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "privilege", r.URL.Query(), ¶ms.Privilege, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "privilege"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "privilege", Err: err}) + } + return + } + + // ------------- Optional query parameter "username-match" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "username-match", r.URL.Query(), ¶ms.UsernameMatch, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "username-match"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "username-match", Err: err}) + } + return + } + + // ------------- Optional query parameter "status" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "status", r.URL.Query(), ¶ms.Status, runtime.BindQueryParameterOptions{Type: "string", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "status"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "status", Err: err}) + } + return + } + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUsers(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// CreateUser operation middleware +func (siw *ServerInterfaceWrapper) CreateUser(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params CreateUserParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.CreateUser(w, r, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// DeleteUser operation middleware +func (siw *ServerInterfaceWrapper) DeleteUser(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userId" ------------- + var userId UserIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userId", chi.URLParam(r, "userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params DeleteUserParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.DeleteUser(w, r, userId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// GetUserByUserId operation middleware +func (siw *ServerInterfaceWrapper) GetUserByUserId(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userId" ------------- + var userId UserIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userId", chi.URLParam(r, "userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user:read"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params GetUserByUserIdParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.GetUserByUserId(w, r, userId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// UpdateUser operation middleware +func (siw *ServerInterfaceWrapper) UpdateUser(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userId" ------------- + var userId UserIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userId", chi.URLParam(r, "userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params UpdateUserParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.UpdateUser(w, r, userId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +// ReplaceUser operation middleware +func (siw *ServerInterfaceWrapper) ReplaceUser(w http.ResponseWriter, r *http.Request) { + + var err error + _ = err + + // ------------- Path parameter "userId" ------------- + var userId UserIdPath + + err = runtime.BindStyledParameterWithOptions("simple", "userId", chi.URLParam(r, "userId"), &userId, runtime.BindStyledParameterOptions{ParamLocation: runtime.ParamLocationPath, Explode: false, Required: true, Type: "string", Format: ""}) + if err != nil { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "userId", Err: err}) + return + } + + ctx := r.Context() + + ctx = context.WithValue(ctx, OauthScopes, []string{"stig-manager:user"}) + + r = r.WithContext(ctx) + + // Parameter object where we will unmarshal all parameters from the context + var params ReplaceUserParams + + // ------------- Optional query parameter "elevate" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "elevate", r.URL.Query(), ¶ms.Elevate, runtime.BindQueryParameterOptions{Type: "boolean", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "elevate"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "elevate", Err: err}) + } + return + } + + // ------------- Optional query parameter "projection" ------------- + + err = runtime.BindQueryParameterWithOptions("form", true, false, "projection", r.URL.Query(), ¶ms.Projection, runtime.BindQueryParameterOptions{Type: "array", Format: ""}) + if err != nil { + var requiredError *runtime.RequiredParameterError + if errors.As(err, &requiredError) { + siw.ErrorHandlerFunc(w, r, &RequiredParamError{ParamName: "projection"}) + } else { + siw.ErrorHandlerFunc(w, r, &InvalidParamFormatError{ParamName: "projection", Err: err}) + } + return + } + + handler := http.Handler(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + siw.Handler.ReplaceUser(w, r, userId, params) + })) + + for _, middleware := range siw.HandlerMiddlewares { + handler = middleware(handler) + } + + handler.ServeHTTP(w, r) +} + +type UnescapedCookieParamError struct { + ParamName string + Err error +} + +func (e *UnescapedCookieParamError) Error() string { + return fmt.Sprintf("error unescaping cookie parameter '%s'", e.ParamName) +} + +func (e *UnescapedCookieParamError) Unwrap() error { + return e.Err +} + +type UnmarshalingParamError struct { + ParamName string + Err error +} + +func (e *UnmarshalingParamError) Error() string { + return fmt.Sprintf("Error unmarshaling parameter %s as JSON: %s", e.ParamName, e.Err.Error()) +} + +func (e *UnmarshalingParamError) Unwrap() error { + return e.Err +} + +type RequiredParamError struct { + ParamName string +} + +func (e *RequiredParamError) Error() string { + return fmt.Sprintf("Query argument %s is required, but not found", e.ParamName) +} + +type RequiredHeaderError struct { + ParamName string + Err error +} + +func (e *RequiredHeaderError) Error() string { + return fmt.Sprintf("Header parameter %s is required, but not found", e.ParamName) +} + +func (e *RequiredHeaderError) Unwrap() error { + return e.Err +} + +type InvalidParamFormatError struct { + ParamName string + Err error +} + +func (e *InvalidParamFormatError) Error() string { + return fmt.Sprintf("Invalid format for parameter %s: %s", e.ParamName, e.Err.Error()) +} + +func (e *InvalidParamFormatError) Unwrap() error { + return e.Err +} + +type TooManyValuesForParamError struct { + ParamName string + Count int +} + +func (e *TooManyValuesForParamError) Error() string { + return fmt.Sprintf("Expected one value for %s, got %d", e.ParamName, e.Count) +} + +// Handler creates http.Handler with routing matching OpenAPI spec. +func Handler(si ServerInterface) http.Handler { + return HandlerWithOptions(si, ChiServerOptions{}) +} + +type ChiServerOptions struct { + BaseURL string + BaseRouter chi.Router + Middlewares []MiddlewareFunc + ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error) +} + +// HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux. +func HandlerFromMux(si ServerInterface, r chi.Router) http.Handler { + return HandlerWithOptions(si, ChiServerOptions{ + BaseRouter: r, + }) +} + +func HandlerFromMuxWithBaseURL(si ServerInterface, r chi.Router, baseURL string) http.Handler { + return HandlerWithOptions(si, ChiServerOptions{ + BaseURL: baseURL, + BaseRouter: r, + }) +} + +// HandlerWithOptions creates http.Handler with additional options +func HandlerWithOptions(si ServerInterface, options ChiServerOptions) http.Handler { + r := options.BaseRouter + + if r == nil { + r = chi.NewRouter() + } + if options.ErrorHandlerFunc == nil { + options.ErrorHandlerFunc = func(w http.ResponseWriter, r *http.Request, err error) { + http.Error(w, err.Error(), http.StatusBadRequest) + } + } + wrapper := ServerInterfaceWrapper{ + Handler: si, + HandlerMiddlewares: options.Middlewares, + ErrorHandlerFunc: options.ErrorHandlerFunc, + } + + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets", wrapper.GetAssets) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/assets", wrapper.PatchAssets) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/assets", wrapper.CreateAsset) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/assets/{assetId}", wrapper.DeleteAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}", wrapper.GetAsset) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/assets/{assetId}", wrapper.UpdateAsset) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/assets/{assetId}", wrapper.ReplaceAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}/checklists", wrapper.GetChecklistByAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}/checklists/{benchmarkId}/{revisionStr}", wrapper.GetChecklistByAssetStig) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}/metadata", wrapper.GetAssetMetadata) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/assets/{assetId}/metadata", wrapper.PatchAssetMetadata) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/assets/{assetId}/metadata", wrapper.PutAssetMetadata) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}/metadata/keys", wrapper.GetAssetMetadataKeys) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/assets/{assetId}/metadata/keys/{key}", wrapper.DeleteAssetMetadataKey) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}/metadata/keys/{key}", wrapper.GetAssetMetadataValue) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/assets/{assetId}/metadata/keys/{key}", wrapper.PutAssetMetadataValue) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/assets/{assetId}/stigs", wrapper.RemoveStigsFromAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/assets/{assetId}/stigs", wrapper.GetStigsByAsset) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/assets/{assetId}/stigs/{benchmarkId}", wrapper.RemoveStigFromAsset) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/assets/{assetId}/stigs/{benchmarkId}", wrapper.AttachStigToAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections", wrapper.GetCollections) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections", wrapper.CreateCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/meta/metrics/detail", wrapper.GetMetricsDetailByMeta) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/meta/metrics/detail/collection", wrapper.GetMetricsDetailByMetaAggCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/meta/metrics/detail/stig", wrapper.GetMetricsDetailByMetaAggStig) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/meta/metrics/summary", wrapper.GetMetricsSummaryByMeta) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/meta/metrics/summary/collection", wrapper.GetMetricsSummaryByMetaAggCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/meta/metrics/summary/stig", wrapper.GetMetricsSummaryByMetaAggStig) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}", wrapper.DeleteCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}", wrapper.GetCollection) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/collections/{collectionId}", wrapper.UpdateCollection) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}", wrapper.ReplaceCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/archive/ckl", wrapper.PostCklArchiveByCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/archive/cklb", wrapper.PostCklbArchiveByCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/archive/xccdf", wrapper.PostXccdfArchiveByCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/assets", wrapper.CreateAssets) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/checklists/{benchmarkId}/{revisionStr}", wrapper.GetChecklistByCollectionStig) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/clone", wrapper.CloneCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/export-to/{dstCollectionId}", wrapper.ExportToCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/findings", wrapper.GetFindingsByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/grants", wrapper.GetGrantsByCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/grants", wrapper.PostGrantsByCollection) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}/grants/{grantId}", wrapper.DeleteGrantByCollectionGrant) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/grants/{grantId}", wrapper.GetGrantByCollectionGrant) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/grants/{grantId}", wrapper.PutGrantByCollectionGrant) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/grants/{grantId}/acl", wrapper.GetAclRulesByCollectionGrant) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/grants/{grantId}/acl", wrapper.PutAclRulesByCollectionGrant) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/labels", wrapper.GetCollectionLabels) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/labels", wrapper.CreateCollectionLabel) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/labels/batch", wrapper.CreateCollectionLabels) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}/labels/{labelId}", wrapper.DeleteCollectionLabelById) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/labels/{labelId}", wrapper.GetCollectionLabelById) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/collections/{collectionId}/labels/{labelId}", wrapper.PatchCollectionLabelById) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/labels/{labelId}/assets", wrapper.GetAssetsByCollectionLabelId) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/labels/{labelId}/assets", wrapper.PutAssetsByCollectionLabelId) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metadata", wrapper.GetCollectionMetadata) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/collections/{collectionId}/metadata", wrapper.PatchCollectionMetadata) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/metadata", wrapper.PutCollectionMetadata) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metadata/keys", wrapper.GetCollectionMetadataKeys) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}/metadata/keys/{key}", wrapper.DeleteCollectionMetadataKey) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metadata/keys/{key}", wrapper.GetCollectionMetadataValue) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/metadata/keys/{key}", wrapper.PutCollectionMetadataValue) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/detail", wrapper.GetMetricsDetailByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/detail/asset", wrapper.GetMetricsDetailByCollectionAggAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/detail/collection", wrapper.GetMetricsDetailByCollectionAgg) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/detail/label", wrapper.GetMetricsDetailByCollectionAggLabel) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/detail/stig", wrapper.GetMetricsDetailByCollectionAggStig) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/summary", wrapper.GetMetricsSummaryByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/summary/asset", wrapper.GetMetricsSummaryByCollectionAggAsset) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/summary/collection", wrapper.GetMetricsSummaryByCollectionAgg) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/summary/label", wrapper.GetMetricsSummaryByCollectionAggLabel) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/metrics/summary/stig", wrapper.GetMetricsSummaryByCollectionAggStig) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/poam", wrapper.GetPoamByCollection) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}/review-history", wrapper.DeleteReviewHistoryByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/review-history", wrapper.GetReviewHistoryByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/review-history/stats", wrapper.GetReviewHistoryStatsByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/reviews", wrapper.GetReviewsByCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/reviews", wrapper.PostReviewBatch) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}", wrapper.GetReviewsByAsset) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}", wrapper.PostReviewsByAsset) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}", wrapper.DeleteReviewByAssetRule) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}", wrapper.GetReviewByAssetRule) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}", wrapper.PatchReviewByAssetRule) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}", wrapper.PutReviewByAssetRule) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata", wrapper.GetReviewMetadata) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata", wrapper.PatchReviewMetadata) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata", wrapper.PutReviewMetadata) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys", wrapper.GetReviewMetadataKeys) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}", wrapper.DeleteReviewMetadataKey) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}", wrapper.GetReviewMetadataValue) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}", wrapper.PutReviewMetadataValue) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/stigs", wrapper.GetStigsByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/stigs/{benchmarkId}", wrapper.GetStigByCollection) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/collections/{collectionId}/stigs/{benchmarkId}", wrapper.WriteStigPropsByCollectionStig) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/stigs/{benchmarkId}/assets", wrapper.GetAssetsByStig) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/collections/{collectionId}/stigs/{benchmarkId}/assets", wrapper.AttachAssetsToStig) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/unreviewed/assets", wrapper.GetUnreviewedAssetsByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/unreviewed/rules", wrapper.GetUnreviewedRulesByCollection) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/collections/{collectionId}/users/{userId}/effective-acl", wrapper.GetEffectiveAclByCollectionUser) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/jobs", wrapper.GetJobs) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/jobs", wrapper.PostJob) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/jobs/runs/{runId}", wrapper.DeleteRunById) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/jobs/runs/{runId}", wrapper.GetRunById) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/jobs/runs/{runId}/output", wrapper.GetOutputByRun) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/jobs/tasks", wrapper.GetAllTasks) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/jobs/{jobId}", wrapper.DeleteJob) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/jobs/{jobId}", wrapper.GetJob) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/jobs/{jobId}", wrapper.PatchJob) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/jobs/{jobId}/runs", wrapper.GetRunsByJob) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/jobs/{jobId}/runs", wrapper.RunImmediateJob) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/appdata", wrapper.GetAppData) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/op/appdata", wrapper.ReplaceAppData) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/appdata/tables", wrapper.GetAppDataTables) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/appinfo", wrapper.GetAppInfo) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/configuration", wrapper.GetConfiguration) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/definition", wrapper.GetDefinition) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/details", wrapper.GetDetails) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/state", wrapper.GetState) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/op/state/sse", wrapper.StreamStateSse) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs", wrapper.GetSTIGs) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/stigs", wrapper.ImportBenchmark) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/ccis/{cci}", wrapper.GetCci) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/rules/{ruleId}", wrapper.GetRuleByRuleId) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/scap-maps", wrapper.GetScapMap) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/stigs/{benchmarkId}", wrapper.DeleteStigById) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}", wrapper.GetStigById) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions", wrapper.GetRevisionsByBenchmarkId) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}", wrapper.DeleteRevisionByString) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}", wrapper.GetRevisionByString) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}/ccis", wrapper.GetCcisByRevision) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}/groups", wrapper.GetGroupsByRevision) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}/groups/{groupId}", wrapper.GetGroupByRevision) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}/rules", wrapper.GetRulesByRevision) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/stigs/{benchmarkId}/revisions/{revisionStr}/rules/{ruleId}", wrapper.GetRuleByRevision) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/user", wrapper.GetUser) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/user-groups", wrapper.GetUserGroups) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/user-groups", wrapper.CreateUserGroup) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/user-groups/{userGroupId}", wrapper.DeleteUserGroup) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/user-groups/{userGroupId}", wrapper.GetUserGroup) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/user-groups/{userGroupId}", wrapper.PatchUserGroup) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/user-groups/{userGroupId}", wrapper.PutUserGroup) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/user/web-preferences", wrapper.GetUserWebPreferences) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/user/web-preferences", wrapper.PatchUserWebPreferences) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/users", wrapper.GetUsers) + }) + r.Group(func(r chi.Router) { + r.Post(options.BaseURL+"/users", wrapper.CreateUser) + }) + r.Group(func(r chi.Router) { + r.Delete(options.BaseURL+"/users/{userId}", wrapper.DeleteUser) + }) + r.Group(func(r chi.Router) { + r.Get(options.BaseURL+"/users/{userId}", wrapper.GetUserByUserId) + }) + r.Group(func(r chi.Router) { + r.Patch(options.BaseURL+"/users/{userId}", wrapper.UpdateUser) + }) + r.Group(func(r chi.Router) { + r.Put(options.BaseURL+"/users/{userId}", wrapper.ReplaceUser) + }) + + return r +} + +// Base64 encoded, compressed with deflate, json marshaled OpenAPI spec. +// Stored as a slice of fixed-width chunks rather than one concatenated +// const string: with thousands of chunks the chained `+` fold is several +// times slower for the Go compiler than parsing a slice literal. +var swaggerSpec = []string{ + "7P35ctw4sigOvwq+uifCy5QW9zZ3FPHFhCzJHvVYto5K7j5nWroSikRVoc0C2AQoqcajd/8FNhIkQRJk", + "LZbU+mOmXSKWRCIzkUjk8nUQ0HlMCSKcDfa+DmKYwDniKJG/9uP4EHL4jiZzyP87RclC/DVELEhwzDEl", + "g73B+QyBiWwA6ATwGQIwjkPI4WA4wKLBH7LfcEDgHA32BqrtYDhgwQzNoRjwvxI0GewN/s9ODsuO+sp2", + "CiAM7u+Hg33GED8O95MELmpg2gdyUpCtBvAZ5ACHiHA8wYgBCCLMJMRyOFYDLFRzFaDFHM1ZK9i64/1w", + "MMfkWHV5MxzwRSzHFcAPhoOU4D9SpD/zJEXWAk8hn7mWFkM+a1oZUUsyKxLNXQtK0B8pTlCo5vXeDrOu", + "HM7+e1CC1AP3nUA7TejvKBDg1IEYhlj8E0YgTmiMEi7A4hRgEkRpiAAmkqATxGJKGNoeDAfoLo5oiAzW", + "XIDH2bxuukEknQ/2fhswDnnKRhxK8mMcT9ngMiMRxhNMpt0JSIy0iAynif5vEQlmc5h8aWaadzgSuzRe", + "AEoQoAmY0wSBcd65jkmsJt0ZxQKuF7NY/fsyDBidH793s0txaf1YprDCIsRLiC8bZs/96ALkQYAfOvsI", + "uNl+nLGO2J8JShAJ0Hr46CDAS2zYwcFxzX4FAfbep4MAj/SCBERfohMaom5QqUZjsVUzBA7++QHMxY64", + "YdOfcuBCNIFpxOUnQsWO6u2YpxEX65B/rqJfQEujSG1sH0EUWL3rJJHdprsosuHrJYvsAXoLo3wQt0gq", + "rbGfTCoutQT6MkReAb55h1YO/UMXWtBom9MEEvmPlAllezigt0T9Q6gFmHEcMEu0RXCMojWJtQx5I46n", + "jwSB60UEe+hYcBHLOlBymCzO0jocHE8AQ1ws+lp0vx6CGCWiJwM3MMIhFO3ALeYzmnLxjQlIyRSI2+F2", + "jYAI5YyF1Wu4x5RGCBLJ8IeMb0TYhsV5ViexjiJ0A3ndya2/SgoS8gEElHB0x8VFG/AZZkCAgRgHeKIa", + "YCYQPMecoxC8DCDZD+eYvKpBMlLjuw/2CYwYGrqwfkTCw3qg/4EZp8kCIMITgV2x8QACjueIcTiPAZyo", + "TUCAxSgQWxACREJBDqiOHJCa0ls/UsqR7CIgfodJiMl0fzpN0BRymtSxs26gUD5RvRigRGFbs/ii7qaa", + "Dd9IIIZ5kzRCkpamCU1j+S+hAl5Kdv2AyFQQ8xuXBqWX0yqdPsVO2ZQgniZkbQcaTWOphacRso+uIMDr", + "EU7vaBLUEaP8BiABUK5hCFgazAAUPB+iCHE0VNLglqZRCCifoeQWMwQI5WCMcl6qN2IFndnnvTjylxBW", + "sr9bTk3V0L3lkwZNgympcgktUI5Qg7mc5n0hU+0zyB760azIfx30/jMdL0E9P9Oxm3Z+F8P2phwJlNyd", + "n+n4LCXLQQjU2e+AMknJclBK2BSgjBIBZC2F/zz69FE0AOguThBj9deZ3xklGs4u59N3P/4oIfkgtPpu", + "GDNHp0CY7O5GV6RG7o0wDZkNZQ26RkhoNkzb0cWtPZ/bhbL8a8freQZSj5u57HsCeTBrXAXKlmG0Vn3v", + "aliKHHXgOudJGkVuS4gE5yOcI09oDFKBnLgBmI/qex/Myq59cHuCOBQa/T/Roi8hz/UQ4AtauOlZfain", + "5RhyjhLR7/+9/O3i4vbiYvvyL6/+a+DCvgG42wmXw2tDu3cDoxSBGOJEnjFM7hyYC6IQV51PY3Fo1BGQ", + "Gcm9Zc417W2//rtrXf02LsEB6/i6Z45NMKbhwv+NL7cbCplp2Q31z4DduHlF0GUT5/6D3grES4wDOIWY", + "MC4BvRbAXOfbWAOr+M/WvMLEObzoDgbcAtj8ZhwmnP2KJZkiEpp/iruagKJ+OTUrkasU/GAtQkAHYBDQ", + "RCj+YqHZ0hTQfgt03actoE4pnD/wO5ITmQLuRvL9RXKnuDWffto/MZT8EqNtcHSyPxoNwcnBwf7o/FUf", + "QpYjWIRhfqshayBO8A2O0BS1nKafGUr0Fbp4YY7NAIM6NTX/XkUrDOdYcluCIEdXuTXWDe0Z4kI/o6Th", + "2n8or1Ng1nb7RzCJsBKmpLSmxEzTaApIbGB6KzYlA8EZusHoVpsu5FNs6/3iTN6iQSJ7ZuvODXGuXYvQ", + "DYqEBBUXtTSCCeaLdRhG13LvUDh66Pcu6ywVwsMyQOgtWiNuzhBLo1wGualXNPG+J9jjWoR6Ji6XNfjX", + "gglsAXkFBZOEziXCzQdBseIuI+hQPSCbLcnNk9sX6e7u98E4kf9FcxjHKCwOCckC3KCkNBJkDE8JCs0R", + "1eTZkVmIHEJV/2tLzWxJVxiJq45pOKw2zP5BKN/K21m/tgpN9I8awSewPZIOGo3bqnw4Om6rGlfd3vLZ", + "2GPlsHXxFev5UpxkfRl4aTlDbGmq3UpQhCBDrwA4ngAzkyWtMZN2wBLvSDUCciD6cjlhzjbDXC2+xVEE", + "xgigeaxkvFsaGBDdKF9euTfLGvFkKb+YXGr89stXjcArks7vz75qNMpf4D/gRQQ5YvwFuKyx4OQQ9T69", + "rVUpzpFqYu8FnikydpqbtP7ZE07VPQexRd3TEkDJUxsqh+TsYDwtgfHQBUyIOMSReTIYDoIZCr4MhoMJ", + "vtMyR7l+rFHspBEaoRsk9LO2LZMnokPXY7q/H26s1h2tNjascu3wTi/uu1UggozQHykitS8s52LR4gos", + "7qVMtwUknY9RktkKUgJoyuOU6+enBKMbtC3ErhCwGc6GAEaR3Vq+cAo1G4V1IlS+Jm4x9EcBc3NM8FxQ", + "0262bEw4miIlL0YC4GXeMMdoIo6Y0o6LURvvLszM2/ch8zG4ZhgB72bNAhE6KO4zUTcqFCqj58pWe51m", + "I18Dquxxa3jzOcdcim1psFA/lkODFDCP4bVrVStnKNGvfb0PdDFG8fmxeKyn+Ry9z3YLTsma2e+HvlfG", + "0yy3+hR/vTcuaZDzBI9T3p+XGUqW3MX6/Vty66xdW+qR2waytCEZlL2gOs3cmJeELh9o0IlwDL3covFp", + "o0t1BvDDpnsHhRd8LDOhIH60Lnp53UrgrGRa6LfBI2N8WIFlwhrP7Cvp/fKS6t7tjxOm5QZfYMzSOrzC", + "GCgdLzHFBfgvuNPGyA73AnjDIpLA39FkjMMQEfFDuggSLv4J4zjCgXS/3JHPa3tfPSc7ShKaqJmq2r72", + "ORSrl+dsSJEylMzgjUQNYgwkeDrjzKDHACUG1HPIuMIgekcT5c+093WQCwUJfRD5h9kFkVCT3kKGA9fB", + "pGloX8LmOZhufJ8Pp5RGMV6xSYFIk1uLQgkl8olC/O/WKUTMSELXVeCLpWeC8tRCifYoK2Opx5KG+pXA", + "J5Iuw6kdTtQxiqgWfzI8L+UbXHM78FbI5hJLzhWT3wy8l/WIyHeeLD5NBnu/+S3N3h+vHtrWfJnPrP6y", + "Efz3xaaOevDyXpHYEOL/gEY06bET+ShPDCl9cbEx9lwSE+29bF+2bogwOOjMnKJjF9aU7TV3jmiaBMh5", + "LkrL8Iakhe4hgJLexQh5OREjVCP54/0goWQxl1Y6eGf83L/bHUpHOTiOMmW/eljG+CCCjOGJVmts9f7j", + "p49Hg+Hg82A4ePfp86fBcHDw+Vj8/2A4GA2Gg3Pxf6ODY/cxHOMDSiZ4mibZwB1IPqhA1ZzLoLyMe6Gs", + "zueYtweQiFafMnRGkPETPE285v1QaHw/HOh3HA94f9Eta/YUH6IJJtgAQQnSdFlu+7Wkml2q7r/kgJSt", + "7PMblADIQChmQCEYL6RG+fbjOwA5YPL7Nk2mF+L2Z7vK7f7ntzdbf7u8uAhfv7q42G78/fLve1svf9vd", + "+tv+1r/g1r+3Lv/y8u97FxfbhT+9ev3q1d/l3//i19bpnldMZFFQHaf/xnHJIy4aDNWfL+uHOlc8U5YT", + "IeTQcFeGdmWXF53VPcTbS3k4SOgtc4zkJoj4mExoFSbb5FTLYa2JQMTYVsSWC4IQcuRvWj/HyudVx64s", + "B5k2Ibigmi/YH5HnMCeL0R+R3Cgaot99J/+oGusTDjHu2/HMNL/vkJFFdBzJn5l8MIGsfp2le1t/SWSf", + "4mHhVSUfsWznzPCSh9yqbckwfVlP0fIMHXE8PYNkqiiiSOCJ+Pvubts6jtVb1Il6pfoXSuhHc/aJZclB", + "3nC6++MqBvqJ0zergOjNG07frAKiNz/FUcqWGai09wbrRdQV119cRBGShh0/iLDJidRHJjRjo3bSXLhV", + "1b8qCXowWplwzXV4yQWoMQ4xE38IlxtLR8J3Ff/almuuAQc09R/lg9XD80jMJzaBEuqdzheRP/1Qxxlq", + "mI64rB+ORqgTLvKFneVd700Y51I7yxDnmEw7JN4YmR73ykaPOi9iJHvdKyeRfemUOEdkWXpXZv2R9DtZ", + "nfgydmCujzCz+GEeVVtitCIk1UXm0beGOqsENqyIEisbhUU+Rca69JFaNRZdz/tjpkfpa6SCptUNhkYo", + "I9hOlH+W2vSuELu/AuFoj7QaEVkiPx2VIF1bfvphMGz0ein0XgU45TOY6sd/tWuFfSiTawHHbsBq0OdP", + "fqu7YChq9jquzwpSt0j9kzSKltv+OSRwipYbQ2YMWVKHQ+IKGvDVkk8+6FChKluvAdpr70fWWdPBgDPB", + "KAo7HFDvRHv7lDLBBd4jmFgTaww8j2nCVdKGLlmqCt30iZl2OW1VAsIMEi9SH5ljOXuNJYZzwyq3FowW", + "mXSvYxUhS94sSaQ0Qt8tP8T3yw/xw5JcUrcV7/PTtIg927lpueNGOaSsjskzhxgbxMumJRp7TMmMJMPW", + "WiE70M2E6ETzsYdZokX+0lA6eh72Mi71MLhFHY1OWgdyq5cGBcMMfaUVmRlbN+TMAPZ8wPnTvj7TFHjW", + "2WZN1oD4D8W7rcMk8EFlKFhq4bmlbBWjyWuDceNdISYrUJanGhYw0oBVZWOt4NPv/MzGYH9ExmNqOOAC", + "5E59pfleZf+9Hw5uYII7D/FL1mklptTcdKpXY4OVqReNeM1xUsHu/pgmHIVXQW5Z8xaJWV9KiMyn0KXz", + "2wVH7CpBAcI37azt6Mq0X5V3twMFpo86V+ynBPQVn8dXIWZfrvyoqnaMCV6md4/J/wFJGKHkyu9R09k1", + "jf3fcEpdbxPcsecxITQcX43TyQQlVzGl0dVYbrmMc1xypBhOxUg44YvVDDWJUjbrSMH1gyUIrWYkTjmM", + "lh0qQTC88n278hls6UFuIea9sSTo52rCFiRgvbv3XoXsLZmhV/eITuXi+3fuPTVlcoD+iFMU6XlPqB9A", + "oL5/b7F+jkifARIUUokCGfsYU0z4VcSWHCpNErSCcbT4ueJUHU59x6O3VxENvmRw9aa1bCSO52jpAa7g", + "zXT5QebwbqlBlkEGu1K5LcPe/TFhKFlmgL6MIzuro79b/xN4d5WyXDXsrHN9ihHpo+qIfoIZuvf87xQl", + "uGMfFXV8JS6TV79TTHp3ls/fvYdgAezYL6K3V3/0WTBN+NUcJVN0FYtbXY/ecqk9utHbHpN1xoy8/kme", + "Z1d4Pkch7qr22iMIsdGRc1R3Ksg/gMEMXc26Sp7KCHPceacqY9AblEyirntwPpPakhoj7NdVCZC+vXuo", + "HKZvkhKCSbfD53Pc+dBTXa4YJgFSh/mVn8WjmLTUthiUrtaFC3PlNli545Vvbm33sdY7SNt1p/Wa5nH5", + "8ri9NNxJWm4aDh3cpVnX6Muu64PzUuC8prhU4BrFtkbddqgC7gO+Rulw6zJ1OlKbQlmjJjYofw0qndMy", + "Um+wcZlhiqpGWYGok8f1UrZRdhZtUDVqkkv2VaVSVcZVxK3DQDes2PtyxaekFhS1C4euU6vBuNQE+zwu", + "KAL28V53/DoP1UzYNonQNquoZe1dzj9BDiS9rO9bpvzFNikXbbFjTOTNUFINw//udpDgqgjDhHEoI6aX", + "HKgvMMFMkoUaquthqscIaTqOUHcrou6u6EHgFfIrntz1sYIWhhJyuU9vTK8CGMMAdzQ8Vrt3vs5ic1Zp", + "MS0lKE15v0GmhjT6UoU8HHHUn8ZzI0ofhAoh1XsJX9Cid9+IkqmUr4vutpE5vLuCUURvUXgVw+AL4p27", + "972Li74zBPUB233ZUg3rizOlw5H+AzBxvPTtrFYcZuFUSjb3GCJXB7p1RvNYDSA2YT6H8RLdEzjv1luq", + "E32Po0wj697V883UinIxKRBFKyyXG8ww6TVrNgZd4gZWd4S2nNK1QrZGdDrPltoTw3WOtR6TzmO44USp", + "P/orJOGWLE6id5FyVRY7mN0hfWpkiuNcGDo0sqoodcpmF/c4ZEGthLEjpuqI20my1VOmQQf+SEN0ELvc", + "AuY0RN1eD1mMVuqhoyAw47Ys4gTNtbtnyRcnSeDirdzSXiEhYhp0x1FCYNS3vyDwc5/H2KYBPrN+QSj6", + "/D5jvZef9O1adilmMut3hgxrXRaOh8Uty4Bv2f9PLj+sJJh1VM9guH+DEtjRPk3ZSY/jhrKPXV0QKTtT", + "yX079YojyGWSq96nWTbCUCHVXnK2EBu8Ii5b9u53l0upFkp+6YZKwsyRcQiRG5xQGY7TdNGvpqWaZ4LF", + "EwItieRudej2SUW7ZObjLJhEHbt56HoeMr5Kz7LUmFLkCWJjK0PBUG1Kw2Z+ilGe+aDEi4oUzmSu2WXd", + "Iv081UoRo4IIVH3N8MzTn6UZDJQkNGk0G3UMCKrGp8O7w9Qvl0SbI2820Gdp62VLj3eG/sizGSw5ElvJ", + "SJisCFmYrGpxYqSVLC7PqehL9hkvHoenVmcpAAQPLhmLIB92VoNvOdSKMG7GWgF766FWsn1dczDk2R9K", + "Aru4vvI2OCRckS+KIsUpF3L6GJaFdgUnJQovcXMuqPPUDlpm+pwhNt3W+YRnhnvnYbMa8lzlybU6gb4q", + "YfdQhcHSDNzCOE1cUWaqBoYoU1qVsO87kvqy71Bu/mmAIit9do7naCSf/vLAls3l2LD3vMjNNF/RypCj", + "9kXs836MV3peyKEeFy9U8FCzmGFxKy6bNtMEUX02J19ZfMsECSridHVh/WsK7TxL68PIZUrZ5UTwkt1v", + "Vxn2rTLjDtWyGna4mGaqWBX1N7j17/2tf+1u/e1q6/IvWzCOMZnQrZvfdrf+dvkXnZrt8i916diKr+nV", + "wz3l9JgECZqjZUkH3kzP6O0qFDzlgnHu8aZnBcEWM8L1nxyTEN2tYqCE3q6AIaVB+4BGkZcIrD6VndHb", + "ZTN9SF323PuF1YQF10vMDK7K8kpUVNjV4tYMS6RboBoL+Q1cJ0sSuDP5dQ7BjiDzTMAtZv2Qt5bXUa0z", + "dLnUnOadOkZTyyuRySeTZWr3T9BejXrXMdi555SFjcLyPIKwC2urjQkOOL5Bx0Tg8fvdQ7hYVpWpV9tc", + "B5k9/d82Pz0VanIULT/2vec2+NuOi/KnZDV2Xck3qhXnlP8c3r/B8P4arTW1xO8SvJNJ8XstzhzSY8nh", + "yyPeu+6llVQgAiY3RE5cmZoFXXKRd875HxRyL/ol0MlqJBSSF3tMeWi1vx8OJn+Efv3eiYZCE4v9VhZb", + "adL9RVWWML0qqOYw8Jr5BAYq/YouGdvS58S088yXIucwiRgJJaJJyj3cPlVHu0MlK7wmiaHJnyI3p0Af", + "xf2Wu6EwU4Kllph71RnoTNEdEdmMh+a1aAuQkqwPsaJHnhhkRYxQyr3iP1y5UkV16JzS2pd4YLfd4J7z", + "YHbM0bzjdj98MSnQ0nFDjRj6E4hKU3rXWQzWquPBgC4cL8tAYZZXg68tcF3EnjuTlUPqFhY0tEuUl4sE", + "l0g4sz80P5WrtvL2Jone31WkyCeNZeOK83xKzlAcQVUCpEstiiXExjNjPjPmEoxZIL3V8ulhkTLtyjE/", + "/uhTOkaSHU2KqdUfmN7lXvo7zVX91qxAtvq+2ZUyKPtZqJoiLeVf3wzf7N67zeWaHXuDc6KYrl9n479Y", + "7l3TusRLutWY0ghBkjXrrbM+Xy3XcrWM1qJMP1FhX3BK6XjhijkKM/WnhgEtFWgO785bd+NENlJajkdr", + "2UieJYoFO4CTpRdvTQyfNRQYgzedZhGnUtbc8TkdzzHvArhLyq/qzPbN9ozbD/QVWj8s6VB7ussiBLqk", + "bUdK7l82MEE3mGFKfNL5ntltrb4jnvh2HfHkDN72Jd3S/tirLkJTWpc9WyP6VWi9j15UKlJNgCQhVZua", + "xSgwpakjzDigE0WnbGd0fvweSFrdviAX5AgGM91T/BFgBiABCjA11snn0XlWGpzPkCkavgDXmjyvASQh", + "ONn/35pmkrGu5XTHE1WnWf0pbyOmHTNE+FB+18XYwA2MUiSALwyIGUgZCrfBeaWpAl+tR3czDcx+MPEB", + "iWVLVHAKbmc4mOmS54WayhdkBhkYI0SAKqgQmrrKVJVIlzhtW1icoHxlCkyJ0zHKYN0G1j6oDNGi59Hx", + "+T+OzvYuyFZ5U6zi42PKZwCCa4sW1YZAQwYBuLZI81oOB5SWBm5nlCELecVxBIoxEx8E0d/ACBEuMKYG", + "XsjK2zNkIPt6YTPExWAP/BYn9AaHKLQl6OUQXNi8IhuWd2nEEzChidn46iD3qtLgkrpgJvMz6Z0XTfSR", + "Jn6FPK3Hxkt1hGvTw/e7XevX1xwQtTLlc5a/9dl28Wy72KjtooMOUFGC3MTMTiEPZvpJvt89kXUzGSrw", + "Gm2F1I5+MlU4VLYkR+UNN/8y28mynpnN+ntpaMsgoMOaQ/eiqwviPMHj1O3m75v5zi7s4Fcm47Nq1deh", + "qGkZ/Stk2LiwClx06uYC7m1RKe9s7TkIcNeTQ/VoPDACPMpmCChRa6CJ09wZFgoaNw2blz7ORxcf2H7r", + "AXGkm90PB3E6jjCb9atbm6AJSpBJu+R3HwzwmellXibKzOZZR0ig1ZQ/qKo1XZSZCgTqd+v856KZkxAP", + "Atzrkd2uUt7sAmMaCprqQ4M0ajAbrIYey/UzAjwYWkssDJ5DdelG5wfMeI8n3664WRNJr4KgPtC8zHur", + "JboCVEe0CTleI6Kkr+8hZrDdjc00lDkH/IrU2wsV8gkmiPCDnGKb+p4WGsu0QHf8DE0+YtZq8zi3moqe", + "mEeoE+V0y+UzatAUcslW2uld90brsTzJ4lyTYuvAMxR86XyPIhwVjJb5eGzBNB16KEty8ggzntmJCuy4", + "1ucSmHJ6hpisje96vQno3Cck40A1g8lC7Y/tChoiDnG0zAhTv0JrptiZ6XHuQ9bv85bKbVWjohFWs2Ea", + "c1nHIzL1SBhyZrfVpkofK2X+iKY7taPkTLXS7b0QcpY1lFWFb1DikYlPdBqZtv5ajcGjrduIf52zvjEe", + "wwGnaTBbaoAl+q5OLpYP1QxXB1+ijtZjcbc/+OcHoDJXgCki4n6HQmlHTBAMwXgBDo9H+8pm+gtGt9K/", + "ulRSajQ6Ou8oj2Sfq/P/PT1ySsl/fBqdX73778OP9V/ffz4+rP96fFr/7WT/oP7jx/0TN0jn+2fvj86v", + "/nn0v+7PRwf/uNo/O9r3FO0CoaOOSMOiU+EEKH4Xn6+OP7771NTm+Opw/3zf9eEw+1JZnfhYg5l7rxjo", + "MtH+8vnDx75n2cGnk5Ojj+cjJ6Tvjj8eHn98f3V4dL5//MHdZnT0y9HZ8fn/Xv38eXR+/O74YP/8+NPH", + "5qaffjk6Ozs+dNPG6Hz//PPINop8imWC7o+U77/DJFQvcR8pv9qP4wgHUOX4EX84k4XBa8q1yh01u1Kz", + "o/vn52fHbz+fH9Vvn8D2VdbOk0LbjXPLt6j8ZTi4m6srmTTRDA7+cXTwzw/Ho3PZ1hZ1436y7q23sDsW", + "wg58X31tkMFVbqVoBtlVDFVgZvUrDgtpgtIUhy4vnzkNUc2Dd6f7vdAXJaJcNzGYTBH3KrB2Lpseart0", + "diPoor7mjwVtIS9OhlcqVOei0lq3rKKRUA5zNnQ2oXyGEvenGDLm+uL2LRBKC+rrH+IGwLhr1NAIvKn9", + "ZPwl/MD33FJzLel0QUo9MnrVk89mNf8HrU9zPEeMw3nclcZ89emaHT/P5/VXrf3GWsUwLtpdoWmiBYBi", + "Rj/I0ZZOt9duem9dWrdd9sgc37oY9RK2/DCNmPyZUZLHp68kPikwY3uDnptZmoHN7SJVHUPpc0DbC4aZ", + "RiiPI316lI8g+VuCK6PTU/KF0FtiEmipz0x6CMnvmCjikiQwGA4m+E78XRDXZRcaU8v4TBKjgnZa0DcB", + "ObcIGjDUeWcfbsP8/LQOy+5z/U8QhJN6flPdK+5Y/3NwcPgOhDRI54hwcIv5DJwjg+xt8JFytAc+7Y/A", + "99t3IICEUA4SpL2FpOMLDHgKI/A/Jx+AIlHp89KsKGdvftppkMUydmUw4zze29nJeIFtE8z49pTe7NyJ", + "9e282f5O6dYye9uR2L23UNXyPqWdn9sDrbua3fnhu+8GPkjPTYE1t5y8gcuwSUJ059Z5Sg6KlYmt7w2j", + "KB/Klu/GP74yB3F/cIkYISXSBPW6ohnec/a1n6AMi2qcOp+acmo4TKWc4qh38EaFKHZ3nbddn9uIBYT0", + "rGFMJzUwg2fgglL0ZONNpf/S+rtMdU/i0sHJKp+s5Gm1LmekfELjkcQQ55hMuzhHmx6VR9NiaJMzEjGb", + "rhDYZJB82bjrfV6p1x0gXEZoM90eRJSgT3FLTsH6tyEtZKU3pvtskzPI84nRNAkQyCd/od3AmLSl8BnC", + "CQhokvnuYsS2gXSVxQxQOSDADIiTDxFxLshOyreWcTg9kUnEpmq4GJOz3IdXrRDABAE8JTRB4XZ+Nlq2", + "Fum4u+yiZB5Ta01q0G3w6wzxGUrK6zFroYlYmnL81U/Ixis5EPOF1izgJUbbYEHTV+AWRxEYIzDFN4gA", + "SMCnW4L0pACTvL97xXnkzhIrhjcQy5MaqOG2wf/SFMxTZnaqsOb9j4dKYVGbr/86oYnuDTgVC8o9BjWV", + "tC/G3vTCkgZzyIPZSII+KK/tIt3d/T4Yy/8gq+Ge+rCjv0gDXwZFBQ3K1VpQWIwJUYBbTtUGrmy/8lay", + "Y/a9sEo9p2zBExh8kd8iyBGzurxMiRrtVQk6M5f5XhxcrztRy3P+Uj/UaIcKmayMlv0oKqJGju5YpwMb", + "hQW2464W92tAqhuT9gQI6KKVdX01mol1/SnSYRGxTu2GcZwJtiJJizuCumWxZpK2Glb2TnGWWZ2WM/L2", + "oeWxXqE0bkPG8FQm/Ffibf/DB8C4kKb6usd0CIAcz4R36E/5HhMKIkqmKBED0gBLc7qcE9bNJ4Sj6Frt", + "QCjZMuEAGf7pBEA5hD+Ni+FoyleOp3HKwcdPJTSVBtqWPHSCeIKD/BtDMnri3yihjcsAhXUQSlAH6CmJ", + "Fu6jV+4wodUV0cTebeQ6abOpzGFb4AGZNnRYot8i/jsr4PJ86ufrvQr1uJ+qS2OvZP016ppHoo1LH5zl", + "/uFVK06iv4IxDVXcFWA8QXAuWIyg2wgTtBWiCM+x4MmfR58+gpcfD8V/X+lAHwYSFNOEm/CfOKHTREZF", + "Kd3mZUwZw+NoIYUC0JVrX0kqFX3ihAaIMR30pIOHAiotQyyLJ1C4Gkp2EwoijKJsfkmMM3iDALpBySIL", + "t8q4aqfIVvqnWD8TFEUCGVVmhmMcJnJUPgPzNOI4jhD4ejEQKii6GOyBC0vJvxjcm45DzRwwihZgQlUl", + "MDBe1A2i7GvMGgHgCVB/zbCDmQlDQ+FQsmxAldxlhsGr47I04vmwOqqrCHUek6aivYoIt8/ezItI70EW", + "iKXvUFbTFoSPUhUuh4UmEcrbeAhujYY/wQRGtUvRV3rRlyHCt4E0QuhDJ07QjRDOBmmThM6BYLQISbIU", + "J4siUiMW1TQ8ZWoeafoQ02il3ppa3jyQuZeYUZTBTqsYMwQQCWOKpWEvikCCeJoQ8I/z81OgpgHf7e6C", + "rJRxtABwwlFiRxmKGW5ghMPs8dloGBaTgBnU9CmogVFxQwBsRtMo1OBFC0CJPanYLY1tfXKaMZnajm1H", + "6FyfpAgFb7OyyckqZ5PbZhy6EFRela4vRXtOIeY5yU4ZbY52K1plG3FeRHuCCdYF5BXk7gFQXPcAj+Km", + "gHSO4o/+xj5LgC+Vc2gV515+X85dcsjCIyTyM0PJe9G5NRxStaRprJtfrij9hEKeM07vMdq69OmvN6T5", + "4F82L08+0tGdkHfn9MFqEUgC+CiViDhBMUxQQYPwUBuUVaXQy1vBUBpETfO5up9YzZX+r7eyVe9QpWIt", + "vUMfYqSbjpISsbo2/UTrImMU0dtvrXYoGnxaikeRr1aid+ghG9WOHm5gih8O8lcTl2uUZIRjwlDS1kiF", + "yIcNnnYn0m7p6+u1dk1Ii5HB0FjsbX1I83R/zeghqUPvMIrCI2VN349uG/PXO0lFW+LtlUI1jmuB+elb", + "aS41xlA/K5lbX3t8t5nf+uul94rfmRmXXnMGu++qN7hYrf/I2e+gEKSFReQbkE+Vg3c/9EzY0UhTbQpr", + "y/bc+6+SdX5b9AyucqK0Q2iVu39pg/VgecxX88KVer+5x9SEejloqlYtL8t6LI8F9k1cWLxxP7wnZZXx", + "qL38wHvTrs8ONCD3H5hxmix6Mo4sSanORFuw/Ciz76gMw29+bK7MW65Ln4/YTBWrTfVpjTsX2tR+ymnu", + "/NYh7uEQcZTMMUEMzOitzOKEuHlpFzpcpn/TCcBzrcJqxUIqdzJpFhLaudLwlIKxrZOIZd3lI/EYyTsA", + "nexdELAFXogb6Is9cEjJCy4nhmbal/9EKAboDqu8W9rLUC3xleosXfte7AElrmV33ZlT81W3NM5/L/bA", + "qNQs+wTwRKvDciqh6atv8l07Ron9Dmku9Gp841BYHT770ji6uo59ZiiRCnYsdoTJBy5OgRpiCIAMOrjF", + "DNlQO7TniYdoV/hU6PyUv26UIx+6D2HCH7r2LFdsUSdK2Q9Wjt7CZ5JGe7q6iEv3Qco4nVcNHO8iOM1u", + "MjJHmvLy0CXFwRwuwOmn0XnGHPJuFlJ5MdLXVrGf2AYwy8mnn86qrg6wwNmeIr8sE2TWk5gvDnLFoeT2", + "odIBZEJgBkkYIZCkkbnny/5AH/Hi1rYFXqhXvxd74AOCN8prRDcAE6ExAMHfqqWE6MUeUKCpq6U9IngJ", + "ZZI+9Ucl6F7Jrokyer7YA9r8aV6EzWuwvj8Vnh4VZIPhQE0s9URlO3XpunLSw0wn6ocarX0CpQ7VY0h9", + "90eQbv8t8ZM2+IDXoCfvojH1kkvLjoRNHRHg/w9e5F7iL14pjBF0g5LsTFDgVUaTLTXlSLF77G6neFBa", + "8wzlDkHKjHFRw5HxIMDEGuLAjC9nUxeOfCoYRZXpeoytX9Ey1Bgwiw/pAie5gq2c2OsvrI5pau21AkZO", + "QcqQhMQLgdJmZrXEzPgwWHsCaJIhrewWYEUGFD3/nauRhhiTDTxm/pJZrEt2Vo4RwJoLvDw+HYKT/YMh", + "ePffhx+HwM6Pp62j2uqv/VvEwEKRVZYxJPNyIvhKIUOND6MEwXChtJbMS8p+FnWJ+HLut1xqFxjPva1F", + "2VWS8sPCgdZ8bDqyt//wY6PiuVRq9o755oq1AVZcjudhvI/Zz6ZdHsqsfqt6Mfu2b2WySp8/xNIL1pkg", + "bYk3N2ULFXePoFPy7qxP52jsthTgKjOh/3iSNo4mE6TC0dtSivf1oG8WKj1v6VI1Yv2sUxL1M2Uk8B+h", + "bFW4N4rRp66eW8Xrh39GmwIRpazw/OuB4TPLWvuM6d6YLlxBFW7yNWYzlEFuYYKCJOl6UHqloreKZdmB", + "rQ1vL92Di4T4qR2wLE2ySsrWGuwhKkC2ozBl2eydc0Pk6bWqmOCUw8hjTapdKWGXD9h9bfxQBjzHNfnV", + "5lh/zszpmTXzO8ua+YNlzPzOWakDyZpmmKMEw8ILF1kUXguz4QdZqG/zu0++gAq05Wnb0Ng5g0QWtnnY", + "KWWrnZFr+dIVpzKEwL19/UpUbKA+RRFzlcW0Vawo7tqvmM+Khfw2IP7Wcr94JqhSrR6v1J9KAJ6ju7XR", + "YOGE8SPIY3ZoQmsej0zBNtD1u//URY6NiObd9qxwMcfE/uubDfnOlpSUTu+jXXPa+2QG+PP51WYXppYL", + "Flv+If/bWKSeDTbdDDZrNYgUUxSX7Kzff/fXn/7qNLXWZDZ2dvdw5p7PMX+bQBLMnB6FqoEiozFqaPJJ", + "razj8ZlN3JbNOQMy44Qx8uuXwS7oYQb9Oo1mKnMhnPq1P4e1DopmuHrUncOp+2t+H3dmBqt0qBQS8KlT", + "cIhiREJEAr0npbNu7FYcKA4D1xcXDg6b8vBUMpQ3V0oQI1kpt6oCIxwfkwn1G+hkMfojks0b4C7kUe98", + "Vam1tSzjvAbJFO2+4XT3xxpvZdngJ07f7DY0ePOG0zdNI7z5KY5S77yVZZRWK/UIMmyweHjv2LkYSG2b", + "VwJKZ9eOm5lyekyCBBlPifZCpPBmekZvjUD26aEsZLJETO+c4eK86TKnLEnRpcMc3h12nENuvCDirIxF", + "q1CSXWqTY8mvZ1Q57LXPr957l8Grk6owiyO4qKtw3brE7B1mP4h65HrtkdwQBpFKPtHBEGK6uEStlHBe", + "ppSsXFDfy65rA47ykk2NuCvvxCoKB4mlMyaEwWlCAxS686/JN4FIyoyM9D2CGo502E5X63CKfScwYSd1", + "+fKqzlA1WeLqg1Fc82o3+N5OAr23alMmw9qyWLqYUqtQCALcqXxS7YTLVUPrmSm5y0s0TeNCUHh5AX1S", + "KHeoYyYE43hcc+XsW6ZktW/7vGNCaDfH3XV+/b2T07mOXXTHPTk9e4DyC7lZtcNLydGhIunWH7CgDHI+", + "5jjJwr9iPrMVirLlQU9uhVroCS7rkL/a0AKFZJ3bteOe9gry15jvNp1fieVsOt3cmq6jKw1yqkXvc+HZ", + "WSksycVurNtdan97ocm7Jtd3Sxs7TX8/pJ8nCLlUooLRtarfuTMEd6l4cWwXBWwtQ3esrjU//XCiXvD/", + "hRJaMBBhwn/6YdAcruQexjYlNg7XfuPSw9cM3m2sn+m4TwnGdj+WalVW3fHtwltuF0vTeRvosyrvdn+Z", + "L6Ct5890fCTb3Q8Hv9NxO7f/LBvJ5xzGz1Li0V608jT8q4X88KMSJqTBuYhD9oV5TH4O2ZcPupRkmofb", + "97OG6AF6bWjpBFbIzoz+ajlDy6spJx7XmfwzHeu3sbXl6VmeqPLXu65733V3zUzuPDZqtBo0HpkV5XpB", + "qxDxW/4ZCtJEC1q/Hp9IgJQCUUKht9pSmTvbA38IrC5tmLBBlcD3zhdQShhcfSGQlHccdqEilRenu9w2", + "NYKNmxolgUdBfQNgNq/u0ER3Fro7l87Z4NL8F5TT/BopgYRLVMHsQUeC3JMbGPmcjaZpT/Ir1Pos7VWS", + "4bYDLcp21hK8Nq8XSW5uCx/ffnjuwmov2fbye7js20udY5JKv6kZTWXZDrgYDAe3CH0RujwlfOYMq5Pp", + "tNqLgahmQz1tDW60rrmEab63Ht9NMU5S4tX6LNXvr4x7OPupDiOuFaolVdmyOShVHii59qlgqt8Ky5eg", + "i6d8N9Q4oayHSQ1dYhC4Nbn8+n/vt7J//+Dx7zff1XLUWUo+pTxOu7qmNCXgEvppV+3YC4/nqmGPutG2", + "vGtmXrOw7KiRq5Ez1m/VyJB8NQmYzmgnqXACcaRSObUaXfRqeyQ5giT0vgqt4l7e5y7kq68cy1O/cvqo", + "EfTUNbtynk2zwvMnu3372gTNNqrok2PV5U3VPli9+3WcQbFF2xyb9/B9pLfuCkWpIN/O7qw08QP4H+ju", + "QLZeAUOqymqhl0Oyf6KrD1k9NvV4wzziv5weoAorOZh6tMs6pPcpJLV2FLgXaqZtXsuvmM8ODGmsn5y+", + "ES7K21yLk16Xs2/EWivBjIsdarGzfiVQT2O/QFTuHeue3uEl9uan8lHt7up5pD1S8nEQBeMneJpkDlPN", + "D1kfqMohnDs8V7B4Au9Umel+5ZVPrJiJOsfV6g2hvCwzyj/Rwg2k/v5LzQ1ctkhwwPan033jd+cqaxp6", + "OSopOWh54/m/ApeC0MpK2OSPkPiFV4qG98MBjv0gjvvGJJXOJFdsEgy8YDiBgS+Vy/ZGm7DzCPl1tDtU", + "kgHpDRwWTmU2KO3npZsKNQ0dNKQUzT3fHD7KWVHg1fu19wz3Mm5XbfkHnME71nqsHNlqzGYMZgqzP/K6", + "aSouwdoirUpLzjVQvVoNXPPChChaF1GwhtTpnfbQsV0FOJqXaMI5/JfYP0q3dfGiqYdgMPG3J6q5TR0m", + "OLZ/EPL6YoXP4O3aA8rxNHcOqg8wNng2w5Zy4uexxwV0tiU30ERVF+Nkcux3jx1irK7QgPn6djGyvK46", + "DD/D01mNhKK3NUSKQpzOPVhUjJA1H6qpXHjLPehZ0yplg0e90Em/1PwPAfQ5vDunaTA7X+IRbm6078Z4", + "Y9lI2fc8WstG9yYRTeeiByaWoUtGqEwkTTrlyC93xnco7N27mBaz7yid8jk3jWLydS4xBENR5ujaawyf", + "zNK1nVPyhdBb0rN/2fZhJzB1pqgemgTWZl4TVlNERXmfDdW4GFTlHnPF7Zoc472Rk6Dfl9samWu9f2+T", + "zLz/7lQjQ8u3KHnEOs/T4vlUdxgVKr0o0WUEXkF45pLK2rLLNgiN6nBZ1jJsEwCMIg8vs7LtoM27rKjU", + "3LsgKF4gu4JRSKy0NCz520VHMExm06UhMHemrgDIfiuYP4tP7zi/jj1abv7PBE67z6569Z97lM7nUGWZ", + "fFa5n1XuZ5X7Aavck2JcsYXAijZabSJLnLg/GfWvBfk1hUPUwA0FRGz1qmN4ftxQSjBXrByWMKM1OT7Z", + "KlHLitUwdp9hDpYFw+WTVJP00bAxPckcRfdOGDatKTVDsxldqRmGTWhLzRBsQl9qgGADGpNr9mza2ofD", + "yqtjf7v3ep7qSF1OmEdgA1/Smu317mdZt5uN2sXFOi3bRjHo926uUvp1j9+uhML7hnMrUj+FCSJcFyDy", + "Cqk9K6UDX8ZjfYaCL2JuD/c/e9oDu59QeW5QkuCwS2y2Ndon3bvVYTJOaJgGvJM3Le+cRsl2TfZdwrlo", + "fz8c3KCEeTij/KKajdzPoGaZDeFQtZuxJD0YUDuhONI+La0is+j7Ur1y6GHaFpzRS+ecaDPqE/NfWBxB", + "t2puv4KAuq3giSjs1zFBQjSuncirJZs0dmzQ7fW3bct5KXyJBTAWmrH00MquL5dOiSYwUOcmlHKaI7J6", + "xHnXES7lL+1QQbja0yoZ4inuxAp13ZBVpRtOepJX8fjwFXHmVbxL1o0+SZG6+HblPSv5PbzqqNhFPM8Q", + "DJdNi1RMze7KkdTHVtI3vqZbim3V3sen6bNpVw2g0ll/zD4O8zoblQLbViUaDagFgVxwji636MmEhkn0", + "0zFB5hqkSjG/Rh/pUjCMPRqh0IXJu7PmrwnmTdRWS2MtdCNgOoVcZXReKgDnmxxCj4M8ltnu1s1Ln/n+", + "UW5sgY+XYV95aju9CfoknH1WNR+5qvmsOj5S1VFzbLPCWKsnZppku8L41uu8L4sTH/OGNf5+VoMr99H2", + "7So7ZFXlhOhIFjo3RZb2REPpsPeaBImeswkuKEzGVPZs/xHydNsqZcQ7HPEulVSsoVTX1jKvGkTbHVqu", + "umXP97NNzOrHE4Zk2XgFuXzvTqaowUTh2iFvi7E1hOl8pYObWKvV2NX5rR0+I43JjVP0KAfRRaBacVpz", + "eKeNuN/9uLvbZNQdDlKC/0iR/syTFNU8I7TurxstPcujLRFgli/+x2WX3hof5Vr+WX4Qdsqc0vf4tNe7", + "7IINFC1r1YKiD+eprleZetW1Y6bcdJ9RHlHdOx76pNerdhMnbUUo2EN2DdAlYZaePTuHBuiPFMonPSNT", + "sz9EiLHzGSQyBzSCHCXyl0u2VrJBWWf6uftUd6SAWsL2rQAwY3kR31V+T1gnFgnl8t9+eEvKhvqOaCrq", + "7ytA0ihTpR8OkhRdKe+QTHNcEmUja8zV4K1HisPOeAso4RAT9SI/xYSJO8hAJc+T//TCZ61hV5ZMXSJr", + "Wx/EfdZJ7B8OuWV3FoUUfWVaUpK50zB1QtgZYjElDPXwjEThLzDCYblETKFKk9Cs6xwDrdxy1Y832dCy", + "6ktTydHuCQS8QqkKL6vdjNvtZUpLW5YhKsfKsIpjB1Y8d/cwuzt22OMnvgXDwS2OoncQR21kLNodq0ti", + "7fc83UmLi6s1WKGnE5weO164yS91KTU3iJXfSUeZcaHLzUT29zuHS686VUuzHKoek//Iba3f/k1hObPx", + "U3wHNHbWJ/6KvpIn82w/Wqk99znvbB3qJsetSTFi/R40BPm0nqq552l5zlZkHCKVG7QbOnTnI8LFLNYY", + "LWeCu18rkGf6baRTrNCKX5E6n8rOp3sDVuuShQDoZcK0ULyQsbY9CU8CYKIsqvXysrecynw1QUJRiFgB", + "uG6O4E47RhMUtVP6oX5TQmLWF33dsw3lUmLmha0GTJ1SxnteqKCs+oYcj9iOSxRJ5+O6O5T55lKA7Riu", + "Gk0+QZB1yKK3gbtRBvQwR1L9FhhHgA2Upe1C1vqmrnvpTFkdo0zcz9T5gCsPWoFZMrgu5PDsWvPsZ/vs", + "LLERZ4ns5Mo5ddjV+9bjBlExjleFruEMY+7Uocs6gUw5grmQdGbZtDLlx3nbCG/b+zuHFrsH/hSX/QeE", + "ujEYNk/QNmqPYysyK+z4LpEXxG0m78x2vwQ7eNevc+eAHGhY9WC1xR6qzoUdDV9FBD3QbWjCUBUrxuZm", + "4tD6uD/0D0pdRd7JLidTOSdrNVXu8skqIwQZ8h3hTDfvHXzbP/uk/1nMsvRTeb/+e76SoMdiTHAxFthM", + "kG/GsESrlmXMWo2NyDKB1YkTMVGfCgf9Cb8vmXgjsGmpZtcLMdODmkPLxSHN2ekPPh//5/N/3n36/Om/", + "mgbtE8BT484nj984QQwlN/qAjyMY1BzF/XdtdVlw17bvQ4OkJgI4y8WbFXn+w48Nu5V7dZR6tMbYnxWX", + "bBHKy18uLsKvb4bf35+Zf7y8uNg2/3719/9EkCPGXzXSkc5d0HHomjGz+vlzeKcy+v9g1ZV+48ruL/qw", + "kkcOT7BWaCdKX5xDoupZUZlxwKkh6vtfkeRH58fvP6eqhHfGr6n4g2OIIMDFU7Qu539uwxSa+VWQB5JX", + "x7RbXEl6LcM403+t9K1JhOGyCgURZAxPcABr65jra4x7YbrK3D6vTQZR6RJiFqSM1U0X0iCVJoVx5M7m", + "IUXUFUFTyPGNwkQrM6g+MWW4Qx+VmOhK3efcy5/guyujYlY+ypr7VzVl4NXHumLw2Xdded5LP8tr1Tso", + "DkNJTAmN/FYfoSkMFlc47EjZc8zxVBKTmc9rurybH3iFLBgVqo6p4BoMoys8j2HA/cZMlFUZj3GkMxe0", + "d0kjVLfD+tsVS4L67/UEID9b6l6lAUNBmmC+uDK4uJqmOIS6cnMr6MzK4Vf9mB07jk94auRR+ySiceor", + "RzlMpohffUF+yOcznIRXMUz44opTX8LW1vwuEst7AbcIT2fcU/RmRsU+3uMdnv6b9tkr7ZAYS6cdWtEF", + "JDOf5bcNk5koA/eyBmXZXa21svvgLLXUim7KUxqh04TmLzldnBzL2kDjnTrA2jZToyS0DiAbFez1HWAt", + "H7Z+B+nH7mfvaaejNz8NDtZ4hmSnxPF6DwlD0iaXzvsuYloKuVMh4869RdxNGpHDgpbV2iWXXO0Pu46c", + "qndtZPoO32VaTbv0eq+bmR7nPmLqfd7y2z7TNB+sXV5iikYS19vLw5Xf+WYXNrFOrNsphc2NTmbCtTLj", + "ykS5gj4vPUV4RjeF2np//etfv3vjunSPDvZPT2C8MWsUC2D8ttjbg9vE1XRjIK7HUhxBxs+WTspoj6Kt", + "HNUzYZWmo+6MayV4LPt06Rbdx6zzEFuXEbv0SrXKsktGaJR30kEhXe3LlarkjMOEqxpP8AbiSD+TpsT+", + "pZ9UGaex01gkR7W9j0qqX5okiPBs7ja0akeLGJEQkQC3h5Mf2m3vZfhQTDFpfzo8yhqKfcck6OP/5kSy", + "Jo2ikP3xzRsPES3I5OBLNK4iMlRJPq8aUrpOUIJIIG7YQombYJTUNJQ21ytMJrT2nt3t2Hce+vjfqL5+", + "XZ2JQH6rXaP3tbPeSuDeNMOcPhlQtdvRbrnxbkNb+8Gi1MeDJoybUwforEqzjl6ec37/3V9/+mupv/xb", + "c4+amXVPz7l/+NHnUcC0rZnyB/+1/vjmTc0gvpxrhIPXg5bj/HZ06zDruU7C6We/qSmH0Dt9cak4sjhk", + "7uA8jqREgN9/HwSDYt1ouDXZ33q3u/W3y68/uStB2x6MJX11t1wLulSR+vLrm+Gb3dZha/a7OnxLAez2", + "6U7gXQedW/7LPLWss9h2PtO3Kvd9Lu2bh9BVQ7XxlaVz4eQZZfyqcy1iHF/BMEx8HHXzssuYXd2i8VUI", + "ORzrx82qP+ocBp2G1tWUE1pjHNeWYpM6uvodBTNCIzpdXMEEQWcbCfX4ChPGjTWmrg3D3PdBTShDZ2jy", + "ETPudYJ9JipuBoVrdPu3YkJ7p95vyrjvTWFptlpvCEoIOuZo3iEoqZwO3wLAdWtwTbapq/YGbWNeTtYH", + "pmKy8jzNUdPXvHbe2Vhlm9LaOmUGpNoYv8xqlRum7N1qpocecWCPghQe8D4uKS4k0D7SooUuOgiNbMqn", + "LcWXlh91HFont51Yz9yaO76fUi+Kp4biNx5xUA0WaFy+rcwuUY6iyzJt82jX5eZ9l1t2uRRMx3fPYs9G", + "k1uh3sxDIIdhAfw6LB1Iz6xPyZnyyeycqccYWN8nsEsg70GxY0XeuDLT+VqixbJyV+rUFPdhhWxCv10O", + "PU8K09/xRuGGciV7qbewguC6fVRorMaQrlWM1dGgnrUR1r5+E1PR2UfpgSbOsw8OvKNlKrWmHDjxwQhN", + "uz4ohkjVccEdYoRtkUy6RpOmFid0YRoHRt5nKpQRVdZiGpHU5yzvvNI+FLMezDTioixE+8pul5nJepnt", + "+Irrg+28T8Y01Qj5Tptw34SoPuhJejibr4UOfETHI5ComYjzrMRXhxNPjKzWQJ4Nu6raJBtVm77JSdHF", + "ESTXgys38PodPqWMf0q61xt5Rr4X8j1yQ7efUH1FEuQ8weM0c9JstDnYbe+H/fe39lx1GEMejfKlenZD", + "Qk0R1WbzWG+1bvWSejOvmGKmD5Dx/SxnTaYc1HswWMqC6P8oj5Plb+EP6eLtpMke0a8b3oSHi1B3+jON", + "FA+73WmCb3CEpqhzcrlwjklNoiNp5boqXnnKzWqJoW+Ex4ooIp/fdRD1NlGiuQ4EaQ/yK0i5NkKwZKIs", + "EG3vZltfa++1oMGM48Bb2OjWPYWUf9aFvJ+uBWHlEvfvqwpCLMfLtc8167dAS7+H08zFshXmX4utu1qw", + "DcUW6LFWiDz0a8HTOkSXlfmjAqf337WG/JQ6BL11N3UzLfYOIojnrujh8qJ1t6EbosJgTUhIC7kK6jzQ", + "L2vU0VFBgPl5PZbE0ZoVZkNZ7Q5P5YfAPh67v+Qez4UL22CE5jcoAZCBEE0wQSEYLwCfIfD24zsAOWDy", + "+zZNphek6KT5cvc/v73Z+tvlxUX4+tXFxXbj75d/39t6KdCyv/UvuPXvrcu/vPz73sXFduFPr16/evV3", + "+fe/+LV1IrcYieWD4V8rwrvL4wNMvpzQsMaPTxD7rzPI2UeVJr7F87fES9nYpYFcfFNcxGquU6teW1Vy", + "mJj8kRA6alIKUy5BpzEix+EBJQQF/HMSDfYGM87jvZ2diAYwmlHG9/7v7v/d3UkQjOZsh3E8nUOys32L", + "omhL5u/bEWPgcCugZIKnaWIKGBhA7BkG9/f3KrGfrrzCYcDzRxMZRgZOZH6UBHwajYDWRoVEyoBjezs7", + "U8xn6Xg7oPOdj59/PTg8/uXj6bmEbkulV0kqdpPBPgH7p8dgQhMg22AyBegGRqkKzwV0AkYaVeAcBTOC", + "AxiB43kcIRmOLFqB9ykOEXgpAH0FIGOIMekiu51FDpVWsX96bMUk7g1u3shUETEiMMaDvcH327vbbxTX", + "z+Te7OQlI6fK91KQCzTPI4P3iO+bwocxTOAcqXqLNfnu8iaFt5P/TpHM693aSWeg7dZeqFDdepwIZvLu", + "0ml80bjb8Cb5q3cHy1XOu4+qXK/oG1Oi+11m0dyKU7/b3TWsorPy6ISaos/O7zpls9InupVqbLjo3Vd5", + "p9ADyHbAAKpYTbs6dIC1MTZMpgR1QJISdBcrKJBuk4s4yQVauP02sMXBXq4p7SUIhoNLgWqWzucwWQz2", + "BmeIpwkBEESYcSEKFI8BlSMajyMEOJWHtjg8EOMqLSWcCs5T6Blc3ks2DmZVpj3NC4eugm0v1RmGGH9L", + "w8XKkK4APFUFhOTwagfy81Kr7UuRqDcEhrpqyFE1e6xUWCZAVfwBUIKAOKBogkBGLw4y0ybDIpWp64Rq", + "1ZXKGsTRmgit7AzmRWpvVguDJQRbhZ5NaD98993KADmIMCJcktpbqHz8pUXYAdFnEidUCCRxEQFHhGuf", + "5EdM94oKACTA0G2Z2u+HRifa+aqdce/VJUtwTJULFCeZ0dYrqvrSz+MXVA0bNmxWXJ83Zc06TNPO9DgU", + "jsNTyGdLqbQ1WpGqgJcTxZoOGl1o71uoMn9C+XCCkikCcUJvcIhCkFs7wC3msxbqTB1yQ+sHayeTXvrI", + "M70sSy8jxAGMIptQ6KSrPrATmMCeRsNJFv7zdrH2oyibS2YTEVDbY93No35DuTZFVRl4KgSRXcXnacTx", + "lrSmHfzzgzTcGbIAkIQAcwbmMI5RCEQjtvkDz7L77CcJXOTGnyKSzmcIKNOtoG1lRVB7tS0LnQz2Bn/I", + "rsZXyxh6h9b25LWpgy+RVZha/QoElVWfamQ5iCZ22flqxRXe73y1Ukvdd2GlEcfT6qVzrWiQFJzjQf8U", + "/9nSpb2GNnKGg7sgCCcuJFU2bD8z6QNZVZsBTgEmQZSGCGACfh59+ggyJGbLkGZgdBdH0qCv3olcy4oz", + "HamwtMx4l6UPTyPkqt7jepKrVmZaRAaFy9sV/YqqZESRk0RbEeGsy8+MksyTo5NovWwVrh2hl2LWF4b/", + "kUQlgKge2IpOlLWUTkDWB2hpB+SOAyHYhIh7GoJbrln/dSjWdvDPDy/fvgITHCH5+38ODg7fyZ9VmS4T", + "CX5LOe7bxUoNp7q4Ba1db67xVpwVnFujSpIXtauSg/n2FG/E4qQxGyFJbi3340sP639hl1d/jylu8Obu", + "Lk+ZsNz3W0FS2R1XPbYLFQEq0prn2+x5yT1N+TOBPKELrT7SMqmjHw9LJON7uzXD7HxBC+Z9lPxTNN7E", + "e7I1oc9jsg3fUz1uxEaZS0626XJ3XjDQLB6WOIHaiWfn6xe08H0+sfe1Qkc/VB3djuYxX0gxeENxCCIo", + "JKXpBuCEowTIaTGZCgwpi6BqdgOj9PFbLub0Bjn2PJcDXyQqO76YmH34ReJoA2JaTdTAurLBU+VdSYpu", + "5m3fyLXeUyyGzHVOH3Uip5z16RQW0bQpFj1lR5zypyo6hNLQhfYqCoU2BHkqFFnJh7pTQImykWj2LqHz", + "lVjLvXQJaQDwUCKkWfhR+6HVPaxHEVCLYwxPifQulXzR58FdbuCKHjv8XQvFrGfWpjz9vfR5j3/BKvu6", + "GQVQMnvRzu/H+pvl/D8p6dSJgTKxtMqAzVpI6zSPfc5hMJP5/Okz7WyYdvYltRjaaSYYISrykZqfza1m", + "XensobnqW2v5Ns73VQD8XPBd/Z62C761Yk8//AObM7pS6lGEbiBHlteadrKuPmJfMyRvIuzauK0sAGaA", + "xvrNGJIQBJCAMQIxTDiGUbTIVPXtC7IFjif2IJgBQnnWYigXmC8G3OIoEoPpwE91+RFt9J4DM9T2Bbkg", + "544PACZo74JcX19fEPD1ggAA9Mv2nvkJgHpntv4AACJwHKFwD7yA0S1csBfD/Ju55eUfzbf7rJV+sa4Z", + "U5czrhs1+5yNq/5hhldhzdbYAZRPyDHfA/Lx3fw9QdK/C3OUYLgHXqjkvvmsc6z7ySjaPfB9cZ4ZZpwm", + "C2uiObxTTjdsD/yoG6v/4HlME/5JUoINGkw5HWl4XzB4g8J8+jyX8x54oTHm/n5gPu6BF5go7whJcnlj", + "JC7Sh3onX+jq96XPB2ZXXuApoYn1Oc1dMk8TGrM9oOIYs2VEEb09SBmnc4XjbPGStAZDZ0iCxZf9o182", + "FZyQz/iNIxQqS3e7BTqaFWMVVunUlscqHKZqEHtzXdDJHkAfJk8iVAEUyNl59pSUK2mDF/+X4IDt5FVx", + "6xSuE9VScfHbhVBy1mz2zafbn07lfDKYGN3xnYDdFIcqe0+5rMRivKeonUxScZTD6TRBU3kUi53d0jtr", + "UYNGQQ81xA73KzkV9vZGbFeiBbDv5HFihKsHCe8UUxx1oOb96bTARBt5oyzQuC21XJkgnym/RPk2odsM", + "MF645eGj4gDjzbUxzhEb0J1ntJPt5rlFu3I+88lSfFJybnziZ0SGmVYqH6mWG1N09HzPms6zpuNLxd1U", + "nQJBfzNdJyfzZ2XnWdn5FsqOYR5PbafMNptWd3KGedZ3nvUdD2L/apcu8fCqXN05sAG74VN4Q2+31A09", + "Xj0fwWY5feo+UnCgYXxK74M+m7rM09+wkzzy9aBofshozJBRosR1Pnl8m1wZzxKrLWuGH9Gn3JV9Fumn", + "4uyvgE5ADPkMXJ9+Gp0D+0i7lvFxhHLEABzTVHmlOt67HW99+plsg9T6jVN2PJNtTfKOHi9kRVVqBybB", + "DN+gneCLfChz57s7pTJWe1+1fbtYyTNzB4n+JTqhIVr+Nbqbi9sIWXf5OSY6o/obn5JKrqS4WXj6C895", + "X2wPluOyf+O4iIAsrfEYEygTJbTeqP51fKpCyBlPEJw/KQVHrE0zAJBJkjHBZKqSoOAIMSmjhVxmqVic", + "CRBgWQQ9W57rxq1sN37mu2e++5Pw3dsNMZ7KUNPIeTLfyHpY76Gx0jPfPGq+UXlelK/lGlknS5e/AvJv", + "zavMNnLCuRNptvc7TBZn6eZyN7+VRotNX7r80yUfJgtwlhLwDuIoTbSd7M2DyKdvZFhNTkdWa9MTa0pS", + "AlgqPeInabQNfoERDlV9iliwQzgE45QDQoEMF72FDMQoYZhxFG4/DSfMkzTiOI5qk6QPO8mQlabDyyfe", + "2PtVnrmsOLdPWIm761ON7c9TsFXOIyvewpGJbCn7cp8zYGU5yZroPqIE2epm2XebyoNchdnb4TgBJIDD", + "LwgwdIMSGIE5JilH7P8HPjOUMDCHC8AQAlAIHqktkQABPI9hwMHtDBET0EOmahNomgSFkJcwTdRHzADH", + "c7R9ke7ufh+ME/lfVPx1Ar+IxsEMkiliJkKoOujtTGhgmAPMwBjJLgIDoYQ3QjDUaR4pkcKS8Ex7wYp8", + "dPN8yEaw9C/14y2a0ESaeAOEQkymQw1IglTIR4hCsKApuIUJ0WjkMygNsAuQoEkCMQGThM7BnIZ4spDg", + "Z3RgcgbULdpAL3rpIgJi8pSEKLmFC72OHQ2sK5JDLH3TN/1vGfwh1lsog1Jn1ZUtTTwaGAtwllOI7rZI", + "uCTY9bVTXO8BQha+6DLwi8euRcgtgwSgO8xkThGLYWQeN4Jul7dio7uYJnyL052voX3CamcBt9Q9kp2E", + "XJABZuClkkFDHZ6nggtVANcrJQ8guGZJkA9/rZZwXZjzeqjCB8Vi9dULk3IbgCdK3oRURiRK9GwDFfMo", + "o9esiEc6ydFngHUMCROkAvCGYnSCZP2SZDEUbWEQ0CSUh0MW02jthBXWWJFHCk3ndMMi6bC4j9/UcALv", + "jOFkd/dbmSRB4ZAThELS+Rgl8h1IDqdy3M5TxkFAZcyiOaANxDtmJdY7UvE8+oYC1dDZOmRqeewXT0Hb", + "VovKJIKWUFW9RMqoEAn5oe6uS4tbEy/cdFF7p9uUTKfrv6PpiXvG/OveT/VaZnYlv5XFKMCT4rXsW97G", + "NID72r+RJrlNzpXgHcpochR+ItHCnb1el4ctl3xdZ7HJDu2LxGpp3S0cOM2qmdfxnyrTvXHuc1dLb2Q5", + "IPs4EsT8sPt93XTZQnbe0WSMwxCRp2TpjyKQtwRTU3H9m3FlbcqO6rNZDd2tUWmTMyrTtIvsVptHYG1M", + "MP0zMkElr1IYKmmgMvEtr6ko1tn5Kv/r5Toup7fJV23mGh9aNLU4qlAylMiPR5OJgOUG/dkoo6Mn+QPa", + "O4uzxUVO6gVvIcPB8zlnv2iXTzkwXgDNq9/yvHuvQOh/PNbkCm4g0H4HpF/BnUyQtFbbUS1pGuvmlxt+", + "dPbhp7qT8lEnNJd+1SbTcI2Lr1aUcxbZXtGpuAODxjQ5+0F0lkaIbVS07gfRO5r4EIQG71nG1t36Vbkv", + "GaOU0Ah8KDzLOgwAitC2H4wEbsq+3kia6zQVq4lP057Xjo0xig93PIGE7ium8RYJGsExijxzuX5QbVfk", + "NrpuA46E1ufuqpb1FA2lanOzh/5uFtIGx8YSSXxbR+JWGlAwbzoXoya/GnJ7UtSWpTmU9GY8X7qQm5eQ", + "2hmbkNc1++06JN5aT+AClba6t38DM+CfWZRq4p4b91EtU9dG5F/lfzsmh5B4f7uQtob2yjmPNsq/NmuD", + "OYZ6J2xoQODuho6EJ1vZLucRdfT1U0fWflH7oPjOqzRrHeGsSYP5NjkWnqYGUyZUhduCZ1+jNOkoxa1o", + "o8aKfYV7vybFzRVCkddprzAUWVfsiQoq7eQ4h3GMQuNy1kAMw961dFYin5rK+NWS0xrV2JEMZfzuxx83", + "YUdaA22fm91+wUz9PBjH0j3s6RjlaxbYQt8tQs+nZn0+7nPh+g0Wrt+EbuWtLD3XKn/qxewts7SjZrU7", + "+1TlBHsmmCdX3N5BF+0V7rvo3d4F76vE9Vz1/oFVve8mRJY9vLoQlm8xfCeRPVfE71kR3yU8itXUO9v7", + "ngvkP4AC+Z33df2X7C718puo6blo/iMsml9Dj+2V8zsqKv1qun3L8lefCZw+p7f3k3cpsXLaSwPKjiyu", + "bDLeewasrSb3fY/cId2y3us4sW6dtEGyW/tOdaFlj86Fobvm7y/X6JK2/l4svT+dbq72eblWl5r5mbs9", + "i1e0cnGpqEW5nvozZz8+zu5Vt7LA3pssx1oosPvMxY54nUKRsudj+Wkzr3yL78u35v1388dyndfdM0Ov", + "5FguP+w/c/bj4+yORXELjP1cGvdJsvVaSsg9c/VGuLpHAeBvWij12Sz2bBZ75udWfva2izm4+lsYxvKq", + "rs+WsWfL2DNzNzN3vzrnm7aNuUubPzPys3Hsz86/vtYxN+tu3DyWM/KzfezZPvbM3M3M7Wkgc/P2pi1k", + "OWs/m8ieTWTPjG0zdkzhvImRTymcb7yuqpj0ySS4LjKtcscVTBXQKJ0TBkbBDIVpJBlrHkdIMtYh5GgI", + "TnCEGKcEgV8xn5W/M7vBgao4NBg6kSTDvG3kxJBzlIiW/+/l7m9vtv52+Z83v+1ufXf5asf8/u3Nd5e/", + "7Yp/ff/b7pvLVzsXF+HXH+7/y1Fjcvh1AKOI3p4hhpIb4zg6bFk6+DSZ4ADtfEqmNWBT2aAA+BzefUBk", + "KsTadz/+uDJQRrKkSA0YzHzsBIYHjRc4tSvkp5/2T8DJwcH+6BycwuALnCIZi+tawTwIION2q/Vh1IZr", + "P+UzmuB/q7IKQv41Aiia60b+8HVL+nVDwm0aI3I3j1TtVLalqCykQTpHhG+zWJyKbIYQn0fb8r9L11z9", + "U5RPgHLrtyL8RWgLGRK7aBDThKZxfWbblrNMFfrYmmHGqXrtaY6mOZPt/6GaL3XInSGxa5iSwzzLbdej", + "4nKNxqrCStXiQxeBfMwq5mgkyppwSchUbNDjL9qpw4DKq5Pl7eaCWHMiDRLMUYJh93Cg1dHViMOEd6Kp", + "IxIuQYMelR3TCHVpLlGhTtcV0bnXza+wBXWvLRV6K/R6iiK6TPeNojlnimKTdsZYd+xkUdDvCP2sMTa3", + "sK+CGNkzV5a40reTjUR3KcxNHGFy+lYOlq2eMhsLwseMd3hJ+SaM6sGbbOM2BjWvTI3dkQXOZBXMNTNb", + "N4Z+r/Rm7/YHAfZu+5mhZI0FvvrYWEzMasc9WL3A6qCLnAl29tZBnub9UJY7pxOgt8OU3h5HyMTC6ghn", + "lFgyS7UuJI8ugn1B9mXldCbrpUgbGQI0ATFMOIaRnk5MkWVb5TCZIq79xQSzgRjihG2DQxQjdUOnKsRc", + "d7aKTpg67UNZmtesZQ4XYIxUZVvxLcv6V2qQyryA4VAAOKZ8BjKJqJrQIEgT8JLhOY5gIkOqCRj99wcw", + "R8kUvdq+IBfk//wfcABT0Uf8ev36WJbvjmmOS4ZICGBWCvp2hoMZuMVRBPKUXYKDxpAhVXobyFrjIUqg", + "GCKiMJT1fWVt9TkkC8BQQEnIwEuamCLrr8RUBuPb4JyCUPDbHBME8MSaH8r6TEymck6mCDBk08EQBBGW", + "pcNhggDjCSXTaAEQCWiawKnKmadXdDGIEzSJ8HTGLwb5+kzJ3uswWZyl5BpQVfsUEbGccPv1a403XUcb", + "/AIjHEKDwvMZAlTWj4+yMTEDN6oRCgEUJ2wU0Vu2J9pvmQKyxYLBn/ZHQDGZPI+v1freQh7MrkUni8IF", + "ZaQMJWAGGRgjpKu2iKlUnn7NEMUDtbSIMQ0XigJUUdPXr8HrlyZ6/5VcMpAlkzUR69KnmAGoSNgKQQ/T", + "QO7JtUoseQ3uwHUiTsdr8JIhBMYoorevtsExByefR+cCARxiAiAHEYKCr4kd+W6Y5VrVjL4egmvlWy/+", + "pYtGi3+qz0dkigkSv02A/LXgD1PpeVsg78TwrjV6AIngqUzpkQ2hDqTX0fhGM6qWjcYMELGHEf63QsX1", + "V5WGeU/XElbjqMK/Q8DRHd8DJI0icH99oVlPYcuBeIF2W8qwoeZCSeOZlgYZQJjPULIn9mpLMHtW+1ht", + "xXF47fg0zo/Na3A7Q0lpNjlNAKMgjQwBCyQYCRxK4RTkrRnDUyLaObZzim8Qka97bCgEgsAtJkIyBQFN", + "CS/TtdAYXrBK6apthTFJVM0Ik1pZD3wlUmvqhi45ly+2VGNVSDiKALyBOJLyUii6TMrwKs70uqFEhVy4", + "Ek4wUgs/oITxBGLCMrEMYFaZeIykDCbb4HgC4gQxRPjQSjYhmXGMzH5dY8JQIllLnTTX8qS5lqfH9bYS", + "CVtZsz1ASbTQp5Z9ng1N4XU1SuU408PoOfQwNW2zsarT6GEUdHuOBvIQqoXhghxP5MgFxGh9SSMIM0kq", + "hZl0dXkjELV4xCSI0tASWsVFujuFFDEJgu6ddQZizgvy0VpLAIlomasJghQJuFYjXtePtQ2OtT0mgAwN", + "NT8sBC4UNygJpzfV2vAMBzIRsdDptoEiR7WodzgSCrKDKj/gOebMUoGYpsZMgRG6QyjUJJvTJnJAqT/J", + "tGusSLeqs+I36ww6s0t02weS4zSSaIghYwDBYGb4Tc3LwEvzD8nRdD7GQqqpdDN0igMYgf2Ph68kVAXC", + "qYFMzqG32gM6hd13ZSSYDQPQjHU9wSgKr8EQQHEekhAL5F8PJb1DcC337XobmILuWq0I0QQTnJV1n6SJ", + "3H11tDKzt0oJcmxqvhUKJRBc8yQ1ZDIEMUqEVsOkdIsTKtVzMpVA3WQak8KkHIGmXMiqFEZCisygOMdF", + "84UUY9viKJikkUDkDUoEAm7F7kEtHjP1jaZRKISE1DipkKYIRnIYa1ZJvmxbKjRlFgfX8pX/ejvTkCSW", + "A0hCqcFJWXFgfuXCJclZcSzEIGUM/E4xEauo8nqm6DXrS3IL4zhamFEUF8tnP6r4qHI7eCn0ZbJ4BYRK", + "FQQ0CYuqpWWXZUjmUTLnyjuaGJ40o71+LQnhmIApIkKrHUoeHcuNLy4pU4bk5SBBUqfLoJPoZQDdBSjm", + "QGqqEb3dVipwPmRVtZKjadGkBxWrKA4MMsiLCpr6WNTHBgzeoPBiYNSwC3NRlkSHAE/wdIoSmUVJjKIH", + "vhiA++uhB1KvM6yq/tuCTfiBNnUrDdRacEFtXXLZxbHyxQtN81oKqgIxFfdPLZ8V8sznOnft+BLQsbqI", + "5XPlBGWdwOrqVFi91uTlOWN0+RISmH42yDgwX5jEiMwXpvTrbS9iahiwgUy0tt5l+5omMmgqDJZfWTpA", + "rG4Q8iJvfbWupEfi4AlKEkte88UFmwtup4LIflf2msoF9Xjium461HIpPRMk9kKMdC3OR004Sp1W96RM", + "KQklNwnRjBKh8soinGRR0rHF6aT0d9el13HhlcRKwOvXakmvX1uqx7ZekCaNbbnb1/LqrFB6Lbf9Wo+h", + "MOTob9lz1JGjtTGWjgVKpSav5IRkNloneZtgtabKssGV4BYI11PmQL9+rcB2LrxtNOMEp1jSEEW+lY41", + "AOnUU9Lt9vU4YpgzPYoPfPUb0weyOKEzPMa8qBaOkdiURgjdpDMYOqrwW6aZh1tmzgbyXqdmXMJa7VcL", + "2Zr0LDdCd+5zKHVQUyDZZeMuNH8qaamP5RXMXCfk3VvexPxN08YiQ0JlbnBZwv2e3Xa+agPSvdcDnIma", + "XP/bm34jehpPdX+WB6yOXjSyuYYXhX+O9yyh9EBSCT9ufcA6z1UkadPX9hplVNFmH5JZ3OWrkVDQc9NY", + "dvPbBvtRlMFTMNRXDPNKuxs6TfRi6Ey1V1futb2PKEqhjK/ujURdYmCOiuwS4/s2UNDgGafiZum6cLS/", + "E3S+eFRmk7eOtsu+WJtqaa1NX0XdFzb7xl+9pW7/Ca/4TbffPsit29HlbsAN1Fh//RVLk1dKsbYKEXnd", + "Kw0qntLN0lqPsZTmWM/2QYhjtTX5o2TnS6g1lXsPnq+kz1fSb6mIX665jl/ptG8tSX2/dm9ShXWjmNZp", + "snarp3JNFWtST8YJmNMkexFZxWVz56sS7/e+ETia4sUFb7D2Pc+mUg55tZvuvLn8Scpe66133mCazQgP", + "cSsLzdq307qMqd1X7y3iACEUaPC3n1ghHfPCbV1gMwtUzU32wVmJpNDpZlNy2VOykpP1d3R5r9b+Q/bD", + "m8aifMUuX+kLd/Gq5LWu5n2u25Xp9P2beV2+BepOMy9FWBxJ2h/KrjHmBjtPGQcwYrTisrKiu/xW7jIB", + "I0HEC4XuPOIhO3ck3s3ZI9Cyv+nL/rb0sLD3IsMbLL7Kko5PsyAlkcSSc2xBgkLoYO4cUrmF7DfcL+dQ", + "XEXFxJGQkXovSrd1pe2aS8vDu7t/JjL0WD650kTJeXlrOv18DhAJY4qNh1h2Zy/YuWzzmPZYY2kc04Sb", + "XYBiI415RLksWvy5uZdZ4xhad4GWnCbH8LwXPozL/JI3+Odr9fO12lEn2q2Zruu1tnigbroC8AruOE+r", + "iLQl0pXHY0Vdq1Fv05Z3mgASowJqQzA0Aqg6h1Lp6vVBd6DRg3iYkaScPr/N1Mxmd1IDP4qXmudnmYfy", + "LPOsQz7rkM865EPWIVP+rTTIlD/rj5su46wjX4wOJiROg6LY+20kq//f7ppnnMU2UU6+qZL8Uy0in9Xk", + "nkgp0XAneMgmb9tyXXsJLpDS+mrJb1pqPWXq9bjjqiBDmSrCKCzzfKPrL7c159wzkTyNg6xMC1ayB5tu", + "1nOs7XxBC+Z/tv1TtN5QSngzoY8vsw3fUz3/xE5ZmTsUbajtecHaJMmDPhJXRMY7X7+ghbc3i01hFYp2", + "+BscSYuDEN43FIc6QY7pBuCEy/juCMmL9Re00MHsspm8Nj2NlKwO6ssl1xeJy87eKGYrZHLqTajPaqIG", + "OaLSZD9RQZLZHPrt5SP3KLH4PtfIvRStnDzXp21ZlNmmcvWUUXHKn6qIGmkTrzeBV1QtnRq+u6olIGzU", + "o0aiwcbr1ebTifl/xXwmeeuApsQrRswy5MkcSTrW6YkKRrXEOYxjZdLefKLWR1rRpkhmVW89H+bZ+Wq9", + "Fty3sdIqOak/A/VimDrnZA0vGKMApkxRo3loMXnfniDDPXB+s8KGfbu0cUNdeOlH/SRKJ1U/UcvUjRkw", + "qgEYp7yYClA6eo6RSR+1bd6ZYshnIIMRXBeYLXvPM66bekuEImEPrvyNMQHXRQYu+ErqS1rBbbEElOP1", + "5tcEc6TRFRfOyawKXT+lC4YqZReMTjMUZrWm5pjYf30zHMTWz68Dsxbv83Yk9Ydjwo8dSYQz1j3TWQhH", + "PPF56DFN7/MRtUlow6a5rsLwUGf/Mov4s4rBOj01LOMHknBHu9MoXjOR61CjgQDoIRe7H7eqRHujAqvy", + "XbxdaH7sJnm/gdaykZQLEilvIcNB9sjqo1Y7uj0pnfq9JnCdI6VEtgByDoOZPmDK5ShNVOW3P+nrDAP7", + "Eny1tnO65PmUkVmpOJkHEeXSQR9TeebLGi1qtUfFM4csJf01c1i6lhcrtAj3lChzOQo9ZPrnrLGR7hu2", + "T5QA8KGMUpcnJTeP/uf06Oz45Ojj+f4HsAWsm1IuSWvrQEljXr79laxUGxeoXUuMrF9J6JMDSqBxhG6Q", + "2Fn/YiwlxupsErHYWGar9eNiueXfkImlz10nHlaZ2v8cPKzW2oWFFfF8Sx7uWODoSbKw3LfuHMzEKF9T", + "WZbpfgfJ0ir4Bm3BIGri5iPTcD+IbFb+zGS1nfWzsw2ADzPb7R3mzh92v6+bMVvLzjuajHEYIvKk8s7p", + "AhvZ1puYm0SVp2goBbf9LXleVRKzfDN+p+PGA+hn8b0rZEcRuslrLW7ktv4zHfsQ9Ad9rZLL3iQ9diJC", + "GjuJTwL/u9oQQ0Fi3ZfDwd0WkjjHlGxVboLGJF3NdyR6r2BzV/9m/jMdH8iiAH520DernNi1fT/TsalS", + "8JDJpkwxCoc6LPJ3udn+hGPEw06SiiMwSYlfQqGUvF3IAuLL0FW7KPuZjs/SYvrnNh8KsYtJSkwl7ce0", + "k1lioN/1GsYLcHzYURDUumo9kC3bXSUby9TXbk5WNCDrtTy6Q+C99CvuTwVOrt6hKdf20Doa+SRbvJUZ", + "xTdLJz6XADIShxAJNq1znKVEIcZH+TCkR7Mej47yZJZOCb5KVGUIsR8Jcsi+ND9MRdG5bPM4NFABaxct", + "VK3/UaqhMIo0+L12/uvvdOylTSyvoXqJm85qxONVIQTHrlJ5+OY7tLsJ5f9bqAtiXkKFpE1JuALh3Xfn", + "m4Iav8Xur+W6+VmmG9i0200Dxen8B49Jwigc9qSz8tkgFdTG8LWUsLeLRyZ+OiiWHe1ZQOLrUSoTQqvM", + "VrAK25a4PcznKMTwAWgQb1Z8qz0wdqj6G8YjNFWNOExkKldsNq733YLGOzCO2zI77MfxoQqq7EYbut87", + "msyhf12jZS4k03/juLhBMn0YH+wNxpgI9A3LLkb3w8oWR8Uhyh2qbz93MU04CoGK2H4Ebzc1IkYtBFiA", + "glI07SdDG4UCQSWRguIIBqgv1fS0mq9l67sOcbfVB4wexQO6kujxXO4sS+Xb2ySNHgmZVirWqXVAEspM", + "grcJ5siXXosCb0fmxGIecu9cNXwEhhUbYC//QqsWukoRRuAcqXJ+ESJTPmOPWZwZM5xYlFyTjHhUCxNL", + "luXS5bpbKQaTCW0hlWPRZGn1qcS2Ok85uoMBBwm9BQFNic4nnoMPXrKI3qLklcwGxxBAjOO5zAmn27+c", + "QMZR8mowHGAx8B9ywuFAoGawN9Ap7M7orQxjEMSeb2W2/TpeRFPVmNIIQTK4X6uhwSDWRb3qk+VnsRS1", + "aIcFrDKOKhftMU0VCRVEDIojupiLpTWSTUDJBE9T/ecG4jkoNFwrMnFxLmfsntWgFrcuzO2fHme5DwW3", + "FdZv47UZbSGaYILbcHaYt+rKcz8zSsQNZEWSuQXhFqDu4CD9tROqpTPs6TEIbSw04lTZ5BoRqpp822Ou", + "CZkKQjcWxZdVCYLDo9Ozo4P986PDPZAoXTYE4wWwj4JGbDMOlZm+PnZXNFgjquQETcWiKhj75qe8nxwW", + "RM809tp2YIcxexeKQHyKEWEAAkrQ1q0sKJEgOAcpw2QKRqMjkwRbZ43ATNZEJhyTlKbMNBdKxI1YtYwH", + "5eiO78jfW+q7TPc6h85Yz5FsITdqxDyIoTJ4xxvAqATxQ9pyDdsIJTco2RohwsGRQuvL0ejold5/lcI5", + "S9YdpEkiWvqQRHtiivPj9w7ZV4410jm/5TMDgGRxO0MJUpFdMjSRYy6VSZeOZb7V71m7bcQZSj18iFcR", + "GcTjcQWRaHtUnu/ih1+lZXgDcST1c0Nehj4lduotKOqWmzl5t9HlaCYzPhfS+DNzGQZjlF2VOSI1xBlE", + "dDyWrtUd9P7hKm05qqQ8TPiOkJlbxiaZg1MMSscSRe9whHztNN80aNxsiaolWSVGcdjAMEQhMIzzKPig", + "zjyjpKFNwCXKz4TyThBgtvM1CHBjtpODAHevMRpgl6wsy/RSUghVQSxEhOMJlrWwDg6ODdeIthbTSKCK", + "RGQzUAw5R4no9/9+29362+XXn+7/y0Ga69SZBd5cl7yD46cldLOUyKVYArl1tbQnQxAKFUCduuJHytEe", + "2BeX2wVgcxhFgKTzsUpSgsIpAgFkglQSBL4QekuEiiKlMVAKQpyOI8xmmrsZmMEblGftTyNkanLK2Ceh", + "68iPMlO/EAyM0QBnjY/DbXAs74BMzzwEWNVjoIxhcd7wGWZZFTFZMC0xWnVACcNMTiZnFnq2TJCyoCkg", + "CIUGfUH+3ejhypFtim+QSuyTnTRDaXWSmU+ciRUS3U4gO8/lcV/agOsMZJfC/F5leX+7UDjoLA5kkvpV", + "yAOdU98hEBIDWb1M2CTzWyt2P4LKDX5SckAnFDE2FSjU9Jx7ghkKvsg/TvCdQ1yUCohW5AULYLw1h3Hz", + "VSKA8QmMNxKlNjrYPxVz+SjaB/un4ATGT1XZluuzhI6dU+AEkhRGha9N21zJwdbseKkysbkkUmfRolMf", + "OESLBVIn+TJcuQfHO5oEmzD3KUXYrSprn9LHrSwr6jHbDl6+fv1aCSxZP0sfmOD169evKsQ6HNxtJWMY", + "iL/AcI5JY37hJ0Wg34Lknp6Rolg0pngKlvKvNIvHXLVry58vG71dvC3QyTM9ep3zBn8+B70zz9wTOuhz", + "0VhV4HqSbvFW4pc7X7R+uxiZVMkPkpB7QZEhGPz2y1f9nntF0vn92dcERQgyJH+B/4AXEeSI8RfgsuY6", + "ZKVt9LSTvPzl4iL8y5n4v5cXF9viv6/+/splNXm8ik3OzM3Kjc30j1rBKfJoRl5ZRscl1ZtnbtwoN/5H", + "zbMSpvxWbPY0z8hCbbjOTNf1mJSW+xabPXu7yLbhmSu/FVduREU9CPCH/4+9a+dtGwbCf8XwnEQpUHTw", + "2AxBhqIGgiJTB7lmbQGOZZCUi6DIfw/Eo57mUyH1MqcstOnwvjsevyO/Swh9oujVqKfC3CoQVYL68PDE", + "RUhbYPm8y+1wmqnZx0c2QuV2mgDNvsAJTx7cdcTuWjezmRht8xPzKxsU7gs+ZrSH3rny6Og/+6suQh6R", + "qCbGzBL8fdpJs/V/yawm/skcSaOpQrYjjSSyzC+gsOL2DRQdSVF15JKH3IJFmuA5yGjFc7lkbucg4qy2", + "HmLIiHOG1n0CAyp6dvcLck9aGJ+xXbmu6IqS7HJMcOErSgPmdRVppocLVczgV+wWsXn0yAjCSiF8BxLZ", + "SqF7grDSlPmAaVkwX1JtNgc315mWdT5e8qCRrb69QjUsKvqLcF2asTD3rZ73yb8AuB/vEi7lVKKmfj00", + "WmhNb5aKVOtj/UxQig4QGC14AwZ7PgVInMNV3LQJHyFWhK9AQL2m/OFD29W9llg1YUroT7zOaN8a1iIs", + "KbAzvagmlbmu0HoJyFbYgfYNjzWCSn07ojtif1XzmArajid4BZyJRLhVOLvR72b9BT27zhABQr0mYDoc", + "qXQ3pxyOfO65bMl6fgZ5dXGQrbIevqIGm+uMBui6SBcDfDvDl0v5GeaL0T+0uT2Vp1jtefUFbda10R4N", + "15pJRlq8oM2iNs7dSVHCI7TXq8POJlhD957XnGSQnePTFpxyFvQD4R08rz3h9Jxs0XYBMgYX7IIJqAp3", + "1fon6bTtHG0aGa5xck4OaGe37eRT1Lucm33qmcY0I31TVdYsVcWCX7YRnEEiX6fL7Iky72dBUTKjo+eW", + "/vKdSi+kX1JMm+BMtFaj5cQU4bJsY2pGgQ1eg5mRiZp0EquD7mOyOKIzwjyGoC2U1t4IRa93tmTT9zfo", + "9xmM5pPAGUlIt2z+Kk3CoYmH7x1gKJ7mmuILJNhlcl17Hc2akSvQm8kF8H0DYxj+45pg8YygfVvztbw0", + "UWAT4XMRyjJ8WK6We0pPqyg6pH/iwz4ldPXt6/39lyg+Jcv33+8fAQAA//8=", +} + +// decodeSpec returns the embedded OpenAPI spec as raw JSON bytes, +// after base64-decoding and flate-decompressing the embedded blob. +func decodeSpec() ([]byte, error) { + encoded := strings.Join(swaggerSpec, "") + compressed, err := base64.StdEncoding.DecodeString(encoded) + if err != nil { + return nil, fmt.Errorf("error base64 decoding spec: %w", err) + } + zr := flate.NewReader(bytes.NewReader(compressed)) + var buf bytes.Buffer + if _, err := buf.ReadFrom(zr); err != nil { + return nil, fmt.Errorf("read flate: %w", err) + } + if err := zr.Close(); err != nil { + return nil, fmt.Errorf("close flate reader: %w", err) + } + + return buf.Bytes(), nil +} + +var rawSpec = decodeSpecCached() + +// a naive cache of the decoded OpenAPI spec +func decodeSpecCached() func() ([]byte, error) { + data, err := decodeSpec() + return func() ([]byte, error) { + return data, err + } +} + +// Constructs a synthetic filesystem for resolving external references when loading openapi specifications. +func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error) { + res := make(map[string]func() ([]byte, error)) + if len(pathToFile) > 0 { + res[pathToFile] = rawSpec + } + + return res +} + +// GetSpec returns the OpenAPI specification corresponding to the generated +// code in this file. External references in the spec are resolved through +// PathToRawSpec; externally-referenced files must be embedded in their +// corresponding Go packages (via the import-mapping feature). URL-based +// external refs are not supported. +func GetSpec() (swagger *openapi3.T, err error) { + resolvePath := PathToRawSpec("") + + loader := openapi3.NewLoader() + loader.IsExternalRefsAllowed = true + loader.ReadFromURIFunc = func(loader *openapi3.Loader, url *url.URL) ([]byte, error) { + pathToFile := url.String() + pathToFile = path.Clean(pathToFile) + getSpec, ok := resolvePath[pathToFile] + if !ok { + err1 := fmt.Errorf("path not found: %s", pathToFile) + return nil, err1 + } + return getSpec() + } + var specData []byte + specData, err = rawSpec() + if err != nil { + return + } + swagger, err = loader.LoadFromData(specData) + if err != nil { + return + } + return +} + +// GetSpecJSON returns the raw JSON bytes of the embedded OpenAPI +// specification: decompressed but not unmarshaled. External references +// are not resolved here; the bytes are the spec exactly as embedded by +// codegen. The result is cached at package init time, so repeated calls +// are cheap. +func GetSpecJSON() ([]byte, error) { + return rawSpec() +} + +// GetSwagger returns the OpenAPI specification corresponding to the +// generated code in this file. +// +// Deprecated: GetSwagger predates kin-openapi renaming openapi3.Swagger +// to openapi3.T. Use [GetSpec] instead. This wrapper is retained for +// backwards compatibility. +func GetSwagger() (*openapi3.T, error) { + return GetSpec() +} diff --git a/api/internal/api/types-config.yaml b/api/internal/api/types-config.yaml new file mode 100644 index 0000000..1a8fea3 --- /dev/null +++ b/api/internal/api/types-config.yaml @@ -0,0 +1,7 @@ +package: api +output: types.gen.go +generate: + models: true +output-options: + skip-prune: true + user-templates: {} diff --git a/api/internal/api/types.gen.go b/api/internal/api/types.gen.go new file mode 100644 index 0000000..8decaa7 --- /dev/null +++ b/api/internal/api/types.gen.go @@ -0,0 +1,8451 @@ +// Package api provides primitives to interact with the openapi HTTP API. +// +// Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.7.0 DO NOT EDIT. +package api + +import ( + "encoding/json" + "time" + + "github.com/oapi-codegen/runtime" + openapi_types "github.com/oapi-codegen/runtime/types" +) + +const ( + OauthScopes oauthContextKey = "oauth.Scopes" +) + +// Defines values for AclRuleAccess. +const ( + AclRuleAccessNone AclRuleAccess = "none" + AclRuleAccessR AclRuleAccess = "r" + AclRuleAccessRw AclRuleAccess = "rw" +) + +// Valid indicates whether the value is a known member of the AclRuleAccess enum. +func (e AclRuleAccess) Valid() bool { + switch e { + case AclRuleAccessNone: + return true + case AclRuleAccessR: + return true + case AclRuleAccessRw: + return true + default: + return false + } +} + +// Defines values for ApiClassification. +const ( + C ApiClassification = "C" + CUI ApiClassification = "CUI" + FOUO ApiClassification = "FOUO" + NONE ApiClassification = "NONE" + S ApiClassification = "S" + SCI ApiClassification = "SCI" + TS ApiClassification = "TS" + U ApiClassification = "U" +) + +// Valid indicates whether the value is a known member of the ApiClassification enum. +func (e ApiClassification) Valid() bool { + switch e { + case C: + return true + case CUI: + return true + case FOUO: + return true + case NONE: + return true + case S: + return true + case SCI: + return true + case TS: + return true + case U: + return true + default: + return false + } +} + +// Defines values for AppDataFormat. +const ( + Gzip AppDataFormat = "gzip" + Jsonl AppDataFormat = "jsonl" +) + +// Valid indicates whether the value is a known member of the AppDataFormat enum. +func (e AppDataFormat) Valid() bool { + switch e { + case Gzip: + return true + case Jsonl: + return true + default: + return false + } +} + +// Defines values for AppInfoCollectionState. +const ( + Disabled AppInfoCollectionState = "disabled" + Enabled AppInfoCollectionState = "enabled" +) + +// Valid indicates whether the value is a known member of the AppInfoCollectionState enum. +func (e AppInfoCollectionState) Valid() bool { + switch e { + case Disabled: + return true + case Enabled: + return true + default: + return false + } +} + +// Defines values for AssetsPatchRequestOperation. +const ( + Delete AssetsPatchRequestOperation = "delete" +) + +// Valid indicates whether the value is a known member of the AssetsPatchRequestOperation enum. +func (e AssetsPatchRequestOperation) Valid() bool { + switch e { + case Delete: + return true + default: + return false + } +} + +// Defines values for AssetsPatchResponseOperation. +const ( + Deleted AssetsPatchResponseOperation = "deleted" +) + +// Valid indicates whether the value is a known member of the AssetsPatchResponseOperation enum. +func (e AssetsPatchResponseOperation) Valid() bool { + switch e { + case Deleted: + return true + default: + return false + } +} + +// Defines values for ChecklistCklSTIGSISTIGVULNSTATUS. +const ( + NotAFinding ChecklistCklSTIGSISTIGVULNSTATUS = "NotAFinding" + NotApplicable ChecklistCklSTIGSISTIGVULNSTATUS = "Not_Applicable" + NotReviewed ChecklistCklSTIGSISTIGVULNSTATUS = "Not_Reviewed" + Open ChecklistCklSTIGSISTIGVULNSTATUS = "Open" +) + +// Valid indicates whether the value is a known member of the ChecklistCklSTIGSISTIGVULNSTATUS enum. +func (e ChecklistCklSTIGSISTIGVULNSTATUS) Valid() bool { + switch e { + case NotAFinding: + return true + case NotApplicable: + return true + case NotReviewed: + return true + case Open: + return true + default: + return false + } +} + +// Defines values for ChecklistResult. +const ( + ChecklistResultError ChecklistResult = "error" + ChecklistResultFail ChecklistResult = "fail" + ChecklistResultFixed ChecklistResult = "fixed" + ChecklistResultInformational ChecklistResult = "informational" + ChecklistResultLessThannil ChecklistResult = "" + ChecklistResultNotapplicable ChecklistResult = "notapplicable" + ChecklistResultNotchecked ChecklistResult = "notchecked" + ChecklistResultNotselected ChecklistResult = "notselected" + ChecklistResultPass ChecklistResult = "pass" + ChecklistResultUnknown ChecklistResult = "unknown" +) + +// Valid indicates whether the value is a known member of the ChecklistResult enum. +func (e ChecklistResult) Valid() bool { + switch e { + case ChecklistResultError: + return true + case ChecklistResultFail: + return true + case ChecklistResultFixed: + return true + case ChecklistResultInformational: + return true + case ChecklistResultLessThannil: + return true + case ChecklistResultNotapplicable: + return true + case ChecklistResultNotchecked: + return true + case ChecklistResultNotselected: + return true + case ChecklistResultPass: + return true + case ChecklistResultUnknown: + return true + default: + return false + } +} + +// Defines values for ChecklistResultUnreviewed. +const ( + ChecklistResultUnreviewedError ChecklistResultUnreviewed = "error" + ChecklistResultUnreviewedFixed ChecklistResultUnreviewed = "fixed" + ChecklistResultUnreviewedInformational ChecklistResultUnreviewed = "informational" + ChecklistResultUnreviewedLessThannil ChecklistResultUnreviewed = "" + ChecklistResultUnreviewedNotchecked ChecklistResultUnreviewed = "notchecked" + ChecklistResultUnreviewedNotselected ChecklistResultUnreviewed = "notselected" + ChecklistResultUnreviewedUnknown ChecklistResultUnreviewed = "unknown" +) + +// Valid indicates whether the value is a known member of the ChecklistResultUnreviewed enum. +func (e ChecklistResultUnreviewed) Valid() bool { + switch e { + case ChecklistResultUnreviewedError: + return true + case ChecklistResultUnreviewedFixed: + return true + case ChecklistResultUnreviewedInformational: + return true + case ChecklistResultUnreviewedLessThannil: + return true + case ChecklistResultUnreviewedNotchecked: + return true + case ChecklistResultUnreviewedNotselected: + return true + case ChecklistResultUnreviewedUnknown: + return true + default: + return false + } +} + +// Defines values for ChecklistStatus. +const ( + ChecklistStatusAccepted ChecklistStatus = "accepted" + ChecklistStatusLessThannil ChecklistStatus = "" + ChecklistStatusRejected ChecklistStatus = "rejected" + ChecklistStatusSaved ChecklistStatus = "saved" + ChecklistStatusSubmitted ChecklistStatus = "submitted" +) + +// Valid indicates whether the value is a known member of the ChecklistStatus enum. +func (e ChecklistStatus) Valid() bool { + switch e { + case ChecklistStatusAccepted: + return true + case ChecklistStatusLessThannil: + return true + case ChecklistStatusRejected: + return true + case ChecklistStatusSaved: + return true + case ChecklistStatusSubmitted: + return true + default: + return false + } +} + +// Defines values for ClientErrorBadAssetPostCode. +const ( + N422 ClientErrorBadAssetPostCode = "422" +) + +// Valid indicates whether the value is a known member of the ClientErrorBadAssetPostCode enum. +func (e ClientErrorBadAssetPostCode) Valid() bool { + switch e { + case N422: + return true + default: + return false + } +} + +// Defines values for ClientErrorDuplicateCollectionCode. +const ( + N400 ClientErrorDuplicateCollectionCode = "400" +) + +// Valid indicates whether the value is a known member of the ClientErrorDuplicateCollectionCode enum. +func (e ClientErrorDuplicateCollectionCode) Valid() bool { + switch e { + case N400: + return true + default: + return false + } +} + +// Defines values for ClientErrorDuplicateCollectionMessage. +const ( + DuplicateName ClientErrorDuplicateCollectionMessage = "Duplicate name" +) + +// Valid indicates whether the value is a known member of the ClientErrorDuplicateCollectionMessage enum. +func (e ClientErrorDuplicateCollectionMessage) Valid() bool { + switch e { + case DuplicateName: + return true + default: + return false + } +} + +// Defines values for CollectionCloneOptionsPinRevisions. +const ( + MatchSource CollectionCloneOptionsPinRevisions = "matchSource" + SourceDefaults CollectionCloneOptionsPinRevisions = "sourceDefaults" +) + +// Valid indicates whether the value is a known member of the CollectionCloneOptionsPinRevisions enum. +func (e CollectionCloneOptionsPinRevisions) Valid() bool { + switch e { + case MatchSource: + return true + case SourceDefaults: + return true + default: + return false + } +} + +// Defines values for CollectionCloneOptionsStigMappings. +const ( + CollectionCloneOptionsStigMappingsNone CollectionCloneOptionsStigMappings = "none" + CollectionCloneOptionsStigMappingsWithReviews CollectionCloneOptionsStigMappings = "withReviews" + CollectionCloneOptionsStigMappingsWithoutReviews CollectionCloneOptionsStigMappings = "withoutReviews" +) + +// Valid indicates whether the value is a known member of the CollectionCloneOptionsStigMappings enum. +func (e CollectionCloneOptionsStigMappings) Valid() bool { + switch e { + case CollectionCloneOptionsStigMappingsNone: + return true + case CollectionCloneOptionsStigMappingsWithReviews: + return true + case CollectionCloneOptionsStigMappingsWithoutReviews: + return true + default: + return false + } +} + +// Defines values for CollectionCloneResponseStage. +const ( + CollectionCloneResponseStageCollection CollectionCloneResponseStage = "collection" + CollectionCloneResponseStageResult CollectionCloneResponseStage = "result" + CollectionCloneResponseStageReviews CollectionCloneResponseStage = "reviews" +) + +// Valid indicates whether the value is a known member of the CollectionCloneResponseStage enum. +func (e CollectionCloneResponseStage) Valid() bool { + switch e { + case CollectionCloneResponseStageCollection: + return true + case CollectionCloneResponseStageResult: + return true + case CollectionCloneResponseStageReviews: + return true + default: + return false + } +} + +// Defines values for CollectionCloneResponseStatus. +const ( + CollectionCloneResponseStatusError CollectionCloneResponseStatus = "error" + CollectionCloneResponseStatusFinished CollectionCloneResponseStatus = "finished" + CollectionCloneResponseStatusRunning CollectionCloneResponseStatus = "running" +) + +// Valid indicates whether the value is a known member of the CollectionCloneResponseStatus enum. +func (e CollectionCloneResponseStatus) Valid() bool { + switch e { + case CollectionCloneResponseStatusError: + return true + case CollectionCloneResponseStatusFinished: + return true + case CollectionCloneResponseStatusRunning: + return true + default: + return false + } +} + +// Defines values for CollectionExportToResponseStage. +const ( + CollectionExportToResponseStageAssets CollectionExportToResponseStage = "assets" + CollectionExportToResponseStageMetrics CollectionExportToResponseStage = "metrics" + CollectionExportToResponseStagePrepare CollectionExportToResponseStage = "prepare" + CollectionExportToResponseStageResult CollectionExportToResponseStage = "result" + CollectionExportToResponseStageReviews CollectionExportToResponseStage = "reviews" +) + +// Valid indicates whether the value is a known member of the CollectionExportToResponseStage enum. +func (e CollectionExportToResponseStage) Valid() bool { + switch e { + case CollectionExportToResponseStageAssets: + return true + case CollectionExportToResponseStageMetrics: + return true + case CollectionExportToResponseStagePrepare: + return true + case CollectionExportToResponseStageResult: + return true + case CollectionExportToResponseStageReviews: + return true + default: + return false + } +} + +// Defines values for CollectionExportToResponseStatus. +const ( + CollectionExportToResponseStatusError CollectionExportToResponseStatus = "error" + CollectionExportToResponseStatusRunning CollectionExportToResponseStatus = "running" +) + +// Valid indicates whether the value is a known member of the CollectionExportToResponseStatus enum. +func (e CollectionExportToResponseStatus) Valid() bool { + switch e { + case CollectionExportToResponseStatusError: + return true + case CollectionExportToResponseStatusRunning: + return true + default: + return false + } +} + +// Defines values for CollectionFieldEnabledAlwaysEnabled. +const ( + CollectionFieldEnabledAlwaysEnabledAlways CollectionFieldEnabledAlwaysEnabled = "always" +) + +// Valid indicates whether the value is a known member of the CollectionFieldEnabledAlwaysEnabled enum. +func (e CollectionFieldEnabledAlwaysEnabled) Valid() bool { + switch e { + case CollectionFieldEnabledAlwaysEnabledAlways: + return true + default: + return false + } +} + +// Defines values for CollectionFieldEnabledAlwaysRequired. +const ( + CollectionFieldEnabledAlwaysRequiredAlways CollectionFieldEnabledAlwaysRequired = "always" + CollectionFieldEnabledAlwaysRequiredFindings CollectionFieldEnabledAlwaysRequired = "findings" + CollectionFieldEnabledAlwaysRequiredOptional CollectionFieldEnabledAlwaysRequired = "optional" +) + +// Valid indicates whether the value is a known member of the CollectionFieldEnabledAlwaysRequired enum. +func (e CollectionFieldEnabledAlwaysRequired) Valid() bool { + switch e { + case CollectionFieldEnabledAlwaysRequiredAlways: + return true + case CollectionFieldEnabledAlwaysRequiredFindings: + return true + case CollectionFieldEnabledAlwaysRequiredOptional: + return true + default: + return false + } +} + +// Defines values for CollectionFieldEnabledFindingsEnabled. +const ( + CollectionFieldEnabledFindingsEnabledFindings CollectionFieldEnabledFindingsEnabled = "findings" +) + +// Valid indicates whether the value is a known member of the CollectionFieldEnabledFindingsEnabled enum. +func (e CollectionFieldEnabledFindingsEnabled) Valid() bool { + switch e { + case CollectionFieldEnabledFindingsEnabledFindings: + return true + default: + return false + } +} + +// Defines values for CollectionFieldEnabledFindingsRequired. +const ( + CollectionFieldEnabledFindingsRequiredFindings CollectionFieldEnabledFindingsRequired = "findings" + CollectionFieldEnabledFindingsRequiredOptional CollectionFieldEnabledFindingsRequired = "optional" +) + +// Valid indicates whether the value is a known member of the CollectionFieldEnabledFindingsRequired enum. +func (e CollectionFieldEnabledFindingsRequired) Valid() bool { + switch e { + case CollectionFieldEnabledFindingsRequiredFindings: + return true + case CollectionFieldEnabledFindingsRequiredOptional: + return true + default: + return false + } +} + +// Defines values for CollectionImportOptionsEmptyComment. +const ( + CollectionImportOptionsEmptyCommentIgnore CollectionImportOptionsEmptyComment = "ignore" + CollectionImportOptionsEmptyCommentImport CollectionImportOptionsEmptyComment = "import" + CollectionImportOptionsEmptyCommentReplace CollectionImportOptionsEmptyComment = "replace" +) + +// Valid indicates whether the value is a known member of the CollectionImportOptionsEmptyComment enum. +func (e CollectionImportOptionsEmptyComment) Valid() bool { + switch e { + case CollectionImportOptionsEmptyCommentIgnore: + return true + case CollectionImportOptionsEmptyCommentImport: + return true + case CollectionImportOptionsEmptyCommentReplace: + return true + default: + return false + } +} + +// Defines values for CollectionImportOptionsEmptyDetail. +const ( + CollectionImportOptionsEmptyDetailIgnore CollectionImportOptionsEmptyDetail = "ignore" + CollectionImportOptionsEmptyDetailImport CollectionImportOptionsEmptyDetail = "import" + CollectionImportOptionsEmptyDetailReplace CollectionImportOptionsEmptyDetail = "replace" +) + +// Valid indicates whether the value is a known member of the CollectionImportOptionsEmptyDetail enum. +func (e CollectionImportOptionsEmptyDetail) Valid() bool { + switch e { + case CollectionImportOptionsEmptyDetailIgnore: + return true + case CollectionImportOptionsEmptyDetailImport: + return true + case CollectionImportOptionsEmptyDetailReplace: + return true + default: + return false + } +} + +// Defines values for CollectionImportOptionsUnreviewed. +const ( + Always CollectionImportOptionsUnreviewed = "always" + Commented CollectionImportOptionsUnreviewed = "commented" + Never CollectionImportOptionsUnreviewed = "never" +) + +// Valid indicates whether the value is a known member of the CollectionImportOptionsUnreviewed enum. +func (e CollectionImportOptionsUnreviewed) Valid() bool { + switch e { + case Always: + return true + case Commented: + return true + case Never: + return true + default: + return false + } +} + +// Defines values for CollectionImportOptionsUnreviewedCommented. +const ( + CollectionImportOptionsUnreviewedCommentedInformational CollectionImportOptionsUnreviewedCommented = "informational" + CollectionImportOptionsUnreviewedCommentedNotchecked CollectionImportOptionsUnreviewedCommented = "notchecked" +) + +// Valid indicates whether the value is a known member of the CollectionImportOptionsUnreviewedCommented enum. +func (e CollectionImportOptionsUnreviewedCommented) Valid() bool { + switch e { + case CollectionImportOptionsUnreviewedCommentedInformational: + return true + case CollectionImportOptionsUnreviewedCommentedNotchecked: + return true + default: + return false + } +} + +// Defines values for CollectionStatusSettingsResetCriteria. +const ( + CollectionStatusSettingsResetCriteriaAny CollectionStatusSettingsResetCriteria = "any" + CollectionStatusSettingsResetCriteriaResult CollectionStatusSettingsResetCriteria = "result" +) + +// Valid indicates whether the value is a known member of the CollectionStatusSettingsResetCriteria enum. +func (e CollectionStatusSettingsResetCriteria) Valid() bool { + switch e { + case CollectionStatusSettingsResetCriteriaAny: + return true + case CollectionStatusSettingsResetCriteriaResult: + return true + default: + return false + } +} + +// Defines values for JobEventOnceType. +const ( + JobEventOnceTypeOnce JobEventOnceType = "once" +) + +// Valid indicates whether the value is a known member of the JobEventOnceType enum. +func (e JobEventOnceType) Valid() bool { + switch e { + case JobEventOnceTypeOnce: + return true + default: + return false + } +} + +// Defines values for JobEventOnceCreateType. +const ( + JobEventOnceCreateTypeOnce JobEventOnceCreateType = "once" +) + +// Valid indicates whether the value is a known member of the JobEventOnceCreateType enum. +func (e JobEventOnceCreateType) Valid() bool { + switch e { + case JobEventOnceCreateTypeOnce: + return true + default: + return false + } +} + +// Defines values for JobEventRecurringType. +const ( + JobEventRecurringTypeRecurring JobEventRecurringType = "recurring" +) + +// Valid indicates whether the value is a known member of the JobEventRecurringType enum. +func (e JobEventRecurringType) Valid() bool { + switch e { + case JobEventRecurringTypeRecurring: + return true + default: + return false + } +} + +// Defines values for JobEventRecurringCreateType. +const ( + JobEventRecurringCreateTypeRecurring JobEventRecurringCreateType = "recurring" +) + +// Valid indicates whether the value is a known member of the JobEventRecurringCreateType enum. +func (e JobEventRecurringCreateType) Valid() bool { + switch e { + case JobEventRecurringCreateTypeRecurring: + return true + default: + return false + } +} + +// Defines values for JobIntervalField. +const ( + Day JobIntervalField = "day" + Hour JobIntervalField = "hour" + Minute JobIntervalField = "minute" + Month JobIntervalField = "month" + Week JobIntervalField = "week" +) + +// Valid indicates whether the value is a known member of the JobIntervalField enum. +func (e JobIntervalField) Valid() bool { + switch e { + case Day: + return true + case Hour: + return true + case Minute: + return true + case Month: + return true + case Week: + return true + default: + return false + } +} + +// Defines values for JobRunState. +const ( + Completed JobRunState = "completed" + Failed JobRunState = "failed" + Running JobRunState = "running" +) + +// Valid indicates whether the value is a known member of the JobRunState enum. +func (e JobRunState) Valid() bool { + switch e { + case Completed: + return true + case Failed: + return true + case Running: + return true + default: + return false + } +} + +// Defines values for ResultEngineType. +const ( + Other ResultEngineType = "other" + Scap ResultEngineType = "scap" + Script ResultEngineType = "script" +) + +// Valid indicates whether the value is a known member of the ResultEngineType enum. +func (e ResultEngineType) Valid() bool { + switch e { + case Other: + return true + case Scap: + return true + case Script: + return true + default: + return false + } +} + +// Defines values for ReviewBatchAction. +const ( + Insert ReviewBatchAction = "insert" + Merge ReviewBatchAction = "merge" + Update ReviewBatchAction = "update" +) + +// Valid indicates whether the value is a known member of the ReviewBatchAction enum. +func (e ReviewBatchAction) Valid() bool { + switch e { + case Insert: + return true + case Merge: + return true + case Update: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterDateCondition. +const ( + ReviewBatchFilterDateConditionEquals ReviewBatchFilterDateCondition = "equals" + ReviewBatchFilterDateConditionGreaterThan ReviewBatchFilterDateCondition = "greaterThan" + ReviewBatchFilterDateConditionLessThan ReviewBatchFilterDateCondition = "lessThan" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterDateCondition enum. +func (e ReviewBatchFilterDateCondition) Valid() bool { + switch e { + case ReviewBatchFilterDateConditionEquals: + return true + case ReviewBatchFilterDateConditionGreaterThan: + return true + case ReviewBatchFilterDateConditionLessThan: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterDateField. +const ( + StatusTs ReviewBatchFilterDateField = "statusTs" + TouchTs ReviewBatchFilterDateField = "touchTs" + Ts ReviewBatchFilterDateField = "ts" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterDateField enum. +func (e ReviewBatchFilterDateField) Valid() bool { + switch e { + case StatusTs: + return true + case TouchTs: + return true + case Ts: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterResultCondition. +const ( + ReviewBatchFilterResultConditionEquals ReviewBatchFilterResultCondition = "equals" + ReviewBatchFilterResultConditionNotequal ReviewBatchFilterResultCondition = "notequal" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterResultCondition enum. +func (e ReviewBatchFilterResultCondition) Valid() bool { + switch e { + case ReviewBatchFilterResultConditionEquals: + return true + case ReviewBatchFilterResultConditionNotequal: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterResultField. +const ( + ReviewBatchFilterResultFieldResult ReviewBatchFilterResultField = "result" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterResultField enum. +func (e ReviewBatchFilterResultField) Valid() bool { + switch e { + case ReviewBatchFilterResultFieldResult: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterStatusCondition. +const ( + ReviewBatchFilterStatusConditionEquals ReviewBatchFilterStatusCondition = "equals" + ReviewBatchFilterStatusConditionNotequal ReviewBatchFilterStatusCondition = "notequal" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterStatusCondition enum. +func (e ReviewBatchFilterStatusCondition) Valid() bool { + switch e { + case ReviewBatchFilterStatusConditionEquals: + return true + case ReviewBatchFilterStatusConditionNotequal: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterStatusField. +const ( + Status ReviewBatchFilterStatusField = "status" + StatusLabel ReviewBatchFilterStatusField = "statusLabel" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterStatusField enum. +func (e ReviewBatchFilterStatusField) Valid() bool { + switch e { + case Status: + return true + case StatusLabel: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterStringCondition. +const ( + ReviewBatchFilterStringConditionBeginsWith ReviewBatchFilterStringCondition = "beginsWith" + ReviewBatchFilterStringConditionContains ReviewBatchFilterStringCondition = "contains" + ReviewBatchFilterStringConditionEndsWith ReviewBatchFilterStringCondition = "endsWith" + ReviewBatchFilterStringConditionEquals ReviewBatchFilterStringCondition = "equals" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterStringCondition enum. +func (e ReviewBatchFilterStringCondition) Valid() bool { + switch e { + case ReviewBatchFilterStringConditionBeginsWith: + return true + case ReviewBatchFilterStringConditionContains: + return true + case ReviewBatchFilterStringConditionEndsWith: + return true + case ReviewBatchFilterStringConditionEquals: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterStringField. +const ( + ReviewBatchFilterStringFieldComment ReviewBatchFilterStringField = "comment" + ReviewBatchFilterStringFieldDetail ReviewBatchFilterStringField = "detail" + ReviewBatchFilterStringFieldStatusText ReviewBatchFilterStringField = "statusText" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterStringField enum. +func (e ReviewBatchFilterStringField) Valid() bool { + switch e { + case ReviewBatchFilterStringFieldComment: + return true + case ReviewBatchFilterStringFieldDetail: + return true + case ReviewBatchFilterStringFieldStatusText: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterUserCondition. +const ( + Equals ReviewBatchFilterUserCondition = "equals" + Notequal ReviewBatchFilterUserCondition = "notequal" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterUserCondition enum. +func (e ReviewBatchFilterUserCondition) Valid() bool { + switch e { + case Equals: + return true + case Notequal: + return true + default: + return false + } +} + +// Defines values for ReviewBatchFilterUserField. +const ( + ReviewBatchFilterUserFieldStatusUserId ReviewBatchFilterUserField = "statusUserId" + ReviewBatchFilterUserFieldUserId ReviewBatchFilterUserField = "userId" +) + +// Valid indicates whether the value is a known member of the ReviewBatchFilterUserField enum. +func (e ReviewBatchFilterUserField) Valid() bool { + switch e { + case ReviewBatchFilterUserFieldStatusUserId: + return true + case ReviewBatchFilterUserFieldUserId: + return true + default: + return false + } +} + +// Defines values for ReviewResult. +const ( + ReviewResultError ReviewResult = "error" + ReviewResultFail ReviewResult = "fail" + ReviewResultFixed ReviewResult = "fixed" + ReviewResultInformational ReviewResult = "informational" + ReviewResultNotapplicable ReviewResult = "notapplicable" + ReviewResultNotchecked ReviewResult = "notchecked" + ReviewResultNotselected ReviewResult = "notselected" + ReviewResultPass ReviewResult = "pass" + ReviewResultUnknown ReviewResult = "unknown" +) + +// Valid indicates whether the value is a known member of the ReviewResult enum. +func (e ReviewResult) Valid() bool { + switch e { + case ReviewResultError: + return true + case ReviewResultFail: + return true + case ReviewResultFixed: + return true + case ReviewResultInformational: + return true + case ReviewResultNotapplicable: + return true + case ReviewResultNotchecked: + return true + case ReviewResultNotselected: + return true + case ReviewResultPass: + return true + case ReviewResultUnknown: + return true + default: + return false + } +} + +// Defines values for ReviewStatusLabel. +const ( + ReviewStatusLabelAccepted ReviewStatusLabel = "accepted" + ReviewStatusLabelRejected ReviewStatusLabel = "rejected" + ReviewStatusLabelSaved ReviewStatusLabel = "saved" + ReviewStatusLabelSubmitted ReviewStatusLabel = "submitted" +) + +// Valid indicates whether the value is a known member of the ReviewStatusLabel enum. +func (e ReviewStatusLabel) Valid() bool { + switch e { + case ReviewStatusLabelAccepted: + return true + case ReviewStatusLabelRejected: + return true + case ReviewStatusLabelSaved: + return true + case ReviewStatusLabelSubmitted: + return true + default: + return false + } +} + +// Defines values for ReviewStatusOption. +const ( + ReviewStatusOptionAccepted ReviewStatusOption = "accepted" + ReviewStatusOptionNull ReviewStatusOption = "null" + ReviewStatusOptionSaved ReviewStatusOption = "saved" + ReviewStatusOptionSubmitted ReviewStatusOption = "submitted" +) + +// Valid indicates whether the value is a known member of the ReviewStatusOption enum. +func (e ReviewStatusOption) Valid() bool { + switch e { + case ReviewStatusOptionAccepted: + return true + case ReviewStatusOptionNull: + return true + case ReviewStatusOptionSaved: + return true + case ReviewStatusOptionSubmitted: + return true + default: + return false + } +} + +// Defines values for RevisionPostAction. +const ( + Inserted RevisionPostAction = "inserted" + Preserved RevisionPostAction = "preserved" + Replaced RevisionPostAction = "replaced" +) + +// Valid indicates whether the value is a known member of the RevisionPostAction enum. +func (e RevisionPostAction) Valid() bool { + switch e { + case Inserted: + return true + case Preserved: + return true + case Replaced: + return true + default: + return false + } +} + +// Defines values for Roles. +const ( + RolesFull Roles = "full" + RolesManage Roles = "manage" + RolesOwner Roles = "owner" + RolesRestricted Roles = "restricted" +) + +// Valid indicates whether the value is a known member of the Roles enum. +func (e Roles) Valid() bool { + switch e { + case RolesFull: + return true + case RolesManage: + return true + case RolesOwner: + return true + case RolesRestricted: + return true + default: + return false + } +} + +// Defines values for RuleSeverity. +const ( + High RuleSeverity = "high" + LessThannil RuleSeverity = "" + Low RuleSeverity = "low" + Medium RuleSeverity = "medium" +) + +// Valid indicates whether the value is a known member of the RuleSeverity enum. +func (e RuleSeverity) Valid() bool { + switch e { + case High: + return true + case LessThannil: + return true + case Low: + return true + case Medium: + return true + default: + return false + } +} + +// Defines values for State. +const ( + StateAvailable State = "available" + StateFail State = "fail" + StateStarting State = "starting" + StateStop State = "stop" + StateUnavailable State = "unavailable" +) + +// Valid indicates whether the value is a known member of the State enum. +func (e State) Valid() bool { + switch e { + case StateAvailable: + return true + case StateFail: + return true + case StateStarting: + return true + case StateStop: + return true + case StateUnavailable: + return true + default: + return false + } +} + +// Defines values for UserStatus. +const ( + UserStatusAvailable UserStatus = "available" + UserStatusUnavailable UserStatus = "unavailable" +) + +// Valid indicates whether the value is a known member of the UserStatus enum. +func (e UserStatus) Valid() bool { + switch e { + case UserStatusAvailable: + return true + case UserStatusUnavailable: + return true + default: + return false + } +} + +// Defines values for CklModeQuery. +const ( + CklModeQueryMono CklModeQuery = "mono" + CklModeQueryMulti CklModeQuery = "multi" +) + +// Valid indicates whether the value is a known member of the CklModeQuery enum. +func (e CklModeQuery) Valid() bool { + switch e { + case CklModeQueryMono: + return true + case CklModeQueryMulti: + return true + default: + return false + } +} + +// Defines values for FindingAggregatorQuery. +const ( + FindingAggregatorQueryCci FindingAggregatorQuery = "cci" + FindingAggregatorQueryGroupId FindingAggregatorQuery = "groupId" + FindingAggregatorQueryRuleId FindingAggregatorQuery = "ruleId" +) + +// Valid indicates whether the value is a known member of the FindingAggregatorQuery enum. +func (e FindingAggregatorQuery) Valid() bool { + switch e { + case FindingAggregatorQueryCci: + return true + case FindingAggregatorQueryGroupId: + return true + case FindingAggregatorQueryRuleId: + return true + default: + return false + } +} + +// Defines values for LabelMatchQuery. +const ( + LabelMatchQueryNull LabelMatchQuery = "null" +) + +// Valid indicates whether the value is a known member of the LabelMatchQuery enum. +func (e LabelMatchQuery) Valid() bool { + switch e { + case LabelMatchQueryNull: + return true + default: + return false + } +} + +// Defines values for MetricsFormatQuery. +const ( + MetricsFormatQueryCsv MetricsFormatQuery = "csv" + MetricsFormatQueryJson MetricsFormatQuery = "json" +) + +// Valid indicates whether the value is a known member of the MetricsFormatQuery enum. +func (e MetricsFormatQuery) Valid() bool { + switch e { + case MetricsFormatQueryCsv: + return true + case MetricsFormatQueryJson: + return true + default: + return false + } +} + +// Defines values for NameMatchQuery. +const ( + NameMatchQueryContains NameMatchQuery = "contains" + NameMatchQueryEndsWith NameMatchQuery = "endsWith" + NameMatchQueryExact NameMatchQuery = "exact" + NameMatchQueryStartsWith NameMatchQuery = "startsWith" +) + +// Valid indicates whether the value is a known member of the NameMatchQuery enum. +func (e NameMatchQuery) Valid() bool { + switch e { + case NameMatchQueryContains: + return true + case NameMatchQueryEndsWith: + return true + case NameMatchQueryExact: + return true + case NameMatchQueryStartsWith: + return true + default: + return false + } +} + +// Defines values for PoamAggregatorQuery. +const ( + PoamAggregatorQueryGroupId PoamAggregatorQuery = "groupId" + PoamAggregatorQueryRuleId PoamAggregatorQuery = "ruleId" +) + +// Valid indicates whether the value is a known member of the PoamAggregatorQuery enum. +func (e PoamAggregatorQuery) Valid() bool { + switch e { + case PoamAggregatorQueryGroupId: + return true + case PoamAggregatorQueryRuleId: + return true + default: + return false + } +} + +// Defines values for PoamFormatQuery. +const ( + PoamFormatQueryEMASS PoamFormatQuery = "EMASS" + PoamFormatQueryMCCAST PoamFormatQuery = "MCCAST" +) + +// Valid indicates whether the value is a known member of the PoamFormatQuery enum. +func (e PoamFormatQuery) Valid() bool { + switch e { + case PoamFormatQueryEMASS: + return true + case PoamFormatQueryMCCAST: + return true + default: + return false + } +} + +// Defines values for PrivilegeQuery. +const ( + PrivilegeQueryAdmin PrivilegeQuery = "admin" + PrivilegeQueryCreateCollection PrivilegeQuery = "create_collection" +) + +// Valid indicates whether the value is a known member of the PrivilegeQuery enum. +func (e PrivilegeQuery) Valid() bool { + switch e { + case PrivilegeQueryAdmin: + return true + case PrivilegeQueryCreateCollection: + return true + default: + return false + } +} + +// Defines values for ReviewRulesQuery. +const ( + ReviewRulesQueryAll ReviewRulesQuery = "all" + ReviewRulesQueryDefault ReviewRulesQuery = "default" + ReviewRulesQueryDefaultMapped ReviewRulesQuery = "default-mapped" + ReviewRulesQueryMapped ReviewRulesQuery = "mapped" + ReviewRulesQueryNotDefault ReviewRulesQuery = "not-default" + ReviewRulesQueryNotDefaultMapped ReviewRulesQuery = "not-default-mapped" + ReviewRulesQueryNotMapped ReviewRulesQuery = "not-mapped" +) + +// Valid indicates whether the value is a known member of the ReviewRulesQuery enum. +func (e ReviewRulesQuery) Valid() bool { + switch e { + case ReviewRulesQueryAll: + return true + case ReviewRulesQueryDefault: + return true + case ReviewRulesQueryDefaultMapped: + return true + case ReviewRulesQueryMapped: + return true + case ReviewRulesQueryNotDefault: + return true + case ReviewRulesQueryNotDefaultMapped: + return true + case ReviewRulesQueryNotMapped: + return true + default: + return false + } +} + +// Defines values for UserPreferenceQuery. +const ( + UserPreferenceQueryWebPreferences UserPreferenceQuery = "webPreferences" +) + +// Valid indicates whether the value is a known member of the UserPreferenceQuery enum. +func (e UserPreferenceQuery) Valid() bool { + switch e { + case UserPreferenceQueryWebPreferences: + return true + default: + return false + } +} + +// Defines values for UsernameMatchQuery. +const ( + UsernameMatchQueryContains UsernameMatchQuery = "contains" + UsernameMatchQueryEndsWith UsernameMatchQuery = "endsWith" + UsernameMatchQueryExact UsernameMatchQuery = "exact" + UsernameMatchQueryStartsWith UsernameMatchQuery = "startsWith" +) + +// Valid indicates whether the value is a known member of the UsernameMatchQuery enum. +func (e UsernameMatchQuery) Valid() bool { + switch e { + case UsernameMatchQueryContains: + return true + case UsernameMatchQueryEndsWith: + return true + case UsernameMatchQueryExact: + return true + case UsernameMatchQueryStartsWith: + return true + default: + return false + } +} + +// Defines values for GetAssetsParamsLabelMatch. +const ( + GetAssetsParamsLabelMatchNull GetAssetsParamsLabelMatch = "null" +) + +// Valid indicates whether the value is a known member of the GetAssetsParamsLabelMatch enum. +func (e GetAssetsParamsLabelMatch) Valid() bool { + switch e { + case GetAssetsParamsLabelMatchNull: + return true + default: + return false + } +} + +// Defines values for GetAssetsParamsNameMatch. +const ( + GetAssetsParamsNameMatchContains GetAssetsParamsNameMatch = "contains" + GetAssetsParamsNameMatchEndsWith GetAssetsParamsNameMatch = "endsWith" + GetAssetsParamsNameMatchExact GetAssetsParamsNameMatch = "exact" + GetAssetsParamsNameMatchStartsWith GetAssetsParamsNameMatch = "startsWith" +) + +// Valid indicates whether the value is a known member of the GetAssetsParamsNameMatch enum. +func (e GetAssetsParamsNameMatch) Valid() bool { + switch e { + case GetAssetsParamsNameMatchContains: + return true + case GetAssetsParamsNameMatchEndsWith: + return true + case GetAssetsParamsNameMatchExact: + return true + case GetAssetsParamsNameMatchStartsWith: + return true + default: + return false + } +} + +// Defines values for GetAssetsParamsProjection. +const ( + GetAssetsParamsProjectionStatusStats GetAssetsParamsProjection = "statusStats" + GetAssetsParamsProjectionStigs GetAssetsParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetAssetsParamsProjection enum. +func (e GetAssetsParamsProjection) Valid() bool { + switch e { + case GetAssetsParamsProjectionStatusStats: + return true + case GetAssetsParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for CreateAssetParamsProjection. +const ( + CreateAssetParamsProjectionStatusStats CreateAssetParamsProjection = "statusStats" + CreateAssetParamsProjectionStigs CreateAssetParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the CreateAssetParamsProjection enum. +func (e CreateAssetParamsProjection) Valid() bool { + switch e { + case CreateAssetParamsProjectionStatusStats: + return true + case CreateAssetParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetChecklistByAssetStigParamsFormat. +const ( + GetChecklistByAssetStigParamsFormatCkl GetChecklistByAssetStigParamsFormat = "ckl" + GetChecklistByAssetStigParamsFormatCklb GetChecklistByAssetStigParamsFormat = "cklb" + GetChecklistByAssetStigParamsFormatJson GetChecklistByAssetStigParamsFormat = "json" + GetChecklistByAssetStigParamsFormatJsonAccess GetChecklistByAssetStigParamsFormat = "json-access" + GetChecklistByAssetStigParamsFormatXccdf GetChecklistByAssetStigParamsFormat = "xccdf" +) + +// Valid indicates whether the value is a known member of the GetChecklistByAssetStigParamsFormat enum. +func (e GetChecklistByAssetStigParamsFormat) Valid() bool { + switch e { + case GetChecklistByAssetStigParamsFormatCkl: + return true + case GetChecklistByAssetStigParamsFormatCklb: + return true + case GetChecklistByAssetStigParamsFormatJson: + return true + case GetChecklistByAssetStigParamsFormatJsonAccess: + return true + case GetChecklistByAssetStigParamsFormatXccdf: + return true + default: + return false + } +} + +// Defines values for GetChecklistByAssetStigParamsProjection. +const ( + GetChecklistByAssetStigParamsProjectionComment GetChecklistByAssetStigParamsProjection = "comment" + GetChecklistByAssetStigParamsProjectionDetail GetChecklistByAssetStigParamsProjection = "detail" + GetChecklistByAssetStigParamsProjectionRule GetChecklistByAssetStigParamsProjection = "rule" +) + +// Valid indicates whether the value is a known member of the GetChecklistByAssetStigParamsProjection enum. +func (e GetChecklistByAssetStigParamsProjection) Valid() bool { + switch e { + case GetChecklistByAssetStigParamsProjectionComment: + return true + case GetChecklistByAssetStigParamsProjectionDetail: + return true + case GetChecklistByAssetStigParamsProjectionRule: + return true + default: + return false + } +} + +// Defines values for GetCollectionsParamsNameMatch. +const ( + GetCollectionsParamsNameMatchContains GetCollectionsParamsNameMatch = "contains" + GetCollectionsParamsNameMatchEndsWith GetCollectionsParamsNameMatch = "endsWith" + GetCollectionsParamsNameMatchExact GetCollectionsParamsNameMatch = "exact" + GetCollectionsParamsNameMatchStartsWith GetCollectionsParamsNameMatch = "startsWith" +) + +// Valid indicates whether the value is a known member of the GetCollectionsParamsNameMatch enum. +func (e GetCollectionsParamsNameMatch) Valid() bool { + switch e { + case GetCollectionsParamsNameMatchContains: + return true + case GetCollectionsParamsNameMatchEndsWith: + return true + case GetCollectionsParamsNameMatchExact: + return true + case GetCollectionsParamsNameMatchStartsWith: + return true + default: + return false + } +} + +// Defines values for GetCollectionsParamsProjection. +const ( + GetCollectionsParamsProjectionOwners GetCollectionsParamsProjection = "owners" + GetCollectionsParamsProjectionStatistics GetCollectionsParamsProjection = "statistics" +) + +// Valid indicates whether the value is a known member of the GetCollectionsParamsProjection enum. +func (e GetCollectionsParamsProjection) Valid() bool { + switch e { + case GetCollectionsParamsProjectionOwners: + return true + case GetCollectionsParamsProjectionStatistics: + return true + default: + return false + } +} + +// Defines values for CreateCollectionParamsProjection. +const ( + CreateCollectionParamsProjectionAssets CreateCollectionParamsProjection = "assets" + CreateCollectionParamsProjectionGrants CreateCollectionParamsProjection = "grants" + CreateCollectionParamsProjectionLabels CreateCollectionParamsProjection = "labels" + CreateCollectionParamsProjectionOwners CreateCollectionParamsProjection = "owners" + CreateCollectionParamsProjectionStatistics CreateCollectionParamsProjection = "statistics" + CreateCollectionParamsProjectionStigs CreateCollectionParamsProjection = "stigs" + CreateCollectionParamsProjectionUsers CreateCollectionParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the CreateCollectionParamsProjection enum. +func (e CreateCollectionParamsProjection) Valid() bool { + switch e { + case CreateCollectionParamsProjectionAssets: + return true + case CreateCollectionParamsProjectionGrants: + return true + case CreateCollectionParamsProjectionLabels: + return true + case CreateCollectionParamsProjectionOwners: + return true + case CreateCollectionParamsProjectionStatistics: + return true + case CreateCollectionParamsProjectionStigs: + return true + case CreateCollectionParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for PostCklArchiveByCollectionParamsMode. +const ( + PostCklArchiveByCollectionParamsModeMono PostCklArchiveByCollectionParamsMode = "mono" + PostCklArchiveByCollectionParamsModeMulti PostCklArchiveByCollectionParamsMode = "multi" +) + +// Valid indicates whether the value is a known member of the PostCklArchiveByCollectionParamsMode enum. +func (e PostCklArchiveByCollectionParamsMode) Valid() bool { + switch e { + case PostCklArchiveByCollectionParamsModeMono: + return true + case PostCklArchiveByCollectionParamsModeMulti: + return true + default: + return false + } +} + +// Defines values for PostCklbArchiveByCollectionParamsMode. +const ( + Mono PostCklbArchiveByCollectionParamsMode = "mono" + Multi PostCklbArchiveByCollectionParamsMode = "multi" +) + +// Valid indicates whether the value is a known member of the PostCklbArchiveByCollectionParamsMode enum. +func (e PostCklbArchiveByCollectionParamsMode) Valid() bool { + switch e { + case Mono: + return true + case Multi: + return true + default: + return false + } +} + +// Defines values for CreateAssetsParamsProjection. +const ( + CreateAssetsParamsProjectionStatusStats CreateAssetsParamsProjection = "statusStats" + CreateAssetsParamsProjectionStigs CreateAssetsParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the CreateAssetsParamsProjection enum. +func (e CreateAssetsParamsProjection) Valid() bool { + switch e { + case CreateAssetsParamsProjectionStatusStats: + return true + case CreateAssetsParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for CloneCollectionParamsProjection. +const ( + CloneCollectionParamsProjectionAssets CloneCollectionParamsProjection = "assets" + CloneCollectionParamsProjectionGrants CloneCollectionParamsProjection = "grants" + CloneCollectionParamsProjectionLabels CloneCollectionParamsProjection = "labels" + CloneCollectionParamsProjectionOwners CloneCollectionParamsProjection = "owners" + CloneCollectionParamsProjectionStatistics CloneCollectionParamsProjection = "statistics" + CloneCollectionParamsProjectionStigs CloneCollectionParamsProjection = "stigs" + CloneCollectionParamsProjectionUsers CloneCollectionParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the CloneCollectionParamsProjection enum. +func (e CloneCollectionParamsProjection) Valid() bool { + switch e { + case CloneCollectionParamsProjectionAssets: + return true + case CloneCollectionParamsProjectionGrants: + return true + case CloneCollectionParamsProjectionLabels: + return true + case CloneCollectionParamsProjectionOwners: + return true + case CloneCollectionParamsProjectionStatistics: + return true + case CloneCollectionParamsProjectionStigs: + return true + case CloneCollectionParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for GetPoamByCollectionParamsAggregator. +const ( + GetPoamByCollectionParamsAggregatorGroupId GetPoamByCollectionParamsAggregator = "groupId" + GetPoamByCollectionParamsAggregatorRuleId GetPoamByCollectionParamsAggregator = "ruleId" +) + +// Valid indicates whether the value is a known member of the GetPoamByCollectionParamsAggregator enum. +func (e GetPoamByCollectionParamsAggregator) Valid() bool { + switch e { + case GetPoamByCollectionParamsAggregatorGroupId: + return true + case GetPoamByCollectionParamsAggregatorRuleId: + return true + default: + return false + } +} + +// Defines values for GetPoamByCollectionParamsFormat. +const ( + GetPoamByCollectionParamsFormatEMASS GetPoamByCollectionParamsFormat = "EMASS" + GetPoamByCollectionParamsFormatMCCAST GetPoamByCollectionParamsFormat = "MCCAST" +) + +// Valid indicates whether the value is a known member of the GetPoamByCollectionParamsFormat enum. +func (e GetPoamByCollectionParamsFormat) Valid() bool { + switch e { + case GetPoamByCollectionParamsFormatEMASS: + return true + case GetPoamByCollectionParamsFormatMCCAST: + return true + default: + return false + } +} + +// Defines values for GetReviewHistoryStatsByCollectionParamsProjection. +const ( + GetReviewHistoryStatsByCollectionParamsProjectionAsset GetReviewHistoryStatsByCollectionParamsProjection = "asset" +) + +// Valid indicates whether the value is a known member of the GetReviewHistoryStatsByCollectionParamsProjection enum. +func (e GetReviewHistoryStatsByCollectionParamsProjection) Valid() bool { + switch e { + case GetReviewHistoryStatsByCollectionParamsProjectionAsset: + return true + default: + return false + } +} + +// Defines values for GetReviewsByCollectionParamsRules. +const ( + GetReviewsByCollectionParamsRulesAll GetReviewsByCollectionParamsRules = "all" + GetReviewsByCollectionParamsRulesDefault GetReviewsByCollectionParamsRules = "default" + GetReviewsByCollectionParamsRulesDefaultMapped GetReviewsByCollectionParamsRules = "default-mapped" + GetReviewsByCollectionParamsRulesMapped GetReviewsByCollectionParamsRules = "mapped" + GetReviewsByCollectionParamsRulesNotDefault GetReviewsByCollectionParamsRules = "not-default" + GetReviewsByCollectionParamsRulesNotDefaultMapped GetReviewsByCollectionParamsRules = "not-default-mapped" + GetReviewsByCollectionParamsRulesNotMapped GetReviewsByCollectionParamsRules = "not-mapped" +) + +// Valid indicates whether the value is a known member of the GetReviewsByCollectionParamsRules enum. +func (e GetReviewsByCollectionParamsRules) Valid() bool { + switch e { + case GetReviewsByCollectionParamsRulesAll: + return true + case GetReviewsByCollectionParamsRulesDefault: + return true + case GetReviewsByCollectionParamsRulesDefaultMapped: + return true + case GetReviewsByCollectionParamsRulesMapped: + return true + case GetReviewsByCollectionParamsRulesNotDefault: + return true + case GetReviewsByCollectionParamsRulesNotDefaultMapped: + return true + case GetReviewsByCollectionParamsRulesNotMapped: + return true + default: + return false + } +} + +// Defines values for GetReviewsByCollectionParamsProjection. +const ( + GetReviewsByCollectionParamsProjectionMetadata GetReviewsByCollectionParamsProjection = "metadata" + GetReviewsByCollectionParamsProjectionRule GetReviewsByCollectionParamsProjection = "rule" + GetReviewsByCollectionParamsProjectionStigs GetReviewsByCollectionParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetReviewsByCollectionParamsProjection enum. +func (e GetReviewsByCollectionParamsProjection) Valid() bool { + switch e { + case GetReviewsByCollectionParamsProjectionMetadata: + return true + case GetReviewsByCollectionParamsProjectionRule: + return true + case GetReviewsByCollectionParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetReviewsByAssetParamsRules. +const ( + All GetReviewsByAssetParamsRules = "all" + Default GetReviewsByAssetParamsRules = "default" + DefaultMapped GetReviewsByAssetParamsRules = "default-mapped" + Mapped GetReviewsByAssetParamsRules = "mapped" + NotDefault GetReviewsByAssetParamsRules = "not-default" + NotDefaultMapped GetReviewsByAssetParamsRules = "not-default-mapped" + NotMapped GetReviewsByAssetParamsRules = "not-mapped" +) + +// Valid indicates whether the value is a known member of the GetReviewsByAssetParamsRules enum. +func (e GetReviewsByAssetParamsRules) Valid() bool { + switch e { + case All: + return true + case Default: + return true + case DefaultMapped: + return true + case Mapped: + return true + case NotDefault: + return true + case NotDefaultMapped: + return true + case NotMapped: + return true + default: + return false + } +} + +// Defines values for GetReviewsByAssetParamsProjection. +const ( + GetReviewsByAssetParamsProjectionMetadata GetReviewsByAssetParamsProjection = "metadata" + GetReviewsByAssetParamsProjectionRule GetReviewsByAssetParamsProjection = "rule" + GetReviewsByAssetParamsProjectionStigs GetReviewsByAssetParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetReviewsByAssetParamsProjection enum. +func (e GetReviewsByAssetParamsProjection) Valid() bool { + switch e { + case GetReviewsByAssetParamsProjectionMetadata: + return true + case GetReviewsByAssetParamsProjectionRule: + return true + case GetReviewsByAssetParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetAssetsByStigParamsLabelMatch. +const ( + GetAssetsByStigParamsLabelMatchNull GetAssetsByStigParamsLabelMatch = "null" +) + +// Valid indicates whether the value is a known member of the GetAssetsByStigParamsLabelMatch enum. +func (e GetAssetsByStigParamsLabelMatch) Valid() bool { + switch e { + case GetAssetsByStigParamsLabelMatchNull: + return true + default: + return false + } +} + +// Defines values for GetSTIGsParamsProjection. +const ( + Revisions GetSTIGsParamsProjection = "revisions" +) + +// Valid indicates whether the value is a known member of the GetSTIGsParamsProjection enum. +func (e GetSTIGsParamsProjection) Valid() bool { + switch e { + case Revisions: + return true + default: + return false + } +} + +// Defines values for GetCciParamsProjection. +const ( + GetCciParamsProjectionEmassAp GetCciParamsProjection = "emassAp" + GetCciParamsProjectionReferences GetCciParamsProjection = "references" + GetCciParamsProjectionStigs GetCciParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetCciParamsProjection enum. +func (e GetCciParamsProjection) Valid() bool { + switch e { + case GetCciParamsProjectionEmassAp: + return true + case GetCciParamsProjectionReferences: + return true + case GetCciParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetRuleByRuleIdParamsProjection. +const ( + GetRuleByRuleIdParamsProjectionCcis GetRuleByRuleIdParamsProjection = "ccis" + GetRuleByRuleIdParamsProjectionCheck GetRuleByRuleIdParamsProjection = "check" + GetRuleByRuleIdParamsProjectionDetail GetRuleByRuleIdParamsProjection = "detail" + GetRuleByRuleIdParamsProjectionFix GetRuleByRuleIdParamsProjection = "fix" + GetRuleByRuleIdParamsProjectionRuleIds GetRuleByRuleIdParamsProjection = "ruleIds" + GetRuleByRuleIdParamsProjectionStigs GetRuleByRuleIdParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetRuleByRuleIdParamsProjection enum. +func (e GetRuleByRuleIdParamsProjection) Valid() bool { + switch e { + case GetRuleByRuleIdParamsProjectionCcis: + return true + case GetRuleByRuleIdParamsProjectionCheck: + return true + case GetRuleByRuleIdParamsProjectionDetail: + return true + case GetRuleByRuleIdParamsProjectionFix: + return true + case GetRuleByRuleIdParamsProjectionRuleIds: + return true + case GetRuleByRuleIdParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetGroupsByRevisionParamsProjection. +const ( + GetGroupsByRevisionParamsProjectionRules GetGroupsByRevisionParamsProjection = "rules" +) + +// Valid indicates whether the value is a known member of the GetGroupsByRevisionParamsProjection enum. +func (e GetGroupsByRevisionParamsProjection) Valid() bool { + switch e { + case GetGroupsByRevisionParamsProjectionRules: + return true + default: + return false + } +} + +// Defines values for GetGroupByRevisionParamsProjection. +const ( + GetGroupByRevisionParamsProjectionRules GetGroupByRevisionParamsProjection = "rules" +) + +// Valid indicates whether the value is a known member of the GetGroupByRevisionParamsProjection enum. +func (e GetGroupByRevisionParamsProjection) Valid() bool { + switch e { + case GetGroupByRevisionParamsProjectionRules: + return true + default: + return false + } +} + +// Defines values for GetRulesByRevisionParamsProjection. +const ( + GetRulesByRevisionParamsProjectionCcis GetRulesByRevisionParamsProjection = "ccis" + GetRulesByRevisionParamsProjectionCheck GetRulesByRevisionParamsProjection = "check" + GetRulesByRevisionParamsProjectionDetail GetRulesByRevisionParamsProjection = "detail" + GetRulesByRevisionParamsProjectionFix GetRulesByRevisionParamsProjection = "fix" + GetRulesByRevisionParamsProjectionRuleIds GetRulesByRevisionParamsProjection = "ruleIds" + GetRulesByRevisionParamsProjectionStigs GetRulesByRevisionParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetRulesByRevisionParamsProjection enum. +func (e GetRulesByRevisionParamsProjection) Valid() bool { + switch e { + case GetRulesByRevisionParamsProjectionCcis: + return true + case GetRulesByRevisionParamsProjectionCheck: + return true + case GetRulesByRevisionParamsProjectionDetail: + return true + case GetRulesByRevisionParamsProjectionFix: + return true + case GetRulesByRevisionParamsProjectionRuleIds: + return true + case GetRulesByRevisionParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetRuleByRevisionParamsProjection. +const ( + GetRuleByRevisionParamsProjectionCcis GetRuleByRevisionParamsProjection = "ccis" + GetRuleByRevisionParamsProjectionCheck GetRuleByRevisionParamsProjection = "check" + GetRuleByRevisionParamsProjectionDetail GetRuleByRevisionParamsProjection = "detail" + GetRuleByRevisionParamsProjectionFix GetRuleByRevisionParamsProjection = "fix" + GetRuleByRevisionParamsProjectionRuleIds GetRuleByRevisionParamsProjection = "ruleIds" + GetRuleByRevisionParamsProjectionStigs GetRuleByRevisionParamsProjection = "stigs" +) + +// Valid indicates whether the value is a known member of the GetRuleByRevisionParamsProjection enum. +func (e GetRuleByRevisionParamsProjection) Valid() bool { + switch e { + case GetRuleByRevisionParamsProjectionCcis: + return true + case GetRuleByRevisionParamsProjectionCheck: + return true + case GetRuleByRevisionParamsProjectionDetail: + return true + case GetRuleByRevisionParamsProjectionFix: + return true + case GetRuleByRevisionParamsProjectionRuleIds: + return true + case GetRuleByRevisionParamsProjectionStigs: + return true + default: + return false + } +} + +// Defines values for GetUserGroupsParamsProjection. +const ( + GetUserGroupsParamsProjectionAttributions GetUserGroupsParamsProjection = "attributions" + GetUserGroupsParamsProjectionCollectionGrants GetUserGroupsParamsProjection = "collectionGrants" + GetUserGroupsParamsProjectionCollections GetUserGroupsParamsProjection = "collections" + GetUserGroupsParamsProjectionUsers GetUserGroupsParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the GetUserGroupsParamsProjection enum. +func (e GetUserGroupsParamsProjection) Valid() bool { + switch e { + case GetUserGroupsParamsProjectionAttributions: + return true + case GetUserGroupsParamsProjectionCollectionGrants: + return true + case GetUserGroupsParamsProjectionCollections: + return true + case GetUserGroupsParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for CreateUserGroupParamsProjection. +const ( + CreateUserGroupParamsProjectionAttributions CreateUserGroupParamsProjection = "attributions" + CreateUserGroupParamsProjectionCollectionGrants CreateUserGroupParamsProjection = "collectionGrants" + CreateUserGroupParamsProjectionCollections CreateUserGroupParamsProjection = "collections" + CreateUserGroupParamsProjectionUsers CreateUserGroupParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the CreateUserGroupParamsProjection enum. +func (e CreateUserGroupParamsProjection) Valid() bool { + switch e { + case CreateUserGroupParamsProjectionAttributions: + return true + case CreateUserGroupParamsProjectionCollectionGrants: + return true + case CreateUserGroupParamsProjectionCollections: + return true + case CreateUserGroupParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for DeleteUserGroupParamsProjection. +const ( + DeleteUserGroupParamsProjectionAttributions DeleteUserGroupParamsProjection = "attributions" + DeleteUserGroupParamsProjectionCollectionGrants DeleteUserGroupParamsProjection = "collectionGrants" + DeleteUserGroupParamsProjectionCollections DeleteUserGroupParamsProjection = "collections" + DeleteUserGroupParamsProjectionUsers DeleteUserGroupParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the DeleteUserGroupParamsProjection enum. +func (e DeleteUserGroupParamsProjection) Valid() bool { + switch e { + case DeleteUserGroupParamsProjectionAttributions: + return true + case DeleteUserGroupParamsProjectionCollectionGrants: + return true + case DeleteUserGroupParamsProjectionCollections: + return true + case DeleteUserGroupParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for GetUserGroupParamsProjection. +const ( + GetUserGroupParamsProjectionAttributions GetUserGroupParamsProjection = "attributions" + GetUserGroupParamsProjectionCollectionGrants GetUserGroupParamsProjection = "collectionGrants" + GetUserGroupParamsProjectionCollections GetUserGroupParamsProjection = "collections" + GetUserGroupParamsProjectionUsers GetUserGroupParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the GetUserGroupParamsProjection enum. +func (e GetUserGroupParamsProjection) Valid() bool { + switch e { + case GetUserGroupParamsProjectionAttributions: + return true + case GetUserGroupParamsProjectionCollectionGrants: + return true + case GetUserGroupParamsProjectionCollections: + return true + case GetUserGroupParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for PatchUserGroupParamsProjection. +const ( + PatchUserGroupParamsProjectionAttributions PatchUserGroupParamsProjection = "attributions" + PatchUserGroupParamsProjectionCollectionGrants PatchUserGroupParamsProjection = "collectionGrants" + PatchUserGroupParamsProjectionCollections PatchUserGroupParamsProjection = "collections" + PatchUserGroupParamsProjectionUsers PatchUserGroupParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the PatchUserGroupParamsProjection enum. +func (e PatchUserGroupParamsProjection) Valid() bool { + switch e { + case PatchUserGroupParamsProjectionAttributions: + return true + case PatchUserGroupParamsProjectionCollectionGrants: + return true + case PatchUserGroupParamsProjectionCollections: + return true + case PatchUserGroupParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for PutUserGroupParamsProjection. +const ( + PutUserGroupParamsProjectionAttributions PutUserGroupParamsProjection = "attributions" + PutUserGroupParamsProjectionCollectionGrants PutUserGroupParamsProjection = "collectionGrants" + PutUserGroupParamsProjectionCollections PutUserGroupParamsProjection = "collections" + PutUserGroupParamsProjectionUsers PutUserGroupParamsProjection = "users" +) + +// Valid indicates whether the value is a known member of the PutUserGroupParamsProjection enum. +func (e PutUserGroupParamsProjection) Valid() bool { + switch e { + case PutUserGroupParamsProjectionAttributions: + return true + case PutUserGroupParamsProjectionCollectionGrants: + return true + case PutUserGroupParamsProjectionCollections: + return true + case PutUserGroupParamsProjectionUsers: + return true + default: + return false + } +} + +// Defines values for GetUsersParamsPrivilege. +const ( + GetUsersParamsPrivilegeAdmin GetUsersParamsPrivilege = "admin" + GetUsersParamsPrivilegeCreateCollection GetUsersParamsPrivilege = "create_collection" +) + +// Valid indicates whether the value is a known member of the GetUsersParamsPrivilege enum. +func (e GetUsersParamsPrivilege) Valid() bool { + switch e { + case GetUsersParamsPrivilegeAdmin: + return true + case GetUsersParamsPrivilegeCreateCollection: + return true + default: + return false + } +} + +// Defines values for GetUsersParamsUsernameMatch. +const ( + Contains GetUsersParamsUsernameMatch = "contains" + EndsWith GetUsersParamsUsernameMatch = "endsWith" + Exact GetUsersParamsUsernameMatch = "exact" + StartsWith GetUsersParamsUsernameMatch = "startsWith" +) + +// Valid indicates whether the value is a known member of the GetUsersParamsUsernameMatch enum. +func (e GetUsersParamsUsernameMatch) Valid() bool { + switch e { + case Contains: + return true + case EndsWith: + return true + case Exact: + return true + case StartsWith: + return true + default: + return false + } +} + +// AclForGrant defines model for AclForGrant. +type AclForGrant struct { + Acl *[]AclRuleBasic `json:"acl,omitempty"` + DefaultAccess *AclRuleAccess `json:"defaultAccess,omitempty"` +} + +// AclRuleAccess defines model for AclRuleAccess. +type AclRuleAccess string + +// AclRuleAssetBasic defines model for AclRuleAssetBasic. +type AclRuleAssetBasic struct { + Access *AclRuleAccess `json:"access,omitempty"` + Asset *AssetBasic `json:"asset,omitempty"` + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` +} + +// AclRuleAssetPut defines model for AclRuleAssetPut. +type AclRuleAssetPut struct { + Access AclRuleAccess `json:"access"` + AssetId *AssetId `json:"assetId,omitempty"` + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` +} + +// AclRuleBasic defines model for AclRuleBasic. +type AclRuleBasic struct { + union json.RawMessage +} + +// AclRuleLabel defines model for AclRuleLabel. +type AclRuleLabel struct { + Access AclRuleAccess `json:"access"` + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` + Label *LabelBasicWithColor `json:"label,omitempty"` +} + +// AclRuleLabelBasic defines model for AclRuleLabelBasic. +type AclRuleLabelBasic struct { + Access AclRuleAccess `json:"access"` + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` + Label *LabelBasic `json:"label,omitempty"` +} + +// AclRuleLabelPut defines model for AclRuleLabelPut. +type AclRuleLabelPut struct { + Access AclRuleAccess `json:"access"` + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` + LabelId *LabelId `json:"labelId,omitempty"` +} + +// AclRulePut defines model for AclRulePut. +type AclRulePut struct { + union json.RawMessage +} + +// AclSource defines model for AclSource. +type AclSource struct { + AclRule *AclSource_AclRule `json:"aclRule,omitempty"` + Grantee *Grantee `json:"grantee,omitempty"` +} + +// AclSource_AclRule defines model for AclSource.AclRule. +type AclSource_AclRule struct { + union json.RawMessage +} + +// ApAcronym defines model for ApAcronym. +type ApAcronym = String20Nullable + +// ApiClassification defines model for ApiClassification. +type ApiClassification string + +// ApiConfiguration defines model for ApiConfiguration. +type ApiConfiguration struct { + Classification *ApiClassification `json:"classification,omitempty"` + Commit *CommitObject `json:"commit,omitempty"` + LastMigration *LastMigration `json:"lastMigration,omitempty"` + + // Version Semver as defined by the BNF at semver.org + Version *ApiVersion `json:"version,omitempty"` +} + +// ApiDefinition defines model for ApiDefinition. +type ApiDefinition struct { + union json.RawMessage +} + +// ApiDefinition0 defines model for . +type ApiDefinition0 = map[string]interface{} + +// ApiDefinition1 defines model for . +type ApiDefinition1 = []interface{} + +// ApiVersion Semver as defined by the BNF at semver.org +type ApiVersion = Version + +// AppDataFormat defines model for AppDataFormat. +type AppDataFormat string + +// AppDataTable defines model for AppDataTable. +type AppDataTable struct { + DataLength *float32 `json:"dataLength,omitempty"` + Name *String255 `json:"name,omitempty"` + Rows *float32 `json:"rows,omitempty"` +} + +// AppInfo defines model for AppInfo. +type AppInfo struct { + Collections map[string]AppInfoCollection `json:"collections"` + Date StringDateTime `json:"date"` + Groups *map[string]AppInfoGroups `json:"groups,omitempty"` + Mysql AppInfoMySql `json:"mysql"` + Nodejs AppInfoNodejs `json:"nodejs"` + Requests AppInfoRequests `json:"requests"` + Schema AppInfoSchemaVersion `json:"schema"` + Users AppInfoUsers `json:"users"` + + // Version Semver as defined by the BNF at semver.org + Version ApiVersion `json:"version"` +} + +// AppInfoAssetStigRanges defines model for AppInfoAssetStigRanges. +type AppInfoAssetStigRanges struct { + Range00 *IntegerMinimumZeroNullable `json:"range00"` + Range01to05 *IntegerMinimumZeroNullable `json:"range01to05"` + Range06to10 *IntegerMinimumZeroNullable `json:"range06to10"` + Range11to15 *IntegerMinimumZeroNullable `json:"range11to15"` + Range16plus *IntegerMinimumZeroNullable `json:"range16plus"` +} + +// AppInfoClients defines model for AppInfoClients. +type AppInfoClients map[string]*IntegerMinimumZeroNullable + +// AppInfoCollection defines model for AppInfoCollection. +type AppInfoCollection struct { + AssetStigRanges AppInfoAssetStigRanges `json:"assetStigRanges"` + Assets *IntegerMinimumZeroNullable `json:"assets"` + AssetsDisabled *IntegerMinimumZeroNullable `json:"assetsDisabled"` + Grants AppInfoCollectionGrants `json:"grants"` + LabelCounts AppInfoLabelCounts `json:"labelCounts"` + Name CollectionName `json:"name"` + Reviews *Integer64MinimumZeroNullable `json:"reviews"` + ReviewsDisabled *Integer64MinimumZeroNullable `json:"reviewsDisabled"` + RoleCounts AppInfoCollectionRoleCounts `json:"roleCounts"` + Rules *IntegerMinimumZeroNullable `json:"rules"` + Settings CollectionSettings `json:"settings"` + State AppInfoCollectionState `json:"state"` + StigAssignments *IntegerMinimumZeroNullable `json:"stigAssignments"` + UniqueStigs *IntegerMinimumZeroNullable `json:"uniqueStigs"` +} + +// AppInfoCollectionGrant defines model for AppInfoCollectionGrant. +type AppInfoCollectionGrant struct { + Grantee AppInfoGrantee `json:"grantee"` + Role Roles `json:"role"` + RuleCounts AppInfoRuleCounts `json:"ruleCounts"` + UniqueAssets *IntegerMinimumZeroNullable `json:"uniqueAssets"` + UniqueAssetsDisabled *IntegerMinimumZeroNullable `json:"uniqueAssetsDisabled"` + UniqueStigs int64 `json:"uniqueStigs"` + UniqueStigsDisabled *IntegerMinimumZeroNullable `json:"uniqueStigsDisabled"` +} + +// AppInfoCollectionGrants defines model for AppInfoCollectionGrants. +type AppInfoCollectionGrants map[string]AppInfoCollectionGrant + +// AppInfoCollectionRoleCounts defines model for AppInfoCollectionRoleCounts. +type AppInfoCollectionRoleCounts struct { + Full *IntegerMinimumZeroNullable `json:"full"` + Manage *IntegerMinimumZeroNullable `json:"manage"` + Owner *IntegerMinimumZeroNullable `json:"owner"` + Restricted *IntegerMinimumZeroNullable `json:"restricted"` +} + +// AppInfoCollectionSettings defines model for AppInfoCollectionSettings. +type AppInfoCollectionSettings struct { + Fields *CollectionFieldSettings `json:"fields,omitempty"` + History *CollectionHistorySettings `json:"history,omitempty"` + ImportOptions *CollectionImportOptions `json:"importOptions,omitempty"` + Status *CollectionStatusSettings `json:"status,omitempty"` +} + +// AppInfoCollectionState defines model for AppInfoCollectionState. +type AppInfoCollectionState string + +// AppInfoGrantCounts defines model for AppInfoGrantCounts. +type AppInfoGrantCounts struct { + Role1 *IntegerMinimumZeroNullable `json:"role1,omitempty"` + Role2 *IntegerMinimumZeroNullable `json:"role2,omitempty"` + Role3 *IntegerMinimumZeroNullable `json:"role3,omitempty"` + Role4 *IntegerMinimumZeroNullable `json:"role4,omitempty"` +} + +// AppInfoGrantee defines model for AppInfoGrantee. +type AppInfoGrantee struct { + UserGroupId *IntegerMinimumZeroNullable `json:"userGroupId"` + UserId *IntegerMinimumZeroNullable `json:"userId"` +} + +// AppInfoGroups defines model for AppInfoGroups. +type AppInfoGroups struct { + Created Created `json:"created"` + Members *IntegerMinimumZeroNullable `json:"members"` + ModifiedDate StringDateTime `json:"modifiedDate"` + Name String255 `json:"name"` + Roles AppInfoGroupsRoles `json:"roles"` +} + +// AppInfoGroupsRoles defines model for AppInfoGroupsRoles. +type AppInfoGroupsRoles struct { + Full *IntegerMinimumZeroNullable `json:"full"` + Manage *IntegerMinimumZeroNullable `json:"manage"` + Owner *IntegerMinimumZeroNullable `json:"owner"` + Restricted *IntegerMinimumZeroNullable `json:"restricted"` +} + +// AppInfoLabelCounts defines model for AppInfoLabelCounts. +type AppInfoLabelCounts struct { + AssetLabels *IntegerMinimumZeroNullable `json:"assetLabels"` + CollectionLabels *IntegerMinimumZeroNullable `json:"collectionLabels"` + LabeledAssets *IntegerMinimumZeroNullable `json:"labeledAssets"` +} + +// AppInfoMySql defines model for AppInfoMySql. +type AppInfoMySql struct { + Status AppInfoMysqlStatus `json:"status"` + Tables AppInfoMysqlTableStats `json:"tables"` + Variables AppInfoMysqlVariables `json:"variables"` + + // Version Semver as defined by the BNF at semver.org + Version ApiVersion `json:"version"` +} + +// AppInfoMysqlStatus defines model for AppInfoMysqlStatus. +type AppInfoMysqlStatus struct { + AbortedClients String255 `json:"Aborted_clients"` + AbortedConnects String255 `json:"Aborted_connects"` + BytesReceived String255 `json:"Bytes_received"` + BytesSent String255 `json:"Bytes_sent"` + Connections String255 `json:"Connections"` + CreatedTmpDiskTables String255 `json:"Created_tmp_disk_tables"` + CreatedTmpFiles String255 `json:"Created_tmp_files"` + CreatedTmpTables String255 `json:"Created_tmp_tables"` + HandlerCommit String255 `json:"Handler_commit"` + HandlerUpdate String255 `json:"Handler_update"` + HandlerWrite String255 `json:"Handler_write"` + InnodbBufferPoolBytesData String255 `json:"Innodb_buffer_pool_bytes_data"` + InnodbBufferPoolPagesDirty String255 `json:"Innodb_buffer_pool_pages_dirty"` + InnodbBufferPoolPagesFlushed String255 `json:"Innodb_buffer_pool_pages_flushed"` + InnodbBufferPoolPagesFree String255 `json:"Innodb_buffer_pool_pages_free"` + InnodbBufferPoolPagesTotal String255 `json:"Innodb_buffer_pool_pages_total"` + InnodbBufferPoolReadRequests String255 `json:"Innodb_buffer_pool_read_requests"` + InnodbBufferPoolReads String255 `json:"Innodb_buffer_pool_reads"` + InnodbBufferPoolWaitFree String255 `json:"Innodb_buffer_pool_wait_free"` + InnodbDataFsyncs String255 `json:"Innodb_data_fsyncs"` + InnodbDataReads String255 `json:"Innodb_data_reads"` + InnodbDataWrites String255 `json:"Innodb_data_writes"` + InnodbLogWaits String255 `json:"Innodb_log_waits"` + InnodbLogWrites String255 `json:"Innodb_log_writes"` + InnodbOsLogFsyncs String255 `json:"Innodb_os_log_fsyncs"` + InnodbPagesCreated String255 `json:"Innodb_pages_created"` + InnodbPagesRead String255 `json:"Innodb_pages_read"` + InnodbPagesWritten String255 `json:"Innodb_pages_written"` + InnodbRedoLogCheckpointLsn *String255 `json:"Innodb_redo_log_checkpoint_lsn,omitempty"` + InnodbRedoLogCurrentLsn *String255 `json:"Innodb_redo_log_current_lsn,omitempty"` + InnodbRedoLogFlushedToDiskLsn *String255 `json:"Innodb_redo_log_flushed_to_disk_lsn,omitempty"` + InnodbRowLockCurrentWaits String255 `json:"Innodb_row_lock_current_waits"` + InnodbRowLockTime String255 `json:"Innodb_row_lock_time"` + InnodbRowLockTimeAvg String255 `json:"Innodb_row_lock_time_avg"` + InnodbRowLockTimeMax String255 `json:"Innodb_row_lock_time_max"` + InnodbRowLockWaits String255 `json:"Innodb_row_lock_waits"` + InnodbRowsDeleted String255 `json:"Innodb_rows_deleted"` + InnodbRowsInserted String255 `json:"Innodb_rows_inserted"` + InnodbRowsRead String255 `json:"Innodb_rows_read"` + InnodbRowsUpdated String255 `json:"Innodb_rows_updated"` + MaxUsedConnections String255 `json:"Max_used_connections"` + OpenTables String255 `json:"Open_tables"` + OpenedTables String255 `json:"Opened_tables"` + Queries String255 `json:"Queries"` + SelectFullJoin String255 `json:"Select_full_join"` + SelectFullRangeJoin String255 `json:"Select_full_range_join"` + SelectScan String255 `json:"Select_scan"` + SlowQueries String255 `json:"Slow_queries"` + SortMergePasses String255 `json:"Sort_merge_passes"` + SortRange String255 `json:"Sort_range"` + SortRows String255 `json:"Sort_rows"` + SortScan String255 `json:"Sort_scan"` + TableLocksImmediate String255 `json:"Table_locks_immediate"` + TableLocksWaited String255 `json:"Table_locks_waited"` + TableOpenCacheHits String255 `json:"Table_open_cache_hits"` + TableOpenCacheMisses String255 `json:"Table_open_cache_misses"` + TableOpenCacheOverflows String255 `json:"Table_open_cache_overflows"` + ThreadsCached String255 `json:"Threads_cached"` + ThreadsConnected String255 `json:"Threads_connected"` + ThreadsCreated String255 `json:"Threads_created"` + ThreadsRunning String255 `json:"Threads_running"` + Uptime String255 `json:"Uptime"` + UptimeSinceFlushStatus String255 `json:"Uptime_since_flush_status"` +} + +// AppInfoMysqlTableStats defines model for AppInfoMysqlTableStats. +type AppInfoMysqlTableStats map[string]AppInfoTableInfo + +// AppInfoMysqlVariables defines model for AppInfoMysqlVariables. +type AppInfoMysqlVariables struct { + BinlogCacheSize String255 `json:"binlog_cache_size"` + InnodbBufferPoolInstances String255 `json:"innodb_buffer_pool_instances"` + InnodbBufferPoolSize String255 `json:"innodb_buffer_pool_size"` + InnodbChangeBuffering String255 `json:"innodb_change_buffering"` + InnodbDoublewrite String255 `json:"innodb_doublewrite"` + InnodbFlushLogAtTrxCommit String255 `json:"innodb_flush_log_at_trx_commit"` + InnodbFlushSync String255 `json:"innodb_flush_sync"` + InnodbIoCapacity String255 `json:"innodb_io_capacity"` + InnodbIoCapacityMax String255 `json:"innodb_io_capacity_max"` + InnodbLockWaitTimeout String255 `json:"innodb_lock_wait_timeout"` + InnodbLogBufferSize String255 `json:"innodb_log_buffer_size"` + InnodbLogFileSize String255 `json:"innodb_log_file_size"` + InnodbRedoLogCapacity *String255 `json:"innodb_redo_log_capacity,omitempty"` + JoinBufferSize String255 `json:"join_buffer_size"` + KeyBufferSize String255 `json:"key_buffer_size"` + LongQueryTime String255 `json:"long_query_time"` + MaxAllowedPacket String255 `json:"max_allowed_packet"` + MaxConnections String255 `json:"max_connections"` + MaxHeapTableSize String255 `json:"max_heap_table_size"` + ReadBufferSize String255 `json:"read_buffer_size"` + ReadRndBufferSize String255 `json:"read_rnd_buffer_size"` + SortBufferSize String255 `json:"sort_buffer_size"` + TableDefinitionCache String255 `json:"table_definition_cache"` + TableOpenCache String255 `json:"table_open_cache"` + TemptableMaxMmap String255 `json:"temptable_max_mmap"` + TemptableMaxRam String255 `json:"temptable_max_ram"` + ThreadCacheSize String255 `json:"thread_cache_size"` + TmpTableSize String255 `json:"tmp_table_size"` + + // Version Semver as defined by the BNF at semver.org + Version Version `json:"version"` + VersionCompileMachine String255 `json:"version_compile_machine"` + VersionCompileOs String255 `json:"version_compile_os"` +} + +// AppInfoNodeCpus defines model for AppInfoNodeCpus. +type AppInfoNodeCpus struct { + Model String255 `json:"model"` + Speed *IntegerMinimumZeroNullable `json:"speed"` +} + +// AppInfoNodeMemory defines model for AppInfoNodeMemory. +type AppInfoNodeMemory struct { + ArrayBuffers Integer64MinimumZero `json:"arrayBuffers"` + External Integer64MinimumZero `json:"external"` + HeapTotal Integer64MinimumZero `json:"heapTotal"` + HeapUsed Integer64MinimumZero `json:"heapUsed"` + MaxRss Integer64MinimumZero `json:"maxRss"` + Rss Integer64MinimumZero `json:"rss"` +} + +// AppInfoNodeOs defines model for AppInfoNodeOs. +type AppInfoNodeOs struct { + Arch String255 `json:"arch"` + LoadAverage String255 `json:"loadAverage"` + OsMachine String255 `json:"osMachine"` + OsName String255 `json:"osName"` + OsRelease String255 `json:"osRelease"` + Platform String255 `json:"platform"` +} + +// AppInfoNodejs defines model for AppInfoNodejs. +type AppInfoNodejs struct { + Cpus []AppInfoNodeCpus `json:"cpus"` + Environment map[string]string `json:"environment"` + Memory AppInfoNodeMemory `json:"memory"` + Os AppInfoNodeOs `json:"os"` + Uptime float64 `json:"uptime"` + + // Version Semver as defined by the BNF at semver.org + Version ApiVersion `json:"version"` +} + +// AppInfoOperation defines model for AppInfoOperation. +type AppInfoOperation struct { + AverageRetries *IntegerMinimumZeroNullable `json:"averageRetries"` + Clients AppInfoClients `json:"clients"` + ElevatedRequests *IntegerMinimumZeroNullable `json:"elevatedRequests"` + Errors map[string]int64 `json:"errors"` + MaxDuration *IntegerMinimumZeroNullable `json:"maxDuration"` + MaxDurationUpdates *IntegerMinimumZeroNullable `json:"maxDurationUpdates"` + MaxReqLength *IntegerMinimumZeroNullable `json:"maxReqLength,omitempty"` + MaxResLength *IntegerMinimumZeroNullable `json:"maxResLength"` + MinDuration *IntegerMinimumZeroNullable `json:"minDuration"` + MinReqLength *IntegerMinimumZeroNullable `json:"minReqLength,omitempty"` + MinResLength *IntegerMinimumZeroNullable `json:"minResLength"` + Projections *AppInfoOperationIdProjections `json:"projections,omitempty"` + Retried *IntegerMinimumZeroNullable `json:"retried"` + TotalDuration *IntegerMinimumZeroNullable `json:"totalDuration"` + TotalReqLength *IntegerMinimumZeroNullable `json:"totalReqLength,omitempty"` + TotalRequests *IntegerMinimumZeroNullable `json:"totalRequests"` + TotalResLength *IntegerMinimumZeroNullable `json:"totalResLength"` + Users AppInfoUserRequests `json:"users"` +} + +// AppInfoOperationIdProjection defines model for AppInfoOperationIdProjection. +type AppInfoOperationIdProjection struct { + StatusStats *struct { + AverageDuration *IntegerMinimumZeroNullable `json:"averageDuration"` + AverageRetries *IntegerMinimumZeroNullable `json:"averageRetries"` + MaxDuration *IntegerMinimumZeroNullable `json:"maxDuration"` + MinDuration *IntegerMinimumZeroNullable `json:"minDuration"` + Retried *IntegerMinimumZeroNullable `json:"retried"` + TotalDuration *IntegerMinimumZeroNullable `json:"totalDuration"` + TotalRequests *IntegerMinimumZeroNullable `json:"totalRequests"` + } `json:"statusStats,omitempty"` +} + +// AppInfoOperationIdProjections defines model for AppInfoOperationIdProjections. +type AppInfoOperationIdProjections map[string]AppInfoOperationIdProjection + +// AppInfoPrivilegeTimeSeriesCounts defines model for AppInfoPrivilegeTimeSeriesCounts. +type AppInfoPrivilegeTimeSeriesCounts map[string]*IntegerMinimumZeroNullable + +// AppInfoRequests defines model for AppInfoRequests. +type AppInfoRequests struct { + OperationIds map[string]AppInfoOperation `json:"operationIds"` + TotalApiRequests *IntegerMinimumZeroNullable `json:"totalApiRequests"` + TotalRequestDuration *IntegerMinimumZeroNullable `json:"totalRequestDuration"` + TotalRequests *IntegerMinimumZeroNullable `json:"totalRequests"` +} + +// AppInfoRestrictedUsers defines model for AppInfoRestrictedUsers. +type AppInfoRestrictedUsers struct { + StigAsstCount *IntegerMinimumZeroNullable `json:"stigAsstCount,omitempty"` + UniqueAssets *IntegerMinimumZeroNullable `json:"uniqueAssets,omitempty"` +} + +// AppInfoRuleCounts defines model for AppInfoRuleCounts. +type AppInfoRuleCounts struct { + None *IntegerMinimumZeroNullable `json:"none"` + R *IntegerMinimumZeroNullable `json:"r"` + Rw *IntegerMinimumZeroNullable `json:"rw"` +} + +// AppInfoSchemaVersion defines model for AppInfoSchemaVersion. +type AppInfoSchemaVersion = string + +// AppInfoTableInfo defines model for AppInfoTableInfo. +type AppInfoTableInfo struct { + AutoIncrement *IntegerMinimumZeroNullable `json:"autoIncrement"` + AvgRowLength *IntegerMinimumZeroNullable `json:"avgRowLength"` + CreateTime Created `json:"createTime"` + DataLength *IntegerMinimumZeroNullable `json:"dataLength"` + IndexLength *IntegerMinimumZeroNullable `json:"indexLength"` + RowCount *IntegerMinimumZeroNullable `json:"rowCount"` + TableCollation String255 `json:"tableCollation"` + TableRows *IntegerMinimumZeroNullable `json:"tableRows"` + UpdateTime *StringDateTimeNullable `json:"updateTime,omitempty"` +} + +// AppInfoUserInfo defines model for AppInfoUserInfo. +type AppInfoUserInfo struct { + Created Created `json:"created"` + LastAccess *UserLastAccess `json:"lastAccess"` + Privileges AppInfoUserPrivileges `json:"privileges"` + Roles AppInfoUserRoles `json:"roles"` + Username Username `json:"username"` +} + +// AppInfoUserPrivilegeCounts defines model for AppInfoUserPrivilegeCounts. +type AppInfoUserPrivilegeCounts struct { + ActiveInLast30Days *map[string]AppInfoPrivilegeTimeSeriesCounts `json:"activeInLast30Days,omitempty"` + ActiveInLast90Days *map[string]AppInfoPrivilegeTimeSeriesCounts `json:"activeInLast90Days,omitempty"` + Overall *AppInfoPrivilegeTimeSeriesCounts `json:"overall,omitempty"` +} + +// AppInfoUserPrivileges defines model for AppInfoUserPrivileges. +type AppInfoUserPrivileges = []String255 + +// AppInfoUserRequests defines model for AppInfoUserRequests. +type AppInfoUserRequests map[string]*IntegerMinimumZeroNullable + +// AppInfoUserRoles defines model for AppInfoUserRoles. +type AppInfoUserRoles struct { + Full *IntegerMinimumZeroNullable `json:"full"` + Manage *IntegerMinimumZeroNullable `json:"manage"` + Owner *IntegerMinimumZeroNullable `json:"owner"` + Restricted *IntegerMinimumZeroNullable `json:"restricted"` +} + +// AppInfoUsers defines model for AppInfoUsers. +type AppInfoUsers struct { + UserInfo map[string]AppInfoUserInfo `json:"userInfo"` + UserPrivilegeCounts map[string]AppInfoUserPrivilegeCounts `json:"userPrivilegeCounts"` +} + +// Asset defines model for Asset. +type Asset struct { + AssetId AssetId `json:"assetId"` + Collection CollectionBasic `json:"collection"` + Description *AssetDescription `json:"description"` + Fqdn *AssetFqdn `json:"fqdn"` + Ip *AssetIp `json:"ip"` + LabelIds *[]LabelId `json:"labelIds,omitempty"` + Mac *AssetMac `json:"mac"` + Metadata *Metadata `json:"metadata,omitempty"` + Name AssetName `json:"name"` + Noncomputing AssetNoncomputing `json:"noncomputing"` +} + +// AssetBasic defines model for AssetBasic. +type AssetBasic struct { + AssetId AssetId `json:"assetId"` + Name AssetName `json:"name"` +} + +// AssetBasicProjected defines model for AssetBasicProjected. +type AssetBasicProjected struct { + Access *AclRuleAccess `json:"access,omitempty"` + AssetId AssetId `json:"assetId"` + AssetLabelIds *[]LabelId `json:"assetLabelIds,omitempty"` + AssetLabels *[]LabelBasicWithColor `json:"assetLabels,omitempty"` + CollectionId *CollectionId `json:"collectionId,omitempty"` + Name AssetName `json:"name"` +} + +// AssetBatchItem defines model for AssetBatchItem. +type AssetBatchItem struct { + Description *AssetDescription `json:"description"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + Ip *AssetIp `json:"ip"` + LabelNames *[]LabelName `json:"labelNames,omitempty"` + Mac *AssetMac `json:"mac,omitempty"` + Metadata Metadata `json:"metadata"` + Name AssetName `json:"name"` + Noncomputing AssetNoncomputing `json:"noncomputing"` + + // Stigs The benchmarkIds mapped to this Asset + Stigs []string `json:"stigs"` +} + +// AssetCount defines model for AssetCount. +type AssetCount = int + +// AssetCreateBatch defines model for AssetCreateBatch. +type AssetCreateBatch = []AssetBatchItem + +// AssetCreateOrReplace defines model for AssetCreateOrReplace. +type AssetCreateOrReplace struct { + CollectionId CollectionId `json:"collectionId"` + Description *AssetDescription `json:"description"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + Ip *AssetIp `json:"ip"` + LabelNames *[]LabelName `json:"labelNames,omitempty"` + Mac *AssetMac `json:"mac,omitempty"` + Metadata Metadata `json:"metadata"` + Name AssetName `json:"name"` + Noncomputing AssetNoncomputing `json:"noncomputing"` + + // Stigs The benchmarkIds mapped to this Asset + Stigs []string `json:"stigs"` +} + +// AssetDescription defines model for AssetDescription. +type AssetDescription = String255Nullable + +// AssetForCollection defines model for AssetForCollection. +type AssetForCollection struct { + AssetId *AssetId `json:"assetId,omitempty"` + Name *AssetName `json:"name,omitempty"` +} + +// AssetFqdn defines model for AssetFqdn. +type AssetFqdn = String255Nullable + +// AssetId defines model for AssetId. +type AssetId = StringIntId + +// AssetIp defines model for AssetIp. +type AssetIp = String255Nullable + +// AssetMac defines model for AssetMac. +type AssetMac = String255Nullable + +// AssetName defines model for AssetName. +type AssetName = String255 + +// AssetNoncomputing defines model for AssetNoncomputing. +type AssetNoncomputing = bool + +// AssetProjected defines model for AssetProjected. +type AssetProjected struct { + AssetId AssetId `json:"assetId"` + Collection CollectionBasic `json:"collection"` + Description *AssetDescription `json:"description"` + Fqdn *AssetFqdn `json:"fqdn"` + Ip *AssetIp `json:"ip"` + LabelIds []LabelId `json:"labelIds"` + Labels *[]LabelBasicWithColor `json:"labels,omitempty"` + Mac *AssetMac `json:"mac"` + Metadata *Metadata `json:"metadata,omitempty"` + Name AssetName `json:"name"` + Noncomputing AssetNoncomputing `json:"noncomputing"` + StatusStats *struct { + AcceptedCount *int `json:"acceptedCount,omitempty"` + MaxTs *MaxTs `json:"maxTs,omitempty"` + MinTs *MinTs `json:"minTs,omitempty"` + RejectedCount *int `json:"rejectedCount,omitempty"` + RuleCount *RuleCount `json:"ruleCount,omitempty"` + SavedCount *int `json:"savedCount,omitempty"` + StigCount *int `json:"stigCount,omitempty"` + SubmittedCount *int `json:"submittedCount,omitempty"` + } `json:"statusStats,omitempty"` + + // Stigs The benchmarkIds mapped to this Asset + Stigs *[]CollectionStig `json:"stigs,omitempty"` +} + +// AssetStigResponse defines model for AssetStigResponse. +type AssetStigResponse struct { + BenchmarkId *BenchmarkId `json:"benchmarkId"` + RevisionDate RevisionDate `json:"revisionDate"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` +} + +// AssetStigSelection An array that specifies a list of Assets/STIG items. +// +// Each array item is an object that MUST include the property `assetId` and MAY include the property `stigs`. +// +// If the `stigs` property is absent, the default value of the property is used. The default value is an array of the default revisions of each STIG to which the requesting User +// has been granted access on the Asset. +// +// If the `stigs` property is present, the value MUST be an array. Each array member is EITHER: +// - an object that identifies both a `benchmarkId` and a specific `revisionStr` +// - a string whose value is a `benchmarkId`. This is equivalent to specifying the object {"benchmarkId": [provided benchmarkId], "revisionStr": [default revisionStr for the provided benchmarkId]} +type AssetStigSelection struct { + AssetId AssetId `json:"assetId"` + Stigs *[]AssetStigSelection_Stigs_Item `json:"stigs,omitempty"` +} + +// AssetStigSelection_Stigs_Item defines model for AssetStigSelection.stigs.Item. +type AssetStigSelection_Stigs_Item struct { + union json.RawMessage +} + +// AssetUpdate defines model for AssetUpdate. +type AssetUpdate struct { + CollectionId *CollectionId `json:"collectionId,omitempty"` + Description *AssetDescription `json:"description,omitempty"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + Ip *AssetIp `json:"ip,omitempty"` + LabelNames *[]LabelName `json:"labelNames,omitempty"` + Mac *AssetMac `json:"mac,omitempty"` + Metadata *Metadata `json:"metadata,omitempty"` + Name *AssetName `json:"name,omitempty"` + Noncomputing *AssetNoncomputing `json:"noncomputing,omitempty"` + + // Stigs The benchmarkIds mapped to this Asset + Stigs *[]*BenchmarkId `json:"stigs,omitempty"` +} + +// AssetsPatchRequest defines model for AssetsPatchRequest. +type AssetsPatchRequest struct { + AssetIds []AssetId `json:"assetIds"` + Operation AssetsPatchRequestOperation `json:"operation"` +} + +// AssetsPatchRequestOperation defines model for AssetsPatchRequest.Operation. +type AssetsPatchRequestOperation string + +// AssetsPatchResponse defines model for AssetsPatchResponse. +type AssetsPatchResponse struct { + AssetIds *[]AssetId `json:"assetIds,omitempty"` + Operation *AssetsPatchResponseOperation `json:"operation,omitempty"` +} + +// AssetsPatchResponseOperation defines model for AssetsPatchResponse.Operation. +type AssetsPatchResponseOperation string + +// Attribution defines model for Attribution. +type Attribution struct { + Ts *StringDateTime `json:"ts,omitempty"` + UserId *UserId `json:"userId,omitempty"` + Username *Username `json:"username,omitempty"` +} + +// Attributions defines model for Attributions. +type Attributions struct { + Created *Attribution `json:"created,omitempty"` + Modified *Attribution `json:"modified,omitempty"` +} + +// BenchmarkId defines model for BenchmarkId. +type BenchmarkId = String255Nullable + +// Cci defines model for Cci. +type Cci struct { + Cci *CciString `json:"cci,omitempty"` + Contributor *string `json:"contributor,omitempty"` + Definition *DefinitionString `json:"definition,omitempty"` + EmassAp *EmassAp `json:"emassAp,omitempty"` + Publishdate *StringDateTime `json:"publishdate,omitempty"` + References *[]CciReferenceItem `json:"references,omitempty"` + Status *CciStatus `json:"status,omitempty"` + Stigs *[]RevisionBasic `json:"stigs,omitempty"` + Type *CciType `json:"type,omitempty"` +} + +// CciBasic defines model for CciBasic. +type CciBasic struct { + ApAcronym *ApAcronym `json:"apAcronym"` + Cci CciString `json:"cci"` + Control *string `json:"control"` + Definition *DefinitionString `json:"definition"` +} + +// CciListItem defines model for CciListItem. +type CciListItem struct { + Cci *CciString `json:"cci,omitempty"` + References *[]CciReferenceItem `json:"references,omitempty"` + Type *CciType `json:"type,omitempty"` +} + +// CciLocation defines model for CciLocation. +type CciLocation = String255 + +// CciReferenceItem defines model for CciReferenceItem. +type CciReferenceItem struct { + Creator *string `json:"creator,omitempty"` + IndexDisa *IndexDisa `json:"indexDisa,omitempty"` + Location *CciLocation `json:"location,omitempty"` + ParentControl *ParentControl `json:"parentControl,omitempty"` + TextRefNist *TextRefNist `json:"textRefNist,omitempty"` + Title *CciString `json:"title,omitempty"` + Version *VersionString `json:"version,omitempty"` +} + +// CciStatus defines model for CciStatus. +type CciStatus = String20 + +// CciString defines model for CciString. +type CciString = String255 + +// CciType defines model for CciType. +type CciType = String20 + +// Check defines model for Check. +type Check struct { + Content *string `json:"content,omitempty"` + System *string `json:"system,omitempty"` +} + +// ChecklistAssetStig defines model for ChecklistAssetStig. +type ChecklistAssetStig = []struct { + AssetId *AssetId `json:"assetId,omitempty"` + AutoResult *bool `json:"autoResult,omitempty"` + Comment *CommentaryStringNullable `json:"comment,omitempty"` + Detail *CommentaryStringNullable `json:"detail,omitempty"` + GroupId *GroupId `json:"groupId,omitempty"` + GroupTitle *GroupTitle `json:"groupTitle,omitempty"` + + // Result The Review result + Result *ChecklistResult `json:"result,omitempty"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + Rule *RuleProjected `json:"rule,omitempty"` + RuleId *RuleId `json:"ruleId,omitempty"` + RuleTitle *RuleTitle `json:"ruleTitle,omitempty"` + Severity *RuleSeverity `json:"severity,omitempty"` + Status *ChecklistStatus `json:"status,omitempty"` + StatusTs *StringDateTimeNullable `json:"statusTs,omitempty"` + TouchTs *StringDateTimeNullable `json:"touchTs,omitempty"` + Ts *StringDateTimeNullable `json:"ts,omitempty"` + Version *VersionString `json:"version,omitempty"` +} + +// ChecklistCkl The CKL format generated and read by DISA STIG Viewer +type ChecklistCkl struct { + ASSET *struct { + ASSETTYPE *string `json:"ASSET_TYPE,omitempty"` + HOSTFQDN *string `json:"HOST_FQDN,omitempty"` + HOSTGUID *string `json:"HOST_GUID,omitempty"` + HOSTIP *string `json:"HOST_IP,omitempty"` + HOSTMAC *string `json:"HOST_MAC,omitempty"` + HOSTNAME *string `json:"HOST_NAME,omitempty"` + TARGETKEY *string `json:"TARGET_KEY,omitempty"` + TECHAREA *string `json:"TECH_AREA,omitempty"` + } `json:"ASSET,omitempty"` + STIGS *struct { + ISTIG *[]struct { + STIGINFO *[]struct { + SIDATA *struct { + SIDDATA *string `json:"SID_DATA,omitempty"` + SIDNAME *string `json:"SID_NAME,omitempty"` + } `json:"SI_DATA,omitempty"` + } `json:"STIG_INFO,omitempty"` + VULN *[]struct { + COMMENTS *string `json:"COMMENTS,omitempty"` + FINDINGDETAILS *string `json:"FINDING_DETAILS,omitempty"` + SEVERITYJUSTIFICATION *string `json:"SEVERITY_JUSTIFICATION,omitempty"` + SEVERITYOVERRIDE *string `json:"SEVERITY_OVERRIDE,omitempty"` + STATUS *ChecklistCklSTIGSISTIGVULNSTATUS `json:"STATUS,omitempty"` + STIGDATA *[]struct { + ATTRIBUTEDATA *string `json:"ATTRIBUTE_DATA,omitempty"` + VULNATTRIBUTE *string `json:"VULN_ATTRIBUTE,omitempty"` + } `json:"STIG_DATA,omitempty"` + } `json:"VULN,omitempty"` + } `json:"iSTIG,omitempty"` + } `json:"STIGS,omitempty"` +} + +// ChecklistCklSTIGSISTIGVULNSTATUS defines model for ChecklistCkl.STIGS.ISTIG.VULN.STATUS. +type ChecklistCklSTIGSISTIGVULNSTATUS string + +// ChecklistCklb The CKLB format generated and read by DISA STIG VIewer 3 +type ChecklistCklb struct { + Active *bool `json:"active,omitempty"` + HasPath *bool `json:"has_path,omitempty"` + Id *openapi_types.UUID `json:"id,omitempty"` + Mode *int `json:"mode,omitempty"` + Stigs *[]StigCklb `json:"stigs,omitempty"` + TargetData *TargetData `json:"target_data,omitempty"` + Title *string `json:"title,omitempty"` +} + +// ChecklistCollectionCounts defines model for ChecklistCollectionCounts. +type ChecklistCollectionCounts struct { + Results *struct { + Fail *int `json:"fail,omitempty"` + Notapplicable *int `json:"notapplicable,omitempty"` + Other *int `json:"other,omitempty"` + Pass *int `json:"pass,omitempty"` + } `json:"results,omitempty"` + Statuses *struct { + Accepted *int `json:"accepted,omitempty"` + Rejected *int `json:"rejected,omitempty"` + Saved *int `json:"saved,omitempty"` + Submitted *int `json:"submitted,omitempty"` + } `json:"statuses,omitempty"` +} + +// ChecklistCollectionStig defines model for ChecklistCollectionStig. +type ChecklistCollectionStig struct { + Counts *ChecklistCollectionCounts `json:"counts,omitempty"` + GroupId *GroupId `json:"groupId,omitempty"` + GroupTitle *GroupTitle `json:"groupTitle,omitempty"` + RuleId *RuleId `json:"ruleId,omitempty"` + RuleTitle *RuleTitle `json:"ruleTitle,omitempty"` + Severity *RuleSeverity `json:"severity,omitempty"` + Timestamps *struct { + StatusTs *ChecklistCollectionStigTimestamps `json:"statusTs,omitempty"` + TouchTs *ChecklistCollectionStigTimestamps `json:"touchTs,omitempty"` + Ts *ChecklistCollectionStigTimestamps `json:"ts,omitempty"` + } `json:"timestamps,omitempty"` + Version *VersionString `json:"version,omitempty"` +} + +// ChecklistCollectionStigTimestamp defines model for ChecklistCollectionStigTimestamp. +type ChecklistCollectionStigTimestamp = StringDateTimeNullable + +// ChecklistCollectionStigTimestamps defines model for ChecklistCollectionStigTimestamps. +type ChecklistCollectionStigTimestamps struct { + Max *ChecklistCollectionStigTimestamp `json:"max,omitempty"` + Min *ChecklistCollectionStigTimestamp `json:"min,omitempty"` +} + +// ChecklistJsonAccess defines model for ChecklistJsonAccess. +type ChecklistJsonAccess struct { + Access *AclRuleAccess `json:"access,omitempty"` + Checklist *ChecklistAssetStig `json:"checklist,omitempty"` +} + +// ChecklistResult The Review result +type ChecklistResult string + +// ChecklistResultUnreviewed The Review result +type ChecklistResultUnreviewed string + +// ChecklistStatus defines model for ChecklistStatus. +type ChecklistStatus string + +// ChecklistXccdf An XCCDF document with TestResult. Note: OAS 3.x cannot represent the actual XML schema +type ChecklistXccdf map[string]interface{} + +// ClientErrorBadAssetPost defines model for ClientErrorBadAssetPost. +type ClientErrorBadAssetPost struct { + Code *ClientErrorBadAssetPostCode `json:"code,omitempty"` + Detail []struct { + Detail *struct { + AssetIndex *int `json:"assetIndex,omitempty"` + BenchmarkId *string `json:"benchmarkId,omitempty"` + BenchmarkIdIndex *int `json:"benchmarkIdIndex,omitempty"` + LabelIndex *int `json:"labelIndex,omitempty"` + LabelName *string `json:"labelName,omitempty"` + Name *string `json:"name,omitempty"` + } `json:"detail,omitempty"` + Failure *string `json:"failure,omitempty"` + } `json:"detail"` + Error string `json:"error"` +} + +// ClientErrorBadAssetPostCode defines model for ClientErrorBadAssetPost.Code. +type ClientErrorBadAssetPostCode string + +// ClientErrorDuplicateCollection defines model for ClientErrorDuplicateCollection. +type ClientErrorDuplicateCollection struct { + Code *ClientErrorDuplicateCollectionCode `json:"code,omitempty"` + Data *Collection `json:"data,omitempty"` + Message *ClientErrorDuplicateCollectionMessage `json:"message,omitempty"` +} + +// ClientErrorDuplicateCollectionCode defines model for ClientErrorDuplicateCollection.Code. +type ClientErrorDuplicateCollectionCode string + +// ClientErrorDuplicateCollectionMessage defines model for ClientErrorDuplicateCollection.Message. +type ClientErrorDuplicateCollectionMessage string + +// Collection defines model for Collection. +type Collection struct { + CollectionId CollectionId `json:"collectionId"` + Created Created `json:"created"` + Description *CollectionDescription `json:"description"` + Metadata Metadata `json:"metadata"` + Name CollectionName `json:"name"` + Settings CollectionSettings `json:"settings"` +} + +// CollectionBasic defines model for CollectionBasic. +type CollectionBasic struct { + CollectionId *CollectionId `json:"collectionId,omitempty"` + Name *CollectionName `json:"name,omitempty"` +} + +// CollectionCloneOptions defines model for CollectionCloneOptions. +type CollectionCloneOptions struct { + // Assets Clone the source Collection's Assets and their core properties. If this option is not enabled then the stagMappings and pinRevisions options are ignored. + Assets *bool `json:"assets,omitempty"` + + // Grants Clone the source Collection's users and their grants. Whether this option is enabled or not, the creator of the cloned Collection (ie. you) will be given an Owner grant in the clone. + Grants *bool `json:"grants,omitempty"` + + // Labels Clone the source Collection's available labels. You must enable this option AND the assets option for labels to be mapped to Assets in the clone. + Labels *bool `json:"labels,omitempty"` + + // PinRevisions matchSource: STIGs in the source Collection that are pinned to a specific Revision will be pinned to that Revision in the clone. STIGs that track the latest Revision (unpinned) in the source will be unpinned in the clone.

sourceDefaults: All STIGs in the clone will be pinned to a specific Revision. STIGs that are pinned to a specific Revision in the source Collection will be pinned to that Revision in the clone. STIGs that track the latest Revision in the source will be pinned to the current latest Revision in the clone. + PinRevisions *CollectionCloneOptionsPinRevisions `json:"pinRevisions,omitempty"` + + // StigMappings withReviews: Assets will be cloned with their current STIG assignments and ALL stored Reviews. This will include Reviews that are no longer associated with a current STIG assignment or are associated with a non-default Revision of a STIG.

withoutReviews: Assets will be cloned with their current STIG assignments but NO stored Reviews will be cloned. All Metrics will be set to zero.

none: Assets will be cloned with only their core properties and no STIG assignments or Reviews. The pinRevisions option will be ignored. + StigMappings *CollectionCloneOptionsStigMappings `json:"stigMappings,omitempty"` +} + +// CollectionCloneOptionsPinRevisions matchSource: STIGs in the source Collection that are pinned to a specific Revision will be pinned to that Revision in the clone. STIGs that track the latest Revision (unpinned) in the source will be unpinned in the clone.

sourceDefaults: All STIGs in the clone will be pinned to a specific Revision. STIGs that are pinned to a specific Revision in the source Collection will be pinned to that Revision in the clone. STIGs that track the latest Revision in the source will be pinned to the current latest Revision in the clone. +type CollectionCloneOptionsPinRevisions string + +// CollectionCloneOptionsStigMappings withReviews: Assets will be cloned with their current STIG assignments and ALL stored Reviews. This will include Reviews that are no longer associated with a current STIG assignment or are associated with a non-default Revision of a STIG.

withoutReviews: Assets will be cloned with their current STIG assignments but NO stored Reviews will be cloned. All Metrics will be set to zero.

none: Assets will be cloned with only their core properties and no STIG assignments or Reviews. The pinRevisions option will be ignored. +type CollectionCloneOptionsStigMappings string + +// CollectionCloneRequest defines model for CollectionCloneRequest. +type CollectionCloneRequest struct { + Description *CollectionDescription `json:"description"` + Name CollectionName `json:"name"` + Options *CollectionCloneOptions `json:"options,omitempty"` +} + +// CollectionCloneResponse The response body is a stream of newline-delimited JSON (NDJSON) objects reporting the progress of the (possibly long running) cloning process. Each object conforms to this schema, but not all objects will have every property.

The sequence of objects starts with multiple {"stage": "collection"} objects, optionally followed by multiple {"stage": "reviews"} objects if review cloning is requested, and concludes with one {"stage": "result"} object whose "collection" property value conforms to the CollectionProjected schema for the created Collection.

Success is indicated when the final {"stage": "result"} message is sent. Errors that prevent cloning from completing are reported with {"status": "error"} and the "result" stage is not reported. Note that the endpoint will return HTTP status 200 immediately after the request is validated and the cloning process has started, so you should not rely on status 200 for indication of cloning success. +type CollectionCloneResponse struct { + Collection *CollectionProjected `json:"collection,omitempty"` + Error *map[string]interface{} `json:"error,omitempty"` + Message *string `json:"message,omitempty"` + Stack *string `json:"stack,omitempty"` + Stage *CollectionCloneResponseStage `json:"stage,omitempty"` + Status *CollectionCloneResponseStatus `json:"status,omitempty"` + Step *int `json:"step,omitempty"` + StepCount *int `json:"stepCount,omitempty"` + StepName *string `json:"stepName,omitempty"` +} + +// CollectionCloneResponseStage defines model for CollectionCloneResponse.Stage. +type CollectionCloneResponseStage string + +// CollectionCloneResponseStatus defines model for CollectionCloneResponse.Status. +type CollectionCloneResponseStatus string + +// CollectionCreateOrReplace defines model for CollectionCreateOrReplace. +type CollectionCreateOrReplace struct { + Description *CollectionDescription `json:"description,omitempty"` + Grants []CollectionCreateOrReplace_Grants_Item `json:"grants"` + Labels *[]LabelCreate `json:"labels,omitempty"` + Metadata *Metadata `json:"metadata,omitempty"` + Name CollectionName `json:"name"` + Settings *CollectionSettings `json:"settings,omitempty"` +} + +// CollectionCreateOrReplace_Grants_Item defines model for CollectionCreateOrReplace.grants.Item. +type CollectionCreateOrReplace_Grants_Item struct { + union json.RawMessage +} + +// CollectionDescription defines model for CollectionDescription. +type CollectionDescription = String255Nullable + +// CollectionExportToResponse The response body is a stream of newline-delimited JSON (NDJSON) objects reporting the progress of the (possibly long running) export process. Each object conforms to this schema, but not all objects will have every property.

The sequence of objects starts with multiple {"stage": "prepare"} objects, followed by multiple {"stage": "assets"} objects, multiple {"stage": "reviews"} objects, and multiple {"stage": "metrics"} objects. The stream concludes with one {"stage": "commit"} object and then one {"stage": "result"} object whose "counts" property value conforms to the schema below.

Success is indicated when the final {"stage": "result"} message is sent. Errors that prevent exporting from completing are reported with {"status": "error"} and the "result" stage is not reported. Note that the endpoint will return HTTP status 200 immediately after the request is validated and the export process has started, so you should not rely on status 200 for indication of export success. +type CollectionExportToResponse struct { + Counts *struct { + AssetsCreated *int `json:"assetsCreated,omitempty"` + ReviewsInserted *int `json:"reviewsInserted,omitempty"` + ReviewsUpdated *int `json:"reviewsUpdated,omitempty"` + StigsMapped *int `json:"stigsMapped,omitempty"` + } `json:"counts,omitempty"` + Error *map[string]interface{} `json:"error,omitempty"` + Message *string `json:"message,omitempty"` + Stack *string `json:"stack,omitempty"` + Stage *CollectionExportToResponseStage `json:"stage,omitempty"` + Status *CollectionExportToResponseStatus `json:"status,omitempty"` + Step *int `json:"step,omitempty"` + StepCount *int `json:"stepCount,omitempty"` + StepName *string `json:"stepName,omitempty"` +} + +// CollectionExportToResponseStage defines model for CollectionExportToResponse.Stage. +type CollectionExportToResponseStage string + +// CollectionExportToResponseStatus defines model for CollectionExportToResponse.Status. +type CollectionExportToResponseStatus string + +// CollectionFieldEnabledAlways defines model for CollectionFieldEnabledAlways. +type CollectionFieldEnabledAlways struct { + Enabled CollectionFieldEnabledAlwaysEnabled `json:"enabled"` + Required CollectionFieldEnabledAlwaysRequired `json:"required"` +} + +// CollectionFieldEnabledAlwaysEnabled defines model for CollectionFieldEnabledAlways.Enabled. +type CollectionFieldEnabledAlwaysEnabled string + +// CollectionFieldEnabledAlwaysRequired defines model for CollectionFieldEnabledAlways.Required. +type CollectionFieldEnabledAlwaysRequired string + +// CollectionFieldEnabledFindings defines model for CollectionFieldEnabledFindings. +type CollectionFieldEnabledFindings struct { + Enabled CollectionFieldEnabledFindingsEnabled `json:"enabled"` + Required CollectionFieldEnabledFindingsRequired `json:"required"` +} + +// CollectionFieldEnabledFindingsEnabled defines model for CollectionFieldEnabledFindings.Enabled. +type CollectionFieldEnabledFindingsEnabled string + +// CollectionFieldEnabledFindingsRequired defines model for CollectionFieldEnabledFindings.Required. +type CollectionFieldEnabledFindingsRequired string + +// CollectionFieldSetting defines model for CollectionFieldSetting. +type CollectionFieldSetting struct { + union json.RawMessage +} + +// CollectionFieldSettings defines model for CollectionFieldSettings. +type CollectionFieldSettings struct { + Comment CollectionFieldSetting `json:"comment"` + Detail CollectionFieldSetting `json:"detail"` +} + +// CollectionGrant defines model for CollectionGrant. +type CollectionGrant struct { + CollectionId CollectionId `json:"collectionId"` + RoleId RoleId `json:"roleId"` +} + +// CollectionGrantProjected defines model for CollectionGrantProjected. +type CollectionGrantProjected struct { + Collection *struct { + CollectionId *CollectionId `json:"collectionId,omitempty"` + Name *CollectionName `json:"name,omitempty"` + } `json:"collection,omitempty"` + Grantees *Grantees `json:"grantees,omitempty"` + RoleId *RoleId `json:"roleId,omitempty"` +} + +// CollectionHistorySettings defines model for CollectionHistorySettings. +type CollectionHistorySettings struct { + MaxReviews int `json:"maxReviews"` +} + +// CollectionId defines model for CollectionId. +type CollectionId = StringIntId + +// CollectionImportAutoStatus Determines how to set the status property of imported reviews for each evaluation result. +// Each property must be one of: +// - 'null': Don't set a status (Keep existing Review Status) +// - 'saved': Always set status to 'saved' +// - 'submitted': Set status to 'submitted' if the review is submittable per Collection settings +// - 'accepted': Set status to 'accepted' if the review is submittable, and User has permission to accept, otherwise 'submitted' +type CollectionImportAutoStatus struct { + Fail ReviewStatusOption `json:"fail"` + Notapplicable ReviewStatusOption `json:"notapplicable"` + Pass ReviewStatusOption `json:"pass"` +} + +// CollectionImportOptions defines model for CollectionImportOptions. +type CollectionImportOptions struct { + // AllowCustom Flag indicating whether Clients may POST reviews that do not conform to importOptions specified. + AllowCustom bool `json:"allowCustom"` + + // AutoStatus Determines how to set the status property of imported reviews for each evaluation result. + // Each property must be one of: + // - 'null': Don't set a status (Keep existing Review Status) + // - 'saved': Always set status to 'saved' + // - 'submitted': Set status to 'submitted' if the review is submittable per Collection settings + // - 'accepted': Set status to 'accepted' if the review is submittable, and User has permission to accept, otherwise 'submitted' + AutoStatus CollectionImportAutoStatus `json:"autoStatus"` + + // EmptyComment Controls how to handle rules with empty comments. + // - 'ignore': Leave the comment field null + // - 'import': Import the empty comment (as an empty string) + // - 'replace': Replace with a default message + EmptyComment CollectionImportOptionsEmptyComment `json:"emptyComment"` + + // EmptyDetail Controls how to handle rules with empty finding details. + // - 'ignore': Leave the detail field null + // - 'import': Import the empty detail (as an empty string) + // - 'replace': Replace with a default message + EmptyDetail CollectionImportOptionsEmptyDetail `json:"emptyDetail"` + + // Unreviewed Controls how to handle unreviewed rules (those with result = 'notchecked'). + // - 'never': Don't import unreviewed rules + // - 'commented': Import unreviewed rules that have comments, using the result specified in unreviewedCommented + // - 'always': Import all unreviewed rules, using the result specified in unreviewedCommented for those with comments + Unreviewed CollectionImportOptionsUnreviewed `json:"unreviewed"` + + // UnreviewedCommented The result to use for unreviewed rules that have comments, when unreviewed is set to 'commented' or 'always'. + UnreviewedCommented CollectionImportOptionsUnreviewedCommented `json:"unreviewedCommented"` + + // UpdateAssetProps Flag indicating whether to update Asset information (IP, MAC, FQDN, noncomputing, and metadata including role and tech area) when Asset already exists in the Collection. + UpdateAssetProps *bool `json:"updateAssetProps,omitempty"` +} + +// CollectionImportOptionsEmptyComment Controls how to handle rules with empty comments. +// - 'ignore': Leave the comment field null +// - 'import': Import the empty comment (as an empty string) +// - 'replace': Replace with a default message +type CollectionImportOptionsEmptyComment string + +// CollectionImportOptionsEmptyDetail Controls how to handle rules with empty finding details. +// - 'ignore': Leave the detail field null +// - 'import': Import the empty detail (as an empty string) +// - 'replace': Replace with a default message +type CollectionImportOptionsEmptyDetail string + +// CollectionImportOptionsUnreviewed Controls how to handle unreviewed rules (those with result = 'notchecked'). +// - 'never': Don't import unreviewed rules +// - 'commented': Import unreviewed rules that have comments, using the result specified in unreviewedCommented +// - 'always': Import all unreviewed rules, using the result specified in unreviewedCommented for those with comments +type CollectionImportOptionsUnreviewed string + +// CollectionImportOptionsUnreviewedCommented The result to use for unreviewed rules that have comments, when unreviewed is set to 'commented' or 'always'. +type CollectionImportOptionsUnreviewedCommented string + +// CollectionName defines model for CollectionName. +type CollectionName = String45 + +// CollectionProjected defines model for CollectionProjected. +type CollectionProjected struct { + Assets *[]AssetForCollection `json:"assets,omitempty"` + CollectionId CollectionId `json:"collectionId"` + Description *CollectionDescription `json:"description"` + Grants *[]CollectionProjected_Grants_Item `json:"grants,omitempty"` + Labels *[]Label `json:"labels,omitempty"` + Metadata Metadata `json:"metadata"` + Name CollectionName `json:"name"` + Owners *[]Owner `json:"owners,omitempty"` + Settings CollectionSettings `json:"settings"` + Statistics *CollectionStatistics `json:"statistics,omitempty"` + Stigs *[]CollectionStig `json:"stigs,omitempty"` + Users *[]GrantEffective `json:"users,omitempty"` +} + +// CollectionProjected_Grants_Item defines model for CollectionProjected.grants.Item. +type CollectionProjected_Grants_Item struct { + union json.RawMessage +} + +// CollectionSettings defines model for CollectionSettings. +type CollectionSettings struct { + Fields *CollectionFieldSettings `json:"fields,omitempty"` + History *CollectionHistorySettings `json:"history,omitempty"` + ImportOptions *CollectionImportOptions `json:"importOptions,omitempty"` + Status *CollectionStatusSettings `json:"status,omitempty"` +} + +// CollectionSettingsRequired defines model for CollectionSettingsRequired. +type CollectionSettingsRequired struct { + Fields CollectionFieldSettings `json:"fields"` + History CollectionHistorySettings `json:"history"` + ImportOptions CollectionImportOptions `json:"importOptions"` + Status CollectionStatusSettings `json:"status"` +} + +// CollectionStatistics defines model for CollectionStatistics. +type CollectionStatistics struct { + AssetCount AssetCount `json:"assetCount"` + ChecklistCount int `json:"checklistCount"` + Created Created `json:"created"` + UserCount int `json:"userCount"` +} + +// CollectionStatusCount defines model for CollectionStatusCount. +type CollectionStatusCount struct { + ResultEngine int `json:"resultEngine"` + Total int `json:"total"` +} + +// CollectionStatusSettings defines model for CollectionStatusSettings. +type CollectionStatusSettings struct { + CanAccept bool `json:"canAccept"` + MinAcceptGrant int `json:"minAcceptGrant"` + ResetCriteria CollectionStatusSettingsResetCriteria `json:"resetCriteria"` +} + +// CollectionStatusSettingsResetCriteria defines model for CollectionStatusSettings.ResetCriteria. +type CollectionStatusSettingsResetCriteria string + +// CollectionStig defines model for CollectionStig. +type CollectionStig struct { + BenchmarkDate *StringDateNullable `json:"benchmarkDate"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + RevisionPinned bool `json:"revisionPinned"` + RevisionStr RevisionStr `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` +} + +// CollectionStigWithAssetCount defines model for CollectionStigWithAssetCount. +type CollectionStigWithAssetCount struct { + AssetCount AssetCount `json:"assetCount"` + Assets *[]AssetForCollection `json:"assets,omitempty"` + BenchmarkDate *StringDateNullable `json:"benchmarkDate"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + RevisionPinned bool `json:"revisionPinned"` + RevisionStr RevisionStr `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` + Title *StatusText `json:"title,omitempty"` +} + +// CollectionStigWithIsDefault defines model for CollectionStigWithIsDefault. +type CollectionStigWithIsDefault struct { + BenchmarkDate *StringDateNullable `json:"benchmarkDate"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + IsDefault bool `json:"isDefault"` + RevisionPinned bool `json:"revisionPinned"` + RevisionStr RevisionStr `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` +} + +// CollectionUpdate defines model for CollectionUpdate. +type CollectionUpdate struct { + Description *CollectionDescription `json:"description,omitempty"` + Grants *[]struct { + RoleId *RoleId `json:"roleId,omitempty"` + UserId *UserId `json:"userId,omitempty"` + } `json:"grants,omitempty"` + Labels *[]LabelCreate `json:"labels,omitempty"` + Metadata *Metadata `json:"metadata,omitempty"` + Name *CollectionName `json:"name,omitempty"` + Settings *CollectionSettingsRequired `json:"settings,omitempty"` +} + +// CollectionsProjected defines model for CollectionsProjected. +type CollectionsProjected struct { + CollectionId CollectionId `json:"collectionId"` + Description *CollectionDescription `json:"description"` + Metadata Metadata `json:"metadata"` + Name CollectionName `json:"name"` + Owners *[]Owner `json:"owners,omitempty"` + Settings CollectionSettings `json:"settings"` + Statistics *CollectionStatistics `json:"statistics,omitempty"` +} + +// CommentaryString defines model for CommentaryString. +type CommentaryString = String32767 + +// CommentaryStringNullable defines model for CommentaryStringNullable. +type CommentaryStringNullable = String32767Nullable + +// CommitBranch defines model for CommitBranch. +type CommitBranch = string + +// CommitDescribe defines model for CommitDescribe. +type CommitDescribe = string + +// CommitObject defines model for CommitObject. +type CommitObject struct { + Branch *CommitBranch `json:"branch,omitempty"` + Describe *CommitDescribe `json:"describe,omitempty"` + Sha *CommitSha `json:"sha,omitempty"` + Tag *CommitTag `json:"tag,omitempty"` +} + +// CommitSha defines model for CommitSha. +type CommitSha = string + +// CommitTag defines model for CommitTag. +type CommitTag = string + +// Created defines model for Created. +type Created = StringDateTime + +// DefinitionString defines model for DefinitionString. +type DefinitionString = string + +// Dependencies defines model for Dependencies. +type Dependencies struct { + Db *bool `json:"db,omitempty"` + Oidc *bool `json:"oidc,omitempty"` +} + +// Detail defines model for Detail. +type Detail struct { + AssetStig *[]DetailAssetStig `json:"assetStig,omitempty"` + DbInfo *DetailMySqlInfo `json:"dbInfo,omitempty"` +} + +// DetailAssetStig defines model for DetailAssetStig. +type DetailAssetStig struct { + AssetCnt *int `json:"assetCnt,omitempty"` + CollectionId *CollectionId `json:"collectionId,omitempty"` + Range01to05 *int `json:"range01to05,omitempty"` + Range06to10 *int `json:"range06to10,omitempty"` + Range11to15 *int `json:"range11to15,omitempty"` + Range16plus *int `json:"range16plus,omitempty"` +} + +// DetailMySqlInfo defines model for DetailMySqlInfo. +type DetailMySqlInfo struct { + Tables *map[string]DetailMySqlTableInfo `json:"tables,omitempty"` +} + +// DetailMySqlTableInfo defines model for DetailMySqlTableInfo. +type DetailMySqlTableInfo struct { + AutoIncrement *int `json:"autoIncrement,omitempty"` + AvgRowLength *int `json:"avgRowLength,omitempty"` + CreateTime *StringDateTimeNullable `json:"createTime,omitempty"` + DataLength *int `json:"dataLength,omitempty"` + IndexLength *int `json:"indexLength,omitempty"` + MaxDataLength *int `json:"maxDataLength,omitempty"` + TableCollation *string `json:"tableCollation,omitempty"` + TableName *string `json:"tableName,omitempty"` + TableRows *int `json:"tableRows,omitempty"` + UpdateTime *StringDateTimeNullable `json:"updateTime,omitempty"` +} + +// DisplayName defines model for DisplayName. +type DisplayName = String255Nullable + +// EffectiveAcl defines model for EffectiveAcl. +type EffectiveAcl struct { + Access *AclRuleAccess `json:"access,omitempty"` + AclSources *[]AclSource `json:"aclSources,omitempty"` + Asset *AssetBasic `json:"asset,omitempty"` + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` +} + +// EmassAp defines model for EmassAp. +type EmassAp struct { + ApAcronym *ApAcronym `json:"apAcronym,omitempty"` + AssessmentProcedure *string `json:"assessmentProcedure,omitempty"` + Implementation *string `json:"implementation,omitempty"` +} + +// Endpoints defines model for Endpoints. +type Endpoints struct { + Ui *string `json:"ui,omitempty"` +} + +// Error defines model for Error. +type Error struct { + Detail *string `json:"detail,omitempty"` + Error *string `json:"error,omitempty"` + Stack *string `json:"stack,omitempty"` +} + +// FindingProjected defines model for FindingProjected. +type FindingProjected struct { + ApAcronym *ApAcronym `json:"apAcronym,omitempty"` + AssetCount *AssetCount `json:"assetCount,omitempty"` + Assets *[]AssetBasic `json:"assets,omitempty"` + Cci *string `json:"cci,omitempty"` + Ccis *[]CciBasic `json:"ccis,omitempty"` + Definition *DefinitionString `json:"definition,omitempty"` + GroupId *GroupId `json:"groupId,omitempty"` + Groups *[]GroupProjected `json:"groups,omitempty"` + RuleId *RuleId `json:"ruleId,omitempty"` + Rules *[]RuleAbbr `json:"rules,omitempty"` + Severity *RuleSeverity `json:"severity,omitempty"` + Stigs *[]CollectionStig `json:"stigs,omitempty"` + Title *RuleTitle `json:"title,omitempty"` +} + +// Fix defines model for Fix. +type Fix struct { + Fixref *string `json:"fixref,omitempty"` + Text *string `json:"text,omitempty"` +} + +// Grant defines model for Grant. +type Grant struct { + union json.RawMessage +} + +// GrantEffective defines model for GrantEffective. +type GrantEffective struct { + Grantees Grantees `json:"grantees"` + RoleId RoleId `json:"roleId"` + User UserBasicWithDisplayName `json:"user"` +} + +// GrantId defines model for GrantId. +type GrantId = StringIntId + +// GrantPost defines model for GrantPost. +type GrantPost struct { + union json.RawMessage +} + +// Grantee defines model for Grantee. +type Grantee struct { + union json.RawMessage +} + +// Grantees defines model for Grantees. +type Grantees = []Grantee + +// GroupId defines model for GroupId. +type GroupId = String255Nullable + +// GroupProjected defines model for GroupProjected. +type GroupProjected struct { + GroupId *GroupId `json:"groupId,omitempty"` + Rules *[]RuleAbbr `json:"rules,omitempty"` + Severity *RuleSeverity `json:"severity,omitempty"` + Title *GroupTitle `json:"title,omitempty"` +} + +// GroupTitle defines model for GroupTitle. +type GroupTitle = String255Nullable + +// GroupTree defines model for GroupTree. +type GroupTree struct { + Description *string `json:"description,omitempty"` + Id *string `json:"id,omitempty"` + Title *string `json:"title,omitempty"` +} + +// IndexDisa defines model for IndexDisa. +type IndexDisa = String255 + +// Integer64MinimumZero defines model for Integer64MinimumZero. +type Integer64MinimumZero = int64 + +// Integer64MinimumZeroNullable defines model for Integer64MinimumZeroNullable. +type Integer64MinimumZeroNullable = int64 + +// IntegerMinimumZeroNullable defines model for IntegerMinimumZeroNullable. +type IntegerMinimumZeroNullable = int + +// Job defines model for Job. +type Job struct { + Created StringDateTime `json:"created"` + CreatedBy *UserBasicNullable `json:"createdBy"` + Description *String255Nullable `json:"description,omitempty"` + Event *JobEvent `json:"event,omitempty"` + JobId JobId `json:"jobId"` + LastRun *JobRun `json:"lastRun,omitempty"` + Name String45 `json:"name"` + RunCount *int `json:"runCount,omitempty"` + Tasks JobTaskList `json:"tasks"` + Updated *StringDateTimeNullable `json:"updated,omitempty"` + UpdatedBy *UserBasicNullable `json:"updatedBy,omitempty"` +} + +// JobCreate defines model for JobCreate. +type JobCreate struct { + Description *String255Nullable `json:"description,omitempty"` + Event *JobEventCreate `json:"event,omitempty"` + Name String45 `json:"name"` + Tasks JobTaskListCreate `json:"tasks"` +} + +// JobEvent defines model for JobEvent. +type JobEvent struct { + union json.RawMessage +} + +// JobEvent0 defines model for . +type JobEvent0 = int + +// JobEventCreate defines model for JobEventCreate. +type JobEventCreate struct { + union json.RawMessage +} + +// JobEventCreate2 defines model for . +type JobEventCreate2 = int + +// JobEventOnce defines model for JobEventOnce. +type JobEventOnce struct { + Enabled *bool `json:"enabled,omitempty"` + EventId String45 `json:"eventId"` + Starts StringDateTime `json:"starts"` + Type JobEventOnceType `json:"type"` +} + +// JobEventOnceType defines model for JobEventOnce.Type. +type JobEventOnceType string + +// JobEventOnceCreate defines model for JobEventOnceCreate. +type JobEventOnceCreate struct { + Starts StringDateTime `json:"starts"` + Type JobEventOnceCreateType `json:"type"` +} + +// JobEventOnceCreateType defines model for JobEventOnceCreate.Type. +type JobEventOnceCreateType string + +// JobEventRecurring defines model for JobEventRecurring. +type JobEventRecurring struct { + Enabled *bool `json:"enabled,omitempty"` + Ends *StringDateTimeNullable `json:"ends,omitempty"` + EventId String45 `json:"eventId"` + Interval JobInterval `json:"interval"` + Starts *StringDateTimeNullable `json:"starts,omitempty"` + Type JobEventRecurringType `json:"type"` +} + +// JobEventRecurringType defines model for JobEventRecurring.Type. +type JobEventRecurringType string + +// JobEventRecurringCreate defines model for JobEventRecurringCreate. +type JobEventRecurringCreate struct { + Enabled *bool `json:"enabled,omitempty"` + Ends *StringDateTimeNullable `json:"ends,omitempty"` + Interval JobInterval `json:"interval"` + Starts *StringDateTimeNullable `json:"starts,omitempty"` + Type JobEventRecurringCreateType `json:"type"` +} + +// JobEventRecurringCreateType defines model for JobEventRecurringCreate.Type. +type JobEventRecurringCreateType string + +// JobId defines model for JobId. +type JobId = StringIntId + +// JobInterval defines model for JobInterval. +type JobInterval struct { + Field JobIntervalField `json:"field"` + Value string `json:"value"` +} + +// JobIntervalField defines model for JobInterval.Field. +type JobIntervalField string + +// JobRun defines model for JobRun. +type JobRun struct { + Created StringDateTime `json:"created"` + JobId *JobId `json:"jobId,omitempty"` + RunId JobRunId `json:"runId"` + State *JobRunState `json:"state"` + Updated *StringDateTimeNullable `json:"updated,omitempty"` +} + +// JobRunCreated defines model for JobRunCreated. +type JobRunCreated struct { + RunId JobRunId `json:"runId"` +} + +// JobRunId defines model for JobRunId. +type JobRunId = StringUuid + +// JobRunOutput defines model for JobRunOutput. +type JobRunOutput struct { + Message string `json:"message"` + Task String45 `json:"task"` + TaskId *JobTaskId `json:"taskId,omitempty"` + Ts StringDateTime `json:"ts"` + Type string `json:"type"` +} + +// JobRunState defines model for JobRunState. +type JobRunState string + +// JobTask defines model for JobTask. +type JobTask struct { + Command *String255 `json:"command,omitempty"` + Description *String255Nullable `json:"description,omitempty"` + Name String45 `json:"name"` + TaskId StringIntId `json:"taskId"` +} + +// JobTaskId defines model for JobTaskId. +type JobTaskId = StringIntId + +// JobTaskList defines model for JobTaskList. +type JobTaskList = []JobTask + +// JobTaskListCreate defines model for JobTaskListCreate. +type JobTaskListCreate = []JobTaskId + +// JobUpdate defines model for JobUpdate. +type JobUpdate struct { + Description *String255Nullable `json:"description,omitempty"` + Event *JobEventCreate `json:"event,omitempty"` + Name *String45 `json:"name,omitempty"` + Tasks *JobTaskListCreate `json:"tasks,omitempty"` +} + +// Label defines model for Label. +type Label struct { + Color StringHexColor `json:"color"` + Description *String255Nullable `json:"description"` + LabelId LabelId `json:"labelId"` + Name LabelName `json:"name"` + Uses int `json:"uses"` +} + +// LabelBasic defines model for LabelBasic. +type LabelBasic struct { + LabelId LabelId `json:"labelId"` + Name LabelName `json:"name"` +} + +// LabelBasicWithColor defines model for LabelBasicWithColor. +type LabelBasicWithColor struct { + Color StringHexColor `json:"color"` + LabelId LabelId `json:"labelId"` + Name LabelName `json:"name"` +} + +// LabelCreate defines model for LabelCreate. +type LabelCreate struct { + Color StringHexColor `json:"color"` + Description *String255Nullable `json:"description"` + Name LabelName `json:"name"` +} + +// LabelId defines model for LabelId. +type LabelId = StringUuid + +// LabelIdNullable defines model for LabelIdNullable. +type LabelIdNullable = StringUuidNullable + +// LabelName defines model for LabelName. +type LabelName = string + +// LabelUpdate defines model for LabelUpdate. +type LabelUpdate struct { + Color *StringHexColor `json:"color,omitempty"` + Description *String255Nullable `json:"description,omitempty"` + Name *LabelName `json:"name,omitempty"` +} + +// LastMigration defines model for LastMigration. +type LastMigration = int + +// LocationString defines model for LocationString. +type LocationString = string + +// MaxTs defines model for MaxTs. +type MaxTs = time.Time + +// Metadata defines model for Metadata. +type Metadata map[string]string + +// MetadataKey defines model for MetadataKey. +type MetadataKey = string + +// MetadataValue defines model for MetadataValue. +type MetadataValue = string + +// MetricsAggAsset defines model for MetricsAggAsset. +type MetricsAggAsset struct { + AssetId AssetId `json:"assetId"` + BenchmarkIds []*BenchmarkId `json:"benchmarkIds"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + Ip *AssetIp `json:"ip,omitempty"` + Labels []LabelBasicWithColor `json:"labels"` + Mac *AssetMac `json:"mac,omitempty"` + Name AssetName `json:"name"` + Noncomputing *AssetNoncomputing `json:"noncomputing,omitempty"` +} + +// MetricsAggCollection defines model for MetricsAggCollection. +type MetricsAggCollection struct { + Assets int `json:"assets"` + Checklists int `json:"checklists"` + CollectionId CollectionId `json:"collectionId"` + Name CollectionName `json:"name"` + Stigs int `json:"stigs"` +} + +// MetricsAggLabel defines model for MetricsAggLabel. +type MetricsAggLabel struct { + Assets int `json:"assets"` + LabelId *LabelIdNullable `json:"labelId"` + Name *string `json:"name"` +} + +// MetricsAggMeta defines model for MetricsAggMeta. +type MetricsAggMeta struct { + Assets int `json:"assets"` + Checklists int `json:"checklists"` + Collections int `json:"collections"` + Stigs int `json:"stigs"` +} + +// MetricsAggStig defines model for MetricsAggStig. +type MetricsAggStig struct { + Assets int `json:"assets"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Collections *int `json:"collections,omitempty"` + Marking *RevisionMarkingNullable `json:"marking"` + RevisionDate *StringDateNullable `json:"revisionDate"` + RevisionPinned *bool `json:"revisionPinned,omitempty"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` + Title StigTitle `json:"title"` +} + +// MetricsDetail defines model for MetricsDetail. +type MetricsDetail struct { + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` +} + +// MetricsDetailAggAsset defines model for MetricsDetailAggAsset. +type MetricsDetailAggAsset struct { + AssetId AssetId `json:"assetId"` + BenchmarkIds []*BenchmarkId `json:"benchmarkIds"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + Ip *AssetIp `json:"ip,omitempty"` + Labels []LabelBasicWithColor `json:"labels"` + Mac *AssetMac `json:"mac,omitempty"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` + Name AssetName `json:"name"` + Noncomputing *AssetNoncomputing `json:"noncomputing,omitempty"` +} + +// MetricsDetailAggCollection defines model for MetricsDetailAggCollection. +type MetricsDetailAggCollection struct { + Assets int `json:"assets"` + Checklists int `json:"checklists"` + CollectionId CollectionId `json:"collectionId"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` + Name CollectionName `json:"name"` + Stigs int `json:"stigs"` +} + +// MetricsDetailAggLabel defines model for MetricsDetailAggLabel. +type MetricsDetailAggLabel struct { + Assets int `json:"assets"` + LabelId *LabelIdNullable `json:"labelId"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` + Name *string `json:"name"` +} + +// MetricsDetailAggMeta defines model for MetricsDetailAggMeta. +type MetricsDetailAggMeta struct { + Assets int `json:"assets"` + Checklists int `json:"checklists"` + Collections int `json:"collections"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` + Stigs int `json:"stigs"` +} + +// MetricsDetailAggStig defines model for MetricsDetailAggStig. +type MetricsDetailAggStig struct { + Assets int `json:"assets"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Collections *int `json:"collections,omitempty"` + Marking *RevisionMarkingNullable `json:"marking"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` + RevisionDate *StringDateNullable `json:"revisionDate"` + RevisionPinned *bool `json:"revisionPinned,omitempty"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` + Title StigTitle `json:"title"` +} + +// MetricsDetailUnagg defines model for MetricsDetailUnagg. +type MetricsDetailUnagg struct { + AssetId string `json:"assetId"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Labels []LabelBasicWithColor `json:"labels"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Error CollectionStatusCount `json:"error"` + Fail CollectionStatusCount `json:"fail"` + Fixed CollectionStatusCount `json:"fixed"` + Informational CollectionStatusCount `json:"informational"` + Notapplicable CollectionStatusCount `json:"notapplicable"` + Notchecked CollectionStatusCount `json:"notchecked"` + Notselected CollectionStatusCount `json:"notselected"` + Pass CollectionStatusCount `json:"pass"` + Unknown CollectionStatusCount `json:"unknown"` + } `json:"results"` + Statuses struct { + Accepted *CollectionStatusCount `json:"accepted,omitempty"` + Rejected *CollectionStatusCount `json:"rejected,omitempty"` + Saved *CollectionStatusCount `json:"saved,omitempty"` + Submitted *CollectionStatusCount `json:"submitted,omitempty"` + } `json:"statuses"` + } `json:"metrics"` + Name string `json:"name"` + RevisionDate *StringDateNullable `json:"revisionDate"` + RevisionPinned bool `json:"revisionPinned"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + Title StigTitle `json:"title"` +} + +// MetricsSummary defines model for MetricsSummary. +type MetricsSummary struct { + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` +} + +// MetricsSummaryAggAsset defines model for MetricsSummaryAggAsset. +type MetricsSummaryAggAsset struct { + AssetId AssetId `json:"assetId"` + BenchmarkIds []*BenchmarkId `json:"benchmarkIds"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + Ip *AssetIp `json:"ip,omitempty"` + Labels []LabelBasicWithColor `json:"labels"` + Mac *AssetMac `json:"mac,omitempty"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` + Name AssetName `json:"name"` + Noncomputing *AssetNoncomputing `json:"noncomputing,omitempty"` +} + +// MetricsSummaryAggCollection defines model for MetricsSummaryAggCollection. +type MetricsSummaryAggCollection struct { + Assets int `json:"assets"` + Checklists int `json:"checklists"` + CollectionId CollectionId `json:"collectionId"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` + Name CollectionName `json:"name"` + Stigs int `json:"stigs"` +} + +// MetricsSummaryAggLabel defines model for MetricsSummaryAggLabel. +type MetricsSummaryAggLabel struct { + Assets int `json:"assets"` + LabelId *LabelIdNullable `json:"labelId"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` + Name *string `json:"name"` +} + +// MetricsSummaryAggMeta defines model for MetricsSummaryAggMeta. +type MetricsSummaryAggMeta struct { + Assets int `json:"assets"` + Checklists int `json:"checklists"` + Collections int `json:"collections"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` + Stigs int `json:"stigs"` +} + +// MetricsSummaryAggStig defines model for MetricsSummaryAggStig. +type MetricsSummaryAggStig struct { + Assets int `json:"assets"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Collections *int `json:"collections,omitempty"` + Marking *RevisionMarkingNullable `json:"marking"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` + RevisionDate *StringDateNullable `json:"revisionDate"` + RevisionPinned *bool `json:"revisionPinned,omitempty"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` + Title StigTitle `json:"title"` +} + +// MetricsSummaryUnagg defines model for MetricsSummaryUnagg. +type MetricsSummaryUnagg struct { + AssetId string `json:"assetId"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Labels []LabelBasicWithColor `json:"labels"` + Metrics struct { + Assessed int `json:"assessed"` + AssessedBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessedBySeverity"` + Assessments int `json:"assessments"` + AssessmentsBySeverity struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"assessmentsBySeverity"` + Findings struct { + High int `json:"high"` + Low int `json:"low"` + Medium int `json:"medium"` + } `json:"findings"` + MaxTouchTs *StringDateTimeNullable `json:"maxTouchTs"` + MaxTs *MaxTs `json:"maxTs"` + MinTs *MinTs `json:"minTs"` + Results struct { + Fail int `json:"fail"` + Notapplicable int `json:"notapplicable"` + Other int `json:"other"` + Pass int `json:"pass"` + } `json:"results"` + Statuses struct { + Accepted int `json:"accepted"` + Rejected int `json:"rejected"` + Saved int `json:"saved"` + Submitted int `json:"submitted"` + } `json:"statuses"` + } `json:"metrics"` + Name string `json:"name"` + RevisionDate *StringDateNullable `json:"revisionDate"` + RevisionPinned bool `json:"revisionPinned"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + Title StigTitle `json:"title"` +} + +// MetricsUnagg defines model for MetricsUnagg. +type MetricsUnagg struct { + AssetId string `json:"assetId"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Labels []LabelBasicWithColor `json:"labels"` + Name string `json:"name"` + RevisionDate *StringDateNullable `json:"revisionDate"` + RevisionPinned bool `json:"revisionPinned"` + RevisionStr RevisionStrRaw `json:"revisionStr"` + Title StigTitle `json:"title"` +} + +// MinTs defines model for MinTs. +type MinTs = time.Time + +// Owner defines model for Owner. +type Owner struct { + union json.RawMessage +} + +// ParentControl defines model for ParentControl. +type ParentControl = String255 + +// ResultEngine defines model for ResultEngine. +type ResultEngine struct { + CheckContent *ResultEngineCheckContent `json:"checkContent,omitempty"` + Overrides *[]ResultEngineOverride `json:"overrides,omitempty"` + Product String255 `json:"product"` + Time *StringDateTime `json:"time,omitempty"` + Type ResultEngineType `json:"type"` + Version *VersionString `json:"version,omitempty"` +} + +// ResultEngineCheckContent defines model for ResultEngineCheckContent. +type ResultEngineCheckContent struct { + Component *String255 `json:"component,omitempty"` + Location LocationString `json:"location"` +} + +// ResultEngineOverride defines model for ResultEngineOverride. +type ResultEngineOverride struct { + Authority String255 `json:"authority"` + NewResult ReviewResult `json:"newResult"` + OldResult ReviewResult `json:"oldResult"` + Remark *String255 `json:"remark,omitempty"` + Time *StringDateTime `json:"time,omitempty"` +} + +// ResultEngineType defines model for ResultEngineType. +type ResultEngineType string + +// ReviewAsset defines model for ReviewAsset. +type ReviewAsset struct { + AutoResult *bool `json:"autoResult,omitempty"` + Comment CommentaryString `json:"comment"` + Detail CommentaryString `json:"detail"` + History *[]ReviewHistory `json:"history,omitempty"` + Metadata *Metadata `json:"metadata,omitempty"` + Result ReviewResult `json:"result"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + Rule *RuleAbbr `json:"rule,omitempty"` + RuleId *RuleId `json:"ruleId"` + RuleIds []*RuleId `json:"ruleIds"` + Status ReviewStatusRead `json:"status"` + Stigs *[]CollectionStigWithIsDefault `json:"stigs,omitempty"` + TouchTs StringDateTime `json:"touchTs"` + Ts StringDateTime `json:"ts"` + UserId UserId `json:"userId"` + Username Username `json:"username"` +} + +// ReviewAssetPost defines model for ReviewAssetPost. +type ReviewAssetPost struct { + AutoResult *bool `json:"autoResult,omitempty"` + Comment *CommentaryStringNullable `json:"comment"` + Detail *CommentaryStringNullable `json:"detail"` + Metadata *Metadata `json:"metadata,omitempty"` + Result ReviewResult `json:"result"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + RuleId *RuleId `json:"ruleId"` + Status *ReviewStatusWrite `json:"status,omitempty"` +} + +// ReviewAssetRulePatch defines model for ReviewAssetRulePatch. +type ReviewAssetRulePatch struct { + Comment *CommentaryString `json:"comment,omitempty"` + Detail *CommentaryString `json:"detail,omitempty"` + Metadata *Metadata `json:"metadata,omitempty"` + Result *ReviewResult `json:"result,omitempty"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + Status *ReviewStatusWrite `json:"status,omitempty"` +} + +// ReviewAssetRulePut defines model for ReviewAssetRulePut. +type ReviewAssetRulePut struct { + AutoResult *bool `json:"autoResult,omitempty"` + Comment *CommentaryStringNullable `json:"comment"` + Detail *CommentaryStringNullable `json:"detail"` + Metadata *Metadata `json:"metadata,omitempty"` + Result ReviewResult `json:"result"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + Status *ReviewStatusWrite `json:"status,omitempty"` +} + +// ReviewAssetRuleRead defines model for ReviewAssetRuleRead. +type ReviewAssetRuleRead struct { + Access AclRuleAccess `json:"access"` + AutoResult *bool `json:"autoResult,omitempty"` + Comment CommentaryString `json:"comment"` + Detail CommentaryString `json:"detail"` + History *[]ReviewHistory `json:"history,omitempty"` + Metadata *Metadata `json:"metadata,omitempty"` + Result ReviewResult `json:"result"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + Rule *RuleAbbr `json:"rule,omitempty"` + RuleIds *[]*RuleId `json:"ruleIds,omitempty"` + Status ReviewStatusRead `json:"status"` + Stigs *[]CollectionStigWithIsDefault `json:"stigs,omitempty"` + TouchTs StringDateTime `json:"touchTs"` + Ts StringDateTime `json:"ts"` + UserId UserId `json:"userId"` + Username Username `json:"username"` +} + +// ReviewBatch defines model for ReviewBatch. +type ReviewBatch struct { + Action *ReviewBatchAction `json:"action,omitempty"` + Assets ReviewBatchAssetsCriteria `json:"assets"` + DryRun *bool `json:"dryRun,omitempty"` + Rules ReviewBatchRulesCriteria `json:"rules"` + Source ReviewBatchSource `json:"source"` + UpdateFilters *[]ReviewBatchFilter `json:"updateFilters,omitempty"` +} + +// ReviewBatchAction defines model for ReviewBatchAction. +type ReviewBatchAction string + +// ReviewBatchAssetsCriteria defines model for ReviewBatchAssetsCriteria. +type ReviewBatchAssetsCriteria struct { + union json.RawMessage +} + +// ReviewBatchCriteriaAssetIds defines model for ReviewBatchCriteria_AssetIds. +type ReviewBatchCriteriaAssetIds struct { + AssetIds []AssetId `json:"assetIds"` +} + +// ReviewBatchCriteriaBenchmarkIds defines model for ReviewBatchCriteria_BenchmarkIds. +type ReviewBatchCriteriaBenchmarkIds struct { + BenchmarkIds []*BenchmarkId `json:"benchmarkIds"` +} + +// ReviewBatchCriteriaRuleIds defines model for ReviewBatchCriteria_RuleIds. +type ReviewBatchCriteriaRuleIds struct { + RuleIds []*RuleId `json:"ruleIds"` +} + +// ReviewBatchFilter defines model for ReviewBatchFilter. +type ReviewBatchFilter struct { + union json.RawMessage +} + +// ReviewBatchFilterDate defines model for ReviewBatchFilter_Date. +type ReviewBatchFilterDate struct { + Condition *ReviewBatchFilterDateCondition `json:"condition,omitempty"` + Field ReviewBatchFilterDateField `json:"field"` + Value StringDateTime `json:"value"` +} + +// ReviewBatchFilterDateCondition defines model for ReviewBatchFilterDate.Condition. +type ReviewBatchFilterDateCondition string + +// ReviewBatchFilterDateField defines model for ReviewBatchFilterDate.Field. +type ReviewBatchFilterDateField string + +// ReviewBatchFilterResult defines model for ReviewBatchFilter_Result. +type ReviewBatchFilterResult struct { + Condition *ReviewBatchFilterResultCondition `json:"condition,omitempty"` + Field ReviewBatchFilterResultField `json:"field"` + Value ReviewResult `json:"value"` +} + +// ReviewBatchFilterResultCondition defines model for ReviewBatchFilterResult.Condition. +type ReviewBatchFilterResultCondition string + +// ReviewBatchFilterResultField defines model for ReviewBatchFilterResult.Field. +type ReviewBatchFilterResultField string + +// ReviewBatchFilterStatus defines model for ReviewBatchFilter_Status. +type ReviewBatchFilterStatus struct { + Condition *ReviewBatchFilterStatusCondition `json:"condition,omitempty"` + Field ReviewBatchFilterStatusField `json:"field"` + Value ReviewStatusLabel `json:"value"` +} + +// ReviewBatchFilterStatusCondition defines model for ReviewBatchFilterStatus.Condition. +type ReviewBatchFilterStatusCondition string + +// ReviewBatchFilterStatusField defines model for ReviewBatchFilterStatus.Field. +type ReviewBatchFilterStatusField string + +// ReviewBatchFilterString defines model for ReviewBatchFilter_String. +type ReviewBatchFilterString struct { + Condition *ReviewBatchFilterStringCondition `json:"condition,omitempty"` + Field ReviewBatchFilterStringField `json:"field"` + Value string `json:"value"` +} + +// ReviewBatchFilterStringCondition defines model for ReviewBatchFilterString.Condition. +type ReviewBatchFilterStringCondition string + +// ReviewBatchFilterStringField defines model for ReviewBatchFilterString.Field. +type ReviewBatchFilterStringField string + +// ReviewBatchFilterUser defines model for ReviewBatchFilter_User. +type ReviewBatchFilterUser struct { + Condition *ReviewBatchFilterUserCondition `json:"condition,omitempty"` + Field ReviewBatchFilterUserField `json:"field"` + Value StringIntId `json:"value"` +} + +// ReviewBatchFilterUserCondition defines model for ReviewBatchFilterUser.Condition. +type ReviewBatchFilterUserCondition string + +// ReviewBatchFilterUserField defines model for ReviewBatchFilterUser.Field. +type ReviewBatchFilterUserField string + +// ReviewBatchResponse defines model for ReviewBatchResponse. +type ReviewBatchResponse struct { + FailedValidation int `json:"failedValidation"` + Inserted int `json:"inserted"` + Updated int `json:"updated"` + ValidationErrors []struct { + AssetId *AssetId `json:"assetId,omitempty"` + Error *String255 `json:"error,omitempty"` + RuleId *RuleId `json:"ruleId,omitempty"` + } `json:"validationErrors"` +} + +// ReviewBatchResponseDryRun defines model for ReviewBatchResponseDryRun. +type ReviewBatchResponseDryRun struct { + ValidationErrors []struct { + AssetId *AssetId `json:"assetId,omitempty"` + Error *String255 `json:"error,omitempty"` + RuleId *RuleId `json:"ruleId,omitempty"` + } `json:"validationErrors"` + WillFailValidation int `json:"willFailValidation"` + WillInsert int `json:"willInsert"` + WillUpdate int `json:"willUpdate"` +} + +// ReviewBatchRulesCriteria defines model for ReviewBatchRulesCriteria. +type ReviewBatchRulesCriteria struct { + union json.RawMessage +} + +// ReviewBatchSource defines model for ReviewBatchSource. +type ReviewBatchSource struct { + Review ReviewAssetRulePatch `json:"review"` +} + +// ReviewHistory defines model for ReviewHistory. +type ReviewHistory struct { + AutoResult *bool `json:"autoResult,omitempty"` + Comment CommentaryString `json:"comment"` + Detail CommentaryString `json:"detail"` + Result ReviewResult `json:"result"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + RuleId *RuleId `json:"ruleId"` + Status ReviewStatusRead `json:"status"` + TouchTs StringDateTime `json:"touchTs"` + Ts StringDateTime `json:"ts"` + UserId UserId `json:"userId"` + Username Username `json:"username"` +} + +// ReviewHistoryAsset defines model for ReviewHistoryAsset. +type ReviewHistoryAsset struct { + AssetId String255 `json:"assetId"` + ReviewHistories []ReviewHistoryRule `json:"reviewHistories"` +} + +// ReviewHistoryDeleted defines model for ReviewHistoryDeleted. +type ReviewHistoryDeleted struct { + HistoryEntriesDeleted int `json:"HistoryEntriesDeleted"` +} + +// ReviewHistoryRule defines model for ReviewHistoryRule. +type ReviewHistoryRule struct { + History []ReviewHistory `json:"history"` + RuleId *RuleId `json:"ruleId"` +} + +// ReviewHistoryStats defines model for ReviewHistoryStats. +type ReviewHistoryStats struct { + AssetHistoryEntryCounts *[]ReviewHistoryStatsAsset `json:"assetHistoryEntryCounts,omitempty"` + CollectionHistoryEntryCount int `json:"collectionHistoryEntryCount"` + OldestHistoryEntryDate StringDateTime `json:"oldestHistoryEntryDate"` +} + +// ReviewHistoryStatsAsset defines model for ReviewHistoryStatsAsset. +type ReviewHistoryStatsAsset struct { + AssetId String255 `json:"assetId"` + HistoryEntryCount int `json:"historyEntryCount"` + OldestHistoryEntry *string `json:"oldestHistoryEntry"` +} + +// ReviewPostResponse defines model for ReviewPostResponse. +type ReviewPostResponse struct { + Affected struct { + Inserted *float32 `json:"inserted,omitempty"` + Updated *float32 `json:"updated,omitempty"` + } `json:"affected"` + Rejected []struct { + Reason *String255 `json:"reason,omitempty"` + RuleId *RuleId `json:"ruleId,omitempty"` + } `json:"rejected"` +} + +// ReviewRead defines model for ReviewRead. +type ReviewRead struct { + Access *AclRuleAccess `json:"access,omitempty"` + AssetId StringIntId `json:"assetId"` + AssetLabelIds *[]LabelId `json:"assetLabelIds,omitempty"` + AssetLabels *[]LabelBasicWithColor `json:"assetLabels,omitempty"` + AssetName String255 `json:"assetName"` + AutoResult *bool `json:"autoResult,omitempty"` + Comment *CommentaryStringNullable `json:"comment"` + Detail *CommentaryStringNullable `json:"detail"` + Metadata *Metadata `json:"metadata,omitempty"` + Result ReviewResult `json:"result"` + ResultEngine *ResultEngine `json:"resultEngine,omitempty"` + Rule *RuleAbbr `json:"rule,omitempty"` + RuleId *RuleId `json:"ruleId"` + RuleIds []*RuleId `json:"ruleIds"` + Status ReviewStatusRead `json:"status"` + Stigs *[]CollectionStigWithIsDefault `json:"stigs,omitempty"` + TouchTs StringDateTime `json:"touchTs"` + Ts StringDateTime `json:"ts"` + UserId UserId `json:"userId"` + Username Username `json:"username"` +} + +// ReviewResult defines model for ReviewResult. +type ReviewResult string + +// ReviewStatusLabel defines model for ReviewStatusLabel. +type ReviewStatusLabel string + +// ReviewStatusOption defines model for ReviewStatusOption. +type ReviewStatusOption string + +// ReviewStatusRead defines model for ReviewStatusRead. +type ReviewStatusRead struct { + Label ReviewStatusLabel `json:"label"` + Text *StatusText `json:"text"` + Ts StringDateTime `json:"ts"` + User UserBasic `json:"user"` +} + +// ReviewStatusWrite defines model for ReviewStatusWrite. +type ReviewStatusWrite struct { + union json.RawMessage +} + +// ReviewStatusWrite1 defines model for . +type ReviewStatusWrite1 struct { + Label ReviewStatusLabel `json:"label"` + Text *StatusText `json:"text"` +} + +// Revision defines model for Revision. +type Revision struct { + BenchmarkDate *StringDateNullable `json:"benchmarkDate"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + CollectionIds []CollectionId `json:"collectionIds"` + Marking *RevisionMarkingNullable `json:"marking,omitempty"` + Release RevisionRelease `json:"release"` + RevisionStr RevisionStr `json:"revisionStr"` + RuleCount *RuleCount `json:"ruleCount"` + Status *RevisionStatus `json:"status"` + StatusDate *StringDateNullable `json:"statusDate"` + Version VersionString `json:"version"` +} + +// RevisionBasic defines model for RevisionBasic. +type RevisionBasic struct { + BenchmarkId *BenchmarkId `json:"benchmarkId"` + RevisionStr RevisionStr `json:"revisionStr"` +} + +// RevisionDate defines model for RevisionDate. +type RevisionDate = StringDate + +// RevisionMarkingNullable defines model for RevisionMarkingNullable. +type RevisionMarkingNullable = string + +// RevisionPost defines model for RevisionPost. +type RevisionPost struct { + Action RevisionPostAction `json:"action"` + BenchmarkId *BenchmarkId `json:"benchmarkId"` + Marking *RevisionMarkingNullable `json:"marking,omitempty"` + RevisionStr RevisionStr `json:"revisionStr"` +} + +// RevisionPostAction defines model for RevisionPost.Action. +type RevisionPostAction string + +// RevisionRelease defines model for RevisionRelease. +type RevisionRelease = String45 + +// RevisionStatus defines model for RevisionStatus. +type RevisionStatus = String45Nullable + +// RevisionStr defines model for RevisionStr. +type RevisionStr = string + +// RevisionStrRaw defines model for RevisionStrRaw. +type RevisionStrRaw = string + +// RoleId defines model for RoleId. +type RoleId = int + +// Roles defines model for Roles. +type Roles string + +// Rule defines model for Rule. +type Rule struct { + STIGUuid *openapi_types.UUID `json:"STIGUuid,omitempty"` + Ccis *[]string `json:"ccis,omitempty"` + CheckContent *string `json:"check_content,omitempty"` + CheckContentRef *struct { + Href *string `json:"href,omitempty"` + Name *string `json:"name,omitempty"` + } `json:"check_content_ref,omitempty"` + Classification *string `json:"classification,omitempty"` + Comments *string `json:"comments,omitempty"` + CreatedAt *time.Time `json:"createdAt,omitempty"` + Discussion *string `json:"discussion,omitempty"` + Documentable *string `json:"documentable,omitempty"` + FalseNegatives *string `json:"false_negatives,omitempty"` + FalsePositives *string `json:"false_positives,omitempty"` + FindingDetails *string `json:"finding_details,omitempty"` + FixText *string `json:"fix_text,omitempty"` + GroupId *string `json:"group_id,omitempty"` + GroupTitle *string `json:"group_title,omitempty"` + GroupTree *[]GroupTree `json:"group_tree,omitempty"` + IaControls *string `json:"ia_controls,omitempty"` + LegacyIds *[]string `json:"legacy_ids,omitempty"` + MitigationControl *string `json:"mitigation_control,omitempty"` + Mitigations *string `json:"mitigations,omitempty"` + Overrides *map[string]interface{} `json:"overrides,omitempty"` + PotentialImpacts *string `json:"potential_impacts,omitempty"` + Responsibility *string `json:"responsibility,omitempty"` + RuleId *string `json:"rule_id,omitempty"` + RuleIdSrc *string `json:"rule_id_src,omitempty"` + RuleTitle *string `json:"rule_title,omitempty"` + RuleVersion *string `json:"rule_version,omitempty"` + SecurityOverrideGuidance *string `json:"security_override_guidance,omitempty"` + Severity *string `json:"severity,omitempty"` + Status *string `json:"status,omitempty"` + StigRef *string `json:"stig_ref,omitempty"` + StigUuid *openapi_types.UUID `json:"stig_uuid,omitempty"` + TargetKey *string `json:"target_key,omitempty"` + ThirdPartyTools *string `json:"third_party_tools,omitempty"` + UpdatedAt *time.Time `json:"updatedAt,omitempty"` + Uuid *openapi_types.UUID `json:"uuid,omitempty"` + Weight *string `json:"weight,omitempty"` +} + +// RuleAbbr defines model for RuleAbbr. +type RuleAbbr struct { + RuleId *RuleId `json:"ruleId"` + Severity string `json:"severity"` + Title RuleTitle `json:"title"` + Version VersionString `json:"version"` +} + +// RuleCount defines model for RuleCount. +type RuleCount = int + +// RuleId defines model for RuleId. +type RuleId = String45Nullable + +// RuleProjected defines model for RuleProjected. +type RuleProjected struct { + Ccis *[]CciBasic `json:"ccis,omitempty"` + Check *Check `json:"check,omitempty"` + Detail *struct { + Documentable *string `json:"documentable,omitempty"` + FalseNegatives *string `json:"falseNegatives,omitempty"` + FalsePositives *string `json:"falsePositives,omitempty"` + MitigationControl *string `json:"mitigationControl,omitempty"` + Mitigations *string `json:"mitigations,omitempty"` + PotentialImpacts *string `json:"potentialImpacts,omitempty"` + Responsibility *string `json:"responsibility,omitempty"` + SeverityOverrideGuidance *string `json:"severityOverrideGuidance,omitempty"` + ThirdPartyTools *string `json:"thirdPartyTools,omitempty"` + VulnDiscussion *string `json:"vulnDiscussion,omitempty"` + Weight *string `json:"weight,omitempty"` + } `json:"detail,omitempty"` + Fix *Fix `json:"fix,omitempty"` + GroupId *GroupId `json:"groupId"` + GroupTitle *GroupTitle `json:"groupTitle"` + RuleId *RuleId `json:"ruleId"` + RuleIds *[]*RuleId `json:"ruleIds,omitempty"` + Severity string `json:"severity"` + Stigs *[]RevisionBasic `json:"stigs,omitempty"` + Title RuleTitle `json:"title"` + Version VersionString `json:"version"` +} + +// RuleSeverity defines model for RuleSeverity. +type RuleSeverity string + +// RuleTitle defines model for RuleTitle. +type RuleTitle = StringMax + +// SCAPMap defines model for SCAPMap. +type SCAPMap struct { + BenchmarkId *BenchmarkId `json:"benchmarkId,omitempty"` + ScapBenchmarkId *string `json:"scapBenchmarkId,omitempty"` +} + +// STIG defines model for STIG. +type STIG struct { + BenchmarkId *BenchmarkId `json:"benchmarkId"` + CollectionIds []CollectionId `json:"collectionIds"` + LastRevisionDate *StringDateNullable `json:"lastRevisionDate"` + LastRevisionStr string `json:"lastRevisionStr"` + Marking *RevisionMarkingNullable `json:"marking,omitempty"` + RevisionStrs *[]RevisionStrRaw `json:"revisionStrs,omitempty"` + Revisions *[]Revision `json:"revisions,omitempty"` + RuleCount *RuleCount `json:"ruleCount"` + Status *StatusText `json:"status,omitempty"` + Title StigTitle `json:"title"` +} + +// State defines model for State. +type State string + +// StateResponse defines model for StateResponse. +type StateResponse struct { + CurrentState *State `json:"currentState,omitempty"` + Dependencies *Dependencies `json:"dependencies,omitempty"` + Endpoints *Endpoints `json:"endpoints,omitempty"` + Since *StringDateTime `json:"since,omitempty"` +} + +// StatusText defines model for StatusText. +type StatusText = String511Nullable + +// StigCklb defines model for StigCklb. +type StigCklb struct { + DisplayName *string `json:"display_name,omitempty"` + ReferenceIdentifier *string `json:"reference_identifier,omitempty"` + ReleaseInfo *string `json:"release_info,omitempty"` + Rules *[]Rule `json:"rules,omitempty"` + Size *int `json:"size,omitempty"` + StigId *string `json:"stig_id,omitempty"` + StigName *string `json:"stig_name,omitempty"` + Uuid *openapi_types.UUID `json:"uuid,omitempty"` + Version *string `json:"version,omitempty"` +} + +// StigTitle defines model for StigTitle. +type StigTitle = String255 + +// String20 defines model for String20. +type String20 = string + +// String20Nullable defines model for String20Nullable. +type String20Nullable = string + +// String255 defines model for String255. +type String255 = string + +// String255Nullable defines model for String255Nullable. +type String255Nullable = string + +// String32767 defines model for String32767. +type String32767 = string + +// String32767Nullable defines model for String32767Nullable. +type String32767Nullable = string + +// String45 defines model for String45. +type String45 = string + +// String45Nullable defines model for String45Nullable. +type String45Nullable = string + +// String511Nullable defines model for String511Nullable. +type String511Nullable = string + +// StringDate defines model for StringDate. +type StringDate = openapi_types.Date + +// StringDateNullable defines model for StringDateNullable. +type StringDateNullable = openapi_types.Date + +// StringDateTime defines model for StringDateTime. +type StringDateTime = time.Time + +// StringDateTimeNullable defines model for StringDateTimeNullable. +type StringDateTimeNullable = time.Time + +// StringHexColor defines model for StringHexColor. +type StringHexColor = string + +// StringIntId defines model for StringIntId. +type StringIntId = string + +// StringIntIdNullable defines model for StringIntIdNullable. +type StringIntIdNullable = string + +// StringMax defines model for StringMax. +type StringMax = string + +// StringUuid defines model for StringUuid. +type StringUuid = string + +// StringUuidNullable defines model for StringUuidNullable. +type StringUuidNullable = string + +// TargetData defines model for TargetData. +type TargetData struct { + Comments *string `json:"comments,omitempty"` + Fqdn *AssetFqdn `json:"fqdn,omitempty"` + HostName *AssetName `json:"host_name,omitempty"` + IpAddress *AssetIp `json:"ip_address,omitempty"` + IsWebDatabase *bool `json:"is_web_database,omitempty"` + MacAddress *AssetMac `json:"mac_address,omitempty"` + Role *string `json:"role,omitempty"` + TargetType *string `json:"target_type,omitempty"` + TechnologyArea *string `json:"technology_area,omitempty"` + WebDbInstance *string `json:"web_db_instance,omitempty"` + WebDbSite *string `json:"web_db_site,omitempty"` +} + +// TextRefNist defines model for TextRefNist. +type TextRefNist = String255 + +// UnreviewedAsset defines model for UnreviewedAsset. +type UnreviewedAsset struct { + AssetId AssetId `json:"assetId"` + Labels []LabelBasic `json:"labels"` + Name AssetName `json:"name"` + Unreviewed []UnreviewedAssetItem `json:"unreviewed"` +} + +// UnreviewedAssetItem defines model for UnreviewedAssetItem. +type UnreviewedAssetItem struct { + BenchmarkId *BenchmarkId `json:"benchmarkId"` + GroupId *GroupId `json:"groupId"` + GroupTitle *GroupTitle `json:"groupTitle,omitempty"` + + // Result The Review result + Result *ChecklistResultUnreviewed `json:"result"` + RuleId *RuleId `json:"ruleId"` + RuleTitle *RuleTitle `json:"ruleTitle,omitempty"` + Severity *RuleSeverity `json:"severity,omitempty"` +} + +// UnreviewedRule defines model for UnreviewedRule. +type UnreviewedRule struct { + BenchmarkId *BenchmarkId `json:"benchmarkId"` + GroupId *GroupId `json:"groupId"` + GroupTitle *GroupTitle `json:"groupTitle,omitempty"` + RuleId *RuleId `json:"ruleId"` + RuleTitle *RuleTitle `json:"ruleTitle,omitempty"` + Severity *RuleSeverity `json:"severity,omitempty"` + Unreviewed []UnreviewedRuleItem `json:"unreviewed"` +} + +// UnreviewedRuleItem defines model for UnreviewedRuleItem. +type UnreviewedRuleItem struct { + AssetId AssetId `json:"assetId"` + Labels []LabelBasic `json:"labels"` + Name AssetName `json:"name"` + + // Result The Review result + Result *ChecklistResultUnreviewed `json:"result"` +} + +// UserBasic defines model for UserBasic. +type UserBasic struct { + RoleId *RoleId `json:"roleId,omitempty"` + UserId UserId `json:"userId"` + Username Username `json:"username"` +} + +// UserBasicNullable defines model for UserBasicNullable. +type UserBasicNullable struct { + UserId *UserIdNullable `json:"userId"` + Username *UsernameNullable `json:"username"` +} + +// UserBasicWithDisplayName defines model for UserBasicWithDisplayName. +type UserBasicWithDisplayName struct { + DisplayName *DisplayName `json:"displayName"` + UserId UserId `json:"userId"` + Username Username `json:"username"` +} + +// UserCreateOrReplace defines model for UserCreateOrReplace. +type UserCreateOrReplace struct { + CollectionGrants []CollectionGrant `json:"collectionGrants"` + Status *UserStatus `json:"status,omitempty"` + UserGroups *[]UserGroupId `json:"userGroups,omitempty"` + Username Username `json:"username"` +} + +// UserGrant defines model for UserGrant. +type UserGrant struct { + RoleId RoleId `json:"roleId"` + UserId UserId `json:"userId"` +} + +// UserGrantProjected defines model for UserGrantProjected. +type UserGrantProjected struct { + GrantId *GrantId `json:"grantId,omitempty"` + RoleId RoleId `json:"roleId"` + User UserBasicWithDisplayName `json:"user"` +} + +// UserGroup defines model for UserGroup. +type UserGroup struct { + Description *String255Nullable `json:"description"` + Name String255 `json:"name"` + UserGroupId UserGroupId `json:"userGroupId"` +} + +// UserGroupBasic defines model for UserGroupBasic. +type UserGroupBasic struct { + Name String255 `json:"name"` + RoleId *RoleId `json:"roleId,omitempty"` + UserGroupId UserGroupId `json:"userGroupId"` +} + +// UserGroupCollectionGrant defines model for UserGroupCollectionGrant. +type UserGroupCollectionGrant struct { + Collection *struct { + CollectionId *CollectionId `json:"collectionId,omitempty"` + Name *CollectionName `json:"name,omitempty"` + } `json:"collection,omitempty"` + RoleId *RoleId `json:"roleId,omitempty"` +} + +// UserGroupGrant defines model for UserGroupGrant. +type UserGroupGrant struct { + RoleId int `json:"roleId"` + UserGroupId UserGroupId `json:"userGroupId"` +} + +// UserGroupGrantProjected defines model for UserGroupGrantProjected. +type UserGroupGrantProjected struct { + GrantId *GrantId `json:"grantId,omitempty"` + RoleId RoleId `json:"roleId"` + UserGroup UserGroup `json:"userGroup"` +} + +// UserGroupId defines model for UserGroupId. +type UserGroupId = StringIntId + +// UserGroupPatch defines model for UserGroupPatch. +type UserGroupPatch struct { + CollectionGrants *[]CollectionGrant `json:"collectionGrants,omitempty"` + Description *String255Nullable `json:"description,omitempty"` + Name *String255 `json:"name,omitempty"` + UserIds *[]UserId `json:"userIds,omitempty"` +} + +// UserGroupPostOrPut defines model for UserGroupPostOrPut. +type UserGroupPostOrPut struct { + CollectionGrants *[]CollectionGrant `json:"collectionGrants,omitempty"` + Description *String255Nullable `json:"description,omitempty"` + Name String255 `json:"name"` + UserIds *[]UserId `json:"userIds,omitempty"` +} + +// UserGroupProjected defines model for UserGroupProjected. +type UserGroupProjected struct { + Attributions *Attributions `json:"attributions,omitempty"` + CollectionGrants *[]UserGroupCollectionGrant `json:"collectionGrants,omitempty"` + Description *String255Nullable `json:"description"` + Name String255 `json:"name"` + UserGroupId UserGroupId `json:"userGroupId"` + Users *[]UserBasicWithDisplayName `json:"users,omitempty"` +} + +// UserId defines model for UserId. +type UserId = StringIntId + +// UserIdNullable defines model for UserIdNullable. +type UserIdNullable = StringIntIdNullable + +// UserLastAccess defines model for UserLastAccess. +type UserLastAccess = IntegerMinimumZeroNullable + +// UserPatch defines model for UserPatch. +type UserPatch struct { + CollectionGrants *[]CollectionGrant `json:"collectionGrants,omitempty"` + Status *UserStatus `json:"status,omitempty"` + UserGroups *[]UserGroupId `json:"userGroups,omitempty"` + Username *Username `json:"username,omitempty"` +} + +// UserPost defines model for UserPost. +type UserPost struct { + CollectionGrants []CollectionGrant `json:"collectionGrants"` + UserGroups *[]UserGroupId `json:"userGroups,omitempty"` + Username Username `json:"username"` +} + +// UserPrivileges defines model for UserPrivileges. +type UserPrivileges struct { + Admin *bool `json:"admin,omitempty"` + CreateCollection *bool `json:"create_collection,omitempty"` +} + +// UserProjected defines model for UserProjected. +type UserProjected struct { + CollectionGrants *[]CollectionGrantProjected `json:"collectionGrants,omitempty"` + DisplayName *DisplayName `json:"displayName"` + Email *string `json:"email"` + LastAccess *UserLastAccess `json:"lastAccess"` + Privileges *UserPrivileges `json:"privileges,omitempty"` + Statistics *UserStatistics `json:"statistics,omitempty"` + Status *UserStatus `json:"status,omitempty"` + StatusDate *UserStatusDate `json:"statusDate,omitempty"` + StatusUser *UserStatusUser `json:"statusUser,omitempty"` + UserGroups *[]UserGroupBasic `json:"userGroups,omitempty"` + UserId UserId `json:"userId"` + Username Username `json:"username"` + WebPreferences *WebPreferences `json:"webPreferences,omitempty"` +} + +// UserPut defines model for UserPut. +type UserPut struct { + CollectionGrants []CollectionGrant `json:"collectionGrants"` + Status *UserStatus `json:"status,omitempty"` + UserGroups *[]UserGroupId `json:"userGroups,omitempty"` + Username Username `json:"username"` +} + +// UserStatistics defines model for UserStatistics. +type UserStatistics struct { + CollectionGrantCount int `json:"collectionGrantCount"` + Created Created `json:"created"` + LastClaims map[string]interface{} `json:"lastClaims"` +} + +// UserStatus defines model for UserStatus. +type UserStatus string + +// UserStatusDate defines model for UserStatusDate. +type UserStatusDate = StringDateTime + +// UserStatusUser defines model for UserStatusUser. +type UserStatusUser = StringIntIdNullable + +// Username defines model for Username. +type Username = String255 + +// UsernameNullable defines model for UsernameNullable. +type UsernameNullable = String255Nullable + +// Version Semver as defined by the BNF at semver.org +type Version = string + +// VersionString defines model for VersionString. +type VersionString = String255 + +// WebPreferences defines model for WebPreferences. +type WebPreferences struct { + DarkMode bool `json:"darkMode"` + LastWhatsNew openapi_types.Date `json:"lastWhatsNew"` +} + +// WebPreferencesPatch defines model for WebPreferencesPatch. +type WebPreferencesPatch struct { + DarkMode *bool `json:"darkMode,omitempty"` + LastWhatsNew *openapi_types.Date `json:"lastWhatsNew,omitempty"` +} + +// AppDataFormatQuery defines model for AppDataFormatQuery. +type AppDataFormatQuery = AppDataFormat + +// AssetIdArrayQuery defines model for AssetIdArrayQuery. +type AssetIdArrayQuery = []AssetId + +// AssetIdPath defines model for AssetIdPath. +type AssetIdPath = AssetId + +// AssetIdQuery defines model for AssetIdQuery. +type AssetIdQuery = AssetId + +// AssetProjectionQuery defines model for AssetProjectionQuery. +type AssetProjectionQuery = []string + +// BenchmarkIdArrayQuery defines model for BenchmarkIdArrayQuery. +type BenchmarkIdArrayQuery = []*BenchmarkId + +// BenchmarkIdPath defines model for BenchmarkIdPath. +type BenchmarkIdPath = BenchmarkId + +// BenchmarkIdQuery defines model for BenchmarkIdQuery. +type BenchmarkIdQuery = BenchmarkId + +// CciProjectionQuery defines model for CciProjectionQuery. +type CciProjectionQuery = []string + +// CciQuery defines model for CciQuery. +type CciQuery = CciString + +// CklModeQuery defines model for CklModeQuery. +type CklModeQuery string + +// CollectionIdArrayQuery defines model for CollectionIdArrayQuery. +type CollectionIdArrayQuery = []CollectionId + +// CollectionIdPath defines model for CollectionIdPath. +type CollectionIdPath = CollectionId + +// CollectionIdQuery defines model for CollectionIdQuery. +type CollectionIdQuery = CollectionId + +// CollectionProjectionQuery defines model for CollectionProjectionQuery. +type CollectionProjectionQuery = []string + +// CollectionStigProjectionQuery defines model for CollectionStigProjectionQuery. +type CollectionStigProjectionQuery = []string + +// CollectionsProjectionQuery defines model for CollectionsProjectionQuery. +type CollectionsProjectionQuery = []string + +// DryRunQuery defines model for DryRunQuery. +type DryRunQuery = bool + +// DstCollectionIdPath defines model for DstCollectionIdPath. +type DstCollectionIdPath = CollectionId + +// ElevateQuery defines model for ElevateQuery. +type ElevateQuery = bool + +// EndDateQuery defines model for EndDateQuery. +type EndDateQuery = StringDate + +// FindingAggregatorQuery defines model for FindingAggregatorQuery. +type FindingAggregatorQuery string + +// FindingProjectionQuery defines model for FindingProjectionQuery. +type FindingProjectionQuery = []string + +// ForceQuery defines model for ForceQuery. +type ForceQuery = bool + +// GrantIdPath defines model for GrantIdPath. +type GrantIdPath = GrantId + +// GroupIdQuery defines model for GroupIdQuery. +type GroupIdQuery = GroupId + +// GroupProjectionQuery defines model for GroupProjectionQuery. +type GroupProjectionQuery = []string + +// JobIdPath defines model for JobIdPath. +type JobIdPath = JobId + +// JobRunIdPath defines model for JobRunIdPath. +type JobRunIdPath = JobRunId + +// JsonPathQuery defines model for JsonPathQuery. +type JsonPathQuery = String255 + +// LabelIdPath defines model for LabelIdPath. +type LabelIdPath = LabelId + +// LabelIdQuery defines model for LabelIdQuery. +type LabelIdQuery = []LabelId + +// LabelMatchQuery defines model for LabelMatchQuery. +type LabelMatchQuery string + +// LabelNameQuery defines model for LabelNameQuery. +type LabelNameQuery = []LabelName + +// MetadataKeyPath defines model for MetadataKeyPath. +type MetadataKeyPath = string + +// MetadataQuery defines model for MetadataQuery. +type MetadataQuery = []string + +// MetricsFormatQuery defines model for MetricsFormatQuery. +type MetricsFormatQuery string + +// NameMatchQuery defines model for NameMatchQuery. +type NameMatchQuery string + +// NameQuery defines model for NameQuery. +type NameQuery = string + +// PoamAggregatorQuery defines model for PoamAggregatorQuery. +type PoamAggregatorQuery string + +// PoamFormatQuery defines model for PoamFormatQuery. +type PoamFormatQuery string + +// PrivilegeQuery defines model for PrivilegeQuery. +type PrivilegeQuery string + +// RetentionDateQuery defines model for RetentionDateQuery. +type RetentionDateQuery = StringDate + +// ReviewHistoryStatsProjectionQuery defines model for ReviewHistoryStatsProjectionQuery. +type ReviewHistoryStatsProjectionQuery = []string + +// ReviewProjectionQuery defines model for ReviewProjectionQuery. +type ReviewProjectionQuery = []string + +// ReviewResultQuery defines model for ReviewResultQuery. +type ReviewResultQuery = ReviewResult + +// ReviewRulesQuery defines model for ReviewRulesQuery. +type ReviewRulesQuery string + +// ReviewStatusQuery defines model for ReviewStatusQuery. +type ReviewStatusQuery = ReviewStatusLabel + +// ReviewsProjectionQuery defines model for ReviewsProjectionQuery. +type ReviewsProjectionQuery = []string + +// RevisionIdArrayQuery defines model for RevisionIdArrayQuery. +type RevisionIdArrayQuery = []string + +// RevisionStrPath defines model for RevisionStrPath. +type RevisionStrPath = RevisionStr + +// RuleIdPath defines model for RuleIdPath. +type RuleIdPath = RuleId + +// RuleIdQuery defines model for RuleIdQuery. +type RuleIdQuery = RuleId + +// RuleProjectionQuery defines model for RuleProjectionQuery. +type RuleProjectionQuery = []string + +// RuleSeverityQuery defines model for RuleSeverityQuery. +type RuleSeverityQuery = []*RuleSeverity + +// RunSequenceQuery defines model for RunSequenceQuery. +type RunSequenceQuery = int + +// StartDateQuery defines model for StartDateQuery. +type StartDateQuery = StringDate + +// StigProjectionQuery defines model for StigProjectionQuery. +type StigProjectionQuery = []string + +// UnreviewedAssetsProjectionQuery defines model for UnreviewedAssetsProjectionQuery. +type UnreviewedAssetsProjectionQuery = []string + +// UnreviewedRulesProjectionQuery defines model for UnreviewedRulesProjectionQuery. +type UnreviewedRulesProjectionQuery = []string + +// UserGroupIdPath defines model for UserGroupIdPath. +type UserGroupIdPath = UserGroupId + +// UserGroupProjectionQuery defines model for UserGroupProjectionQuery. +type UserGroupProjectionQuery = []string + +// UserIdPath defines model for UserIdPath. +type UserIdPath = UserId + +// UserIdQuery defines model for UserIdQuery. +type UserIdQuery = UserId + +// UserPreferenceQuery defines model for UserPreferenceQuery. +type UserPreferenceQuery string + +// UserProjectionQuery defines model for UserProjectionQuery. +type UserProjectionQuery = []string + +// UserStatusQuery defines model for UserStatusQuery. +type UserStatusQuery = UserStatus + +// UsernameMatchQuery defines model for UsernameMatchQuery. +type UsernameMatchQuery string + +// UsernameQuery defines model for UsernameQuery. +type UsernameQuery = Username + +// Forbidden defines model for Forbidden. +type Forbidden = Error + +// oauthContextKey is the context key for oauth security scheme +type oauthContextKey string + +// GetAssetsParams defines parameters for GetAssets. +type GetAssetsParams struct { + // CollectionId A query parameter that identifies a Collection + CollectionId CollectionIdQuery `form:"collectionId" json:"collectionId"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *GetAssetsParamsLabelMatch `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Name Matches against the name according to the `name-match` parameter + Name *NameQuery `form:"name,omitempty" json:"name,omitempty"` + + // NameMatch How to match against the `name` parameter + NameMatch *GetAssetsParamsNameMatch `form:"name-match,omitempty" json:"name-match,omitempty"` + + // Metadata A query parameter that specifies metadata key:value pairs to select matching Objects + Metadata *MetadataQuery `form:"metadata,omitempty" json:"metadata,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetAssetsParamsLabelMatch defines parameters for GetAssets. +type GetAssetsParamsLabelMatch string + +// GetAssetsParamsNameMatch defines parameters for GetAssets. +type GetAssetsParamsNameMatch string + +// GetAssetsParamsProjection defines parameters for GetAssets. +type GetAssetsParamsProjection string + +// PatchAssetsParams defines parameters for PatchAssets. +type PatchAssetsParams struct { + // CollectionId A query parameter that identifies a Collection + CollectionId CollectionIdQuery `form:"collectionId" json:"collectionId"` +} + +// CreateAssetParams defines parameters for CreateAsset. +type CreateAssetParams struct { + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// CreateAssetParamsProjection defines parameters for CreateAsset. +type CreateAssetParamsProjection string + +// DeleteAssetParams defines parameters for DeleteAsset. +type DeleteAssetParams struct { + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetAssetParams defines parameters for GetAsset. +type GetAssetParams struct { + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// UpdateAssetParams defines parameters for UpdateAsset. +type UpdateAssetParams struct { + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// ReplaceAssetParams defines parameters for ReplaceAsset. +type ReplaceAssetParams struct { + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetChecklistByAssetParams defines parameters for GetChecklistByAsset. +type GetChecklistByAssetParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Format The format of the response. + Format *string `form:"format,omitempty" json:"format,omitempty"` +} + +// GetChecklistByAssetStigParams defines parameters for GetChecklistByAssetStig. +type GetChecklistByAssetStigParams struct { + // Format The format of the response. + Format *GetChecklistByAssetStigParamsFormat `form:"format,omitempty" json:"format,omitempty"` + + // Projection Additional fields to include in JSON checklist responses. + Projection *[]GetChecklistByAssetStigParamsProjection `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetChecklistByAssetStigParamsFormat defines parameters for GetChecklistByAssetStig. +type GetChecklistByAssetStigParamsFormat string + +// GetChecklistByAssetStigParamsProjection defines parameters for GetChecklistByAssetStig. +type GetChecklistByAssetStigParamsProjection string + +// GetChecklistByAssetStig200JSONResponseBody defines parameters for GetChecklistByAssetStig. +type GetChecklistByAssetStig200JSONResponseBody struct { + union json.RawMessage +} + +// GetCollectionsParams defines parameters for GetCollections. +type GetCollectionsParams struct { + // Name Matches against the name according to the `name-match` parameter + Name *NameQuery `form:"name,omitempty" json:"name,omitempty"` + + // NameMatch How to match against the `name` parameter + NameMatch *GetCollectionsParamsNameMatch `form:"name-match,omitempty" json:"name-match,omitempty"` + + // Metadata A query parameter that specifies metadata key:value pairs to select matching Objects + Metadata *MetadataQuery `form:"metadata,omitempty" json:"metadata,omitempty"` + + // Projection Additional properties to include in the response. + Projection *CollectionsProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` + + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetCollectionsParamsNameMatch defines parameters for GetCollections. +type GetCollectionsParamsNameMatch string + +// GetCollectionsParamsProjection defines parameters for GetCollections. +type GetCollectionsParamsProjection string + +// CreateCollectionParams defines parameters for CreateCollection. +type CreateCollectionParams struct { + // Projection Additional properties to include in the response. + Projection *CollectionProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` + + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// CreateCollectionParamsProjection defines parameters for CreateCollection. +type CreateCollectionParamsProjection string + +// GetMetricsDetailByMetaParams defines parameters for GetMetricsDetailByMeta. +type GetMetricsDetailByMetaParams struct { + // CollectionId Filter by one or more collectionIds + CollectionId *CollectionIdArrayQuery `form:"collectionId,omitempty" json:"collectionId,omitempty"` + + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsDetailByMetaAggCollectionParams defines parameters for GetMetricsDetailByMetaAggCollection. +type GetMetricsDetailByMetaAggCollectionParams struct { + // CollectionId Filter by one or more collectionIds + CollectionId *CollectionIdArrayQuery `form:"collectionId,omitempty" json:"collectionId,omitempty"` + + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // RevisionId Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. + RevisionId *RevisionIdArrayQuery `form:"revisionId,omitempty" json:"revisionId,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsDetailByMetaAggStigParams defines parameters for GetMetricsDetailByMetaAggStig. +type GetMetricsDetailByMetaAggStigParams struct { + // CollectionId Filter by one or more collectionIds + CollectionId *CollectionIdArrayQuery `form:"collectionId,omitempty" json:"collectionId,omitempty"` + + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByMetaParams defines parameters for GetMetricsSummaryByMeta. +type GetMetricsSummaryByMetaParams struct { + // CollectionId Filter by one or more collectionIds + CollectionId *CollectionIdArrayQuery `form:"collectionId,omitempty" json:"collectionId,omitempty"` + + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByMetaAggCollectionParams defines parameters for GetMetricsSummaryByMetaAggCollection. +type GetMetricsSummaryByMetaAggCollectionParams struct { + // CollectionId Filter by one or more collectionIds + CollectionId *CollectionIdArrayQuery `form:"collectionId,omitempty" json:"collectionId,omitempty"` + + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // RevisionId Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. + RevisionId *RevisionIdArrayQuery `form:"revisionId,omitempty" json:"revisionId,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByMetaAggStigParams defines parameters for GetMetricsSummaryByMetaAggStig. +type GetMetricsSummaryByMetaAggStigParams struct { + // CollectionId Filter by one or more collectionIds + CollectionId *CollectionIdArrayQuery `form:"collectionId,omitempty" json:"collectionId,omitempty"` + + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// DeleteCollectionParams defines parameters for DeleteCollection. +type DeleteCollectionParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *CollectionProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetCollectionParams defines parameters for GetCollection. +type GetCollectionParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *CollectionProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// UpdateCollectionParams defines parameters for UpdateCollection. +type UpdateCollectionParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *CollectionProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// ReplaceCollectionParams defines parameters for ReplaceCollection. +type ReplaceCollectionParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *CollectionProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// PostCklArchiveByCollectionJSONBody defines parameters for PostCklArchiveByCollection. +type PostCklArchiveByCollectionJSONBody = []AssetStigSelection + +// PostCklArchiveByCollectionParams defines parameters for PostCklArchiveByCollection. +type PostCklArchiveByCollectionParams struct { + // Mode A query parameter that describes the CKL mode + Mode *PostCklArchiveByCollectionParamsMode `form:"mode,omitempty" json:"mode,omitempty"` +} + +// PostCklArchiveByCollectionParamsMode defines parameters for PostCklArchiveByCollection. +type PostCklArchiveByCollectionParamsMode string + +// PostCklbArchiveByCollectionJSONBody defines parameters for PostCklbArchiveByCollection. +type PostCklbArchiveByCollectionJSONBody = []AssetStigSelection + +// PostCklbArchiveByCollectionParams defines parameters for PostCklbArchiveByCollection. +type PostCklbArchiveByCollectionParams struct { + // Mode A query parameter that describes the CKL mode + Mode *PostCklbArchiveByCollectionParamsMode `form:"mode,omitempty" json:"mode,omitempty"` +} + +// PostCklbArchiveByCollectionParamsMode defines parameters for PostCklbArchiveByCollection. +type PostCklbArchiveByCollectionParamsMode string + +// PostXccdfArchiveByCollectionJSONBody defines parameters for PostXccdfArchiveByCollection. +type PostXccdfArchiveByCollectionJSONBody = []AssetStigSelection + +// CreateAssetsParams defines parameters for CreateAssets. +type CreateAssetsParams struct { + // Projection Additional properties to include in the response. + Projection *AssetProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` + + // DryRun If set to `true`, performs validation without persisting data. + DryRun *DryRunQuery `form:"dryRun,omitempty" json:"dryRun,omitempty"` +} + +// CreateAssetsParamsProjection defines parameters for CreateAssets. +type CreateAssetsParamsProjection string + +// CloneCollectionParams defines parameters for CloneCollection. +type CloneCollectionParams struct { + // Projection Additional properties to include in the response. + Projection *CollectionProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// CloneCollectionParamsProjection defines parameters for CloneCollection. +type CloneCollectionParamsProjection string + +// ExportToCollectionJSONBody defines parameters for ExportToCollection. +type ExportToCollectionJSONBody = []AssetStigSelection + +// GetFindingsByCollectionParams defines parameters for GetFindingsByCollection. +type GetFindingsByCollectionParams struct { + // Aggregator Aggregate the findings on this property + Aggregator FindingAggregatorQuery `form:"aggregator" json:"aggregator"` + AcceptedOnly *bool `form:"acceptedOnly,omitempty" json:"acceptedOnly,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // Projection Optional properties to return + Projection *FindingProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetGrantsByCollectionParams defines parameters for GetGrantsByCollection. +type GetGrantsByCollectionParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// PostGrantsByCollectionJSONBody defines parameters for PostGrantsByCollection. +type PostGrantsByCollectionJSONBody = []GrantPost + +// PostGrantsByCollectionParams defines parameters for PostGrantsByCollection. +type PostGrantsByCollectionParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// DeleteGrantByCollectionGrantParams defines parameters for DeleteGrantByCollectionGrant. +type DeleteGrantByCollectionGrantParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetGrantByCollectionGrantParams defines parameters for GetGrantByCollectionGrant. +type GetGrantByCollectionGrantParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// PutGrantByCollectionGrantJSONBody defines parameters for PutGrantByCollectionGrant. +type PutGrantByCollectionGrantJSONBody struct { + union json.RawMessage +} + +// PutGrantByCollectionGrantParams defines parameters for PutGrantByCollectionGrant. +type PutGrantByCollectionGrantParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// PutAclRulesByCollectionGrantJSONBody defines parameters for PutAclRulesByCollectionGrant. +type PutAclRulesByCollectionGrantJSONBody = []AclRulePut + +// CreateCollectionLabelsJSONBody defines parameters for CreateCollectionLabels. +type CreateCollectionLabelsJSONBody = []LabelCreate + +// PutAssetsByCollectionLabelIdJSONBody defines parameters for PutAssetsByCollectionLabelId. +type PutAssetsByCollectionLabelIdJSONBody = []String255 + +// GetMetricsDetailByCollectionParams defines parameters for GetMetricsDetailByCollection. +type GetMetricsDetailByCollectionParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsDetailByCollectionAggAssetParams defines parameters for GetMetricsDetailByCollectionAggAsset. +type GetMetricsDetailByCollectionAggAssetParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsDetailByCollectionAggParams defines parameters for GetMetricsDetailByCollectionAgg. +type GetMetricsDetailByCollectionAggParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsDetailByCollectionAggLabelParams defines parameters for GetMetricsDetailByCollectionAggLabel. +type GetMetricsDetailByCollectionAggLabelParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsDetailByCollectionAggStigParams defines parameters for GetMetricsDetailByCollectionAggStig. +type GetMetricsDetailByCollectionAggStigParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByCollectionParams defines parameters for GetMetricsSummaryByCollection. +type GetMetricsSummaryByCollectionParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByCollectionAggAssetParams defines parameters for GetMetricsSummaryByCollectionAggAsset. +type GetMetricsSummaryByCollectionAggAssetParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByCollectionAggParams defines parameters for GetMetricsSummaryByCollectionAgg. +type GetMetricsSummaryByCollectionAggParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByCollectionAggLabelParams defines parameters for GetMetricsSummaryByCollectionAggLabel. +type GetMetricsSummaryByCollectionAggLabelParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetMetricsSummaryByCollectionAggStigParams defines parameters for GetMetricsSummaryByCollectionAggStig. +type GetMetricsSummaryByCollectionAggStigParams struct { + // BenchmarkId Filter by one or more benchmarkIds + BenchmarkId *BenchmarkIdArrayQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies a list of Assets + AssetId *AssetIdArrayQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Format The format of the response body + Format *MetricsFormatQuery `form:"format,omitempty" json:"format,omitempty"` +} + +// GetPoamByCollectionParams defines parameters for GetPoamByCollection. +type GetPoamByCollectionParams struct { + // Aggregator Aggregate the findings on this property + Aggregator GetPoamByCollectionParamsAggregator `form:"aggregator" json:"aggregator"` + AcceptedOnly *bool `form:"acceptedOnly,omitempty" json:"acceptedOnly,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // Date Value for columns Scheduled Completion Date, Milestone With Completion Dates, Milestone Changes + Date *string `form:"date,omitempty" json:"date,omitempty"` + + // Office Value for column Office/Org + Office *string `form:"office,omitempty" json:"office,omitempty"` + + // Status Value for column Status + Status *string `form:"status,omitempty" json:"status,omitempty"` + + // Format Value for POAM format (ie. EMASS, MCCAST) + Format *GetPoamByCollectionParamsFormat `form:"format,omitempty" json:"format,omitempty"` + + // MccastPackageId Value for POAM MCCAST PackageId + MccastPackageId *string `form:"mccastPackageId,omitempty" json:"mccastPackageId,omitempty"` + + // MccastAuthName Value for POAM MCCAST Authorization Name + MccastAuthName *string `form:"mccastAuthName,omitempty" json:"mccastAuthName,omitempty"` +} + +// GetPoamByCollectionParamsAggregator defines parameters for GetPoamByCollection. +type GetPoamByCollectionParamsAggregator string + +// GetPoamByCollectionParamsFormat defines parameters for GetPoamByCollection. +type GetPoamByCollectionParamsFormat string + +// DeleteReviewHistoryByCollectionParams defines parameters for DeleteReviewHistoryByCollection. +type DeleteReviewHistoryByCollectionParams struct { + // RetentionDate Delete history entries with a timestamp earlier than the specified retention date. + RetentionDate RetentionDateQuery `form:"retentionDate" json:"retentionDate"` + + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` +} + +// GetReviewHistoryByCollectionParams defines parameters for GetReviewHistoryByCollection. +type GetReviewHistoryByCollectionParams struct { + // StartDate History entries with a timestamp before the specified start date. + StartDate *StartDateQuery `form:"startDate,omitempty" json:"startDate,omitempty"` + + // EndDate History entries with a timestamp after the specified end date. + EndDate *EndDateQuery `form:"endDate,omitempty" json:"endDate,omitempty"` + + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // RuleId Selects Reviews of a Rule + RuleId *RuleIdQuery `form:"ruleId,omitempty" json:"ruleId,omitempty"` + Status *ReviewStatusQuery `form:"status,omitempty" json:"status,omitempty"` +} + +// GetReviewHistoryStatsByCollectionParams defines parameters for GetReviewHistoryStatsByCollection. +type GetReviewHistoryStatsByCollectionParams struct { + // StartDate History entries with a timestamp before the specified start date. + StartDate *StartDateQuery `form:"startDate,omitempty" json:"startDate,omitempty"` + + // EndDate History entries with a timestamp after the specified end date. + EndDate *EndDateQuery `form:"endDate,omitempty" json:"endDate,omitempty"` + + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // RuleId Selects Reviews of a Rule + RuleId *RuleIdQuery `form:"ruleId,omitempty" json:"ruleId,omitempty"` + Status *ReviewStatusQuery `form:"status,omitempty" json:"status,omitempty"` + + // Projection Return review history statistics with the specified level of granularity. + Projection *ReviewHistoryStatsProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetReviewHistoryStatsByCollectionParamsProjection defines parameters for GetReviewHistoryStatsByCollection. +type GetReviewHistoryStatsByCollectionParamsProjection string + +// GetReviewsByCollectionParams defines parameters for GetReviewsByCollection. +type GetReviewsByCollectionParams struct { + // Rules default - rules from the default revision of a STIG in the Collection.
mapped - rules from any version of a STIG assigned to the Asset + Rules *GetReviewsByCollectionParamsRules `form:"rules,omitempty" json:"rules,omitempty"` + Result *ReviewResultQuery `form:"result,omitempty" json:"result,omitempty"` + Status *ReviewStatusQuery `form:"status,omitempty" json:"status,omitempty"` + + // RuleId Selects Reviews of a Rule + RuleId *RuleIdQuery `form:"ruleId,omitempty" json:"ruleId,omitempty"` + + // GroupId A query parameter that identifies a Group + GroupId *GroupIdQuery `form:"groupId,omitempty" json:"groupId,omitempty"` + + // Cci A query parameter that identifies a CCI + Cci *CciQuery `form:"cci,omitempty" json:"cci,omitempty"` + + // UserId A query parameter that identifies a User + UserId *UserIdQuery `form:"userId,omitempty" json:"userId,omitempty"` + + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Metadata A query parameter that specifies metadata key:value pairs to select matching Objects + Metadata *MetadataQuery `form:"metadata,omitempty" json:"metadata,omitempty"` + + // Projection Additional properties to include in the response. + Projection *ReviewsProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetReviewsByCollectionParamsRules defines parameters for GetReviewsByCollection. +type GetReviewsByCollectionParamsRules string + +// GetReviewsByCollectionParamsProjection defines parameters for GetReviewsByCollection. +type GetReviewsByCollectionParamsProjection string + +// PostReviewBatch200JSONResponseBody defines parameters for PostReviewBatch. +type PostReviewBatch200JSONResponseBody struct { + union json.RawMessage +} + +// GetReviewsByAssetParams defines parameters for GetReviewsByAsset. +type GetReviewsByAssetParams struct { + // Rules default - rules from the default revision of a STIG in the Collection.
mapped - rules from any version of a STIG assigned to the Asset + Rules *GetReviewsByAssetParamsRules `form:"rules,omitempty" json:"rules,omitempty"` + Result *ReviewResultQuery `form:"result,omitempty" json:"result,omitempty"` + Status *ReviewStatusQuery `form:"status,omitempty" json:"status,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Metadata A query parameter that specifies metadata key:value pairs to select matching Objects + Metadata *MetadataQuery `form:"metadata,omitempty" json:"metadata,omitempty"` + + // Projection Additional properties to include in the response. + Projection *ReviewsProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetReviewsByAssetParamsRules defines parameters for GetReviewsByAsset. +type GetReviewsByAssetParamsRules string + +// GetReviewsByAssetParamsProjection defines parameters for GetReviewsByAsset. +type GetReviewsByAssetParamsProjection string + +// PostReviewsByAssetJSONBody defines parameters for PostReviewsByAsset. +type PostReviewsByAssetJSONBody = []ReviewAssetPost + +// DeleteReviewByAssetRuleParams defines parameters for DeleteReviewByAssetRule. +type DeleteReviewByAssetRuleParams struct { + // Projection Additional properties to include in the response. + Projection *ReviewProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetReviewByAssetRuleParams defines parameters for GetReviewByAssetRule. +type GetReviewByAssetRuleParams struct { + // Projection Additional properties to include in the response. + Projection *ReviewProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// PatchReviewByAssetRuleParams defines parameters for PatchReviewByAssetRule. +type PatchReviewByAssetRuleParams struct { + // Projection Additional properties to include in the response. + Projection *ReviewProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// PutReviewByAssetRuleParams defines parameters for PutReviewByAssetRule. +type PutReviewByAssetRuleParams struct { + // Projection Additional properties to include in the response. + Projection *ReviewProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetStigsByCollectionParams defines parameters for GetStigsByCollection. +type GetStigsByCollectionParams struct { + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *LabelMatchQuery `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` + + // Projection Additional properties to include in the response. + Projection *CollectionStigProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetStigByCollectionParams defines parameters for GetStigByCollection. +type GetStigByCollectionParams struct { + // Projection Additional properties to include in the response. + Projection *CollectionStigProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// WriteStigPropsByCollectionStigJSONBody defines parameters for WriteStigPropsByCollectionStig. +type WriteStigPropsByCollectionStigJSONBody struct { + AssetIds *[]StringIntId `json:"assetIds,omitempty"` + DefaultRevisionStr *RevisionStr `json:"defaultRevisionStr,omitempty"` +} + +// WriteStigPropsByCollectionStigParams defines parameters for WriteStigPropsByCollectionStig. +type WriteStigPropsByCollectionStigParams struct { + // Projection Additional properties to include in the response. + Projection *CollectionStigProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetAssetsByStigParams defines parameters for GetAssetsByStig. +type GetAssetsByStigParams struct { + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // LabelMatch Selectes Assets without labels + LabelMatch *GetAssetsByStigParamsLabelMatch `form:"labelMatch,omitempty" json:"labelMatch,omitempty"` +} + +// GetAssetsByStigParamsLabelMatch defines parameters for GetAssetsByStig. +type GetAssetsByStigParamsLabelMatch string + +// AttachAssetsToStigJSONBody defines parameters for AttachAssetsToStig. +type AttachAssetsToStigJSONBody = []string + +// GetUnreviewedAssetsByCollectionParams defines parameters for GetUnreviewedAssetsByCollection. +type GetUnreviewedAssetsByCollectionParams struct { + // AssetId A query parameter that identifies an Asset + AssetId *AssetIdQuery `form:"assetId,omitempty" json:"assetId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Severity Selects Rules with the specified severity + Severity *RuleSeverityQuery `form:"severity,omitempty" json:"severity,omitempty"` + + // Projection Additional properties to include in the `unreviewed` objects. + Projection *UnreviewedAssetsProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetUnreviewedRulesByCollectionParams defines parameters for GetUnreviewedRulesByCollection. +type GetUnreviewedRulesByCollectionParams struct { + // RuleId Selects Reviews of a Rule + RuleId *RuleIdQuery `form:"ruleId,omitempty" json:"ruleId,omitempty"` + + // LabelId Selects Assets by labelId + LabelId *LabelIdQuery `form:"labelId,omitempty" json:"labelId,omitempty"` + + // LabelName Selectes Assets by label name + LabelName *LabelNameQuery `form:"labelName,omitempty" json:"labelName,omitempty"` + + // BenchmarkId A query parameter that identifies a STIG + BenchmarkId *BenchmarkIdQuery `form:"benchmarkId,omitempty" json:"benchmarkId,omitempty"` + + // Severity Selects Rules with the specified severity + Severity *RuleSeverityQuery `form:"severity,omitempty" json:"severity,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UnreviewedRulesProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetJobsParams defines parameters for GetJobs. +type GetJobsParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// PostJobParams defines parameters for PostJob. +type PostJobParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// DeleteRunByIdParams defines parameters for DeleteRunById. +type DeleteRunByIdParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetRunByIdParams defines parameters for GetRunById. +type GetRunByIdParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetOutputByRunParams defines parameters for GetOutputByRun. +type GetOutputByRunParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // AfterSeq The starting sequence number of the run output to retrieve. If not specified, all run output is returned. + AfterSeq *RunSequenceQuery `form:"after-seq,omitempty" json:"after-seq,omitempty"` +} + +// GetAllTasksParams defines parameters for GetAllTasks. +type GetAllTasksParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// DeleteJobParams defines parameters for DeleteJob. +type DeleteJobParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetJobParams defines parameters for GetJob. +type GetJobParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// PatchJobParams defines parameters for PatchJob. +type PatchJobParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetRunsByJobParams defines parameters for GetRunsByJob. +type GetRunsByJobParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// RunImmediateJobParams defines parameters for RunImmediateJob. +type RunImmediateJobParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetAppDataParams defines parameters for GetAppData. +type GetAppDataParams struct { + // Format The format of the appdata + Format *AppDataFormatQuery `form:"format,omitempty" json:"format,omitempty"` + + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// ReplaceAppDataParams defines parameters for ReplaceAppData. +type ReplaceAppDataParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetAppDataTablesParams defines parameters for GetAppDataTables. +type GetAppDataTablesParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetAppInfoParams defines parameters for GetAppInfo. +type GetAppInfoParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // IncludeRowCounts Include exact row counts for each table (slower) or use estimated counts (faster) + IncludeRowCounts *bool `form:"includeRowCounts,omitempty" json:"includeRowCounts,omitempty"` +} + +// GetDefinitionParams defines parameters for GetDefinition. +type GetDefinitionParams struct { + // Jsonpath A JSONPath expression + Jsonpath *JsonPathQuery `form:"jsonpath,omitempty" json:"jsonpath,omitempty"` +} + +// GetDetailsParams defines parameters for GetDetails. +type GetDetailsParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetSTIGsParams defines parameters for GetSTIGs. +type GetSTIGsParams struct { + // Title A string found anywhere in a STIG title + Title *string `form:"title,omitempty" json:"title,omitempty"` + + // Projection Additional properties to include in the response. + Projection *StigProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` + + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetSTIGsParamsProjection defines parameters for GetSTIGs. +type GetSTIGsParamsProjection string + +// ImportBenchmarkMultipartBody defines parameters for ImportBenchmark. +type ImportBenchmarkMultipartBody struct { + ImportFile *openapi_types.File `json:"importFile,omitempty"` +} + +// ImportBenchmarkParams defines parameters for ImportBenchmark. +type ImportBenchmarkParams struct { + // Clobber Should existing Revision data be overwritten + Clobber *bool `form:"clobber,omitempty" json:"clobber,omitempty"` + + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetCciParams defines parameters for GetCci. +type GetCciParams struct { + // Projection Additional properties to include in the response. + Projection *CciProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetCciParamsProjection defines parameters for GetCci. +type GetCciParamsProjection string + +// GetRuleByRuleIdParams defines parameters for GetRuleByRuleId. +type GetRuleByRuleIdParams struct { + // Projection Additional properties to include in the response. + Projection *RuleProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetRuleByRuleIdParamsProjection defines parameters for GetRuleByRuleId. +type GetRuleByRuleIdParamsProjection string + +// DeleteStigByIdParams defines parameters for DeleteStigById. +type DeleteStigByIdParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Force Force an action, such as a delete, that would otherwise not be permitted + Force *ForceQuery `form:"force,omitempty" json:"force,omitempty"` +} + +// GetStigByIdParams defines parameters for GetStigById. +type GetStigByIdParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetRevisionsByBenchmarkIdParams defines parameters for GetRevisionsByBenchmarkId. +type GetRevisionsByBenchmarkIdParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// DeleteRevisionByStringParams defines parameters for DeleteRevisionByString. +type DeleteRevisionByStringParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Force Force an action, such as a delete, that would otherwise not be permitted + Force *ForceQuery `form:"force,omitempty" json:"force,omitempty"` +} + +// GetRevisionByStringParams defines parameters for GetRevisionByString. +type GetRevisionByStringParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` +} + +// GetGroupsByRevisionParams defines parameters for GetGroupsByRevision. +type GetGroupsByRevisionParams struct { + // Projection Additional properties to include in the response. + Projection *GroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetGroupsByRevisionParamsProjection defines parameters for GetGroupsByRevision. +type GetGroupsByRevisionParamsProjection string + +// GetGroupByRevisionParams defines parameters for GetGroupByRevision. +type GetGroupByRevisionParams struct { + // Projection Additional properties to include in the response. + Projection *GroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetGroupByRevisionParamsProjection defines parameters for GetGroupByRevision. +type GetGroupByRevisionParamsProjection string + +// GetRulesByRevisionParams defines parameters for GetRulesByRevision. +type GetRulesByRevisionParams struct { + // Projection Additional properties to include in the response. + Projection *RuleProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetRulesByRevisionParamsProjection defines parameters for GetRulesByRevision. +type GetRulesByRevisionParamsProjection string + +// GetRuleByRevisionParams defines parameters for GetRuleByRevision. +type GetRuleByRevisionParams struct { + // Projection Additional properties to include in the response. + Projection *RuleProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetRuleByRevisionParamsProjection defines parameters for GetRuleByRevision. +type GetRuleByRevisionParamsProjection string + +// GetUserParams defines parameters for GetUser. +type GetUserParams struct { + // Projection A query parameter that identifies a UserPreference + Projection *UserPreferenceQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetUserGroupsParams defines parameters for GetUserGroups. +type GetUserGroupsParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserGroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetUserGroupsParamsProjection defines parameters for GetUserGroups. +type GetUserGroupsParamsProjection string + +// CreateUserGroupParams defines parameters for CreateUserGroup. +type CreateUserGroupParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserGroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// CreateUserGroupParamsProjection defines parameters for CreateUserGroup. +type CreateUserGroupParamsProjection string + +// DeleteUserGroupParams defines parameters for DeleteUserGroup. +type DeleteUserGroupParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserGroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// DeleteUserGroupParamsProjection defines parameters for DeleteUserGroup. +type DeleteUserGroupParamsProjection string + +// GetUserGroupParams defines parameters for GetUserGroup. +type GetUserGroupParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserGroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetUserGroupParamsProjection defines parameters for GetUserGroup. +type GetUserGroupParamsProjection string + +// PatchUserGroupParams defines parameters for PatchUserGroup. +type PatchUserGroupParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserGroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// PatchUserGroupParamsProjection defines parameters for PatchUserGroup. +type PatchUserGroupParamsProjection string + +// PutUserGroupParams defines parameters for PutUserGroup. +type PutUserGroupParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserGroupProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// PutUserGroupParamsProjection defines parameters for PutUserGroup. +type PutUserGroupParamsProjection string + +// GetUsersParams defines parameters for GetUsers. +type GetUsersParams struct { + // Username Matches against the username according to the `username-match` parameter + Username *UsernameQuery `form:"username,omitempty" json:"username,omitempty"` + + // Privilege Selects Users with the specified privilege + Privilege *GetUsersParamsPrivilege `form:"privilege,omitempty" json:"privilege,omitempty"` + + // UsernameMatch How to match against the `username` parameter + UsernameMatch *GetUsersParamsUsernameMatch `form:"username-match,omitempty" json:"username-match,omitempty"` + + // Status A query parameter that identifies a UserStatus + Status *UserStatusQuery `form:"status,omitempty" json:"status,omitempty"` + + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetUsersParamsPrivilege defines parameters for GetUsers. +type GetUsersParamsPrivilege string + +// GetUsersParamsUsernameMatch defines parameters for GetUsers. +type GetUsersParamsUsernameMatch string + +// CreateUserParams defines parameters for CreateUser. +type CreateUserParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// DeleteUserParams defines parameters for DeleteUser. +type DeleteUserParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// GetUserByUserIdParams defines parameters for GetUserByUserId. +type GetUserByUserIdParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// UpdateUserParams defines parameters for UpdateUser. +type UpdateUserParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// ReplaceUserParams defines parameters for ReplaceUser. +type ReplaceUserParams struct { + // Elevate Elevate the user context for this request if user is permitted (canAdmin) + Elevate *ElevateQuery `form:"elevate,omitempty" json:"elevate,omitempty"` + + // Projection Additional properties to include in the response. + Projection *UserProjectionQuery `form:"projection,omitempty" json:"projection,omitempty"` +} + +// PatchAssetsJSONRequestBody defines body for PatchAssets for application/json ContentType. +type PatchAssetsJSONRequestBody = AssetsPatchRequest + +// CreateAssetJSONRequestBody defines body for CreateAsset for application/json ContentType. +type CreateAssetJSONRequestBody = AssetCreateOrReplace + +// UpdateAssetJSONRequestBody defines body for UpdateAsset for application/json ContentType. +type UpdateAssetJSONRequestBody = AssetUpdate + +// ReplaceAssetJSONRequestBody defines body for ReplaceAsset for application/json ContentType. +type ReplaceAssetJSONRequestBody = AssetCreateOrReplace + +// PatchAssetMetadataJSONRequestBody defines body for PatchAssetMetadata for application/json ContentType. +type PatchAssetMetadataJSONRequestBody = Metadata + +// PutAssetMetadataJSONRequestBody defines body for PutAssetMetadata for application/json ContentType. +type PutAssetMetadataJSONRequestBody = Metadata + +// PutAssetMetadataValueJSONRequestBody defines body for PutAssetMetadataValue for application/json ContentType. +type PutAssetMetadataValueJSONRequestBody = MetadataValue + +// CreateCollectionJSONRequestBody defines body for CreateCollection for application/json ContentType. +type CreateCollectionJSONRequestBody = CollectionCreateOrReplace + +// UpdateCollectionJSONRequestBody defines body for UpdateCollection for application/json ContentType. +type UpdateCollectionJSONRequestBody = CollectionUpdate + +// ReplaceCollectionJSONRequestBody defines body for ReplaceCollection for application/json ContentType. +type ReplaceCollectionJSONRequestBody = CollectionCreateOrReplace + +// PostCklArchiveByCollectionJSONRequestBody defines body for PostCklArchiveByCollection for application/json ContentType. +type PostCklArchiveByCollectionJSONRequestBody = PostCklArchiveByCollectionJSONBody + +// PostCklbArchiveByCollectionJSONRequestBody defines body for PostCklbArchiveByCollection for application/json ContentType. +type PostCklbArchiveByCollectionJSONRequestBody = PostCklbArchiveByCollectionJSONBody + +// PostXccdfArchiveByCollectionJSONRequestBody defines body for PostXccdfArchiveByCollection for application/json ContentType. +type PostXccdfArchiveByCollectionJSONRequestBody = PostXccdfArchiveByCollectionJSONBody + +// CreateAssetsJSONRequestBody defines body for CreateAssets for application/json ContentType. +type CreateAssetsJSONRequestBody = AssetCreateBatch + +// CloneCollectionJSONRequestBody defines body for CloneCollection for application/json ContentType. +type CloneCollectionJSONRequestBody = CollectionCloneRequest + +// ExportToCollectionJSONRequestBody defines body for ExportToCollection for application/json ContentType. +type ExportToCollectionJSONRequestBody = ExportToCollectionJSONBody + +// PostGrantsByCollectionJSONRequestBody defines body for PostGrantsByCollection for application/json ContentType. +type PostGrantsByCollectionJSONRequestBody = PostGrantsByCollectionJSONBody + +// PutGrantByCollectionGrantJSONRequestBody defines body for PutGrantByCollectionGrant for application/json ContentType. +type PutGrantByCollectionGrantJSONRequestBody PutGrantByCollectionGrantJSONBody + +// PutAclRulesByCollectionGrantJSONRequestBody defines body for PutAclRulesByCollectionGrant for application/json ContentType. +type PutAclRulesByCollectionGrantJSONRequestBody = PutAclRulesByCollectionGrantJSONBody + +// CreateCollectionLabelJSONRequestBody defines body for CreateCollectionLabel for application/json ContentType. +type CreateCollectionLabelJSONRequestBody = LabelCreate + +// CreateCollectionLabelsJSONRequestBody defines body for CreateCollectionLabels for application/json ContentType. +type CreateCollectionLabelsJSONRequestBody = CreateCollectionLabelsJSONBody + +// PatchCollectionLabelByIdJSONRequestBody defines body for PatchCollectionLabelById for application/json ContentType. +type PatchCollectionLabelByIdJSONRequestBody = LabelUpdate + +// PutAssetsByCollectionLabelIdJSONRequestBody defines body for PutAssetsByCollectionLabelId for application/json ContentType. +type PutAssetsByCollectionLabelIdJSONRequestBody = PutAssetsByCollectionLabelIdJSONBody + +// PatchCollectionMetadataJSONRequestBody defines body for PatchCollectionMetadata for application/json ContentType. +type PatchCollectionMetadataJSONRequestBody = Metadata + +// PutCollectionMetadataJSONRequestBody defines body for PutCollectionMetadata for application/json ContentType. +type PutCollectionMetadataJSONRequestBody = Metadata + +// PutCollectionMetadataValueJSONRequestBody defines body for PutCollectionMetadataValue for application/json ContentType. +type PutCollectionMetadataValueJSONRequestBody = MetadataValue + +// PostReviewBatchJSONRequestBody defines body for PostReviewBatch for application/json ContentType. +type PostReviewBatchJSONRequestBody = ReviewBatch + +// PostReviewsByAssetJSONRequestBody defines body for PostReviewsByAsset for application/json ContentType. +type PostReviewsByAssetJSONRequestBody = PostReviewsByAssetJSONBody + +// PatchReviewByAssetRuleJSONRequestBody defines body for PatchReviewByAssetRule for application/json ContentType. +type PatchReviewByAssetRuleJSONRequestBody = ReviewAssetRulePatch + +// PutReviewByAssetRuleJSONRequestBody defines body for PutReviewByAssetRule for application/json ContentType. +type PutReviewByAssetRuleJSONRequestBody = ReviewAssetRulePut + +// PatchReviewMetadataJSONRequestBody defines body for PatchReviewMetadata for application/json ContentType. +type PatchReviewMetadataJSONRequestBody = Metadata + +// PutReviewMetadataJSONRequestBody defines body for PutReviewMetadata for application/json ContentType. +type PutReviewMetadataJSONRequestBody = Metadata + +// PutReviewMetadataValueJSONRequestBody defines body for PutReviewMetadataValue for application/json ContentType. +type PutReviewMetadataValueJSONRequestBody = MetadataValue + +// WriteStigPropsByCollectionStigJSONRequestBody defines body for WriteStigPropsByCollectionStig for application/json ContentType. +type WriteStigPropsByCollectionStigJSONRequestBody WriteStigPropsByCollectionStigJSONBody + +// AttachAssetsToStigJSONRequestBody defines body for AttachAssetsToStig for application/json ContentType. +type AttachAssetsToStigJSONRequestBody = AttachAssetsToStigJSONBody + +// PostJobJSONRequestBody defines body for PostJob for application/json ContentType. +type PostJobJSONRequestBody = JobCreate + +// PatchJobJSONRequestBody defines body for PatchJob for application/json ContentType. +type PatchJobJSONRequestBody = JobUpdate + +// ImportBenchmarkMultipartRequestBody defines body for ImportBenchmark for multipart/form-data ContentType. +type ImportBenchmarkMultipartRequestBody ImportBenchmarkMultipartBody + +// CreateUserGroupJSONRequestBody defines body for CreateUserGroup for application/json ContentType. +type CreateUserGroupJSONRequestBody = UserGroupPostOrPut + +// PatchUserGroupJSONRequestBody defines body for PatchUserGroup for application/json ContentType. +type PatchUserGroupJSONRequestBody = UserGroupPatch + +// PutUserGroupJSONRequestBody defines body for PutUserGroup for application/json ContentType. +type PutUserGroupJSONRequestBody = UserGroupPostOrPut + +// PatchUserWebPreferencesJSONRequestBody defines body for PatchUserWebPreferences for application/json ContentType. +type PatchUserWebPreferencesJSONRequestBody = WebPreferencesPatch + +// CreateUserJSONRequestBody defines body for CreateUser for application/json ContentType. +type CreateUserJSONRequestBody = UserPost + +// UpdateUserJSONRequestBody defines body for UpdateUser for application/json ContentType. +type UpdateUserJSONRequestBody = UserPatch + +// ReplaceUserJSONRequestBody defines body for ReplaceUser for application/json ContentType. +type ReplaceUserJSONRequestBody = UserPut + +// AsAclRuleAssetBasic returns the union data inside the AclRuleBasic as a AclRuleAssetBasic +func (t AclRuleBasic) AsAclRuleAssetBasic() (AclRuleAssetBasic, error) { + var body AclRuleAssetBasic + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromAclRuleAssetBasic overwrites any union data inside the AclRuleBasic as the provided AclRuleAssetBasic +func (t *AclRuleBasic) FromAclRuleAssetBasic(v AclRuleAssetBasic) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeAclRuleAssetBasic performs a merge with any union data inside the AclRuleBasic, using the provided AclRuleAssetBasic +func (t *AclRuleBasic) MergeAclRuleAssetBasic(v AclRuleAssetBasic) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsAclRuleLabel returns the union data inside the AclRuleBasic as a AclRuleLabel +func (t AclRuleBasic) AsAclRuleLabel() (AclRuleLabel, error) { + var body AclRuleLabel + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromAclRuleLabel overwrites any union data inside the AclRuleBasic as the provided AclRuleLabel +func (t *AclRuleBasic) FromAclRuleLabel(v AclRuleLabel) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeAclRuleLabel performs a merge with any union data inside the AclRuleBasic, using the provided AclRuleLabel +func (t *AclRuleBasic) MergeAclRuleLabel(v AclRuleLabel) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t AclRuleBasic) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *AclRuleBasic) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsAclRuleAssetPut returns the union data inside the AclRulePut as a AclRuleAssetPut +func (t AclRulePut) AsAclRuleAssetPut() (AclRuleAssetPut, error) { + var body AclRuleAssetPut + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromAclRuleAssetPut overwrites any union data inside the AclRulePut as the provided AclRuleAssetPut +func (t *AclRulePut) FromAclRuleAssetPut(v AclRuleAssetPut) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeAclRuleAssetPut performs a merge with any union data inside the AclRulePut, using the provided AclRuleAssetPut +func (t *AclRulePut) MergeAclRuleAssetPut(v AclRuleAssetPut) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsAclRuleLabelPut returns the union data inside the AclRulePut as a AclRuleLabelPut +func (t AclRulePut) AsAclRuleLabelPut() (AclRuleLabelPut, error) { + var body AclRuleLabelPut + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromAclRuleLabelPut overwrites any union data inside the AclRulePut as the provided AclRuleLabelPut +func (t *AclRulePut) FromAclRuleLabelPut(v AclRuleLabelPut) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeAclRuleLabelPut performs a merge with any union data inside the AclRulePut, using the provided AclRuleLabelPut +func (t *AclRulePut) MergeAclRuleLabelPut(v AclRuleLabelPut) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t AclRulePut) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *AclRulePut) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsAclRuleAssetBasic returns the union data inside the AclSource_AclRule as a AclRuleAssetBasic +func (t AclSource_AclRule) AsAclRuleAssetBasic() (AclRuleAssetBasic, error) { + var body AclRuleAssetBasic + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromAclRuleAssetBasic overwrites any union data inside the AclSource_AclRule as the provided AclRuleAssetBasic +func (t *AclSource_AclRule) FromAclRuleAssetBasic(v AclRuleAssetBasic) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeAclRuleAssetBasic performs a merge with any union data inside the AclSource_AclRule, using the provided AclRuleAssetBasic +func (t *AclSource_AclRule) MergeAclRuleAssetBasic(v AclRuleAssetBasic) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsAclRuleLabelBasic returns the union data inside the AclSource_AclRule as a AclRuleLabelBasic +func (t AclSource_AclRule) AsAclRuleLabelBasic() (AclRuleLabelBasic, error) { + var body AclRuleLabelBasic + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromAclRuleLabelBasic overwrites any union data inside the AclSource_AclRule as the provided AclRuleLabelBasic +func (t *AclSource_AclRule) FromAclRuleLabelBasic(v AclRuleLabelBasic) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeAclRuleLabelBasic performs a merge with any union data inside the AclSource_AclRule, using the provided AclRuleLabelBasic +func (t *AclSource_AclRule) MergeAclRuleLabelBasic(v AclRuleLabelBasic) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t AclSource_AclRule) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *AclSource_AclRule) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsApiDefinition0 returns the union data inside the ApiDefinition as a ApiDefinition0 +func (t ApiDefinition) AsApiDefinition0() (ApiDefinition0, error) { + var body ApiDefinition0 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromApiDefinition0 overwrites any union data inside the ApiDefinition as the provided ApiDefinition0 +func (t *ApiDefinition) FromApiDefinition0(v ApiDefinition0) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeApiDefinition0 performs a merge with any union data inside the ApiDefinition, using the provided ApiDefinition0 +func (t *ApiDefinition) MergeApiDefinition0(v ApiDefinition0) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsApiDefinition1 returns the union data inside the ApiDefinition as a ApiDefinition1 +func (t ApiDefinition) AsApiDefinition1() (ApiDefinition1, error) { + var body ApiDefinition1 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromApiDefinition1 overwrites any union data inside the ApiDefinition as the provided ApiDefinition1 +func (t *ApiDefinition) FromApiDefinition1(v ApiDefinition1) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeApiDefinition1 performs a merge with any union data inside the ApiDefinition, using the provided ApiDefinition1 +func (t *ApiDefinition) MergeApiDefinition1(v ApiDefinition1) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t ApiDefinition) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *ApiDefinition) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsRevisionBasic returns the union data inside the AssetStigSelection_Stigs_Item as a RevisionBasic +func (t AssetStigSelection_Stigs_Item) AsRevisionBasic() (RevisionBasic, error) { + var body RevisionBasic + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromRevisionBasic overwrites any union data inside the AssetStigSelection_Stigs_Item as the provided RevisionBasic +func (t *AssetStigSelection_Stigs_Item) FromRevisionBasic(v RevisionBasic) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeRevisionBasic performs a merge with any union data inside the AssetStigSelection_Stigs_Item, using the provided RevisionBasic +func (t *AssetStigSelection_Stigs_Item) MergeRevisionBasic(v RevisionBasic) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsString255 returns the union data inside the AssetStigSelection_Stigs_Item as a String255 +func (t AssetStigSelection_Stigs_Item) AsString255() (String255, error) { + var body String255 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromString255 overwrites any union data inside the AssetStigSelection_Stigs_Item as the provided String255 +func (t *AssetStigSelection_Stigs_Item) FromString255(v String255) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeString255 performs a merge with any union data inside the AssetStigSelection_Stigs_Item, using the provided String255 +func (t *AssetStigSelection_Stigs_Item) MergeString255(v String255) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t AssetStigSelection_Stigs_Item) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *AssetStigSelection_Stigs_Item) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserGrant returns the union data inside the CollectionCreateOrReplace_Grants_Item as a UserGrant +func (t CollectionCreateOrReplace_Grants_Item) AsUserGrant() (UserGrant, error) { + var body UserGrant + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGrant overwrites any union data inside the CollectionCreateOrReplace_Grants_Item as the provided UserGrant +func (t *CollectionCreateOrReplace_Grants_Item) FromUserGrant(v UserGrant) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGrant performs a merge with any union data inside the CollectionCreateOrReplace_Grants_Item, using the provided UserGrant +func (t *CollectionCreateOrReplace_Grants_Item) MergeUserGrant(v UserGrant) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroupGrant returns the union data inside the CollectionCreateOrReplace_Grants_Item as a UserGroupGrant +func (t CollectionCreateOrReplace_Grants_Item) AsUserGroupGrant() (UserGroupGrant, error) { + var body UserGroupGrant + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroupGrant overwrites any union data inside the CollectionCreateOrReplace_Grants_Item as the provided UserGroupGrant +func (t *CollectionCreateOrReplace_Grants_Item) FromUserGroupGrant(v UserGroupGrant) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroupGrant performs a merge with any union data inside the CollectionCreateOrReplace_Grants_Item, using the provided UserGroupGrant +func (t *CollectionCreateOrReplace_Grants_Item) MergeUserGroupGrant(v UserGroupGrant) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t CollectionCreateOrReplace_Grants_Item) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *CollectionCreateOrReplace_Grants_Item) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsCollectionFieldEnabledAlways returns the union data inside the CollectionFieldSetting as a CollectionFieldEnabledAlways +func (t CollectionFieldSetting) AsCollectionFieldEnabledAlways() (CollectionFieldEnabledAlways, error) { + var body CollectionFieldEnabledAlways + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromCollectionFieldEnabledAlways overwrites any union data inside the CollectionFieldSetting as the provided CollectionFieldEnabledAlways +func (t *CollectionFieldSetting) FromCollectionFieldEnabledAlways(v CollectionFieldEnabledAlways) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeCollectionFieldEnabledAlways performs a merge with any union data inside the CollectionFieldSetting, using the provided CollectionFieldEnabledAlways +func (t *CollectionFieldSetting) MergeCollectionFieldEnabledAlways(v CollectionFieldEnabledAlways) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsCollectionFieldEnabledFindings returns the union data inside the CollectionFieldSetting as a CollectionFieldEnabledFindings +func (t CollectionFieldSetting) AsCollectionFieldEnabledFindings() (CollectionFieldEnabledFindings, error) { + var body CollectionFieldEnabledFindings + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromCollectionFieldEnabledFindings overwrites any union data inside the CollectionFieldSetting as the provided CollectionFieldEnabledFindings +func (t *CollectionFieldSetting) FromCollectionFieldEnabledFindings(v CollectionFieldEnabledFindings) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeCollectionFieldEnabledFindings performs a merge with any union data inside the CollectionFieldSetting, using the provided CollectionFieldEnabledFindings +func (t *CollectionFieldSetting) MergeCollectionFieldEnabledFindings(v CollectionFieldEnabledFindings) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t CollectionFieldSetting) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *CollectionFieldSetting) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserGrantProjected returns the union data inside the CollectionProjected_Grants_Item as a UserGrantProjected +func (t CollectionProjected_Grants_Item) AsUserGrantProjected() (UserGrantProjected, error) { + var body UserGrantProjected + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGrantProjected overwrites any union data inside the CollectionProjected_Grants_Item as the provided UserGrantProjected +func (t *CollectionProjected_Grants_Item) FromUserGrantProjected(v UserGrantProjected) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGrantProjected performs a merge with any union data inside the CollectionProjected_Grants_Item, using the provided UserGrantProjected +func (t *CollectionProjected_Grants_Item) MergeUserGrantProjected(v UserGrantProjected) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroupGrantProjected returns the union data inside the CollectionProjected_Grants_Item as a UserGroupGrantProjected +func (t CollectionProjected_Grants_Item) AsUserGroupGrantProjected() (UserGroupGrantProjected, error) { + var body UserGroupGrantProjected + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroupGrantProjected overwrites any union data inside the CollectionProjected_Grants_Item as the provided UserGroupGrantProjected +func (t *CollectionProjected_Grants_Item) FromUserGroupGrantProjected(v UserGroupGrantProjected) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroupGrantProjected performs a merge with any union data inside the CollectionProjected_Grants_Item, using the provided UserGroupGrantProjected +func (t *CollectionProjected_Grants_Item) MergeUserGroupGrantProjected(v UserGroupGrantProjected) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t CollectionProjected_Grants_Item) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *CollectionProjected_Grants_Item) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserGrantProjected returns the union data inside the Grant as a UserGrantProjected +func (t Grant) AsUserGrantProjected() (UserGrantProjected, error) { + var body UserGrantProjected + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGrantProjected overwrites any union data inside the Grant as the provided UserGrantProjected +func (t *Grant) FromUserGrantProjected(v UserGrantProjected) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGrantProjected performs a merge with any union data inside the Grant, using the provided UserGrantProjected +func (t *Grant) MergeUserGrantProjected(v UserGrantProjected) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroupGrantProjected returns the union data inside the Grant as a UserGroupGrantProjected +func (t Grant) AsUserGroupGrantProjected() (UserGroupGrantProjected, error) { + var body UserGroupGrantProjected + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroupGrantProjected overwrites any union data inside the Grant as the provided UserGroupGrantProjected +func (t *Grant) FromUserGroupGrantProjected(v UserGroupGrantProjected) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroupGrantProjected performs a merge with any union data inside the Grant, using the provided UserGroupGrantProjected +func (t *Grant) MergeUserGroupGrantProjected(v UserGroupGrantProjected) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t Grant) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *Grant) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserGrant returns the union data inside the GrantPost as a UserGrant +func (t GrantPost) AsUserGrant() (UserGrant, error) { + var body UserGrant + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGrant overwrites any union data inside the GrantPost as the provided UserGrant +func (t *GrantPost) FromUserGrant(v UserGrant) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGrant performs a merge with any union data inside the GrantPost, using the provided UserGrant +func (t *GrantPost) MergeUserGrant(v UserGrant) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroupGrant returns the union data inside the GrantPost as a UserGroupGrant +func (t GrantPost) AsUserGroupGrant() (UserGroupGrant, error) { + var body UserGroupGrant + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroupGrant overwrites any union data inside the GrantPost as the provided UserGroupGrant +func (t *GrantPost) FromUserGroupGrant(v UserGroupGrant) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroupGrant performs a merge with any union data inside the GrantPost, using the provided UserGroupGrant +func (t *GrantPost) MergeUserGroupGrant(v UserGroupGrant) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t GrantPost) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *GrantPost) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserBasic returns the union data inside the Grantee as a UserBasic +func (t Grantee) AsUserBasic() (UserBasic, error) { + var body UserBasic + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserBasic overwrites any union data inside the Grantee as the provided UserBasic +func (t *Grantee) FromUserBasic(v UserBasic) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserBasic performs a merge with any union data inside the Grantee, using the provided UserBasic +func (t *Grantee) MergeUserBasic(v UserBasic) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroupBasic returns the union data inside the Grantee as a UserGroupBasic +func (t Grantee) AsUserGroupBasic() (UserGroupBasic, error) { + var body UserGroupBasic + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroupBasic overwrites any union data inside the Grantee as the provided UserGroupBasic +func (t *Grantee) FromUserGroupBasic(v UserGroupBasic) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroupBasic performs a merge with any union data inside the Grantee, using the provided UserGroupBasic +func (t *Grantee) MergeUserGroupBasic(v UserGroupBasic) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t Grantee) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *Grantee) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsJobEvent0 returns the union data inside the JobEvent as a JobEvent0 +func (t JobEvent) AsJobEvent0() (JobEvent0, error) { + var body JobEvent0 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromJobEvent0 overwrites any union data inside the JobEvent as the provided JobEvent0 +func (t *JobEvent) FromJobEvent0(v JobEvent0) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeJobEvent0 performs a merge with any union data inside the JobEvent, using the provided JobEvent0 +func (t *JobEvent) MergeJobEvent0(v JobEvent0) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsJobEventRecurring returns the union data inside the JobEvent as a JobEventRecurring +func (t JobEvent) AsJobEventRecurring() (JobEventRecurring, error) { + var body JobEventRecurring + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromJobEventRecurring overwrites any union data inside the JobEvent as the provided JobEventRecurring +func (t *JobEvent) FromJobEventRecurring(v JobEventRecurring) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeJobEventRecurring performs a merge with any union data inside the JobEvent, using the provided JobEventRecurring +func (t *JobEvent) MergeJobEventRecurring(v JobEventRecurring) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsJobEventOnce returns the union data inside the JobEvent as a JobEventOnce +func (t JobEvent) AsJobEventOnce() (JobEventOnce, error) { + var body JobEventOnce + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromJobEventOnce overwrites any union data inside the JobEvent as the provided JobEventOnce +func (t *JobEvent) FromJobEventOnce(v JobEventOnce) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeJobEventOnce performs a merge with any union data inside the JobEvent, using the provided JobEventOnce +func (t *JobEvent) MergeJobEventOnce(v JobEventOnce) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t JobEvent) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *JobEvent) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsJobEventRecurringCreate returns the union data inside the JobEventCreate as a JobEventRecurringCreate +func (t JobEventCreate) AsJobEventRecurringCreate() (JobEventRecurringCreate, error) { + var body JobEventRecurringCreate + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromJobEventRecurringCreate overwrites any union data inside the JobEventCreate as the provided JobEventRecurringCreate +func (t *JobEventCreate) FromJobEventRecurringCreate(v JobEventRecurringCreate) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeJobEventRecurringCreate performs a merge with any union data inside the JobEventCreate, using the provided JobEventRecurringCreate +func (t *JobEventCreate) MergeJobEventRecurringCreate(v JobEventRecurringCreate) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsJobEventOnceCreate returns the union data inside the JobEventCreate as a JobEventOnceCreate +func (t JobEventCreate) AsJobEventOnceCreate() (JobEventOnceCreate, error) { + var body JobEventOnceCreate + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromJobEventOnceCreate overwrites any union data inside the JobEventCreate as the provided JobEventOnceCreate +func (t *JobEventCreate) FromJobEventOnceCreate(v JobEventOnceCreate) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeJobEventOnceCreate performs a merge with any union data inside the JobEventCreate, using the provided JobEventOnceCreate +func (t *JobEventCreate) MergeJobEventOnceCreate(v JobEventOnceCreate) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsJobEventCreate2 returns the union data inside the JobEventCreate as a JobEventCreate2 +func (t JobEventCreate) AsJobEventCreate2() (JobEventCreate2, error) { + var body JobEventCreate2 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromJobEventCreate2 overwrites any union data inside the JobEventCreate as the provided JobEventCreate2 +func (t *JobEventCreate) FromJobEventCreate2(v JobEventCreate2) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeJobEventCreate2 performs a merge with any union data inside the JobEventCreate, using the provided JobEventCreate2 +func (t *JobEventCreate) MergeJobEventCreate2(v JobEventCreate2) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t JobEventCreate) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *JobEventCreate) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserBasicWithDisplayName returns the union data inside the Owner as a UserBasicWithDisplayName +func (t Owner) AsUserBasicWithDisplayName() (UserBasicWithDisplayName, error) { + var body UserBasicWithDisplayName + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserBasicWithDisplayName overwrites any union data inside the Owner as the provided UserBasicWithDisplayName +func (t *Owner) FromUserBasicWithDisplayName(v UserBasicWithDisplayName) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserBasicWithDisplayName performs a merge with any union data inside the Owner, using the provided UserBasicWithDisplayName +func (t *Owner) MergeUserBasicWithDisplayName(v UserBasicWithDisplayName) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroup returns the union data inside the Owner as a UserGroup +func (t Owner) AsUserGroup() (UserGroup, error) { + var body UserGroup + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroup overwrites any union data inside the Owner as the provided UserGroup +func (t *Owner) FromUserGroup(v UserGroup) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroup performs a merge with any union data inside the Owner, using the provided UserGroup +func (t *Owner) MergeUserGroup(v UserGroup) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t Owner) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *Owner) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsReviewBatchCriteriaAssetIds returns the union data inside the ReviewBatchAssetsCriteria as a ReviewBatchCriteriaAssetIds +func (t ReviewBatchAssetsCriteria) AsReviewBatchCriteriaAssetIds() (ReviewBatchCriteriaAssetIds, error) { + var body ReviewBatchCriteriaAssetIds + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchCriteriaAssetIds overwrites any union data inside the ReviewBatchAssetsCriteria as the provided ReviewBatchCriteriaAssetIds +func (t *ReviewBatchAssetsCriteria) FromReviewBatchCriteriaAssetIds(v ReviewBatchCriteriaAssetIds) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchCriteriaAssetIds performs a merge with any union data inside the ReviewBatchAssetsCriteria, using the provided ReviewBatchCriteriaAssetIds +func (t *ReviewBatchAssetsCriteria) MergeReviewBatchCriteriaAssetIds(v ReviewBatchCriteriaAssetIds) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchCriteriaBenchmarkIds returns the union data inside the ReviewBatchAssetsCriteria as a ReviewBatchCriteriaBenchmarkIds +func (t ReviewBatchAssetsCriteria) AsReviewBatchCriteriaBenchmarkIds() (ReviewBatchCriteriaBenchmarkIds, error) { + var body ReviewBatchCriteriaBenchmarkIds + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchCriteriaBenchmarkIds overwrites any union data inside the ReviewBatchAssetsCriteria as the provided ReviewBatchCriteriaBenchmarkIds +func (t *ReviewBatchAssetsCriteria) FromReviewBatchCriteriaBenchmarkIds(v ReviewBatchCriteriaBenchmarkIds) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchCriteriaBenchmarkIds performs a merge with any union data inside the ReviewBatchAssetsCriteria, using the provided ReviewBatchCriteriaBenchmarkIds +func (t *ReviewBatchAssetsCriteria) MergeReviewBatchCriteriaBenchmarkIds(v ReviewBatchCriteriaBenchmarkIds) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t ReviewBatchAssetsCriteria) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *ReviewBatchAssetsCriteria) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsReviewBatchFilterString returns the union data inside the ReviewBatchFilter as a ReviewBatchFilterString +func (t ReviewBatchFilter) AsReviewBatchFilterString() (ReviewBatchFilterString, error) { + var body ReviewBatchFilterString + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchFilterString overwrites any union data inside the ReviewBatchFilter as the provided ReviewBatchFilterString +func (t *ReviewBatchFilter) FromReviewBatchFilterString(v ReviewBatchFilterString) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchFilterString performs a merge with any union data inside the ReviewBatchFilter, using the provided ReviewBatchFilterString +func (t *ReviewBatchFilter) MergeReviewBatchFilterString(v ReviewBatchFilterString) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchFilterResult returns the union data inside the ReviewBatchFilter as a ReviewBatchFilterResult +func (t ReviewBatchFilter) AsReviewBatchFilterResult() (ReviewBatchFilterResult, error) { + var body ReviewBatchFilterResult + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchFilterResult overwrites any union data inside the ReviewBatchFilter as the provided ReviewBatchFilterResult +func (t *ReviewBatchFilter) FromReviewBatchFilterResult(v ReviewBatchFilterResult) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchFilterResult performs a merge with any union data inside the ReviewBatchFilter, using the provided ReviewBatchFilterResult +func (t *ReviewBatchFilter) MergeReviewBatchFilterResult(v ReviewBatchFilterResult) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchFilterStatus returns the union data inside the ReviewBatchFilter as a ReviewBatchFilterStatus +func (t ReviewBatchFilter) AsReviewBatchFilterStatus() (ReviewBatchFilterStatus, error) { + var body ReviewBatchFilterStatus + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchFilterStatus overwrites any union data inside the ReviewBatchFilter as the provided ReviewBatchFilterStatus +func (t *ReviewBatchFilter) FromReviewBatchFilterStatus(v ReviewBatchFilterStatus) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchFilterStatus performs a merge with any union data inside the ReviewBatchFilter, using the provided ReviewBatchFilterStatus +func (t *ReviewBatchFilter) MergeReviewBatchFilterStatus(v ReviewBatchFilterStatus) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchFilterDate returns the union data inside the ReviewBatchFilter as a ReviewBatchFilterDate +func (t ReviewBatchFilter) AsReviewBatchFilterDate() (ReviewBatchFilterDate, error) { + var body ReviewBatchFilterDate + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchFilterDate overwrites any union data inside the ReviewBatchFilter as the provided ReviewBatchFilterDate +func (t *ReviewBatchFilter) FromReviewBatchFilterDate(v ReviewBatchFilterDate) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchFilterDate performs a merge with any union data inside the ReviewBatchFilter, using the provided ReviewBatchFilterDate +func (t *ReviewBatchFilter) MergeReviewBatchFilterDate(v ReviewBatchFilterDate) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchFilterUser returns the union data inside the ReviewBatchFilter as a ReviewBatchFilterUser +func (t ReviewBatchFilter) AsReviewBatchFilterUser() (ReviewBatchFilterUser, error) { + var body ReviewBatchFilterUser + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchFilterUser overwrites any union data inside the ReviewBatchFilter as the provided ReviewBatchFilterUser +func (t *ReviewBatchFilter) FromReviewBatchFilterUser(v ReviewBatchFilterUser) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchFilterUser performs a merge with any union data inside the ReviewBatchFilter, using the provided ReviewBatchFilterUser +func (t *ReviewBatchFilter) MergeReviewBatchFilterUser(v ReviewBatchFilterUser) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t ReviewBatchFilter) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *ReviewBatchFilter) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsReviewBatchCriteriaRuleIds returns the union data inside the ReviewBatchRulesCriteria as a ReviewBatchCriteriaRuleIds +func (t ReviewBatchRulesCriteria) AsReviewBatchCriteriaRuleIds() (ReviewBatchCriteriaRuleIds, error) { + var body ReviewBatchCriteriaRuleIds + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchCriteriaRuleIds overwrites any union data inside the ReviewBatchRulesCriteria as the provided ReviewBatchCriteriaRuleIds +func (t *ReviewBatchRulesCriteria) FromReviewBatchCriteriaRuleIds(v ReviewBatchCriteriaRuleIds) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchCriteriaRuleIds performs a merge with any union data inside the ReviewBatchRulesCriteria, using the provided ReviewBatchCriteriaRuleIds +func (t *ReviewBatchRulesCriteria) MergeReviewBatchCriteriaRuleIds(v ReviewBatchCriteriaRuleIds) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchCriteriaBenchmarkIds returns the union data inside the ReviewBatchRulesCriteria as a ReviewBatchCriteriaBenchmarkIds +func (t ReviewBatchRulesCriteria) AsReviewBatchCriteriaBenchmarkIds() (ReviewBatchCriteriaBenchmarkIds, error) { + var body ReviewBatchCriteriaBenchmarkIds + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchCriteriaBenchmarkIds overwrites any union data inside the ReviewBatchRulesCriteria as the provided ReviewBatchCriteriaBenchmarkIds +func (t *ReviewBatchRulesCriteria) FromReviewBatchCriteriaBenchmarkIds(v ReviewBatchCriteriaBenchmarkIds) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchCriteriaBenchmarkIds performs a merge with any union data inside the ReviewBatchRulesCriteria, using the provided ReviewBatchCriteriaBenchmarkIds +func (t *ReviewBatchRulesCriteria) MergeReviewBatchCriteriaBenchmarkIds(v ReviewBatchCriteriaBenchmarkIds) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t ReviewBatchRulesCriteria) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *ReviewBatchRulesCriteria) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsReviewStatusLabel returns the union data inside the ReviewStatusWrite as a ReviewStatusLabel +func (t ReviewStatusWrite) AsReviewStatusLabel() (ReviewStatusLabel, error) { + var body ReviewStatusLabel + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewStatusLabel overwrites any union data inside the ReviewStatusWrite as the provided ReviewStatusLabel +func (t *ReviewStatusWrite) FromReviewStatusLabel(v ReviewStatusLabel) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewStatusLabel performs a merge with any union data inside the ReviewStatusWrite, using the provided ReviewStatusLabel +func (t *ReviewStatusWrite) MergeReviewStatusLabel(v ReviewStatusLabel) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewStatusWrite1 returns the union data inside the ReviewStatusWrite as a ReviewStatusWrite1 +func (t ReviewStatusWrite) AsReviewStatusWrite1() (ReviewStatusWrite1, error) { + var body ReviewStatusWrite1 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewStatusWrite1 overwrites any union data inside the ReviewStatusWrite as the provided ReviewStatusWrite1 +func (t *ReviewStatusWrite) FromReviewStatusWrite1(v ReviewStatusWrite1) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewStatusWrite1 performs a merge with any union data inside the ReviewStatusWrite, using the provided ReviewStatusWrite1 +func (t *ReviewStatusWrite) MergeReviewStatusWrite1(v ReviewStatusWrite1) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t ReviewStatusWrite) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *ReviewStatusWrite) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsChecklistAssetStig returns the union data inside the GetChecklistByAssetStig200JSONResponseBody as a ChecklistAssetStig +func (t GetChecklistByAssetStig200JSONResponseBody) AsChecklistAssetStig() (ChecklistAssetStig, error) { + var body ChecklistAssetStig + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromChecklistAssetStig overwrites any union data inside the GetChecklistByAssetStig200JSONResponseBody as the provided ChecklistAssetStig +func (t *GetChecklistByAssetStig200JSONResponseBody) FromChecklistAssetStig(v ChecklistAssetStig) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeChecklistAssetStig performs a merge with any union data inside the GetChecklistByAssetStig200JSONResponseBody, using the provided ChecklistAssetStig +func (t *GetChecklistByAssetStig200JSONResponseBody) MergeChecklistAssetStig(v ChecklistAssetStig) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsChecklistJsonAccess returns the union data inside the GetChecklistByAssetStig200JSONResponseBody as a ChecklistJsonAccess +func (t GetChecklistByAssetStig200JSONResponseBody) AsChecklistJsonAccess() (ChecklistJsonAccess, error) { + var body ChecklistJsonAccess + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromChecklistJsonAccess overwrites any union data inside the GetChecklistByAssetStig200JSONResponseBody as the provided ChecklistJsonAccess +func (t *GetChecklistByAssetStig200JSONResponseBody) FromChecklistJsonAccess(v ChecklistJsonAccess) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeChecklistJsonAccess performs a merge with any union data inside the GetChecklistByAssetStig200JSONResponseBody, using the provided ChecklistJsonAccess +func (t *GetChecklistByAssetStig200JSONResponseBody) MergeChecklistJsonAccess(v ChecklistJsonAccess) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsChecklistCklb returns the union data inside the GetChecklistByAssetStig200JSONResponseBody as a ChecklistCklb +func (t GetChecklistByAssetStig200JSONResponseBody) AsChecklistCklb() (ChecklistCklb, error) { + var body ChecklistCklb + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromChecklistCklb overwrites any union data inside the GetChecklistByAssetStig200JSONResponseBody as the provided ChecklistCklb +func (t *GetChecklistByAssetStig200JSONResponseBody) FromChecklistCklb(v ChecklistCklb) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeChecklistCklb performs a merge with any union data inside the GetChecklistByAssetStig200JSONResponseBody, using the provided ChecklistCklb +func (t *GetChecklistByAssetStig200JSONResponseBody) MergeChecklistCklb(v ChecklistCklb) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t GetChecklistByAssetStig200JSONResponseBody) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *GetChecklistByAssetStig200JSONResponseBody) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsUserGrant returns the union data inside the PutGrantByCollectionGrantJSONBody as a UserGrant +func (t PutGrantByCollectionGrantJSONBody) AsUserGrant() (UserGrant, error) { + var body UserGrant + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGrant overwrites any union data inside the PutGrantByCollectionGrantJSONBody as the provided UserGrant +func (t *PutGrantByCollectionGrantJSONBody) FromUserGrant(v UserGrant) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGrant performs a merge with any union data inside the PutGrantByCollectionGrantJSONBody, using the provided UserGrant +func (t *PutGrantByCollectionGrantJSONBody) MergeUserGrant(v UserGrant) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsUserGroupGrant returns the union data inside the PutGrantByCollectionGrantJSONBody as a UserGroupGrant +func (t PutGrantByCollectionGrantJSONBody) AsUserGroupGrant() (UserGroupGrant, error) { + var body UserGroupGrant + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUserGroupGrant overwrites any union data inside the PutGrantByCollectionGrantJSONBody as the provided UserGroupGrant +func (t *PutGrantByCollectionGrantJSONBody) FromUserGroupGrant(v UserGroupGrant) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUserGroupGrant performs a merge with any union data inside the PutGrantByCollectionGrantJSONBody, using the provided UserGroupGrant +func (t *PutGrantByCollectionGrantJSONBody) MergeUserGroupGrant(v UserGroupGrant) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t PutGrantByCollectionGrantJSONBody) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *PutGrantByCollectionGrantJSONBody) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsReviewBatchResponse returns the union data inside the PostReviewBatch200JSONResponseBody as a ReviewBatchResponse +func (t PostReviewBatch200JSONResponseBody) AsReviewBatchResponse() (ReviewBatchResponse, error) { + var body ReviewBatchResponse + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchResponse overwrites any union data inside the PostReviewBatch200JSONResponseBody as the provided ReviewBatchResponse +func (t *PostReviewBatch200JSONResponseBody) FromReviewBatchResponse(v ReviewBatchResponse) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchResponse performs a merge with any union data inside the PostReviewBatch200JSONResponseBody, using the provided ReviewBatchResponse +func (t *PostReviewBatch200JSONResponseBody) MergeReviewBatchResponse(v ReviewBatchResponse) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsReviewBatchResponseDryRun returns the union data inside the PostReviewBatch200JSONResponseBody as a ReviewBatchResponseDryRun +func (t PostReviewBatch200JSONResponseBody) AsReviewBatchResponseDryRun() (ReviewBatchResponseDryRun, error) { + var body ReviewBatchResponseDryRun + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromReviewBatchResponseDryRun overwrites any union data inside the PostReviewBatch200JSONResponseBody as the provided ReviewBatchResponseDryRun +func (t *PostReviewBatch200JSONResponseBody) FromReviewBatchResponseDryRun(v ReviewBatchResponseDryRun) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeReviewBatchResponseDryRun performs a merge with any union data inside the PostReviewBatch200JSONResponseBody, using the provided ReviewBatchResponseDryRun +func (t *PostReviewBatch200JSONResponseBody) MergeReviewBatchResponseDryRun(v ReviewBatchResponseDryRun) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t PostReviewBatch200JSONResponseBody) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *PostReviewBatch200JSONResponseBody) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} diff --git a/api/internal/handlers/handlers.go b/api/internal/handlers/handlers.go index d85d87b..622f2f0 100644 --- a/api/internal/handlers/handlers.go +++ b/api/internal/handlers/handlers.go @@ -1,7 +1,9 @@ -// Package handlers exposes HTTP handlers used by the API router. +// Package handlers exposes top-level HTTP handlers that sit outside the +// OpenAPI surface (e.g. the unauthenticated liveness probe). // -// These are intentionally minimal scaffold endpoints — the full /api/v1 -// surface lands in subsequent milestones via oapi-codegen. +// All routes under /api/* are served by the oapi-codegen generated chi +// router; see internal/server/api_server.go for the concrete handler +// implementations. package handlers import ( @@ -9,32 +11,11 @@ import ( "net/http" ) -// AppInfoBuild captures build-time stamping for the appinfo endpoint. -type AppInfoBuild struct { - Version string `json:"version"` - Commit string `json:"commit,omitempty"` - BuildDate string `json:"buildDate,omitempty"` -} - -// Health is a simple liveness probe. +// Health is a simple liveness probe. It is mounted at /health by the +// server package and intentionally lives outside the OpenAPI surface so +// orchestrators can hit it without a token. func Health(w http.ResponseWriter, _ *http.Request) { - writeJSON(w, http.StatusOK, map[string]string{"status": "ok"}) -} - -// AppInfo returns build metadata for the running API. -func AppInfo(build AppInfoBuild) http.HandlerFunc { - return func(w http.ResponseWriter, _ *http.Request) { - writeJSON(w, http.StatusOK, build) - } -} - -// AppDataTables returns an empty table list during scaffold milestones. -func AppDataTables(w http.ResponseWriter, _ *http.Request) { - writeJSON(w, http.StatusOK, []string{}) -} - -func writeJSON(w http.ResponseWriter, status int, body any) { w.Header().Set("Content-Type", "application/json; charset=utf-8") - w.WriteHeader(status) - _ = json.NewEncoder(w).Encode(body) + w.WriteHeader(http.StatusOK) + _ = json.NewEncoder(w).Encode(map[string]string{"status": "ok"}) } diff --git a/api/internal/handlers/handlers_test.go b/api/internal/handlers/handlers_test.go index 22515fb..7e67967 100644 --- a/api/internal/handlers/handlers_test.go +++ b/api/internal/handlers/handlers_test.go @@ -28,49 +28,3 @@ func TestHealth(t *testing.T) { t.Fatalf("status field: got %q want %q", body["status"], "ok") } } - -func TestAppInfo(t *testing.T) { - t.Parallel() - - build := handlers.AppInfoBuild{ - Version: "1.2.3", - Commit: "abc123", - BuildDate: "2026-05-19", - } - - rec := httptest.NewRecorder() - req := httptest.NewRequest(http.MethodGet, "/api/v1/op/appinfo", nil) - - handlers.AppInfo(build)(rec, req) - - if got := rec.Result().StatusCode; got != http.StatusOK { - t.Fatalf("status: got %d want %d", got, http.StatusOK) - } - var got handlers.AppInfoBuild - if err := json.NewDecoder(rec.Body).Decode(&got); err != nil { - t.Fatalf("decode: %v", err) - } - if got != build { - t.Fatalf("appinfo: got %+v want %+v", got, build) - } -} - -func TestAppDataTables(t *testing.T) { - t.Parallel() - - rec := httptest.NewRecorder() - req := httptest.NewRequest(http.MethodGet, "/api/v1/op/appdata/tables", nil) - - handlers.AppDataTables(rec, req) - - if got := rec.Result().StatusCode; got != http.StatusOK { - t.Fatalf("status: got %d want %d", got, http.StatusOK) - } - var body []string - if err := json.NewDecoder(rec.Body).Decode(&body); err != nil { - t.Fatalf("decode: %v", err) - } - if len(body) != 0 { - t.Fatalf("tables: got %v want empty", body) - } -} diff --git a/api/internal/server/api_server.go b/api/internal/server/api_server.go new file mode 100644 index 0000000..049c0e2 --- /dev/null +++ b/api/internal/server/api_server.go @@ -0,0 +1,60 @@ +package server + +import ( + "encoding/json" + "net/http" + + "github.com/Exonical/stig-manager-react/api/internal/api" +) + +// APIServer is the concrete implementation of api.ServerInterface used by +// the running HTTP server. It embeds api.Unimplemented (the generator- +// supplied 501 stub for every operation) and overrides individual methods +// as features land. +// +// Through Milestone 4 the only overrides are the operational endpoints +// (`/api/op/appinfo`, `/api/op/configuration`). Real +// STIG/Collection/Asset handlers arrive in later milestones. +type APIServer struct { + api.Unimplemented + + Build AppInfoBuild +} + +// AppInfoBuild captures build-time stamping for the appinfo endpoint. +type AppInfoBuild struct { + Version string + Commit string + BuildDate string +} + +// Compile-time assertion that APIServer fully implements api.ServerInterface. +var _ api.ServerInterface = (*APIServer)(nil) + +// GetAppInfo returns the running build's version metadata. +// +// The response is intentionally a minimal subset of upstream's AppInfo +// payload until Milestone 4 fleshes it out. +func (s APIServer) GetAppInfo(w http.ResponseWriter, _ *http.Request, _ api.GetAppInfoParams) { + writeJSON(w, http.StatusOK, map[string]any{ + "version": s.Build.Version, + "commit": s.Build.Commit, + "buildDate": s.Build.BuildDate, + }) +} + +// GetConfiguration returns the public runtime configuration needed by the +// SPA (OIDC settings, feature flags). During scaffold milestones it only +// reports the API version and an empty feature map. +func (APIServer) GetConfiguration(w http.ResponseWriter, _ *http.Request) { + writeJSON(w, http.StatusOK, map[string]any{ + "version": "v1", + "features": map[string]bool{}, + }) +} + +func writeJSON(w http.ResponseWriter, status int, body any) { + w.Header().Set("Content-Type", "application/json; charset=utf-8") + w.WriteHeader(status) + _ = json.NewEncoder(w).Encode(body) +} diff --git a/api/internal/server/server.go b/api/internal/server/server.go index b9ac9a2..b943eda 100644 --- a/api/internal/server/server.go +++ b/api/internal/server/server.go @@ -4,11 +4,13 @@ package server import ( "log/slog" "net/http" + "time" "github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5/middleware" "github.com/go-chi/cors" + "github.com/Exonical/stig-manager-react/api/internal/api" "github.com/Exonical/stig-manager-react/api/internal/config" "github.com/Exonical/stig-manager-react/api/internal/handlers" ) @@ -35,7 +37,7 @@ func New(opts Options) *Server { r.Use(middleware.RequestID) r.Use(middleware.RealIP) r.Use(middleware.Recoverer) - r.Use(middleware.Timeout(60_000_000_000)) // 60s + r.Use(middleware.Timeout(60 * time.Second)) r.Use(cors.Handler(cors.Options{ AllowedOrigins: opts.Config.AllowedOrigins, @@ -45,18 +47,24 @@ func New(opts Options) *Server { MaxAge: 300, })) + // Liveness probe lives outside the OpenAPI surface so orchestrators + // can hit it without a token. The generated router handles everything + // under /api. r.Get("/health", handlers.Health) - r.Route("/api/v1", func(api chi.Router) { - api.Route("/op", func(op chi.Router) { - op.Get("/appinfo", handlers.AppInfo(handlers.AppInfoBuild{ - Version: opts.Version, - Commit: opts.Commit, - BuildDate: opts.BuildDate, - })) - op.Get("/appdata/tables", handlers.AppDataTables) - }) - }) + apiServer := APIServer{ + Build: AppInfoBuild{ + Version: opts.Version, + Commit: opts.Commit, + BuildDate: opts.BuildDate, + }, + } + + // Register the generated handlers directly onto the root chi router + // at /api/* so the existing middleware stack (RequestID, CORS, etc.) + // applies. This matches upstream's URL layout: paths in the OpenAPI + // spec are relative to /api. + api.HandlerFromMuxWithBaseURL(apiServer, r, "/api") return &Server{opts: opts, router: r} } diff --git a/api/internal/server/server_test.go b/api/internal/server/server_test.go new file mode 100644 index 0000000..a705835 --- /dev/null +++ b/api/internal/server/server_test.go @@ -0,0 +1,87 @@ +package server_test + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "testing" + + "github.com/Exonical/stig-manager-react/api/internal/config" + "github.com/Exonical/stig-manager-react/api/internal/server" +) + +func newTestServer(t *testing.T) http.Handler { + t.Helper() + cfg := &config.Config{ + HTTPAddr: ":0", + AllowedOrigins: []string{"*"}, + } + srv := server.New(server.Options{ + Version: "1.2.3", + Commit: "abc123", + BuildDate: "2026-05-19", + Config: cfg, + }) + return srv.Router() +} + +func TestHealth(t *testing.T) { + t.Parallel() + rec := httptest.NewRecorder() + req := httptest.NewRequest(http.MethodGet, "/health", nil) + + newTestServer(t).ServeHTTP(rec, req) + + if got := rec.Result().StatusCode; got != http.StatusOK { + t.Fatalf("status: got %d want %d", got, http.StatusOK) + } +} + +func TestAppInfo(t *testing.T) { + t.Parallel() + rec := httptest.NewRecorder() + req := httptest.NewRequest(http.MethodGet, "/api/op/appinfo", nil) + + newTestServer(t).ServeHTTP(rec, req) + + if got := rec.Result().StatusCode; got != http.StatusOK { + t.Fatalf("status: got %d want %d (body=%s)", got, http.StatusOK, rec.Body.String()) + } + var body map[string]any + if err := json.NewDecoder(rec.Body).Decode(&body); err != nil { + t.Fatalf("decode: %v", err) + } + if body["version"] != "1.2.3" { + t.Fatalf("version: got %v want 1.2.3", body["version"]) + } +} + +func TestConfiguration(t *testing.T) { + t.Parallel() + rec := httptest.NewRecorder() + req := httptest.NewRequest(http.MethodGet, "/api/op/configuration", nil) + + newTestServer(t).ServeHTTP(rec, req) + + if got := rec.Result().StatusCode; got != http.StatusOK { + t.Fatalf("status: got %d want %d (body=%s)", got, http.StatusOK, rec.Body.String()) + } +} + +// TestUnimplementedReturns501 confirms that every operation we have not yet +// overridden returns a 501 Not Implemented from api.Unimplemented (the +// generator-supplied default) rather than a 404 or a panic. +// +// /collections has only optional query parameters, so it bypasses the +// generated 400 validation layer and exercises Unimplemented directly. +func TestUnimplementedReturns501(t *testing.T) { + t.Parallel() + rec := httptest.NewRecorder() + req := httptest.NewRequest(http.MethodGet, "/api/collections", nil) + + newTestServer(t).ServeHTTP(rec, req) + + if got := rec.Result().StatusCode; got != http.StatusNotImplemented { + t.Fatalf("status: got %d want %d (body=%s)", got, http.StatusNotImplemented, rec.Body.String()) + } +} diff --git a/deploy/README.md b/deploy/README.md index 28f7bf1..58dac5f 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -24,9 +24,11 @@ The Keycloak realm `stigman` is imported at start-up from | `admin` | `admin` | realm role `admin` | | `evaluator` | `evaluator` | no realm role; collection grants in app | -> **Note:** the SPA → API → Postgres path is wired but the API only -> serves the scaffold endpoints (`/api/v1/op/appinfo`, -> `/api/v1/op/appdata/tables`) until Milestone 2. +> **Note:** the SPA → API → Postgres path is wired and the full +> `/api/*` OpenAPI surface (150+ operations) is generated and mounted, +> but everything except `/api/op/appinfo` and `/api/op/configuration` +> returns `501 Not Implemented` until real handlers land in subsequent +> milestones. ## Kubernetes / production diff --git a/deploy/compose/docker-compose.yaml b/deploy/compose/docker-compose.yaml index 1113d25..3b23066 100644 --- a/deploy/compose/docker-compose.yaml +++ b/deploy/compose/docker-compose.yaml @@ -44,7 +44,7 @@ services: api: build: context: ../../api - dockerfile: Dockerfile + dockerfile: Containerfile restart: unless-stopped depends_on: postgres: @@ -60,7 +60,7 @@ services: web: build: context: ../.. - dockerfile: web/Dockerfile + dockerfile: web/Containerfile restart: unless-stopped depends_on: - api diff --git a/docs/src/content/docs/features/overview.mdx b/docs/src/content/docs/features/overview.mdx index 6fa7d89..9fa6936 100644 --- a/docs/src/content/docs/features/overview.mdx +++ b/docs/src/content/docs/features/overview.mdx @@ -17,7 +17,7 @@ in the XCCDF format. This re-implementation maintains feature parity with the original [NUWCDIVNPT/stig-manager](https://github.com/NUWCDIVNPT/stig-manager) project -and **the same API surface** (`/api/v1`), so integrations and automation work +and **the same API surface** (`/api`), so integrations and automation work unchanged. ## Single Source of Truth across RMF Steps 3 and 4 diff --git a/docs/src/content/docs/installation/logging.mdx b/docs/src/content/docs/installation/logging.mdx index 98552b1..227f7b7 100644 --- a/docs/src/content/docs/installation/logging.mdx +++ b/docs/src/content/docs/installation/logging.mdx @@ -28,7 +28,7 @@ Every log line is a flat JSON object with at minimum: "msg": "request", "component": "http", "method": "GET", - "path": "/api/v1/collections/42/assets", + "path": "/api/collections/42/assets", "status": 200, "durMs": 17, "reqBytes": 0, diff --git a/docs/src/content/docs/installation/overview.mdx b/docs/src/content/docs/installation/overview.mdx index bb8bd8b..19c1d49 100644 --- a/docs/src/content/docs/installation/overview.mdx +++ b/docs/src/content/docs/installation/overview.mdx @@ -11,7 +11,7 @@ A STIG Manager deployment has three pieces: 2. **An OIDC / OAuth 2.0 provider** — Keycloak, Okta, Azure Entra ID, or any compliant IdP that can issue JWTs containing the required claims. 3. **The `stigman` binary** — a single Go executable that serves both the API - under `/api/v1` and the static SPA bundle at `/`. + under `/api` and the static SPA bundle at `/`. The Go binary is the only application component. It is configured entirely via environment variables and can be run from a container image, a systemd unit, diff --git a/docs/src/content/docs/installation/quickstart.mdx b/docs/src/content/docs/installation/quickstart.mdx index 956bcb6..925edac 100644 --- a/docs/src/content/docs/installation/quickstart.mdx +++ b/docs/src/content/docs/installation/quickstart.mdx @@ -36,7 +36,7 @@ talking to each other in under five minutes. - postgres Postgres 18 - keycloak identity provider with seed realm `stigman` - - api Go binary, serving /api/v1 and embedded SPA + - api Go binary, serving /api and embedded SPA - docs this Starlight site at http://localhost:4321 diff --git a/docs/src/content/docs/installation/reverse-proxy.mdx b/docs/src/content/docs/installation/reverse-proxy.mdx index 1cf1b4b..23929cc 100644 --- a/docs/src/content/docs/installation/reverse-proxy.mdx +++ b/docs/src/content/docs/installation/reverse-proxy.mdx @@ -148,7 +148,7 @@ and disable buffering. | Path | Served by | Notes | | ----------- | ----------------- | ------------------------------------------- | -| `/api/v1/*` | API handlers | JSON, JWT-authenticated. | +| `/api/*` | API handlers | JSON, JWT-authenticated. | | `/api-docs` | Swagger UI | Disabled by default; toggle with `STIGMAN_SWAGGER_ENABLED`. | | `/op/*` | Operational + SSE/WS | `/op/state/sse`, `/op/log`. | | `/docs/*` | Embedded Astro Starlight build | Disable via `STIGMAN_DOCS_DISABLED`. | diff --git a/docs/src/content/docs/project/architecture.mdx b/docs/src/content/docs/project/architecture.mdx index 5b3a907..d31bbd9 100644 --- a/docs/src/content/docs/project/architecture.mdx +++ b/docs/src/content/docs/project/architecture.mdx @@ -35,7 +35,7 @@ The project is intentionally a small number of moving parts: A single, statically linked binary (`stigman`) is the only application component. It: -- Serves `/api/v1/*` (REST, JSON, JWT-authenticated). +- Serves `/api/*` (REST, JSON, JWT-authenticated). - Serves `/op/*` (operational endpoints + SSE + WebSocket). - Serves the **embedded React SPA** at `/` (via `embed.FS`). - Serves the **embedded Starlight docs** at `/docs/*`. @@ -129,7 +129,8 @@ See `api/migrations/0001_baseline.sql` for the authoritative definition. ## Build and packaging -A multi-stage Dockerfile: +A multi-stage [OCI Containerfile](https://github.com/opencontainers/image-spec) +(built with Docker, Podman, or Buildah): 1. Build the SPA with `pnpm --filter web build` → `web/dist`. 2. Build the docs with `pnpm --filter docs build` → `docs/dist`. diff --git a/docs/src/content/docs/project/description.mdx b/docs/src/content/docs/project/description.mdx index 2403c36..03713b7 100644 --- a/docs/src/content/docs/project/description.mdx +++ b/docs/src/content/docs/project/description.mdx @@ -33,7 +33,7 @@ project. Goals: | Database | MySQL 8.x | PostgreSQL 18 | | Web client | ExtJS-based vanilla JS | React 19 SPA + shadcn/ui + TanStack Router | | Docs | Sphinx + ReadTheDocs | Astro Starlight | -| API surface | OpenAPI 3.0.1 `/api/v1` | **Identical** (byte-compatible) | +| API surface | OpenAPI 3.0.1 `/api` | **Identical** (byte-compatible) | | Auth | OIDC PKCE | **Identical** | | License | MIT (+ federal public domain) | MIT | diff --git a/docs/src/content/docs/project/examples.mdx b/docs/src/content/docs/project/examples.mdx index af025d5..15fe50b 100644 --- a/docs/src/content/docs/project/examples.mdx +++ b/docs/src/content/docs/project/examples.mdx @@ -48,7 +48,7 @@ working Caddyfile. ## Scanner integration (XCCDF results) ```bash -curl -sSf https://stigman.example.invalid/api/v1/collections/42/reviews \ +curl -sSf https://stigman.example.invalid/api/collections/42/reviews \ -H "Authorization: Bearer $JWT" \ -H "Content-Type: multipart/form-data" \ -F "file=@./results/xccdf-results.xml" \ @@ -63,7 +63,7 @@ summary of created/updated rows. ## CSV batch asset import ```bash -curl -sSf https://stigman.example.invalid/api/v1/collections/42/assets:batch \ +curl -sSf https://stigman.example.invalid/api/collections/42/assets:batch \ -H "Authorization: Bearer $JWT" \ -H "Content-Type: text/csv" \ --data-binary @./assets.csv @@ -82,7 +82,7 @@ The CSV shape matches upstream's COLLECTION_ID: '42' run: | for f in results/*.xml; do - curl -fsSL "https://${STIGMAN_HOST}/api/v1/collections/${COLLECTION_ID}/reviews" \ + curl -fsSL "https://${STIGMAN_HOST}/api/collections/${COLLECTION_ID}/reviews" \ -H "Authorization: Bearer ${STIGMAN_TOKEN}" \ -F "file=@${f}" done diff --git a/docs/src/content/docs/project/related-repos.mdx b/docs/src/content/docs/project/related-repos.mdx index 49cd975..c3f33bd 100644 --- a/docs/src/content/docs/project/related-repos.mdx +++ b/docs/src/content/docs/project/related-repos.mdx @@ -21,7 +21,7 @@ description: Sibling, upstream, and integration repositories. ## Useful upstream clients and utilities -These work unchanged with this implementation (the `/api/v1` surface is +These work unchanged with this implementation (the `/api` surface is byte-compatible): - [NUWCDIVNPT/stigman-watcher](https://github.com/NUWCDIVNPT/stigman-watcher) diff --git a/docs/src/content/docs/project/roadmap.mdx b/docs/src/content/docs/project/roadmap.mdx index a51563e..e72626b 100644 --- a/docs/src/content/docs/project/roadmap.mdx +++ b/docs/src/content/docs/project/roadmap.mdx @@ -13,8 +13,8 @@ public spec to point at; everything else lands behind it. | # | Milestone | Status | |---|----------------------------------------------------|---------------------| | 0 | Docs site (Astro Starlight) | Merged | -| 1 | Repo scaffold (Go API, Vite SPA, shadcn, CI, Dockerfile, docker-compose) — **this PR** | In Review | -| 2 | OpenAPI lift + types (oapi-codegen, openapi-typescript, 501 stubs) | Planned | +| 1 | Repo scaffold (Go API, Vite SPA, shadcn, CI, OCI Containerfile, docker-compose) | Merged | +| 2 | OpenAPI lift + types (oapi-codegen, openapi-typescript, 501 stubs) — **this PR** | In Review | | 3 | Auth (OIDC PKCE) end-to-end | Planned | | 4 | DB + baseline migration (Postgres 18, goose) | Planned | | 5 | STIG Library + XCCDF parser | Planned | diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3daa79f..6f4f4b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,6 +35,9 @@ importers: lucide-react: specifier: ^0.471.0 version: 0.471.2(react@19.2.6) + openapi-fetch: + specifier: ^0.17.0 + version: 0.17.0 react: specifier: ^19.0.0 version: 19.2.6 @@ -75,6 +78,9 @@ importers: globals: specifier: ^15.14.0 version: 15.15.0 + openapi-typescript: + specifier: ^7.13.0 + version: 7.13.0(typescript@5.7.3) prettier: specifier: ^3.4.2 version: 3.8.3 @@ -851,6 +857,16 @@ packages: resolution: {integrity: sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw==} engines: {node: '>=18'} + '@redocly/ajv@8.11.2': + resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==} + + '@redocly/config@0.22.0': + resolution: {integrity: sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==} + + '@redocly/openapi-core@1.34.14': + resolution: {integrity: sha512-y+xFx+Zz54Xhr8jUdnLENYnt7Y7GEDL6Q03ga7rTtX8DVwefX9H+hQEPgJp1nda7vdH+wJ9/HBVvyfBuW9x6rA==} + engines: {node: '>=18.17.0', npm: '>=9.5.0'} + '@rolldown/pluginutils@1.0.0-beta.27': resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} @@ -1255,6 +1271,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -1269,6 +1289,10 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1342,6 +1366,9 @@ packages: brace-expansion@1.1.14: resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==} + brace-expansion@2.1.0: + resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} + brace-expansion@5.0.6: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} @@ -1369,6 +1396,9 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -1410,6 +1440,9 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -1914,6 +1947,10 @@ packages: http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + httpsnippet@3.0.10: resolution: {integrity: sha512-1P102HsVslaT3IVfuUfVwxenfbogFiihqosnaKUScd/sON1omdZZCWdmzm6baRz4u1Va0CTI/7svLckCu9iNBw==} engines: {node: '>=20'} @@ -1943,6 +1980,10 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + index-to-position@1.2.0: + resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} + engines: {node: '>=18'} + inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} @@ -2011,6 +2052,10 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true + js-levenshtein@1.1.6: + resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==} + engines: {node: '>=0.10.0'} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2357,6 +2402,10 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + minimatch@5.1.9: + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + engines: {node: '>=10'} + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -2410,9 +2459,21 @@ packages: oniguruma-to-es@4.3.6: resolution: {integrity: sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==} + openapi-fetch@0.17.0: + resolution: {integrity: sha512-PsbZR1wAPcG91eEthKhN+Zn92FMHxv+/faECIwjXdxfTODGSGegYv0sc1Olz+HYPvKOuoXfp+0pA2XVt2cI0Ig==} + openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + openapi-typescript-helpers@0.1.0: + resolution: {integrity: sha512-OKTGPthhivLw/fHz6c3OPtg72vi86qaMlqbJuVJ23qOvQ+53uw1n7HdmkJFibloF7QEjDrDkzJiOJuockM/ljw==} + + openapi-typescript@7.13.0: + resolution: {integrity: sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==} + hasBin: true + peerDependencies: + typescript: ^5.x + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2451,6 +2512,10 @@ packages: parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + parse-json@8.3.0: + resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==} + engines: {node: '>=18'} + parse-latin@7.0.0: resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} @@ -2482,6 +2547,10 @@ packages: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + postcss-nested@6.2.0: resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} @@ -2731,6 +2800,10 @@ packages: style-to-object@1.0.14: resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -2787,6 +2860,10 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} + engines: {node: '>=16'} + typescript-eslint@8.59.4: resolution: {integrity: sha512-Rw6+44QNFaXtgHSjPy+Kw8hrJniMYzR85E9yLmOLcfZ91/rz+JXQbDTCmc6ccxMPY6K6PgAq26f0JCBfR7LIPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2918,6 +2995,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + uri-js-replace@1.0.1: + resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -3055,6 +3135,9 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -3213,7 +3296,7 @@ snapshots: '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -3297,7 +3380,7 @@ snapshots: '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/types': 7.29.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: - supports-color @@ -3495,7 +3578,7 @@ snapshots: '@eslint/config-array@0.21.2': dependencies: '@eslint/object-schema': 2.1.7 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -3511,7 +3594,7 @@ snapshots: '@eslint/eslintrc@3.3.5': dependencies: ajv: 6.15.0 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -3779,6 +3862,29 @@ snapshots: '@readme/openapi-schemas@3.1.0': {} + '@redocly/ajv@8.11.2': + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js-replace: 1.0.1 + + '@redocly/config@0.22.0': {} + + '@redocly/openapi-core@1.34.14(supports-color@10.2.2)': + dependencies: + '@redocly/ajv': 8.11.2 + '@redocly/config': 0.22.0 + colorette: 1.4.0 + https-proxy-agent: 7.0.6(supports-color@10.2.2) + js-levenshtein: 1.1.6 + js-yaml: 4.1.1 + minimatch: 5.1.9 + pluralize: 8.0.0 + yaml-ast-parser: 0.0.43 + transitivePeerDependencies: + - supports-color + '@rolldown/pluginutils@1.0.0-beta.27': {} '@rollup/pluginutils@5.3.0(rollup@4.60.4)': @@ -4071,7 +4177,7 @@ snapshots: '@typescript-eslint/types': 8.59.4 '@typescript-eslint/typescript-estree': 8.59.4(typescript@5.7.3) '@typescript-eslint/visitor-keys': 8.59.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) eslint: 9.39.4(jiti@2.7.0) typescript: 5.7.3 transitivePeerDependencies: @@ -4081,7 +4187,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@5.7.3) '@typescript-eslint/types': 8.59.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -4100,7 +4206,7 @@ snapshots: '@typescript-eslint/types': 8.59.4 '@typescript-eslint/typescript-estree': 8.59.4(typescript@5.7.3) '@typescript-eslint/utils': 8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.7.3) - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) eslint: 9.39.4(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@5.7.3) typescript: 5.7.3 @@ -4115,7 +4221,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.59.4(typescript@5.7.3) '@typescript-eslint/types': 8.59.4 '@typescript-eslint/visitor-keys': 8.59.4 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) minimatch: 10.2.5 semver: 7.8.0 tinyglobby: 0.2.16 @@ -4160,6 +4266,8 @@ snapshots: acorn@8.16.0: {} + agent-base@7.1.4: {} + ajv-draft-04@1.0.0(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 @@ -4178,6 +4286,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + ansi-colors@4.1.3: {} + ansi-regex@5.0.1: {} ansi-styles@4.3.0: @@ -4324,6 +4434,10 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.1.0: + dependencies: + balanced-match: 1.0.2 + brace-expansion@5.0.6: dependencies: balanced-match: 4.0.4 @@ -4352,6 +4466,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + change-case@5.4.4: {} + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -4386,6 +4502,8 @@ snapshots: color-name@1.1.4: {} + colorette@1.4.0: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -4444,9 +4562,11 @@ snapshots: csstype@3.2.3: {} - debug@4.4.3: + debug@4.4.3(supports-color@10.2.2): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 10.2.2 decode-named-character-reference@1.3.0: dependencies: @@ -4646,7 +4766,7 @@ snapshots: ajv: 6.15.0 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -5072,6 +5192,13 @@ snapshots: http-cache-semantics@4.2.0: {} + https-proxy-agent@7.0.6(supports-color@10.2.2): + dependencies: + agent-base: 7.1.4 + debug: 4.4.3(supports-color@10.2.2) + transitivePeerDependencies: + - supports-color + httpsnippet@3.0.10: dependencies: chalk: 4.1.2 @@ -5096,6 +5223,8 @@ snapshots: imurmurhash@0.1.4: {} + index-to-position@1.2.0: {} + inline-style-parser@0.2.7: {} iron-webcrypto@1.2.1: {} @@ -5141,6 +5270,8 @@ snapshots: jiti@2.7.0: {} + js-levenshtein@1.1.6: {} + js-tokens@4.0.0: {} js-yaml@4.1.1: @@ -5703,7 +5834,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.13 - debug: 4.4.3 + debug: 4.4.3(supports-color@10.2.2) decode-named-character-reference: 1.3.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -5736,6 +5867,10 @@ snapshots: dependencies: brace-expansion: 1.1.14 + minimatch@5.1.9: + dependencies: + brace-expansion: 2.1.0 + mrmime@2.0.1: {} ms@2.1.3: {} @@ -5780,8 +5915,24 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 + openapi-fetch@0.17.0: + dependencies: + openapi-typescript-helpers: 0.1.0 + openapi-types@12.1.3: {} + openapi-typescript-helpers@0.1.0: {} + + openapi-typescript@7.13.0(typescript@5.7.3): + dependencies: + '@redocly/openapi-core': 1.34.14(supports-color@10.2.2) + ansi-colors: 4.1.3 + change-case: 5.4.4 + parse-json: 8.3.0 + supports-color: 10.2.2 + typescript: 5.7.3 + yargs-parser: 21.1.1 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -5836,6 +5987,12 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse-json@8.3.0: + dependencies: + '@babel/code-frame': 7.29.0 + index-to-position: 1.2.0 + type-fest: 4.41.0 + parse-latin@7.0.0: dependencies: '@types/nlcst': 2.0.3 @@ -5865,6 +6022,8 @@ snapshots: picomatch@4.0.4: {} + pluralize@8.0.0: {} + postcss-nested@6.2.0(postcss@8.5.14): dependencies: postcss: 8.5.14 @@ -6233,6 +6392,8 @@ snapshots: dependencies: inline-style-parser: 0.2.7 + supports-color@10.2.2: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -6281,6 +6442,8 @@ snapshots: dependencies: prelude-ls: 1.2.1 + type-fest@4.41.0: {} + typescript-eslint@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.7.3): dependencies: '@typescript-eslint/eslint-plugin': 8.59.4(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.7.3))(eslint@9.39.4(jiti@2.7.0))(typescript@5.7.3) @@ -6383,6 +6546,8 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + uri-js-replace@1.0.1: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -6460,6 +6625,8 @@ snapshots: yallist@3.1.1: {} + yaml-ast-parser@0.0.43: {} + yargs-parser@21.1.1: {} yargs-parser@22.0.0: {} diff --git a/web/Dockerfile b/web/Containerfile similarity index 52% rename from web/Dockerfile rename to web/Containerfile index 191147b..73fa530 100644 --- a/web/Dockerfile +++ b/web/Containerfile @@ -1,5 +1,15 @@ +# OCI image build for the STIG Manager SPA. +# +# This Containerfile follows the Open Container Initiative image-spec +# (https://github.com/opencontainers/image-spec). The syntax is the same +# format Docker uses; Podman, Buildah, and BuildKit also build it natively. +# +# Build with either: +# podman build -t stigman-web -f web/Containerfile . +# docker build -t stigman-web -f web/Containerfile . + # syntax=docker/dockerfile:1.7 -FROM node:22-alpine AS build +FROM docker.io/library/node:24-alpine AS build ENV PNPM_HOME=/root/.local/share/pnpm \ PATH=/root/.local/share/pnpm:$PATH RUN corepack enable && corepack prepare pnpm@9 --activate @@ -13,7 +23,7 @@ RUN pnpm install --frozen-lockfile --filter @stig-manager-react/web... COPY web ./web RUN pnpm --filter @stig-manager-react/web build -FROM nginx:1.27-alpine AS run +FROM docker.io/library/nginx:1.27-alpine AS run COPY --from=build /repo/web/dist /usr/share/nginx/html COPY web/nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 diff --git a/web/package.json b/web/package.json index 1b4985b..602dc0c 100644 --- a/web/package.json +++ b/web/package.json @@ -9,13 +9,15 @@ "preview": "vite preview", "typecheck": "tsc -b --noEmit", "lint": "eslint .", - "format": "prettier --write ." + "format": "prettier --write .", + "gen:api": "openapi-typescript ../docs/openapi/stig-manager.yaml -o src/lib/api/schema.ts" }, "dependencies": { "@radix-ui/react-slot": "^1.1.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.471.0", + "openapi-fetch": "^0.17.0", "react": "^19.0.0", "react-dom": "^19.0.0", "tailwind-merge": "^2.6.0" @@ -31,6 +33,7 @@ "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.18", "globals": "^15.14.0", + "openapi-typescript": "^7.13.0", "prettier": "^3.4.2", "tailwindcss": "^4.1.0", "typescript": "~5.7.3", diff --git a/web/src/App.tsx b/web/src/App.tsx index 1c170ef..537cbd1 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -86,7 +86,7 @@ function App() { API connectivity - Calls GET /api/v1/op/appinfo on the Go backend + Calls GET /api/op/appinfo on the Go backend through the Vite dev proxy. diff --git a/web/src/lib/api.ts b/web/src/lib/api.ts deleted file mode 100644 index 1de6616..0000000 --- a/web/src/lib/api.ts +++ /dev/null @@ -1,17 +0,0 @@ -const API_BASE_URL = import.meta.env.VITE_API_BASE_URL ?? '/api' - -export interface AppInfo { - version: string - commit?: string - buildDate?: string -} - -export async function fetchAppInfo(): Promise { - const response = await fetch(`${API_BASE_URL}/v1/op/appinfo`, { - headers: { Accept: 'application/json' }, - }) - if (!response.ok) { - throw new Error(`appinfo: HTTP ${response.status}`) - } - return (await response.json()) as AppInfo -} diff --git a/web/src/lib/api/client.ts b/web/src/lib/api/client.ts new file mode 100644 index 0000000..803a683 --- /dev/null +++ b/web/src/lib/api/client.ts @@ -0,0 +1,19 @@ +// Typed HTTP client for the STIG Manager API. +// +// The schema in ./schema.ts is regenerated from docs/openapi/stig-manager.yaml +// via `pnpm gen:api`. openapi-fetch wraps fetch() with full type-checking on +// paths, parameters, request bodies, and responses — see +// https://openapi-ts.dev/openapi-fetch/. + +import createClient from 'openapi-fetch' + +import type { paths } from './schema' + +const API_BASE_URL = import.meta.env.VITE_API_BASE_URL ?? '/api' + +export const apiClient = createClient({ + baseUrl: API_BASE_URL, + credentials: 'include', +}) + +export type { paths, components, operations } from './schema' diff --git a/web/src/lib/api/index.ts b/web/src/lib/api/index.ts new file mode 100644 index 0000000..85acfa5 --- /dev/null +++ b/web/src/lib/api/index.ts @@ -0,0 +1,34 @@ +// Public surface of the typed API client. +// +// Higher-level wrappers can live here; for now we re-export the generated +// schema types and the openapi-fetch instance configured in ./client. +export { apiClient } from './client' +export type { paths, components, operations } from './client' + +import { apiClient } from './client' + +/** + * Minimal AppInfo shape returned by the scaffold backend. + * + * Upstream's AppInfo schema is much richer (collections, request counters, + * users, groups, etc.) — see components.schemas.AppInfo in + * docs/openapi/stig-manager.yaml. APIServer.GetAppInfo currently returns + * only build metadata; later milestones will return the full upstream + * shape and this type will be replaced with components['schemas']['AppInfo']. + */ +export type AppInfo = { + version: string + commit?: string + buildDate?: string +} + +/** + * Fetches build metadata from `GET /op/appinfo`. + */ +export async function fetchAppInfo(): Promise { + const result = await apiClient.GET('/op/appinfo', {}) + if (!result.response.ok || !result.data) { + throw new Error(`appinfo: HTTP ${result.response.status}`) + } + return result.data as unknown as AppInfo +} diff --git a/web/src/lib/api/schema.ts b/web/src/lib/api/schema.ts new file mode 100644 index 0000000..2a3ee45 --- /dev/null +++ b/web/src/lib/api/schema.ts @@ -0,0 +1,10089 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/assets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of Assets accessible to the requester */ + get: operations["getAssets"]; + put?: never; + /** Create an Asset */ + post: operations["createAsset"]; + delete?: never; + options?: never; + head?: never; + /** Delete one or more Assets */ + patch: operations["patchAssets"]; + trace?: never; + }; + "/assets/{assetId}": { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + /** Return an Asset */ + get: operations["getAsset"]; + /** Set all properties of an Asset */ + put: operations["replaceAsset"]; + post?: never; + /** Delete an Asset */ + delete: operations["deleteAsset"]; + options?: never; + head?: never; + /** Merge provided properties with an Asset */ + patch: operations["updateAsset"]; + trace?: never; + }; + "/assets/{assetId}/checklists": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response. */ + format?: "ckl" | "cklb"; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + /** Return a multi-STIG CKL for an Asset and its mapped STIGs */ + get: operations["getChecklistByAsset"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assets/{assetId}/checklists/{benchmarkId}/{revisionStr}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: components["parameters"]["RevisionStrPath"]; + }; + cookie?: never; + }; + /** Return JSON summary, or CKL(B) file, or XCCDF file for an Asset and STIG */ + get: operations["getChecklistByAssetStig"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assets/{assetId}/metadata": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + /** Return the metadata for Asset */ + get: operations["getAssetMetadata"]; + /** Set a Asset metadata to the provided object */ + put: operations["putAssetMetadata"]; + post?: never; + delete?: never; + options?: never; + head?: never; + /** Merge the provided object to a Assetmetadata */ + patch: operations["patchAssetMetadata"]; + trace?: never; + }; + "/assets/{assetId}/metadata/keys": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + /** Return the keys of the provided Asset's metadata */ + get: operations["getAssetMetadataKeys"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assets/{assetId}/metadata/keys/{key}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + /** Return the value of the provided Asset metadata key */ + get: operations["getAssetMetadataValue"]; + /** Set the value of the provided Asset metadata key to the provided string */ + put: operations["putAssetMetadataValue"]; + post?: never; + /** Remove the provided Asset metadata key */ + delete: operations["deleteAssetMetadataKey"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assets/{assetId}/stigs": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + /** Return an Asset's STIG assignments */ + get: operations["getStigsByAsset"]; + put?: never; + post?: never; + /** Delete all STIG assignments to an Asset */ + delete: operations["removeStigsFromAsset"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/assets/{assetId}/stigs/{benchmarkId}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + get?: never; + /** Assign a STIG to an Asset */ + put: operations["attachStigToAsset"]; + post?: never; + /** Delete a STIG assignment to an Asset */ + delete: operations["removeStigFromAsset"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections": { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of Collections accessible to the requester */ + get: operations["getCollections"]; + put?: never; + /** + * Create a Collection + * @description The `settings` property is optional and can be partially provided. + * - If `settings` is not provided, the Collection will be created with the default settings. + * + * The default settings are: + * ``` + * { + * fields: { + * detail: { + * enabled: 'always', + * required: 'always' + * }, + * comment: { + * enabled: 'findings', + * required: 'findings' + * } + * }, + * status: { + * canAccept: true, + * resetCriteria: 'result', + * minAcceptGrant: 3 + * }, + * history: { + * maxReviews: 5 + * } + * importOptions: { + * autoStatus: 'saved', + * unreviewed: 'commented', + * unreviewedCommented: 'informational', + * emptyDetail: 'replace', + * emptyComment: 'ignore', + * updateAssetProps: false, + * allowCustom: true + * } + * ``` + */ + post: operations["createCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}": { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return a Collection */ + get: operations["getCollection"]; + /** + * Set all properties of a Collection + * @description See the description of path `POST /collections` for notes about the `settings` property + */ + put: operations["replaceCollection"]; + post?: never; + /** Delete a Collection */ + delete: operations["deleteCollection"]; + options?: never; + head?: never; + /** Merge provided properties with a Collection */ + patch: operations["updateCollection"]; + trace?: never; + }; + "/collections/{collectionId}/archive/ckl": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Return a ZIP archive containing CKL files for the supplied Assets and STIGs */ + post: operations["postCklArchiveByCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/archive/cklb": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Return a ZIP archive containing CKLB files for the supplied Assets and STIGs */ + post: operations["postCklbArchiveByCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/assets": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** Create Multiple Assets */ + post: operations["createAssets"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/archive/xccdf": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** Return a ZIP archive containing XCCDF results for the supplied Assets and STIGs */ + post: operations["postXccdfArchiveByCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/checklists/{benchmarkId}/{revisionStr}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: components["parameters"]["RevisionStrPath"]; + }; + cookie?: never; + }; + /** Return the Checklist for the supplied Collection and STIG */ + get: operations["getChecklistByCollectionStig"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/clone": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Clone an existing Collection to a new Collection + * @description Cloning large Collections can take several minutes! Users may see a performance impact when accessing the source Collection during this time.

Making changes to the source Collection while it is being cloned may lead to inconsistent results in the cloned Collection.

Before proceeding, it is recommended you warn Users that they refrain from modifying components of the source Collection while the cloning process is underway. + */ + post: operations["cloneCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/export-to/{dstCollectionId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * Export reviews from a source Collection to a destination Collection + * @description Exports reviews (result, detail and comment) from a `srcCollection` to a `dstCollection`, creating Assets in `dstCollection` if they do not exist. The `status` property of existing reviews in `dstCollection` are reset, if necessary, in accordance with the Collection settings. + */ + post: operations["exportToCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/findings": { + parameters: { + query: { + /** @description Aggregate the findings on this property */ + aggregator: components["parameters"]["FindingAggregatorQuery"]; + acceptedOnly?: boolean; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Optional properties to return */ + projection?: components["parameters"]["FindingProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return the Findings for the specified Collection */ + get: operations["getFindingsByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/grants": { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return all collection grants */ + get: operations["getGrantsByCollection"]; + put?: never; + /** Add Grants to a Collection */ + post: operations["postGrantsByCollection"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/grants/{grantId}": { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + /** Return a collection grant by grantId */ + get: operations["getGrantByCollectionGrant"]; + /** Replace the properties of a Collection Grant by grantId. */ + put: operations["putGrantByCollectionGrant"]; + post?: never; + delete: operations["deleteGrantByCollectionGrant"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/grants/{grantId}/acl": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + /** Return the Access Control List for the specified Collection Grant. */ + get: operations["getAclRulesByCollectionGrant"]; + /** Set the Access Control List for the specified Collection Grant. */ + put: operations["putAclRulesByCollectionGrant"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/reviews": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of Reviews accessible to the requester */ + get: operations["getReviewsByCollection"]; + put?: never; + /** + * Insert, update, or merge a complete or partial Review to multiple Assets and Rules + * @description Applies a complete or partial Review to multiple target Asset/Rule pairs. Depending on the Review properties supplied, new Reviews may be created, existing Reviews may be updated, or both operations may occur (similar to an SQL merge). + * + * ## Caution + * + * **It is possible to send a request which will place the database under considerable load and take many seconds (or minutes) to complete. To determine if a request affects a large set of Reviews, clients are strongly encouraged to send a "preflight" request with the `dryRun` option enabled.** + * + * ## Request Validation + * + * The overall request is validated as follows: + * + * - conformance with the OAS schema for `ReviewBatch` + * - the requesting user has been granted access to the {collectionId} + * + * ## Request body + * + * **source** *(required)* + * + * The Review source is applied to the product of `assets` x `rules` (see below). It MUST contain at least one of the properties `result`, `detail`, `comment`, `resultEngine`, `metadata` or `status`. + * - Multiple properties can be specified. + * - a string value for the `status` property is normalized to `{ label: , text: null }` + * + * + * **assets** *(required)* + * + * The target Assets, which are specified as either: + * - an array of `assetId` + * - an array of `benchmarkId` where target Assets are calculated as the list of distinct Assets assigned at least one of the given STIGs, taking into account the requesting User's collection grant. + * + * **rules** *(required)* + * + * The target Rules, which are specified as either: + * - an array of `ruleId` + * - an array of `benchmarkId` where target Rules are calculated as the list of distinct Rules from all available revisions of the given STIGs. + * + * **action** *(optional)* + * + * Constrains the data action to be taken. If present, the value MUST be one of `insert`, `update`, or `merge`. + * + * - `insert`: only create new Reviews, do not update existing Reviews + * - `update`: only update existing Reviews, do not create new Reviews + * - `merge`: create new Reviews and update existing Reviews + * + * If not present, the default value is: + * + * - `merge` if the source Review includes `result` + * - `update` if the source Review does not include `result` + * + * New Reviews cannot be created when `source` does not include `result`. In that case, specifying either the `insert` or `merge` value is an error. + * + * **updateFilters** *(optional)* + * + * Limits the Reviews to be updated, based on an array of filtering objects. If present, updates are applied to Reviews from the product `assets` x `rules` that pass each of the filters (filters are combined with logical AND). If not present, updates are applied to each Review from the product `assets` x `rules`. + * + * Filtering objects specify a Review `field` , a `condition`, and a `value`. See the schema definition for further details. + * + * **dryRun** *(optional)* + * + * If present with a `true` value, performs all processing and validation logic without actually changing any data. Useful to verify what a given request would do and to reveal any validation errors. The default value is `false`. + * + * ## Review candidates + * + * Candidate Reviews are created by cross joining the source Review with the product of `assets` x `rules` and applying the resulting rows to existing Reviews (if any) in accordance with the Collection settings. + * + * **For updated Reviews** + * + * In general, an absent source Review property will retain existing values except as below. + * + * - an absent `status` property will either retain the existing value or update the `status` value to `{ label: "saved", text: "Review change triggered status update" }`, in accordance with the Collection `settings.status.resetCriteria`. + * - an absent `resultEngine` property will either retain the existing value or update the `resultEngine` value to `null`. If applying the source Review changes an existing `result`, the `resultEngine` value will be set to `null`. + * + * **For new Reviews** + * + * - an absent `detail` or `comment` property will set the candidate value to the empty string. + * - an absent `status` property will set the candidate value to `{ label: "saved", text: null }`. + * - an absent `resultEngine` property will set the candidate value to `null`. + * - an absent `metadata` property will set the candidate value to `{}` + * + * ## Candidate validation + * + * Each candidate Review is permitted or rejected as follows: + * + * - If the requesting user's collection grant is `restricted` AND the `ruleId` is not included in any version of any `benchmarkId` for which the requesting user been granted access, then **reject** the Review. + * - If `status.label` has value `saved`, then permit the Review. + * - If the Review would not be submittable according to the Collection settings, then **reject** the Review + * - If the value of `status.label` is `submitted`, then **permit** the Review. + * - If the value of `status.label` is `accepted` or `rejected` AND the Collection settings allow Reviews to be Accepted or Rejected, then **permit** the Review. + * - If `status.label` has value `accepted` or `rejected` AND the Collection settings prohibit Reviews from being Accepted or Rejected, then **reject** the Review. + */ + post: operations["postReviewBatch"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/reviews/{assetId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of Reviews for an Asset */ + get: operations["getReviewsByAsset"]; + put?: never; + /** + * Post one or more Reviews + * @description The request body is an array that can contain both new and updated Reviews. All Reviews MUST contain the properties `ruleId`, `result`, `detail`, and `comment`. The overall request is validated as follows: + * + * - conformance with the OAS schema for `ReviewAssetPost` + * - the requesting user has been granted access to the {collectionId} + * + * **For all Reviews** + * + * - a string value for the `status` property will set the stored value to `{ label: , text: null }` + * - an absent `resultEngine` property will set the stored value to `null` + * + * **For updated Reviews** + * + * - a `null` value for either `detail` or `comment` will retain the existing value. + * - an absent `status` property will either retain the existing value or update the `status` value to `{ label: "saved", text: "Review change triggered status update" }`, in accordance with the Collection `settings.status.resetCriteria`. + * + * **For new Reviews** + * + * - a `null` value for either `detail` or `comment` will set the stored value to the empty string. + * - an absent `status` property will set the stored value to `{ label: "saved", text: null }`. + * + * **Each new or updated Review is permitted or rejected as follows:** + * + * - If the requesting user's collection grant is `restricted` AND the `ruleId` is not included in any version of any `benchmarkId` for which the requesting user been granted access, then **reject** the Review + * - If the optional property `status` is absent or `status.label` has value `saved`, then permit the Review + * - If the new or updated Review would not be submittable according to the Collection settings, then **reject** the Review + * - If the value of `status.label` is `submitted`, then **permit** the Review. + * - If the value of `status.label` is `accepted` or `rejected` AND the Collection settings allow Reviews to be Accepted or Rejected, then **permit** the Review. + * - If `status.label` has value `accepted` or `rejected` AND the Collection settings prohibit Reviews from being Accepted or Rejected, then **reject** the Review. + */ + post: operations["postReviewsByAsset"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/reviews/{assetId}/{ruleId}": { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + /** Return the Review for an Asset and Rule */ + get: operations["getReviewByAssetRule"]; + /** + * Set all properties of a Review + * @description The request can target either a new or an existing Review. The request body MUST contain the Review properties `result`, `detail`, and `comment`. The overall request is validated as follows: + * + * - conformance with the OAS schema for `ReviewAssetRulePut` + * - the requesting user has been granted access to the {collectionId} + * + * **For all Reviews** + * + * - a string value for the `status` property will set the stored value to `{ label: , text: null }` + * - an absent `resultEngine` property will set the stored value to `resultEngine: null` + * + * **For updated Reviews** + * + * - a `null` value for either `detail` or `comment` will retain the existing value. + * - an absent `status` property will either retain or update the `status` value to `{ label: "saved", text: "Review change triggered status update" }`, in accordance with the Collection `settings.status.resetCriteria`. + * + * **For new Reviews** + * + * - a `null` value for either `detail` or `comment` will set the stored value to the empty string. + * - an absent `status` property will set the stored value to `{ label: "saved", text: null }`. + * + * The request is permitted or rejected as follows: + * + * - If the requesting user's collection grant is `restricted` AND the `assetId` is not included in any user grant, then **reject** the Review + * - If the requesting user's collection grant is `restricted` AND the `ruleId` is not included in any version of any `benchmarkId` for which the user been granted access, then **reject** the Review + * - If the new or updated Review would not be submittable according to the Collection settings, then **reject** the Review + * - If the value of `status.label` is `submitted`, then **permit** the Review. + * - If the value of `status.label` is `accepted` or `rejected` AND the Collection settings allow Reviews to be Accepted or Rejected, then **permit** the Review. + * - If `status.label` has value `accepted` or `rejected` AND the Collection settings prohibit Reviews from being Accepted or Rejected, then **reject** the Review. + */ + put: operations["putReviewByAssetRule"]; + post?: never; + /** Delete a Review */ + delete: operations["deleteReviewByAssetRule"]; + options?: never; + head?: never; + /** + * Merge the provided properties with an existing Review + * @description The request MUST target an existing Review and the request body MUST contain one or more Review properties. The overall request is validated as follows: + * + * - the request body conforms with the OAS schema for `ReviewAssetRulePatch` + * - a request body that includes `resultEngine` must also include `result` + * - the requesting user has been granted access to the {collectionId} + * - a Review already exists for the {assetId} and {ruleId} + * + * A string value for the `status` property will set the stored value to `{ label: , text: null }`. + * If the request includes a `result`, then the `resultEngine` value will be set to `null` unless the request includes an explicit `resultEngine` value. + * + * An absent `status` property may still lead to the `status` value being updated to `{ label: "saved", text: "Review change triggered status update" }`, in accordance with the Collection `settings.status.resetCriteria`. + * + * Unlike the corresponding PUT endpoint, the `detail` and `comment` properties do not support `null` as a value. + * + * The request is permitted or rejected as follows: + * + * - If the requesting user's collection grant is `restricted` AND the `assetId` is not included in any user grant, then **reject** the Review + * - If the requesting user's collection grant is `restricted` AND the `ruleId` is not included in any version of any `benchmarkId` for which the user been granted access, then **reject** the Review + * - If the new or updated Review would not be submittable according to the Collection settings, then **reject** the Review + * - If the value of `status.label` is `submitted`, then **permit** the Review. + * - If the value of `status.label` is `accepted` or `rejected` AND the Collection settings allow Reviews to be Accepted or Rejected, then **permit** the Review. + * - If `status.label` has value `accepted` or `rejected` AND the Collection settings prohibit Reviews from being Accepted or Rejected, then **reject** the Review. + */ + patch: operations["patchReviewByAssetRule"]; + trace?: never; + }; + "/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + /** Return the metadata for Review */ + get: operations["getReviewMetadata"]; + /** Set a Review metadata to the provided object */ + put: operations["putReviewMetadata"]; + post?: never; + delete?: never; + options?: never; + head?: never; + /** Merge the provided object to a Review metadata */ + patch: operations["patchReviewMetadata"]; + trace?: never; + }; + "/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + /** Return the keys of the provided Review's metadata */ + get: operations["getReviewMetadataKeys"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/reviews/{assetId}/{ruleId}/metadata/keys/{key}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + /** Return the value of the provided Review metadata key */ + get: operations["getReviewMetadataValue"]; + /** Set the value of the provided Review metadata key to the provided string */ + put: operations["putReviewMetadataValue"]; + post?: never; + /** Remove the provided Review metadata key */ + delete: operations["deleteReviewMetadataKey"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/labels": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return labels of the specified Collection */ + get: operations["getCollectionLabels"]; + put?: never; + /** Create a label in the specified Collection */ + post: operations["createCollectionLabel"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/labels/batch": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + get?: never; + put?: never; + /** Create multiple labels in the specified Collection */ + post: operations["createCollectionLabels"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/labels/{labelId}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + /** Return the specified Label of the specified Collection */ + get: operations["getCollectionLabelById"]; + put?: never; + post?: never; + /** Delete a Label */ + delete: operations["deleteCollectionLabelById"]; + options?: never; + head?: never; + /** Update an existing Label */ + patch: operations["patchCollectionLabelById"]; + trace?: never; + }; + "/collections/{collectionId}/labels/{labelId}/assets": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + /** Return the Assets mapped to the Label */ + get: operations["getAssetsByCollectionLabelId"]; + /** Replace the Label's Asset mappings */ + put: operations["putAssetsByCollectionLabelId"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metadata": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return the metadata for Collection */ + get: operations["getCollectionMetadata"]; + /** Set a Collection metadata to the provided object */ + put: operations["putCollectionMetadata"]; + post?: never; + delete?: never; + options?: never; + head?: never; + /** Merge the provided object to a Collection metadata */ + patch: operations["patchCollectionMetadata"]; + trace?: never; + }; + "/collections/{collectionId}/metadata/keys": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return the keys of the provided Collection metadata */ + get: operations["getCollectionMetadataKeys"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metadata/keys/{key}": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + /** Return the value of the provided Collection metadata key */ + get: operations["getCollectionMetadataValue"]; + /** Set the value of the provided Collection metadata key to the provided string */ + put: operations["putCollectionMetadataValue"]; + post?: never; + /** Remove the provided Collection metadata key */ + delete: operations["deleteCollectionMetadataKey"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/detail": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return unaggregated Asset/STIG metrics for the specified Collection */ + get: operations["getMetricsDetailByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/detail/asset": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return metrics for the specified Collection aggregated by Asset */ + get: operations["getMetricsDetailByCollectionAggAsset"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/detail/collection": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return aggregated metrics for the specified Collection */ + get: operations["getMetricsDetailByCollectionAgg"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/detail/label": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return metrics for the specified Collection aggregated by Label */ + get: operations["getMetricsDetailByCollectionAggLabel"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/detail/stig": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return metrics for the specified Collection aggregated by STIG */ + get: operations["getMetricsDetailByCollectionAggStig"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/summary": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return unaggregated Asset/STIG metrics for the specified Collection */ + get: operations["getMetricsSummaryByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/summary/asset": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return metrics for the specified Collection aggregated by Asset */ + get: operations["getMetricsSummaryByCollectionAggAsset"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/summary/collection": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return aggregated metrics for the specified Collection */ + get: operations["getMetricsSummaryByCollectionAgg"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/summary/label": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return metrics for the specified Collection aggregated by Label */ + get: operations["getMetricsSummaryByCollectionAggLabel"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/metrics/summary/stig": { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return metrics for the specified Collection aggregated by STIG */ + get: operations["getMetricsSummaryByCollectionAggStig"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/poam": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a POAM-like spreadsheet for the specified Collection aggregated by groupId */ + get: operations["getPoamByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/review-history": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return history records for the specified Collection that meet the specified criteria */ + get: operations["getReviewHistoryByCollection"]; + put?: never; + post?: never; + /** Remove history records that meet specified criteria */ + delete: operations["deleteReviewHistoryByCollection"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/review-history/stats": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return history statistics for the specified Collection */ + get: operations["getReviewHistoryStatsByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/stigs": { + parameters: { + query?: { + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionStigProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** Return the STIGs mapped in the specified Collection */ + get: operations["getStigsByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/stigs/{benchmarkId}": { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionStigProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + /** Return the STIG mapped in the specified Collection */ + get: operations["getStigByCollection"]; + put?: never; + /** + * Set the default Revision and/or the Asset list of a STIG in a Collection + * @description Neither of the request body properties is required but at least one must be present. If the path parameter `{benchmarkId}` is not already mapped to at least one Asset in `{collectionId}`, then the `assetIds` property must be present. + */ + post: operations["writeStigPropsByCollectionStig"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/stigs/{benchmarkId}/assets": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + /** Get the Assets in a Collection attached to a STIG */ + get: operations["getAssetsByStig"]; + /** Set the Assets mapped to a STIG */ + put: operations["attachAssetsToStig"]; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/unreviewed/assets": { + parameters: { + query?: { + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description Selects Rules with the specified severity */ + severity?: components["parameters"]["RuleSeverityQuery"]; + /** @description Additional properties to include in the `unreviewed` objects. */ + projection?: components["parameters"]["UnreviewedAssetsProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** EXPERIMENTAL - Return the Assets in the specified Collection with unreviewed Rules */ + get: operations["getUnreviewedAssetsByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/unreviewed/rules": { + parameters: { + query?: { + /** @description Selects Reviews of a Rule */ + ruleId?: components["parameters"]["RuleIdQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description Selects Rules with the specified severity */ + severity?: components["parameters"]["RuleSeverityQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UnreviewedRulesProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** EXPERIMENTAL - Return the Rules in the specified Collection with unreviewed Assets */ + get: operations["getUnreviewedRulesByCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/{collectionId}/users/{userId}/effective-acl": { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + /** Return a User's effective access rules for the specified Collection. */ + get: operations["getEffectiveAclByCollectionUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/meta/metrics/detail": { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return fully aggregated meta-metrics */ + get: operations["getMetricsDetailByMeta"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/meta/metrics/detail/collection": { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. */ + revisionId?: components["parameters"]["RevisionIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return meta-metrics aggregated by Collection */ + get: operations["getMetricsDetailByMetaAggCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/meta/metrics/detail/stig": { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return meta-metrics aggregated by STIG */ + get: operations["getMetricsDetailByMetaAggStig"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/meta/metrics/summary": { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return fully aggregated meta-metrics */ + get: operations["getMetricsSummaryByMeta"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/meta/metrics/summary/collection": { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. */ + revisionId?: components["parameters"]["RevisionIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return meta-metrics aggregated by Collection */ + get: operations["getMetricsSummaryByMetaAggCollection"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/collections/meta/metrics/summary/stig": { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return meta-metrics aggregated by STIG */ + get: operations["getMetricsSummaryByMetaAggStig"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List jobs */ + get: operations["getJobs"]; + put?: never; + /** Create a new job */ + post: operations["postJob"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs/{jobId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get job by ID */ + get: operations["getJob"]; + put?: never; + post?: never; + /** Delete job by ID */ + delete: operations["deleteJob"]; + options?: never; + head?: never; + /** Update job by ID */ + patch: operations["patchJob"]; + trace?: never; + }; + "/jobs/{jobId}/runs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List the job runs */ + get: operations["getRunsByJob"]; + put?: never; + /** Start an immediate job run */ + post: operations["runImmediateJob"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs/runs/{runId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a job run by ID */ + get: operations["getRunById"]; + put?: never; + post?: never; + /** Delete a job run by ID */ + delete: operations["deleteRunById"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs/runs/{runId}/output": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the output for a job run */ + get: operations["getOutputByRun"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/jobs/tasks": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** List all tasks */ + get: operations["getAllTasks"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/appdata": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Export application data */ + get: operations["getAppData"]; + put?: never; + /** Import and overwrite application data */ + post: operations["replaceAppData"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/appdata/tables": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get the name and data length of each table */ + get: operations["getAppDataTables"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/appinfo": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return information about the application deployment */ + get: operations["getAppInfo"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/configuration": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return API version and configuration information */ + get: operations["getConfiguration"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/definition": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return the API definition */ + get: operations["getDefinition"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/details": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** DEPRECATED: replaced by /op/appinfo */ + get: operations["getDetails"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/state": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return information about the API state */ + get: operations["getState"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/op/state/sse": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Stream Server-Sent Events (SSE) about changes to the current API state + * @description Opens a one-way stream using SSE. The response is a continuous stream of events in `text/event-stream` format. + */ + get: operations["streamStateSse"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of available STIGs */ + get: operations["getSTIGs"]; + put?: never; + /** Import a STIG Benchmark */ + post: operations["importBenchmark"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/ccis/{cci}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return data for the specified CCI */ + get: operations["getCci"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/rules/{ruleId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Return the definition and associated check and fix for the specified Rule + * @description Note: A very small number of edge cases are known to exist where published STIGs have updated Rule Content without updating the associated RuleId. In these cases, it is possible this endpoint may return inconsistent Rule info. If you need specific Rule information for a given STIG Revision, use the `/stigs/{benchmarkId}/revisions/{revisionStr}/rules/{ruleId}` endpoint. + */ + get: operations["getRuleByRuleId"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/scap-maps": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of SCAP benchmarkIds mapped to Manual benchmarkIds */ + get: operations["getScapMap"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return properties of the specified STIG */ + get: operations["getStigById"]; + put?: never; + post?: never; + /** Deletes a STIG (*** and all revisions ***) */ + delete: operations["deleteStigById"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of revisions for the specified STIG */ + get: operations["getRevisionsByBenchmarkId"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions/{revisionStr}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return metadata for the specified revision of a STIG */ + get: operations["getRevisionByString"]; + put?: never; + post?: never; + /** Deletes the specified revision of a STIG */ + delete: operations["deleteRevisionByString"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions/{revisionStr}/ccis": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of CCIs from a STIG revision */ + get: operations["getCcisByRevision"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions/{revisionStr}/groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return the list of groups for the specified revision of a STIG. */ + get: operations["getGroupsByRevision"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions/{revisionStr}/groups/{groupId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * Return the rules, checks and fixes for a Group from a specified revision of a STIG. + * @description None + */ + get: operations["getGroupByRevision"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions/{revisionStr}/rules": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return rule data for the specified revision of a STIG. */ + get: operations["getRulesByRevision"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/stigs/{benchmarkId}/revisions/{revisionStr}/rules/{ruleId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return rule data for the specified Rule in a revision of a STIG. */ + get: operations["getRuleByRevision"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user": { + parameters: { + query?: { + /** @description A query parameter that identifies a UserPreference */ + projection?: components["parameters"]["UserPreferenceQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return the requester's user information */ + get: operations["getUser"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user/web-preferences": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return the requester's web-preferences */ + get: operations["getUserWebPreferences"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + /** Merge the provided object to the requester's web-preferences */ + patch: operations["patchUserWebPreferences"]; + trace?: never; + }; + "/users": { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a list of Users accessible to the requester */ + get: operations["getUsers"]; + put?: never; + /** Create a User */ + post: operations["createUser"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/users/{userId}": { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + /** Return a User */ + get: operations["getUserByUserId"]; + /** Set all properties of a User */ + put: operations["replaceUser"]; + post?: never; + /** Delete a User that has never accessed the system. */ + delete: operations["deleteUser"]; + options?: never; + head?: never; + /** Merge provided properties with a User */ + patch: operations["updateUser"]; + trace?: never; + }; + "/user-groups": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Get a list of User Groups accessible to the requester */ + get: operations["getUserGroups"]; + put?: never; + /** Create a User Group */ + post: operations["createUserGroup"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/user-groups/{userGroupId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** Return a User Group */ + get: operations["getUserGroup"]; + /** Replace a User Group */ + put: operations["putUserGroup"]; + post?: never; + /** Delete a User Group */ + delete: operations["deleteUserGroup"]; + options?: never; + head?: never; + /** Patch a User Group */ + patch: operations["patchUserGroup"]; + trace?: never; + }; +} +export type webhooks = Record; +export interface components { + schemas: { + RoleId: number; + AclForGrant: { + defaultAccess?: components["schemas"]["AclRuleAccess"]; + acl?: components["schemas"]["AclRuleBasic"][]; + }; + /** + * @default rw + * @enum {string} + */ + AclRuleAccess: "none" | "r" | "rw"; + AclRuleAssetBasic: { + asset?: components["schemas"]["AssetBasic"]; + benchmarkId?: components["schemas"]["BenchmarkId"]; + access?: components["schemas"]["AclRuleAccess"]; + }; + AclRuleAssetPut: { + assetId?: components["schemas"]["AssetId"]; + benchmarkId?: components["schemas"]["BenchmarkId"]; + access: components["schemas"]["AclRuleAccess"]; + }; + AclRuleBasic: components["schemas"]["AclRuleAssetBasic"] | components["schemas"]["AclRuleLabel"]; + AclRuleLabel: { + label?: components["schemas"]["LabelBasicWithColor"]; + benchmarkId?: components["schemas"]["BenchmarkId"]; + access: components["schemas"]["AclRuleAccess"]; + }; + AclRuleLabelBasic: { + label?: components["schemas"]["LabelBasic"]; + benchmarkId?: components["schemas"]["BenchmarkId"]; + access: components["schemas"]["AclRuleAccess"]; + }; + AclRuleLabelPut: { + labelId?: components["schemas"]["LabelId"]; + benchmarkId?: components["schemas"]["BenchmarkId"]; + access: components["schemas"]["AclRuleAccess"]; + }; + AclRulePut: components["schemas"]["AclRuleAssetPut"] | components["schemas"]["AclRuleLabelPut"]; + AclSource: { + grantee?: components["schemas"]["Grantee"]; + aclRule?: components["schemas"]["AclRuleAssetBasic"] | components["schemas"]["AclRuleLabelBasic"]; + }; + ApAcronym: components["schemas"]["String20Nullable"]; + /** @enum {string} */ + ApiClassification: "NONE" | "U" | "FOUO" | "CUI" | "C" | "S" | "TS" | "SCI"; + ApiConfiguration: { + classification?: components["schemas"]["ApiClassification"]; + commit?: components["schemas"]["CommitObject"]; + lastMigration?: components["schemas"]["LastMigration"]; + version?: components["schemas"]["ApiVersion"]; + }; + ApiDefinition: Record | unknown[]; + ApiVersion: components["schemas"]["Version"]; + /** + * @default gzip + * @enum {string} + */ + AppDataFormat: "jsonl" | "gzip"; + AppDataTable: { + name?: components["schemas"]["String255"]; + rows?: number; + dataLength?: number; + }; + AppInfo: { + date: components["schemas"]["StringDateTime"]; + schema: components["schemas"]["AppInfoSchemaVersion"]; + version: components["schemas"]["ApiVersion"]; + collections: { + [key: string]: components["schemas"]["AppInfoCollection"]; + }; + requests: components["schemas"]["AppInfoRequests"]; + users: components["schemas"]["AppInfoUsers"]; + groups?: { + [key: string]: components["schemas"]["AppInfoGroups"]; + }; + mysql: components["schemas"]["AppInfoMySql"]; + nodejs: components["schemas"]["AppInfoNodejs"]; + }; + AppInfoGroups: { + name: components["schemas"]["String255"]; + members: components["schemas"]["IntegerMinimumZeroNullable"]; + created: components["schemas"]["Created"]; + modifiedDate: components["schemas"]["StringDateTime"]; + roles: components["schemas"]["AppInfoGroupsRoles"]; + }; + AppInfoGroupsRoles: { + full: components["schemas"]["IntegerMinimumZeroNullable"]; + owner: components["schemas"]["IntegerMinimumZeroNullable"]; + manage: components["schemas"]["IntegerMinimumZeroNullable"]; + restricted: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoSchemaVersion: string; + AppInfoNodejs: { + version: components["schemas"]["ApiVersion"]; + /** Format: double */ + uptime: number; + os: components["schemas"]["AppInfoNodeOs"]; + environment: { + [key: string]: string; + }; + memory: components["schemas"]["AppInfoNodeMemory"]; + cpus: components["schemas"]["AppInfoNodeCpus"][]; + }; + AppInfoNodeOs: { + platform: components["schemas"]["String255"]; + arch: components["schemas"]["String255"]; + osMachine: components["schemas"]["String255"]; + osName: components["schemas"]["String255"]; + osRelease: components["schemas"]["String255"]; + loadAverage: components["schemas"]["String255"]; + }; + AppInfoNodeCpus: { + model: components["schemas"]["String255"]; + speed: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoNodeMemory: { + rss: components["schemas"]["Integer64MinimumZero"]; + heapTotal: components["schemas"]["Integer64MinimumZero"]; + heapUsed: components["schemas"]["Integer64MinimumZero"]; + external: components["schemas"]["Integer64MinimumZero"]; + arrayBuffers: components["schemas"]["Integer64MinimumZero"]; + maxRss: components["schemas"]["Integer64MinimumZero"]; + }; + AppInfoMySql: { + version: components["schemas"]["ApiVersion"]; + tables: components["schemas"]["AppInfoMysqlTableStats"]; + variables: components["schemas"]["AppInfoMysqlVariables"]; + status: components["schemas"]["AppInfoMysqlStatus"]; + }; + AppInfoMysqlStatus: { + Bytes_received: components["schemas"]["String255"]; + Bytes_sent: components["schemas"]["String255"]; + Handler_commit: components["schemas"]["String255"]; + Handler_update: components["schemas"]["String255"]; + Handler_write: components["schemas"]["String255"]; + Innodb_buffer_pool_bytes_data: components["schemas"]["String255"]; + Innodb_buffer_pool_pages_total: components["schemas"]["String255"]; + Innodb_buffer_pool_pages_free: components["schemas"]["String255"]; + Innodb_buffer_pool_pages_dirty: components["schemas"]["String255"]; + Innodb_buffer_pool_pages_flushed: components["schemas"]["String255"]; + Innodb_buffer_pool_read_requests: components["schemas"]["String255"]; + Innodb_buffer_pool_reads: components["schemas"]["String255"]; + Innodb_buffer_pool_wait_free: components["schemas"]["String255"]; + Innodb_redo_log_current_lsn?: components["schemas"]["String255"]; + Innodb_redo_log_checkpoint_lsn?: components["schemas"]["String255"]; + Innodb_redo_log_flushed_to_disk_lsn?: components["schemas"]["String255"]; + Innodb_log_waits: components["schemas"]["String255"]; + Innodb_log_writes: components["schemas"]["String255"]; + Innodb_os_log_fsyncs: components["schemas"]["String255"]; + Innodb_data_reads: components["schemas"]["String255"]; + Innodb_data_writes: components["schemas"]["String255"]; + Innodb_data_fsyncs: components["schemas"]["String255"]; + Innodb_pages_read: components["schemas"]["String255"]; + Innodb_pages_written: components["schemas"]["String255"]; + Innodb_pages_created: components["schemas"]["String255"]; + Innodb_rows_read: components["schemas"]["String255"]; + Innodb_rows_updated: components["schemas"]["String255"]; + Innodb_rows_inserted: components["schemas"]["String255"]; + Innodb_rows_deleted: components["schemas"]["String255"]; + Innodb_row_lock_waits: components["schemas"]["String255"]; + Innodb_row_lock_current_waits: components["schemas"]["String255"]; + Innodb_row_lock_time: components["schemas"]["String255"]; + Innodb_row_lock_time_avg: components["schemas"]["String255"]; + Innodb_row_lock_time_max: components["schemas"]["String255"]; + Created_tmp_tables: components["schemas"]["String255"]; + Created_tmp_disk_tables: components["schemas"]["String255"]; + Created_tmp_files: components["schemas"]["String255"]; + Open_tables: components["schemas"]["String255"]; + Opened_tables: components["schemas"]["String255"]; + Table_open_cache_hits: components["schemas"]["String255"]; + Table_open_cache_misses: components["schemas"]["String255"]; + Table_open_cache_overflows: components["schemas"]["String255"]; + Connections: components["schemas"]["String255"]; + Max_used_connections: components["schemas"]["String255"]; + Threads_connected: components["schemas"]["String255"]; + Threads_running: components["schemas"]["String255"]; + Threads_created: components["schemas"]["String255"]; + Threads_cached: components["schemas"]["String255"]; + Aborted_connects: components["schemas"]["String255"]; + Aborted_clients: components["schemas"]["String255"]; + Queries: components["schemas"]["String255"]; + Slow_queries: components["schemas"]["String255"]; + Select_scan: components["schemas"]["String255"]; + Select_full_join: components["schemas"]["String255"]; + Select_full_range_join: components["schemas"]["String255"]; + Sort_merge_passes: components["schemas"]["String255"]; + Sort_scan: components["schemas"]["String255"]; + Sort_range: components["schemas"]["String255"]; + Sort_rows: components["schemas"]["String255"]; + Table_locks_immediate: components["schemas"]["String255"]; + Table_locks_waited: components["schemas"]["String255"]; + Uptime: components["schemas"]["String255"]; + Uptime_since_flush_status: components["schemas"]["String255"]; + }; + AppInfoMysqlVariables: { + innodb_buffer_pool_size: components["schemas"]["String255"]; + innodb_buffer_pool_instances: components["schemas"]["String255"]; + innodb_log_buffer_size: components["schemas"]["String255"]; + innodb_log_file_size: components["schemas"]["String255"]; + innodb_redo_log_capacity?: components["schemas"]["String255"]; + innodb_io_capacity: components["schemas"]["String255"]; + innodb_io_capacity_max: components["schemas"]["String255"]; + innodb_flush_sync: components["schemas"]["String255"]; + innodb_flush_log_at_trx_commit: components["schemas"]["String255"]; + innodb_doublewrite: components["schemas"]["String255"]; + innodb_lock_wait_timeout: components["schemas"]["String255"]; + innodb_change_buffering: components["schemas"]["String255"]; + tmp_table_size: components["schemas"]["String255"]; + max_heap_table_size: components["schemas"]["String255"]; + temptable_max_mmap: components["schemas"]["String255"]; + temptable_max_ram: components["schemas"]["String255"]; + key_buffer_size: components["schemas"]["String255"]; + sort_buffer_size: components["schemas"]["String255"]; + read_buffer_size: components["schemas"]["String255"]; + read_rnd_buffer_size: components["schemas"]["String255"]; + join_buffer_size: components["schemas"]["String255"]; + binlog_cache_size: components["schemas"]["String255"]; + max_connections: components["schemas"]["String255"]; + max_allowed_packet: components["schemas"]["String255"]; + thread_cache_size: components["schemas"]["String255"]; + table_open_cache: components["schemas"]["String255"]; + table_definition_cache: components["schemas"]["String255"]; + version: components["schemas"]["Version"]; + version_compile_machine: components["schemas"]["String255"]; + version_compile_os: components["schemas"]["String255"]; + long_query_time: components["schemas"]["String255"]; + }; + AppInfoMysqlTableStats: { + [key: string]: components["schemas"]["AppInfoTableInfo"]; + }; + AppInfoTableInfo: { + tableRows: components["schemas"]["IntegerMinimumZeroNullable"]; + tableCollation: components["schemas"]["String255"]; + avgRowLength: components["schemas"]["IntegerMinimumZeroNullable"]; + dataLength: components["schemas"]["IntegerMinimumZeroNullable"]; + indexLength: components["schemas"]["IntegerMinimumZeroNullable"]; + autoIncrement: components["schemas"]["IntegerMinimumZeroNullable"]; + createTime: components["schemas"]["Created"]; + updateTime?: components["schemas"]["StringDateTimeNullable"]; + rowCount: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoUsers: { + userInfo: { + [key: string]: components["schemas"]["AppInfoUserInfo"]; + }; + userPrivilegeCounts: { + [key: string]: components["schemas"]["AppInfoUserPrivilegeCounts"]; + }; + }; + AppInfoUserPrivilegeCounts: { + overall?: components["schemas"]["AppInfoPrivilegeTimeSeriesCounts"]; + activeInLast30Days?: { + [key: string]: components["schemas"]["AppInfoPrivilegeTimeSeriesCounts"]; + }; + activeInLast90Days?: { + [key: string]: components["schemas"]["AppInfoPrivilegeTimeSeriesCounts"]; + }; + }; + AppInfoPrivilegeTimeSeriesCounts: { + [key: string]: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoUserInfo: { + username: components["schemas"]["Username"]; + created: components["schemas"]["Created"]; + lastAccess: components["schemas"]["UserLastAccess"]; + privileges: components["schemas"]["AppInfoUserPrivileges"]; + roles: components["schemas"]["AppInfoUserRoles"]; + }; + AppInfoUserRoles: { + full: components["schemas"]["IntegerMinimumZeroNullable"]; + owner: components["schemas"]["IntegerMinimumZeroNullable"]; + manage: components["schemas"]["IntegerMinimumZeroNullable"]; + restricted: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoUserPrivileges: components["schemas"]["String255"][]; + AppInfoRequests: { + totalRequests: components["schemas"]["IntegerMinimumZeroNullable"]; + totalApiRequests: components["schemas"]["IntegerMinimumZeroNullable"]; + totalRequestDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + operationIds: { + [key: string]: components["schemas"]["AppInfoOperation"]; + }; + }; + AppInfoOperation: { + totalRequests: components["schemas"]["IntegerMinimumZeroNullable"]; + totalDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + elevatedRequests: components["schemas"]["IntegerMinimumZeroNullable"]; + minDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + maxDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + maxDurationUpdates: components["schemas"]["IntegerMinimumZeroNullable"]; + retried: components["schemas"]["IntegerMinimumZeroNullable"]; + averageRetries: components["schemas"]["IntegerMinimumZeroNullable"]; + totalResLength: components["schemas"]["IntegerMinimumZeroNullable"]; + minResLength: components["schemas"]["IntegerMinimumZeroNullable"]; + maxResLength: components["schemas"]["IntegerMinimumZeroNullable"]; + totalReqLength?: components["schemas"]["IntegerMinimumZeroNullable"]; + minReqLength?: components["schemas"]["IntegerMinimumZeroNullable"]; + maxReqLength?: components["schemas"]["IntegerMinimumZeroNullable"]; + projections?: components["schemas"]["AppInfoOperationIdProjections"]; + clients: components["schemas"]["AppInfoClients"]; + users: components["schemas"]["AppInfoUserRequests"]; + errors: { + [key: string]: number; + }; + }; + AppInfoClients: { + [key: string]: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoUserRequests: { + [key: string]: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoOperationIdProjections: { + [key: string]: components["schemas"]["AppInfoOperationIdProjection"]; + }; + AppInfoOperationIdProjection: { + statusStats?: { + totalRequests: components["schemas"]["IntegerMinimumZeroNullable"]; + minDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + maxDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + totalDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + retried: components["schemas"]["IntegerMinimumZeroNullable"]; + averageRetries: components["schemas"]["IntegerMinimumZeroNullable"]; + averageDuration: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + }; + AppInfoCollection: { + name: components["schemas"]["CollectionName"]; + state: components["schemas"]["AppInfoCollectionState"]; + settings: components["schemas"]["CollectionSettings"]; + assets: components["schemas"]["IntegerMinimumZeroNullable"]; + assetsDisabled: components["schemas"]["IntegerMinimumZeroNullable"]; + uniqueStigs: components["schemas"]["IntegerMinimumZeroNullable"]; + stigAssignments: components["schemas"]["IntegerMinimumZeroNullable"]; + rules: components["schemas"]["IntegerMinimumZeroNullable"]; + reviews: components["schemas"]["Integer64MinimumZeroNullable"]; + reviewsDisabled: components["schemas"]["Integer64MinimumZeroNullable"]; + assetStigRanges: components["schemas"]["AppInfoAssetStigRanges"]; + grants: components["schemas"]["AppInfoCollectionGrants"]; + roleCounts: components["schemas"]["AppInfoCollectionRoleCounts"]; + labelCounts: components["schemas"]["AppInfoLabelCounts"]; + }; + AppInfoCollectionRoleCounts: { + restricted: components["schemas"]["IntegerMinimumZeroNullable"]; + full: components["schemas"]["IntegerMinimumZeroNullable"]; + manage: components["schemas"]["IntegerMinimumZeroNullable"]; + owner: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoCollectionGrants: { + [key: string]: components["schemas"]["AppInfoCollectionGrant"]; + }; + AppInfoCollectionGrant: { + role: components["schemas"]["Roles"]; + grantee: components["schemas"]["AppInfoGrantee"]; + ruleCounts: components["schemas"]["AppInfoRuleCounts"]; + /** Format: int64 */ + uniqueStigs: number; + uniqueAssets: components["schemas"]["IntegerMinimumZeroNullable"]; + uniqueStigsDisabled: components["schemas"]["IntegerMinimumZeroNullable"]; + uniqueAssetsDisabled: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoGrantee: { + userId: components["schemas"]["IntegerMinimumZeroNullable"]; + userGroupId: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoRuleCounts: { + r: components["schemas"]["IntegerMinimumZeroNullable"]; + rw: components["schemas"]["IntegerMinimumZeroNullable"]; + none: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoCollectionSettings: { + fields?: components["schemas"]["CollectionFieldSettings"]; + status?: components["schemas"]["CollectionStatusSettings"]; + history?: components["schemas"]["CollectionHistorySettings"]; + importOptions?: components["schemas"]["CollectionImportOptions"]; + }; + /** @enum {string} */ + AppInfoCollectionState: "enabled" | "disabled"; + AppInfoLabelCounts: { + collectionLabels: components["schemas"]["IntegerMinimumZeroNullable"]; + labeledAssets: components["schemas"]["IntegerMinimumZeroNullable"]; + assetLabels: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoGrantCounts: { + role1?: components["schemas"]["IntegerMinimumZeroNullable"]; + role2?: components["schemas"]["IntegerMinimumZeroNullable"]; + role3?: components["schemas"]["IntegerMinimumZeroNullable"]; + role4?: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoRestrictedUsers: { + uniqueAssets?: components["schemas"]["IntegerMinimumZeroNullable"]; + stigAsstCount?: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + AppInfoAssetStigRanges: { + range00: components["schemas"]["IntegerMinimumZeroNullable"]; + range01to05: components["schemas"]["IntegerMinimumZeroNullable"]; + range06to10: components["schemas"]["IntegerMinimumZeroNullable"]; + range11to15: components["schemas"]["IntegerMinimumZeroNullable"]; + range16plus: components["schemas"]["IntegerMinimumZeroNullable"]; + }; + Asset: { + assetId: components["schemas"]["AssetId"]; + collection: components["schemas"]["CollectionBasic"]; + description: components["schemas"]["AssetDescription"]; + fqdn: components["schemas"]["AssetFqdn"]; + ip: components["schemas"]["AssetIp"]; + labelIds?: components["schemas"]["LabelId"][]; + mac: components["schemas"]["AssetMac"]; + metadata?: components["schemas"]["Metadata"]; + name: components["schemas"]["AssetName"]; + noncomputing: components["schemas"]["AssetNoncomputing"]; + }; + AssetBasic: { + assetId: components["schemas"]["AssetId"]; + name: components["schemas"]["AssetName"]; + }; + AssetBasicProjected: { + assetId: components["schemas"]["AssetId"]; + assetLabelIds?: components["schemas"]["LabelId"][]; + assetLabels?: components["schemas"]["LabelBasicWithColor"][]; + collectionId?: components["schemas"]["CollectionId"]; + name: components["schemas"]["AssetName"]; + access?: components["schemas"]["AclRuleAccess"]; + }; + AssetCount: number; + AssetCreateBatch: components["schemas"]["AssetBatchItem"][]; + AssetBatchItem: { + description: components["schemas"]["AssetDescription"]; + fqdn?: components["schemas"]["AssetFqdn"]; + ip: components["schemas"]["AssetIp"]; + labelNames?: components["schemas"]["LabelName"][]; + mac?: components["schemas"]["AssetMac"]; + metadata: components["schemas"]["Metadata"]; + name: components["schemas"]["AssetName"]; + noncomputing: components["schemas"]["AssetNoncomputing"]; + /** @description The benchmarkIds mapped to this Asset */ + stigs: string[]; + }; + AssetCreateOrReplace: { + collectionId: components["schemas"]["CollectionId"]; + description: components["schemas"]["AssetDescription"]; + fqdn?: components["schemas"]["AssetFqdn"]; + ip: components["schemas"]["AssetIp"]; + labelNames?: components["schemas"]["LabelName"][]; + mac?: components["schemas"]["AssetMac"]; + metadata: components["schemas"]["Metadata"]; + name: components["schemas"]["AssetName"]; + noncomputing: components["schemas"]["AssetNoncomputing"]; + /** @description The benchmarkIds mapped to this Asset */ + stigs: string[]; + }; + AssetDescription: components["schemas"]["String255Nullable"]; + AssetForCollection: { + assetId?: components["schemas"]["AssetId"]; + name?: components["schemas"]["AssetName"]; + }; + AssetFqdn: components["schemas"]["String255Nullable"]; + AssetId: components["schemas"]["StringIntId"]; + AssetIp: components["schemas"]["String255Nullable"]; + AssetMac: components["schemas"]["String255Nullable"]; + AssetName: components["schemas"]["String255"]; + AssetNoncomputing: boolean; + AssetProjected: { + assetId: components["schemas"]["AssetId"]; + collection: components["schemas"]["CollectionBasic"]; + description: components["schemas"]["AssetDescription"]; + fqdn: components["schemas"]["AssetFqdn"]; + ip: components["schemas"]["AssetIp"]; + labelIds: components["schemas"]["LabelId"][]; + labels?: components["schemas"]["LabelBasicWithColor"][]; + mac: components["schemas"]["AssetMac"]; + metadata?: components["schemas"]["Metadata"]; + name: components["schemas"]["AssetName"]; + noncomputing: components["schemas"]["AssetNoncomputing"]; + statusStats?: { + acceptedCount?: number | null; + maxTs?: components["schemas"]["MaxTs"]; + minTs?: components["schemas"]["MinTs"]; + rejectedCount?: number | null; + ruleCount?: components["schemas"]["RuleCount"]; + savedCount?: number | null; + stigCount?: number; + submittedCount?: number | null; + }; + /** @description The benchmarkIds mapped to this Asset */ + stigs?: components["schemas"]["CollectionStig"][]; + }; + AssetStigResponse: { + benchmarkId: components["schemas"]["BenchmarkId"]; + revisionDate: components["schemas"]["RevisionDate"]; + revisionStr: components["schemas"]["RevisionStrRaw"]; + ruleCount: components["schemas"]["RuleCount"]; + }; + /** + * @description An array that specifies a list of Assets/STIG items. + * + * Each array item is an object that MUST include the property `assetId` and MAY include the property `stigs`. + * + * If the `stigs` property is absent, the default value of the property is used. The default value is an array of the default revisions of each STIG to which the requesting User + * has been granted access on the Asset. + * + * If the `stigs` property is present, the value MUST be an array. Each array member is EITHER: + * - an object that identifies both a `benchmarkId` and a specific `revisionStr` + * - a string whose value is a `benchmarkId`. This is equivalent to specifying the object {"benchmarkId": [provided benchmarkId], "revisionStr": [default revisionStr for the provided benchmarkId]} + */ + AssetStigSelection: { + assetId: components["schemas"]["AssetId"]; + stigs?: (components["schemas"]["RevisionBasic"] | components["schemas"]["String255"])[]; + }; + AssetUpdate: { + collectionId?: components["schemas"]["CollectionId"]; + description?: components["schemas"]["AssetDescription"]; + fqdn?: components["schemas"]["AssetFqdn"]; + ip?: components["schemas"]["AssetIp"]; + labelNames?: components["schemas"]["LabelName"][]; + mac?: components["schemas"]["AssetMac"]; + metadata?: components["schemas"]["Metadata"]; + name?: components["schemas"]["AssetName"]; + noncomputing?: components["schemas"]["AssetNoncomputing"]; + /** @description The benchmarkIds mapped to this Asset */ + stigs?: components["schemas"]["BenchmarkId"][]; + }; + AssetsPatchRequest: { + assetIds: components["schemas"]["AssetId"][]; + /** @enum {string} */ + operation: "delete"; + }; + AssetsPatchResponse: { + assetIds?: components["schemas"]["AssetId"][]; + /** @enum {string} */ + operation?: "deleted"; + }; + Attribution: { + userId?: components["schemas"]["UserId"]; + username?: components["schemas"]["Username"]; + ts?: components["schemas"]["StringDateTime"]; + }; + Attributions: { + created?: components["schemas"]["Attribution"]; + modified?: components["schemas"]["Attribution"]; + }; + BenchmarkId: components["schemas"]["String255Nullable"]; + Cci: { + cci?: components["schemas"]["CciString"]; + contributor?: string; + definition?: components["schemas"]["DefinitionString"]; + emassAp?: components["schemas"]["EmassAp"]; + publishdate?: components["schemas"]["StringDateTime"]; + references?: components["schemas"]["CciReferenceItem"][]; + status?: components["schemas"]["CciStatus"]; + stigs?: components["schemas"]["RevisionBasic"][]; + type?: components["schemas"]["CciType"]; + }; + CciBasic: { + apAcronym: components["schemas"]["ApAcronym"]; + cci: components["schemas"]["CciString"]; + control: string | null; + definition: components["schemas"]["DefinitionString"]; + }; + CciListItem: { + cci?: components["schemas"]["CciString"]; + references?: components["schemas"]["CciReferenceItem"][]; + type?: components["schemas"]["CciType"]; + }; + CciLocation: components["schemas"]["String255"]; + CciReferenceItem: { + creator?: string; + indexDisa?: components["schemas"]["IndexDisa"]; + location?: components["schemas"]["CciLocation"]; + parentControl?: components["schemas"]["ParentControl"]; + textRefNist?: components["schemas"]["TextRefNist"]; + title?: components["schemas"]["CciString"]; + version?: components["schemas"]["VersionString"]; + }; + CciStatus: components["schemas"]["String20"]; + CciString: components["schemas"]["String255"]; + CciType: components["schemas"]["String20"]; + Check: { + content?: string; + system?: string; + }; + ChecklistAssetStig: { + assetId?: components["schemas"]["AssetId"]; + autoResult?: boolean; + comment?: components["schemas"]["CommentaryStringNullable"]; + detail?: components["schemas"]["CommentaryStringNullable"]; + groupId?: components["schemas"]["GroupId"]; + groupTitle?: components["schemas"]["GroupTitle"]; + result?: components["schemas"]["ChecklistResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + rule?: components["schemas"]["RuleProjected"]; + ruleId?: components["schemas"]["RuleId"]; + ruleTitle?: components["schemas"]["RuleTitle"]; + severity?: components["schemas"]["RuleSeverity"]; + status?: components["schemas"]["ChecklistStatus"]; + statusTs?: components["schemas"]["StringDateTimeNullable"]; + touchTs?: components["schemas"]["StringDateTimeNullable"]; + ts?: components["schemas"]["StringDateTimeNullable"]; + version?: components["schemas"]["VersionString"]; + }[]; + /** @description The CKL format generated and read by DISA STIG Viewer */ + ChecklistCkl: { + ASSET?: { + ASSET_TYPE?: string; + HOST_FQDN?: string; + HOST_GUID?: string; + HOST_IP?: string; + HOST_MAC?: string; + HOST_NAME?: string; + TARGET_KEY?: string; + TECH_AREA?: string; + }; + STIGS?: { + iSTIG?: { + STIG_INFO?: { + SI_DATA?: { + SID_DATA?: string; + SID_NAME?: string; + }; + }[]; + VULN?: { + COMMENTS?: string; + FINDING_DETAILS?: string; + SEVERITY_JUSTIFICATION?: string; + SEVERITY_OVERRIDE?: string; + /** @enum {string} */ + STATUS?: "Open" | "NotAFinding" | "Not_Applicable" | "Not_Reviewed"; + STIG_DATA?: { + ATTRIBUTE_DATA?: string; + VULN_ATTRIBUTE?: string; + }[]; + }[]; + }[]; + }; + }; + /** @description The CKLB format generated and read by DISA STIG VIewer 3 */ + ChecklistCklb: { + title?: string; + /** Format: uuid */ + id?: string; + active?: boolean; + mode?: number; + has_path?: boolean; + target_data?: components["schemas"]["TargetData"]; + stigs?: components["schemas"]["StigCklb"][]; + }; + ChecklistJsonAccess: { + access?: components["schemas"]["AclRuleAccess"]; + checklist?: components["schemas"]["ChecklistAssetStig"]; + }; + TargetData: { + target_type?: string; + host_name?: components["schemas"]["AssetName"]; + ip_address?: components["schemas"]["AssetIp"]; + mac_address?: components["schemas"]["AssetMac"]; + fqdn?: components["schemas"]["AssetFqdn"]; + comments?: string; + role?: string; + is_web_database?: boolean; + technology_area?: string; + web_db_site?: string; + web_db_instance?: string; + }; + StigCklb: { + stig_name?: string; + display_name?: string; + stig_id?: string; + version?: string; + release_info?: string; + /** Format: uuid */ + uuid?: string; + reference_identifier?: string; + size?: number; + rules?: components["schemas"]["Rule"][]; + }; + Rule: { + /** Format: uuid */ + uuid?: string; + /** Format: uuid */ + stig_uuid?: string; + target_key?: string | null; + stig_ref?: string | null; + group_id?: string; + rule_id?: string; + rule_id_src?: string; + weight?: string; + classification?: string; + severity?: string; + rule_version?: string; + group_title?: string; + rule_title?: string; + fix_text?: string; + false_positives?: string | null; + false_negatives?: string | null; + discussion?: string; + check_content?: string; + documentable?: string; + mitigations?: string | null; + potential_impacts?: string | null; + third_party_tools?: string | null; + mitigation_control?: string | null; + responsibility?: string | null; + security_override_guidance?: string | null; + ia_controls?: string | null; + check_content_ref?: { + href?: string; + name?: string; + }; + legacy_ids?: string[]; + group_tree?: components["schemas"]["GroupTree"][]; + /** Format: date-time */ + createdAt?: string; + /** Format: date-time */ + updatedAt?: string; + /** Format: uuid */ + STIGUuid?: string; + status?: string; + overrides?: Record; + comments?: string; + finding_details?: string; + ccis?: string[]; + }; + GroupTree: { + id?: string; + title?: string; + description?: string; + }; + ChecklistCollectionCounts: { + results?: { + fail?: number; + notapplicable?: number; + other?: number; + pass?: number; + }; + statuses?: { + accepted?: number; + rejected?: number; + saved?: number; + submitted?: number; + }; + }; + ChecklistCollectionStig: { + counts?: components["schemas"]["ChecklistCollectionCounts"]; + groupId?: components["schemas"]["GroupId"]; + groupTitle?: components["schemas"]["GroupTitle"]; + ruleId?: components["schemas"]["RuleId"]; + ruleTitle?: components["schemas"]["RuleTitle"]; + severity?: components["schemas"]["RuleSeverity"]; + timestamps?: { + statusTs?: components["schemas"]["ChecklistCollectionStigTimestamps"]; + touchTs?: components["schemas"]["ChecklistCollectionStigTimestamps"]; + ts?: components["schemas"]["ChecklistCollectionStigTimestamps"]; + }; + version?: components["schemas"]["VersionString"]; + }; + ChecklistCollectionStigTimestamp: components["schemas"]["StringDateTimeNullable"]; + ChecklistCollectionStigTimestamps: { + max?: components["schemas"]["ChecklistCollectionStigTimestamp"]; + min?: components["schemas"]["ChecklistCollectionStigTimestamp"]; + }; + /** + * @description The Review result + * @enum {string|null} + */ + ChecklistResult: "fail" | "pass" | "notapplicable" | "notchecked" | "unknown" | "error" | "notselected" | "informational" | "fixed" | null; + /** + * @description The Review result + * @enum {string|null} + */ + ChecklistResultUnreviewed: "notchecked" | "unknown" | "error" | "notselected" | "informational" | "fixed" | null; + /** @enum {string|null} */ + ChecklistStatus: "saved" | "submitted" | "accepted" | "rejected" | null; + /** @description An XCCDF document with TestResult. Note: OAS 3.x cannot represent the actual XML schema */ + ChecklistXccdf: { + [key: string]: unknown; + }; + ClientErrorBadAssetPost: { + /** @enum {string|null} */ + code?: "422" | null; + error: string; + detail: { + failure?: string; + detail?: { + name?: string; + assetIndex?: number; + benchmarkId?: string; + benchmarkIdIndex?: number; + labelName?: string; + labelIndex?: number; + }; + }[]; + }; + ClientErrorDuplicateCollection: { + /** @enum {string} */ + code?: "400"; + data?: components["schemas"]["Collection"]; + /** @enum {string} */ + message?: "Duplicate name"; + }; + Collection: { + collectionId: components["schemas"]["CollectionId"]; + created: components["schemas"]["Created"]; + description: components["schemas"]["CollectionDescription"]; + metadata: components["schemas"]["Metadata"]; + name: components["schemas"]["CollectionName"]; + settings: components["schemas"]["CollectionSettings"]; + }; + CollectionBasic: { + collectionId?: components["schemas"]["CollectionId"]; + name?: components["schemas"]["CollectionName"]; + }; + CollectionCloneOptions: { + /** + * @description Clone the source Collection's Assets and their core properties. If this option is not enabled then the stagMappings and pinRevisions options are ignored. + * @default true + */ + assets: boolean; + /** + * @description Clone the source Collection's users and their grants. Whether this option is enabled or not, the creator of the cloned Collection (ie. you) will be given an Owner grant in the clone. + * @default true + */ + grants: boolean; + /** + * @description Clone the source Collection's available labels. You must enable this option AND the assets option for labels to be mapped to Assets in the clone. + * @default true + */ + labels: boolean; + /** + * @description matchSource: STIGs in the source Collection that are pinned to a specific Revision will be pinned to that Revision in the clone. STIGs that track the latest Revision (unpinned) in the source will be unpinned in the clone.

sourceDefaults: All STIGs in the clone will be pinned to a specific Revision. STIGs that are pinned to a specific Revision in the source Collection will be pinned to that Revision in the clone. STIGs that track the latest Revision in the source will be pinned to the current latest Revision in the clone. + * @default matchSource + * @enum {string} + */ + pinRevisions: "matchSource" | "sourceDefaults"; + /** + * @description withReviews: Assets will be cloned with their current STIG assignments and ALL stored Reviews. This will include Reviews that are no longer associated with a current STIG assignment or are associated with a non-default Revision of a STIG.

withoutReviews: Assets will be cloned with their current STIG assignments but NO stored Reviews will be cloned. All Metrics will be set to zero.

none: Assets will be cloned with only their core properties and no STIG assignments or Reviews. The pinRevisions option will be ignored. + * @default withReviews + * @enum {string} + */ + stigMappings: "none" | "withReviews" | "withoutReviews"; + }; + CollectionCloneRequest: { + description: components["schemas"]["CollectionDescription"]; + name: components["schemas"]["CollectionName"]; + options?: components["schemas"]["CollectionCloneOptions"]; + }; + /** @description The response body is a stream of newline-delimited JSON (NDJSON) objects reporting the progress of the (possibly long running) cloning process. Each object conforms to this schema, but not all objects will have every property.

The sequence of objects starts with multiple {"stage": "collection"} objects, optionally followed by multiple {"stage": "reviews"} objects if review cloning is requested, and concludes with one {"stage": "result"} object whose "collection" property value conforms to the CollectionProjected schema for the created Collection.

Success is indicated when the final {"stage": "result"} message is sent. Errors that prevent cloning from completing are reported with {"status": "error"} and the "result" stage is not reported. Note that the endpoint will return HTTP status 200 immediately after the request is validated and the cloning process has started, so you should not rely on status 200 for indication of cloning success. */ + CollectionCloneResponse: { + collection?: components["schemas"]["CollectionProjected"]; + error?: Record; + message?: string; + stack?: string; + /** @enum {string} */ + stage?: "collection" | "reviews" | "result"; + /** @enum {string} */ + status?: "running" | "finished" | "error"; + step?: number; + stepCount?: number; + stepName?: string; + }; + CollectionCreateOrReplace: { + description?: components["schemas"]["CollectionDescription"]; + grants: (components["schemas"]["UserGrant"] | components["schemas"]["UserGroupGrant"])[]; + labels?: components["schemas"]["LabelCreate"][]; + metadata?: components["schemas"]["Metadata"]; + name: components["schemas"]["CollectionName"]; + settings?: components["schemas"]["CollectionSettings"]; + }; + CollectionDescription: components["schemas"]["String255Nullable"]; + /** @description The response body is a stream of newline-delimited JSON (NDJSON) objects reporting the progress of the (possibly long running) export process. Each object conforms to this schema, but not all objects will have every property.

The sequence of objects starts with multiple {"stage": "prepare"} objects, followed by multiple {"stage": "assets"} objects, multiple {"stage": "reviews"} objects, and multiple {"stage": "metrics"} objects. The stream concludes with one {"stage": "commit"} object and then one {"stage": "result"} object whose "counts" property value conforms to the schema below.

Success is indicated when the final {"stage": "result"} message is sent. Errors that prevent exporting from completing are reported with {"status": "error"} and the "result" stage is not reported. Note that the endpoint will return HTTP status 200 immediately after the request is validated and the export process has started, so you should not rely on status 200 for indication of export success. */ + CollectionExportToResponse: { + counts?: { + assetsCreated?: number; + reviewsInserted?: number; + reviewsUpdated?: number; + stigsMapped?: number; + }; + error?: Record; + message?: string; + stack?: string; + /** @enum {string} */ + stage?: "prepare" | "assets" | "reviews" | "metrics" | "result"; + /** @enum {string} */ + status?: "running" | "error"; + step?: number; + stepCount?: number; + stepName?: string; + }; + CollectionFieldEnabledAlways: { + /** @enum {string} */ + enabled: "always"; + /** @enum {string} */ + required: "always" | "findings" | "optional"; + }; + CollectionFieldEnabledFindings: { + /** @enum {string} */ + enabled: "findings"; + /** @enum {string} */ + required: "findings" | "optional"; + }; + /** + * @example { + * "enabled": "always", + * "required": "findings" + * } + */ + CollectionFieldSetting: components["schemas"]["CollectionFieldEnabledAlways"] | components["schemas"]["CollectionFieldEnabledFindings"]; + CollectionFieldSettings: { + comment: components["schemas"]["CollectionFieldSetting"]; + detail: components["schemas"]["CollectionFieldSetting"]; + }; + CollectionGrant: { + roleId: components["schemas"]["RoleId"]; + collectionId: components["schemas"]["CollectionId"]; + }; + CollectionGrantProjected: { + roleId?: components["schemas"]["RoleId"]; + collection?: { + collectionId?: components["schemas"]["CollectionId"]; + name?: components["schemas"]["CollectionName"]; + }; + grantees?: components["schemas"]["Grantees"]; + }; + CollectionHistorySettings: { + /** @example 5 */ + maxReviews: number; + }; + CollectionId: components["schemas"]["StringIntId"]; + CollectionImportOptions: { + autoStatus: components["schemas"]["CollectionImportAutoStatus"]; + /** + * @description Controls how to handle unreviewed rules (those with result = 'notchecked'). + * - 'never': Don't import unreviewed rules + * - 'commented': Import unreviewed rules that have comments, using the result specified in unreviewedCommented + * - 'always': Import all unreviewed rules, using the result specified in unreviewedCommented for those with comments + * @enum {string} + */ + unreviewed: "never" | "commented" | "always"; + /** + * @description The result to use for unreviewed rules that have comments, when unreviewed is set to 'commented' or 'always'. + * @enum {string} + */ + unreviewedCommented: "notchecked" | "informational"; + /** + * @description Controls how to handle rules with empty finding details. + * - 'ignore': Leave the detail field null + * - 'import': Import the empty detail (as an empty string) + * - 'replace': Replace with a default message + * @enum {string} + */ + emptyDetail: "ignore" | "import" | "replace"; + /** + * @description Controls how to handle rules with empty comments. + * - 'ignore': Leave the comment field null + * - 'import': Import the empty comment (as an empty string) + * - 'replace': Replace with a default message + * @enum {string} + */ + emptyComment: "ignore" | "import" | "replace"; + /** @description Flag indicating whether to update Asset information (IP, MAC, FQDN, noncomputing, and metadata including role and tech area) when Asset already exists in the Collection. */ + updateAssetProps?: boolean; + /** @description Flag indicating whether Clients may POST reviews that do not conform to importOptions specified. */ + allowCustom: boolean; + }; + /** + * @description Determines how to set the status property of imported reviews for each evaluation result. + * Each property must be one of: + * - 'null': Don't set a status (Keep existing Review Status) + * - 'saved': Always set status to 'saved' + * - 'submitted': Set status to 'submitted' if the review is submittable per Collection settings + * - 'accepted': Set status to 'accepted' if the review is submittable, and User has permission to accept, otherwise 'submitted' + */ + CollectionImportAutoStatus: { + fail: components["schemas"]["ReviewStatusOption"]; + notapplicable: components["schemas"]["ReviewStatusOption"]; + pass: components["schemas"]["ReviewStatusOption"]; + }; + CollectionName: components["schemas"]["String45"]; + CollectionProjected: { + assets?: components["schemas"]["AssetForCollection"][]; + collectionId: components["schemas"]["CollectionId"]; + description: components["schemas"]["CollectionDescription"]; + grants?: (components["schemas"]["UserGrantProjected"] | components["schemas"]["UserGroupGrantProjected"])[]; + users?: components["schemas"]["GrantEffective"][]; + labels?: components["schemas"]["Label"][]; + metadata: components["schemas"]["Metadata"]; + name: components["schemas"]["CollectionName"]; + owners?: components["schemas"]["Owner"][]; + settings: components["schemas"]["CollectionSettings"]; + statistics?: components["schemas"]["CollectionStatistics"]; + stigs?: components["schemas"]["CollectionStig"][]; + }; + CollectionSettings: { + fields?: components["schemas"]["CollectionFieldSettings"]; + history?: components["schemas"]["CollectionHistorySettings"]; + status?: components["schemas"]["CollectionStatusSettings"]; + importOptions?: components["schemas"]["CollectionImportOptions"]; + }; + CollectionSettingsRequired: { + fields: components["schemas"]["CollectionFieldSettings"]; + history: components["schemas"]["CollectionHistorySettings"]; + status: components["schemas"]["CollectionStatusSettings"]; + importOptions: components["schemas"]["CollectionImportOptions"]; + }; + CollectionStatistics: { + assetCount: components["schemas"]["AssetCount"]; + checklistCount: number; + created: components["schemas"]["Created"]; + userCount: number; + }; + CollectionStatusCount: { + resultEngine: number; + total: number; + }; + CollectionStatusSettings: { + canAccept: boolean; + /** @example 2 */ + minAcceptGrant: number; + /** + * @example result + * @enum {string} + */ + resetCriteria: "any" | "result"; + }; + CollectionStig: { + benchmarkDate: components["schemas"]["StringDateNullable"]; + benchmarkId: components["schemas"]["BenchmarkId"]; + revisionPinned: boolean; + revisionStr: components["schemas"]["RevisionStr"]; + ruleCount: components["schemas"]["RuleCount"]; + }; + CollectionStigWithAssetCount: { + assetCount: components["schemas"]["AssetCount"]; + assets?: components["schemas"]["AssetForCollection"][]; + benchmarkDate: components["schemas"]["StringDateNullable"]; + benchmarkId: components["schemas"]["BenchmarkId"]; + revisionPinned: boolean; + revisionStr: components["schemas"]["RevisionStr"]; + ruleCount: components["schemas"]["RuleCount"]; + title?: components["schemas"]["StatusText"]; + }; + CollectionStigWithIsDefault: { + benchmarkDate: components["schemas"]["StringDateNullable"]; + benchmarkId: components["schemas"]["BenchmarkId"]; + isDefault: boolean; + revisionPinned: boolean; + revisionStr: components["schemas"]["RevisionStr"]; + ruleCount: components["schemas"]["RuleCount"]; + }; + CollectionUpdate: { + description?: components["schemas"]["CollectionDescription"]; + grants?: { + roleId?: components["schemas"]["RoleId"]; + userId?: components["schemas"]["UserId"]; + }[]; + labels?: components["schemas"]["LabelCreate"][]; + metadata?: components["schemas"]["Metadata"]; + name?: components["schemas"]["CollectionName"]; + settings?: components["schemas"]["CollectionSettingsRequired"]; + }; + CollectionsProjected: { + collectionId: components["schemas"]["CollectionId"]; + description: components["schemas"]["CollectionDescription"]; + metadata: components["schemas"]["Metadata"]; + name: components["schemas"]["CollectionName"]; + owners?: components["schemas"]["Owner"][]; + settings: components["schemas"]["CollectionSettings"]; + statistics?: components["schemas"]["CollectionStatistics"]; + }; + CommentaryString: components["schemas"]["String32767"]; + CommentaryStringNullable: components["schemas"]["String32767Nullable"]; + CommitBranch: string; + CommitDescribe: string; + CommitObject: { + branch?: components["schemas"]["CommitBranch"]; + describe?: components["schemas"]["CommitDescribe"]; + sha?: components["schemas"]["CommitSha"]; + tag?: components["schemas"]["CommitTag"]; + }; + CommitSha: string; + CommitTag: string; + Created: components["schemas"]["StringDateTime"]; + DefinitionString: string | null; + Detail: { + assetStig?: components["schemas"]["DetailAssetStig"][]; + dbInfo?: components["schemas"]["DetailMySqlInfo"]; + }; + DetailAssetStig: { + assetCnt?: number; + collectionId?: components["schemas"]["CollectionId"]; + range01to05?: number; + range06to10?: number; + range11to15?: number; + range16plus?: number; + }; + DetailMySqlInfo: { + tables?: { + [key: string]: components["schemas"]["DetailMySqlTableInfo"]; + }; + }; + DetailMySqlTableInfo: { + autoIncrement?: number | null; + avgRowLength?: number | null; + createTime?: components["schemas"]["StringDateTimeNullable"]; + dataLength?: number | null; + indexLength?: number | null; + maxDataLength?: number | null; + tableCollation?: string | null; + tableName?: string; + tableRows?: number | null; + updateTime?: components["schemas"]["StringDateTimeNullable"]; + }; + Dependencies: { + db?: boolean; + oidc?: boolean; + }; + DisplayName: components["schemas"]["String255Nullable"]; + EffectiveAcl: { + access?: components["schemas"]["AclRuleAccess"]; + asset?: components["schemas"]["AssetBasic"]; + benchmarkId?: components["schemas"]["BenchmarkId"]; + aclSources?: components["schemas"]["AclSource"][]; + }; + EmassAp: { + apAcronym?: components["schemas"]["ApAcronym"]; + assessmentProcedure?: string; + implementation?: string; + } | null; + Endpoints: { + ui?: string; + }; + Error: { + detail?: string; + error?: string; + stack?: string; + }; + FindingProjected: { + apAcronym?: components["schemas"]["ApAcronym"]; + assetCount?: components["schemas"]["AssetCount"]; + assets?: components["schemas"]["AssetBasic"][]; + cci?: string | null; + ccis?: components["schemas"]["CciBasic"][]; + definition?: components["schemas"]["DefinitionString"]; + groupId?: components["schemas"]["GroupId"]; + groups?: components["schemas"]["GroupProjected"][]; + ruleId?: components["schemas"]["RuleId"]; + rules?: components["schemas"]["RuleAbbr"][]; + severity?: components["schemas"]["RuleSeverity"]; + stigs?: components["schemas"]["CollectionStig"][]; + title?: components["schemas"]["RuleTitle"]; + }; + Fix: { + fixref?: string; + text?: string; + }; + Grant: components["schemas"]["UserGrantProjected"] | components["schemas"]["UserGroupGrantProjected"]; + GrantPost: components["schemas"]["UserGrant"] | components["schemas"]["UserGroupGrant"]; + GrantEffective: { + roleId: components["schemas"]["RoleId"]; + grantees: components["schemas"]["Grantees"]; + user: components["schemas"]["UserBasicWithDisplayName"]; + }; + Grantee: components["schemas"]["UserBasic"] | components["schemas"]["UserGroupBasic"]; + Grantees: components["schemas"]["Grantee"][]; + GrantId: components["schemas"]["StringIntId"]; + GroupId: components["schemas"]["String255Nullable"]; + GroupProjected: { + groupId?: components["schemas"]["GroupId"]; + rules?: components["schemas"]["RuleAbbr"][]; + severity?: components["schemas"]["RuleSeverity"]; + title?: components["schemas"]["GroupTitle"]; + }; + GroupTitle: components["schemas"]["String255Nullable"]; + IndexDisa: components["schemas"]["String255"]; + IntegerMinimumZeroNullable: number | null; + /** Format: int64 */ + Integer64MinimumZero: number; + /** Format: int64 */ + Integer64MinimumZeroNullable: number | null; + Job: { + jobId: components["schemas"]["JobId"]; + name: components["schemas"]["String45"]; + description?: components["schemas"]["String255Nullable"]; + createdBy: components["schemas"]["UserBasicNullable"]; + created: components["schemas"]["StringDateTime"]; + updatedBy?: components["schemas"]["UserBasicNullable"]; + updated?: components["schemas"]["StringDateTimeNullable"]; + tasks: components["schemas"]["JobTaskList"]; + event?: components["schemas"]["JobEvent"]; + runCount?: number; + lastRun?: components["schemas"]["JobRun"]; + }; + JobCreate: { + name: components["schemas"]["String45"]; + description?: components["schemas"]["String255Nullable"]; + tasks: components["schemas"]["JobTaskListCreate"]; + event?: components["schemas"]["JobEventCreate"]; + }; + JobEvent: (number | null) | components["schemas"]["JobEventRecurring"] | components["schemas"]["JobEventOnce"]; + JobEventCreate: components["schemas"]["JobEventRecurringCreate"] | components["schemas"]["JobEventOnceCreate"] | (number | null); + JobEventOnce: { + eventId: components["schemas"]["String45"]; + /** @enum {string} */ + type: "once"; + starts: components["schemas"]["StringDateTime"]; + /** @default true */ + enabled: boolean; + }; + JobEventOnceCreate: { + /** @enum {string} */ + type: "once"; + starts: components["schemas"]["StringDateTime"]; + }; + JobEventRecurring: { + eventId: components["schemas"]["String45"]; + /** @enum {string} */ + type: "recurring"; + interval: components["schemas"]["JobInterval"]; + starts?: components["schemas"]["StringDateTimeNullable"]; + ends?: components["schemas"]["StringDateTimeNullable"]; + /** @default true */ + enabled: boolean; + }; + JobEventRecurringCreate: { + /** @enum {string} */ + type: "recurring"; + interval: components["schemas"]["JobInterval"]; + starts?: components["schemas"]["StringDateTimeNullable"]; + ends?: components["schemas"]["StringDateTimeNullable"]; + /** @default true */ + enabled: boolean; + }; + JobInterval: { + value: string; + /** @enum {string} */ + field: "minute" | "hour" | "day" | "week" | "month"; + }; + JobId: components["schemas"]["StringIntId"]; + JobRun: { + runId: components["schemas"]["JobRunId"]; + created: components["schemas"]["StringDateTime"]; + updated?: components["schemas"]["StringDateTimeNullable"]; + state: components["schemas"]["JobRunState"]; + jobId?: components["schemas"]["JobId"]; + } | null; + JobRunCreated: { + runId: components["schemas"]["JobRunId"]; + }; + JobRunId: components["schemas"]["StringUuid"]; + JobRunOutput: { + type: string; + message: string; + task: components["schemas"]["String45"]; + taskId?: components["schemas"]["JobTaskId"]; + ts: components["schemas"]["StringDateTime"]; + }; + /** @enum {string|null} */ + JobRunState: "running" | "completed" | "failed" | null; + JobTask: { + taskId: components["schemas"]["StringIntId"]; + name: components["schemas"]["String45"]; + description?: components["schemas"]["String255Nullable"]; + command?: components["schemas"]["String255"]; + }; + JobTaskId: components["schemas"]["StringIntId"]; + JobTaskList: components["schemas"]["JobTask"][]; + JobTaskListCreate: components["schemas"]["JobTaskId"][]; + JobUpdate: { + name?: components["schemas"]["String45"]; + description?: components["schemas"]["String255Nullable"]; + tasks?: components["schemas"]["JobTaskListCreate"]; + event?: components["schemas"]["JobEventCreate"]; + }; + Label: { + color: components["schemas"]["StringHexColor"]; + description: components["schemas"]["String255Nullable"]; + labelId: components["schemas"]["LabelId"]; + name: components["schemas"]["LabelName"]; + uses: number; + }; + LabelBasic: { + labelId: components["schemas"]["LabelId"]; + name: components["schemas"]["LabelName"]; + }; + LabelBasicWithColor: { + color: components["schemas"]["StringHexColor"]; + labelId: components["schemas"]["LabelId"]; + name: components["schemas"]["LabelName"]; + }; + LabelCreate: { + color: components["schemas"]["StringHexColor"]; + description: components["schemas"]["String255Nullable"]; + name: components["schemas"]["LabelName"]; + }; + LabelId: components["schemas"]["StringUuid"]; + LabelIdNullable: components["schemas"]["StringUuidNullable"]; + LabelName: string; + LabelUpdate: { + color?: components["schemas"]["StringHexColor"]; + description?: components["schemas"]["String255Nullable"]; + name?: components["schemas"]["LabelName"]; + }; + LastMigration: number; + LocationString: string; + /** Format: date-time */ + MaxTs: string | null; + Metadata: { + [key: string]: string; + }; + MetadataKey: string; + MetadataValue: string; + MetricsAggAsset: { + assetId: components["schemas"]["AssetId"]; + benchmarkIds: components["schemas"]["BenchmarkId"][]; + fqdn?: components["schemas"]["AssetFqdn"]; + ip?: components["schemas"]["AssetIp"]; + labels: components["schemas"]["LabelBasicWithColor"][]; + mac?: components["schemas"]["AssetMac"]; + name: components["schemas"]["AssetName"]; + noncomputing?: components["schemas"]["AssetNoncomputing"]; + }; + MetricsAggCollection: { + assets: number; + checklists: number; + collectionId: components["schemas"]["CollectionId"]; + name: components["schemas"]["CollectionName"]; + stigs: number; + }; + MetricsAggLabel: { + assets: number; + labelId: components["schemas"]["LabelIdNullable"]; + name: string | null; + }; + MetricsAggMeta: { + assets: number; + checklists: number; + collections: number; + stigs: number; + }; + MetricsAggStig: { + assets: number; + benchmarkId: components["schemas"]["BenchmarkId"]; + collections?: number; + marking: components["schemas"]["RevisionMarkingNullable"]; + revisionPinned?: boolean; + revisionStr: components["schemas"]["RevisionStrRaw"]; + revisionDate: components["schemas"]["StringDateNullable"]; + ruleCount: components["schemas"]["RuleCount"]; + title: components["schemas"]["StigTitle"]; + }; + MetricsDetail: { + metrics: { + assessed: number; + assessedBySeverity: { + high: number; + low: number; + medium: number; + }; + assessments: number; + assessmentsBySeverity: { + high: number; + low: number; + medium: number; + }; + findings: { + high: number; + low: number; + medium: number; + }; + maxTouchTs: components["schemas"]["StringDateTimeNullable"]; + maxTs: components["schemas"]["MaxTs"]; + minTs: components["schemas"]["MinTs"]; + results: { + error: components["schemas"]["CollectionStatusCount"]; + fail: components["schemas"]["CollectionStatusCount"]; + fixed: components["schemas"]["CollectionStatusCount"]; + informational: components["schemas"]["CollectionStatusCount"]; + notapplicable: components["schemas"]["CollectionStatusCount"]; + notchecked: components["schemas"]["CollectionStatusCount"]; + notselected: components["schemas"]["CollectionStatusCount"]; + pass: components["schemas"]["CollectionStatusCount"]; + unknown: components["schemas"]["CollectionStatusCount"]; + }; + statuses: { + accepted?: components["schemas"]["CollectionStatusCount"]; + rejected?: components["schemas"]["CollectionStatusCount"]; + saved?: components["schemas"]["CollectionStatusCount"]; + submitted?: components["schemas"]["CollectionStatusCount"]; + }; + }; + }; + MetricsDetailAggAsset: components["schemas"]["MetricsAggAsset"] & components["schemas"]["MetricsDetail"]; + MetricsDetailAggCollection: components["schemas"]["MetricsAggCollection"] & components["schemas"]["MetricsDetail"]; + MetricsDetailAggLabel: components["schemas"]["MetricsAggLabel"] & components["schemas"]["MetricsDetail"]; + MetricsDetailAggMeta: components["schemas"]["MetricsAggMeta"] & components["schemas"]["MetricsDetail"]; + MetricsDetailAggStig: components["schemas"]["MetricsAggStig"] & components["schemas"]["MetricsDetail"]; + MetricsDetailUnagg: components["schemas"]["MetricsUnagg"] & components["schemas"]["MetricsDetail"]; + MetricsSummary: { + metrics: { + assessed: number; + assessedBySeverity: { + high: number; + low: number; + medium: number; + }; + assessments: number; + assessmentsBySeverity: { + high: number; + low: number; + medium: number; + }; + findings: { + high: number; + low: number; + medium: number; + }; + maxTouchTs: components["schemas"]["StringDateTimeNullable"]; + maxTs: components["schemas"]["MaxTs"]; + minTs: components["schemas"]["MinTs"]; + results: { + fail: number; + notapplicable: number; + other: number; + pass: number; + }; + statuses: { + accepted: number; + rejected: number; + saved: number; + submitted: number; + }; + }; + }; + MetricsSummaryAggAsset: components["schemas"]["MetricsAggAsset"] & components["schemas"]["MetricsSummary"]; + MetricsSummaryAggCollection: components["schemas"]["MetricsAggCollection"] & components["schemas"]["MetricsSummary"]; + MetricsSummaryAggLabel: components["schemas"]["MetricsAggLabel"] & components["schemas"]["MetricsSummary"]; + MetricsSummaryAggMeta: components["schemas"]["MetricsAggMeta"] & components["schemas"]["MetricsSummary"]; + MetricsSummaryAggStig: components["schemas"]["MetricsAggStig"] & components["schemas"]["MetricsSummary"]; + MetricsSummaryUnagg: components["schemas"]["MetricsUnagg"] & components["schemas"]["MetricsSummary"]; + MetricsUnagg: { + assetId: string; + benchmarkId: components["schemas"]["BenchmarkId"]; + labels: components["schemas"]["LabelBasicWithColor"][]; + name: string; + revisionPinned: boolean; + revisionStr: components["schemas"]["RevisionStrRaw"]; + revisionDate: components["schemas"]["StringDateNullable"]; + title: components["schemas"]["StigTitle"]; + }; + /** Format: date-time */ + MinTs: string | null; + Owner: components["schemas"]["UserBasicWithDisplayName"] | components["schemas"]["UserGroup"]; + ParentControl: components["schemas"]["String255"]; + ResultEngine: { + checkContent?: components["schemas"]["ResultEngineCheckContent"]; + overrides?: components["schemas"]["ResultEngineOverride"][]; + product: components["schemas"]["String255"]; + time?: components["schemas"]["StringDateTime"]; + type: components["schemas"]["ResultEngineType"]; + version?: components["schemas"]["VersionString"]; + } | null; + ResultEngineCheckContent: { + component?: components["schemas"]["String255"]; + location: components["schemas"]["LocationString"]; + } | null; + ResultEngineOverride: { + authority: components["schemas"]["String255"]; + newResult: components["schemas"]["ReviewResult"]; + oldResult: components["schemas"]["ReviewResult"]; + remark?: components["schemas"]["String255"]; + time?: components["schemas"]["StringDateTime"]; + }; + /** @enum {string} */ + ResultEngineType: "scap" | "script" | "other"; + ReviewAsset: { + autoResult?: boolean; + comment: components["schemas"]["CommentaryString"]; + detail: components["schemas"]["CommentaryString"]; + history?: components["schemas"]["ReviewHistory"][]; + metadata?: components["schemas"]["Metadata"]; + result: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + rule?: components["schemas"]["RuleAbbr"]; + ruleId: components["schemas"]["RuleId"]; + ruleIds: components["schemas"]["RuleId"][]; + status: components["schemas"]["ReviewStatusRead"]; + stigs?: components["schemas"]["CollectionStigWithIsDefault"][]; + touchTs: components["schemas"]["StringDateTime"]; + ts: components["schemas"]["StringDateTime"]; + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + }; + ReviewAssetPost: { + ruleId: components["schemas"]["RuleId"]; + result: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + detail: components["schemas"]["CommentaryStringNullable"]; + comment: components["schemas"]["CommentaryStringNullable"]; + autoResult?: boolean; + metadata?: components["schemas"]["Metadata"]; + status?: components["schemas"]["ReviewStatusWrite"]; + }; + ReviewAssetRulePatch: { + comment?: components["schemas"]["CommentaryString"]; + detail?: components["schemas"]["CommentaryString"]; + metadata?: components["schemas"]["Metadata"]; + result?: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + status?: components["schemas"]["ReviewStatusWrite"]; + }; + ReviewAssetRulePut: { + autoResult?: boolean; + comment: components["schemas"]["CommentaryStringNullable"]; + detail: components["schemas"]["CommentaryStringNullable"]; + metadata?: components["schemas"]["Metadata"]; + result: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + status?: components["schemas"]["ReviewStatusWrite"]; + }; + ReviewAssetRuleRead: { + access: components["schemas"]["AclRuleAccess"]; + autoResult?: boolean; + comment: components["schemas"]["CommentaryString"]; + detail: components["schemas"]["CommentaryString"]; + history?: components["schemas"]["ReviewHistory"][]; + metadata?: components["schemas"]["Metadata"]; + result: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + rule?: components["schemas"]["RuleAbbr"]; + ruleIds?: components["schemas"]["RuleId"][]; + status: components["schemas"]["ReviewStatusRead"]; + stigs?: components["schemas"]["CollectionStigWithIsDefault"][]; + touchTs: components["schemas"]["StringDateTime"]; + ts: components["schemas"]["StringDateTime"]; + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + }; + ReviewBatch: { + action?: components["schemas"]["ReviewBatchAction"]; + assets: components["schemas"]["ReviewBatchAssetsCriteria"]; + /** @default false */ + dryRun: boolean; + rules: components["schemas"]["ReviewBatchRulesCriteria"]; + source: components["schemas"]["ReviewBatchSource"]; + updateFilters?: components["schemas"]["ReviewBatchFilter"][]; + }; + /** @enum {string} */ + ReviewBatchAction: "insert" | "update" | "merge"; + ReviewBatchAssetsCriteria: components["schemas"]["ReviewBatchCriteria_AssetIds"] | components["schemas"]["ReviewBatchCriteria_BenchmarkIds"]; + ReviewBatchCriteria_AssetIds: { + assetIds: components["schemas"]["AssetId"][]; + }; + ReviewBatchCriteria_BenchmarkIds: { + benchmarkIds: components["schemas"]["BenchmarkId"][]; + }; + ReviewBatchCriteria_RuleIds: { + ruleIds: components["schemas"]["RuleId"][]; + }; + ReviewBatchFilter: components["schemas"]["ReviewBatchFilter_String"] | components["schemas"]["ReviewBatchFilter_Result"] | components["schemas"]["ReviewBatchFilter_Status"] | components["schemas"]["ReviewBatchFilter_Date"] | components["schemas"]["ReviewBatchFilter_User"]; + ReviewBatchFilter_Date: { + /** + * @default equals + * @enum {string} + */ + condition: "equals" | "lessThan" | "greaterThan"; + /** @enum {string} */ + field: "ts" | "statusTs" | "touchTs"; + value: components["schemas"]["StringDateTime"]; + }; + ReviewBatchFilter_Result: { + /** + * @default equals + * @enum {string} + */ + condition: "equals" | "notequal"; + /** @enum {string} */ + field: "result"; + value: components["schemas"]["ReviewResult"]; + }; + ReviewBatchFilter_Status: { + /** + * @default equals + * @enum {string} + */ + condition: "equals" | "notequal"; + /** @enum {string} */ + field: "statusLabel" | "status"; + value: components["schemas"]["ReviewStatusLabel"]; + }; + ReviewBatchFilter_String: { + /** + * @default equals + * @enum {string} + */ + condition: "equals" | "contains" | "beginsWith" | "endsWith"; + /** @enum {string} */ + field: "detail" | "comment" | "statusText"; + value: string; + }; + ReviewBatchFilter_User: { + /** + * @default equals + * @enum {string} + */ + condition: "equals" | "notequal"; + /** @enum {string} */ + field: "userId" | "statusUserId"; + value: components["schemas"]["StringIntId"]; + }; + ReviewBatchResponse: { + failedValidation: number; + inserted: number; + updated: number; + validationErrors: { + assetId?: components["schemas"]["AssetId"]; + error?: components["schemas"]["String255"]; + ruleId?: components["schemas"]["RuleId"]; + }[]; + }; + ReviewBatchResponseDryRun: { + validationErrors: { + assetId?: components["schemas"]["AssetId"]; + error?: components["schemas"]["String255"]; + ruleId?: components["schemas"]["RuleId"]; + }[]; + willFailValidation: number; + willInsert: number; + willUpdate: number; + }; + ReviewBatchRulesCriteria: components["schemas"]["ReviewBatchCriteria_RuleIds"] | components["schemas"]["ReviewBatchCriteria_BenchmarkIds"]; + ReviewBatchSource: { + review: components["schemas"]["ReviewAssetRulePatch"]; + }; + ReviewHistory: { + autoResult?: boolean; + comment: components["schemas"]["CommentaryString"]; + detail: components["schemas"]["CommentaryString"]; + result: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + ruleId: components["schemas"]["RuleId"]; + status: components["schemas"]["ReviewStatusRead"]; + touchTs: components["schemas"]["StringDateTime"]; + ts: components["schemas"]["StringDateTime"]; + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + }; + ReviewHistoryAsset: { + assetId: components["schemas"]["String255"]; + reviewHistories: components["schemas"]["ReviewHistoryRule"][]; + }; + ReviewHistoryDeleted: { + HistoryEntriesDeleted: number; + }; + ReviewHistoryRule: { + history: components["schemas"]["ReviewHistory"][]; + ruleId: components["schemas"]["RuleId"]; + }; + ReviewHistoryStats: { + assetHistoryEntryCounts?: components["schemas"]["ReviewHistoryStatsAsset"][]; + collectionHistoryEntryCount: number; + oldestHistoryEntryDate: components["schemas"]["StringDateTime"]; + }; + ReviewHistoryStatsAsset: { + assetId: components["schemas"]["String255"]; + historyEntryCount: number; + oldestHistoryEntry: string | null; + }; + ReviewPostResponse: { + affected: { + inserted?: number; + updated?: number; + }; + rejected: { + reason?: components["schemas"]["String255"]; + ruleId?: components["schemas"]["RuleId"]; + }[]; + }; + ReviewRead: { + access?: components["schemas"]["AclRuleAccess"]; + assetId: components["schemas"]["StringIntId"]; + assetLabelIds?: components["schemas"]["LabelId"][]; + assetLabels?: components["schemas"]["LabelBasicWithColor"][]; + assetName: components["schemas"]["String255"]; + autoResult?: boolean; + comment: components["schemas"]["CommentaryStringNullable"]; + detail: components["schemas"]["CommentaryStringNullable"]; + metadata?: components["schemas"]["Metadata"]; + result: components["schemas"]["ReviewResult"]; + resultEngine?: components["schemas"]["ResultEngine"]; + rule?: components["schemas"]["RuleAbbr"]; + ruleId: components["schemas"]["RuleId"]; + ruleIds: components["schemas"]["RuleId"][]; + status: components["schemas"]["ReviewStatusRead"]; + stigs?: components["schemas"]["CollectionStigWithIsDefault"][]; + touchTs: components["schemas"]["StringDateTime"]; + ts: components["schemas"]["StringDateTime"]; + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + }; + /** @enum {string} */ + ReviewResult: "fail" | "pass" | "notapplicable" | "notchecked" | "unknown" | "error" | "notselected" | "informational" | "fixed"; + /** @enum {string} */ + ReviewStatusLabel: "saved" | "submitted" | "accepted" | "rejected"; + ReviewStatusRead: { + label: components["schemas"]["ReviewStatusLabel"]; + text: components["schemas"]["StatusText"]; + ts: components["schemas"]["StringDateTime"]; + user: components["schemas"]["UserBasic"]; + }; + /** @enum {string} */ + ReviewStatusOption: "null" | "saved" | "submitted" | "accepted"; + ReviewStatusWrite: components["schemas"]["ReviewStatusLabel"] | { + label: components["schemas"]["ReviewStatusLabel"]; + text: components["schemas"]["StatusText"]; + }; + Revision: { + benchmarkDate: components["schemas"]["StringDateNullable"]; + benchmarkId: components["schemas"]["BenchmarkId"]; + collectionIds: components["schemas"]["CollectionId"][]; + marking?: components["schemas"]["RevisionMarkingNullable"]; + release: components["schemas"]["RevisionRelease"]; + revisionStr: components["schemas"]["RevisionStr"]; + ruleCount: components["schemas"]["RuleCount"]; + status: components["schemas"]["RevisionStatus"]; + statusDate: components["schemas"]["StringDateNullable"]; + version: components["schemas"]["VersionString"]; + }; + RevisionBasic: { + benchmarkId: components["schemas"]["BenchmarkId"]; + revisionStr: components["schemas"]["RevisionStr"]; + }; + RevisionDate: components["schemas"]["StringDate"]; + RevisionMarkingNullable: string | null; + RevisionPost: { + /** @enum {string} */ + action: "inserted" | "preserved" | "replaced"; + benchmarkId: components["schemas"]["BenchmarkId"]; + revisionStr: components["schemas"]["RevisionStr"]; + marking?: components["schemas"]["RevisionMarkingNullable"]; + }; + RevisionRelease: components["schemas"]["String45"]; + RevisionStatus: components["schemas"]["String45Nullable"]; + RevisionStr: string; + RevisionStrRaw: string; + /** @enum {string} */ + Roles: "restricted" | "full" | "manage" | "owner"; + RuleAbbr: { + ruleId: components["schemas"]["RuleId"]; + severity: string; + title: components["schemas"]["RuleTitle"]; + version: components["schemas"]["VersionString"]; + }; + RuleCount: number | null; + RuleId: components["schemas"]["String45Nullable"]; + RuleProjected: { + ccis?: components["schemas"]["CciBasic"][]; + check?: components["schemas"]["Check"]; + detail?: { + documentable?: string | null; + falseNegatives?: string | null; + falsePositives?: string | null; + mitigationControl?: string | null; + mitigations?: string | null; + potentialImpacts?: string | null; + responsibility?: string | null; + severityOverrideGuidance?: string | null; + thirdPartyTools?: string | null; + vulnDiscussion?: string | null; + weight?: string | null; + }; + fix?: components["schemas"]["Fix"]; + groupId: components["schemas"]["GroupId"]; + groupTitle: components["schemas"]["GroupTitle"]; + ruleId: components["schemas"]["RuleId"]; + ruleIds?: components["schemas"]["RuleId"][]; + severity: string; + stigs?: components["schemas"]["RevisionBasic"][]; + title: components["schemas"]["RuleTitle"]; + version: components["schemas"]["VersionString"]; + }; + /** @enum {string|null} */ + RuleSeverity: "high" | "medium" | "low" | null; + RuleTitle: components["schemas"]["StringMax"]; + SCAPMap: { + benchmarkId?: components["schemas"]["BenchmarkId"]; + scapBenchmarkId?: string; + }; + STIG: { + benchmarkId: components["schemas"]["BenchmarkId"]; + collectionIds: components["schemas"]["CollectionId"][]; + lastRevisionDate: components["schemas"]["StringDateNullable"]; + lastRevisionStr: string; + marking?: components["schemas"]["RevisionMarkingNullable"]; + revisionStrs?: components["schemas"]["RevisionStrRaw"][]; + revisions?: components["schemas"]["Revision"][]; + ruleCount: components["schemas"]["RuleCount"]; + status?: components["schemas"]["StatusText"]; + title: components["schemas"]["StigTitle"]; + }; + /** @enum {string} */ + State: "starting" | "available" | "unavailable" | "fail" | "stop"; + StateResponse: { + currentState?: components["schemas"]["State"]; + since?: components["schemas"]["StringDateTime"]; + dependencies?: components["schemas"]["Dependencies"]; + endpoints?: components["schemas"]["Endpoints"]; + }; + StatusText: components["schemas"]["String511Nullable"]; + StigTitle: components["schemas"]["String255"]; + String20: string; + String20Nullable: string | null; + String255: string; + String255Nullable: string | null; + String32767: string; + String32767Nullable: string | null; + String45: string; + String45Nullable: string | null; + String511Nullable: string | null; + /** Format: date */ + StringDate: string; + /** Format: date */ + StringDateNullable: string | null; + /** Format: date-time */ + StringDateTime: string; + /** Format: date-time */ + StringDateTimeNullable: string | null; + /** @example aa33cc */ + StringHexColor: string; + StringIntId: string; + StringIntIdNullable: string | null; + StringMax: string; + StringUuid: string; + StringUuidNullable: string | null; + TextRefNist: components["schemas"]["String255"]; + UnreviewedAsset: { + assetId: components["schemas"]["AssetId"]; + labels: components["schemas"]["LabelBasic"][]; + name: components["schemas"]["AssetName"]; + unreviewed: components["schemas"]["UnreviewedAssetItem"][]; + }; + UnreviewedAssetItem: { + benchmarkId: components["schemas"]["BenchmarkId"]; + groupId: components["schemas"]["GroupId"]; + groupTitle?: components["schemas"]["GroupTitle"]; + result: components["schemas"]["ChecklistResultUnreviewed"]; + ruleId: components["schemas"]["RuleId"]; + ruleTitle?: components["schemas"]["RuleTitle"]; + severity?: components["schemas"]["RuleSeverity"]; + }; + UnreviewedRule: { + benchmarkId: components["schemas"]["BenchmarkId"]; + groupId: components["schemas"]["GroupId"]; + groupTitle?: components["schemas"]["GroupTitle"]; + ruleId: components["schemas"]["RuleId"]; + ruleTitle?: components["schemas"]["RuleTitle"]; + severity?: components["schemas"]["RuleSeverity"]; + unreviewed: components["schemas"]["UnreviewedRuleItem"][]; + }; + UnreviewedRuleItem: { + assetId: components["schemas"]["AssetId"]; + labels: components["schemas"]["LabelBasic"][]; + name: components["schemas"]["AssetName"]; + result: components["schemas"]["ChecklistResultUnreviewed"]; + }; + UserBasic: { + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + roleId?: components["schemas"]["RoleId"]; + }; + UserBasicNullable: { + userId: components["schemas"]["UserIdNullable"]; + username: components["schemas"]["UsernameNullable"]; + } | null; + UserBasicWithDisplayName: { + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + displayName: components["schemas"]["DisplayName"]; + }; + UserCreateOrReplace: { + collectionGrants: components["schemas"]["CollectionGrant"][]; + /** @default [] */ + userGroups: components["schemas"]["UserGroupId"][]; + username: components["schemas"]["Username"]; + status?: components["schemas"]["UserStatus"]; + }; + UserGrant: { + userId: components["schemas"]["UserId"]; + roleId: components["schemas"]["RoleId"]; + }; + UserGrantProjected: { + grantId?: components["schemas"]["GrantId"]; + roleId: components["schemas"]["RoleId"]; + user: components["schemas"]["UserBasicWithDisplayName"]; + }; + UserGroup: { + userGroupId: components["schemas"]["UserGroupId"]; + name: components["schemas"]["String255"]; + description: components["schemas"]["String255Nullable"]; + }; + UserGroupBasic: { + userGroupId: components["schemas"]["UserGroupId"]; + name: components["schemas"]["String255"]; + roleId?: components["schemas"]["RoleId"]; + }; + UserGroupCollectionGrant: { + roleId?: components["schemas"]["RoleId"]; + collection?: { + collectionId?: components["schemas"]["CollectionId"]; + name?: components["schemas"]["CollectionName"]; + }; + }; + UserGroupGrant: { + userGroupId: components["schemas"]["UserGroupId"]; + roleId: number; + }; + UserGroupGrantProjected: { + grantId?: components["schemas"]["GrantId"]; + userGroup: components["schemas"]["UserGroup"]; + roleId: components["schemas"]["RoleId"]; + }; + UserGroupId: components["schemas"]["StringIntId"]; + UserGroupPatch: { + name?: components["schemas"]["String255"]; + description?: components["schemas"]["String255Nullable"]; + userIds?: components["schemas"]["UserId"][]; + collectionGrants?: components["schemas"]["CollectionGrant"][]; + }; + UserGroupProjected: { + userGroupId: components["schemas"]["UserGroupId"]; + name: components["schemas"]["String255"]; + description: components["schemas"]["String255Nullable"]; + users?: components["schemas"]["UserBasicWithDisplayName"][]; + collectionGrants?: components["schemas"]["UserGroupCollectionGrant"][]; + attributions?: components["schemas"]["Attributions"]; + }; + UserGroupPostOrPut: { + name: components["schemas"]["String255"]; + description?: components["schemas"]["String255Nullable"]; + userIds?: components["schemas"]["UserId"][]; + collectionGrants?: components["schemas"]["CollectionGrant"][]; + }; + UserId: components["schemas"]["StringIntId"]; + UserIdNullable: components["schemas"]["StringIntIdNullable"]; + UserLastAccess: components["schemas"]["IntegerMinimumZeroNullable"]; + UserPatch: { + collectionGrants?: components["schemas"]["CollectionGrant"][]; + userGroups?: components["schemas"]["UserGroupId"][]; + username?: components["schemas"]["Username"]; + status?: components["schemas"]["UserStatus"]; + }; + UserPost: { + collectionGrants: components["schemas"]["CollectionGrant"][]; + userGroups?: components["schemas"]["UserGroupId"][]; + username: components["schemas"]["Username"]; + }; + UserPut: { + collectionGrants: components["schemas"]["CollectionGrant"][]; + userGroups?: components["schemas"]["UserGroupId"][]; + username: components["schemas"]["Username"]; + status?: components["schemas"]["UserStatus"]; + }; + UserPrivileges: { + admin?: boolean; + create_collection?: boolean; + }; + UserProjected: { + collectionGrants?: components["schemas"]["CollectionGrantProjected"][]; + displayName: components["schemas"]["DisplayName"]; + email: string | null; + lastAccess: components["schemas"]["UserLastAccess"]; + privileges?: components["schemas"]["UserPrivileges"]; + statistics?: components["schemas"]["UserStatistics"]; + status?: components["schemas"]["UserStatus"]; + statusDate?: components["schemas"]["UserStatusDate"]; + statusUser?: components["schemas"]["UserStatusUser"]; + userGroups?: components["schemas"]["UserGroupBasic"][]; + userId: components["schemas"]["UserId"]; + username: components["schemas"]["Username"]; + webPreferences?: components["schemas"]["WebPreferences"]; + }; + /** @enum {string} */ + UserStatus: "available" | "unavailable"; + UserStatusDate: components["schemas"]["StringDateTime"]; + UserStatusUser: components["schemas"]["StringIntIdNullable"]; + UserStatistics: { + collectionGrantCount: number; + created: components["schemas"]["Created"]; + lastClaims: Record; + }; + Username: components["schemas"]["String255"]; + UsernameNullable: components["schemas"]["String255Nullable"]; + WebPreferences: { + darkMode: boolean; + /** Format: date */ + lastWhatsNew: string; + }; + WebPreferencesPatch: { + darkMode?: boolean; + /** Format: date */ + lastWhatsNew?: string; + }; + /** @description Semver as defined by the BNF at semver.org */ + Version: string; + VersionString: components["schemas"]["String255"]; + }; + responses: { + /** @description The requesting User does not have access rights to the content */ + Forbidden: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + parameters: { + /** @description The format of the appdata */ + AppDataFormatQuery: components["schemas"]["AppDataFormat"]; + /** @description A query parameter that identifies a list of Assets */ + AssetIdArrayQuery: components["schemas"]["AssetId"][]; + /** @description A path parameter that identifies an Asset */ + AssetIdPath: components["schemas"]["AssetId"]; + /** @description A query parameter that identifies an Asset */ + AssetIdQuery: components["schemas"]["AssetId"]; + /** @description Additional properties to include in the response. */ + AssetProjectionQuery: ("statusStats" | "stigs")[]; + /** @description Filter by one or more benchmarkIds */ + BenchmarkIdArrayQuery: components["schemas"]["BenchmarkId"][]; + /** @description A path parameter that identifies a STIG */ + BenchmarkIdPath: components["schemas"]["BenchmarkId"]; + /** @description A query parameter that identifies a STIG */ + BenchmarkIdQuery: components["schemas"]["BenchmarkId"]; + /** @description Additional properties to include in the response. */ + CciProjectionQuery: ("emassAp" | "stigs" | "references")[]; + /** @description A query parameter that identifies a CCI */ + CciQuery: components["schemas"]["CciString"]; + /** @description A query parameter that describes the CKL mode */ + CklModeQuery: "multi" | "mono"; + /** @description A path parameter that identifies a Collection */ + CollectionIdPath: components["schemas"]["CollectionId"]; + /** @description A query parameter that identifies a Collection */ + CollectionIdQuery: components["schemas"]["CollectionId"]; + /** @description Filter by one or more collectionIds */ + CollectionIdArrayQuery: components["schemas"]["CollectionId"][]; + /** @description Additional properties to include in the response. */ + CollectionProjectionQuery: ("assets" | "grants" | "users" | "owners" | "statistics" | "stigs" | "labels")[]; + /** @description Additional properties to include in the response. */ + CollectionsProjectionQuery: ("owners" | "statistics")[]; + /** @description Additional properties to include in the response. */ + CollectionStigProjectionQuery: "assets"[]; + /** @description If set to `true`, performs validation without persisting data. */ + DryRunQuery: boolean; + /** @description A path parameter that identifies a Collection */ + DstCollectionIdPath: components["schemas"]["CollectionId"]; + /** @description History entries with a timestamp after the specified end date. */ + EndDateQuery: components["schemas"]["StringDate"]; + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + ElevateQuery: boolean; + /** @description Aggregate the findings on this property */ + FindingAggregatorQuery: "ruleId" | "groupId" | "cci"; + /** @description Optional properties to return */ + FindingProjectionQuery: ("assets" | "groups" | "rules" | "stigs" | "ccis")[]; + /** @description Force an action, such as a delete, that would otherwise not be permitted */ + ForceQuery: boolean; + /** @description A path parameter that identifies a Grant */ + GrantIdPath: components["schemas"]["GrantId"]; + /** @description A query parameter that identifies a Group */ + GroupIdQuery: components["schemas"]["GroupId"]; + /** @description Additional properties to include in the response. */ + GroupProjectionQuery: "rules"[]; + /** @description A path parameter that identifies a Job */ + JobIdPath: components["schemas"]["JobId"]; + /** @description A path parameter that identifies a Job Run */ + JobRunIdPath: components["schemas"]["JobRunId"]; + /** @description A JSONPath expression */ + JsonPathQuery: components["schemas"]["String255"]; + /** @description A path parameter that specifies a Label */ + LabelIdPath: components["schemas"]["LabelId"]; + /** @description Selects Assets by labelId */ + LabelIdQuery: components["schemas"]["LabelId"][]; + /** @description Selectes Assets without labels */ + LabelMatchQuery: "null"; + /** @description Selectes Assets by label name */ + LabelNameQuery: components["schemas"]["LabelName"][]; + /** @description A path parameter that specifies a metadata key */ + MetadataKeyPath: string; + /** @description A query parameter that specifies metadata key:value pairs to select matching Objects */ + MetadataQuery: string[]; + /** @description The format of the response body */ + MetricsFormatQuery: "json" | "csv"; + /** @description Matches against the name according to the `name-match` parameter */ + NameQuery: string; + /** @description How to match against the `name` parameter */ + NameMatchQuery: "exact" | "startsWith" | "endsWith" | "contains"; + /** @description Aggregate the findings on this property */ + PoamAggregatorQuery: "ruleId" | "groupId"; + /** @description Value for POAM format (ie. EMASS, MCCAST) */ + PoamFormatQuery: "EMASS" | "MCCAST"; + /** @description Selects Users with the specified privilege */ + PrivilegeQuery: "admin" | "create_collection"; + /** @description Delete history entries with a timestamp earlier than the specified retention date. */ + RetentionDateQuery: components["schemas"]["StringDate"]; + /** @description Additional properties to include in the response. */ + ReviewProjectionQuery: ("metadata" | "rule" | "stigs" | "history")[]; + /** @description Return review history statistics with the specified level of granularity. */ + ReviewHistoryStatsProjectionQuery: "asset"[]; + /** @description Additional properties to include in the response. */ + ReviewsProjectionQuery: ("metadata" | "rule" | "stigs")[]; + ReviewResultQuery: components["schemas"]["ReviewResult"]; + /** @description default - rules from the default revision of a STIG in the Collection.
mapped - rules from any version of a STIG assigned to the Asset */ + ReviewRulesQuery: "all" | "default" | "default-mapped" | "mapped" | "not-default" | "not-default-mapped" | "not-mapped"; + ReviewStatusQuery: components["schemas"]["ReviewStatusLabel"]; + /** @description Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. */ + RevisionIdArrayQuery: string[]; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + RevisionStrPath: components["schemas"]["RevisionStr"]; + /** @description A path parameter that identifies a Rule */ + RuleIdPath: components["schemas"]["RuleId"]; + /** @description Selects Reviews of a Rule */ + RuleIdQuery: components["schemas"]["RuleId"]; + /** @description Additional properties to include in the response. */ + RuleProjectionQuery: ("detail" | "ccis" | "check" | "fix" | "ruleIds" | "stigs")[]; + /** @description Selects Rules with the specified severity */ + RuleSeverityQuery: components["schemas"]["RuleSeverity"][]; + /** @description The starting sequence number of the run output to retrieve. If not specified, all run output is returned. */ + RunSequenceQuery: number; + /** @description History entries with a timestamp before the specified start date. */ + StartDateQuery: components["schemas"]["StringDate"]; + /** @description Additional properties to include in the response. */ + StigProjectionQuery: "revisions"[]; + /** @description Additional properties to include in the `unreviewed` objects. */ + UnreviewedAssetsProjectionQuery: ("ruleTitle" | "groupTitle")[]; + /** @description Additional properties to include in the response. */ + UnreviewedRulesProjectionQuery: ("ruleTitle" | "groupTitle")[]; + /** @description A path parameter that identifies a User Group */ + UserGroupIdPath: components["schemas"]["UserGroupId"]; + /** @description Additional properties to include in the response. */ + UserGroupProjectionQuery: ("users" | "collections" | "collectionGrants" | "attributions")[]; + /** @description A path parameter that identifies a User */ + UserIdPath: components["schemas"]["UserId"]; + /** @description A query parameter that identifies a User */ + UserIdQuery: components["schemas"]["UserId"]; + /** @description Matches against the username according to the `username-match` parameter */ + UsernameQuery: components["schemas"]["Username"]; + /** @description How to match against the `username` parameter */ + UsernameMatchQuery: "exact" | "startsWith" | "endsWith" | "contains"; + /** @description A query parameter that identifies a UserStatus */ + UserStatusQuery: components["schemas"]["UserStatus"]; + /** @description A query parameter that identifies a UserPreference */ + UserPreferenceQuery: "webPreferences"; + /** @description Additional properties to include in the response. */ + UserProjectionQuery: ("collectionGrants" | "statistics" | "userGroups" | "webPreferences")[]; + }; + requestBodies: never; + headers: never; + pathItems: never; +} +export type $defs = Record; +export interface operations { + getAssets: { + parameters: { + query: { + /** @description A query parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description Matches against the name according to the `name-match` parameter */ + name?: components["parameters"]["NameQuery"]; + /** @description How to match against the `name` parameter */ + "name-match"?: components["parameters"]["NameMatchQuery"]; + /** @description A query parameter that specifies metadata key:value pairs to select matching Objects */ + metadata?: components["parameters"]["MetadataQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description AssetProjected array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + createAsset: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AssetCreateOrReplace"]; + }; + }; + responses: { + /** @description AssetProjected response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"]; + }; + }; + /** @description Unprocessable Entity */ + 422: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ClientErrorBadAssetPost"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchAssets: { + parameters: { + query: { + /** @description A query parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AssetsPatchRequest"]; + }; + }; + responses: { + /** @description AssetsPatch response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetsPatchResponse"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAsset: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description AssetProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + replaceAsset: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AssetCreateOrReplace"]; + }; + }; + responses: { + /** @description AssetProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteAsset: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description AssetProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + updateAsset: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AssetUpdate"]; + }; + }; + responses: { + /** @description AssetProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getChecklistByAsset: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response. */ + format?: "ckl" | "cklb"; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Review response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/xml": components["schemas"]["ChecklistCkl"]; + "application/json": components["schemas"]["ChecklistCklb"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getChecklistByAssetStig: { + parameters: { + query?: { + /** @description The format of the response. */ + format?: "json" | "json-access" | "ckl" | "cklb" | "xccdf"; + /** @description Additional fields to include in JSON checklist responses. */ + projection?: ("rule" | "detail" | "comment")[]; + }; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: components["parameters"]["RevisionStrPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description A JSON array of Checklist summary items or a CKL */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChecklistAssetStig"] | components["schemas"]["ChecklistJsonAccess"] | components["schemas"]["ChecklistCklb"]; + "application/xml": components["schemas"]["ChecklistCkl"] | components["schemas"]["ChecklistXccdf"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAssetMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putAssetMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchAssetMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAssetMetadataKeys: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description MetadataKeys response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataKey"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAssetMetadataValue: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description MetadataValue response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataValue"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putAssetMetadataValue: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MetadataValue"]; + }; + }; + responses: { + /** @description Empty to avoid large response after putting key with large value */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteAssetMetadataKey: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Empty to avoid large response after deleting key with large value */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getStigsByAsset: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description STIG array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetStigResponse"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + removeStigsFromAsset: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description STIG array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["STIG"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + attachStigToAsset: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description STIG array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetStigResponse"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + removeStigFromAsset: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description STIG array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetStigResponse"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollections: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Matches against the name according to the `name-match` parameter */ + name?: components["parameters"]["NameQuery"]; + /** @description How to match against the `name` parameter */ + "name-match"?: components["parameters"]["NameMatchQuery"]; + /** @description A query parameter that specifies metadata key:value pairs to select matching Objects */ + metadata?: components["parameters"]["MetadataQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionsProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CollectionsProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionsProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + createCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CollectionCreateOrReplace"]; + }; + }; + responses: { + /** @description CollectionProjected response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionProjected"]; + }; + }; + /** @description Client Error */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ClientErrorDuplicateCollection"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CollectionProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionProjected"]; + }; + }; + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + replaceCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CollectionCreateOrReplace"]; + }; + }; + responses: { + /** @description CollectionProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CollectionProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + updateCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CollectionUpdate"]; + }; + }; + responses: { + /** @description CollectionProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postCklArchiveByCollection: { + parameters: { + query?: { + /** @description A query parameter that describes the CKL mode */ + mode?: components["parameters"]["CklModeQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** @description An array of '#/components/schemas/AssetStigSelection'. */ + requestBody: { + content: { + "application/json": components["schemas"]["AssetStigSelection"][]; + }; + }; + responses: { + /** @description ZIP file stream */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/zip": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postCklbArchiveByCollection: { + parameters: { + query?: { + /** @description A query parameter that describes the CKL mode */ + mode?: components["parameters"]["CklModeQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** @description An array of '#/components/schemas/AssetStigSelection'. */ + requestBody: { + content: { + "application/json": components["schemas"]["AssetStigSelection"][]; + }; + }; + responses: { + /** @description ZIP file stream */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/zip": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + createAssets: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["AssetProjectionQuery"]; + /** @description If set to `true`, performs validation without persisting data. */ + dryRun?: components["parameters"]["DryRunQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AssetCreateBatch"]; + }; + }; + responses: { + /** @description Dry Run Failure */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ClientErrorBadAssetPost"]; + }; + }; + /** @description Array of AssetProjected responses */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetProjected"][]; + }; + }; + /** @description Dry run successful. Validation passed, but no data was persisted. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postXccdfArchiveByCollection: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** @description An array of '#/components/schemas/AssetStigSelection'. */ + requestBody: { + content: { + "application/json": components["schemas"]["AssetStigSelection"][]; + }; + }; + responses: { + /** @description ZIP file stream */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/zip": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getChecklistByCollectionStig: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: components["parameters"]["RevisionStrPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ChecklistCollectionStig response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ChecklistCollectionStig"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + cloneCollection: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + /** @description CollectionClone request body */ + requestBody: { + content: { + "application/json": components["schemas"]["CollectionCloneRequest"]; + }; + }; + responses: { + /** @description See the description for '#/components/schemas/CollectionCloneResponse' */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-ndjson": components["schemas"]["CollectionCloneResponse"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + exportToCollection: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Collection */ + dstCollectionId: components["parameters"]["DstCollectionIdPath"]; + }; + cookie?: never; + }; + /** @description An array of '#/components/schemas/AssetStigSelection'. The number of array items must conform to the minItems/maxItems properties */ + requestBody: { + content: { + "application/json": components["schemas"]["AssetStigSelection"][]; + }; + }; + responses: { + /** @description See the description for '#/components/schemas/CollectionExportToResponse' */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/x-ndjson": components["schemas"]["CollectionExportToResponse"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getFindingsByCollection: { + parameters: { + query: { + /** @description Aggregate the findings on this property */ + aggregator: components["parameters"]["FindingAggregatorQuery"]; + acceptedOnly?: boolean; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Optional properties to return */ + projection?: components["parameters"]["FindingProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CollectionFinding response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["FindingProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getGrantsByCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Collection Grant array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Grant"][]; + }; + }; + 403: components["responses"]["Forbidden"]; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postGrantsByCollection: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GrantPost"][]; + }; + }; + responses: { + /** @description Collection grant array response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Grant"][]; + }; + }; + 403: components["responses"]["Forbidden"]; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getGrantByCollectionGrant: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Collection StigAssetBasic array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Grant"]; + }; + }; + 403: components["responses"]["Forbidden"]; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putGrantByCollectionGrant: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserGrant"] | components["schemas"]["UserGroupGrant"]; + }; + }; + responses: { + /** @description Collection grant array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Grant"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteGrantByCollectionGrant: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserGrantEffective response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Grant"]; + }; + }; + 403: components["responses"]["Forbidden"]; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAclRulesByCollectionGrant: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Collection AclRuleAssetBasic array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AclForGrant"]; + }; + }; + 403: components["responses"]["Forbidden"]; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putAclRulesByCollectionGrant: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a Grant */ + grantId: components["parameters"]["GrantIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AclRulePut"][]; + }; + }; + responses: { + /** @description AclRuleAssetBasic array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AclForGrant"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewsByCollection: { + parameters: { + query?: { + /** @description default - rules from the default revision of a STIG in the Collection.
mapped - rules from any version of a STIG assigned to the Asset */ + rules?: components["parameters"]["ReviewRulesQuery"]; + result?: components["parameters"]["ReviewResultQuery"]; + status?: components["parameters"]["ReviewStatusQuery"]; + /** @description Selects Reviews of a Rule */ + ruleId?: components["parameters"]["RuleIdQuery"]; + /** @description A query parameter that identifies a Group */ + groupId?: components["parameters"]["GroupIdQuery"]; + /** @description A query parameter that identifies a CCI */ + cci?: components["parameters"]["CciQuery"]; + /** @description A query parameter that identifies a User */ + userId?: components["parameters"]["UserIdQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description A query parameter that specifies metadata key:value pairs to select matching Objects */ + metadata?: components["parameters"]["MetadataQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewsProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Review response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewRead"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postReviewBatch: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReviewBatch"]; + }; + }; + responses: { + /** @description ReviewBatchResponse response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewBatchResponse"] | components["schemas"]["ReviewBatchResponseDryRun"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewsByAsset: { + parameters: { + query?: { + /** @description default - rules from the default revision of a STIG in the Collection.
mapped - rules from any version of a STIG assigned to the Asset */ + rules?: components["parameters"]["ReviewRulesQuery"]; + result?: components["parameters"]["ReviewResultQuery"]; + status?: components["parameters"]["ReviewStatusQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description A query parameter that specifies metadata key:value pairs to select matching Objects */ + metadata?: components["parameters"]["MetadataQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewsProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ReviewAssetProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewAsset"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postReviewsByAsset: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + }; + cookie?: never; + }; + requestBody?: { + content: { + "application/json": components["schemas"]["ReviewAssetPost"][]; + }; + }; + responses: { + /** @description ReviewPostResponse response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewPostResponse"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewByAssetRule: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ReviewAssetRuleRead response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewAssetRuleRead"]; + }; + }; + /** @description The requested resource has no content. */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putReviewByAssetRule: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ReviewAssetRulePut"]; + }; + }; + responses: { + /** @description ReviewProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewAssetRuleRead"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteReviewByAssetRule: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ReviewProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewAssetRuleRead"]; + }; + }; + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchReviewByAssetRule: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["ReviewProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ReviewAssetRulePatch"]; + }; + }; + responses: { + /** @description ReviewProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewAssetRuleRead"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putReviewMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchReviewMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewMetadataKeys: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description MetadataKeys response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataKey"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewMetadataValue: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description MetadataValue response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataValue"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putReviewMetadataValue: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MetadataValue"]; + }; + }; + responses: { + /** @description Empty to avoid large response after putting key with large value */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteReviewMetadataKey: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies an Asset */ + assetId: components["parameters"]["AssetIdPath"]; + /** @description A path parameter that identifies a Rule */ + ruleId: components["parameters"]["RuleIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Empty to avoid large response after deleting key with large value */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollectionLabels: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Labels response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Label"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + createCollectionLabel: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["LabelCreate"]; + }; + }; + responses: { + /** @description Label response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Label"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + createCollectionLabels: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["LabelCreate"][]; + }; + }; + responses: { + /** @description Labels response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Label"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollectionLabelById: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Labels response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Label"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteCollectionLabelById: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description No Content */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchCollectionLabelById: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["LabelUpdate"]; + }; + }; + responses: { + /** @description Label response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Label"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAssetsByCollectionLabelId: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Asset response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetBasic"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putAssetsByCollectionLabelId: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a Label */ + labelId: components["parameters"]["LabelIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["String255"][]; + }; + }; + responses: { + /** @description The Label's Asset mappings */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetBasic"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollectionMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putCollectionMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchCollectionMetadata: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + responses: { + /** @description Metadata response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Metadata"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollectionMetadataKeys: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description MetadataKeys response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataKey"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCollectionMetadataValue: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description MetadataValue response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetadataValue"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putCollectionMetadataValue: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MetadataValue"]; + }; + }; + responses: { + /** @description Empty to avoid large response after putting key with large value */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteCollectionMetadataKey: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that specifies a metadata key */ + key: components["parameters"]["MetadataKeyPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Empty to avoid large response after deleting key with large value */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByCollection: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailUnagg"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByCollectionAggAsset: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggAsset"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByCollectionAgg: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggCollection"]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByCollectionAggLabel: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggLabel"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByCollectionAggStig: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggStig"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByCollection: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryUnagg"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByCollectionAggAsset: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggAsset"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByCollectionAgg: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggCollection"]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByCollectionAggLabel: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggLabel"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByCollectionAggStig: { + parameters: { + query?: { + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description A query parameter that identifies a list of Assets */ + assetId?: components["parameters"]["AssetIdArrayQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggStig"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getPoamByCollection: { + parameters: { + query: { + /** @description Aggregate the findings on this property */ + aggregator: components["parameters"]["PoamAggregatorQuery"]; + acceptedOnly?: boolean; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Value for columns Scheduled Completion Date, Milestone With Completion Dates, Milestone Changes */ + date?: string; + /** @description Value for column Office/Org */ + office?: string; + /** @description Value for column Status */ + status?: string; + /** @description Value for POAM format (ie. EMASS, MCCAST) */ + format?: components["parameters"]["PoamFormatQuery"]; + /** @description Value for POAM MCCAST PackageId */ + mccastPackageId?: string; + /** @description Value for POAM MCCAST Authorization Name */ + mccastAuthName?: string; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CollectionFinding response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewHistoryByCollection: { + parameters: { + query?: { + /** @description History entries with a timestamp before the specified start date. */ + startDate?: components["parameters"]["StartDateQuery"]; + /** @description History entries with a timestamp after the specified end date. */ + endDate?: components["parameters"]["EndDateQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Selects Reviews of a Rule */ + ruleId?: components["parameters"]["RuleIdQuery"]; + status?: components["parameters"]["ReviewStatusQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ReviewHistory response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewHistoryAsset"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteReviewHistoryByCollection: { + parameters: { + query: { + /** @description Delete history entries with a timestamp earlier than the specified retention date. */ + retentionDate: components["parameters"]["RetentionDateQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Number of history records deleted. */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewHistoryDeleted"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getReviewHistoryStatsByCollection: { + parameters: { + query?: { + /** @description History entries with a timestamp before the specified start date. */ + startDate?: components["parameters"]["StartDateQuery"]; + /** @description History entries with a timestamp after the specified end date. */ + endDate?: components["parameters"]["EndDateQuery"]; + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Selects Reviews of a Rule */ + ruleId?: components["parameters"]["RuleIdQuery"]; + status?: components["parameters"]["ReviewStatusQuery"]; + /** @description Return review history statistics with the specified level of granularity. */ + projection?: components["parameters"]["ReviewHistoryStatsProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description ReviewHistoryStats response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ReviewHistoryStats"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getStigsByCollection: { + parameters: { + query?: { + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionStigProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Collection STIGs array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionStigWithAssetCount"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getStigByCollection: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionStigProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Collection STIGs array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionStigWithAssetCount"]; + }; + }; + /** @description No content because STIG is not assigned */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + writeStigPropsByCollectionStig: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CollectionStigProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": { + defaultRevisionStr?: components["schemas"]["RevisionStr"]; + assetIds?: components["schemas"]["StringIntId"][]; + }; + }; + }; + responses: { + /** @description Default Revision response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CollectionStigWithAssetCount"]; + }; + }; + /** @description No content because STIG is not assigned */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAssetsByStig: { + parameters: { + query?: { + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description Selectes Assets without labels */ + labelMatch?: components["parameters"]["LabelMatchQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description AssetBasicProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetBasicProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + attachAssetsToStig: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a STIG */ + benchmarkId: components["parameters"]["BenchmarkIdPath"]; + }; + cookie?: never; + }; + /** @description A list of assetIds from the specified Collection */ + requestBody: { + content: { + "application/json": string[]; + }; + }; + responses: { + /** @description AssetBasicProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AssetBasicProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUnreviewedAssetsByCollection: { + parameters: { + query?: { + /** @description A query parameter that identifies an Asset */ + assetId?: components["parameters"]["AssetIdQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description Selects Rules with the specified severity */ + severity?: components["parameters"]["RuleSeverityQuery"]; + /** @description Additional properties to include in the `unreviewed` objects. */ + projection?: components["parameters"]["UnreviewedAssetsProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UnreviewedAsset response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UnreviewedAsset"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUnreviewedRulesByCollection: { + parameters: { + query?: { + /** @description Selects Reviews of a Rule */ + ruleId?: components["parameters"]["RuleIdQuery"]; + /** @description Selects Assets by labelId */ + labelId?: components["parameters"]["LabelIdQuery"]; + /** @description Selectes Assets by label name */ + labelName?: components["parameters"]["LabelNameQuery"]; + /** @description A query parameter that identifies a STIG */ + benchmarkId?: components["parameters"]["BenchmarkIdQuery"]; + /** @description Selects Rules with the specified severity */ + severity?: components["parameters"]["RuleSeverityQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UnreviewedRulesProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UnreviewedRules response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UnreviewedRule"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getEffectiveAclByCollectionUser: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a Collection */ + collectionId: components["parameters"]["CollectionIdPath"]; + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description EffectiveAcl array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["EffectiveAcl"][]; + }; + }; + 403: components["responses"]["Forbidden"]; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByMeta: { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggMeta"]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByMetaAggCollection: { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. */ + revisionId?: components["parameters"]["RevisionIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggCollection"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsDetailByMetaAggStig: { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsDetailAggStig"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByMeta: { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggMeta"]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByMetaAggCollection: { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description Filter by one or more revisionIds (benchmarkId-version-release) If Revision specified is not the default rev for at least one Collection, response will be empty. */ + revisionId?: components["parameters"]["RevisionIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggCollection"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getMetricsSummaryByMetaAggStig: { + parameters: { + query?: { + /** @description Filter by one or more collectionIds */ + collectionId?: components["parameters"]["CollectionIdArrayQuery"]; + /** @description Filter by one or more benchmarkIds */ + benchmarkId?: components["parameters"]["BenchmarkIdArrayQuery"]; + /** @description The format of the response body */ + format?: components["parameters"]["MetricsFormatQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Metrics response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["MetricsSummaryAggStig"][]; + "text/csv": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getJobs: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of jobs */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + postJob: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["JobCreate"]; + }; + }; + responses: { + /** @description Job created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getJob: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job */ + jobId: components["parameters"]["JobIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Job details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description Job not found */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteJob: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job */ + jobId: components["parameters"]["JobIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Job deleted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchJob: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job */ + jobId: components["parameters"]["JobIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["JobUpdate"]; + }; + }; + responses: { + /** @description Job updated */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Job"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRunsByJob: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job */ + jobId: components["parameters"]["JobIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of job runs */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["JobRun"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + runImmediateJob: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job */ + jobId: components["parameters"]["JobIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Job run created */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["JobRunCreated"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRunById: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job Run */ + runId: components["parameters"]["JobRunIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Job run details */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["JobRun"]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteRunById: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job Run */ + runId: components["parameters"]["JobRunIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Job run deleted */ + 204: { + headers: { + [name: string]: unknown; + }; + content?: never; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getOutputByRun: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description The starting sequence number of the run output to retrieve. If not specified, all run output is returned. */ + "after-seq"?: components["parameters"]["RunSequenceQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Job Run */ + runId: components["parameters"]["JobRunIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Job run output */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["JobRunOutput"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAllTasks: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description List of tasks */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["JobTask"][]; + }; + }; + /** @description error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAppData: { + parameters: { + query?: { + /** @description The format of the appdata */ + format?: components["parameters"]["AppDataFormatQuery"]; + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Exported data */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/jsonl": string; + "application/gzip": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + replaceAppData: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: { + content: { + "application/gzip": string; + "application/x-gzip": string; + "application/jsonl": string; + }; + }; + responses: { + /** @description Import successful */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/jsonl": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAppDataTables: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description An array of table names and lengths */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AppDataTable"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getAppInfo: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Include exact row counts for each table (slower) or use estimated counts (faster) */ + includeRowCounts?: boolean; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description AppInfo response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["AppInfo"]; + }; + }; + }; + }; + getConfiguration: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Configuration response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ApiConfiguration"]; + }; + }; + }; + }; + getDefinition: { + parameters: { + query?: { + /** @description A JSONPath expression */ + jsonpath?: components["parameters"]["JsonPathQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Definition response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["ApiDefinition"]; + }; + }; + }; + }; + getDetails: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Detail response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Detail"]; + }; + }; + }; + }; + getState: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Detail response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["StateResponse"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + streamStateSse: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Stream of events */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "text/event-stream": string; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getSTIGs: { + parameters: { + query?: { + /** @description A string found anywhere in a STIG title */ + title?: string; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["StigProjectionQuery"]; + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description STIG response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["STIG"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + importBenchmark: { + parameters: { + query?: { + /** @description Should existing Revision data be overwritten */ + clobber?: boolean; + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "multipart/form-data": { + /** Format: binary */ + importFile?: string; + }; + }; + }; + responses: { + /** @description The added STIG */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RevisionPost"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCci: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["CciProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a CCI */ + cci: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CCI response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Cci"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRuleByRuleId: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["RuleProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a Rule */ + ruleId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Rule response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RuleProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getScapMap: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description SCAP Map response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["SCAPMap"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getStigById: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description STIG response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["STIG"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteStigById: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Force an action, such as a delete, that would otherwise not be permitted */ + force?: components["parameters"]["ForceQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The deleted STIG */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["STIG"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRevisionsByBenchmarkId: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Revision response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Revision"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRevisionByString: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Revision response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Revision"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteRevisionByString: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Force an action, such as a delete, that would otherwise not be permitted */ + force?: components["parameters"]["ForceQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description The deleted Revision */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Revision"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getCcisByRevision: { + parameters: { + query?: never; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description CCI response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["CciListItem"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getGroupsByRevision: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["GroupProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description GroupProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["GroupProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getGroupByRevision: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["GroupProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + /** @description A path parameter that identifies a Group */ + groupId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Group response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["GroupProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRulesByRevision: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["RuleProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description Rule response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RuleProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getRuleByRevision: { + parameters: { + query?: { + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["RuleProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a STIG */ + benchmarkId: string; + /** @description A path parameter that identifies a STIG revision [V{version_num}R{release_num} | 'latest' ] */ + revisionStr: string; + /** @description A path parameter that identifies a Rule */ + ruleId: string; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description RuleProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["RuleProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUser: { + parameters: { + query?: { + /** @description A query parameter that identifies a UserPreference */ + projection?: components["parameters"]["UserPreferenceQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUserWebPreferences: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description User Web Preferences response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WebPreferences"]; + }; + }; + }; + }; + patchUserWebPreferences: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["WebPreferencesPatch"]; + }; + }; + responses: { + /** @description User Web Preferences response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["WebPreferences"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUsers: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + /** @description Matches against the username according to the `username-match` parameter */ + username?: components["parameters"]["UsernameQuery"]; + /** @description Selects Users with the specified privilege */ + privilege?: components["parameters"]["PrivilegeQuery"]; + /** @description How to match against the `username` parameter */ + "username-match"?: components["parameters"]["UsernameMatchQuery"]; + /** @description A query parameter that identifies a UserStatus */ + status?: components["parameters"]["UserStatusQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserProjected array response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"][]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + createUser: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserPost"]; + }; + }; + responses: { + /** @description UserProjected response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUserByUserId: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + replaceUser: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserPut"]; + }; + }; + responses: { + /** @description UserProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteUser: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + updateUser: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User */ + userId: components["parameters"]["UserIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserPatch"]; + }; + }; + responses: { + /** @description UserProjected response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUserGroups: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserGroupProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserGroups response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserGroupProjected"][]; + }; + }; + }; + }; + createUserGroup: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserGroupProjectionQuery"]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserGroupPostOrPut"]; + }; + }; + responses: { + /** @description UserGroup response */ + 201: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserGroupProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + getUserGroup: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserGroupProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User Group */ + userGroupId: components["parameters"]["UserGroupIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserGroup response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserGroupProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + putUserGroup: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserGroupProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User Group */ + userGroupId: components["parameters"]["UserGroupIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserGroupPostOrPut"]; + }; + }; + responses: { + /** @description UserGroup response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserGroupProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + deleteUserGroup: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserGroupProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User Group */ + userGroupId: components["parameters"]["UserGroupIdPath"]; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description UserGroup response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserGroupProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; + patchUserGroup: { + parameters: { + query?: { + /** @description Elevate the user context for this request if user is permitted (canAdmin) */ + elevate?: components["parameters"]["ElevateQuery"]; + /** @description Additional properties to include in the response. */ + projection?: components["parameters"]["UserGroupProjectionQuery"]; + }; + header?: never; + path: { + /** @description A path parameter that identifies a User Group */ + userGroupId: components["parameters"]["UserGroupIdPath"]; + }; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserGroupPatch"]; + }; + }; + responses: { + /** @description UserGroup response */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["UserGroupProjected"]; + }; + }; + /** @description unexpected error */ + default: { + headers: { + [name: string]: unknown; + }; + content: { + "application/json": components["schemas"]["Error"]; + }; + }; + }; + }; +}