diff --git a/go.mod b/go.mod index 03570483..07fb856c 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module code.cloudfoundry.org/cnbapplifecycle -go 1.26.8 +go 1.26.10 tool github.com/golangci/golangci-lint/v2/cmd/golangci-lint @@ -8,7 +8,7 @@ require ( code.cloudfoundry.org/credhub-cli v0.0.0-20261012130316-50bbb19ba9c5 github.com/BurntSushi/toml v1.6.0 github.com/apex/log v1.9.0 - github.com/buildpacks/lifecycle v0.21.23 + github.com/buildpacks/lifecycle v0.21.26 github.com/buildpacks/pack v0.40.9 github.com/cespare/xxhash/v2 v2.3.0 github.com/google/go-containerregistry v0.22.1 @@ -38,7 +38,7 @@ require ( github.com/Antonboom/nilnil v1.1.2 // indirect github.com/Antonboom/testifylint v1.6.4 // indirect github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect - github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect + github.com/Azure/go-ansiterm v0.0.0-20261006220739-8c912ac31dd4 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect github.com/Azure/go-autorest/autorest v0.11.30 // indirect github.com/Azure/go-autorest/autorest/adal v0.9.24 // indirect @@ -50,7 +50,7 @@ require ( github.com/ClickHouse/clickhouse-go-linter v1.2.1 // indirect github.com/Djarvur/go-err113 v0.1.1 // indirect github.com/Masterminds/semver/v3 v3.5.0 // indirect - github.com/Microsoft/go-winio v0.6.3-0.20251027160822-ad3df93bed29 // indirect + github.com/Microsoft/go-winio v0.6.3 // indirect github.com/MirrexOne/unqueryvet v1.5.4 // indirect github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect github.com/agext/levenshtein v1.2.3 // indirect @@ -63,22 +63,22 @@ require ( github.com/alingse/nilnesserr v0.2.0 // indirect github.com/ashanbrown/forbidigo/v2 v2.3.1 // indirect github.com/ashanbrown/makezero/v2 v2.2.1 // indirect - github.com/aws/aws-sdk-go-v2 v1.47.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.33.5 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.20.5 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ecr v1.55.3 // indirect - github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.10 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.51.0 // indirect - github.com/aws/smithy-go v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2 v1.47.3 // indirect + github.com/aws/aws-sdk-go-v2/config v1.33.9 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.20.9 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.6 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.66.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.47.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.21 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.6 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.10.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.51.4 // indirect + github.com/aws/smithy-go v1.28.5 // indirect github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.12.0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/bkielbasa/cyclop v1.2.3 // indirect @@ -87,7 +87,7 @@ require ( github.com/bombsimon/wsl/v5 v5.9.0 // indirect github.com/breml/bidichk v0.3.3 // indirect github.com/breml/errchkjson v0.4.1 // indirect - github.com/buildpacks/imgutil v0.0.0-20260821195038-6047007ed8ea // indirect + github.com/buildpacks/imgutil v0.0.0-20261021214501-195bdfd62620 // indirect github.com/butuzov/ireturn v0.4.1 // indirect github.com/butuzov/mirror v1.3.3 // indirect github.com/catenacyber/perfsprint v0.10.1 // indirect @@ -108,7 +108,7 @@ require ( github.com/cloudfoundry/socks5-proxy v0.2.191 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect - github.com/containerd/log v0.1.0 // indirect + github.com/containerd/log v0.2.0 // indirect github.com/containerd/platforms v1.0.0-rc.5 // indirect github.com/containerd/typeurl/v2 v2.3.0 // indirect github.com/cpuguy83/dockercfg v0.3.2 // indirect @@ -119,9 +119,9 @@ require ( github.com/dimchansky/utfbom v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect github.com/dlclark/regexp2/v2 v2.2.1 // indirect - github.com/docker/cli v29.8.1+incompatible // indirect - github.com/docker/docker-credential-helpers v0.9.9 // indirect - github.com/docker/go-connections v0.8.1 // indirect + github.com/docker/cli v29.9.0+incompatible // indirect + github.com/docker/docker-credential-helpers v0.9.10 // indirect + github.com/docker/go-connections v0.8.2 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/ebitengine/purego v0.10.2 // indirect github.com/ettle/strcase v0.2.0 // indirect @@ -129,7 +129,7 @@ require ( github.com/fatih/structtag v1.2.0 // indirect github.com/felixge/httpsnoop v1.1.0 // indirect github.com/firefart/nonamedreturns v1.0.8 // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fsnotify/fsnotify v1.10.1 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect github.com/ghostiam/protogetter v0.3.21 // indirect github.com/go-critic/go-critic v0.14.4 // indirect @@ -148,7 +148,7 @@ require ( github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect github.com/gobwas/glob v0.2.3 // indirect github.com/godoc-lint/godoc-lint v0.11.2 // indirect - github.com/gofrs/flock v0.13.0 // indirect + github.com/gofrs/flock v0.13.1 // indirect github.com/golang-jwt/jwt/v4 v4.5.2 // indirect github.com/golangci/asciicheck v0.5.0 // indirect github.com/golangci/canonicalheader v0.0.0-20260827115959-a25c71c521f6 // indirect @@ -184,7 +184,7 @@ require ( github.com/karamaru-alpha/copyloopvar v1.2.2 // indirect github.com/kisielk/errcheck v1.20.0 // indirect github.com/kkHAIKE/contextcheck v1.1.6 // indirect - github.com/klauspost/compress v1.19.2 // indirect + github.com/klauspost/compress v1.20.1 // indirect github.com/kulti/thelper v0.7.1 // indirect github.com/kunwardeep/paralleltest v1.0.15 // indirect github.com/ldez/exptostd v0.4.5 // indirect @@ -210,14 +210,14 @@ require ( github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/ioprogress v0.0.0-20180201004757-6a23b12fa88e // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/moby/buildkit v0.33.1 // indirect + github.com/moby/buildkit v0.34.1 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/go-archive v0.3.3 // indirect - github.com/moby/moby/client v0.6.1 // indirect + github.com/moby/moby/client v0.6.2 // indirect github.com/moby/patternmatcher v0.6.1 // indirect github.com/moby/sys/sequential v0.7.0 // indirect github.com/moby/sys/user v0.4.1 // indirect - github.com/moby/sys/userns v0.2.0 // indirect + github.com/moby/sys/userns v0.2.1 // indirect github.com/moby/term v0.5.2 // indirect github.com/moricho/tparallel v0.3.2 // indirect github.com/muesli/cancelreader v0.2.2 // indirect @@ -233,8 +233,8 @@ require ( github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/prometheus/client_golang v1.24.1 // indirect - github.com/prometheus/client_model v0.6.2 // indirect - github.com/prometheus/common v0.70.1 // indirect + github.com/prometheus/client_model v0.6.3 // indirect + github.com/prometheus/common v0.71.0 // indirect github.com/prometheus/procfs v0.21.1 // indirect github.com/quasilyte/go-ruleguard v0.4.5 // indirect github.com/quasilyte/go-ruleguard/dsl v0.3.23 // indirect @@ -293,15 +293,16 @@ require ( go.augendre.info/arangolint v0.4.0 // indirect go.augendre.info/fatcontext v0.10.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 // indirect - go.opentelemetry.io/otel v1.46.0 // indirect - go.opentelemetry.io/otel/metric v1.46.0 // indirect - go.opentelemetry.io/otel/trace v1.46.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.72.0 // indirect + go.opentelemetry.io/otel v1.47.0 // indirect + go.opentelemetry.io/otel/log v1.47.0 // indirect + go.opentelemetry.io/otel/metric v1.47.0 // indirect + go.opentelemetry.io/otel/trace v1.47.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect go.yaml.in/yaml/v3 v3.0.5 // indirect golang.org/x/crypto v0.58.0 // indirect - golang.org/x/exp v0.0.0-20260603202125-055de637280b // indirect + golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba // indirect golang.org/x/exp/typeparams v0.0.0-20260811152304-ee035b5b010f // indirect golang.org/x/mod v0.42.0 // indirect golang.org/x/net v0.61.0 // indirect diff --git a/go.sum b/go.sum index 4cfbb547..e41764b8 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,8 @@ github.com/Antonboom/testifylint v1.6.4 h1:gs9fUEy+egzxkEbq9P4cpcMB6/G0DYdMeiFS8 github.com/Antonboom/testifylint v1.6.4/go.mod h1:YO33FROXX2OoUfwjz8g+gUxQXio5i9qpVy7nXGbxDD4= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= -github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-ansiterm v0.0.0-20261006220739-8c912ac31dd4 h1:m2xcjRABtG288vnlV3U/PKh/HnPURxZp50RKNUwBxM8= +github.com/Azure/go-ansiterm v0.0.0-20261006220739-8c912ac31dd4/go.mod h1:MTUE7ZuZO89FAtAwozGg6AWD83pcdefnEq5gF82MB8s= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= @@ -76,8 +76,8 @@ github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3Q github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.5.0 h1:kQceYJfbupGfZOKZQg0kou0DgAKhzDg2NZPAwZ/2OOE= github.com/Masterminds/semver/v3 v3.5.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= -github.com/Microsoft/go-winio v0.6.3-0.20251027160822-ad3df93bed29 h1:0kQAzHq8vLs7Pptv+7TxjdETLf/nIqJpIB4oC6Ba4vY= -github.com/Microsoft/go-winio v0.6.3-0.20251027160822-ad3df93bed29/go.mod h1:ZWa7ssZJT30CCDGJ7fk/2SBTq9BIQrrVjrcss0UW2s0= +github.com/Microsoft/go-winio v0.6.3 h1:M/52tsoyTfwaxajLnXZm7PqkbMGRH8iSWP+8fcg9MQ4= +github.com/Microsoft/go-winio v0.6.3/go.mod h1:ma0QpxizD4fyyzJ1C7MIblymTD2Nxz5Mho/3CepwIZg= github.com/MirrexOne/unqueryvet v1.5.4 h1:38QOxShO7JmMWT+eCdDMbcUgGCOeJphVkzzRgyLJgsQ= github.com/MirrexOne/unqueryvet v1.5.4/go.mod h1:fs9Zq6eh1LRIhsDIsxf9PONVUjYdFHdtkHIgZdJnyPU= github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsuj3piCMx4= @@ -114,38 +114,38 @@ github.com/ashanbrown/forbidigo/v2 v2.3.1/go.mod h1:2QDkLTzU6TV937eFROamXrW92M3p github.com/ashanbrown/makezero/v2 v2.2.1 h1:A7uU8dgB1PA9aelTxHMfHIQ8Qev8AB3JLxJUBUsejqM= github.com/ashanbrown/makezero/v2 v2.2.1/go.mod h1:aEGT/9q3S8DHeE57C88z2a6xydvgx8J5hgXIGWgo0MY= github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go-v2 v1.47.0 h1:0jsHallhJCeaU0Ko48c/3FK1ctOQ7NpzggxriJOQ8MQ= -github.com/aws/aws-sdk-go-v2 v1.47.0/go.mod h1:bttEH6JqnUL8LepvDVfdrds/fZ5bCIxzpe3abyUrhDU= -github.com/aws/aws-sdk-go-v2/config v1.33.5 h1:UA1dmokBFOLFoOyVBhO6HjM6edy0MIk5AZSkJVcksQw= -github.com/aws/aws-sdk-go-v2/config v1.33.5/go.mod h1:Dop8axzz0xx38GExIYWXdeyc8QQ7Cr+nPsxpD/LYy4U= -github.com/aws/aws-sdk-go-v2/credentials v1.20.5 h1:wklUVvHMc9xTQ3rcp49/ISpiMnhbCicJcA6n6S8m7J8= -github.com/aws/aws-sdk-go-v2/credentials v1.20.5/go.mod h1:fyEdrn6ccLFOkoK84j5bQyGTxp9zPt5l2XMhxf4DVZs= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 h1:AM4hHjww+PSFtt6E+UrBrPlZkWsePCLEt9AjkfQX+yM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0/go.mod h1:3x/yXezeQjpOvBb4jEMxrS8SXvpdvJ5abv6l5c1gWM8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 h1:Hp/VgjP0BysR3OgLlR057Vz2LcbbVnoWeJ+3qWiS/fY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3/go.mod h1:nwGV5qw7F1IZPgxCvA/ph8N2TAuz+BkRG/bXn808qMA= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 h1:MUaM4f+kj1ZIBPZfUS8cxP1GKXXZtHJjAthy93AN7SM= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3/go.mod h1:6YmVmEVRI5ZZzRjCSsb9SryKH0hAlMRdgA7kG9aDvBU= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 h1:fuSCw4Z2qfRCztMPO3GXJNSiEp6Wee+WOLwrHHUMy9c= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3/go.mod h1:6SxcHheD1pPR5+kWm1wGvjlL/YqUsh267sAfEmN4K7A= -github.com/aws/aws-sdk-go-v2/service/ecr v1.55.3 h1:RtGctYMmkTerGClvdY6bHXdtly4FeYw9wz/NPz62LF8= -github.com/aws/aws-sdk-go-v2/service/ecr v1.55.3/go.mod h1:vBfBu24Ka3/5UZtepbTV0gnc9VPLT8ok+0oDDaYAzn4= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.10 h1:1A/sI3LNMi3fhRI5TFLMwwo7ALAALSFVCSGvFlr1Iys= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.10/go.mod h1:Diyyyz0b43X13pdi1mVMqlTwDjOmRbJMvDsqnduUYWM= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 h1:bAdDl/HkGCcGPoe25ToSHEw23VIxt6CT5fLcg111BKg= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19/go.mod h1:KaUzbLxv4CeSxh6ZCl9B4m7CuFenS8kUEaDs+f/DQr4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 h1:bON1rJf67TSTDCKg816AAIE4xSTtoo9tl0XRkO72R+I= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3/go.mod h1:c5BBpjJcQXpfeq9iASyVKA3T6vX6B6LEXY4mL/gklDY= -github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 h1:ZD5qFpWcaOKdTuhBi431pIDkCgrMkMlMT6jlpSPoIRI= -github.com/aws/aws-sdk-go-v2/service/signin v1.10.0/go.mod h1:8Nuuf+tR346PjJ3MvZPh9pekbLiLQFWJhzMXfwy7alA= -github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 h1:JGeeBcMlhg1xtOXYpeCaTQBZObtXMPQCUqBcmr65NRA= -github.com/aws/aws-sdk-go-v2/service/sso v1.38.0/go.mod h1:XwteswG9EOMRFm73UT0t+MbTwyLxMrEXkU6e+v92Lzo= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 h1:obhahQXDEdVEv8y5bTKXR30LVaxYe1kyYM0L7l2Iq+k= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0/go.mod h1:6twZZ/aXHNy1vXUO8koUbp++MYzMASkOgEBdkbJYmO0= -github.com/aws/aws-sdk-go-v2/service/sts v1.51.0 h1:Zpnqa6XtrNzXZnwbdCqHOXpXhMsa01ql/pcRQ1sb4hk= -github.com/aws/aws-sdk-go-v2/service/sts v1.51.0/go.mod h1:/8JRcdTt//hG0Q4BTmGbuOplT7ABe+5rdtqUHqXvYIM= -github.com/aws/smithy-go v1.28.1 h1:R/nXH00c8qcfCzQVELtRw+eLQWtzv+VAIEFJ1/xxXlQ= -github.com/aws/smithy-go v1.28.1/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= +github.com/aws/aws-sdk-go-v2 v1.47.3 h1:HRoT/MkNi3bjO5xF4dCzLzvVmkvRGHj3/cLINDnJejk= +github.com/aws/aws-sdk-go-v2 v1.47.3/go.mod h1:xSl+OSI5ZUw6bSMupWc218zE5Pl+65MCCu3ySWFY99A= +github.com/aws/aws-sdk-go-v2/config v1.33.9 h1:Hv6bcQUJVnmuWaKjqD6Ot8sE75NrWsWV20oGT5aWle0= +github.com/aws/aws-sdk-go-v2/config v1.33.9/go.mod h1:ivowmrZNfBQLcg4QkaItgi5wae4Bzot9RzIdbY1hfTg= +github.com/aws/aws-sdk-go-v2/credentials v1.20.9 h1:SNO55PnWhaDafsOcv16lCA0kdoFMl/YlegWoVsU02s0= +github.com/aws/aws-sdk-go-v2/credentials v1.20.9/go.mod h1:+2reOTRtdD3VSBqpRDNwrZIYy8yMCYa7oK3WKTJ/I1I= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.3 h1:gr3b87OLB29jymWPzp/CAyXwQRJVE+sC4Wm0qBIKHsk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.3/go.mod h1:BRjf4L/Yx2hY54o+ZibPbLJyMMeSwqYQXwcJfqW66a8= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.6 h1:CqL8NN3p4I0JTwwV5MEoatIl4Y2amZ2X9dRD+0hbRL0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.6/go.mod h1:exdJ32hMqXl0Wyo6NwqEC5yIhtua3+PDaKE8P29m4qE= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.6 h1:FpBq24TG6WVSObTNhQOv7Q0088rounUUlwn3zlNItkM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.6/go.mod h1:ONzdPVYC95oBOu0VWNEsKEntcoemP3xVKjT+qWml1s4= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.6 h1:Qmn60RWuk9+bd2ddvJJqwf3Cpac3VvGMOdbGemtUhX4= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.6/go.mod h1:h/YJhe4AVyQxEUMluph10iqV7mjajH7A9L+BHF5ppis= +github.com/aws/aws-sdk-go-v2/service/ecr v1.66.3 h1:wzl8YVvzpuDndd+i98mQw+f4zimavB8JQlFf6ECc53A= +github.com/aws/aws-sdk-go-v2/service/ecr v1.66.3/go.mod h1:FVkuFklPL5Oj9eM2uCmdCNng5aTA6daPllLiTcXX0fM= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.47.3 h1:tRCCa57WaVreUi3HoDr9ALtuNV9mSLJXWd4+554lSEk= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.47.3/go.mod h1:GHq1L9aTdNRoYkjK8qB9kzAZ8cmo/+SToKOwdAIXdWc= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.21 h1:e6YW5uME30TkrElR+4/xcY7NB6CCj2dcv7vtmGXhfhQ= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.21/go.mod h1:obpHAMP693+f3/A8PkLhIqfK1C+NWWn8zXzqD3OH520= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.6 h1:LHHdobjo5le1sjJdolitV7uVvYg3wkaeM1Ju2fDgeZQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.6/go.mod h1:CBGB0evAiaMD3Lk4wPO7LQCcCZLuhzL5Qf/wfEUHQ5w= +github.com/aws/aws-sdk-go-v2/service/signin v1.10.4 h1:tvpDjuUvgKURf3Yk4hOaGbZ4QdY+070OWcA5d6LUv2A= +github.com/aws/aws-sdk-go-v2/service/signin v1.10.4/go.mod h1:3ibVKg5Ng82Zby8++jELTD2nHxiPk2DJRLEeW/LKp8M= +github.com/aws/aws-sdk-go-v2/service/sso v1.38.4 h1:ChCtagixSFOxltv0o6E3NT8F7ksvZtZGPwUBynO5Nmk= +github.com/aws/aws-sdk-go-v2/service/sso v1.38.4/go.mod h1:+FEO9jrVMpc9oN3CdAxJbtlQEu3z8UddDPSedpeM3PY= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.4 h1:j6c+HA4AoS0EBEjArPjavFEBrucJEryfrQU0TffmACk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.4/go.mod h1:RhghaXUk9q66VtOQUX1FdPddQuHnqQZzbB0fEYXmPRA= +github.com/aws/aws-sdk-go-v2/service/sts v1.51.4 h1:OKEfbf2tcfsF2pBk/S9QqNpo6alaAtiBs4hysCsBjPw= +github.com/aws/aws-sdk-go-v2/service/sts v1.51.4/go.mod h1:mCd6qGo9b8hTtfjgsmNkFlzwjyce4owd7HDVFnCLXhM= +github.com/aws/smithy-go v1.28.5 h1:OqbqKtzY9NUnr2yAe9+hiTdFb20tNaK/lI0PMOGXX9k= +github.com/aws/smithy-go v1.28.5/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.12.0 h1:JFWXO6QPihCknDdnL6VaQE57km4ZKheHIGd9YiOGcTo= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.12.0/go.mod h1:046/oLyFlYdAghYQE2yHXi/E//VM5Cf3/dFmA+3CZ0c= github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= @@ -163,10 +163,10 @@ github.com/breml/bidichk v0.3.3 h1:WSM67ztRusf1sMoqH6/c4OBCUlRVTKq+CbSeo0R17sE= github.com/breml/bidichk v0.3.3/go.mod h1:ISbsut8OnjB367j5NseXEGGgO/th206dVa427kR8YTE= github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDwg= github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s= -github.com/buildpacks/imgutil v0.0.0-20260821195038-6047007ed8ea h1:oIHYIoJ1AvebKHBlu4QC+HR+pjp+7+D0eWO0KB6D3Vc= -github.com/buildpacks/imgutil v0.0.0-20260821195038-6047007ed8ea/go.mod h1:EBy9ZOatKkTBAWOgN2Y0aNV4P40dOdGyzzB9q2a5HBE= -github.com/buildpacks/lifecycle v0.21.23 h1:PesO5P5DXTjOEsyWpqp+SqW9qySvEJd95mZib4+PwWw= -github.com/buildpacks/lifecycle v0.21.23/go.mod h1:/eZcojlLCDkG8WFHP1LkLPFPD9ay5W4Ne0io1tsMSS4= +github.com/buildpacks/imgutil v0.0.0-20261021214501-195bdfd62620 h1:hWQNmuCA6zrNKhO77bwVTJd04y5dSMgkEnFAWPA0bBk= +github.com/buildpacks/imgutil v0.0.0-20261021214501-195bdfd62620/go.mod h1:EBy9ZOatKkTBAWOgN2Y0aNV4P40dOdGyzzB9q2a5HBE= +github.com/buildpacks/lifecycle v0.21.26 h1:e7yvO65YGMIiCxGgsx9zuFJEieuuQLqKSKsGVkI+B50= +github.com/buildpacks/lifecycle v0.21.26/go.mod h1:wwIl2n6dQFs1N5v0CFxsmp8cMDM5ykl419b5t+oKQ/U= github.com/buildpacks/pack v0.40.9 h1:DNgCI19uIZuuQL9QEZA30xBdCVGx8G4tl01dkHwKOwg= github.com/buildpacks/pack v0.40.9/go.mod h1:X+FKtQMkkWcRdKLmICxgetDlccor+zbbu3jVAMKHCDc= github.com/butuzov/ireturn v0.4.1 h1:vWb3NO4t77iku/sjCQ/2pHTQeOmxEhjIriJqRLg1Y+I= @@ -215,8 +215,8 @@ github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= -github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= -github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/log v0.2.0 h1:BewD/umNgVnoczglOpX8eRMyEy5t5iPlu5AIpnWDONc= +github.com/containerd/log v0.2.0/go.mod h1:/M7L7CXKcPTfNC74XzaK+5H5KbO5+4lJVpuVI6vRLoM= github.com/containerd/platforms v1.0.0-rc.5 h1:vXd569rDrz8LeMXzAnBsy6LADV5YtsD8oyaRarxdmSU= github.com/containerd/platforms v1.0.0-rc.5/go.mod h1:lKlMXyLybmBedS/JJm11uDofzI8L2v0J2ZbYvNsbq1A= github.com/containerd/typeurl/v2 v2.3.0 h1:HZHPhRWo5XMy3QGQoPrUzbW/2ckwjfweHmOwlkIrPAQ= @@ -250,14 +250,14 @@ github.com/dlclark/regexp2 v1.12.0 h1:0j4c5qQmnC6XOWNjP3PIXURXN2gWx76rd3KvgdPkCz github.com/dlclark/regexp2 v1.12.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/dlclark/regexp2/v2 v2.2.1 h1:mf4KkFUj0gJuarK8P+LgiS+Lit7m9N1yAwEfPbee7R0= github.com/dlclark/regexp2/v2 v2.2.1/go.mod h1:avUrQvPaLz2DrFNHJF0taWAFFX2C1GMSSoeiqFjcBmU= -github.com/docker/cli v29.8.1+incompatible h1:qYL1bCp6cRw2SB1xmLlIOPyV171dilw9W2Jew38vy9c= -github.com/docker/cli v29.8.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.9.0+incompatible h1:Cw9x50ioSGgGwXJ4eO+hIBry/w3LLbyF8GPAEKz1fnE= +github.com/docker/cli v29.9.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.9.9 h1:BkydjIgZ46JnDbqyM2p2fc63KMw6y+KHL3Em/2AGJ7w= -github.com/docker/docker-credential-helpers v0.9.9/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= -github.com/docker/go-connections v0.8.1 h1:JibmG5hULs5qXSr/cp/w3Pw5fZuStt4MOHMUExb29/M= -github.com/docker/go-connections v0.8.1/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q= +github.com/docker/docker-credential-helpers v0.9.10 h1:LCWwv7UmS7fQVmdKDWeMuureOeY5kkbC5kZfkzxkS6k= +github.com/docker/docker-credential-helpers v0.9.10/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= +github.com/docker/go-connections v0.8.2 h1:9d9DEokx5W7qlr0shkFXIxEA7+TTD+llwzcykSlxMNc= +github.com/docker/go-connections v0.8.2/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= @@ -280,8 +280,8 @@ github.com/firefart/nonamedreturns v1.0.8/go.mod h1:vxFNvm5AfP/8rgAKFzYmnqx0yp1H github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.10.1 h1:b0/UzAf9yR5rhf3RPm9gf3ehBPpf0oZKIjtpKrx59Ho= +github.com/fsnotify/fsnotify v1.10.1/go.mod h1:TLheqan6HD6GBK6PrDWyDPBaEV8LspOxvPSjC+bVfgo= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= github.com/gdamore/encoding v1.0.1 h1:YzKZckdBL6jVt2Gc+5p82qhrGiqMdG/eNs6Wy0u3Uhw= @@ -346,8 +346,8 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godoc-lint/godoc-lint v0.11.2 h1:Bp0FkJWoSdNsBikdNgIcgtaoo+xz6I/Y9s5WSBQUeeM= github.com/godoc-lint/godoc-lint v0.11.2/go.mod h1:iVpGdL1JCikNH2gGeAn3Hh+AgN5Gx/I/cxV+91L41jo= -github.com/gofrs/flock v0.13.0 h1:95JolYOvGMqeH31+FC7D2+uULf6mG61mEZ/A8dRYMzw= -github.com/gofrs/flock v0.13.0/go.mod h1:jxeyy9R1auM5S6JYDBhDt+E2TCo7DkratH4Pgi8P+Z0= +github.com/gofrs/flock v0.13.1 h1:jjREztyBeSKBZYAC+mgc1laB+xsgy4kYMf3FbKF2UBo= +github.com/gofrs/flock v0.13.1/go.mod h1:sf4BFiHwnvgxa25DlQoDqXQnwRMEOwqxRq37P6MzzmE= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= @@ -453,8 +453,8 @@ github.com/kisielk/errcheck v1.20.0 h1:9rwHBNKzd4wkDWcROy3DvFGNqEPlkxBg305rvk7Ha github.com/kisielk/errcheck v1.20.0/go.mod h1:O+f80MKNwX8Oor2jwgpeQ9An7uJm+hRSgT+h22knRJU= github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE= github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg= -github.com/klauspost/compress v1.19.2 h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8= -github.com/klauspost/compress v1.19.2/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= +github.com/klauspost/compress v1.20.1 h1:T7kKElXUMXrUJ2E9QhQhxFtcK5rPyLdsGZvdbLMPdiQ= +github.com/klauspost/compress v1.20.1/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI= github.com/klauspost/cpuid/v2 v2.4.0 h1:S6Hrbc7+ywsr0r+RLapfGBHfyefhCTwEh3A0tV913Dw= github.com/klauspost/cpuid/v2 v2.4.0/go.mod h1:19jmZ9mjzoF//ddRSUsv0zfBTJWh3QJh9FNxZTMrGxU= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -528,16 +528,16 @@ github.com/mitchellh/ioprogress v0.0.0-20180201004757-6a23b12fa88e h1:Qa6dnn8Dla github.com/mitchellh/ioprogress v0.0.0-20180201004757-6a23b12fa88e/go.mod h1:waEya8ee1Ro/lgxpVhkJI4BVASzkm3UZqkx/cFJiYHM= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/buildkit v0.33.1 h1:UUrdifmRdRadykO+f5l8BT1CseUXst2sJHV7AmkjjxE= -github.com/moby/buildkit v0.33.1/go.mod h1:584wW8T/WG4O+lpXUCoDaWEc5e+rTGC3iP+l9mNcX8E= +github.com/moby/buildkit v0.34.1 h1:jVdxsXX0UpU0q1Et+9lFezPmh9sGE6vF0TrKZaGlfy4= +github.com/moby/buildkit v0.34.1/go.mod h1:e+Za70y2a3nL1U2Y0P8TvhPyKp2Ok2NS+Q4siSArDiM= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/go-archive v0.3.3 h1:OxxR9paxsluYi+zDUEXTTaIxtkK3viymW+Ka7vRhhME= github.com/moby/go-archive v0.3.3/go.mod h1:Npdv43fFqlhZW7Xo8fbm3ZMYFvAGNviUPqX21VERbcE= github.com/moby/moby/api v1.56.1 h1:PpWkvVPB7Fr/No8w+TfyJ/I6rWZ2YPZhT3JorIg+06c= github.com/moby/moby/api v1.56.1/go.mod h1:sZ+THbVWkjOmBPPfbnzdD/G1LuIexWhqlSHHPTDQ1Uk= -github.com/moby/moby/client v0.6.1 h1:gvfKmdcWw+9MzXYP0vAUKQtBTGu1L8475K2nsmL7O98= -github.com/moby/moby/client v0.6.1/go.mod h1:XHgTFqz9NCgS/VuoxXMmEDVmVgXQ4vFEc15wsCIwb24= +github.com/moby/moby/client v0.6.2 h1:ekSPlMccrZGcw6Scb8T9D39qE0mB+XupU/yS0zNw9N4= +github.com/moby/moby/client v0.6.2/go.mod h1:DGcnO7qmPJrqobx/ggQgQ/AUk+2wgVdQv7uxB0/mEsc= github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/sys/mount v0.3.5 h1:eS3fsZTjHaBihwjp4/+5Z3jxqLXYsbwxqpVSfFv3M00= @@ -548,8 +548,8 @@ github.com/moby/sys/sequential v0.7.0 h1:ASQNGNROJSuOO6LL6bPHbKvuZu6NU8P4ldPWk31 github.com/moby/sys/sequential v0.7.0/go.mod h1:NfSTAp6V3fw4tmkD62PEcOKeZKquXT8VKCkf7aVR79o= github.com/moby/sys/user v0.4.1 h1:RgjRlaDKi/Xmyrz4t8lyzXT6v2ooFeO/7xtchmhVWE0= github.com/moby/sys/user v0.4.1/go.mod h1:E9QsW5WRe1kUAf7kW8hXKwu1uhsZEAdPLYHYSDudF4Y= -github.com/moby/sys/userns v0.2.0 h1:nEtDtp7NCV/6dutSklNe8FrENPwFdc4mXnZqC/JWgXM= -github.com/moby/sys/userns v0.2.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= +github.com/moby/sys/userns v0.2.1 h1:4OvdM7BcPkASbuouHsbW3aeMJSFlYDldBRnXVZhaRk8= +github.com/moby/sys/userns v0.2.1/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI= @@ -603,10 +603,10 @@ github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v1.24.1 h1:JnJkREXzWxUdCuPFpIWZiPispT9xVV59uiuyR2bPlnU= github.com/prometheus/client_golang v1.24.1/go.mod h1:F+oSRECHg4sse5ucfYpYDeIv/hu68Zo0uoHKetWnzcE= -github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= -github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.70.1 h1:1HvjP4D5oL3t8RsPlwxA9onvvStjtIHYE5XuuwOi/PY= -github.com/prometheus/common v0.70.1/go.mod h1:VdFUQDMZK3VLkurFUVhia6uys/0suUp86TJz5qbJRhc= +github.com/prometheus/client_model v0.6.3 h1:O0jaTVAYNxTHYInEPFJt5I3+sN8zqBtVMPTB1qyxiEo= +github.com/prometheus/client_model v0.6.3/go.mod h1:gpN5P9S7Rr6Yr92PiQ+Ixvhf6JZEkF1dnxsYL2aPBEM= +github.com/prometheus/common v0.71.0 h1:9KDAKb7Mj3HEVKyFCK6Dc/HIwlBzZIN2l7/lrHl3KK8= +github.com/prometheus/common v0.71.0/go.mod h1:CLJ5H8TEsGX8bl31BdMkfhIZ+QmZ9tBPPotUxUbfcmk= github.com/prometheus/procfs v0.21.1 h1:GljZCt+zSTS+NZq88cyQ1LjZ+RCHp3uVuabBWA5+OJI= github.com/prometheus/procfs v0.21.1/go.mod h1:aB55Cww9pdSJVHk0hUf0inxWyyjPogFIjmHKYgMKmtY= github.com/quasilyte/go-ruleguard v0.4.5 h1:AGY0tiOT5hJX9BTdx/xBdoCubQUAE2grkqY2lSwvZcA= @@ -782,18 +782,20 @@ go.augendre.info/fatcontext v0.10.0 h1:HhFopmivh8U1+AU7f0kuwUeg2eiIns7YsGQOMHwSJ go.augendre.info/fatcontext v0.10.0/go.mod h1:pqpGvA9GlrXy+aXkp8L2dKz12Zp4g2FhzcAtwToU+2w= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 h1:LMuyCAyfalSjDyjdC65nK6N0zoTT63+E/u95X0JovZI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0/go.mod h1:085m8qbm4hgc8rZWGDEa4vmyyo2c3nPxUslYUKUIU04= -go.opentelemetry.io/otel v1.46.0 h1:FHt5/CDyVxi/8IM1CH7VE/rRgq3kLHa2mSTVMO8AWyc= -go.opentelemetry.io/otel v1.46.0/go.mod h1:Gj3SEScelsNC45tp4nSxRYlS+f5iez7W8XPMCt905kE= -go.opentelemetry.io/otel/metric v1.46.0 h1:yBnkXvgV7AXFILZc5K6IZe/CBFF3OS7BJ8ov6/lj0K8= -go.opentelemetry.io/otel/metric v1.46.0/go.mod h1:iPmdWqifKUdzziPkvvzIJXITl56fQx2mGM/DHLB3/2o= -go.opentelemetry.io/otel/sdk v1.46.0 h1:h5CNQQjEbuQXY/JfZtgt3i7HVFV3aHPO2OAwO2eTYPI= -go.opentelemetry.io/otel/sdk v1.46.0/go.mod h1:GAERFXFt5SYCEB+YiKUbMBeza6UaDH7GmGOZEfh2gSM= -go.opentelemetry.io/otel/sdk/metric v1.45.0 h1:oVFszMfyj1Am6s24Vtc7wBb8BKLcwepJjNEYILuiE3o= -go.opentelemetry.io/otel/sdk/metric v1.45.0/go.mod h1:vUWUxDZvu1WVRj8JA8S0AdhsPrZoDpA2DdZauIh4mDA= -go.opentelemetry.io/otel/trace v1.46.0 h1:OULy7ccdJnZtJ0UDYFOIGaCmiWzJ8Vi2G/Rsu60qs1c= -go.opentelemetry.io/otel/trace v1.46.0/go.mod h1:J7GAXweO77XSFkB/rmAqk9D6ihszhFjLU+d9WuUxDLI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.72.0 h1:LxwW/9ctSCv+QkE/cLR7M91ZIkXNMqJtEMi1vCw9U8s= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.72.0/go.mod h1:tOsftB4SslBwwErVEPaenU2RpThXWPIU8DoJHEC4dyw= +go.opentelemetry.io/otel v1.47.0 h1:j7ALJ/zgkS7Z6aeJW09p8VC9804bC+PpeTfCD4XPnOM= +go.opentelemetry.io/otel v1.47.0/go.mod h1:8wS9O2qfXrYrzp6hIF/HOYJJf/wIhFPhR2xLuP+iXQU= +go.opentelemetry.io/otel/log v1.47.0 h1:cOTS1CcLbSQeZKanGJ+0JpF/+t4PELi3O3bbl2lqCcI= +go.opentelemetry.io/otel/log v1.47.0/go.mod h1:9byitSQ5pLC6PpqwGXjqdMKya6ZTswHRZh2vvXT33nw= +go.opentelemetry.io/otel/metric v1.47.0 h1:4PptaldXx3Eat1XjMZ68pPJEs5wrhlemctZE9a3UdWY= +go.opentelemetry.io/otel/metric v1.47.0/go.mod h1:ADGSXxRrXM6bjbvLo535EstVFlPpPYZm4LBKixjDHwU= +go.opentelemetry.io/otel/sdk v1.47.0 h1:zWXEr4j2lFefG87TU6Yg8a7ngfohIKFZHKp0Hf5hC6I= +go.opentelemetry.io/otel/sdk v1.47.0/go.mod h1:VUc24kiOeoGsxG8G9ULx3fWKvB7jMhnGE8Oi607lgR0= +go.opentelemetry.io/otel/sdk/metric v1.47.0 h1:lfISg2j93VT6yqdk9OfUaZmw/GfcZqCCV3jdXtsPnKw= +go.opentelemetry.io/otel/sdk/metric v1.47.0/go.mod h1:ypLp+mW1Nt2x+Szt3b5/i1syodyts49lMOwxpDI3VGw= +go.opentelemetry.io/otel/trace v1.47.0 h1:JOjX/Oci8K94QHddo+bbfya/Ai/nf6/dt9ZfrFNWSrM= +go.opentelemetry.io/otel/trace v1.47.0/go.mod h1:jNaSLa2PZEYFG6fRjJABAu+bw4FS08uDmPg28lTghu0= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -814,8 +816,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/crypto v0.58.0 h1:COkYLr4k7nDI4r6QtMML2AfzeIswWHAJthLS6K/M/54= golang.org/x/crypto v0.58.0/go.mod h1:Xh+kl5A+M0gMiWDytH2Hhr5Z7WbNCpv/eB/EFgfSk+w= -golang.org/x/exp v0.0.0-20260603202125-055de637280b h1:v1uXiEBHo8QA0LiGCo7UgHMzHT4Kdfpl2zmtH5vaP1Q= -golang.org/x/exp v0.0.0-20260603202125-055de637280b/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= +golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba h1:Ck8QetSgk912qxWLMCKxd0in+aiyBQyDSMae6e/xmpU= +golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba/go.mod h1:50RgIsmK7OwqzTTeqcSXQW8SswW0o8fRcDxmqGluJ8E= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20260811152304-ee035b5b010f h1:+lI8cDJ4uceLipg2f1ODay7fEuLkk0BIHXd6PB8icxo= @@ -864,7 +866,6 @@ golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/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-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/vendor/github.com/Azure/go-ansiterm/csi_entry_state.go b/vendor/github.com/Azure/go-ansiterm/csi_entry_state.go index bcbe00d0..01c9519c 100644 --- a/vendor/github.com/Azure/go-ansiterm/csi_entry_state.go +++ b/vendor/github.com/Azure/go-ansiterm/csi_entry_state.go @@ -26,7 +26,7 @@ func (csiState csiEntryState) Handle(b byte) (s state, e error) { func (csiState csiEntryState) Transition(s state) error { csiState.parser.logf("CsiEntry::Transition %s --> %s", csiState.Name(), s.Name()) - csiState.baseState.Transition(s) + _ = csiState.baseState.Transition(s) switch s { case csiState.parser.ground: @@ -34,9 +34,9 @@ func (csiState csiEntryState) Transition(s state) error { case csiState.parser.csiParam: switch { case sliceContains(csiParams, csiState.parser.context.currentChar): - csiState.parser.collectParam() + _ = csiState.parser.collectParam() case sliceContains(intermeds, csiState.parser.context.currentChar): - csiState.parser.collectInter() + _ = csiState.parser.collectInter() } } diff --git a/vendor/github.com/Azure/go-ansiterm/csi_param_state.go b/vendor/github.com/Azure/go-ansiterm/csi_param_state.go index 7ed5e01c..88146e6f 100644 --- a/vendor/github.com/Azure/go-ansiterm/csi_param_state.go +++ b/vendor/github.com/Azure/go-ansiterm/csi_param_state.go @@ -16,8 +16,7 @@ func (csiState csiParamState) Handle(b byte) (s state, e error) { case sliceContains(alphabetics, b): return csiState.parser.ground, nil case sliceContains(csiCollectables, b): - csiState.parser.collectParam() - return csiState, nil + return csiState, csiState.parser.collectParam() case sliceContains(executors, b): return csiState, csiState.parser.execute() } @@ -27,7 +26,7 @@ func (csiState csiParamState) Handle(b byte) (s state, e error) { func (csiState csiParamState) Transition(s state) error { csiState.parser.logf("CsiParam::Transition %s --> %s", csiState.Name(), s.Name()) - csiState.baseState.Transition(s) + _ = csiState.baseState.Transition(s) switch s { case csiState.parser.ground: diff --git a/vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.go b/vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.go index 1c719db9..88429690 100644 --- a/vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.go +++ b/vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.go @@ -25,7 +25,7 @@ func (escState escapeIntermediateState) Handle(b byte) (s state, e error) { func (escState escapeIntermediateState) Transition(s state) error { escState.parser.logf("escapeIntermediateState::Transition %s --> %s", escState.Name(), s.Name()) - escState.baseState.Transition(s) + _ = escState.baseState.Transition(s) switch s { case escState.parser.ground: diff --git a/vendor/github.com/Azure/go-ansiterm/escape_state.go b/vendor/github.com/Azure/go-ansiterm/escape_state.go index 6390abd2..854e3812 100644 --- a/vendor/github.com/Azure/go-ansiterm/escape_state.go +++ b/vendor/github.com/Azure/go-ansiterm/escape_state.go @@ -29,7 +29,7 @@ func (escState escapeState) Handle(b byte) (s state, e error) { func (escState escapeState) Transition(s state) error { escState.parser.logf("Escape::Transition %s --> %s", escState.Name(), s.Name()) - escState.baseState.Transition(s) + _ = escState.baseState.Transition(s) switch s { case escState.parser.ground: diff --git a/vendor/github.com/Azure/go-ansiterm/parser.go b/vendor/github.com/Azure/go-ansiterm/parser.go index 03cec7ad..2e8ef80f 100644 --- a/vendor/github.com/Azure/go-ansiterm/parser.go +++ b/vendor/github.com/Azure/go-ansiterm/parser.go @@ -113,16 +113,13 @@ func (ap *AnsiParser) handle(b byte) error { if newState == nil { ap.logf("WARNING: newState is nil") - return errors.New("New state of 'nil' is invalid.") + return errors.New("new state of 'nil' is invalid") } - if newState != ap.currState { - if err := ap.changeState(newState); err != nil { - return err - } + if newState == ap.currState { + return nil } - - return nil + return ap.changeState(newState) } func (ap *AnsiParser) changeState(newState state) error { @@ -136,7 +133,7 @@ func (ap *AnsiParser) changeState(newState state) error { // Perform transition action if err := ap.currState.Transition(newState); err != nil { - ap.logf("Transition from '%s' to '%s' failed with: '%v'", ap.currState.Name(), newState.Name, err) + ap.logf("Transition from '%s' to '%s' failed with: '%v'", ap.currState.Name(), newState.Name(), err) return err } diff --git a/vendor/github.com/Azure/go-ansiterm/parser_action_helpers.go b/vendor/github.com/Azure/go-ansiterm/parser_action_helpers.go index de0a1f9c..dc001532 100644 --- a/vendor/github.com/Azure/go-ansiterm/parser_action_helpers.go +++ b/vendor/github.com/Azure/go-ansiterm/parser_action_helpers.go @@ -4,9 +4,9 @@ import ( "strconv" ) -func parseParams(bytes []byte) ([]string, error) { - paramBuff := make([]byte, 0, 0) - params := []string{} +func parseParams(bytes []byte) []string { + var paramBuff []byte + var params []string for _, v := range bytes { if v == ';' { @@ -14,7 +14,7 @@ func parseParams(bytes []byte) ([]string, error) { // Completed parameter, append it to the list s := string(paramBuff) params = append(params, s) - paramBuff = make([]byte, 0, 0) + paramBuff = paramBuff[:0] } } else { paramBuff = append(paramBuff, v) @@ -27,11 +27,7 @@ func parseParams(bytes []byte) ([]string, error) { params = append(params, s) } - return params, nil -} - -func parseCmd(context ansiContext) (string, error) { - return string(context.currentChar), nil + return params } func getInt(params []string, dflt int) int { diff --git a/vendor/github.com/Azure/go-ansiterm/parser_actions.go b/vendor/github.com/Azure/go-ansiterm/parser_actions.go index 0bb5e51e..2aee1015 100644 --- a/vendor/github.com/Azure/go-ansiterm/parser_actions.go +++ b/vendor/github.com/Azure/go-ansiterm/parser_actions.go @@ -15,10 +15,9 @@ func (ap *AnsiParser) collectInter() error { } func (ap *AnsiParser) escDispatch() error { - cmd, _ := parseCmd(*ap.context) - intermeds := ap.context.interBuffer + cmd := string(ap.context.currentChar) ap.logf("escDispatch currentChar: %#x", ap.context.currentChar) - ap.logf("escDispatch: %v(%v)", cmd, intermeds) + ap.logf("escDispatch: %s(%q)", cmd, string(ap.context.interBuffer)) switch cmd { case "D": // IND @@ -31,14 +30,14 @@ func (ap *AnsiParser) escDispatch() error { return err case "M": // RI return ap.eventHandler.RI() + default: + return nil } - - return nil } func (ap *AnsiParser) csiDispatch() error { - cmd, _ := parseCmd(*ap.context) - params, _ := parseParams(ap.context.paramBuffer) + cmd := string(ap.context.currentChar) + params := parseParams(ap.context.paramBuffer) ap.logf("Parsed params: %v with length: %d", params, len(params)) ap.logf("csiDispatch: %v(%v)", cmd, params) @@ -109,9 +108,8 @@ func (ap *AnsiParser) print() error { return ap.eventHandler.Print(ap.context.currentChar) } -func (ap *AnsiParser) clear() error { +func (ap *AnsiParser) clear() { ap.context = &ansiContext{} - return nil } func (ap *AnsiParser) execute() error { diff --git a/vendor/github.com/Azure/go-ansiterm/states.go b/vendor/github.com/Azure/go-ansiterm/states.go index f2ea1fcd..cf726922 100644 --- a/vendor/github.com/Azure/go-ansiterm/states.go +++ b/vendor/github.com/Azure/go-ansiterm/states.go @@ -1,7 +1,5 @@ package ansiterm -type stateID int - type state interface { Enter() error Exit() error diff --git a/vendor/github.com/Azure/go-ansiterm/utilities.go b/vendor/github.com/Azure/go-ansiterm/utilities.go index 39211449..d94dd3a3 100644 --- a/vendor/github.com/Azure/go-ansiterm/utilities.go +++ b/vendor/github.com/Azure/go-ansiterm/utilities.go @@ -1,9 +1,5 @@ package ansiterm -import ( - "strconv" -) - func sliceContains(bytes []byte, b byte) bool { for _, v := range bytes { if v == b { @@ -13,9 +9,3 @@ func sliceContains(bytes []byte, b byte) bool { return false } - -func convertBytesToInteger(bytes []byte) int { - s := string(bytes) - i, _ := strconv.Atoi(s) - return i -} diff --git a/vendor/github.com/Azure/go-ansiterm/winterm/ansi.go b/vendor/github.com/Azure/go-ansiterm/winterm/ansi.go index 5599082a..c6cc027a 100644 --- a/vendor/github.com/Azure/go-ansiterm/winterm/ansi.go +++ b/vendor/github.com/Azure/go-ansiterm/winterm/ansi.go @@ -5,12 +5,9 @@ package winterm import ( "fmt" "os" - "strconv" - "strings" "syscall" - "github.com/Azure/go-ansiterm" - windows "golang.org/x/sys/windows" + "golang.org/x/sys/windows" ) // Windows keyboard constants @@ -55,100 +52,6 @@ const ( ENHANCED_KEY = 0x0100 ) -type ansiCommand struct { - CommandBytes []byte - Command string - Parameters []string - IsSpecial bool -} - -func newAnsiCommand(command []byte) *ansiCommand { - - if isCharacterSelectionCmdChar(command[1]) { - // Is Character Set Selection commands - return &ansiCommand{ - CommandBytes: command, - Command: string(command), - IsSpecial: true, - } - } - - // last char is command character - lastCharIndex := len(command) - 1 - - ac := &ansiCommand{ - CommandBytes: command, - Command: string(command[lastCharIndex]), - IsSpecial: false, - } - - // more than a single escape - if lastCharIndex != 0 { - start := 1 - // skip if double char escape sequence - if command[0] == ansiterm.ANSI_ESCAPE_PRIMARY && command[1] == ansiterm.ANSI_ESCAPE_SECONDARY { - start++ - } - // convert this to GetNextParam method - ac.Parameters = strings.Split(string(command[start:lastCharIndex]), ansiterm.ANSI_PARAMETER_SEP) - } - - return ac -} - -func (ac *ansiCommand) paramAsSHORT(index int, defaultValue int16) int16 { - if index < 0 || index >= len(ac.Parameters) { - return defaultValue - } - - param, err := strconv.ParseInt(ac.Parameters[index], 10, 16) - if err != nil { - return defaultValue - } - - return int16(param) -} - -func (ac *ansiCommand) String() string { - return fmt.Sprintf("0x%v \"%v\" (\"%v\")", - bytesToHex(ac.CommandBytes), - ac.Command, - strings.Join(ac.Parameters, "\",\"")) -} - -// isAnsiCommandChar returns true if the passed byte falls within the range of ANSI commands. -// See http://manpages.ubuntu.com/manpages/intrepid/man4/console_codes.4.html. -func isAnsiCommandChar(b byte) bool { - switch { - case ansiterm.ANSI_COMMAND_FIRST <= b && b <= ansiterm.ANSI_COMMAND_LAST && b != ansiterm.ANSI_ESCAPE_SECONDARY: - return true - case b == ansiterm.ANSI_CMD_G1 || b == ansiterm.ANSI_CMD_OSC || b == ansiterm.ANSI_CMD_DECPAM || b == ansiterm.ANSI_CMD_DECPNM: - // non-CSI escape sequence terminator - return true - case b == ansiterm.ANSI_CMD_STR_TERM || b == ansiterm.ANSI_BEL: - // String escape sequence terminator - return true - } - return false -} - -func isXtermOscSequence(command []byte, current byte) bool { - return (len(command) >= 2 && command[0] == ansiterm.ANSI_ESCAPE_PRIMARY && command[1] == ansiterm.ANSI_CMD_OSC && current != ansiterm.ANSI_BEL) -} - -func isCharacterSelectionCmdChar(b byte) bool { - return (b == ansiterm.ANSI_CMD_G0 || b == ansiterm.ANSI_CMD_G1 || b == ansiterm.ANSI_CMD_G2 || b == ansiterm.ANSI_CMD_G3) -} - -// bytesToHex converts a slice of bytes to a human-readable string. -func bytesToHex(b []byte) string { - hex := make([]string, len(b)) - for i, ch := range b { - hex[i] = fmt.Sprintf("%X", ch) - } - return strings.Join(hex, "") -} - // ensureInRange adjusts the passed value, if necessary, to ensure it is within // the passed min / max range. func ensureInRange(n int16, min int16, max int16) int16 { diff --git a/vendor/github.com/Microsoft/go-winio/.golangci.yml b/vendor/github.com/Microsoft/go-winio/.golangci.yml index 924b5ce5..07a22649 100644 --- a/vendor/github.com/Microsoft/go-winio/.golangci.yml +++ b/vendor/github.com/Microsoft/go-winio/.golangci.yml @@ -1,9 +1,15 @@ +version: "2" +formatters: + enable: + - gofmt # files are gofmt'ed linters: enable: # style - containedctx # struct contains a context - dupl # duplicate code - - errname # erorrs are named correctly + - dupword # duplicate words in comments + - errname # errors are named correctly + - intrange # integer ranges in for loop - nolintlint # "//nolint" directives are properly explained - revive # golint replacement - unconvert # unnecessary conversions @@ -13,139 +19,155 @@ linters: - contextcheck # function uses a non-inherited context - errorlint # errors not wrapped for 1.13 - exhaustive # check exhaustiveness of enum switch statements - - gofmt # files are gofmt'ed + - gocritic # various code quality checks - gosec # security + - mirror # avoid allocations - nilerr # returns nil even with non-nil error - thelper # test helpers without t.Helper() - unparam # unused function params -issues: - exclude-dirs: - - pkg/etw/sample - - exclude-rules: - # err is very often shadowed in nested scopes - - linters: - - govet - text: '^shadow: declaration of "err" shadows declaration' - - # ignore long lines for skip autogen directives - - linters: - - revive - text: "^line-length-limit: " - source: "^//(go:generate|sys) " + exclusions: + paths: + - pkg/etw/sample + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + rules: + # err is very often shadowed in nested scopes + - linters: + - govet + text: '^shadow: declaration of "err" shadows declaration' - #TODO: remove after upgrading to go1.18 - # ignore comment spacing for nolint and sys directives - - linters: - - revive - text: "^comment-spacings: no space between comment delimiter and comment text" - source: "//(cspell:|nolint:|sys |todo)" + # ignore long lines for skip autogen directives + - linters: + - revive + text: "^line-length-limit: " + source: "^//(go:generate|sys) " - # not on go 1.18 yet, so no any - - linters: - - revive - text: "^use-any: since GO 1.18 'interface{}' can be replaced by 'any'" + # ignore comment spacing for sys directives + - linters: + - revive + text: "^comment-spacings: no space between comment delimiter and comment text" + source: "//(cspell:|sys )" - # allow unjustified ignores of error checks in defer statements - - linters: - - nolintlint - text: "^directive `//nolint:errcheck` should provide explanation" - source: '^\s*defer ' + # allow unjustified ignores of error checks in defer statements + - linters: + - nolintlint + text: "^directive `//nolint:errcheck` should provide explanation" + source: '^\s*defer ' - # allow unjustified ignores of error lints for io.EOF - - linters: - - nolintlint - text: "^directive `//nolint:errorlint` should provide explanation" - source: '[=|!]= io.EOF' + # allow unjustified ignores of error lints for io.EOF + - linters: + - nolintlint + text: "^directive `//nolint:errorlint` should provide explanation" + source: '[=|!]= io.EOF' - - linters: - - gosec - text: "^G115: integer overflow conversion" + - linters: + - gosec + text: "^G115: integer overflow conversion" -linters-settings: - exhaustive: - default-signifies-exhaustive: true - govet: - enable-all: true - disable: - # struct order is often for Win32 compat - # also, ignore pointer bytes/GC issues for now until performance becomes an issue - - fieldalignment - nolintlint: - require-explanation: true - require-specific: true - revive: - # revive is more configurable than static check, so likely the preferred alternative to static-check - # (once the perf issue is solved: https://github.com/golangci/golangci-lint/issues/2997) - enable-all-rules: - true + settings: + exhaustive: + default-signifies-exhaustive: true + gocritic: + disable-all: true + enabled-checks: + - nilValReturn + - sprintfQuotedString + govet: + enable-all: true + disable: + # struct order is often for Win32 compat + # also, ignore pointer bytes/GC issues for now until performance becomes an issue + - fieldalignment + nolintlint: + require-explanation: true + require-specific: true + revive: + # revive is more configurable than static check, so likely the preferred alternative to static-check + # (once the perf issue is solved: https://github.com/golangci/golangci-lint/issues/2997) + enable-all-rules: + true # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md - rules: - # rules with required arguments - - name: argument-limit - disabled: true - - name: banned-characters - disabled: true - - name: cognitive-complexity - disabled: true - - name: cyclomatic - disabled: true - - name: file-header - disabled: true - - name: function-length - disabled: true - - name: function-result-limit - disabled: true - - name: max-public-structs - disabled: true - # geneally annoying rules - - name: add-constant # complains about any and all strings and integers - disabled: true - - name: confusing-naming # we frequently use "Foo()" and "foo()" together - disabled: true - - name: flag-parameter # excessive, and a common idiom we use - disabled: true - - name: unhandled-error # warns over common fmt.Print* and io.Close; rely on errcheck instead - disabled: true - # general config - - name: line-length-limit - arguments: - - 140 - - name: var-naming - arguments: - - [] - - - CID - - CRI - - CTRD - - DACL - - DLL - - DOS - - ETW - - FSCTL - - GCS - - GMSA - - HCS - - HV - - IO - - LCOW - - LDAP - - LPAC - - LTSC - - MMIO - - NT - - OCI - - PMEM - - PWSH - - RX - - SACl - - SID - - SMB - - TX - - VHD - - VHDX - - VMID - - VPCI - - WCOW - - WIM + rules: + # rules with required arguments + - name: argument-limit + disabled: true + - name: banned-characters + disabled: true + - name: cognitive-complexity + disabled: true + - name: cyclomatic + disabled: true + # covered by "exhaustive" linter + - name: enforce-switch-style + disabled: true + - name: file-header + disabled: true + - name: function-length + disabled: true + - name: function-result-limit + disabled: true + - name: max-public-structs + disabled: true + # generally annoying rules + - name: add-constant # complains about any and all strings and integers + disabled: true + - name: confusing-naming # we frequently use "Foo()" and "foo()" together + disabled: true + - name: flag-parameter # excessive, and a common idiom we use + disabled: true + - name: multiline-if-init # too opinionated; see https://github.com/microsoft/go-winio/pull/325#issuecomment-5822487436 + disabled: true + - name: unhandled-error # warns over common fmt.Print* and io.Close; rely on errcheck instead + disabled: true + # general config + - name: line-length-limit + arguments: + - 140 + - name: var-naming + arguments: + - [] + - - CID + - CRI + - CTRD + - DACL + - DLL + - DOS + - ETW + - FSCTL + - GCS + - GMSA + - HCS + - HV + - IO + - LCOW + - LDAP + - LPAC + - LTSC + - MMIO + - NT + - OCI + - PMEM + - PWSH + - RX + - SACl + - SID + - SMB + - TX + - VHD + - VHDX + - VMID + - VPCI + - WCOW + - WIM + staticcheck: + # Enable all options, with some exceptions. + # For defaults, see https://golangci-lint.run/usage/linters/#staticcheck + checks: + - all + - -QF1008 # Omit embedded fields from selector expression; https://staticcheck.dev/docs/checks/#QF1008 + - -ST1003 # Poorly chosen identifier; https://staticcheck.dev/docs/checks/#ST1003 diff --git a/vendor/github.com/Microsoft/go-winio/backup.go b/vendor/github.com/Microsoft/go-winio/backup.go index 7c2e4ba2..37055fa6 100644 --- a/vendor/github.com/Microsoft/go-winio/backup.go +++ b/vendor/github.com/Microsoft/go-winio/backup.go @@ -35,7 +35,7 @@ const ( StreamSparseAttributes = uint32(8) ) -//nolint:revive // var-naming: ALL_CAPS +//nolint:revive,nolintlint // var-naming: ALL_CAPS const ( WRITE_DAC = windows.WRITE_DAC WRITE_OWNER = windows.WRITE_OWNER diff --git a/vendor/github.com/Microsoft/go-winio/ea.go b/vendor/github.com/Microsoft/go-winio/ea.go index e104dbdf..00a4bd96 100644 --- a/vendor/github.com/Microsoft/go-winio/ea.go +++ b/vendor/github.com/Microsoft/go-winio/ea.go @@ -95,7 +95,7 @@ func writeEa(buf *bytes.Buffer, ea *ExtendedAttribute, last bool) error { return err } - _, err = buf.Write([]byte(ea.Name)) + _, err = buf.WriteString(ea.Name) if err != nil { return err } diff --git a/vendor/github.com/Microsoft/go-winio/file.go b/vendor/github.com/Microsoft/go-winio/file.go index f3821376..449bb3bd 100644 --- a/vendor/github.com/Microsoft/go-winio/file.go +++ b/vendor/github.com/Microsoft/go-winio/file.go @@ -3,8 +3,9 @@ package winio import ( - "errors" + "context" "io" + "os" "runtime" "sync" "sync/atomic" @@ -20,16 +21,33 @@ import ( //sys setFileCompletionNotificationModes(h windows.Handle, flags uint8) (err error) = SetFileCompletionNotificationModes //sys wsaGetOverlappedResult(h windows.Handle, o *windows.Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) = ws2_32.WSAGetOverlappedResult -var ( - ErrFileClosed = errors.New("file has already been closed") - ErrTimeout = &timeoutError{} -) - +// ErrFileClosed is returned when an operation is performed on a closed file. +// +// Deprecated: use [os.ErrClosed] instead. +var ErrFileClosed = os.ErrClosed + +// ErrTimeout is returned when an I/O operation exceeds its deadline. +// +// It matches both [context.DeadlineExceeded] and [os.ErrDeadlineExceeded] +// with [errors.Is]. +var ErrTimeout error = &timeoutError{} + +// timeoutError preserves the historical "i/o timeout" error while matching +// both context.DeadlineExceeded and os.ErrDeadlineExceeded through errors.Is. +// This mirrors the behavior of net.errTimeout: +// https://github.com/golang/go/blob/go1.27.1/src/net/net.go +// +// TODO: consider replacing ErrTimeout with os.ErrDeadlineExceeded if os.ErrDeadlineExceeded is changed to match context.DeadlineExceeded. type timeoutError struct{} func (*timeoutError) Error() string { return "i/o timeout" } func (*timeoutError) Timeout() bool { return true } func (*timeoutError) Temporary() bool { return true } +func (*timeoutError) Unwrap() error { return os.ErrDeadlineExceeded } + +func (*timeoutError) Is(err error) bool { + return err == context.DeadlineExceeded +} type timeoutChan chan struct{} @@ -143,7 +161,7 @@ func (f *win32File) prepareIO() (*ioOperation, error) { f.wgLock.RLock() if f.closing.Load() { f.wgLock.RUnlock() - return nil, ErrFileClosed + return nil, os.ErrClosed } f.wg.Add(1) f.wgLock.RUnlock() @@ -192,7 +210,7 @@ func (f *win32File) asyncIO(c *ioOperation, d *deadlineHandler, bytes uint32, er err = r.err if err == windows.ERROR_OPERATION_ABORTED { //nolint:errorlint // err is Errno if f.closing.Load() { - err = ErrFileClosed + err = os.ErrClosed } } else if err != nil && f.socket { // err is from Win32. Query the overlapped structure to get the winsock error. @@ -234,12 +252,17 @@ func (f *win32File) Read(b []byte) (int, error) { runtime.KeepAlive(b) // Handle EOF conditions. - if err == nil && n == 0 && len(b) != 0 { - return 0, io.EOF - } else if err == windows.ERROR_BROKEN_PIPE { //nolint:errorlint // err is Errno + switch err { + case windows.ERROR_BROKEN_PIPE: //nolint:errorlint // err is Errno return 0, io.EOF + case nil: + if n == 0 && len(b) != 0 { + return 0, io.EOF + } + return n, nil + default: + return n, err } - return n, err } // Write writes to a file handle. diff --git a/vendor/github.com/Microsoft/go-winio/hvsock.go b/vendor/github.com/Microsoft/go-winio/hvsock.go index d4960f5b..df2008f6 100644 --- a/vendor/github.com/Microsoft/go-winio/hvsock.go +++ b/vendor/github.com/Microsoft/go-winio/hvsock.go @@ -441,7 +441,7 @@ func canRedial(err error) bool { func (conn *HvsockConn) opErr(op string, err error) error { // translate from "file closed" to "socket closed" - if errors.Is(err, ErrFileClosed) { + if errors.Is(err, os.ErrClosed) { err = socket.ErrSocketClosed } return &net.OpError{Op: op, Net: "hvsock", Source: &conn.local, Addr: &conn.remote, Err: err} diff --git a/vendor/github.com/Microsoft/go-winio/internal/fs/fs.go b/vendor/github.com/Microsoft/go-winio/internal/fs/fs.go index 0cd9621d..f3bc2aeb 100644 --- a/vendor/github.com/Microsoft/go-winio/internal/fs/fs.go +++ b/vendor/github.com/Microsoft/go-winio/internal/fs/fs.go @@ -243,7 +243,7 @@ const ( // https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfinalpathnamebyhandlew func GetFinalPathNameByHandle(h windows.Handle, flags GetFinalPathFlag) (string, error) { b := stringbuffer.NewWString() - //TODO: can loop infinitely if Win32 keeps returning the same (or a larger) n? + // TODO: can loop infinitely if Win32 keeps returning the same (or a larger) n? for { n, err := windows.GetFinalPathNameByHandle(h, b.Pointer(), b.Cap(), uint32(flags)) if err != nil { diff --git a/vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.go b/vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.go index a94e234c..f7b27abf 100644 --- a/vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.go +++ b/vendor/github.com/Microsoft/go-winio/internal/fs/zsyscall_windows.go @@ -15,12 +15,8 @@ var _ unsafe.Pointer // Do the interface allocations only once for common // Errno values. -const ( - errnoERROR_IO_PENDING = 997 -) - var ( - errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) + errERROR_IO_PENDING error = windows.ERROR_IO_PENDING errERROR_EINVAL error = syscall.EINVAL ) @@ -30,7 +26,7 @@ func errnoErr(e syscall.Errno) error { switch e { case 0: return errERROR_EINVAL - case errnoERROR_IO_PENDING: + case windows.ERROR_IO_PENDING: return errERROR_IO_PENDING } return e diff --git a/vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.go b/vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.go index e1504126..06e84da6 100644 --- a/vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.go +++ b/vendor/github.com/Microsoft/go-winio/internal/socket/zsyscall_windows.go @@ -15,12 +15,8 @@ var _ unsafe.Pointer // Do the interface allocations only once for common // Errno values. -const ( - errnoERROR_IO_PENDING = 997 -) - var ( - errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) + errERROR_IO_PENDING error = windows.ERROR_IO_PENDING errERROR_EINVAL error = syscall.EINVAL ) @@ -30,7 +26,7 @@ func errnoErr(e syscall.Errno) error { switch e { case 0: return errERROR_EINVAL - case errnoERROR_IO_PENDING: + case windows.ERROR_IO_PENDING: return errERROR_IO_PENDING } return e diff --git a/vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.go b/vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.go index 42ebc019..22954087 100644 --- a/vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.go +++ b/vendor/github.com/Microsoft/go-winio/internal/stringbuffer/wstring.go @@ -7,7 +7,7 @@ import ( // TODO: worth exporting and using in mkwinsyscall? -// Uint16BufferSize is the buffer size in the pool, chosen somewhat arbitrarily to accommodate +// MinWStringCap is the buffer size in the pool, chosen somewhat arbitrarily to accommodate // large path strings: // MAX_PATH (260) + size of volume GUID prefix (49) + null terminator = 310. const MinWStringCap = 310 @@ -16,7 +16,7 @@ const MinWStringCap = 310 // is copied to heap and then referenced via pointer in the interface header that sync.Pool // stores. var pathPool = sync.Pool{ // if go1.18+ adds Pool[T], use that to store []uint16 directly - New: func() interface{} { + New: func() any { b := make([]uint16, MinWStringCap) return &b }, diff --git a/vendor/github.com/Microsoft/go-winio/pipe.go b/vendor/github.com/Microsoft/go-winio/pipe.go index 58c68e95..850fe3e5 100644 --- a/vendor/github.com/Microsoft/go-winio/pipe.go +++ b/vendor/github.com/Microsoft/go-winio/pipe.go @@ -10,6 +10,7 @@ import ( "net" "os" "runtime" + "sync" "time" "unsafe" @@ -101,12 +102,10 @@ func (status ntStatus) Err() error { return rtlNtStatusToDosError(status) } -var ( - // ErrPipeListenerClosed is returned for pipe operations on listeners that have been closed. - ErrPipeListenerClosed = net.ErrClosed - - errPipeWriteClosed = errors.New("pipe has been closed for write") -) +// ErrPipeListenerClosed is returned for pipe operations on listeners that have been closed. +// +// Deprecated: use [net.ErrClosed] instead. +var ErrPipeListenerClosed = net.ErrClosed type win32Pipe struct { *win32File @@ -143,9 +142,10 @@ func (f *win32Pipe) Disconnect() error { } // CloseWrite closes the write side of a message pipe in byte mode. +// It returns [io.ErrClosedPipe] if the write side is already closed. func (f *win32MessageBytePipe) CloseWrite() error { if f.writeClosed { - return errPipeWriteClosed + return io.ErrClosedPipe } err := f.win32File.Flush() if err != nil { @@ -160,10 +160,10 @@ func (f *win32MessageBytePipe) CloseWrite() error { } // Write writes bytes to a message pipe in byte mode. Zero-byte writes are ignored, since -// they are used to implement CloseWrite(). +// they are used to implement CloseWrite. It returns [io.ErrClosedPipe] if the write side is closed. func (f *win32MessageBytePipe) Write(b []byte) (int, error) { if f.writeClosed { - return 0, errPipeWriteClosed + return 0, io.ErrClosedPipe } if len(b) == 0 { return 0, nil @@ -178,14 +178,15 @@ func (f *win32MessageBytePipe) Read(b []byte) (int, error) { return 0, io.EOF } n, err := f.win32File.Read(b) - if err == io.EOF { //nolint:errorlint + switch err { + case io.EOF: //nolint:errorlint // error is not wrapped. // If this was the result of a zero-byte read, then // it is possible that the read was due to a zero-size // message. Since we are simulating CloseWrite with a // zero-byte message, ensure that all future Read() calls // also return EOF. f.readEOF = true - } else if err == windows.ERROR_MORE_DATA { //nolint:errorlint // err is Errno + case windows.ERROR_MORE_DATA: // ERROR_MORE_DATA indicates that the pipe's read mode is message mode // and the message still has more bytes. Treat this as a success, since // this package presents all named pipes as byte streams. @@ -315,8 +316,9 @@ type win32PipeListener struct { path string config PipeConfig acceptCh chan (chan acceptResponse) - closeCh chan int - doneCh chan int + closeOnce sync.Once + closeCh chan struct{} // closed (never sent on) to broadcast listener shutdown + doneCh chan struct{} } func makeServerPipeHandle(path string, sd []byte, c *PipeConfig, first bool) (windows.Handle, error) { @@ -343,7 +345,7 @@ func makeServerPipeHandle(path string, sd []byte, c *PipeConfig, first bool) (wi // The security descriptor is only needed for the first pipe. if first { if sd != nil { - //todo: does `sdb` need to be allocated on the heap, or can go allocate it? + // todo: does `sdb` need to be allocated on the heap, or can go allocate it? l := uint32(len(sd)) sdb, err := windows.LocalAlloc(0, l) if err != nil { @@ -444,13 +446,14 @@ func (l *win32PipeListener) makeConnectedServerPipe() (*win32File, error) { p = nil } case <-l.closeCh: - // Abort the connect request by closing the handle. - p.Close() + // Abort the connect request by closing the handle. Listener closure is + // authoritative: ConnectNamedPipe may race the handle close and report a + // connection or error (e.g. ERROR_NO_DATA) instead of ErrFileClosed, and + // that result must not be surfaced or cause listenerRoutine to retry. + _ = p.Close() p = nil - err = <-ch - if err == nil || err == ErrFileClosed { //nolint:errorlint // err is Errno - err = ErrPipeListenerClosed - } + <-ch + err = net.ErrClosed } return p, err } @@ -475,7 +478,7 @@ func (l *win32PipeListener) listenerRoutine() { } } responseCh <- acceptResponse{p, err} - closed = err == ErrPipeListenerClosed //nolint:errorlint // err is Errno + closed = err == net.ErrClosed //nolint:errorlint // err is Errno } } windows.Close(l.firstHandle) @@ -529,8 +532,8 @@ func ListenPipe(path string, c *PipeConfig) (net.Listener, error) { path: path, config: *c, acceptCh: make(chan (chan acceptResponse)), - closeCh: make(chan int), - doneCh: make(chan int), + closeCh: make(chan struct{}), + doneCh: make(chan struct{}), } go l.listenerRoutine() return l, nil @@ -567,16 +570,15 @@ func (l *win32PipeListener) Accept() (net.Conn, error) { } return &win32Pipe{win32File: response.f, path: l.path}, nil case <-l.doneCh: - return nil, ErrPipeListenerClosed + return nil, net.ErrClosed } } func (l *win32PipeListener) Close() error { - select { - case l.closeCh <- 1: - <-l.doneCh - case <-l.doneCh: - } + l.closeOnce.Do(func() { + close(l.closeCh) + }) + <-l.doneCh return nil } diff --git a/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go b/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go index 48ce4e92..fa1bde3a 100644 --- a/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go +++ b/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go @@ -14,7 +14,7 @@ import ( "strconv" ) -//go:generate go run golang.org/x/tools/cmd/stringer -type=Variant -trimprefix=Variant -linecomment +//go:generate go tool stringer -type=Variant -trimprefix=Variant -linecomment // Variant specifies which GUID variant (or "type") of the GUID. It determines // how the entirety of the rest of the GUID is interpreted. diff --git a/vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.go b/vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.go index 4076d313..76e387d1 100644 --- a/vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.go +++ b/vendor/github.com/Microsoft/go-winio/pkg/guid/variant_string.go @@ -20,8 +20,9 @@ const _Variant_name = "UnknownNCSRFC 4122MicrosoftFuture" var _Variant_index = [...]uint8{0, 7, 10, 18, 27, 33} func (i Variant) String() string { - if i >= Variant(len(_Variant_index)-1) { + idx := int(i) - 0 + if i < 0 || idx >= len(_Variant_index)-1 { return "Variant(" + strconv.FormatInt(int64(i), 10) + ")" } - return _Variant_name[_Variant_index[i]:_Variant_index[i+1]] + return _Variant_name[_Variant_index[idx]:_Variant_index[idx+1]] } diff --git a/vendor/github.com/Microsoft/go-winio/reparse.go b/vendor/github.com/Microsoft/go-winio/reparse.go index b03e517f..9847fbd6 100644 --- a/vendor/github.com/Microsoft/go-winio/reparse.go +++ b/vendor/github.com/Microsoft/go-winio/reparse.go @@ -5,6 +5,7 @@ package winio import ( "bytes" "encoding/binary" + "errors" "fmt" "strings" "unicode/utf16" @@ -14,6 +15,9 @@ import ( const ( reparseTagMountPoint = 0xA0000003 reparseTagSymlink = 0xA000000C + reparseTagLxSymlink = 0xA000001D // WSL/MSYS2 native symlinks + + lxSymlinkVersion = 2 // LX symlink format version ) type reparseDataBuffer struct { @@ -30,6 +34,7 @@ type reparseDataBuffer struct { type ReparsePoint struct { Target string IsMountPoint bool + IsLxSymlink bool // True if this is an LX symlink (WSL/MSYS2 native) } // UnsupportedReparsePointError is returned when trying to decode a non-symlink or @@ -50,14 +55,19 @@ func DecodeReparsePoint(b []byte) (*ReparsePoint, error) { } func DecodeReparsePointData(tag uint32, b []byte) (*ReparsePoint, error) { - isMountPoint := false switch tag { case reparseTagMountPoint: - isMountPoint = true + return decodeWindowsReparsePointData(b, true) case reparseTagSymlink: + return decodeWindowsReparsePointData(b, false) + case reparseTagLxSymlink: + return decodeLxReparsePointData(b) default: return nil, &UnsupportedReparsePointError{tag} } +} + +func decodeWindowsReparsePointData(b []byte, isMountPoint bool) (*ReparsePoint, error) { nameOffset := 8 + binary.LittleEndian.Uint16(b[4:6]) if !isMountPoint { nameOffset += 4 @@ -68,16 +78,56 @@ func DecodeReparsePointData(tag uint32, b []byte) (*ReparsePoint, error) { if err != nil { return nil, err } - return &ReparsePoint{string(utf16.Decode(name)), isMountPoint}, nil + return &ReparsePoint{Target: string(utf16.Decode(name)), IsMountPoint: isMountPoint, IsLxSymlink: false}, nil +} + +func decodeLxReparsePointData(b []byte) (*ReparsePoint, error) { + // LX symlinks store the target as UTF-8 after a 4-byte version field + if len(b) < 4 { + return nil, errors.New("LX symlink buffer too short") + } + targetBytes := b[4:] + for i, c := range targetBytes { + if c == 0 { + targetBytes = targetBytes[:i] + break + } + } + target := string(targetBytes) + return &ReparsePoint{Target: target, IsMountPoint: false, IsLxSymlink: true}, nil } func isDriveLetter(c byte) bool { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') } -// EncodeReparsePoint encodes a Win32 REPARSE_DATA_BUFFER structure describing a symlink or -// mount point. +// EncodeReparsePoint encodes a Win32 REPARSE_DATA_BUFFER structure describing a symlink, +// mount point, or LX symlink. func EncodeReparsePoint(rp *ReparsePoint) []byte { + if rp == nil { + return nil + } + if rp.IsLxSymlink { + return encodeLxReparsePoint(rp) + } + return encodeWindowsReparsePoint(rp) +} + +func encodeLxReparsePoint(rp *ReparsePoint) []byte { + // LX symlink: 4-byte version + UTF-8 target + targetBytes := []byte(rp.Target) + dataLength := 4 + len(targetBytes) + + var b bytes.Buffer + _ = binary.Write(&b, binary.LittleEndian, uint32(reparseTagLxSymlink)) + _ = binary.Write(&b, binary.LittleEndian, uint16(dataLength)) + _ = binary.Write(&b, binary.LittleEndian, uint16(0)) + _ = binary.Write(&b, binary.LittleEndian, uint32(lxSymlinkVersion)) + _, _ = b.Write(targetBytes) + return b.Bytes() +} + +func encodeWindowsReparsePoint(rp *ReparsePoint) []byte { // Generate an NT path and determine if this is a relative path. var ntTarget string relative := false diff --git a/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go b/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go index 89b66eda..f4329bbf 100644 --- a/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go +++ b/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go @@ -15,12 +15,8 @@ var _ unsafe.Pointer // Do the interface allocations only once for common // Errno values. -const ( - errnoERROR_IO_PENDING = 997 -) - var ( - errERROR_IO_PENDING error = syscall.Errno(errnoERROR_IO_PENDING) + errERROR_IO_PENDING error = windows.ERROR_IO_PENDING errERROR_EINVAL error = syscall.EINVAL ) @@ -30,7 +26,7 @@ func errnoErr(e syscall.Errno) error { switch e { case 0: return errERROR_EINVAL - case errnoERROR_IO_PENDING: + case windows.ERROR_IO_PENDING: return errERROR_IO_PENDING } return e diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go index cd8dfbc2..f0d417a7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go @@ -3,4 +3,4 @@ package aws // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.47.0" +const goModuleVersion = "1.47.3" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md index 458784b8..03a91176 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md @@ -1,3 +1,21 @@ +# v1.33.9 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.33.8 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.33.7 (2026-10-06) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.33.6 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.33.5 (2026-09-14) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go index d6e61579..2f33eee2 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go @@ -3,4 +3,4 @@ package config // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.33.5" +const goModuleVersion = "1.33.9" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md index 308201cf..ba7a71db 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md @@ -1,3 +1,21 @@ +# v1.20.9 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.20.8 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.20.7 (2026-10-06) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.20.6 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.20.5 (2026-09-14) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go index 5557c02b..fcee129d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go @@ -3,4 +3,4 @@ package credentials // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.20.5" +const goModuleVersion = "1.20.9" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md index 9e560547..c0ffce13 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md @@ -1,3 +1,17 @@ +# v1.20.3 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.20.2 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.20.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.20.0 (2026-09-09) * **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go index c53f4079..14f4c1db 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go @@ -3,4 +3,4 @@ package imds // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.20.0" +const goModuleVersion = "1.20.3" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md index 613d88e0..c21c138f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md @@ -1,3 +1,16 @@ +# v1.5.6 (2026-10-09.2) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.5.5 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.5.4 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.5.3 (2026-09-09) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go index 7f07b478..be81b265 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go @@ -3,4 +3,4 @@ package configsources // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.5.3" +const goModuleVersion = "1.5.6" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md index 446a0cc8..95d21290 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md @@ -1,3 +1,16 @@ +# v2.8.6 (2026-10-09.2) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v2.8.5 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v2.8.4 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v2.8.3 (2026-09-09) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go index 5d26e7be..b34a16e0 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go @@ -3,4 +3,4 @@ package endpoints // goModuleVersion is the tagged release for this module -const goModuleVersion = "2.8.3" +const goModuleVersion = "2.8.6" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/middleware/middleware.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/middleware/middleware.go deleted file mode 100644 index fb06d8dc..00000000 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/middleware/middleware.go +++ /dev/null @@ -1,32 +0,0 @@ -package middleware - -import ( - "context" - "sync/atomic" - - "github.com/aws/smithy-go/middleware" -) - -// AddTimeOffsetMiddleware is deprecated. -// -// Deprecated: handled in retry loop. -type AddTimeOffsetMiddleware struct { - Offset *atomic.Int64 -} - -// ID the identifier for AddTimeOffsetMiddleware -func (m *AddTimeOffsetMiddleware) ID() string { return "AddTimeOffsetMiddleware" } - -// HandleBuild is a no-op. -func (m AddTimeOffsetMiddleware) HandleBuild(ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler) ( - out middleware.BuildOutput, metadata middleware.Metadata, err error, -) { - return next.HandleBuild(ctx, in) -} - -// HandleDeserialize is a no-op. -func (m *AddTimeOffsetMiddleware) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - return next.HandleDeserialize(ctx, in) -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md index 4900bead..62fb7b2a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md @@ -1,3 +1,16 @@ +# v1.5.6 (2026-10-09.2) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.5.5 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.5.4 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.5.3 (2026-09-09) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go index dc8e2090..e9389b98 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go @@ -3,4 +3,4 @@ package v4a // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.5.3" +const goModuleVersion = "1.5.6" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/CHANGELOG.md index cbae8c37..e6378405 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/CHANGELOG.md @@ -1,3 +1,171 @@ +# v1.66.3 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.66.2 (2026-10-06) + +* No change notes available for this release. + +# v1.66.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.66.0 (2026-09-15) + +* **Feature**: Enable schema-based (de)serialization for this service. + +# v1.65.0 (2026-09-09) + +* **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.64.0 (2026-09-04) + +* **Feature**: Stop registering the `spanRetryLoop` middleware in generated clients. The retry loop's tracing span is now opened by the retry middleware itself. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.63.0 (2026-08-31.2) + +* **Feature**: Stop registering the `SetCredentialSourceMiddleware` middleware in generated clients. Credential source user agent features are now set when the client's middleware stack is constructed. + +# v1.62.1 (2026-08-28) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.62.0 (2026-08-27) + +* **Feature**: Support connection read timeouts in the SDK. This is currently available on an opt-in basis by setting env `AWS_ENABLE_DEFAULT_SOCKET_TIMEOUT_2026=true`. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.61.0 (2026-08-26) + +* **Feature**: Stop registering the `ComputeContentLength` middleware in generated clients. `Content-Length` is now set when the request body is set via `SetStream`. +* **Dependency Update**: Update to smithy-go v1.28.0. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.8 (2026-08-25) + +* **Dependency Update**: Update to smithy-go v1.27.10. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.7 (2026-08-20) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.6 (2026-08-14) + +* **Dependency Update**: Update to smithy-go v1.27.8. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.5 (2026-08-10) + +* **Dependency Update**: Update to smithy-go v1.27.7. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.4 (2026-08-05) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.3 (2026-07-31.2) + +* **Dependency Update**: Updated to the latest SDK module versions +* **Dependency Update**: Upgrade to smithy-go v1.27.6 to fix various serde issues in HTTP binding services. + +# v1.60.2 (2026-07-29) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.1 (2026-07-28) + +* **Dependency Update**: Update to smithy-go v1.27.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.60.0 (2026-07-21) + +* **Feature**: Add an option to clients to disable clock skew +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.59.1 (2026-07-13) + +* No change notes available for this release. + +# v1.59.0 (2026-07-06) + +* **Feature**: Add request serialization snapshot tests. + +# v1.58.6 (2026-07-01) + +* **Bug Fix**: Bump smithy-go to 1.27.3, fix JSON encorder for document.Number, endpoint host label format validation and CBOR union serialization on new serde +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.58.5 (2026-06-29) + +* No change notes available for this release. + +# v1.58.4 (2026-06-08) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.58.3 (2026-06-04) + +* **Dependency Update**: Update to smithy-go v1.27.1 to fix several union-related deserialization bugs in schema-serde-enabled services. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.58.2 (2026-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.58.1 (2026-06-02) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.58.0 (2026-06-01) + +* **Feature**: Adding new BDD representation of endpoint ruleset + +# v1.57.4 (2026-05-29) + +* **Dependency Update**: Update to smithy-go v1.26.0. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.57.3 (2026-05-28) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.57.2 (2026-04-29) + +* **Documentation**: Removes support for registry policy V1 +* **Dependency Update**: Update to smithy-go v1.25.1. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.57.1 (2026-04-17) + +* **Dependency Update**: Bump smithy-go to 1.25.0 to support endpointBdd trait +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.57.0 (2026-04-08) + +* **Feature**: Add UnableToListUpstreamImageReferrersException in ListImageReferrers + +# v1.56.2 (2026-03-26) + +* **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.56.1 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.56.0 (2026-03-12) + +* **Feature**: Add Chainguard to PTC upstreamRegistry enum + +# v1.55.4 (2026-03-03) + +* **Dependency Update**: Bump minimum Go version to 1.24 +* **Dependency Update**: Updated to the latest SDK module versions + # v1.55.3 (2026-02-23) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_client.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_client.go index 3b4b9ab1..55a41c04 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_client.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_client.go @@ -15,15 +15,16 @@ import ( internalauth "github.com/aws/aws-sdk-go-v2/internal/auth" internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy" internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources" - internalmiddleware "github.com/aws/aws-sdk-go-v2/internal/middleware" + "github.com/aws/aws-sdk-go-v2/internal/timeouts" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" smithy "github.com/aws/smithy-go" - smithyauth "github.com/aws/smithy-go/auth" smithydocument "github.com/aws/smithy-go/document" "github.com/aws/smithy-go/logging" "github.com/aws/smithy-go/metrics" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/tracing" smithyhttp "github.com/aws/smithy-go/transport/http" + "github.com/aws/smithy-go/transport/http/protocol/awsjson" "net" "net/http" "sync/atomic" @@ -212,6 +213,8 @@ func New(options Options, optFns ...func(*Options)) *Client { resolveAuthSchemeResolver(&options) + options.Protocol = awsjson.New11(schemas.AmazonEC2ContainerRegistry_V20150921) + for _, fn := range optFns { fn(&options) } @@ -262,6 +265,14 @@ func (c *Client) invokeOperation( finalizeClientEndpointResolverOptions(&options) + ctx = setLoggerContext(ctx, options, opID) + + ctx = resolveServiceMetadata(ctx, options, opID) + + if err := c.addCommonMiddlewares(stack, options, opID); err != nil { + return nil, metadata, err + } + for _, fn := range stackFns { if err := fn(stack, options); err != nil { return nil, metadata, err @@ -366,6 +377,43 @@ func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, o } return nil } + +func (c *Client) addCommonMiddlewares(stack *middleware.Stack, options Options, operation string) error { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, operation); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + if err := addClientRequestID(stack); err != nil { + return err + } + if err := addRetry(stack, options, c); err != nil { + return err + } + if err := addRawResponseToMetadata(stack); err != nil { + return err + } + if err := addClientUserAgent(stack, options); err != nil { + return err + } + if err := addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err := addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err := addRecursionDetection(stack); err != nil { + return err + } + if err := addInterceptBeforeRetryLoop(stack, options); err != nil { + return err + } + if err := addInterceptAttempt(stack, options); err != nil { + return err + } + return nil +} func resolveAuthSchemeResolver(options *Options) { if options.AuthSchemeResolver == nil { options.AuthSchemeResolver = &defaultAuthSchemeResolver{} @@ -384,32 +432,104 @@ func resolveAuthSchemes(options *Options) { } } -type noSmithyDocumentSerde = smithydocument.NoSerde - -type legacyEndpointContextSetter struct { - LegacyResolver EndpointResolver +type serializeRequestMiddleware struct { + options *Options + operationSchema *smithy.OperationSchema } -func (*legacyEndpointContextSetter) ID() string { - return "legacyEndpointContextSetter" +func (*serializeRequestMiddleware) ID() string { + return "OperationSerializer" } -func (m *legacyEndpointContextSetter) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, +func (m *serializeRequestMiddleware) HandleSerialize( + ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler, +) ( + middleware.SerializeOutput, middleware.Metadata, error, ) { - if m.LegacyResolver != nil { - ctx = awsmiddleware.SetRequiresLegacyEndpoints(ctx, true) + req, ok := in.Request.(*smithyhttp.Request) + if !ok { + return middleware.SerializeOutput{}, middleware.Metadata{}, fmt.Errorf("unexpected transport type %T", in.Request) + } + + input, ok := in.Parameters.(smithy.Serializable) + if !ok { + return middleware.SerializeOutput{}, middleware.Metadata{}, fmt.Errorf("input %T is not Serializable", in.Request) } - return next.HandleInitialize(ctx, in) + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + + err := m.options.Protocol.SerializeRequest(ctx, m.operationSchema, input, req) + + endTimer() + span.End() + + if err != nil { + return middleware.SerializeOutput{}, middleware.Metadata{}, err + } + + return next.HandleSerialize(ctx, in) +} + +type deserializeResponseMiddleware struct { + options *Options + operationSchema *smithy.OperationSchema + output smithy.Deserializable +} +func (*deserializeResponseMiddleware) ID() string { + return "OperationDeserializer" } -func addlegacyEndpointContextSetter(stack *middleware.Stack, o Options) error { - return stack.Initialize.Add(&legacyEndpointContextSetter{ - LegacyResolver: o.EndpointResolver, - }, middleware.Before) + +func (m *deserializeResponseMiddleware) HandleDeserialize( + ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler, +) ( + middleware.DeserializeOutput, middleware.Metadata, error, +) { + out, md, err := next.HandleDeserialize(ctx, in) + + resp, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, md, err + } + return out, md, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + // Close the response body on return. CloseResponseBody keeps the body + // open only for a successful caller-owned stream (a streaming payload + // with a nil error); on any error -- including one surfaced by an + // interceptor that runs after OperationDeserializer (after transmit or + // before deserialization) -- it closes the received body. Registering + // this before the error check below is what covers those interceptor + // aborts. Event streams close their own body in the event stream + // deserializer. + if !m.operationSchema.IsInputEventStream() && !m.operationSchema.IsOutputEventStream() { + _, isStreamingPayload := m.output.(smithy.StreamingOutput) + defer func() { + smithyhttp.CloseResponseBody(ctx, resp, isStreamingPayload, err) + }() + } + + if err != nil { + return out, md, err + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + + err = m.options.Protocol.DeserializeResponse(ctx, m.operationSchema, TypeRegistry, resp, m.output) + out.Result = m.output + + endTimer() + span.End() + + return out, md, err } +type noSmithyDocumentSerde = smithydocument.NoSerde + func resolveDefaultLogger(o *Options) { if o.Logger != nil { return @@ -417,8 +537,9 @@ func resolveDefaultLogger(o *Options) { o.Logger = logging.Nop{} } -func addSetLoggerMiddleware(stack *middleware.Stack, o Options) error { - return middleware.AddSetLoggerMiddleware(stack, o.Logger) +func setLoggerContext(ctx context.Context, options Options, operation string) context.Context { + _ = operation + return middleware.SetLogger(ctx, options.Logger) } func setResolvedDefaultsMode(o *Options) { @@ -439,16 +560,17 @@ func setResolvedDefaultsMode(o *Options) { // NewFromConfig returns a new client from the provided config. func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client { opts := Options{ - Region: cfg.Region, - DefaultsMode: cfg.DefaultsMode, - RuntimeEnvironment: cfg.RuntimeEnvironment, - HTTPClient: cfg.HTTPClient, - Credentials: cfg.Credentials, - APIOptions: cfg.APIOptions, - Logger: cfg.Logger, - ClientLogMode: cfg.ClientLogMode, - AppID: cfg.AppID, - AuthSchemePreference: cfg.AuthSchemePreference, + Region: cfg.Region, + DefaultsMode: cfg.DefaultsMode, + RuntimeEnvironment: cfg.RuntimeEnvironment, + HTTPClient: cfg.HTTPClient, + Credentials: cfg.Credentials, + APIOptions: cfg.APIOptions, + Logger: cfg.Logger, + ClientLogMode: cfg.ClientLogMode, + AppID: cfg.AppID, + DisableClockSkewCorrection: cfg.DisableClockSkewCorrection, + AuthSchemePreference: cfg.AuthSchemePreference, } resolveAWSRetryerProvider(cfg, &opts) resolveAWSRetryMaxAttempts(cfg, &opts) @@ -496,6 +618,12 @@ func resolveHTTPClient(o *Options) { }) } + if _, ok := buildable.GetReadTimeout(); !ok { + if timeout, ok := timeouts.GetServiceReadTimeout(ServiceID); ok { + buildable = buildable.WithReadTimeout(timeout) + } + } + o.HTTPClient = buildable } @@ -637,40 +765,14 @@ func addClientRequestID(stack *middleware.Stack) error { return stack.Build.Add(&awsmiddleware.ClientRequestID{}, middleware.After) } -func addComputeContentLength(stack *middleware.Stack) error { - return stack.Build.Add(&smithyhttp.ComputeContentLength{}, middleware.After) -} - func addRawResponseToMetadata(stack *middleware.Stack) error { return stack.Deserialize.Add(&awsmiddleware.AddRawResponse{}, middleware.Before) } -func addRecordResponseTiming(stack *middleware.Stack) error { - return stack.Deserialize.Add(&awsmiddleware.RecordResponseTiming{}, middleware.After) -} - -func addSpanRetryLoop(stack *middleware.Stack, options Options) error { - return stack.Finalize.Insert(&spanRetryLoop{options: options}, "Retry", middleware.Before) -} - -type spanRetryLoop struct { - options Options -} - -func (*spanRetryLoop) ID() string { - return "spanRetryLoop" -} - -func (m *spanRetryLoop) HandleFinalize( - ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler, -) ( - middleware.FinalizeOutput, middleware.Metadata, error, -) { - tracer := operationTracer(m.options.TracerProvider) - ctx, span := tracer.StartSpan(ctx, "RetryLoop") - defer span.End() - - return next.HandleFinalize(ctx, in) +func addRecordResponseTiming(stack *middleware.Stack, options Options) error { + return stack.Deserialize.Add(&awsmiddleware.RecordResponseTiming{ + DisableClockSkewCorrection: options.DisableClockSkewCorrection, + }, middleware.After) } func addStreamingEventsPayload(stack *middleware.Stack) error { return stack.Finalize.Add(&v4.StreamingEventsPayload{}, middleware.Before) @@ -712,17 +814,16 @@ func addIsPaginatorUserAgent(o *Options) { }) } -func addRetry(stack *middleware.Stack, o Options) error { +func addRetry(stack *middleware.Stack, o Options, c *Client) error { attempt := retry.NewAttemptMiddleware(o.Retryer, smithyhttp.RequestCloner, func(m *retry.Attempt) { m.LogAttempts = o.ClientLogMode.IsRetries() m.OperationMeter = o.MeterProvider.Meter("github.com/aws/aws-sdk-go-v2/service/ecr") + m.ClientSkew = c.timeOffset + m.DisableClockSkewCorrection = o.DisableClockSkewCorrection }) if err := stack.Finalize.Insert(attempt, "ResolveAuthScheme", middleware.Before); err != nil { return err } - if err := stack.Finalize.Insert(&retry.MetricsHeader{}, attempt.ID(), middleware.After); err != nil { - return err - } return nil } @@ -756,25 +857,6 @@ func resolveUseFIPSEndpoint(cfg aws.Config, o *Options) error { return nil } -func resolveAccountID(identity smithyauth.Identity, mode aws.AccountIDEndpointMode) *string { - if mode == aws.AccountIDEndpointModeDisabled { - return nil - } - - if ca, ok := identity.(*internalauthsmithy.CredentialsAdapter); ok && ca.Credentials.AccountID != "" { - return aws.String(ca.Credentials.AccountID) - } - - return nil -} - -func addTimeOffsetBuild(stack *middleware.Stack, c *Client) error { - mw := internalmiddleware.AddTimeOffsetMiddleware{Offset: c.timeOffset} - if err := stack.Build.Add(&mw, middleware.After); err != nil { - return err - } - return stack.Deserialize.Insert(&mw, "RecordResponseTiming", middleware.Before) -} func initializeTimeOffsetResolver(c *Client) { c.timeOffset = new(atomic.Int64) } @@ -794,35 +876,21 @@ func addUserAgentRetryMode(stack *middleware.Stack, options Options) error { return nil } -type setCredentialSourceMiddleware struct { - ua *awsmiddleware.RequestUserAgent - options Options -} - -func (m setCredentialSourceMiddleware) ID() string { return "SetCredentialSourceMiddleware" } - -func (m setCredentialSourceMiddleware) HandleBuild(ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler) ( - out middleware.BuildOutput, metadata middleware.Metadata, err error, -) { - asProviderSource, ok := m.options.Credentials.(aws.CredentialProviderSource) - if !ok { - return next.HandleBuild(ctx, in) - } - providerSources := asProviderSource.ProviderSources() - for _, source := range providerSources { - m.ua.AddCredentialsSource(source) - } - return next.HandleBuild(ctx, in) -} - func addCredentialSource(stack *middleware.Stack, options Options) error { ua, err := getOrAddRequestUserAgent(stack) if err != nil { return err } - mw := setCredentialSourceMiddleware{ua: ua, options: options} - return stack.Build.Insert(&mw, "UserAgent", middleware.Before) + asProviderSource, ok := options.Credentials.(aws.CredentialProviderSource) + if !ok { + return nil + } + + for _, source := range asProviderSource.ProviderSources() { + ua.AddCredentialsSource(source) + } + return nil } func resolveTracerProvider(options *Options) { @@ -837,6 +905,18 @@ func resolveMeterProvider(options *Options) { } } +func resolveServiceMetadata(ctx context.Context, options Options, operation string) context.Context { + ctx = awsmiddleware.SetServiceID(ctx, ServiceID) + if options.Region != "" { + ctx = awsmiddleware.SetRegion(ctx, options.Region) + } + ctx = awsmiddleware.SetOperationName(ctx, operation) + if options.EndpointResolver != nil { + ctx = awsmiddleware.SetRequiresLegacyEndpoints(ctx, true) + } + return ctx +} + func addRecursionDetection(stack *middleware.Stack) error { return stack.Build.Add(&awsmiddleware.RecursionDetection{}, middleware.After) } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchCheckLayerAvailability.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchCheckLayerAvailability.go index 93391198..f1cbb4e1 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchCheckLayerAvailability.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchCheckLayerAvailability.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Checks the availability of one or more image layers in a repository. @@ -55,6 +54,22 @@ type BatchCheckLayerAvailabilityInput struct { noSmithyDocumentSerde } +func (v *BatchCheckLayerAvailabilityInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchCheckLayerAvailabilityRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchCheckLayerAvailabilityInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeBatchedOperationLayerDigestList(s, schemas.BatchCheckLayerAvailabilityRequest_layerDigests, v.LayerDigests) + if v.RegistryId != nil { + s.WriteString(schemas.BatchCheckLayerAvailabilityRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.BatchCheckLayerAvailabilityRequest_repositoryName, *v.RepositoryName) + } +} + type BatchCheckLayerAvailabilityOutput struct { // Any failures associated with the call. @@ -70,68 +85,42 @@ type BatchCheckLayerAvailabilityOutput struct { noSmithyDocumentSerde } +func (v *BatchCheckLayerAvailabilityOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchCheckLayerAvailabilityResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchCheckLayerAvailabilityOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeLayerFailureList(s, schemas.BatchCheckLayerAvailabilityResponse_failures, v.Failures) + serializeLayerList(s, schemas.BatchCheckLayerAvailabilityResponse_layers, v.Layers) +} +func (v *BatchCheckLayerAvailabilityOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BatchCheckLayerAvailabilityResponse, func(s *smithy.Schema) error { + switch s { + case schemas.BatchCheckLayerAvailabilityResponse_failures: + return deserializeLayerFailureList(d, schemas.BatchCheckLayerAvailabilityResponse_failures, &v.Failures) + case schemas.BatchCheckLayerAvailabilityResponse_layers: + return deserializeLayerList(d, schemas.BatchCheckLayerAvailabilityResponse_layers, &v.Layers) + } + return nil + }) +} func (c *Client) addOperationBatchCheckLayerAvailabilityMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchCheckLayerAvailability{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchCheckLayerAvailability, schemas.BatchCheckLayerAvailabilityRequest, schemas.BatchCheckLayerAvailabilityResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchCheckLayerAvailability{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchCheckLayerAvailability, schemas.BatchCheckLayerAvailabilityRequest, schemas.BatchCheckLayerAvailabilityResponse), output: &BatchCheckLayerAvailabilityOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "BatchCheckLayerAvailability"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -140,12 +129,6 @@ func (c *Client) addOperationBatchCheckLayerAvailabilityMiddlewares(stack *middl if err = addOpBatchCheckLayerAvailabilityValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchCheckLayerAvailability(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -158,22 +141,8 @@ func (c *Client) addOperationBatchCheckLayerAvailabilityMiddlewares(stack *middl if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opBatchCheckLayerAvailability(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "BatchCheckLayerAvailability", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchDeleteImage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchDeleteImage.go index b0416f05..42094ed5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchDeleteImage.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchDeleteImage.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes a list of specified images within a repository. Images are specified @@ -58,6 +57,22 @@ type BatchDeleteImageInput struct { noSmithyDocumentSerde } +func (v *BatchDeleteImageInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchDeleteImageRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchDeleteImageInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageIdentifierList(s, schemas.BatchDeleteImageRequest_imageIds, v.ImageIds) + if v.RegistryId != nil { + s.WriteString(schemas.BatchDeleteImageRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.BatchDeleteImageRequest_repositoryName, *v.RepositoryName) + } +} + type BatchDeleteImageOutput struct { // Any failures associated with the call. @@ -72,68 +87,42 @@ type BatchDeleteImageOutput struct { noSmithyDocumentSerde } +func (v *BatchDeleteImageOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchDeleteImageResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchDeleteImageOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageFailureList(s, schemas.BatchDeleteImageResponse_failures, v.Failures) + serializeImageIdentifierList(s, schemas.BatchDeleteImageResponse_imageIds, v.ImageIds) +} +func (v *BatchDeleteImageOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BatchDeleteImageResponse, func(s *smithy.Schema) error { + switch s { + case schemas.BatchDeleteImageResponse_failures: + return deserializeImageFailureList(d, schemas.BatchDeleteImageResponse_failures, &v.Failures) + case schemas.BatchDeleteImageResponse_imageIds: + return deserializeImageIdentifierList(d, schemas.BatchDeleteImageResponse_imageIds, &v.ImageIds) + } + return nil + }) +} func (c *Client) addOperationBatchDeleteImageMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchDeleteImage{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchDeleteImage, schemas.BatchDeleteImageRequest, schemas.BatchDeleteImageResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchDeleteImage{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchDeleteImage, schemas.BatchDeleteImageRequest, schemas.BatchDeleteImageResponse), output: &BatchDeleteImageOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "BatchDeleteImage"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -142,12 +131,6 @@ func (c *Client) addOperationBatchDeleteImageMiddlewares(stack *middleware.Stack if err = addOpBatchDeleteImageValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchDeleteImage(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -160,22 +143,8 @@ func (c *Client) addOperationBatchDeleteImageMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opBatchDeleteImage(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "BatchDeleteImage", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetImage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetImage.go index 8be074fa..f0e5c57e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetImage.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetImage.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Gets detailed information for an image. Images are specified with either an @@ -59,6 +58,23 @@ type BatchGetImageInput struct { noSmithyDocumentSerde } +func (v *BatchGetImageInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchGetImageRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchGetImageInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeMediaTypeList(s, schemas.BatchGetImageRequest_acceptedMediaTypes, v.AcceptedMediaTypes) + serializeImageIdentifierList(s, schemas.BatchGetImageRequest_imageIds, v.ImageIds) + if v.RegistryId != nil { + s.WriteString(schemas.BatchGetImageRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.BatchGetImageRequest_repositoryName, *v.RepositoryName) + } +} + type BatchGetImageOutput struct { // Any failures associated with the call. @@ -73,68 +89,42 @@ type BatchGetImageOutput struct { noSmithyDocumentSerde } +func (v *BatchGetImageOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchGetImageResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchGetImageOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageFailureList(s, schemas.BatchGetImageResponse_failures, v.Failures) + serializeImageList(s, schemas.BatchGetImageResponse_images, v.Images) +} +func (v *BatchGetImageOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BatchGetImageResponse, func(s *smithy.Schema) error { + switch s { + case schemas.BatchGetImageResponse_failures: + return deserializeImageFailureList(d, schemas.BatchGetImageResponse_failures, &v.Failures) + case schemas.BatchGetImageResponse_images: + return deserializeImageList(d, schemas.BatchGetImageResponse_images, &v.Images) + } + return nil + }) +} func (c *Client) addOperationBatchGetImageMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchGetImage{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchGetImage, schemas.BatchGetImageRequest, schemas.BatchGetImageResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchGetImage{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchGetImage, schemas.BatchGetImageRequest, schemas.BatchGetImageResponse), output: &BatchGetImageOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "BatchGetImage"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -143,12 +133,6 @@ func (c *Client) addOperationBatchGetImageMiddlewares(stack *middleware.Stack, o if err = addOpBatchGetImageValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchGetImage(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -161,22 +145,8 @@ func (c *Client) addOperationBatchGetImageMiddlewares(stack *middleware.Stack, o if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opBatchGetImage(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "BatchGetImage", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetRepositoryScanningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetRepositoryScanningConfiguration.go index 4c754114..5d44af55 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetRepositoryScanningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_BatchGetRepositoryScanningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Gets the scanning configuration for one or more repositories. @@ -37,6 +36,16 @@ type BatchGetRepositoryScanningConfigurationInput struct { noSmithyDocumentSerde } +func (v *BatchGetRepositoryScanningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchGetRepositoryScanningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchGetRepositoryScanningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeScanningConfigurationRepositoryNameList(s, schemas.BatchGetRepositoryScanningConfigurationRequest_repositoryNames, v.RepositoryNames) +} + type BatchGetRepositoryScanningConfigurationOutput struct { // Any failures associated with the call. @@ -51,68 +60,42 @@ type BatchGetRepositoryScanningConfigurationOutput struct { noSmithyDocumentSerde } +func (v *BatchGetRepositoryScanningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchGetRepositoryScanningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchGetRepositoryScanningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeRepositoryScanningConfigurationFailureList(s, schemas.BatchGetRepositoryScanningConfigurationResponse_failures, v.Failures) + serializeRepositoryScanningConfigurationList(s, schemas.BatchGetRepositoryScanningConfigurationResponse_scanningConfigurations, v.ScanningConfigurations) +} +func (v *BatchGetRepositoryScanningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BatchGetRepositoryScanningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.BatchGetRepositoryScanningConfigurationResponse_failures: + return deserializeRepositoryScanningConfigurationFailureList(d, schemas.BatchGetRepositoryScanningConfigurationResponse_failures, &v.Failures) + case schemas.BatchGetRepositoryScanningConfigurationResponse_scanningConfigurations: + return deserializeRepositoryScanningConfigurationList(d, schemas.BatchGetRepositoryScanningConfigurationResponse_scanningConfigurations, &v.ScanningConfigurations) + } + return nil + }) +} func (c *Client) addOperationBatchGetRepositoryScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchGetRepositoryScanningConfiguration{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchGetRepositoryScanningConfiguration, schemas.BatchGetRepositoryScanningConfigurationRequest, schemas.BatchGetRepositoryScanningConfigurationResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchGetRepositoryScanningConfiguration{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchGetRepositoryScanningConfiguration, schemas.BatchGetRepositoryScanningConfigurationRequest, schemas.BatchGetRepositoryScanningConfigurationResponse), output: &BatchGetRepositoryScanningConfigurationOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "BatchGetRepositoryScanningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -121,12 +104,6 @@ func (c *Client) addOperationBatchGetRepositoryScanningConfigurationMiddlewares( if err = addOpBatchGetRepositoryScanningConfigurationValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchGetRepositoryScanningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -139,22 +116,8 @@ func (c *Client) addOperationBatchGetRepositoryScanningConfigurationMiddlewares( if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opBatchGetRepositoryScanningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "BatchGetRepositoryScanningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CompleteLayerUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CompleteLayerUpload.go index f3e25a07..d62d0a76 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CompleteLayerUpload.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CompleteLayerUpload.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Informs Amazon ECR that the image layer upload has completed for a specified @@ -60,6 +59,25 @@ type CompleteLayerUploadInput struct { noSmithyDocumentSerde } +func (v *CompleteLayerUploadInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CompleteLayerUploadRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CompleteLayerUploadInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeLayerDigestList(s, schemas.CompleteLayerUploadRequest_layerDigests, v.LayerDigests) + if v.RegistryId != nil { + s.WriteString(schemas.CompleteLayerUploadRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.CompleteLayerUploadRequest_repositoryName, *v.RepositoryName) + } + if v.UploadId != nil { + s.WriteString(schemas.CompleteLayerUploadRequest_uploadId, *v.UploadId) + } +} + type CompleteLayerUploadOutput struct { // The sha256 digest of the image layer. @@ -80,68 +98,60 @@ type CompleteLayerUploadOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpCompleteLayerUpload{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCompleteLayerUpload{}, middleware.After) - if err != nil { - return err +func (v *CompleteLayerUploadOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CompleteLayerUploadResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CompleteLayerUploadOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerDigest != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_layerDigest, *v.LayerDigest) } - if err := addProtocolFinalizerMiddlewares(stack, options, "CompleteLayerUpload"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RegistryId != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_registryId, *v.RegistryId) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_repositoryName, *v.RepositoryName) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UploadId != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_uploadId, *v.UploadId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *CompleteLayerUploadOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CompleteLayerUploadResponse, func(s *smithy.Schema) error { + switch s { + case schemas.CompleteLayerUploadResponse_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_layerDigest, v.LayerDigest) + case schemas.CompleteLayerUploadResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_registryId, v.RegistryId) + case schemas.CompleteLayerUploadResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_repositoryName, v.RepositoryName) + case schemas.CompleteLayerUploadResponse_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_uploadId, v.UploadId) + } + return nil + }) +} +func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CompleteLayerUpload, schemas.CompleteLayerUploadRequest, schemas.CompleteLayerUploadResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CompleteLayerUpload, schemas.CompleteLayerUploadRequest, schemas.CompleteLayerUploadResponse), output: &CompleteLayerUploadOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -150,12 +160,6 @@ func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.St if err = addOpCompleteLayerUploadValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCompleteLayerUpload(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -168,22 +172,8 @@ func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opCompleteLayerUpload(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "CompleteLayerUpload", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreatePullThroughCacheRule.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreatePullThroughCacheRule.go index efcabd4a..9dbc1b2f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreatePullThroughCacheRule.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreatePullThroughCacheRule.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) @@ -92,6 +91,36 @@ type CreatePullThroughCacheRuleInput struct { noSmithyDocumentSerde } +func (v *CreatePullThroughCacheRuleInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreatePullThroughCacheRuleRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CreatePullThroughCacheRuleInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CredentialArn != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_credentialArn, *v.CredentialArn) + } + if v.CustomRoleArn != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_customRoleArn, *v.CustomRoleArn) + } + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) + } + if v.RegistryId != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_registryId, *v.RegistryId) + } + if v.UpstreamRegistry != "" { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_upstreamRegistry, string(v.UpstreamRegistry)) + } + if v.UpstreamRegistryUrl != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_upstreamRegistryUrl, *v.UpstreamRegistryUrl) + } + if v.UpstreamRepositoryPrefix != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleRequest_upstreamRepositoryPrefix, *v.UpstreamRepositoryPrefix) + } +} + type CreatePullThroughCacheRuleOutput struct { // The date and time, in JavaScript date format, when the pull through cache rule @@ -126,68 +155,88 @@ type CreatePullThroughCacheRuleOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationCreatePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreatePullThroughCacheRule{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreatePullThroughCacheRule{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "CreatePullThroughCacheRule"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *CreatePullThroughCacheRuleOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreatePullThroughCacheRuleResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *CreatePullThroughCacheRuleOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.CreatePullThroughCacheRuleResponse_createdAt, *v.CreatedAt) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.CredentialArn != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_credentialArn, *v.CredentialArn) } - if err = addClientRequestID(stack); err != nil { - return err + if v.CustomRoleArn != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_customRoleArn, *v.CustomRoleArn) } - if err = addComputeContentLength(stack); err != nil { - return err + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) } - if err = addResolveEndpointMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_registryId, *v.RegistryId) } - if err = addComputePayloadSHA256(stack); err != nil { - return err - } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err + if v.UpstreamRegistry != "" { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_upstreamRegistry, string(v.UpstreamRegistry)) } - if err = addSpanRetryLoop(stack, options); err != nil { - return err + if v.UpstreamRegistryUrl != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_upstreamRegistryUrl, *v.UpstreamRegistryUrl) } - if err = addClientUserAgent(stack, options); err != nil { - return err + if v.UpstreamRepositoryPrefix != nil { + s.WriteString(schemas.CreatePullThroughCacheRuleResponse_upstreamRepositoryPrefix, *v.UpstreamRepositoryPrefix) } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { +} +func (v *CreatePullThroughCacheRuleOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CreatePullThroughCacheRuleResponse, func(s *smithy.Schema) error { + switch s { + case schemas.CreatePullThroughCacheRuleResponse_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.CreatePullThroughCacheRuleResponse_createdAt, v.CreatedAt) + case schemas.CreatePullThroughCacheRuleResponse_credentialArn: + v.CredentialArn = new(string) + return d.ReadString(schemas.CreatePullThroughCacheRuleResponse_credentialArn, v.CredentialArn) + case schemas.CreatePullThroughCacheRuleResponse_customRoleArn: + v.CustomRoleArn = new(string) + return d.ReadString(schemas.CreatePullThroughCacheRuleResponse_customRoleArn, v.CustomRoleArn) + case schemas.CreatePullThroughCacheRuleResponse_ecrRepositoryPrefix: + v.EcrRepositoryPrefix = new(string) + return d.ReadString(schemas.CreatePullThroughCacheRuleResponse_ecrRepositoryPrefix, v.EcrRepositoryPrefix) + case schemas.CreatePullThroughCacheRuleResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.CreatePullThroughCacheRuleResponse_registryId, v.RegistryId) + case schemas.CreatePullThroughCacheRuleResponse_upstreamRegistry: + var ev string + if err := d.ReadString(schemas.CreatePullThroughCacheRuleResponse_upstreamRegistry, &ev); err != nil { + return err + } + v.UpstreamRegistry = types.UpstreamRegistry(ev) + return nil + case schemas.CreatePullThroughCacheRuleResponse_upstreamRegistryUrl: + v.UpstreamRegistryUrl = new(string) + return d.ReadString(schemas.CreatePullThroughCacheRuleResponse_upstreamRegistryUrl, v.UpstreamRegistryUrl) + case schemas.CreatePullThroughCacheRuleResponse_upstreamRepositoryPrefix: + v.UpstreamRepositoryPrefix = new(string) + return d.ReadString(schemas.CreatePullThroughCacheRuleResponse_upstreamRepositoryPrefix, v.UpstreamRepositoryPrefix) + } + return nil + }) +} +func (c *Client) addOperationCreatePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreatePullThroughCacheRule, schemas.CreatePullThroughCacheRuleRequest, schemas.CreatePullThroughCacheRuleResponse)}, middleware.After); err != nil { return err } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreatePullThroughCacheRule, schemas.CreatePullThroughCacheRuleRequest, schemas.CreatePullThroughCacheRuleResponse), output: &CreatePullThroughCacheRuleOutput{}}, middleware.After); err != nil { return err } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } - if err = addTimeOffsetBuild(stack, c); err != nil { + if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -196,12 +245,6 @@ func (c *Client) addOperationCreatePullThroughCacheRuleMiddlewares(stack *middle if err = addOpCreatePullThroughCacheRuleValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreatePullThroughCacheRule(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -214,22 +257,8 @@ func (c *Client) addOperationCreatePullThroughCacheRuleMiddlewares(stack *middle if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opCreatePullThroughCacheRule(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "CreatePullThroughCacheRule", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepository.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepository.go index fbeb90bc..f6f9f2d6 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepository.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepository.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates a repository. For more information, see [Amazon ECR repositories] in the Amazon Elastic @@ -78,6 +77,36 @@ type CreateRepositoryInput struct { noSmithyDocumentSerde } +func (v *CreateRepositoryInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreateRepositoryRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CreateRepositoryInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.EncryptionConfiguration != nil { + s.WriteStruct(schemas.CreateRepositoryRequest_encryptionConfiguration) + v.EncryptionConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageScanningConfiguration != nil { + s.WriteStruct(schemas.CreateRepositoryRequest_imageScanningConfiguration) + v.ImageScanningConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageTagMutability != "" { + s.WriteString(schemas.CreateRepositoryRequest_imageTagMutability, string(v.ImageTagMutability)) + } + serializeImageTagMutabilityExclusionFilters(s, schemas.CreateRepositoryRequest_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.RegistryId != nil { + s.WriteString(schemas.CreateRepositoryRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.CreateRepositoryRequest_repositoryName, *v.RepositoryName) + } + serializeTagList(s, schemas.CreateRepositoryRequest_tags, v.Tags) +} + type CreateRepositoryOutput struct { // The repository that was created. @@ -89,68 +118,44 @@ type CreateRepositoryOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateRepository{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateRepository{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "CreateRepository"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *CreateRepositoryOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreateRepositoryResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *CreateRepositoryOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Repository != nil { + s.WriteStruct(schemas.CreateRepositoryResponse_repository) + v.Repository.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *CreateRepositoryOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CreateRepositoryResponse, func(s *smithy.Schema) error { + switch s { + case schemas.CreateRepositoryResponse_repository: + v.Repository = &types.Repository{} + return v.Repository.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreateRepository, schemas.CreateRepositoryRequest, schemas.CreateRepositoryResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreateRepository, schemas.CreateRepositoryRequest, schemas.CreateRepositoryResponse), output: &CreateRepositoryOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -159,12 +164,6 @@ func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack if err = addOpCreateRepositoryValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateRepository(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -177,22 +176,8 @@ func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opCreateRepository(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "CreateRepository", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepositoryCreationTemplate.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepositoryCreationTemplate.go index f6a61ead..e249aa8a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepositoryCreationTemplate.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_CreateRepositoryCreationTemplate.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates a repository creation template. This template is used to define the @@ -98,6 +97,41 @@ type CreateRepositoryCreationTemplateInput struct { noSmithyDocumentSerde } +func (v *CreateRepositoryCreationTemplateInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreateRepositoryCreationTemplateRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CreateRepositoryCreationTemplateInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeRCTAppliedForList(s, schemas.CreateRepositoryCreationTemplateRequest_appliedFor, v.AppliedFor) + if v.CustomRoleArn != nil { + s.WriteString(schemas.CreateRepositoryCreationTemplateRequest_customRoleArn, *v.CustomRoleArn) + } + if v.Description != nil { + s.WriteString(schemas.CreateRepositoryCreationTemplateRequest_description, *v.Description) + } + if v.EncryptionConfiguration != nil { + s.WriteStruct(schemas.CreateRepositoryCreationTemplateRequest_encryptionConfiguration) + v.EncryptionConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageTagMutability != "" { + s.WriteString(schemas.CreateRepositoryCreationTemplateRequest_imageTagMutability, string(v.ImageTagMutability)) + } + serializeImageTagMutabilityExclusionFilters(s, schemas.CreateRepositoryCreationTemplateRequest_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.LifecyclePolicy != nil { + s.WriteString(schemas.CreateRepositoryCreationTemplateRequest_lifecyclePolicy, *v.LifecyclePolicy) + } + if v.Prefix != nil { + s.WriteString(schemas.CreateRepositoryCreationTemplateRequest_prefix, *v.Prefix) + } + if v.RepositoryPolicy != nil { + s.WriteString(schemas.CreateRepositoryCreationTemplateRequest_repositoryPolicy, *v.RepositoryPolicy) + } + serializeTagList(s, schemas.CreateRepositoryCreationTemplateRequest_resourceTags, v.ResourceTags) +} + type CreateRepositoryCreationTemplateOutput struct { // The registry ID associated with the request. @@ -112,68 +146,50 @@ type CreateRepositoryCreationTemplateOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationCreateRepositoryCreationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateRepositoryCreationTemplate{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateRepositoryCreationTemplate{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "CreateRepositoryCreationTemplate"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *CreateRepositoryCreationTemplateOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreateRepositoryCreationTemplateResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *CreateRepositoryCreationTemplateOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.CreateRepositoryCreationTemplateResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryCreationTemplate != nil { + s.WriteStruct(schemas.CreateRepositoryCreationTemplateResponse_repositoryCreationTemplate) + v.RepositoryCreationTemplate.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *CreateRepositoryCreationTemplateOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CreateRepositoryCreationTemplateResponse, func(s *smithy.Schema) error { + switch s { + case schemas.CreateRepositoryCreationTemplateResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.CreateRepositoryCreationTemplateResponse_registryId, v.RegistryId) + case schemas.CreateRepositoryCreationTemplateResponse_repositoryCreationTemplate: + v.RepositoryCreationTemplate = &types.RepositoryCreationTemplate{} + return v.RepositoryCreationTemplate.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationCreateRepositoryCreationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreateRepositoryCreationTemplate, schemas.CreateRepositoryCreationTemplateRequest, schemas.CreateRepositoryCreationTemplateResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreateRepositoryCreationTemplate, schemas.CreateRepositoryCreationTemplateRequest, schemas.CreateRepositoryCreationTemplateResponse), output: &CreateRepositoryCreationTemplateOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -182,12 +198,6 @@ func (c *Client) addOperationCreateRepositoryCreationTemplateMiddlewares(stack * if err = addOpCreateRepositoryCreationTemplateValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateRepositoryCreationTemplate(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -200,22 +210,8 @@ func (c *Client) addOperationCreateRepositoryCreationTemplateMiddlewares(stack * if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opCreateRepositoryCreationTemplate(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "CreateRepositoryCreationTemplate", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteLifecyclePolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteLifecyclePolicy.go index b5635483..b18d31a2 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteLifecyclePolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteLifecyclePolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) @@ -42,6 +41,21 @@ type DeleteLifecyclePolicyInput struct { noSmithyDocumentSerde } +func (v *DeleteLifecyclePolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteLifecyclePolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteLifecyclePolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.DeleteLifecyclePolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteLifecyclePolicyRequest_repositoryName, *v.RepositoryName) + } +} + type DeleteLifecyclePolicyOutput struct { // The time stamp of the last time that the lifecycle policy was run. @@ -62,68 +76,60 @@ type DeleteLifecyclePolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteLifecyclePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteLifecyclePolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteLifecyclePolicy{}, middleware.After) - if err != nil { - return err +func (v *DeleteLifecyclePolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteLifecyclePolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteLifecyclePolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LastEvaluatedAt != nil { + s.WriteTime(schemas.DeleteLifecyclePolicyResponse_lastEvaluatedAt, *v.LastEvaluatedAt) } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteLifecyclePolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.DeleteLifecyclePolicyResponse_lifecyclePolicyText, *v.LifecyclePolicyText) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DeleteLifecyclePolicyResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteLifecyclePolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteLifecyclePolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteLifecyclePolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteLifecyclePolicyResponse_lastEvaluatedAt: + v.LastEvaluatedAt = new(time.Time) + return d.ReadTime(schemas.DeleteLifecyclePolicyResponse_lastEvaluatedAt, v.LastEvaluatedAt) + case schemas.DeleteLifecyclePolicyResponse_lifecyclePolicyText: + v.LifecyclePolicyText = new(string) + return d.ReadString(schemas.DeleteLifecyclePolicyResponse_lifecyclePolicyText, v.LifecyclePolicyText) + case schemas.DeleteLifecyclePolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeleteLifecyclePolicyResponse_registryId, v.RegistryId) + case schemas.DeleteLifecyclePolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.DeleteLifecyclePolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationDeleteLifecyclePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteLifecyclePolicy, schemas.DeleteLifecyclePolicyRequest, schemas.DeleteLifecyclePolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteLifecyclePolicy, schemas.DeleteLifecyclePolicyRequest, schemas.DeleteLifecyclePolicyResponse), output: &DeleteLifecyclePolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -132,12 +138,6 @@ func (c *Client) addOperationDeleteLifecyclePolicyMiddlewares(stack *middleware. if err = addOpDeleteLifecyclePolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteLifecyclePolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -150,22 +150,8 @@ func (c *Client) addOperationDeleteLifecyclePolicyMiddlewares(stack *middleware. if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteLifecyclePolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteLifecyclePolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeletePullThroughCacheRule.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeletePullThroughCacheRule.go index 8bc79407..39b141cb 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeletePullThroughCacheRule.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeletePullThroughCacheRule.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) @@ -43,6 +42,21 @@ type DeletePullThroughCacheRuleInput struct { noSmithyDocumentSerde } +func (v *DeletePullThroughCacheRuleInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeletePullThroughCacheRuleRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeletePullThroughCacheRuleInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleRequest_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) + } + if v.RegistryId != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleRequest_registryId, *v.RegistryId) + } +} + type DeletePullThroughCacheRuleOutput struct { // The timestamp associated with the pull through cache rule. @@ -73,68 +87,78 @@ type DeletePullThroughCacheRuleOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeletePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeletePullThroughCacheRule{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeletePullThroughCacheRule{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeletePullThroughCacheRule"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeletePullThroughCacheRuleOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeletePullThroughCacheRuleResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeletePullThroughCacheRuleOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.DeletePullThroughCacheRuleResponse_createdAt, *v.CreatedAt) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.CredentialArn != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleResponse_credentialArn, *v.CredentialArn) } - if err = addClientRequestID(stack); err != nil { - return err + if v.CustomRoleArn != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleResponse_customRoleArn, *v.CustomRoleArn) } - if err = addComputeContentLength(stack); err != nil { - return err + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleResponse_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) } - if err = addResolveEndpointMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleResponse_registryId, *v.RegistryId) } - if err = addComputePayloadSHA256(stack); err != nil { - return err + if v.UpstreamRegistryUrl != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleResponse_upstreamRegistryUrl, *v.UpstreamRegistryUrl) } - if err = addRetry(stack, options); err != nil { - return err + if v.UpstreamRepositoryPrefix != nil { + s.WriteString(schemas.DeletePullThroughCacheRuleResponse_upstreamRepositoryPrefix, *v.UpstreamRepositoryPrefix) } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { +} +func (v *DeletePullThroughCacheRuleOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeletePullThroughCacheRuleResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeletePullThroughCacheRuleResponse_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.DeletePullThroughCacheRuleResponse_createdAt, v.CreatedAt) + case schemas.DeletePullThroughCacheRuleResponse_credentialArn: + v.CredentialArn = new(string) + return d.ReadString(schemas.DeletePullThroughCacheRuleResponse_credentialArn, v.CredentialArn) + case schemas.DeletePullThroughCacheRuleResponse_customRoleArn: + v.CustomRoleArn = new(string) + return d.ReadString(schemas.DeletePullThroughCacheRuleResponse_customRoleArn, v.CustomRoleArn) + case schemas.DeletePullThroughCacheRuleResponse_ecrRepositoryPrefix: + v.EcrRepositoryPrefix = new(string) + return d.ReadString(schemas.DeletePullThroughCacheRuleResponse_ecrRepositoryPrefix, v.EcrRepositoryPrefix) + case schemas.DeletePullThroughCacheRuleResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeletePullThroughCacheRuleResponse_registryId, v.RegistryId) + case schemas.DeletePullThroughCacheRuleResponse_upstreamRegistryUrl: + v.UpstreamRegistryUrl = new(string) + return d.ReadString(schemas.DeletePullThroughCacheRuleResponse_upstreamRegistryUrl, v.UpstreamRegistryUrl) + case schemas.DeletePullThroughCacheRuleResponse_upstreamRepositoryPrefix: + v.UpstreamRepositoryPrefix = new(string) + return d.ReadString(schemas.DeletePullThroughCacheRuleResponse_upstreamRepositoryPrefix, v.UpstreamRepositoryPrefix) + } + return nil + }) +} +func (c *Client) addOperationDeletePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeletePullThroughCacheRule, schemas.DeletePullThroughCacheRuleRequest, schemas.DeletePullThroughCacheRuleResponse)}, middleware.After); err != nil { return err } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeletePullThroughCacheRule, schemas.DeletePullThroughCacheRuleRequest, schemas.DeletePullThroughCacheRuleResponse), output: &DeletePullThroughCacheRuleOutput{}}, middleware.After); err != nil { return err } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } - if err = addTimeOffsetBuild(stack, c); err != nil { + if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -143,12 +167,6 @@ func (c *Client) addOperationDeletePullThroughCacheRuleMiddlewares(stack *middle if err = addOpDeletePullThroughCacheRuleValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeletePullThroughCacheRule(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -161,22 +179,8 @@ func (c *Client) addOperationDeletePullThroughCacheRuleMiddlewares(stack *middle if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeletePullThroughCacheRule(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeletePullThroughCacheRule", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRegistryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRegistryPolicy.go index d675033c..da4611c5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRegistryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRegistryPolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes the registry permissions policy. @@ -30,6 +29,15 @@ type DeleteRegistryPolicyInput struct { noSmithyDocumentSerde } +func (v *DeleteRegistryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRegistryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteRegistryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type DeleteRegistryPolicyOutput struct { // The contents of the registry permissions policy that was deleted. @@ -44,79 +52,53 @@ type DeleteRegistryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteRegistryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteRegistryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteRegistryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteRegistryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteRegistryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRegistryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeleteRegistryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.DeleteRegistryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRegistryPolicyResponse_registryId, *v.RegistryId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteRegistryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteRegistryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteRegistryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.DeleteRegistryPolicyResponse_policyText, v.PolicyText) + case schemas.DeleteRegistryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeleteRegistryPolicyResponse_registryId, v.RegistryId) + } + return nil + }) +} +func (c *Client) addOperationDeleteRegistryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRegistryPolicy, schemas.DeleteRegistryPolicyRequest, schemas.DeleteRegistryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRegistryPolicy, schemas.DeleteRegistryPolicyRequest, schemas.DeleteRegistryPolicyResponse), output: &DeleteRegistryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteRegistryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -129,22 +111,8 @@ func (c *Client) addOperationDeleteRegistryPolicyMiddlewares(stack *middleware.S if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteRegistryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteRegistryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepository.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepository.go index df98e30e..91544e71 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepository.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepository.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes a repository. If the repository isn't empty, you must either delete the @@ -48,6 +47,24 @@ type DeleteRepositoryInput struct { noSmithyDocumentSerde } +func (v *DeleteRepositoryInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteRepositoryInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Force != false { + s.WriteBool(schemas.DeleteRepositoryRequest_force, v.Force) + } + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteRepositoryRequest_repositoryName, *v.RepositoryName) + } +} + type DeleteRepositoryOutput struct { // The repository that was deleted. @@ -59,68 +76,44 @@ type DeleteRepositoryOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteRepository{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteRepository{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteRepository"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteRepositoryOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DeleteRepositoryOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Repository != nil { + s.WriteStruct(schemas.DeleteRepositoryResponse_repository) + v.Repository.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteRepositoryOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteRepositoryResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteRepositoryResponse_repository: + v.Repository = &types.Repository{} + return v.Repository.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepository, schemas.DeleteRepositoryRequest, schemas.DeleteRepositoryResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepository, schemas.DeleteRepositoryRequest, schemas.DeleteRepositoryResponse), output: &DeleteRepositoryOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -129,12 +122,6 @@ func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack if err = addOpDeleteRepositoryValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteRepository(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -147,22 +134,8 @@ func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteRepository(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteRepository", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryCreationTemplate.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryCreationTemplate.go index 836d252e..e2e6225f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryCreationTemplate.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryCreationTemplate.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes a repository creation template. @@ -38,6 +37,18 @@ type DeleteRepositoryCreationTemplateInput struct { noSmithyDocumentSerde } +func (v *DeleteRepositoryCreationTemplateInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryCreationTemplateRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteRepositoryCreationTemplateInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Prefix != nil { + s.WriteString(schemas.DeleteRepositoryCreationTemplateRequest_prefix, *v.Prefix) + } +} + type DeleteRepositoryCreationTemplateOutput struct { // The registry ID associated with the request. @@ -52,68 +63,50 @@ type DeleteRepositoryCreationTemplateOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteRepositoryCreationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteRepositoryCreationTemplate{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteRepositoryCreationTemplate{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteRepositoryCreationTemplate"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteRepositoryCreationTemplateOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryCreationTemplateResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeleteRepositoryCreationTemplateOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryCreationTemplateResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryCreationTemplate != nil { + s.WriteStruct(schemas.DeleteRepositoryCreationTemplateResponse_repositoryCreationTemplate) + v.RepositoryCreationTemplate.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteRepositoryCreationTemplateOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteRepositoryCreationTemplateResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteRepositoryCreationTemplateResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeleteRepositoryCreationTemplateResponse_registryId, v.RegistryId) + case schemas.DeleteRepositoryCreationTemplateResponse_repositoryCreationTemplate: + v.RepositoryCreationTemplate = &types.RepositoryCreationTemplate{} + return v.RepositoryCreationTemplate.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationDeleteRepositoryCreationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepositoryCreationTemplate, schemas.DeleteRepositoryCreationTemplateRequest, schemas.DeleteRepositoryCreationTemplateResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepositoryCreationTemplate, schemas.DeleteRepositoryCreationTemplateRequest, schemas.DeleteRepositoryCreationTemplateResponse), output: &DeleteRepositoryCreationTemplateOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -122,12 +115,6 @@ func (c *Client) addOperationDeleteRepositoryCreationTemplateMiddlewares(stack * if err = addOpDeleteRepositoryCreationTemplateValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteRepositoryCreationTemplate(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -140,22 +127,8 @@ func (c *Client) addOperationDeleteRepositoryCreationTemplateMiddlewares(stack * if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteRepositoryCreationTemplate(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteRepositoryCreationTemplate", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryPolicy.go index d5c435ee..bf8b644f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteRepositoryPolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes the repository policy associated with the specified repository. @@ -42,6 +41,21 @@ type DeleteRepositoryPolicyInput struct { noSmithyDocumentSerde } +func (v *DeleteRepositoryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteRepositoryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryPolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteRepositoryPolicyRequest_repositoryName, *v.RepositoryName) + } +} + type DeleteRepositoryPolicyOutput struct { // The JSON repository policy that was deleted from the repository. @@ -59,68 +73,54 @@ type DeleteRepositoryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteRepositoryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteRepositoryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeleteRepositoryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.DeleteRepositoryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryPolicyResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteRepositoryPolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteRepositoryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteRepositoryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteRepositoryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.DeleteRepositoryPolicyResponse_policyText, v.PolicyText) + case schemas.DeleteRepositoryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeleteRepositoryPolicyResponse_registryId, v.RegistryId) + case schemas.DeleteRepositoryPolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.DeleteRepositoryPolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepositoryPolicy, schemas.DeleteRepositoryPolicyRequest, schemas.DeleteRepositoryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepositoryPolicy, schemas.DeleteRepositoryPolicyRequest, schemas.DeleteRepositoryPolicyResponse), output: &DeleteRepositoryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -129,12 +129,6 @@ func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware if err = addOpDeleteRepositoryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteRepositoryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -147,22 +141,8 @@ func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteRepositoryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteRepositoryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteSigningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteSigningConfiguration.go index 86f2516b..edc86f3f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteSigningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeleteSigningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes the registry's signing configuration. Images pushed after deletion of @@ -38,6 +37,15 @@ type DeleteSigningConfigurationInput struct { noSmithyDocumentSerde } +func (v *DeleteSigningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteSigningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteSigningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type DeleteSigningConfigurationOutput struct { // The Amazon Web Services account ID associated with the registry. @@ -52,79 +60,55 @@ type DeleteSigningConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteSigningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteSigningConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteSigningConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteSigningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteSigningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteSigningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeleteSigningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.DeleteSigningConfigurationResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.SigningConfiguration != nil { + s.WriteStruct(schemas.DeleteSigningConfigurationResponse_signingConfiguration) + v.SigningConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteSigningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteSigningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteSigningConfigurationResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeleteSigningConfigurationResponse_registryId, v.RegistryId) + case schemas.DeleteSigningConfigurationResponse_signingConfiguration: + v.SigningConfiguration = &types.SigningConfiguration{} + return v.SigningConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationDeleteSigningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteSigningConfiguration, schemas.DeleteSigningConfigurationRequest, schemas.DeleteSigningConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteSigningConfiguration, schemas.DeleteSigningConfigurationRequest, schemas.DeleteSigningConfigurationResponse), output: &DeleteSigningConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteSigningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -137,22 +121,8 @@ func (c *Client) addOperationDeleteSigningConfigurationMiddlewares(stack *middle if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteSigningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteSigningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeregisterPullTimeUpdateExclusion.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeregisterPullTimeUpdateExclusion.go index 3e59c0bf..37c12e4e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeregisterPullTimeUpdateExclusion.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DeregisterPullTimeUpdateExclusion.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Removes a principal from the pull time update exclusion list for a registry. @@ -38,6 +37,18 @@ type DeregisterPullTimeUpdateExclusionInput struct { noSmithyDocumentSerde } +func (v *DeregisterPullTimeUpdateExclusionInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeregisterPullTimeUpdateExclusionRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeregisterPullTimeUpdateExclusionInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PrincipalArn != nil { + s.WriteString(schemas.DeregisterPullTimeUpdateExclusionRequest_principalArn, *v.PrincipalArn) + } +} + type DeregisterPullTimeUpdateExclusionOutput struct { // The ARN of the IAM principal that was removed from the pull time update @@ -50,68 +61,42 @@ type DeregisterPullTimeUpdateExclusionOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeregisterPullTimeUpdateExclusionMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeregisterPullTimeUpdateExclusion{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeregisterPullTimeUpdateExclusion{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeregisterPullTimeUpdateExclusion"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeregisterPullTimeUpdateExclusionOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeregisterPullTimeUpdateExclusionResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeregisterPullTimeUpdateExclusionOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PrincipalArn != nil { + s.WriteString(schemas.DeregisterPullTimeUpdateExclusionResponse_principalArn, *v.PrincipalArn) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeregisterPullTimeUpdateExclusionOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeregisterPullTimeUpdateExclusionResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeregisterPullTimeUpdateExclusionResponse_principalArn: + v.PrincipalArn = new(string) + return d.ReadString(schemas.DeregisterPullTimeUpdateExclusionResponse_principalArn, v.PrincipalArn) + } + return nil + }) +} +func (c *Client) addOperationDeregisterPullTimeUpdateExclusionMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeregisterPullTimeUpdateExclusion, schemas.DeregisterPullTimeUpdateExclusionRequest, schemas.DeregisterPullTimeUpdateExclusionResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeregisterPullTimeUpdateExclusion, schemas.DeregisterPullTimeUpdateExclusionRequest, schemas.DeregisterPullTimeUpdateExclusionResponse), output: &DeregisterPullTimeUpdateExclusionOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -120,12 +105,6 @@ func (c *Client) addOperationDeregisterPullTimeUpdateExclusionMiddlewares(stack if err = addOpDeregisterPullTimeUpdateExclusionValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeregisterPullTimeUpdateExclusion(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -138,22 +117,8 @@ func (c *Client) addOperationDeregisterPullTimeUpdateExclusionMiddlewares(stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeregisterPullTimeUpdateExclusion(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeregisterPullTimeUpdateExclusion", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageReplicationStatus.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageReplicationStatus.go index f9514a89..8eff5a95 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageReplicationStatus.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageReplicationStatus.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns the replication status for a specified image. @@ -46,6 +45,26 @@ type DescribeImageReplicationStatusInput struct { noSmithyDocumentSerde } +func (v *DescribeImageReplicationStatusInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageReplicationStatusRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImageReplicationStatusInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.DescribeImageReplicationStatusRequest_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImageReplicationStatusRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageReplicationStatusRequest_repositoryName, *v.RepositoryName) + } +} + type DescribeImageReplicationStatusOutput struct { // An object with identifying information for an image in an Amazon ECR repository. @@ -63,68 +82,53 @@ type DescribeImageReplicationStatusOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeImageReplicationStatusMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeImageReplicationStatus{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeImageReplicationStatus{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeImageReplicationStatus"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeImageReplicationStatusOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageReplicationStatusResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DescribeImageReplicationStatusOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.DescribeImageReplicationStatusResponse_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + serializeImageReplicationStatusList(s, schemas.DescribeImageReplicationStatusResponse_replicationStatuses, v.ReplicationStatuses) + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageReplicationStatusResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DescribeImageReplicationStatusOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImageReplicationStatusResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImageReplicationStatusResponse_imageId: + v.ImageId = &types.ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.DescribeImageReplicationStatusResponse_replicationStatuses: + return deserializeImageReplicationStatusList(d, schemas.DescribeImageReplicationStatusResponse_replicationStatuses, &v.ReplicationStatuses) + case schemas.DescribeImageReplicationStatusResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.DescribeImageReplicationStatusResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationDescribeImageReplicationStatusMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageReplicationStatus, schemas.DescribeImageReplicationStatusRequest, schemas.DescribeImageReplicationStatusResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageReplicationStatus, schemas.DescribeImageReplicationStatusRequest, schemas.DescribeImageReplicationStatusResponse), output: &DescribeImageReplicationStatusOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -133,12 +137,6 @@ func (c *Client) addOperationDescribeImageReplicationStatusMiddlewares(stack *mi if err = addOpDescribeImageReplicationStatusValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeImageReplicationStatus(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -151,22 +149,8 @@ func (c *Client) addOperationDescribeImageReplicationStatusMiddlewares(stack *mi if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDescribeImageReplicationStatus(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeImageReplicationStatus", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageScanFindings.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageScanFindings.go index 3f3f93db..d3049268 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageScanFindings.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageScanFindings.go @@ -5,11 +5,11 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" smithytime "github.com/aws/smithy-go/time" - smithyhttp "github.com/aws/smithy-go/transport/http" smithywaiter "github.com/aws/smithy-go/waiter" "time" ) @@ -67,6 +67,32 @@ type DescribeImageScanFindingsInput struct { noSmithyDocumentSerde } +func (v *DescribeImageScanFindingsInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageScanFindingsRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImageScanFindingsInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.DescribeImageScanFindingsRequest_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeImageScanFindingsRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeImageScanFindingsRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImageScanFindingsRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageScanFindingsRequest_repositoryName, *v.RepositoryName) + } +} + type DescribeImageScanFindingsOutput struct { // An object with identifying information for an image in an Amazon ECR repository. @@ -96,68 +122,78 @@ type DescribeImageScanFindingsOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeImageScanFindingsMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err +func (v *DescribeImageScanFindingsOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageScanFindingsResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImageScanFindingsOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.DescribeImageScanFindingsResponse_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeImageScanFindings{}, middleware.After) - if err != nil { - return err + if v.ImageScanFindings != nil { + s.WriteStruct(schemas.DescribeImageScanFindingsResponse_imageScanFindings) + v.ImageScanFindings.SerializeMembers(s) + s.CloseStruct() } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeImageScanFindings{}, middleware.After) - if err != nil { - return err + if v.ImageScanStatus != nil { + s.WriteStruct(schemas.DescribeImageScanFindingsResponse_imageScanStatus) + v.ImageScanStatus.SerializeMembers(s) + s.CloseStruct() } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeImageScanFindings"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.NextToken != nil { + s.WriteString(schemas.DescribeImageScanFindingsResponse_nextToken, *v.NextToken) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImageScanFindingsResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageScanFindingsResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DescribeImageScanFindingsOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImageScanFindingsResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImageScanFindingsResponse_imageId: + v.ImageId = &types.ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.DescribeImageScanFindingsResponse_imageScanFindings: + v.ImageScanFindings = &types.ImageScanFindings{} + return v.ImageScanFindings.Deserialize(d) + case schemas.DescribeImageScanFindingsResponse_imageScanStatus: + v.ImageScanStatus = &types.ImageScanStatus{} + return v.ImageScanStatus.Deserialize(d) + case schemas.DescribeImageScanFindingsResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeImageScanFindingsResponse_nextToken, v.NextToken) + case schemas.DescribeImageScanFindingsResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DescribeImageScanFindingsResponse_registryId, v.RegistryId) + case schemas.DescribeImageScanFindingsResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.DescribeImageScanFindingsResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationDescribeImageScanFindingsMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageScanFindings, schemas.DescribeImageScanFindingsRequest, schemas.DescribeImageScanFindingsResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageScanFindings, schemas.DescribeImageScanFindingsRequest, schemas.DescribeImageScanFindingsResponse), output: &DescribeImageScanFindingsOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -166,12 +202,6 @@ func (c *Client) addOperationDescribeImageScanFindingsMiddlewares(stack *middlew if err = addOpDescribeImageScanFindingsValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeImageScanFindings(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -184,12 +214,6 @@ func (c *Client) addOperationDescribeImageScanFindingsMiddlewares(stack *middlew if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -492,11 +516,3 @@ type DescribeImageScanFindingsAPIClient interface { } var _ DescribeImageScanFindingsAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeImageScanFindings(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeImageScanFindings", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageSigningStatus.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageSigningStatus.go index 83d56e84..64160af7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageSigningStatus.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImageSigningStatus.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns the signing status for a specified image. If the image matched signing @@ -53,6 +52,26 @@ type DescribeImageSigningStatusInput struct { noSmithyDocumentSerde } +func (v *DescribeImageSigningStatusInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageSigningStatusRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImageSigningStatusInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.DescribeImageSigningStatusRequest_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImageSigningStatusRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageSigningStatusRequest_repositoryName, *v.RepositoryName) + } +} + type DescribeImageSigningStatusOutput struct { // An object with identifying information for the image. @@ -74,68 +93,59 @@ type DescribeImageSigningStatusOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeImageSigningStatusMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeImageSigningStatus{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeImageSigningStatus{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeImageSigningStatus"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeImageSigningStatusOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageSigningStatusResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DescribeImageSigningStatusOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.DescribeImageSigningStatusResponse_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImageSigningStatusResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageSigningStatusResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { + serializeImageSigningStatusList(s, schemas.DescribeImageSigningStatusResponse_signingStatuses, v.SigningStatuses) +} +func (v *DescribeImageSigningStatusOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImageSigningStatusResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImageSigningStatusResponse_imageId: + v.ImageId = &types.ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.DescribeImageSigningStatusResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DescribeImageSigningStatusResponse_registryId, v.RegistryId) + case schemas.DescribeImageSigningStatusResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.DescribeImageSigningStatusResponse_repositoryName, v.RepositoryName) + case schemas.DescribeImageSigningStatusResponse_signingStatuses: + return deserializeImageSigningStatusList(d, schemas.DescribeImageSigningStatusResponse_signingStatuses, &v.SigningStatuses) + } + return nil + }) +} +func (c *Client) addOperationDescribeImageSigningStatusMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageSigningStatus, schemas.DescribeImageSigningStatusRequest, schemas.DescribeImageSigningStatusResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageSigningStatus, schemas.DescribeImageSigningStatusRequest, schemas.DescribeImageSigningStatusResponse), output: &DescribeImageSigningStatusOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -144,12 +154,6 @@ func (c *Client) addOperationDescribeImageSigningStatusMiddlewares(stack *middle if err = addOpDescribeImageSigningStatusValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeImageSigningStatus(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -162,22 +166,8 @@ func (c *Client) addOperationDescribeImageSigningStatusMiddlewares(stack *middle if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDescribeImageSigningStatus(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeImageSigningStatus", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImages.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImages.go index a42e0f09..c560930b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImages.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeImages.go @@ -5,10 +5,10 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns metadata about the images in a repository. @@ -76,6 +76,33 @@ type DescribeImagesInput struct { noSmithyDocumentSerde } +func (v *DescribeImagesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImagesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImagesInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteStruct(schemas.DescribeImagesRequest_filter) + v.Filter.SerializeMembers(s) + s.CloseStruct() + } + serializeImageIdentifierList(s, schemas.DescribeImagesRequest_imageIds, v.ImageIds) + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeImagesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeImagesRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImagesRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImagesRequest_repositoryName, *v.RepositoryName) + } +} + type DescribeImagesOutput struct { // A list of ImageDetail objects that contain data about the image. @@ -93,68 +120,45 @@ type DescribeImagesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeImages{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeImages{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeImages"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeImagesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImagesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DescribeImagesOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageDetailList(s, schemas.DescribeImagesResponse_imageDetails, v.ImageDetails) + if v.NextToken != nil { + s.WriteString(schemas.DescribeImagesResponse_nextToken, *v.NextToken) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *DescribeImagesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImagesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImagesResponse_imageDetails: + return deserializeImageDetailList(d, schemas.DescribeImagesResponse_imageDetails, &v.ImageDetails) + case schemas.DescribeImagesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeImagesResponse_nextToken, v.NextToken) + } + return nil + }) +} +func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImages, schemas.DescribeImagesRequest, schemas.DescribeImagesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImages, schemas.DescribeImagesRequest, schemas.DescribeImagesResponse), output: &DescribeImagesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -163,12 +167,6 @@ func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, if err = addOpDescribeImagesValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeImages(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -181,12 +179,6 @@ func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -292,11 +284,3 @@ type DescribeImagesAPIClient interface { } var _ DescribeImagesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeImages(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeImages", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribePullThroughCacheRules.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribePullThroughCacheRules.go index 6f8a8a47..e1503373 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribePullThroughCacheRules.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribePullThroughCacheRules.go @@ -5,10 +5,10 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns the pull through cache rules for a registry. @@ -60,6 +60,25 @@ type DescribePullThroughCacheRulesInput struct { noSmithyDocumentSerde } +func (v *DescribePullThroughCacheRulesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribePullThroughCacheRulesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribePullThroughCacheRulesInput) SerializeMembers(s smithy.ShapeSerializer) { + serializePullThroughCacheRuleRepositoryPrefixList(s, schemas.DescribePullThroughCacheRulesRequest_ecrRepositoryPrefixes, v.EcrRepositoryPrefixes) + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribePullThroughCacheRulesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribePullThroughCacheRulesRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribePullThroughCacheRulesRequest_registryId, *v.RegistryId) + } +} + type DescribePullThroughCacheRulesOutput struct { // The nextToken value to include in a future DescribePullThroughCacheRulesRequest @@ -77,79 +96,50 @@ type DescribePullThroughCacheRulesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribePullThroughCacheRulesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribePullThroughCacheRules{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribePullThroughCacheRules{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribePullThroughCacheRules"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribePullThroughCacheRulesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribePullThroughCacheRulesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DescribePullThroughCacheRulesOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.DescribePullThroughCacheRulesResponse_nextToken, *v.NextToken) } - if err = addClientRequestID(stack); err != nil { + serializePullThroughCacheRuleList(s, schemas.DescribePullThroughCacheRulesResponse_pullThroughCacheRules, v.PullThroughCacheRules) +} +func (v *DescribePullThroughCacheRulesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribePullThroughCacheRulesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribePullThroughCacheRulesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribePullThroughCacheRulesResponse_nextToken, v.NextToken) + case schemas.DescribePullThroughCacheRulesResponse_pullThroughCacheRules: + return deserializePullThroughCacheRuleList(d, schemas.DescribePullThroughCacheRulesResponse_pullThroughCacheRules, &v.PullThroughCacheRules) + } + return nil + }) +} +func (c *Client) addOperationDescribePullThroughCacheRulesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribePullThroughCacheRules, schemas.DescribePullThroughCacheRulesRequest, schemas.DescribePullThroughCacheRulesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribePullThroughCacheRules, schemas.DescribePullThroughCacheRulesRequest, schemas.DescribePullThroughCacheRulesResponse), output: &DescribePullThroughCacheRulesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribePullThroughCacheRules(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -162,12 +152,6 @@ func (c *Client) addOperationDescribePullThroughCacheRulesMiddlewares(stack *mid if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -277,11 +261,3 @@ type DescribePullThroughCacheRulesAPIClient interface { } var _ DescribePullThroughCacheRulesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribePullThroughCacheRules(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribePullThroughCacheRules", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRegistry.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRegistry.go index 22c0bde7..51041e56 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRegistry.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRegistry.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Describes the settings for a registry. The replication configuration for a @@ -32,6 +31,15 @@ type DescribeRegistryInput struct { noSmithyDocumentSerde } +func (v *DescribeRegistryInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRegistryRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeRegistryInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type DescribeRegistryOutput struct { // The registry ID associated with the request. @@ -46,79 +54,55 @@ type DescribeRegistryOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeRegistryMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeRegistry{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeRegistry{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeRegistry"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeRegistryOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRegistryResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DescribeRegistryOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.DescribeRegistryResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.ReplicationConfiguration != nil { + s.WriteStruct(schemas.DescribeRegistryResponse_replicationConfiguration) + v.ReplicationConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *DescribeRegistryOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeRegistryResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeRegistryResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DescribeRegistryResponse_registryId, v.RegistryId) + case schemas.DescribeRegistryResponse_replicationConfiguration: + v.ReplicationConfiguration = &types.ReplicationConfiguration{} + return v.ReplicationConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationDescribeRegistryMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRegistry, schemas.DescribeRegistryRequest, schemas.DescribeRegistryResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRegistry, schemas.DescribeRegistryRequest, schemas.DescribeRegistryResponse), output: &DescribeRegistryOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeRegistry(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -131,22 +115,8 @@ func (c *Client) addOperationDescribeRegistryMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDescribeRegistry(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeRegistry", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositories.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositories.go index 8ef02bed..5095ca3f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositories.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositories.go @@ -5,10 +5,10 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Describes image repositories in a registry. @@ -63,6 +63,25 @@ type DescribeRepositoriesInput struct { noSmithyDocumentSerde } +func (v *DescribeRepositoriesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRepositoriesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeRepositoriesInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeRepositoriesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeRepositoriesRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeRepositoriesRequest_registryId, *v.RegistryId) + } + serializeRepositoryNameList(s, schemas.DescribeRepositoriesRequest_repositoryNames, v.RepositoryNames) +} + type DescribeRepositoriesOutput struct { // The nextToken value to include in a future DescribeRepositories request. When @@ -80,79 +99,50 @@ type DescribeRepositoriesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeRepositoriesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeRepositories{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeRepositories{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeRepositories"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeRepositoriesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRepositoriesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DescribeRepositoriesOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.DescribeRepositoriesResponse_nextToken, *v.NextToken) } - if err = addClientRequestID(stack); err != nil { + serializeRepositoryList(s, schemas.DescribeRepositoriesResponse_repositories, v.Repositories) +} +func (v *DescribeRepositoriesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeRepositoriesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeRepositoriesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeRepositoriesResponse_nextToken, v.NextToken) + case schemas.DescribeRepositoriesResponse_repositories: + return deserializeRepositoryList(d, schemas.DescribeRepositoriesResponse_repositories, &v.Repositories) + } + return nil + }) +} +func (c *Client) addOperationDescribeRepositoriesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRepositories, schemas.DescribeRepositoriesRequest, schemas.DescribeRepositoriesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRepositories, schemas.DescribeRepositoriesRequest, schemas.DescribeRepositoriesResponse), output: &DescribeRepositoriesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeRepositories(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -165,12 +155,6 @@ func (c *Client) addOperationDescribeRepositoriesMiddlewares(stack *middleware.S if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -278,11 +262,3 @@ type DescribeRepositoriesAPIClient interface { } var _ DescribeRepositoriesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeRepositories(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeRepositories", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositoryCreationTemplates.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositoryCreationTemplates.go index fcaaf295..b1fb806c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositoryCreationTemplates.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_DescribeRepositoryCreationTemplates.go @@ -5,10 +5,10 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns details about the repository creation templates in a registry. The @@ -60,6 +60,22 @@ type DescribeRepositoryCreationTemplatesInput struct { noSmithyDocumentSerde } +func (v *DescribeRepositoryCreationTemplatesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRepositoryCreationTemplatesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeRepositoryCreationTemplatesInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeRepositoryCreationTemplatesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeRepositoryCreationTemplatesRequest_nextToken, *v.NextToken) + } + serializePrefixList(s, schemas.DescribeRepositoryCreationTemplatesRequest_prefixes, v.Prefixes) +} + type DescribeRepositoryCreationTemplatesOutput struct { // The nextToken value to include in a future DescribeRepositoryCreationTemplates @@ -80,79 +96,56 @@ type DescribeRepositoryCreationTemplatesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeRepositoryCreationTemplatesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeRepositoryCreationTemplates{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeRepositoryCreationTemplates{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeRepositoryCreationTemplates"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeRepositoryCreationTemplatesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRepositoryCreationTemplatesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DescribeRepositoryCreationTemplatesOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.DescribeRepositoryCreationTemplatesResponse_nextToken, *v.NextToken) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DescribeRepositoryCreationTemplatesResponse_registryId, *v.RegistryId) } - if err = addClientRequestID(stack); err != nil { + serializeRepositoryCreationTemplateList(s, schemas.DescribeRepositoryCreationTemplatesResponse_repositoryCreationTemplates, v.RepositoryCreationTemplates) +} +func (v *DescribeRepositoryCreationTemplatesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeRepositoryCreationTemplatesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeRepositoryCreationTemplatesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeRepositoryCreationTemplatesResponse_nextToken, v.NextToken) + case schemas.DescribeRepositoryCreationTemplatesResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DescribeRepositoryCreationTemplatesResponse_registryId, v.RegistryId) + case schemas.DescribeRepositoryCreationTemplatesResponse_repositoryCreationTemplates: + return deserializeRepositoryCreationTemplateList(d, schemas.DescribeRepositoryCreationTemplatesResponse_repositoryCreationTemplates, &v.RepositoryCreationTemplates) + } + return nil + }) +} +func (c *Client) addOperationDescribeRepositoryCreationTemplatesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRepositoryCreationTemplates, schemas.DescribeRepositoryCreationTemplatesRequest, schemas.DescribeRepositoryCreationTemplatesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRepositoryCreationTemplates, schemas.DescribeRepositoryCreationTemplatesRequest, schemas.DescribeRepositoryCreationTemplatesResponse), output: &DescribeRepositoryCreationTemplatesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeRepositoryCreationTemplates(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -165,12 +158,6 @@ func (c *Client) addOperationDescribeRepositoryCreationTemplatesMiddlewares(stac if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -280,11 +267,3 @@ type DescribeRepositoryCreationTemplatesAPIClient interface { } var _ DescribeRepositoryCreationTemplatesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeRepositoryCreationTemplates(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeRepositoryCreationTemplates", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAccountSetting.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAccountSetting.go index 22764647..a22bddd7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAccountSetting.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAccountSetting.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the account setting value for the specified setting name. @@ -37,14 +36,26 @@ type GetAccountSettingInput struct { noSmithyDocumentSerde } +func (v *GetAccountSettingInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetAccountSettingRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetAccountSettingInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Name != nil { + s.WriteString(schemas.GetAccountSettingRequest_name, *v.Name) + } +} + type GetAccountSettingOutput struct { // Retrieves the name of the account setting. Name *string // The setting value for the setting name. Valid value for basic scan type: - // AWS_NATIVE . Valid values for registry policy scope: V1 or V2 . Valid values for - // blob mounting: ENABLED or DISABLED . + // AWS_NATIVE . Valid values for registry policy scope: V2 . Valid values for blob + // mounting: ENABLED or DISABLED . Value *string // Metadata pertaining to the operation's result. @@ -53,68 +64,48 @@ type GetAccountSettingOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetAccountSettingMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetAccountSetting{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetAccountSetting{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetAccountSetting"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetAccountSettingOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetAccountSettingResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetAccountSettingOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Name != nil { + s.WriteString(schemas.GetAccountSettingResponse_name, *v.Name) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.Value != nil { + s.WriteString(schemas.GetAccountSettingResponse_value, *v.Value) } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetAccountSettingOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetAccountSettingResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetAccountSettingResponse_name: + v.Name = new(string) + return d.ReadString(schemas.GetAccountSettingResponse_name, v.Name) + case schemas.GetAccountSettingResponse_value: + v.Value = new(string) + return d.ReadString(schemas.GetAccountSettingResponse_value, v.Value) + } + return nil + }) +} +func (c *Client) addOperationGetAccountSettingMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetAccountSetting, schemas.GetAccountSettingRequest, schemas.GetAccountSettingResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetAccountSetting, schemas.GetAccountSettingRequest, schemas.GetAccountSettingResponse), output: &GetAccountSettingOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -123,12 +114,6 @@ func (c *Client) addOperationGetAccountSettingMiddlewares(stack *middleware.Stac if err = addOpGetAccountSettingValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetAccountSetting(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -141,22 +126,8 @@ func (c *Client) addOperationGetAccountSettingMiddlewares(stack *middleware.Stac if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetAccountSetting(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetAccountSetting", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAuthorizationToken.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAuthorizationToken.go index 335e07e6..1bd79530 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAuthorizationToken.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetAuthorizationToken.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves an authorization token. An authorization token represents your IAM @@ -52,6 +51,16 @@ type GetAuthorizationTokenInput struct { noSmithyDocumentSerde } +func (v *GetAuthorizationTokenInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetAuthorizationTokenRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetAuthorizationTokenInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeGetAuthorizationTokenRegistryIdList(s, schemas.GetAuthorizationTokenRequest_registryIds, v.RegistryIds) +} + type GetAuthorizationTokenOutput struct { // A list of authorization token data objects that correspond to the registryIds @@ -67,79 +76,44 @@ type GetAuthorizationTokenOutput struct { noSmithyDocumentSerde } +func (v *GetAuthorizationTokenOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetAuthorizationTokenResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetAuthorizationTokenOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeAuthorizationDataList(s, schemas.GetAuthorizationTokenResponse_authorizationData, v.AuthorizationData) +} +func (v *GetAuthorizationTokenOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetAuthorizationTokenResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetAuthorizationTokenResponse_authorizationData: + return deserializeAuthorizationDataList(d, schemas.GetAuthorizationTokenResponse_authorizationData, &v.AuthorizationData) + } + return nil + }) +} func (c *Client) addOperationGetAuthorizationTokenMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetAuthorizationToken{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetAuthorizationToken, schemas.GetAuthorizationTokenRequest, schemas.GetAuthorizationTokenResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetAuthorizationToken{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetAuthorizationToken, schemas.GetAuthorizationTokenRequest, schemas.GetAuthorizationTokenResponse), output: &GetAuthorizationTokenOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetAuthorizationToken"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetAuthorizationToken(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -152,22 +126,8 @@ func (c *Client) addOperationGetAuthorizationTokenMiddlewares(stack *middleware. if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetAuthorizationToken(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetAuthorizationToken", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetDownloadUrlForLayer.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetDownloadUrlForLayer.go index 26793fde..def55e59 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetDownloadUrlForLayer.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetDownloadUrlForLayer.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the pre-signed Amazon S3 download URL corresponding to an image @@ -54,6 +53,24 @@ type GetDownloadUrlForLayerInput struct { noSmithyDocumentSerde } +func (v *GetDownloadUrlForLayerInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetDownloadUrlForLayerRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetDownloadUrlForLayerInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerDigest != nil { + s.WriteString(schemas.GetDownloadUrlForLayerRequest_layerDigest, *v.LayerDigest) + } + if v.RegistryId != nil { + s.WriteString(schemas.GetDownloadUrlForLayerRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetDownloadUrlForLayerRequest_repositoryName, *v.RepositoryName) + } +} + type GetDownloadUrlForLayerOutput struct { // The pre-signed Amazon S3 download URL for the requested layer. @@ -68,68 +85,48 @@ type GetDownloadUrlForLayerOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetDownloadUrlForLayerMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetDownloadUrlForLayer{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetDownloadUrlForLayer{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetDownloadUrlForLayer"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetDownloadUrlForLayerOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetDownloadUrlForLayerResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetDownloadUrlForLayerOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.DownloadUrl != nil { + s.WriteString(schemas.GetDownloadUrlForLayerResponse_downloadUrl, *v.DownloadUrl) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.LayerDigest != nil { + s.WriteString(schemas.GetDownloadUrlForLayerResponse_layerDigest, *v.LayerDigest) } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetDownloadUrlForLayerOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetDownloadUrlForLayerResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetDownloadUrlForLayerResponse_downloadUrl: + v.DownloadUrl = new(string) + return d.ReadString(schemas.GetDownloadUrlForLayerResponse_downloadUrl, v.DownloadUrl) + case schemas.GetDownloadUrlForLayerResponse_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.GetDownloadUrlForLayerResponse_layerDigest, v.LayerDigest) + } + return nil + }) +} +func (c *Client) addOperationGetDownloadUrlForLayerMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetDownloadUrlForLayer, schemas.GetDownloadUrlForLayerRequest, schemas.GetDownloadUrlForLayerResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetDownloadUrlForLayer, schemas.GetDownloadUrlForLayerRequest, schemas.GetDownloadUrlForLayerResponse), output: &GetDownloadUrlForLayerOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -138,12 +135,6 @@ func (c *Client) addOperationGetDownloadUrlForLayerMiddlewares(stack *middleware if err = addOpGetDownloadUrlForLayerValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetDownloadUrlForLayer(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -156,22 +147,8 @@ func (c *Client) addOperationGetDownloadUrlForLayerMiddlewares(stack *middleware if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetDownloadUrlForLayer(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetDownloadUrlForLayer", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicy.go index a8991753..5795f382 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) @@ -42,6 +41,21 @@ type GetLifecyclePolicyInput struct { noSmithyDocumentSerde } +func (v *GetLifecyclePolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetLifecyclePolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetLifecyclePolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.GetLifecyclePolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetLifecyclePolicyRequest_repositoryName, *v.RepositoryName) + } +} + type GetLifecyclePolicyOutput struct { // The time stamp of the last time that the lifecycle policy was run. @@ -62,68 +76,60 @@ type GetLifecyclePolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetLifecyclePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetLifecyclePolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetLifecyclePolicy{}, middleware.After) - if err != nil { - return err +func (v *GetLifecyclePolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetLifecyclePolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetLifecyclePolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LastEvaluatedAt != nil { + s.WriteTime(schemas.GetLifecyclePolicyResponse_lastEvaluatedAt, *v.LastEvaluatedAt) } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetLifecyclePolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.GetLifecyclePolicyResponse_lifecyclePolicyText, *v.LifecyclePolicyText) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.GetLifecyclePolicyResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.GetLifecyclePolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetLifecyclePolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetLifecyclePolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetLifecyclePolicyResponse_lastEvaluatedAt: + v.LastEvaluatedAt = new(time.Time) + return d.ReadTime(schemas.GetLifecyclePolicyResponse_lastEvaluatedAt, v.LastEvaluatedAt) + case schemas.GetLifecyclePolicyResponse_lifecyclePolicyText: + v.LifecyclePolicyText = new(string) + return d.ReadString(schemas.GetLifecyclePolicyResponse_lifecyclePolicyText, v.LifecyclePolicyText) + case schemas.GetLifecyclePolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetLifecyclePolicyResponse_registryId, v.RegistryId) + case schemas.GetLifecyclePolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.GetLifecyclePolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationGetLifecyclePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetLifecyclePolicy, schemas.GetLifecyclePolicyRequest, schemas.GetLifecyclePolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetLifecyclePolicy, schemas.GetLifecyclePolicyRequest, schemas.GetLifecyclePolicyResponse), output: &GetLifecyclePolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -132,12 +138,6 @@ func (c *Client) addOperationGetLifecyclePolicyMiddlewares(stack *middleware.Sta if err = addOpGetLifecyclePolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetLifecyclePolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -150,22 +150,8 @@ func (c *Client) addOperationGetLifecyclePolicyMiddlewares(stack *middleware.Sta if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetLifecyclePolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetLifecyclePolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicyPreview.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicyPreview.go index e06188e6..19d8b818 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicyPreview.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetLifecyclePolicyPreview.go @@ -5,11 +5,11 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" smithytime "github.com/aws/smithy-go/time" - smithyhttp "github.com/aws/smithy-go/transport/http" smithywaiter "github.com/aws/smithy-go/waiter" "time" ) @@ -73,6 +73,33 @@ type GetLifecyclePolicyPreviewInput struct { noSmithyDocumentSerde } +func (v *GetLifecyclePolicyPreviewInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetLifecyclePolicyPreviewRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetLifecyclePolicyPreviewInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteStruct(schemas.GetLifecyclePolicyPreviewRequest_filter) + v.Filter.SerializeMembers(s) + s.CloseStruct() + } + serializeImageIdentifierList(s, schemas.GetLifecyclePolicyPreviewRequest_imageIds, v.ImageIds) + if v.MaxResults != nil { + s.WriteInt32(schemas.GetLifecyclePolicyPreviewRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewRequest_repositoryName, *v.RepositoryName) + } +} + type GetLifecyclePolicyPreviewOutput struct { // The JSON lifecycle policy text. @@ -105,68 +132,81 @@ type GetLifecyclePolicyPreviewOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetLifecyclePolicyPreviewMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err +func (v *GetLifecyclePolicyPreviewOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetLifecyclePolicyPreviewResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetLifecyclePolicyPreviewOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewResponse_lifecyclePolicyText, *v.LifecyclePolicyText) } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetLifecyclePolicyPreview{}, middleware.After) - if err != nil { - return err + if v.NextToken != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewResponse_nextToken, *v.NextToken) } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetLifecyclePolicyPreview{}, middleware.After) - if err != nil { - return err + serializeLifecyclePolicyPreviewResultList(s, schemas.GetLifecyclePolicyPreviewResponse_previewResults, v.PreviewResults) + if v.RegistryId != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewResponse_registryId, *v.RegistryId) } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetLifecyclePolicyPreview"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RepositoryName != nil { + s.WriteString(schemas.GetLifecyclePolicyPreviewResponse_repositoryName, *v.RepositoryName) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.Status != "" { + s.WriteString(schemas.GetLifecyclePolicyPreviewResponse_status, string(v.Status)) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.Summary != nil { + s.WriteStruct(schemas.GetLifecyclePolicyPreviewResponse_summary) + v.Summary.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetLifecyclePolicyPreviewOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetLifecyclePolicyPreviewResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetLifecyclePolicyPreviewResponse_lifecyclePolicyText: + v.LifecyclePolicyText = new(string) + return d.ReadString(schemas.GetLifecyclePolicyPreviewResponse_lifecyclePolicyText, v.LifecyclePolicyText) + case schemas.GetLifecyclePolicyPreviewResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.GetLifecyclePolicyPreviewResponse_nextToken, v.NextToken) + case schemas.GetLifecyclePolicyPreviewResponse_previewResults: + return deserializeLifecyclePolicyPreviewResultList(d, schemas.GetLifecyclePolicyPreviewResponse_previewResults, &v.PreviewResults) + case schemas.GetLifecyclePolicyPreviewResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetLifecyclePolicyPreviewResponse_registryId, v.RegistryId) + case schemas.GetLifecyclePolicyPreviewResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.GetLifecyclePolicyPreviewResponse_repositoryName, v.RepositoryName) + case schemas.GetLifecyclePolicyPreviewResponse_status: + var ev string + if err := d.ReadString(schemas.GetLifecyclePolicyPreviewResponse_status, &ev); err != nil { + return err + } + v.Status = types.LifecyclePolicyPreviewStatus(ev) + return nil + case schemas.GetLifecyclePolicyPreviewResponse_summary: + v.Summary = &types.LifecyclePolicyPreviewSummary{} + return v.Summary.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationGetLifecyclePolicyPreviewMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetLifecyclePolicyPreview, schemas.GetLifecyclePolicyPreviewRequest, schemas.GetLifecyclePolicyPreviewResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetLifecyclePolicyPreview, schemas.GetLifecyclePolicyPreviewRequest, schemas.GetLifecyclePolicyPreviewResponse), output: &GetLifecyclePolicyPreviewOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -175,12 +215,6 @@ func (c *Client) addOperationGetLifecyclePolicyPreviewMiddlewares(stack *middlew if err = addOpGetLifecyclePolicyPreviewValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetLifecyclePolicyPreview(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -193,12 +227,6 @@ func (c *Client) addOperationGetLifecyclePolicyPreviewMiddlewares(stack *middlew if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -498,11 +526,3 @@ type GetLifecyclePolicyPreviewAPIClient interface { } var _ GetLifecyclePolicyPreviewAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opGetLifecyclePolicyPreview(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetLifecyclePolicyPreview", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryPolicy.go index 86f18596..dbc746a9 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryPolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the permissions policy for a registry. @@ -30,6 +29,15 @@ type GetRegistryPolicyInput struct { noSmithyDocumentSerde } +func (v *GetRegistryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRegistryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetRegistryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type GetRegistryPolicyOutput struct { // The JSON text of the permissions policy for a registry. @@ -44,79 +52,53 @@ type GetRegistryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetRegistryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetRegistryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetRegistryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetRegistryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetRegistryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRegistryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetRegistryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.GetRegistryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.GetRegistryPolicyResponse_registryId, *v.RegistryId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetRegistryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetRegistryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetRegistryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.GetRegistryPolicyResponse_policyText, v.PolicyText) + case schemas.GetRegistryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetRegistryPolicyResponse_registryId, v.RegistryId) + } + return nil + }) +} +func (c *Client) addOperationGetRegistryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRegistryPolicy, schemas.GetRegistryPolicyRequest, schemas.GetRegistryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRegistryPolicy, schemas.GetRegistryPolicyRequest, schemas.GetRegistryPolicyResponse), output: &GetRegistryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRegistryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -129,22 +111,8 @@ func (c *Client) addOperationGetRegistryPolicyMiddlewares(stack *middleware.Stac if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetRegistryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetRegistryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryScanningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryScanningConfiguration.go index 9cc98015..538f8541 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryScanningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRegistryScanningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the scanning configuration for a registry. @@ -31,6 +30,15 @@ type GetRegistryScanningConfigurationInput struct { noSmithyDocumentSerde } +func (v *GetRegistryScanningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRegistryScanningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetRegistryScanningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type GetRegistryScanningConfigurationOutput struct { // The registry ID associated with the request. @@ -45,79 +53,55 @@ type GetRegistryScanningConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetRegistryScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetRegistryScanningConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetRegistryScanningConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetRegistryScanningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetRegistryScanningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRegistryScanningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetRegistryScanningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.GetRegistryScanningConfigurationResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.ScanningConfiguration != nil { + s.WriteStruct(schemas.GetRegistryScanningConfigurationResponse_scanningConfiguration) + v.ScanningConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetRegistryScanningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetRegistryScanningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetRegistryScanningConfigurationResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetRegistryScanningConfigurationResponse_registryId, v.RegistryId) + case schemas.GetRegistryScanningConfigurationResponse_scanningConfiguration: + v.ScanningConfiguration = &types.RegistryScanningConfiguration{} + return v.ScanningConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationGetRegistryScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRegistryScanningConfiguration, schemas.GetRegistryScanningConfigurationRequest, schemas.GetRegistryScanningConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRegistryScanningConfiguration, schemas.GetRegistryScanningConfigurationRequest, schemas.GetRegistryScanningConfigurationResponse), output: &GetRegistryScanningConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRegistryScanningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -130,22 +114,8 @@ func (c *Client) addOperationGetRegistryScanningConfigurationMiddlewares(stack * if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetRegistryScanningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetRegistryScanningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRepositoryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRepositoryPolicy.go index fec33041..b672d0fc 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRepositoryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetRepositoryPolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the repository policy for the specified repository. @@ -41,6 +40,21 @@ type GetRepositoryPolicyInput struct { noSmithyDocumentSerde } +func (v *GetRepositoryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRepositoryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetRepositoryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.GetRepositoryPolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetRepositoryPolicyRequest_repositoryName, *v.RepositoryName) + } +} + type GetRepositoryPolicyOutput struct { // The JSON repository policy text associated with the repository. @@ -58,68 +72,54 @@ type GetRepositoryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetRepositoryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetRepositoryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRepositoryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetRepositoryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.GetRepositoryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.GetRepositoryPolicyResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetRepositoryPolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetRepositoryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetRepositoryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetRepositoryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.GetRepositoryPolicyResponse_policyText, v.PolicyText) + case schemas.GetRepositoryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetRepositoryPolicyResponse_registryId, v.RegistryId) + case schemas.GetRepositoryPolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.GetRepositoryPolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRepositoryPolicy, schemas.GetRepositoryPolicyRequest, schemas.GetRepositoryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRepositoryPolicy, schemas.GetRepositoryPolicyRequest, schemas.GetRepositoryPolicyResponse), output: &GetRepositoryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -128,12 +128,6 @@ func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.St if err = addOpGetRepositoryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRepositoryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -146,22 +140,8 @@ func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetRepositoryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetRepositoryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetSigningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetSigningConfiguration.go index 56408123..6d84a87a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetSigningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_GetSigningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the registry's signing configuration, which defines rules for @@ -36,6 +35,15 @@ type GetSigningConfigurationInput struct { noSmithyDocumentSerde } +func (v *GetSigningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetSigningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetSigningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type GetSigningConfigurationOutput struct { // The Amazon Web Services account ID associated with the registry. @@ -50,79 +58,55 @@ type GetSigningConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetSigningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetSigningConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetSigningConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetSigningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetSigningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetSigningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetSigningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.GetSigningConfigurationResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.SigningConfiguration != nil { + s.WriteStruct(schemas.GetSigningConfigurationResponse_signingConfiguration) + v.SigningConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetSigningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetSigningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetSigningConfigurationResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetSigningConfigurationResponse_registryId, v.RegistryId) + case schemas.GetSigningConfigurationResponse_signingConfiguration: + v.SigningConfiguration = &types.SigningConfiguration{} + return v.SigningConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationGetSigningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetSigningConfiguration, schemas.GetSigningConfigurationRequest, schemas.GetSigningConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetSigningConfiguration, schemas.GetSigningConfigurationRequest, schemas.GetSigningConfigurationResponse), output: &GetSigningConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetSigningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -135,22 +119,8 @@ func (c *Client) addOperationGetSigningConfigurationMiddlewares(stack *middlewar if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetSigningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetSigningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_InitiateLayerUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_InitiateLayerUpload.go index e61d8352..2d57881f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_InitiateLayerUpload.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_InitiateLayerUpload.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Notifies Amazon ECR that you intend to upload an image layer. @@ -49,6 +48,21 @@ type InitiateLayerUploadInput struct { noSmithyDocumentSerde } +func (v *InitiateLayerUploadInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InitiateLayerUploadRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InitiateLayerUploadInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.InitiateLayerUploadRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.InitiateLayerUploadRequest_repositoryName, *v.RepositoryName) + } +} + type InitiateLayerUploadOutput struct { // The size, in bytes, that Amazon ECR expects future layer part uploads to be. @@ -64,68 +78,48 @@ type InitiateLayerUploadOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpInitiateLayerUpload{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpInitiateLayerUpload{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "InitiateLayerUpload"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *InitiateLayerUploadOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InitiateLayerUploadResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *InitiateLayerUploadOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PartSize != nil { + s.WriteInt64(schemas.InitiateLayerUploadResponse_partSize, *v.PartSize) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UploadId != nil { + s.WriteString(schemas.InitiateLayerUploadResponse_uploadId, *v.UploadId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *InitiateLayerUploadOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InitiateLayerUploadResponse, func(s *smithy.Schema) error { + switch s { + case schemas.InitiateLayerUploadResponse_partSize: + v.PartSize = new(int64) + return d.ReadInt64(schemas.InitiateLayerUploadResponse_partSize, v.PartSize) + case schemas.InitiateLayerUploadResponse_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.InitiateLayerUploadResponse_uploadId, v.UploadId) + } + return nil + }) +} +func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.InitiateLayerUpload, schemas.InitiateLayerUploadRequest, schemas.InitiateLayerUploadResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.InitiateLayerUpload, schemas.InitiateLayerUploadRequest, schemas.InitiateLayerUploadResponse), output: &InitiateLayerUploadOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -134,12 +128,6 @@ func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.St if err = addOpInitiateLayerUploadValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opInitiateLayerUpload(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -152,22 +140,8 @@ func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opInitiateLayerUpload(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "InitiateLayerUpload", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImageReferrers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImageReferrers.go index 56d77d87..d16eb923 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImageReferrers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImageReferrers.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Lists the artifacts associated with a specified subject image. @@ -53,7 +52,7 @@ type ListImageReferrersInput struct { // The remaining results of the initial request can be seen by sending another // ListImageReferrers request with the returned nextToken value. This value can be // between 1 and 50. If this parameter is not used, then ListImageReferrers - // returns up to 50 results and a nextToken value, if applicable. + // returns up to 20 results and a nextToken value, if applicable. MaxResults *int32 // The nextToken value returned from a previous paginated ListImageReferrers @@ -74,6 +73,37 @@ type ListImageReferrersInput struct { noSmithyDocumentSerde } +func (v *ListImageReferrersInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListImageReferrersRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListImageReferrersInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteStruct(schemas.ListImageReferrersRequest_filter) + v.Filter.SerializeMembers(s) + s.CloseStruct() + } + if v.MaxResults != nil { + s.WriteInt32(schemas.ListImageReferrersRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.ListImageReferrersRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.ListImageReferrersRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.ListImageReferrersRequest_repositoryName, *v.RepositoryName) + } + if v.SubjectId != nil { + s.WriteStruct(schemas.ListImageReferrersRequest_subjectId) + v.SubjectId.SerializeMembers(s) + s.CloseStruct() + } +} + type ListImageReferrersOutput struct { // The nextToken value to include in a future ListImageReferrers request. When the @@ -91,68 +121,45 @@ type ListImageReferrersOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationListImageReferrersMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpListImageReferrers{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListImageReferrers{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "ListImageReferrers"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *ListImageReferrersOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListImageReferrersResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *ListImageReferrersOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.ListImageReferrersResponse_nextToken, *v.NextToken) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { + serializeImageReferrerList(s, schemas.ListImageReferrersResponse_referrers, v.Referrers) +} +func (v *ListImageReferrersOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListImageReferrersResponse, func(s *smithy.Schema) error { + switch s { + case schemas.ListImageReferrersResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.ListImageReferrersResponse_nextToken, v.NextToken) + case schemas.ListImageReferrersResponse_referrers: + return deserializeImageReferrerList(d, schemas.ListImageReferrersResponse_referrers, &v.Referrers) + } + return nil + }) +} +func (c *Client) addOperationListImageReferrersMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListImageReferrers, schemas.ListImageReferrersRequest, schemas.ListImageReferrersResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListImageReferrers, schemas.ListImageReferrersRequest, schemas.ListImageReferrersResponse), output: &ListImageReferrersOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -161,12 +168,6 @@ func (c *Client) addOperationListImageReferrersMiddlewares(stack *middleware.Sta if err = addOpListImageReferrersValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListImageReferrers(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -179,22 +180,8 @@ func (c *Client) addOperationListImageReferrersMiddlewares(stack *middleware.Sta if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opListImageReferrers(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "ListImageReferrers", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImages.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImages.go index 3594309d..fe8b0113 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImages.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListImages.go @@ -5,10 +5,10 @@ package ecr import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Lists all the image IDs for the specified repository. @@ -69,6 +69,32 @@ type ListImagesInput struct { noSmithyDocumentSerde } +func (v *ListImagesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListImagesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListImagesInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteStruct(schemas.ListImagesRequest_filter) + v.Filter.SerializeMembers(s) + s.CloseStruct() + } + if v.MaxResults != nil { + s.WriteInt32(schemas.ListImagesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.ListImagesRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.ListImagesRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.ListImagesRequest_repositoryName, *v.RepositoryName) + } +} + type ListImagesOutput struct { // The list of image IDs for the requested repository. @@ -86,68 +112,45 @@ type ListImagesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationListImagesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpListImages{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListImages{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "ListImages"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *ListImagesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListImagesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *ListImagesOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageIdentifierList(s, schemas.ListImagesResponse_imageIds, v.ImageIds) + if v.NextToken != nil { + s.WriteString(schemas.ListImagesResponse_nextToken, *v.NextToken) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *ListImagesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListImagesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.ListImagesResponse_imageIds: + return deserializeImageIdentifierList(d, schemas.ListImagesResponse_imageIds, &v.ImageIds) + case schemas.ListImagesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.ListImagesResponse_nextToken, v.NextToken) + } + return nil + }) +} +func (c *Client) addOperationListImagesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListImages, schemas.ListImagesRequest, schemas.ListImagesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListImages, schemas.ListImagesRequest, schemas.ListImagesResponse), output: &ListImagesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -156,12 +159,6 @@ func (c *Client) addOperationListImagesMiddlewares(stack *middleware.Stack, opti if err = addOpListImagesValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListImages(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -174,12 +171,6 @@ func (c *Client) addOperationListImagesMiddlewares(stack *middleware.Stack, opti if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -283,11 +274,3 @@ type ListImagesAPIClient interface { } var _ ListImagesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opListImages(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "ListImages", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListPullTimeUpdateExclusions.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListPullTimeUpdateExclusions.go index 474e8d71..6763f1f1 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListPullTimeUpdateExclusions.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListPullTimeUpdateExclusions.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Lists the IAM principals that are excluded from having their image pull times @@ -52,6 +51,21 @@ type ListPullTimeUpdateExclusionsInput struct { noSmithyDocumentSerde } +func (v *ListPullTimeUpdateExclusionsInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListPullTimeUpdateExclusionsRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListPullTimeUpdateExclusionsInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.MaxResults != nil { + s.WriteInt32(schemas.ListPullTimeUpdateExclusionsRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.ListPullTimeUpdateExclusionsRequest_nextToken, *v.NextToken) + } +} + type ListPullTimeUpdateExclusionsOutput struct { // The nextToken value to include in a future ListPullTimeUpdateExclusions @@ -70,79 +84,50 @@ type ListPullTimeUpdateExclusionsOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationListPullTimeUpdateExclusionsMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpListPullTimeUpdateExclusions{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListPullTimeUpdateExclusions{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "ListPullTimeUpdateExclusions"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *ListPullTimeUpdateExclusionsOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListPullTimeUpdateExclusionsResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *ListPullTimeUpdateExclusionsOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.ListPullTimeUpdateExclusionsResponse_nextToken, *v.NextToken) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { + serializePullTimeUpdateExclusionList(s, schemas.ListPullTimeUpdateExclusionsResponse_pullTimeUpdateExclusions, v.PullTimeUpdateExclusions) +} +func (v *ListPullTimeUpdateExclusionsOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListPullTimeUpdateExclusionsResponse, func(s *smithy.Schema) error { + switch s { + case schemas.ListPullTimeUpdateExclusionsResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.ListPullTimeUpdateExclusionsResponse_nextToken, v.NextToken) + case schemas.ListPullTimeUpdateExclusionsResponse_pullTimeUpdateExclusions: + return deserializePullTimeUpdateExclusionList(d, schemas.ListPullTimeUpdateExclusionsResponse_pullTimeUpdateExclusions, &v.PullTimeUpdateExclusions) + } + return nil + }) +} +func (c *Client) addOperationListPullTimeUpdateExclusionsMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListPullTimeUpdateExclusions, schemas.ListPullTimeUpdateExclusionsRequest, schemas.ListPullTimeUpdateExclusionsResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListPullTimeUpdateExclusions, schemas.ListPullTimeUpdateExclusionsRequest, schemas.ListPullTimeUpdateExclusionsResponse), output: &ListPullTimeUpdateExclusionsOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListPullTimeUpdateExclusions(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -155,22 +140,8 @@ func (c *Client) addOperationListPullTimeUpdateExclusionsMiddlewares(stack *midd if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opListPullTimeUpdateExclusions(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "ListPullTimeUpdateExclusions", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListTagsForResource.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListTagsForResource.go index 3eb38328..68354ec3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListTagsForResource.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ListTagsForResource.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // List the tags for an Amazon ECR resource. @@ -38,6 +37,18 @@ type ListTagsForResourceInput struct { noSmithyDocumentSerde } +func (v *ListTagsForResourceInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListTagsForResourceRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListTagsForResourceInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ResourceArn != nil { + s.WriteString(schemas.ListTagsForResourceRequest_resourceArn, *v.ResourceArn) + } +} + type ListTagsForResourceOutput struct { // The tags for the resource. @@ -49,68 +60,39 @@ type ListTagsForResourceOutput struct { noSmithyDocumentSerde } +func (v *ListTagsForResourceOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListTagsForResourceResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListTagsForResourceOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeTagList(s, schemas.ListTagsForResourceResponse_tags, v.Tags) +} +func (v *ListTagsForResourceOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListTagsForResourceResponse, func(s *smithy.Schema) error { + switch s { + case schemas.ListTagsForResourceResponse_tags: + return deserializeTagList(d, schemas.ListTagsForResourceResponse_tags, &v.Tags) + } + return nil + }) +} func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpListTagsForResource{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListTagsForResource, schemas.ListTagsForResourceRequest, schemas.ListTagsForResourceResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListTagsForResource{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListTagsForResource, schemas.ListTagsForResourceRequest, schemas.ListTagsForResourceResponse), output: &ListTagsForResourceOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "ListTagsForResource"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -119,12 +101,6 @@ func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.St if err = addOpListTagsForResourceValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListTagsForResource(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -137,22 +113,8 @@ func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opListTagsForResource(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "ListTagsForResource", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutAccountSetting.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutAccountSetting.go index ed0f42ba..8f0cf07c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutAccountSetting.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutAccountSetting.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Allows you to change the basic scan type version or registry policy scope. @@ -35,8 +34,8 @@ type PutAccountSettingInput struct { Name *string // Setting value that is specified. Valid value for basic scan type: AWS_NATIVE . - // Valid values for registry policy scope: V1 or V2 . Valid values for blob - // mounting: ENABLED or DISABLED . + // Valid values for registry policy scope: V2 . Valid values for blob mounting: + // ENABLED or DISABLED . // // This member is required. Value *string @@ -44,6 +43,21 @@ type PutAccountSettingInput struct { noSmithyDocumentSerde } +func (v *PutAccountSettingInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutAccountSettingRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutAccountSettingInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Name != nil { + s.WriteString(schemas.PutAccountSettingRequest_name, *v.Name) + } + if v.Value != nil { + s.WriteString(schemas.PutAccountSettingRequest_value, *v.Value) + } +} + type PutAccountSettingOutput struct { // Retrieves the name of the account setting. @@ -58,68 +72,48 @@ type PutAccountSettingOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutAccountSettingMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutAccountSetting{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutAccountSetting{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutAccountSetting"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutAccountSettingOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutAccountSettingResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutAccountSettingOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Name != nil { + s.WriteString(schemas.PutAccountSettingResponse_name, *v.Name) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.Value != nil { + s.WriteString(schemas.PutAccountSettingResponse_value, *v.Value) } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutAccountSettingOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutAccountSettingResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutAccountSettingResponse_name: + v.Name = new(string) + return d.ReadString(schemas.PutAccountSettingResponse_name, v.Name) + case schemas.PutAccountSettingResponse_value: + v.Value = new(string) + return d.ReadString(schemas.PutAccountSettingResponse_value, v.Value) + } + return nil + }) +} +func (c *Client) addOperationPutAccountSettingMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutAccountSetting, schemas.PutAccountSettingRequest, schemas.PutAccountSettingResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutAccountSetting, schemas.PutAccountSettingRequest, schemas.PutAccountSettingResponse), output: &PutAccountSettingOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -128,12 +122,6 @@ func (c *Client) addOperationPutAccountSettingMiddlewares(stack *middleware.Stac if err = addOpPutAccountSettingValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutAccountSetting(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -146,22 +134,8 @@ func (c *Client) addOperationPutAccountSettingMiddlewares(stack *middleware.Stac if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutAccountSetting(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutAccountSetting", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImage.go index 2df875c8..0ddd610b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImage.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImage.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the image manifest and tags associated with an image. @@ -66,6 +65,33 @@ type PutImageInput struct { noSmithyDocumentSerde } +func (v *PutImageInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutImageInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageDigest != nil { + s.WriteString(schemas.PutImageRequest_imageDigest, *v.ImageDigest) + } + if v.ImageManifest != nil { + s.WriteString(schemas.PutImageRequest_imageManifest, *v.ImageManifest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.PutImageRequest_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.ImageTag != nil { + s.WriteString(schemas.PutImageRequest_imageTag, *v.ImageTag) + } + if v.RegistryId != nil { + s.WriteString(schemas.PutImageRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutImageRequest_repositoryName, *v.RepositoryName) + } +} + type PutImageOutput struct { // Details of the image uploaded. @@ -77,68 +103,44 @@ type PutImageOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutImage{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutImage{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutImage"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutImageOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutImageOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Image != nil { + s.WriteStruct(schemas.PutImageResponse_image) + v.Image.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutImageOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutImageResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutImageResponse_image: + v.Image = &types.Image{} + return v.Image.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImage, schemas.PutImageRequest, schemas.PutImageResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImage, schemas.PutImageRequest, schemas.PutImageResponse), output: &PutImageOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -147,12 +149,6 @@ func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, option if err = addOpPutImageValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutImage(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -165,22 +161,8 @@ func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, option if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutImage(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutImage", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageScanningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageScanningConfiguration.go index 8d277b35..1b0e87c2 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageScanningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageScanningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // The PutImageScanningConfiguration API is being deprecated, in favor of @@ -54,6 +53,26 @@ type PutImageScanningConfigurationInput struct { noSmithyDocumentSerde } +func (v *PutImageScanningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageScanningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutImageScanningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageScanningConfiguration != nil { + s.WriteStruct(schemas.PutImageScanningConfigurationRequest_imageScanningConfiguration) + v.ImageScanningConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.RegistryId != nil { + s.WriteString(schemas.PutImageScanningConfigurationRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutImageScanningConfigurationRequest_repositoryName, *v.RepositoryName) + } +} + type PutImageScanningConfigurationOutput struct { // The image scanning configuration setting for the repository. @@ -71,68 +90,56 @@ type PutImageScanningConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutImageScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutImageScanningConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutImageScanningConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutImageScanningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutImageScanningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageScanningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutImageScanningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageScanningConfiguration != nil { + s.WriteStruct(schemas.PutImageScanningConfigurationResponse_imageScanningConfiguration) + v.ImageScanningConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.PutImageScanningConfigurationResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutImageScanningConfigurationResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutImageScanningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutImageScanningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutImageScanningConfigurationResponse_imageScanningConfiguration: + v.ImageScanningConfiguration = &types.ImageScanningConfiguration{} + return v.ImageScanningConfiguration.Deserialize(d) + case schemas.PutImageScanningConfigurationResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.PutImageScanningConfigurationResponse_registryId, v.RegistryId) + case schemas.PutImageScanningConfigurationResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.PutImageScanningConfigurationResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationPutImageScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImageScanningConfiguration, schemas.PutImageScanningConfigurationRequest, schemas.PutImageScanningConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImageScanningConfiguration, schemas.PutImageScanningConfigurationRequest, schemas.PutImageScanningConfigurationResponse), output: &PutImageScanningConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -141,12 +148,6 @@ func (c *Client) addOperationPutImageScanningConfigurationMiddlewares(stack *mid if err = addOpPutImageScanningConfigurationValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutImageScanningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -159,22 +160,8 @@ func (c *Client) addOperationPutImageScanningConfigurationMiddlewares(stack *mid if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutImageScanningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutImageScanningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageTagMutability.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageTagMutability.go index 360e15bf..2fcc5984 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageTagMutability.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutImageTagMutability.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Updates the image tag mutability settings for the specified repository. For @@ -56,6 +55,25 @@ type PutImageTagMutabilityInput struct { noSmithyDocumentSerde } +func (v *PutImageTagMutabilityInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageTagMutabilityRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutImageTagMutabilityInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageTagMutability != "" { + s.WriteString(schemas.PutImageTagMutabilityRequest_imageTagMutability, string(v.ImageTagMutability)) + } + serializeImageTagMutabilityExclusionFilters(s, schemas.PutImageTagMutabilityRequest_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.RegistryId != nil { + s.WriteString(schemas.PutImageTagMutabilityRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutImageTagMutabilityRequest_repositoryName, *v.RepositoryName) + } +} + type PutImageTagMutabilityOutput struct { // The image tag mutability setting for the repository. @@ -77,68 +95,61 @@ type PutImageTagMutabilityOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutImageTagMutabilityMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutImageTagMutability{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutImageTagMutability{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutImageTagMutability"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutImageTagMutabilityOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageTagMutabilityResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutImageTagMutabilityOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageTagMutability != "" { + s.WriteString(schemas.PutImageTagMutabilityResponse_imageTagMutability, string(v.ImageTagMutability)) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + serializeImageTagMutabilityExclusionFilters(s, schemas.PutImageTagMutabilityResponse_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.RegistryId != nil { + s.WriteString(schemas.PutImageTagMutabilityResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutImageTagMutabilityResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutImageTagMutabilityOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutImageTagMutabilityResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutImageTagMutabilityResponse_imageTagMutability: + var ev string + if err := d.ReadString(schemas.PutImageTagMutabilityResponse_imageTagMutability, &ev); err != nil { + return err + } + v.ImageTagMutability = types.ImageTagMutability(ev) + return nil + case schemas.PutImageTagMutabilityResponse_imageTagMutabilityExclusionFilters: + return deserializeImageTagMutabilityExclusionFilters(d, schemas.PutImageTagMutabilityResponse_imageTagMutabilityExclusionFilters, &v.ImageTagMutabilityExclusionFilters) + case schemas.PutImageTagMutabilityResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.PutImageTagMutabilityResponse_registryId, v.RegistryId) + case schemas.PutImageTagMutabilityResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.PutImageTagMutabilityResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationPutImageTagMutabilityMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImageTagMutability, schemas.PutImageTagMutabilityRequest, schemas.PutImageTagMutabilityResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImageTagMutability, schemas.PutImageTagMutabilityRequest, schemas.PutImageTagMutabilityResponse), output: &PutImageTagMutabilityOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -147,12 +158,6 @@ func (c *Client) addOperationPutImageTagMutabilityMiddlewares(stack *middleware. if err = addOpPutImageTagMutabilityValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutImageTagMutability(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -165,22 +170,8 @@ func (c *Client) addOperationPutImageTagMutabilityMiddlewares(stack *middleware. if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutImageTagMutability(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutImageTagMutability", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutLifecyclePolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutLifecyclePolicy.go index ac829e84..f6125f6d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutLifecyclePolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutLifecyclePolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the lifecycle policy for the specified repository. For more @@ -49,6 +48,24 @@ type PutLifecyclePolicyInput struct { noSmithyDocumentSerde } +func (v *PutLifecyclePolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutLifecyclePolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutLifecyclePolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.PutLifecyclePolicyRequest_lifecyclePolicyText, *v.LifecyclePolicyText) + } + if v.RegistryId != nil { + s.WriteString(schemas.PutLifecyclePolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutLifecyclePolicyRequest_repositoryName, *v.RepositoryName) + } +} + type PutLifecyclePolicyOutput struct { // The JSON repository policy text. @@ -66,68 +83,54 @@ type PutLifecyclePolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutLifecyclePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutLifecyclePolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutLifecyclePolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutLifecyclePolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutLifecyclePolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutLifecyclePolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutLifecyclePolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.PutLifecyclePolicyResponse_lifecyclePolicyText, *v.LifecyclePolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.PutLifecyclePolicyResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutLifecyclePolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutLifecyclePolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutLifecyclePolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutLifecyclePolicyResponse_lifecyclePolicyText: + v.LifecyclePolicyText = new(string) + return d.ReadString(schemas.PutLifecyclePolicyResponse_lifecyclePolicyText, v.LifecyclePolicyText) + case schemas.PutLifecyclePolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.PutLifecyclePolicyResponse_registryId, v.RegistryId) + case schemas.PutLifecyclePolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.PutLifecyclePolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationPutLifecyclePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutLifecyclePolicy, schemas.PutLifecyclePolicyRequest, schemas.PutLifecyclePolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutLifecyclePolicy, schemas.PutLifecyclePolicyRequest, schemas.PutLifecyclePolicyResponse), output: &PutLifecyclePolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -136,12 +139,6 @@ func (c *Client) addOperationPutLifecyclePolicyMiddlewares(stack *middleware.Sta if err = addOpPutLifecyclePolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutLifecyclePolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -154,22 +151,8 @@ func (c *Client) addOperationPutLifecyclePolicyMiddlewares(stack *middleware.Sta if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutLifecyclePolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutLifecyclePolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryPolicy.go index 2d2e1d9c..26b0ca36 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryPolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the permissions policy for your registry. @@ -46,6 +45,18 @@ type PutRegistryPolicyInput struct { noSmithyDocumentSerde } +func (v *PutRegistryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRegistryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutRegistryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.PutRegistryPolicyRequest_policyText, *v.PolicyText) + } +} + type PutRegistryPolicyOutput struct { // The JSON policy text for your registry. @@ -60,68 +71,48 @@ type PutRegistryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutRegistryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutRegistryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutRegistryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutRegistryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutRegistryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRegistryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutRegistryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.PutRegistryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.PutRegistryPolicyResponse_registryId, *v.RegistryId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutRegistryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutRegistryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutRegistryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.PutRegistryPolicyResponse_policyText, v.PolicyText) + case schemas.PutRegistryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.PutRegistryPolicyResponse_registryId, v.RegistryId) + } + return nil + }) +} +func (c *Client) addOperationPutRegistryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRegistryPolicy, schemas.PutRegistryPolicyRequest, schemas.PutRegistryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRegistryPolicy, schemas.PutRegistryPolicyRequest, schemas.PutRegistryPolicyResponse), output: &PutRegistryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -130,12 +121,6 @@ func (c *Client) addOperationPutRegistryPolicyMiddlewares(stack *middleware.Stac if err = addOpPutRegistryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutRegistryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -148,22 +133,8 @@ func (c *Client) addOperationPutRegistryPolicyMiddlewares(stack *middleware.Stac if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutRegistryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutRegistryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryScanningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryScanningConfiguration.go index 353255bc..38e42ecb 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryScanningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutRegistryScanningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the scanning configuration for your private registry. @@ -51,6 +50,19 @@ type PutRegistryScanningConfigurationInput struct { noSmithyDocumentSerde } +func (v *PutRegistryScanningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRegistryScanningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutRegistryScanningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeRegistryScanningRuleList(s, schemas.PutRegistryScanningConfigurationRequest_rules, v.Rules) + if v.ScanType != "" { + s.WriteString(schemas.PutRegistryScanningConfigurationRequest_scanType, string(v.ScanType)) + } +} + type PutRegistryScanningConfigurationOutput struct { // The scanning configuration for your registry. @@ -62,68 +74,44 @@ type PutRegistryScanningConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutRegistryScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutRegistryScanningConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutRegistryScanningConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutRegistryScanningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutRegistryScanningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRegistryScanningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutRegistryScanningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryScanningConfiguration != nil { + s.WriteStruct(schemas.PutRegistryScanningConfigurationResponse_registryScanningConfiguration) + v.RegistryScanningConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutRegistryScanningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutRegistryScanningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutRegistryScanningConfigurationResponse_registryScanningConfiguration: + v.RegistryScanningConfiguration = &types.RegistryScanningConfiguration{} + return v.RegistryScanningConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutRegistryScanningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRegistryScanningConfiguration, schemas.PutRegistryScanningConfigurationRequest, schemas.PutRegistryScanningConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRegistryScanningConfiguration, schemas.PutRegistryScanningConfigurationRequest, schemas.PutRegistryScanningConfigurationResponse), output: &PutRegistryScanningConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -132,12 +120,6 @@ func (c *Client) addOperationPutRegistryScanningConfigurationMiddlewares(stack * if err = addOpPutRegistryScanningConfigurationValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutRegistryScanningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -150,22 +132,8 @@ func (c *Client) addOperationPutRegistryScanningConfigurationMiddlewares(stack * if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutRegistryScanningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutRegistryScanningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutReplicationConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutReplicationConfiguration.go index 045ae525..744dc17e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutReplicationConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutReplicationConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the replication configuration for a registry. The existing @@ -49,6 +48,20 @@ type PutReplicationConfigurationInput struct { noSmithyDocumentSerde } +func (v *PutReplicationConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutReplicationConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutReplicationConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ReplicationConfiguration != nil { + s.WriteStruct(schemas.PutReplicationConfigurationRequest_replicationConfiguration) + v.ReplicationConfiguration.SerializeMembers(s) + s.CloseStruct() + } +} + type PutReplicationConfigurationOutput struct { // The contents of the replication configuration for the registry. @@ -60,68 +73,44 @@ type PutReplicationConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutReplicationConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutReplicationConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutReplicationConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutReplicationConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutReplicationConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutReplicationConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutReplicationConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ReplicationConfiguration != nil { + s.WriteStruct(schemas.PutReplicationConfigurationResponse_replicationConfiguration) + v.ReplicationConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutReplicationConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutReplicationConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutReplicationConfigurationResponse_replicationConfiguration: + v.ReplicationConfiguration = &types.ReplicationConfiguration{} + return v.ReplicationConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutReplicationConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutReplicationConfiguration, schemas.PutReplicationConfigurationRequest, schemas.PutReplicationConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutReplicationConfiguration, schemas.PutReplicationConfigurationRequest, schemas.PutReplicationConfigurationResponse), output: &PutReplicationConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -130,12 +119,6 @@ func (c *Client) addOperationPutReplicationConfigurationMiddlewares(stack *middl if err = addOpPutReplicationConfigurationValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutReplicationConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -148,22 +131,8 @@ func (c *Client) addOperationPutReplicationConfigurationMiddlewares(stack *middl if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutReplicationConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutReplicationConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutSigningConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutSigningConfiguration.go index 5dc2ccf8..490db0d9 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutSigningConfiguration.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_PutSigningConfiguration.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the registry's signing configuration, which defines rules @@ -46,6 +45,20 @@ type PutSigningConfigurationInput struct { noSmithyDocumentSerde } +func (v *PutSigningConfigurationInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutSigningConfigurationRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutSigningConfigurationInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.SigningConfiguration != nil { + s.WriteStruct(schemas.PutSigningConfigurationRequest_signingConfiguration) + v.SigningConfiguration.SerializeMembers(s) + s.CloseStruct() + } +} + type PutSigningConfigurationOutput struct { // The registry's updated signing configuration. @@ -57,68 +70,44 @@ type PutSigningConfigurationOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutSigningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutSigningConfiguration{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutSigningConfiguration{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutSigningConfiguration"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutSigningConfigurationOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutSigningConfigurationResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutSigningConfigurationOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.SigningConfiguration != nil { + s.WriteStruct(schemas.PutSigningConfigurationResponse_signingConfiguration) + v.SigningConfiguration.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutSigningConfigurationOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutSigningConfigurationResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutSigningConfigurationResponse_signingConfiguration: + v.SigningConfiguration = &types.SigningConfiguration{} + return v.SigningConfiguration.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutSigningConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutSigningConfiguration, schemas.PutSigningConfigurationRequest, schemas.PutSigningConfigurationResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutSigningConfiguration, schemas.PutSigningConfigurationRequest, schemas.PutSigningConfigurationResponse), output: &PutSigningConfigurationOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -127,12 +116,6 @@ func (c *Client) addOperationPutSigningConfigurationMiddlewares(stack *middlewar if err = addOpPutSigningConfigurationValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutSigningConfiguration(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -145,22 +128,8 @@ func (c *Client) addOperationPutSigningConfigurationMiddlewares(stack *middlewar if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutSigningConfiguration(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutSigningConfiguration", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_RegisterPullTimeUpdateExclusion.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_RegisterPullTimeUpdateExclusion.go index a328cb23..9b360cc3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_RegisterPullTimeUpdateExclusion.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_RegisterPullTimeUpdateExclusion.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) @@ -39,6 +38,18 @@ type RegisterPullTimeUpdateExclusionInput struct { noSmithyDocumentSerde } +func (v *RegisterPullTimeUpdateExclusionInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegisterPullTimeUpdateExclusionRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegisterPullTimeUpdateExclusionInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PrincipalArn != nil { + s.WriteString(schemas.RegisterPullTimeUpdateExclusionRequest_principalArn, *v.PrincipalArn) + } +} + type RegisterPullTimeUpdateExclusionOutput struct { // The date and time, expressed in standard JavaScript date format, when the @@ -55,68 +66,48 @@ type RegisterPullTimeUpdateExclusionOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationRegisterPullTimeUpdateExclusionMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpRegisterPullTimeUpdateExclusion{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpRegisterPullTimeUpdateExclusion{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "RegisterPullTimeUpdateExclusion"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *RegisterPullTimeUpdateExclusionOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegisterPullTimeUpdateExclusionResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *RegisterPullTimeUpdateExclusionOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.RegisterPullTimeUpdateExclusionResponse_createdAt, *v.CreatedAt) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.PrincipalArn != nil { + s.WriteString(schemas.RegisterPullTimeUpdateExclusionResponse_principalArn, *v.PrincipalArn) } - if err = addClientRequestID(stack); err != nil { +} +func (v *RegisterPullTimeUpdateExclusionOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegisterPullTimeUpdateExclusionResponse, func(s *smithy.Schema) error { + switch s { + case schemas.RegisterPullTimeUpdateExclusionResponse_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.RegisterPullTimeUpdateExclusionResponse_createdAt, v.CreatedAt) + case schemas.RegisterPullTimeUpdateExclusionResponse_principalArn: + v.PrincipalArn = new(string) + return d.ReadString(schemas.RegisterPullTimeUpdateExclusionResponse_principalArn, v.PrincipalArn) + } + return nil + }) +} +func (c *Client) addOperationRegisterPullTimeUpdateExclusionMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.RegisterPullTimeUpdateExclusion, schemas.RegisterPullTimeUpdateExclusionRequest, schemas.RegisterPullTimeUpdateExclusionResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.RegisterPullTimeUpdateExclusion, schemas.RegisterPullTimeUpdateExclusionRequest, schemas.RegisterPullTimeUpdateExclusionResponse), output: &RegisterPullTimeUpdateExclusionOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -125,12 +116,6 @@ func (c *Client) addOperationRegisterPullTimeUpdateExclusionMiddlewares(stack *m if err = addOpRegisterPullTimeUpdateExclusionValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opRegisterPullTimeUpdateExclusion(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -143,22 +128,8 @@ func (c *Client) addOperationRegisterPullTimeUpdateExclusionMiddlewares(stack *m if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opRegisterPullTimeUpdateExclusion(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "RegisterPullTimeUpdateExclusion", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_SetRepositoryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_SetRepositoryPolicy.go index d141b087..c21d25ba 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_SetRepositoryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_SetRepositoryPolicy.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Applies a repository policy to the specified repository to control access @@ -58,6 +57,27 @@ type SetRepositoryPolicyInput struct { noSmithyDocumentSerde } +func (v *SetRepositoryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SetRepositoryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SetRepositoryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Force != false { + s.WriteBool(schemas.SetRepositoryPolicyRequest_force, v.Force) + } + if v.PolicyText != nil { + s.WriteString(schemas.SetRepositoryPolicyRequest_policyText, *v.PolicyText) + } + if v.RegistryId != nil { + s.WriteString(schemas.SetRepositoryPolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.SetRepositoryPolicyRequest_repositoryName, *v.RepositoryName) + } +} + type SetRepositoryPolicyOutput struct { // The JSON repository policy text applied to the repository. @@ -75,68 +95,54 @@ type SetRepositoryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpSetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpSetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "SetRepositoryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *SetRepositoryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SetRepositoryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *SetRepositoryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.SetRepositoryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.SetRepositoryPolicyResponse_registryId, *v.RegistryId) } - if err = addClientRequestID(stack); err != nil { + if v.RepositoryName != nil { + s.WriteString(schemas.SetRepositoryPolicyResponse_repositoryName, *v.RepositoryName) + } +} +func (v *SetRepositoryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SetRepositoryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.SetRepositoryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.SetRepositoryPolicyResponse_policyText, v.PolicyText) + case schemas.SetRepositoryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.SetRepositoryPolicyResponse_registryId, v.RegistryId) + case schemas.SetRepositoryPolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.SetRepositoryPolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.SetRepositoryPolicy, schemas.SetRepositoryPolicyRequest, schemas.SetRepositoryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.SetRepositoryPolicy, schemas.SetRepositoryPolicyRequest, schemas.SetRepositoryPolicyResponse), output: &SetRepositoryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -145,12 +151,6 @@ func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.St if err = addOpSetRepositoryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSetRepositoryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -163,22 +163,8 @@ func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opSetRepositoryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "SetRepositoryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartImageScan.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartImageScan.go index f8586032..72352402 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartImageScan.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartImageScan.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Starts a basic image vulnerability scan. @@ -55,6 +54,26 @@ type StartImageScanInput struct { noSmithyDocumentSerde } +func (v *StartImageScanInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.StartImageScanRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *StartImageScanInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.StartImageScanRequest_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.RegistryId != nil { + s.WriteString(schemas.StartImageScanRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.StartImageScanRequest_repositoryName, *v.RepositoryName) + } +} + type StartImageScanOutput struct { // An object with identifying information for an image in an Amazon ECR repository. @@ -75,68 +94,64 @@ type StartImageScanOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationStartImageScanMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpStartImageScan{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpStartImageScan{}, middleware.After) - if err != nil { - return err +func (v *StartImageScanOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.StartImageScanResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *StartImageScanOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.StartImageScanResponse_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() } - if err := addProtocolFinalizerMiddlewares(stack, options, "StartImageScan"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.ImageScanStatus != nil { + s.WriteStruct(schemas.StartImageScanResponse_imageScanStatus) + v.ImageScanStatus.SerializeMembers(s) + s.CloseStruct() } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.StartImageScanResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.StartImageScanResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *StartImageScanOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.StartImageScanResponse, func(s *smithy.Schema) error { + switch s { + case schemas.StartImageScanResponse_imageId: + v.ImageId = &types.ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.StartImageScanResponse_imageScanStatus: + v.ImageScanStatus = &types.ImageScanStatus{} + return v.ImageScanStatus.Deserialize(d) + case schemas.StartImageScanResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.StartImageScanResponse_registryId, v.RegistryId) + case schemas.StartImageScanResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.StartImageScanResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationStartImageScanMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.StartImageScan, schemas.StartImageScanRequest, schemas.StartImageScanResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.StartImageScan, schemas.StartImageScanRequest, schemas.StartImageScanResponse), output: &StartImageScanOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -145,12 +160,6 @@ func (c *Client) addOperationStartImageScanMiddlewares(stack *middleware.Stack, if err = addOpStartImageScanValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartImageScan(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -163,22 +172,8 @@ func (c *Client) addOperationStartImageScanMiddlewares(stack *middleware.Stack, if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opStartImageScan(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "StartImageScan", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartLifecyclePolicyPreview.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartLifecyclePolicyPreview.go index ba94d758..43ed5935 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartLifecyclePolicyPreview.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_StartLifecyclePolicyPreview.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Starts a preview of a lifecycle policy for the specified repository. This @@ -48,6 +47,24 @@ type StartLifecyclePolicyPreviewInput struct { noSmithyDocumentSerde } +func (v *StartLifecyclePolicyPreviewInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.StartLifecyclePolicyPreviewRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *StartLifecyclePolicyPreviewInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.StartLifecyclePolicyPreviewRequest_lifecyclePolicyText, *v.LifecyclePolicyText) + } + if v.RegistryId != nil { + s.WriteString(schemas.StartLifecyclePolicyPreviewRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.StartLifecyclePolicyPreviewRequest_repositoryName, *v.RepositoryName) + } +} + type StartLifecyclePolicyPreviewOutput struct { // The JSON repository policy text. @@ -68,68 +85,64 @@ type StartLifecyclePolicyPreviewOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationStartLifecyclePolicyPreviewMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpStartLifecyclePolicyPreview{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpStartLifecyclePolicyPreview{}, middleware.After) - if err != nil { - return err +func (v *StartLifecyclePolicyPreviewOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.StartLifecyclePolicyPreviewResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *StartLifecyclePolicyPreviewOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LifecyclePolicyText != nil { + s.WriteString(schemas.StartLifecyclePolicyPreviewResponse_lifecyclePolicyText, *v.LifecyclePolicyText) } - if err := addProtocolFinalizerMiddlewares(stack, options, "StartLifecyclePolicyPreview"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RegistryId != nil { + s.WriteString(schemas.StartLifecyclePolicyPreviewResponse_registryId, *v.RegistryId) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.StartLifecyclePolicyPreviewResponse_repositoryName, *v.RepositoryName) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.Status != "" { + s.WriteString(schemas.StartLifecyclePolicyPreviewResponse_status, string(v.Status)) } - if err = addClientRequestID(stack); err != nil { +} +func (v *StartLifecyclePolicyPreviewOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.StartLifecyclePolicyPreviewResponse, func(s *smithy.Schema) error { + switch s { + case schemas.StartLifecyclePolicyPreviewResponse_lifecyclePolicyText: + v.LifecyclePolicyText = new(string) + return d.ReadString(schemas.StartLifecyclePolicyPreviewResponse_lifecyclePolicyText, v.LifecyclePolicyText) + case schemas.StartLifecyclePolicyPreviewResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.StartLifecyclePolicyPreviewResponse_registryId, v.RegistryId) + case schemas.StartLifecyclePolicyPreviewResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.StartLifecyclePolicyPreviewResponse_repositoryName, v.RepositoryName) + case schemas.StartLifecyclePolicyPreviewResponse_status: + var ev string + if err := d.ReadString(schemas.StartLifecyclePolicyPreviewResponse_status, &ev); err != nil { + return err + } + v.Status = types.LifecyclePolicyPreviewStatus(ev) + return nil + } + return nil + }) +} +func (c *Client) addOperationStartLifecyclePolicyPreviewMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.StartLifecyclePolicyPreview, schemas.StartLifecyclePolicyPreviewRequest, schemas.StartLifecyclePolicyPreviewResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.StartLifecyclePolicyPreview, schemas.StartLifecyclePolicyPreviewRequest, schemas.StartLifecyclePolicyPreviewResponse), output: &StartLifecyclePolicyPreviewOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -138,12 +151,6 @@ func (c *Client) addOperationStartLifecyclePolicyPreviewMiddlewares(stack *middl if err = addOpStartLifecyclePolicyPreviewValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartLifecyclePolicyPreview(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -156,22 +163,8 @@ func (c *Client) addOperationStartLifecyclePolicyPreviewMiddlewares(stack *middl if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opStartLifecyclePolicyPreview(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "StartLifecyclePolicyPreview", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_TagResource.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_TagResource.go index 9a55cd0f..fd772c8a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_TagResource.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_TagResource.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Adds specified tags to a resource with the specified ARN. Existing tags on a @@ -46,6 +45,19 @@ type TagResourceInput struct { noSmithyDocumentSerde } +func (v *TagResourceInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TagResourceRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TagResourceInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ResourceArn != nil { + s.WriteString(schemas.TagResourceRequest_resourceArn, *v.ResourceArn) + } + serializeTagList(s, schemas.TagResourceRequest_tags, v.Tags) +} + type TagResourceOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -53,68 +65,36 @@ type TagResourceOutput struct { noSmithyDocumentSerde } +func (v *TagResourceOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TagResourceResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TagResourceOutput) SerializeMembers(s smithy.ShapeSerializer) { +} +func (v *TagResourceOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TagResourceResponse, func(s *smithy.Schema) error { + switch s { + } + return nil + }) +} func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpTagResource{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.TagResource, schemas.TagResourceRequest, schemas.TagResourceResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpTagResource{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.TagResource, schemas.TagResourceRequest, schemas.TagResourceResponse), output: &TagResourceOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "TagResource"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -123,12 +103,6 @@ func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, opt if err = addOpTagResourceValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opTagResource(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -141,22 +115,8 @@ func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, opt if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opTagResource(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "TagResource", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UntagResource.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UntagResource.go index 14eac446..cfb3f242 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UntagResource.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UntagResource.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes specified tags from a resource. @@ -42,6 +41,19 @@ type UntagResourceInput struct { noSmithyDocumentSerde } +func (v *UntagResourceInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UntagResourceRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UntagResourceInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ResourceArn != nil { + s.WriteString(schemas.UntagResourceRequest_resourceArn, *v.ResourceArn) + } + serializeTagKeyList(s, schemas.UntagResourceRequest_tagKeys, v.TagKeys) +} + type UntagResourceOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -49,68 +61,36 @@ type UntagResourceOutput struct { noSmithyDocumentSerde } +func (v *UntagResourceOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UntagResourceResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UntagResourceOutput) SerializeMembers(s smithy.ShapeSerializer) { +} +func (v *UntagResourceOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UntagResourceResponse, func(s *smithy.Schema) error { + switch s { + } + return nil + }) +} func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUntagResource{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UntagResource, schemas.UntagResourceRequest, schemas.UntagResourceResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUntagResource{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UntagResource, schemas.UntagResourceRequest, schemas.UntagResourceResponse), output: &UntagResourceOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "UntagResource"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -119,12 +99,6 @@ func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, o if err = addOpUntagResourceValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUntagResource(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -137,22 +111,8 @@ func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, o if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUntagResource(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UntagResource", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateImageStorageClass.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateImageStorageClass.go index ce3c4256..943bb73f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateImageStorageClass.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateImageStorageClass.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Transitions an image between storage classes. You can transition images from @@ -54,6 +53,29 @@ type UpdateImageStorageClassInput struct { noSmithyDocumentSerde } +func (v *UpdateImageStorageClassInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UpdateImageStorageClassRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UpdateImageStorageClassInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.UpdateImageStorageClassRequest_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.RegistryId != nil { + s.WriteString(schemas.UpdateImageStorageClassRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.UpdateImageStorageClassRequest_repositoryName, *v.RepositoryName) + } + if v.TargetStorageClass != "" { + s.WriteString(schemas.UpdateImageStorageClassRequest_targetStorageClass, string(v.TargetStorageClass)) + } +} + type UpdateImageStorageClassOutput struct { // An object with identifying information for an image in an Amazon ECR repository. @@ -75,68 +97,66 @@ type UpdateImageStorageClassOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationUpdateImageStorageClassMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateImageStorageClass{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateImageStorageClass{}, middleware.After) - if err != nil { - return err +func (v *UpdateImageStorageClassOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UpdateImageStorageClassResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UpdateImageStorageClassOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.UpdateImageStorageClassResponse_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() } - if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateImageStorageClass"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.ImageStatus != "" { + s.WriteString(schemas.UpdateImageStorageClassResponse_imageStatus, string(v.ImageStatus)) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.UpdateImageStorageClassResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.UpdateImageStorageClassResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *UpdateImageStorageClassOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UpdateImageStorageClassResponse, func(s *smithy.Schema) error { + switch s { + case schemas.UpdateImageStorageClassResponse_imageId: + v.ImageId = &types.ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.UpdateImageStorageClassResponse_imageStatus: + var ev string + if err := d.ReadString(schemas.UpdateImageStorageClassResponse_imageStatus, &ev); err != nil { + return err + } + v.ImageStatus = types.ImageStatus(ev) + return nil + case schemas.UpdateImageStorageClassResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.UpdateImageStorageClassResponse_registryId, v.RegistryId) + case schemas.UpdateImageStorageClassResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.UpdateImageStorageClassResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationUpdateImageStorageClassMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UpdateImageStorageClass, schemas.UpdateImageStorageClassRequest, schemas.UpdateImageStorageClassResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UpdateImageStorageClass, schemas.UpdateImageStorageClassRequest, schemas.UpdateImageStorageClassResponse), output: &UpdateImageStorageClassOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -145,12 +165,6 @@ func (c *Client) addOperationUpdateImageStorageClassMiddlewares(stack *middlewar if err = addOpUpdateImageStorageClassValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateImageStorageClass(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -163,22 +177,8 @@ func (c *Client) addOperationUpdateImageStorageClassMiddlewares(stack *middlewar if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUpdateImageStorageClass(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UpdateImageStorageClass", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdatePullThroughCacheRule.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdatePullThroughCacheRule.go index f44c1b2e..2f851234 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdatePullThroughCacheRule.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdatePullThroughCacheRule.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" "time" ) @@ -51,6 +50,27 @@ type UpdatePullThroughCacheRuleInput struct { noSmithyDocumentSerde } +func (v *UpdatePullThroughCacheRuleInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UpdatePullThroughCacheRuleRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UpdatePullThroughCacheRuleInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CredentialArn != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleRequest_credentialArn, *v.CredentialArn) + } + if v.CustomRoleArn != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleRequest_customRoleArn, *v.CustomRoleArn) + } + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleRequest_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) + } + if v.RegistryId != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleRequest_registryId, *v.RegistryId) + } +} + type UpdatePullThroughCacheRuleOutput struct { // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager @@ -79,68 +99,72 @@ type UpdatePullThroughCacheRuleOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationUpdatePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err +func (v *UpdatePullThroughCacheRuleOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UpdatePullThroughCacheRuleResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UpdatePullThroughCacheRuleOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CredentialArn != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleResponse_credentialArn, *v.CredentialArn) } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdatePullThroughCacheRule{}, middleware.After) - if err != nil { - return err + if v.CustomRoleArn != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleResponse_customRoleArn, *v.CustomRoleArn) } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdatePullThroughCacheRule{}, middleware.After) - if err != nil { - return err + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleResponse_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) } - if err := addProtocolFinalizerMiddlewares(stack, options, "UpdatePullThroughCacheRule"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RegistryId != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleResponse_registryId, *v.RegistryId) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.UpdatedAt != nil { + s.WriteTime(schemas.UpdatePullThroughCacheRuleResponse_updatedAt, *v.UpdatedAt) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UpstreamRepositoryPrefix != nil { + s.WriteString(schemas.UpdatePullThroughCacheRuleResponse_upstreamRepositoryPrefix, *v.UpstreamRepositoryPrefix) } - if err = addClientRequestID(stack); err != nil { +} +func (v *UpdatePullThroughCacheRuleOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UpdatePullThroughCacheRuleResponse, func(s *smithy.Schema) error { + switch s { + case schemas.UpdatePullThroughCacheRuleResponse_credentialArn: + v.CredentialArn = new(string) + return d.ReadString(schemas.UpdatePullThroughCacheRuleResponse_credentialArn, v.CredentialArn) + case schemas.UpdatePullThroughCacheRuleResponse_customRoleArn: + v.CustomRoleArn = new(string) + return d.ReadString(schemas.UpdatePullThroughCacheRuleResponse_customRoleArn, v.CustomRoleArn) + case schemas.UpdatePullThroughCacheRuleResponse_ecrRepositoryPrefix: + v.EcrRepositoryPrefix = new(string) + return d.ReadString(schemas.UpdatePullThroughCacheRuleResponse_ecrRepositoryPrefix, v.EcrRepositoryPrefix) + case schemas.UpdatePullThroughCacheRuleResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.UpdatePullThroughCacheRuleResponse_registryId, v.RegistryId) + case schemas.UpdatePullThroughCacheRuleResponse_updatedAt: + v.UpdatedAt = new(time.Time) + return d.ReadTime(schemas.UpdatePullThroughCacheRuleResponse_updatedAt, v.UpdatedAt) + case schemas.UpdatePullThroughCacheRuleResponse_upstreamRepositoryPrefix: + v.UpstreamRepositoryPrefix = new(string) + return d.ReadString(schemas.UpdatePullThroughCacheRuleResponse_upstreamRepositoryPrefix, v.UpstreamRepositoryPrefix) + } + return nil + }) +} +func (c *Client) addOperationUpdatePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UpdatePullThroughCacheRule, schemas.UpdatePullThroughCacheRuleRequest, schemas.UpdatePullThroughCacheRuleResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UpdatePullThroughCacheRule, schemas.UpdatePullThroughCacheRuleRequest, schemas.UpdatePullThroughCacheRuleResponse), output: &UpdatePullThroughCacheRuleOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -149,12 +173,6 @@ func (c *Client) addOperationUpdatePullThroughCacheRuleMiddlewares(stack *middle if err = addOpUpdatePullThroughCacheRuleValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdatePullThroughCacheRule(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -167,22 +185,8 @@ func (c *Client) addOperationUpdatePullThroughCacheRuleMiddlewares(stack *middle if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUpdatePullThroughCacheRule(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UpdatePullThroughCacheRule", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateRepositoryCreationTemplate.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateRepositoryCreationTemplate.go index 00a61c87..e2fc0f58 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateRepositoryCreationTemplate.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UpdateRepositoryCreationTemplate.go @@ -4,11 +4,10 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Updates an existing repository creation template. @@ -87,6 +86,41 @@ type UpdateRepositoryCreationTemplateInput struct { noSmithyDocumentSerde } +func (v *UpdateRepositoryCreationTemplateInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UpdateRepositoryCreationTemplateRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UpdateRepositoryCreationTemplateInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeRCTAppliedForList(s, schemas.UpdateRepositoryCreationTemplateRequest_appliedFor, v.AppliedFor) + if v.CustomRoleArn != nil { + s.WriteString(schemas.UpdateRepositoryCreationTemplateRequest_customRoleArn, *v.CustomRoleArn) + } + if v.Description != nil { + s.WriteString(schemas.UpdateRepositoryCreationTemplateRequest_description, *v.Description) + } + if v.EncryptionConfiguration != nil { + s.WriteStruct(schemas.UpdateRepositoryCreationTemplateRequest_encryptionConfiguration) + v.EncryptionConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageTagMutability != "" { + s.WriteString(schemas.UpdateRepositoryCreationTemplateRequest_imageTagMutability, string(v.ImageTagMutability)) + } + serializeImageTagMutabilityExclusionFilters(s, schemas.UpdateRepositoryCreationTemplateRequest_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.LifecyclePolicy != nil { + s.WriteString(schemas.UpdateRepositoryCreationTemplateRequest_lifecyclePolicy, *v.LifecyclePolicy) + } + if v.Prefix != nil { + s.WriteString(schemas.UpdateRepositoryCreationTemplateRequest_prefix, *v.Prefix) + } + if v.RepositoryPolicy != nil { + s.WriteString(schemas.UpdateRepositoryCreationTemplateRequest_repositoryPolicy, *v.RepositoryPolicy) + } + serializeTagList(s, schemas.UpdateRepositoryCreationTemplateRequest_resourceTags, v.ResourceTags) +} + type UpdateRepositoryCreationTemplateOutput struct { // The registry ID associated with the request. @@ -101,68 +135,50 @@ type UpdateRepositoryCreationTemplateOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationUpdateRepositoryCreationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUpdateRepositoryCreationTemplate{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUpdateRepositoryCreationTemplate{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "UpdateRepositoryCreationTemplate"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *UpdateRepositoryCreationTemplateOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UpdateRepositoryCreationTemplateResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *UpdateRepositoryCreationTemplateOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.UpdateRepositoryCreationTemplateResponse_registryId, *v.RegistryId) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RepositoryCreationTemplate != nil { + s.WriteStruct(schemas.UpdateRepositoryCreationTemplateResponse_repositoryCreationTemplate) + v.RepositoryCreationTemplate.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *UpdateRepositoryCreationTemplateOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UpdateRepositoryCreationTemplateResponse, func(s *smithy.Schema) error { + switch s { + case schemas.UpdateRepositoryCreationTemplateResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.UpdateRepositoryCreationTemplateResponse_registryId, v.RegistryId) + case schemas.UpdateRepositoryCreationTemplateResponse_repositoryCreationTemplate: + v.RepositoryCreationTemplate = &types.RepositoryCreationTemplate{} + return v.RepositoryCreationTemplate.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationUpdateRepositoryCreationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UpdateRepositoryCreationTemplate, schemas.UpdateRepositoryCreationTemplateRequest, schemas.UpdateRepositoryCreationTemplateResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UpdateRepositoryCreationTemplate, schemas.UpdateRepositoryCreationTemplateRequest, schemas.UpdateRepositoryCreationTemplateResponse), output: &UpdateRepositoryCreationTemplateOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -171,12 +187,6 @@ func (c *Client) addOperationUpdateRepositoryCreationTemplateMiddlewares(stack * if err = addOpUpdateRepositoryCreationTemplateValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateRepositoryCreationTemplate(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -189,22 +199,8 @@ func (c *Client) addOperationUpdateRepositoryCreationTemplateMiddlewares(stack * if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUpdateRepositoryCreationTemplate(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UpdateRepositoryCreationTemplate", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UploadLayerPart.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UploadLayerPart.go index 6d472b83..141d0efb 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UploadLayerPart.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_UploadLayerPart.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Uploads an image layer part to Amazon ECR. @@ -70,6 +69,33 @@ type UploadLayerPartInput struct { noSmithyDocumentSerde } +func (v *UploadLayerPartInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UploadLayerPartRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UploadLayerPartInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerPartBlob != nil { + s.WriteBlob(schemas.UploadLayerPartRequest_layerPartBlob, v.LayerPartBlob) + } + if v.PartFirstByte != nil { + s.WriteInt64(schemas.UploadLayerPartRequest_partFirstByte, *v.PartFirstByte) + } + if v.PartLastByte != nil { + s.WriteInt64(schemas.UploadLayerPartRequest_partLastByte, *v.PartLastByte) + } + if v.RegistryId != nil { + s.WriteString(schemas.UploadLayerPartRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.UploadLayerPartRequest_repositoryName, *v.RepositoryName) + } + if v.UploadId != nil { + s.WriteString(schemas.UploadLayerPartRequest_uploadId, *v.UploadId) + } +} + type UploadLayerPartOutput struct { // The integer value of the last byte received in the request. @@ -90,68 +116,60 @@ type UploadLayerPartOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUploadLayerPart{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUploadLayerPart{}, middleware.After) - if err != nil { - return err +func (v *UploadLayerPartOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UploadLayerPartResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UploadLayerPartOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LastByteReceived != nil { + s.WriteInt64(schemas.UploadLayerPartResponse_lastByteReceived, *v.LastByteReceived) } - if err := addProtocolFinalizerMiddlewares(stack, options, "UploadLayerPart"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RegistryId != nil { + s.WriteString(schemas.UploadLayerPartResponse_registryId, *v.RegistryId) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.UploadLayerPartResponse_repositoryName, *v.RepositoryName) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UploadId != nil { + s.WriteString(schemas.UploadLayerPartResponse_uploadId, *v.UploadId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *UploadLayerPartOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UploadLayerPartResponse, func(s *smithy.Schema) error { + switch s { + case schemas.UploadLayerPartResponse_lastByteReceived: + v.LastByteReceived = new(int64) + return d.ReadInt64(schemas.UploadLayerPartResponse_lastByteReceived, v.LastByteReceived) + case schemas.UploadLayerPartResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.UploadLayerPartResponse_registryId, v.RegistryId) + case schemas.UploadLayerPartResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.UploadLayerPartResponse_repositoryName, v.RepositoryName) + case schemas.UploadLayerPartResponse_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.UploadLayerPartResponse_uploadId, v.UploadId) + } + return nil + }) +} +func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UploadLayerPart, schemas.UploadLayerPartRequest, schemas.UploadLayerPartResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UploadLayerPart, schemas.UploadLayerPartRequest, schemas.UploadLayerPartResponse), output: &UploadLayerPartOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -160,12 +178,6 @@ func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, if err = addOpUploadLayerPartValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUploadLayerPart(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -178,22 +190,8 @@ func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUploadLayerPart(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UploadLayerPart", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ValidatePullThroughCacheRule.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ValidatePullThroughCacheRule.go index 176b2e2d..55df2544 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ValidatePullThroughCacheRule.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/api_op_ValidatePullThroughCacheRule.go @@ -4,10 +4,9 @@ package ecr import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Validates an existing pull through cache rule for an upstream registry that @@ -43,6 +42,21 @@ type ValidatePullThroughCacheRuleInput struct { noSmithyDocumentSerde } +func (v *ValidatePullThroughCacheRuleInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ValidatePullThroughCacheRuleRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ValidatePullThroughCacheRuleInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleRequest_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) + } + if v.RegistryId != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleRequest_registryId, *v.RegistryId) + } +} + type ValidatePullThroughCacheRuleOutput struct { // The Amazon Resource Name (ARN) of the Amazon Web Services Secrets Manager @@ -82,68 +96,83 @@ type ValidatePullThroughCacheRuleOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationValidatePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpValidatePullThroughCacheRule{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpValidatePullThroughCacheRule{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "ValidatePullThroughCacheRule"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *ValidatePullThroughCacheRuleOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ValidatePullThroughCacheRuleResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err +func (v *ValidatePullThroughCacheRuleOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CredentialArn != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_credentialArn, *v.CredentialArn) } - if err = addComputeContentLength(stack); err != nil { - return err - } - if err = addResolveEndpointMiddleware(stack, options); err != nil { - return err + if v.CustomRoleArn != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_customRoleArn, *v.CustomRoleArn) } - if err = addComputePayloadSHA256(stack); err != nil { - return err + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) } - if err = addRetry(stack, options); err != nil { - return err + if v.Failure != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_failure, *v.Failure) } - if err = addRawResponseToMetadata(stack); err != nil { - return err + if v.IsValid != false { + s.WriteBool(schemas.ValidatePullThroughCacheRuleResponse_isValid, v.IsValid) } - if err = addRecordResponseTiming(stack); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_registryId, *v.RegistryId) } - if err = addSpanRetryLoop(stack, options); err != nil { - return err + if v.UpstreamRegistryUrl != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_upstreamRegistryUrl, *v.UpstreamRegistryUrl) } - if err = addClientUserAgent(stack, options); err != nil { - return err + if v.UpstreamRepositoryPrefix != nil { + s.WriteString(schemas.ValidatePullThroughCacheRuleResponse_upstreamRepositoryPrefix, *v.UpstreamRepositoryPrefix) } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { +} +func (v *ValidatePullThroughCacheRuleOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ValidatePullThroughCacheRuleResponse, func(s *smithy.Schema) error { + switch s { + case schemas.ValidatePullThroughCacheRuleResponse_credentialArn: + v.CredentialArn = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_credentialArn, v.CredentialArn) + case schemas.ValidatePullThroughCacheRuleResponse_customRoleArn: + v.CustomRoleArn = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_customRoleArn, v.CustomRoleArn) + case schemas.ValidatePullThroughCacheRuleResponse_ecrRepositoryPrefix: + v.EcrRepositoryPrefix = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_ecrRepositoryPrefix, v.EcrRepositoryPrefix) + case schemas.ValidatePullThroughCacheRuleResponse_failure: + v.Failure = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_failure, v.Failure) + case schemas.ValidatePullThroughCacheRuleResponse_isValid: + return d.ReadBool(schemas.ValidatePullThroughCacheRuleResponse_isValid, &v.IsValid) + case schemas.ValidatePullThroughCacheRuleResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_registryId, v.RegistryId) + case schemas.ValidatePullThroughCacheRuleResponse_upstreamRegistryUrl: + v.UpstreamRegistryUrl = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_upstreamRegistryUrl, v.UpstreamRegistryUrl) + case schemas.ValidatePullThroughCacheRuleResponse_upstreamRepositoryPrefix: + v.UpstreamRepositoryPrefix = new(string) + return d.ReadString(schemas.ValidatePullThroughCacheRuleResponse_upstreamRepositoryPrefix, v.UpstreamRepositoryPrefix) + } + return nil + }) +} +func (c *Client) addOperationValidatePullThroughCacheRuleMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ValidatePullThroughCacheRule, schemas.ValidatePullThroughCacheRuleRequest, schemas.ValidatePullThroughCacheRuleResponse)}, middleware.After); err != nil { return err } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ValidatePullThroughCacheRule, schemas.ValidatePullThroughCacheRuleRequest, schemas.ValidatePullThroughCacheRuleResponse), output: &ValidatePullThroughCacheRuleOutput{}}, middleware.After); err != nil { return err } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } - if err = addTimeOffsetBuild(stack, c); err != nil { + if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -152,12 +181,6 @@ func (c *Client) addOperationValidatePullThroughCacheRuleMiddlewares(stack *midd if err = addOpValidatePullThroughCacheRuleValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opValidatePullThroughCacheRule(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -170,22 +193,8 @@ func (c *Client) addOperationValidatePullThroughCacheRuleMiddlewares(stack *midd if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opValidatePullThroughCacheRule(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "ValidatePullThroughCacheRule", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/auth.go index 53b47ee3..bd81f132 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/auth.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/auth.go @@ -184,7 +184,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) } for _, scheme := range m.options.AuthSchemes { - if scheme.SchemeID() != option.SchemeID { + if !matchSchemeID(scheme.SchemeID(), option.SchemeID) { continue } @@ -197,6 +197,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) return nil, false } +func matchSchemeID(registered, option string) bool { + if registered == option { + return true + } + if i := strings.LastIndex(registered, "#"); i != -1 { + return registered[i+1:] == option + } + return false +} + func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option { byPriority := make([]*smithyauth.Option, 0, len(options)) for _, prefName := range preferred { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/common_serde.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/common_serde.go new file mode 100644 index 00000000..d64494b7 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/common_serde.go @@ -0,0 +1,1377 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ecr + +import ( + "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" +) + +func serializeArtifactTypeList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeAttributeList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Attribute) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeAuthorizationDataList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.AuthorizationData) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeBatchedOperationLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeCvssScoreAdjustmentList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.CvssScoreAdjustment) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeCvssScoreList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.CvssScore) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeEnhancedImageScanFindingList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.EnhancedImageScanFinding) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeGetAuthorizationTokenRegistryIdList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeImageDetailList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageDetail) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageIdentifierList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageIdentifier) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Image) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageReferrerList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageReferrer) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageReplicationStatusList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageReplicationStatus) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageScanFindingList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageScanFinding) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageSigningStatusList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageSigningStatus) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeImageTagMutabilityExclusionFilters(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageTagMutabilityExclusionFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagsList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.LayerFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeLayerList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Layer) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeLifecyclePolicyPreviewResultList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.LifecyclePolicyPreviewResult) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeMediaTypeList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializePrefixList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializePullThroughCacheRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.PullThroughCacheRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializePullThroughCacheRuleRepositoryPrefixList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializePullTimeUpdateExclusionList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRCTAppliedForList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RCTAppliedFor) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeReferenceUrlsList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRegistryScanningRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RegistryScanningRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRelatedVulnerabilitiesList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeReplicationDestinationList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ReplicationDestination) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeReplicationRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ReplicationRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryCreationTemplateList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RepositoryCreationTemplate) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryFilterList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RepositoryFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Repository) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryNameList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRepositoryScanningConfigurationFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RepositoryScanningConfigurationFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryScanningConfigurationList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RepositoryScanningConfiguration) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeResourceList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Resource) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeScanningConfigurationRepositoryNameList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeScanningRepositoryFilterList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ScanningRepositoryFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeSigningRepositoryFilterList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.SigningRepositoryFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeSigningRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.SigningRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeTagKeyList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Tag) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeTransitioningImageTotalCounts(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.TransitioningImageTotalCount) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeVulnerablePackagesList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.VulnerablePackage) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func deserializeArtifactTypeList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeAttributeList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Attribute) error { + *v = make([]types.Attribute, 0) + var vv types.Attribute + return smithy.ReadList(d, s, func() error { + vv = types.Attribute{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeAuthorizationDataList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.AuthorizationData) error { + *v = make([]types.AuthorizationData, 0) + var vv types.AuthorizationData + return smithy.ReadList(d, s, func() error { + vv = types.AuthorizationData{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeBatchedOperationLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeCvssScoreAdjustmentList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.CvssScoreAdjustment) error { + *v = make([]types.CvssScoreAdjustment, 0) + var vv types.CvssScoreAdjustment + return smithy.ReadList(d, s, func() error { + vv = types.CvssScoreAdjustment{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeCvssScoreList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.CvssScore) error { + *v = make([]types.CvssScore, 0) + var vv types.CvssScore + return smithy.ReadList(d, s, func() error { + vv = types.CvssScore{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeEnhancedImageScanFindingList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.EnhancedImageScanFinding) error { + *v = make([]types.EnhancedImageScanFinding, 0) + var vv types.EnhancedImageScanFinding + return smithy.ReadList(d, s, func() error { + vv = types.EnhancedImageScanFinding{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeGetAuthorizationTokenRegistryIdList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageDetailList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageDetail) error { + *v = make([]types.ImageDetail, 0) + var vv types.ImageDetail + return smithy.ReadList(d, s, func() error { + vv = types.ImageDetail{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageFailure) error { + *v = make([]types.ImageFailure, 0) + var vv types.ImageFailure + return smithy.ReadList(d, s, func() error { + vv = types.ImageFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageIdentifierList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageIdentifier) error { + *v = make([]types.ImageIdentifier, 0) + var vv types.ImageIdentifier + return smithy.ReadList(d, s, func() error { + vv = types.ImageIdentifier{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Image) error { + *v = make([]types.Image, 0) + var vv types.Image + return smithy.ReadList(d, s, func() error { + vv = types.Image{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageReferrerList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageReferrer) error { + *v = make([]types.ImageReferrer, 0) + var vv types.ImageReferrer + return smithy.ReadList(d, s, func() error { + vv = types.ImageReferrer{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageReplicationStatusList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageReplicationStatus) error { + *v = make([]types.ImageReplicationStatus, 0) + var vv types.ImageReplicationStatus + return smithy.ReadList(d, s, func() error { + vv = types.ImageReplicationStatus{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageScanFindingList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageScanFinding) error { + *v = make([]types.ImageScanFinding, 0) + var vv types.ImageScanFinding + return smithy.ReadList(d, s, func() error { + vv = types.ImageScanFinding{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageSigningStatusList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageSigningStatus) error { + *v = make([]types.ImageSigningStatus, 0) + var vv types.ImageSigningStatus + return smithy.ReadList(d, s, func() error { + vv = types.ImageSigningStatus{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagMutabilityExclusionFilters(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageTagMutabilityExclusionFilter) error { + *v = make([]types.ImageTagMutabilityExclusionFilter, 0) + var vv types.ImageTagMutabilityExclusionFilter + return smithy.ReadList(d, s, func() error { + vv = types.ImageTagMutabilityExclusionFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagsList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.LayerFailure) error { + *v = make([]types.LayerFailure, 0) + var vv types.LayerFailure + return smithy.ReadList(d, s, func() error { + vv = types.LayerFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Layer) error { + *v = make([]types.Layer, 0) + var vv types.Layer + return smithy.ReadList(d, s, func() error { + vv = types.Layer{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLifecyclePolicyPreviewResultList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.LifecyclePolicyPreviewResult) error { + *v = make([]types.LifecyclePolicyPreviewResult, 0) + var vv types.LifecyclePolicyPreviewResult + return smithy.ReadList(d, s, func() error { + vv = types.LifecyclePolicyPreviewResult{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeMediaTypeList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePrefixList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePullThroughCacheRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.PullThroughCacheRule) error { + *v = make([]types.PullThroughCacheRule, 0) + var vv types.PullThroughCacheRule + return smithy.ReadList(d, s, func() error { + vv = types.PullThroughCacheRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePullThroughCacheRuleRepositoryPrefixList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePullTimeUpdateExclusionList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRCTAppliedForList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RCTAppliedFor) error { + *v = make([]types.RCTAppliedFor, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, types.RCTAppliedFor(vv)) + return nil + }) +} + +func deserializeReferenceUrlsList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRegistryScanningRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RegistryScanningRule) error { + *v = make([]types.RegistryScanningRule, 0) + var vv types.RegistryScanningRule + return smithy.ReadList(d, s, func() error { + vv = types.RegistryScanningRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRelatedVulnerabilitiesList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeReplicationDestinationList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ReplicationDestination) error { + *v = make([]types.ReplicationDestination, 0) + var vv types.ReplicationDestination + return smithy.ReadList(d, s, func() error { + vv = types.ReplicationDestination{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeReplicationRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ReplicationRule) error { + *v = make([]types.ReplicationRule, 0) + var vv types.ReplicationRule + return smithy.ReadList(d, s, func() error { + vv = types.ReplicationRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryCreationTemplateList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RepositoryCreationTemplate) error { + *v = make([]types.RepositoryCreationTemplate, 0) + var vv types.RepositoryCreationTemplate + return smithy.ReadList(d, s, func() error { + vv = types.RepositoryCreationTemplate{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryFilterList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RepositoryFilter) error { + *v = make([]types.RepositoryFilter, 0) + var vv types.RepositoryFilter + return smithy.ReadList(d, s, func() error { + vv = types.RepositoryFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Repository) error { + *v = make([]types.Repository, 0) + var vv types.Repository + return smithy.ReadList(d, s, func() error { + vv = types.Repository{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryNameList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryScanningConfigurationFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RepositoryScanningConfigurationFailure) error { + *v = make([]types.RepositoryScanningConfigurationFailure, 0) + var vv types.RepositoryScanningConfigurationFailure + return smithy.ReadList(d, s, func() error { + vv = types.RepositoryScanningConfigurationFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryScanningConfigurationList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RepositoryScanningConfiguration) error { + *v = make([]types.RepositoryScanningConfiguration, 0) + var vv types.RepositoryScanningConfiguration + return smithy.ReadList(d, s, func() error { + vv = types.RepositoryScanningConfiguration{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeResourceList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Resource) error { + *v = make([]types.Resource, 0) + var vv types.Resource + return smithy.ReadList(d, s, func() error { + vv = types.Resource{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeScanningConfigurationRepositoryNameList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeScanningRepositoryFilterList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ScanningRepositoryFilter) error { + *v = make([]types.ScanningRepositoryFilter, 0) + var vv types.ScanningRepositoryFilter + return smithy.ReadList(d, s, func() error { + vv = types.ScanningRepositoryFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeSigningRepositoryFilterList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.SigningRepositoryFilter) error { + *v = make([]types.SigningRepositoryFilter, 0) + var vv types.SigningRepositoryFilter + return smithy.ReadList(d, s, func() error { + vv = types.SigningRepositoryFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeSigningRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.SigningRule) error { + *v = make([]types.SigningRule, 0) + var vv types.SigningRule + return smithy.ReadList(d, s, func() error { + vv = types.SigningRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagKeyList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Tag) error { + *v = make([]types.Tag, 0) + var vv types.Tag + return smithy.ReadList(d, s, func() error { + vv = types.Tag{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTransitioningImageTotalCounts(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.TransitioningImageTotalCount) error { + *v = make([]types.TransitioningImageTotalCount, 0) + var vv types.TransitioningImageTotalCount + return smithy.ReadList(d, s, func() error { + vv = types.TransitioningImageTotalCount{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeVulnerablePackagesList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.VulnerablePackage) error { + *v = make([]types.VulnerablePackage, 0) + var vv types.VulnerablePackage + return smithy.ReadList(d, s, func() error { + vv = types.VulnerablePackage{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func serializeAnnotations(s smithy.ShapeSerializer, schema *smithy.Schema, v map[string]string) { + if v == nil { + return + } + s.WriteMap(schema) + for k, vv := range v { + s.WriteKey(schema.MapKey(), k) + s.WriteString(schema.MapValue(), string(vv)) + } + s.CloseMap() +} + +func serializeFindingSeverityCounts(s smithy.ShapeSerializer, schema *smithy.Schema, v map[string]int32) { + if v == nil { + return + } + s.WriteMap(schema) + for k, vv := range v { + s.WriteKey(schema.MapKey(), k) + s.WriteInt32(schema.MapValue(), int32(vv)) + } + s.CloseMap() +} + +func serializeTags(s smithy.ShapeSerializer, schema *smithy.Schema, v map[string]string) { + if v == nil { + return + } + s.WriteMap(schema) + for k, vv := range v { + s.WriteKey(schema.MapKey(), k) + s.WriteString(schema.MapValue(), string(vv)) + } + s.CloseMap() +} + +func deserializeAnnotations(d smithy.ShapeDeserializer, s *smithy.Schema, v *map[string]string) error { + *v = make(map[string]string) + var vv string + return smithy.ReadMap(d, s, func(k string) error { + + if err := d.ReadString(s.MapValue(), &vv); err != nil { + return err + } + + (*v)[k] = vv + return nil + }) +} + +func deserializeFindingSeverityCounts(d smithy.ShapeDeserializer, s *smithy.Schema, v *map[string]int32) error { + *v = make(map[string]int32) + var vv int32 + return smithy.ReadMap(d, s, func(k string) error { + + if err := d.ReadInt32(s.MapValue(), &vv); err != nil { + return err + } + + (*v)[k] = vv + return nil + }) +} + +func deserializeTags(d smithy.ShapeDeserializer, s *smithy.Schema, v *map[string]string) error { + *v = make(map[string]string) + var vv string + return smithy.ReadMap(d, s, func(k string) error { + + if err := d.ReadString(s.MapValue(), &vv); err != nil { + return err + } + + (*v)[k] = vv + return nil + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/deserializers.go deleted file mode 100644 index 16ffb5c5..00000000 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/deserializers.go +++ /dev/null @@ -1,18697 +0,0 @@ -// Code generated by smithy-go-codegen DO NOT EDIT. - -package ecr - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "github.com/aws/aws-sdk-go-v2/aws/protocol/restjson" - "github.com/aws/aws-sdk-go-v2/service/ecr/types" - smithy "github.com/aws/smithy-go" - smithyio "github.com/aws/smithy-go/io" - "github.com/aws/smithy-go/middleware" - "github.com/aws/smithy-go/ptr" - smithytime "github.com/aws/smithy-go/time" - "github.com/aws/smithy-go/tracing" - smithyhttp "github.com/aws/smithy-go/transport/http" - "io" - "math" - "strings" -) - -type awsAwsjson11_deserializeOpBatchCheckLayerAvailability struct { -} - -func (*awsAwsjson11_deserializeOpBatchCheckLayerAvailability) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpBatchCheckLayerAvailability) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorBatchCheckLayerAvailability(response, &metadata) - } - output := &BatchCheckLayerAvailabilityOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentBatchCheckLayerAvailabilityOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorBatchCheckLayerAvailability(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpBatchDeleteImage struct { -} - -func (*awsAwsjson11_deserializeOpBatchDeleteImage) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpBatchDeleteImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorBatchDeleteImage(response, &metadata) - } - output := &BatchDeleteImageOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentBatchDeleteImageOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorBatchDeleteImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpBatchGetImage struct { -} - -func (*awsAwsjson11_deserializeOpBatchGetImage) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpBatchGetImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorBatchGetImage(response, &metadata) - } - output := &BatchGetImageOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentBatchGetImageOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorBatchGetImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnableToGetUpstreamImageException", errorCode): - return awsAwsjson11_deserializeErrorUnableToGetUpstreamImageException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpBatchGetRepositoryScanningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpBatchGetRepositoryScanningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpBatchGetRepositoryScanningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorBatchGetRepositoryScanningConfiguration(response, &metadata) - } - output := &BatchGetRepositoryScanningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentBatchGetRepositoryScanningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorBatchGetRepositoryScanningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpCompleteLayerUpload struct { -} - -func (*awsAwsjson11_deserializeOpCompleteLayerUpload) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpCompleteLayerUpload) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCompleteLayerUpload(response, &metadata) - } - output := &CompleteLayerUploadOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentCompleteLayerUploadOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorCompleteLayerUpload(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("EmptyUploadException", errorCode): - return awsAwsjson11_deserializeErrorEmptyUploadException(response, errorBody) - - case strings.EqualFold("InvalidLayerException", errorCode): - return awsAwsjson11_deserializeErrorInvalidLayerException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("KmsException", errorCode): - return awsAwsjson11_deserializeErrorKmsException(response, errorBody) - - case strings.EqualFold("LayerAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorLayerAlreadyExistsException(response, errorBody) - - case strings.EqualFold("LayerPartTooSmallException", errorCode): - return awsAwsjson11_deserializeErrorLayerPartTooSmallException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UploadNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorUploadNotFoundException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpCreatePullThroughCacheRule struct { -} - -func (*awsAwsjson11_deserializeOpCreatePullThroughCacheRule) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpCreatePullThroughCacheRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreatePullThroughCacheRule(response, &metadata) - } - output := &CreatePullThroughCacheRuleOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentCreatePullThroughCacheRuleOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorCreatePullThroughCacheRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("PullThroughCacheRuleAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorPullThroughCacheRuleAlreadyExistsException(response, errorBody) - - case strings.EqualFold("SecretNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorSecretNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnableToAccessSecretException", errorCode): - return awsAwsjson11_deserializeErrorUnableToAccessSecretException(response, errorBody) - - case strings.EqualFold("UnableToDecryptSecretValueException", errorCode): - return awsAwsjson11_deserializeErrorUnableToDecryptSecretValueException(response, errorBody) - - case strings.EqualFold("UnsupportedUpstreamRegistryException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedUpstreamRegistryException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpCreateRepository struct { -} - -func (*awsAwsjson11_deserializeOpCreateRepository) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpCreateRepository) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreateRepository(response, &metadata) - } - output := &CreateRepositoryOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentCreateRepositoryOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorCreateRepository(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("InvalidTagParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidTagParameterException(response, errorBody) - - case strings.EqualFold("KmsException", errorCode): - return awsAwsjson11_deserializeErrorKmsException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("RepositoryAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryAlreadyExistsException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TooManyTagsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpCreateRepositoryCreationTemplate struct { -} - -func (*awsAwsjson11_deserializeOpCreateRepositoryCreationTemplate) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpCreateRepositoryCreationTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreateRepositoryCreationTemplate(response, &metadata) - } - output := &CreateRepositoryCreationTemplateOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentCreateRepositoryCreationTemplateOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorCreateRepositoryCreationTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TemplateAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorTemplateAlreadyExistsException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteLifecyclePolicy struct { -} - -func (*awsAwsjson11_deserializeOpDeleteLifecyclePolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteLifecyclePolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteLifecyclePolicy(response, &metadata) - } - output := &DeleteLifecyclePolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteLifecyclePolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteLifecyclePolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LifecyclePolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLifecyclePolicyNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeletePullThroughCacheRule struct { -} - -func (*awsAwsjson11_deserializeOpDeletePullThroughCacheRule) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeletePullThroughCacheRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeletePullThroughCacheRule(response, &metadata) - } - output := &DeletePullThroughCacheRuleOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeletePullThroughCacheRuleOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeletePullThroughCacheRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("PullThroughCacheRuleNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorPullThroughCacheRuleNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteRegistryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpDeleteRegistryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteRegistryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteRegistryPolicy(response, &metadata) - } - output := &DeleteRegistryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteRegistryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteRegistryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RegistryPolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryPolicyNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteRepository struct { -} - -func (*awsAwsjson11_deserializeOpDeleteRepository) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteRepository) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteRepository(response, &metadata) - } - output := &DeleteRepositoryOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteRepositoryOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteRepository(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("KmsException", errorCode): - return awsAwsjson11_deserializeErrorKmsException(response, errorBody) - - case strings.EqualFold("RepositoryNotEmptyException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotEmptyException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteRepositoryCreationTemplate struct { -} - -func (*awsAwsjson11_deserializeOpDeleteRepositoryCreationTemplate) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteRepositoryCreationTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteRepositoryCreationTemplate(response, &metadata) - } - output := &DeleteRepositoryCreationTemplateOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteRepositoryCreationTemplateOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteRepositoryCreationTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TemplateNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorTemplateNotFoundException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteRepositoryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpDeleteRepositoryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteRepositoryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteRepositoryPolicy(response, &metadata) - } - output := &DeleteRepositoryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteRepositoryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteRepositoryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryPolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryPolicyNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteSigningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpDeleteSigningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteSigningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteSigningConfiguration(response, &metadata) - } - output := &DeleteSigningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteSigningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteSigningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("SigningConfigurationNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorSigningConfigurationNotFoundException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeregisterPullTimeUpdateExclusion struct { -} - -func (*awsAwsjson11_deserializeOpDeregisterPullTimeUpdateExclusion) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeregisterPullTimeUpdateExclusion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeregisterPullTimeUpdateExclusion(response, &metadata) - } - output := &DeregisterPullTimeUpdateExclusionOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeregisterPullTimeUpdateExclusionOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeregisterPullTimeUpdateExclusion(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ExclusionNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorExclusionNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeImageReplicationStatus struct { -} - -func (*awsAwsjson11_deserializeOpDescribeImageReplicationStatus) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeImageReplicationStatus) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeImageReplicationStatus(response, &metadata) - } - output := &DescribeImageReplicationStatusOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeImageReplicationStatusOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeImageReplicationStatus(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeImages struct { -} - -func (*awsAwsjson11_deserializeOpDescribeImages) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeImages) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeImages(response, &metadata) - } - output := &DescribeImagesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeImagesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeImages(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeImageScanFindings struct { -} - -func (*awsAwsjson11_deserializeOpDescribeImageScanFindings) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeImageScanFindings) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeImageScanFindings(response, &metadata) - } - output := &DescribeImageScanFindingsOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeImageScanFindingsOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeImageScanFindings(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ScanNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorScanNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeImageSigningStatus struct { -} - -func (*awsAwsjson11_deserializeOpDescribeImageSigningStatus) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeImageSigningStatus) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeImageSigningStatus(response, &metadata) - } - output := &DescribeImageSigningStatusOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeImageSigningStatusOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeImageSigningStatus(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribePullThroughCacheRules struct { -} - -func (*awsAwsjson11_deserializeOpDescribePullThroughCacheRules) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribePullThroughCacheRules) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribePullThroughCacheRules(response, &metadata) - } - output := &DescribePullThroughCacheRulesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribePullThroughCacheRulesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribePullThroughCacheRules(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("PullThroughCacheRuleNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorPullThroughCacheRuleNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeRegistry struct { -} - -func (*awsAwsjson11_deserializeOpDescribeRegistry) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeRegistry) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeRegistry(response, &metadata) - } - output := &DescribeRegistryOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeRegistryOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeRegistry(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeRepositories struct { -} - -func (*awsAwsjson11_deserializeOpDescribeRepositories) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeRepositories) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeRepositories(response, &metadata) - } - output := &DescribeRepositoriesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeRepositoriesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeRepositories(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeRepositoryCreationTemplates struct { -} - -func (*awsAwsjson11_deserializeOpDescribeRepositoryCreationTemplates) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeRepositoryCreationTemplates) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeRepositoryCreationTemplates(response, &metadata) - } - output := &DescribeRepositoryCreationTemplatesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeRepositoryCreationTemplatesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeRepositoryCreationTemplates(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetAccountSetting struct { -} - -func (*awsAwsjson11_deserializeOpGetAccountSetting) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetAccountSetting) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetAccountSetting(response, &metadata) - } - output := &GetAccountSettingOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetAccountSettingOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetAccountSetting(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetAuthorizationToken struct { -} - -func (*awsAwsjson11_deserializeOpGetAuthorizationToken) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetAuthorizationToken) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetAuthorizationToken(response, &metadata) - } - output := &GetAuthorizationTokenOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetAuthorizationTokenOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetAuthorizationToken(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetDownloadUrlForLayer struct { -} - -func (*awsAwsjson11_deserializeOpGetDownloadUrlForLayer) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetDownloadUrlForLayer) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetDownloadUrlForLayer(response, &metadata) - } - output := &GetDownloadUrlForLayerOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetDownloadUrlForLayerOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetDownloadUrlForLayer(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LayerInaccessibleException", errorCode): - return awsAwsjson11_deserializeErrorLayerInaccessibleException(response, errorBody) - - case strings.EqualFold("LayersNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLayersNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnableToGetUpstreamLayerException", errorCode): - return awsAwsjson11_deserializeErrorUnableToGetUpstreamLayerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetLifecyclePolicy struct { -} - -func (*awsAwsjson11_deserializeOpGetLifecyclePolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetLifecyclePolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetLifecyclePolicy(response, &metadata) - } - output := &GetLifecyclePolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetLifecyclePolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetLifecyclePolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LifecyclePolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLifecyclePolicyNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetLifecyclePolicyPreview struct { -} - -func (*awsAwsjson11_deserializeOpGetLifecyclePolicyPreview) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetLifecyclePolicyPreview) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetLifecyclePolicyPreview(response, &metadata) - } - output := &GetLifecyclePolicyPreviewOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetLifecyclePolicyPreviewOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetLifecyclePolicyPreview(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LifecyclePolicyPreviewNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLifecyclePolicyPreviewNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetRegistryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpGetRegistryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetRegistryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetRegistryPolicy(response, &metadata) - } - output := &GetRegistryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetRegistryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetRegistryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RegistryPolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryPolicyNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetRegistryScanningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpGetRegistryScanningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetRegistryScanningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetRegistryScanningConfiguration(response, &metadata) - } - output := &GetRegistryScanningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetRegistryScanningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetRegistryScanningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetRepositoryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpGetRepositoryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetRepositoryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetRepositoryPolicy(response, &metadata) - } - output := &GetRepositoryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetRepositoryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetRepositoryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryPolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryPolicyNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetSigningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpGetSigningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetSigningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetSigningConfiguration(response, &metadata) - } - output := &GetSigningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetSigningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetSigningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("SigningConfigurationNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorSigningConfigurationNotFoundException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpInitiateLayerUpload struct { -} - -func (*awsAwsjson11_deserializeOpInitiateLayerUpload) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpInitiateLayerUpload) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorInitiateLayerUpload(response, &metadata) - } - output := &InitiateLayerUploadOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentInitiateLayerUploadOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorInitiateLayerUpload(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("KmsException", errorCode): - return awsAwsjson11_deserializeErrorKmsException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpListImageReferrers struct { -} - -func (*awsAwsjson11_deserializeOpListImageReferrers) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpListImageReferrers) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListImageReferrers(response, &metadata) - } - output := &ListImageReferrersOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentListImageReferrersOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorListImageReferrers(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpListImages struct { -} - -func (*awsAwsjson11_deserializeOpListImages) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpListImages) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListImages(response, &metadata) - } - output := &ListImagesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentListImagesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorListImages(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpListPullTimeUpdateExclusions struct { -} - -func (*awsAwsjson11_deserializeOpListPullTimeUpdateExclusions) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpListPullTimeUpdateExclusions) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListPullTimeUpdateExclusions(response, &metadata) - } - output := &ListPullTimeUpdateExclusionsOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentListPullTimeUpdateExclusionsOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorListPullTimeUpdateExclusions(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpListTagsForResource struct { -} - -func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) - } - output := &ListTagsForResourceOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutAccountSetting struct { -} - -func (*awsAwsjson11_deserializeOpPutAccountSetting) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutAccountSetting) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutAccountSetting(response, &metadata) - } - output := &PutAccountSettingOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutAccountSettingOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutAccountSetting(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutImage struct { -} - -func (*awsAwsjson11_deserializeOpPutImage) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutImage(response, &metadata) - } - output := &PutImageOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutImageOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorImageAlreadyExistsException(response, errorBody) - - case strings.EqualFold("ImageDigestDoesNotMatchException", errorCode): - return awsAwsjson11_deserializeErrorImageDigestDoesNotMatchException(response, errorBody) - - case strings.EqualFold("ImageTagAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorImageTagAlreadyExistsException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("KmsException", errorCode): - return awsAwsjson11_deserializeErrorKmsException(response, errorBody) - - case strings.EqualFold("LayersNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLayersNotFoundException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ReferencedImagesNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorReferencedImagesNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutImageScanningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpPutImageScanningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutImageScanningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutImageScanningConfiguration(response, &metadata) - } - output := &PutImageScanningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutImageScanningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutImageScanningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutImageTagMutability struct { -} - -func (*awsAwsjson11_deserializeOpPutImageTagMutability) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutImageTagMutability) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutImageTagMutability(response, &metadata) - } - output := &PutImageTagMutabilityOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutImageTagMutabilityOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutImageTagMutability(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutLifecyclePolicy struct { -} - -func (*awsAwsjson11_deserializeOpPutLifecyclePolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutLifecyclePolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutLifecyclePolicy(response, &metadata) - } - output := &PutLifecyclePolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutLifecyclePolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutLifecyclePolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutRegistryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpPutRegistryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutRegistryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutRegistryPolicy(response, &metadata) - } - output := &PutRegistryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutRegistryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutRegistryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutRegistryScanningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpPutRegistryScanningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutRegistryScanningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutRegistryScanningConfiguration(response, &metadata) - } - output := &PutRegistryScanningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutRegistryScanningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutRegistryScanningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("BlockedByOrganizationPolicyException", errorCode): - return awsAwsjson11_deserializeErrorBlockedByOrganizationPolicyException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutReplicationConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpPutReplicationConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutReplicationConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutReplicationConfiguration(response, &metadata) - } - output := &PutReplicationConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutReplicationConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutReplicationConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutSigningConfiguration struct { -} - -func (*awsAwsjson11_deserializeOpPutSigningConfiguration) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutSigningConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutSigningConfiguration(response, &metadata) - } - output := &PutSigningConfigurationOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutSigningConfigurationOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutSigningConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpRegisterPullTimeUpdateExclusion struct { -} - -func (*awsAwsjson11_deserializeOpRegisterPullTimeUpdateExclusion) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpRegisterPullTimeUpdateExclusion) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorRegisterPullTimeUpdateExclusion(response, &metadata) - } - output := &RegisterPullTimeUpdateExclusionOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentRegisterPullTimeUpdateExclusionOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorRegisterPullTimeUpdateExclusion(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ExclusionAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorExclusionAlreadyExistsException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpSetRepositoryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpSetRepositoryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpSetRepositoryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorSetRepositoryPolicy(response, &metadata) - } - output := &SetRepositoryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentSetRepositoryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorSetRepositoryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpStartImageScan struct { -} - -func (*awsAwsjson11_deserializeOpStartImageScan) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpStartImageScan) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartImageScan(response, &metadata) - } - output := &StartImageScanOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentStartImageScanOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorStartImageScan(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageArchivedException", errorCode): - return awsAwsjson11_deserializeErrorImageArchivedException(response, errorBody) - - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedImageTypeException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedImageTypeException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpStartLifecyclePolicyPreview struct { -} - -func (*awsAwsjson11_deserializeOpStartLifecyclePolicyPreview) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpStartLifecyclePolicyPreview) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorStartLifecyclePolicyPreview(response, &metadata) - } - output := &StartLifecyclePolicyPreviewOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentStartLifecyclePolicyPreviewOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorStartLifecyclePolicyPreview(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LifecyclePolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLifecyclePolicyNotFoundException(response, errorBody) - - case strings.EqualFold("LifecyclePolicyPreviewInProgressException", errorCode): - return awsAwsjson11_deserializeErrorLifecyclePolicyPreviewInProgressException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpTagResource struct { -} - -func (*awsAwsjson11_deserializeOpTagResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata) - } - output := &TagResourceOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("InvalidTagParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidTagParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TooManyTagsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUntagResource struct { -} - -func (*awsAwsjson11_deserializeOpUntagResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata) - } - output := &UntagResourceOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("InvalidTagParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidTagParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TooManyTagsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUpdateImageStorageClass struct { -} - -func (*awsAwsjson11_deserializeOpUpdateImageStorageClass) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUpdateImageStorageClass) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateImageStorageClass(response, &metadata) - } - output := &UpdateImageStorageClassOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUpdateImageStorageClassOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUpdateImageStorageClass(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("ImageStorageClassUpdateNotSupportedException", errorCode): - return awsAwsjson11_deserializeErrorImageStorageClassUpdateNotSupportedException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUpdatePullThroughCacheRule struct { -} - -func (*awsAwsjson11_deserializeOpUpdatePullThroughCacheRule) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUpdatePullThroughCacheRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdatePullThroughCacheRule(response, &metadata) - } - output := &UpdatePullThroughCacheRuleOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUpdatePullThroughCacheRuleOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUpdatePullThroughCacheRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("PullThroughCacheRuleNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorPullThroughCacheRuleNotFoundException(response, errorBody) - - case strings.EqualFold("SecretNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorSecretNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnableToAccessSecretException", errorCode): - return awsAwsjson11_deserializeErrorUnableToAccessSecretException(response, errorBody) - - case strings.EqualFold("UnableToDecryptSecretValueException", errorCode): - return awsAwsjson11_deserializeErrorUnableToDecryptSecretValueException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUpdateRepositoryCreationTemplate struct { -} - -func (*awsAwsjson11_deserializeOpUpdateRepositoryCreationTemplate) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUpdateRepositoryCreationTemplate) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUpdateRepositoryCreationTemplate(response, &metadata) - } - output := &UpdateRepositoryCreationTemplateOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUpdateRepositoryCreationTemplateOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUpdateRepositoryCreationTemplate(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TemplateNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorTemplateNotFoundException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUploadLayerPart struct { -} - -func (*awsAwsjson11_deserializeOpUploadLayerPart) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUploadLayerPart) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUploadLayerPart(response, &metadata) - } - output := &UploadLayerPartOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUploadLayerPartOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUploadLayerPart(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidLayerPartException", errorCode): - return awsAwsjson11_deserializeErrorInvalidLayerPartException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("KmsException", errorCode): - return awsAwsjson11_deserializeErrorKmsException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UploadNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorUploadNotFoundException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpValidatePullThroughCacheRule struct { -} - -func (*awsAwsjson11_deserializeOpValidatePullThroughCacheRule) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpValidatePullThroughCacheRule) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorValidatePullThroughCacheRule(response, &metadata) - } - output := &ValidatePullThroughCacheRuleOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentValidatePullThroughCacheRuleOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorValidatePullThroughCacheRule(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("PullThroughCacheRuleNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorPullThroughCacheRuleNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsAwsjson11_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -func awsAwsjson11_deserializeErrorBlockedByOrganizationPolicyException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.BlockedByOrganizationPolicyException{} - err := awsAwsjson11_deserializeDocumentBlockedByOrganizationPolicyException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorEmptyUploadException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.EmptyUploadException{} - err := awsAwsjson11_deserializeDocumentEmptyUploadException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorExclusionAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ExclusionAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentExclusionAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorExclusionNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ExclusionNotFoundException{} - err := awsAwsjson11_deserializeDocumentExclusionNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentImageAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageArchivedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageArchivedException{} - err := awsAwsjson11_deserializeDocumentImageArchivedException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageDigestDoesNotMatchException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageDigestDoesNotMatchException{} - err := awsAwsjson11_deserializeDocumentImageDigestDoesNotMatchException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageNotFoundException{} - err := awsAwsjson11_deserializeDocumentImageNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageStorageClassUpdateNotSupportedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageStorageClassUpdateNotSupportedException{} - err := awsAwsjson11_deserializeDocumentImageStorageClassUpdateNotSupportedException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageTagAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageTagAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentImageTagAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidLayerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidLayerException{} - err := awsAwsjson11_deserializeDocumentInvalidLayerException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidLayerPartException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidLayerPartException{} - err := awsAwsjson11_deserializeDocumentInvalidLayerPartException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidParameterException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidParameterException{} - err := awsAwsjson11_deserializeDocumentInvalidParameterException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidTagParameterException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidTagParameterException{} - err := awsAwsjson11_deserializeDocumentInvalidTagParameterException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorKmsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.KmsException{} - err := awsAwsjson11_deserializeDocumentKmsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayerAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayerAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentLayerAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayerInaccessibleException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayerInaccessibleException{} - err := awsAwsjson11_deserializeDocumentLayerInaccessibleException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayerPartTooSmallException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayerPartTooSmallException{} - err := awsAwsjson11_deserializeDocumentLayerPartTooSmallException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayersNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayersNotFoundException{} - err := awsAwsjson11_deserializeDocumentLayersNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLifecyclePolicyNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LifecyclePolicyNotFoundException{} - err := awsAwsjson11_deserializeDocumentLifecyclePolicyNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLifecyclePolicyPreviewInProgressException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LifecyclePolicyPreviewInProgressException{} - err := awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewInProgressException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLifecyclePolicyPreviewNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LifecyclePolicyPreviewNotFoundException{} - err := awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LimitExceededException{} - err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorPullThroughCacheRuleAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.PullThroughCacheRuleAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentPullThroughCacheRuleAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorPullThroughCacheRuleNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.PullThroughCacheRuleNotFoundException{} - err := awsAwsjson11_deserializeDocumentPullThroughCacheRuleNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorReferencedImagesNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ReferencedImagesNotFoundException{} - err := awsAwsjson11_deserializeDocumentReferencedImagesNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRegistryPolicyNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RegistryPolicyNotFoundException{} - err := awsAwsjson11_deserializeDocumentRegistryPolicyNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentRepositoryAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryNotEmptyException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryNotEmptyException{} - err := awsAwsjson11_deserializeDocumentRepositoryNotEmptyException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryNotFoundException{} - err := awsAwsjson11_deserializeDocumentRepositoryNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryPolicyNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryPolicyNotFoundException{} - err := awsAwsjson11_deserializeDocumentRepositoryPolicyNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorScanNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ScanNotFoundException{} - err := awsAwsjson11_deserializeDocumentScanNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorSecretNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.SecretNotFoundException{} - err := awsAwsjson11_deserializeDocumentSecretNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ServerException{} - err := awsAwsjson11_deserializeDocumentServerException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorSigningConfigurationNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.SigningConfigurationNotFoundException{} - err := awsAwsjson11_deserializeDocumentSigningConfigurationNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorTemplateAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.TemplateAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentTemplateAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorTemplateNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.TemplateNotFoundException{} - err := awsAwsjson11_deserializeDocumentTemplateNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorTooManyTagsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.TooManyTagsException{} - err := awsAwsjson11_deserializeDocumentTooManyTagsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnableToAccessSecretException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnableToAccessSecretException{} - err := awsAwsjson11_deserializeDocumentUnableToAccessSecretException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnableToDecryptSecretValueException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnableToDecryptSecretValueException{} - err := awsAwsjson11_deserializeDocumentUnableToDecryptSecretValueException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnableToGetUpstreamImageException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnableToGetUpstreamImageException{} - err := awsAwsjson11_deserializeDocumentUnableToGetUpstreamImageException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnableToGetUpstreamLayerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnableToGetUpstreamLayerException{} - err := awsAwsjson11_deserializeDocumentUnableToGetUpstreamLayerException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnsupportedImageTypeException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnsupportedImageTypeException{} - err := awsAwsjson11_deserializeDocumentUnsupportedImageTypeException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnsupportedUpstreamRegistryException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnsupportedUpstreamRegistryException{} - err := awsAwsjson11_deserializeDocumentUnsupportedUpstreamRegistryException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUploadNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UploadNotFoundException{} - err := awsAwsjson11_deserializeDocumentUploadNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorValidationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ValidationException{} - err := awsAwsjson11_deserializeDocumentValidationException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeDocumentAnnotations(v *map[string]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var mv map[string]string - if *v == nil { - mv = map[string]string{} - } else { - mv = *v - } - - for key, value := range shape { - var parsedVal string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) - } - parsedVal = jtv - } - mv[key] = parsedVal - - } - *v = mv - return nil -} - -func awsAwsjson11_deserializeDocumentAttribute(v **types.Attribute, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Attribute - if *v == nil { - sv = &types.Attribute{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "key": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AttributeKey to be of type string, got %T instead", value) - } - sv.Key = ptr.String(jtv) - } - - case "value": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AttributeValue to be of type string, got %T instead", value) - } - sv.Value = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentAttributeList(v *[]types.Attribute, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Attribute - if *v == nil { - cv = []types.Attribute{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Attribute - destAddr := &col - if err := awsAwsjson11_deserializeDocumentAttribute(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentAuthorizationData(v **types.AuthorizationData, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.AuthorizationData - if *v == nil { - sv = &types.AuthorizationData{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "authorizationToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Base64 to be of type string, got %T instead", value) - } - sv.AuthorizationToken = ptr.String(jtv) - } - - case "expiresAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ExpiresAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected ExpirationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "proxyEndpoint": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ProxyEndpoint to be of type string, got %T instead", value) - } - sv.ProxyEndpoint = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentAuthorizationDataList(v *[]types.AuthorizationData, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.AuthorizationData - if *v == nil { - cv = []types.AuthorizationData{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.AuthorizationData - destAddr := &col - if err := awsAwsjson11_deserializeDocumentAuthorizationData(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentAwsEcrContainerImageDetails(v **types.AwsEcrContainerImageDetails, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.AwsEcrContainerImageDetails - if *v == nil { - sv = &types.AwsEcrContainerImageDetails{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "architecture": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Arch to be of type string, got %T instead", value) - } - sv.Architecture = ptr.String(jtv) - } - - case "author": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Author to be of type string, got %T instead", value) - } - sv.Author = ptr.String(jtv) - } - - case "imageHash": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageHash = ptr.String(jtv) - } - - case "imageTags": - if err := awsAwsjson11_deserializeDocumentImageTagsList(&sv.ImageTags, value); err != nil { - return err - } - - case "inUseCount": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected InUseCount to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.InUseCount = ptr.Int64(i64) - } - - case "lastInUseAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastInUseAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "platform": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Platform to be of type string, got %T instead", value) - } - sv.Platform = ptr.String(jtv) - } - - case "pushedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.PushedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "registry": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.Registry = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentBlockedByOrganizationPolicyException(v **types.BlockedByOrganizationPolicyException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.BlockedByOrganizationPolicyException - if *v == nil { - sv = &types.BlockedByOrganizationPolicyException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentCvssScore(v **types.CvssScore, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.CvssScore - if *v == nil { - sv = &types.CvssScore{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "baseScore": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.BaseScore = f64 - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.BaseScore = f64 - - default: - return fmt.Errorf("expected BaseScore to be a JSON Number, got %T instead", value) - - } - } - - case "scoringVector": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScoringVector to be of type string, got %T instead", value) - } - sv.ScoringVector = ptr.String(jtv) - } - - case "source": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Source to be of type string, got %T instead", value) - } - sv.Source = ptr.String(jtv) - } - - case "version": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Version to be of type string, got %T instead", value) - } - sv.Version = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentCvssScoreAdjustment(v **types.CvssScoreAdjustment, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.CvssScoreAdjustment - if *v == nil { - sv = &types.CvssScoreAdjustment{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "metric": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Metric to be of type string, got %T instead", value) - } - sv.Metric = ptr.String(jtv) - } - - case "reason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Reason to be of type string, got %T instead", value) - } - sv.Reason = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentCvssScoreAdjustmentList(v *[]types.CvssScoreAdjustment, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.CvssScoreAdjustment - if *v == nil { - cv = []types.CvssScoreAdjustment{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.CvssScoreAdjustment - destAddr := &col - if err := awsAwsjson11_deserializeDocumentCvssScoreAdjustment(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentCvssScoreDetails(v **types.CvssScoreDetails, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.CvssScoreDetails - if *v == nil { - sv = &types.CvssScoreDetails{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "adjustments": - if err := awsAwsjson11_deserializeDocumentCvssScoreAdjustmentList(&sv.Adjustments, value); err != nil { - return err - } - - case "score": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Score = f64 - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Score = f64 - - default: - return fmt.Errorf("expected Score to be a JSON Number, got %T instead", value) - - } - } - - case "scoreSource": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Source to be of type string, got %T instead", value) - } - sv.ScoreSource = ptr.String(jtv) - } - - case "scoringVector": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScoringVector to be of type string, got %T instead", value) - } - sv.ScoringVector = ptr.String(jtv) - } - - case "version": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Version to be of type string, got %T instead", value) - } - sv.Version = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentCvssScoreList(v *[]types.CvssScore, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.CvssScore - if *v == nil { - cv = []types.CvssScore{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.CvssScore - destAddr := &col - if err := awsAwsjson11_deserializeDocumentCvssScore(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentEmptyUploadException(v **types.EmptyUploadException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.EmptyUploadException - if *v == nil { - sv = &types.EmptyUploadException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentEncryptionConfiguration(v **types.EncryptionConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.EncryptionConfiguration - if *v == nil { - sv = &types.EncryptionConfiguration{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "encryptionType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected EncryptionType to be of type string, got %T instead", value) - } - sv.EncryptionType = types.EncryptionType(jtv) - } - - case "kmsKey": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected KmsKey to be of type string, got %T instead", value) - } - sv.KmsKey = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentEncryptionConfigurationForRepositoryCreationTemplate(v **types.EncryptionConfigurationForRepositoryCreationTemplate, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.EncryptionConfigurationForRepositoryCreationTemplate - if *v == nil { - sv = &types.EncryptionConfigurationForRepositoryCreationTemplate{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "encryptionType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected EncryptionType to be of type string, got %T instead", value) - } - sv.EncryptionType = types.EncryptionType(jtv) - } - - case "kmsKey": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected KmsKeyForRepositoryCreationTemplate to be of type string, got %T instead", value) - } - sv.KmsKey = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentEnhancedImageScanFinding(v **types.EnhancedImageScanFinding, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.EnhancedImageScanFinding - if *v == nil { - sv = &types.EnhancedImageScanFinding{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "awsAccountId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.AwsAccountId = ptr.String(jtv) - } - - case "description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FindingDescription to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } - - case "exploitAvailable": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExploitAvailable to be of type string, got %T instead", value) - } - sv.ExploitAvailable = ptr.String(jtv) - } - - case "findingArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FindingArn to be of type string, got %T instead", value) - } - sv.FindingArn = ptr.String(jtv) - } - - case "firstObservedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.FirstObservedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "fixAvailable": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FixAvailable to be of type string, got %T instead", value) - } - sv.FixAvailable = ptr.String(jtv) - } - - case "lastObservedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastObservedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "packageVulnerabilityDetails": - if err := awsAwsjson11_deserializeDocumentPackageVulnerabilityDetails(&sv.PackageVulnerabilityDetails, value); err != nil { - return err - } - - case "remediation": - if err := awsAwsjson11_deserializeDocumentRemediation(&sv.Remediation, value); err != nil { - return err - } - - case "resources": - if err := awsAwsjson11_deserializeDocumentResourceList(&sv.Resources, value); err != nil { - return err - } - - case "score": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.Score = f64 - - case string: - var f64 float64 - switch { - case strings.EqualFold(jtv, "NaN"): - f64 = math.NaN() - - case strings.EqualFold(jtv, "Infinity"): - f64 = math.Inf(1) - - case strings.EqualFold(jtv, "-Infinity"): - f64 = math.Inf(-1) - - default: - return fmt.Errorf("unknown JSON number value: %s", jtv) - - } - sv.Score = f64 - - default: - return fmt.Errorf("expected Score to be a JSON Number, got %T instead", value) - - } - } - - case "scoreDetails": - if err := awsAwsjson11_deserializeDocumentScoreDetails(&sv.ScoreDetails, value); err != nil { - return err - } - - case "severity": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Severity to be of type string, got %T instead", value) - } - sv.Severity = ptr.String(jtv) - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Status to be of type string, got %T instead", value) - } - sv.Status = ptr.String(jtv) - } - - case "title": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Title to be of type string, got %T instead", value) - } - sv.Title = ptr.String(jtv) - } - - case "type": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Type to be of type string, got %T instead", value) - } - sv.Type = ptr.String(jtv) - } - - case "updatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.UpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentEnhancedImageScanFindingList(v *[]types.EnhancedImageScanFinding, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.EnhancedImageScanFinding - if *v == nil { - cv = []types.EnhancedImageScanFinding{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.EnhancedImageScanFinding - destAddr := &col - if err := awsAwsjson11_deserializeDocumentEnhancedImageScanFinding(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentExclusionAlreadyExistsException(v **types.ExclusionAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ExclusionAlreadyExistsException - if *v == nil { - sv = &types.ExclusionAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentExclusionNotFoundException(v **types.ExclusionNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ExclusionNotFoundException - if *v == nil { - sv = &types.ExclusionNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentFindingSeverityCounts(v *map[string]int32, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var mv map[string]int32 - if *v == nil { - mv = map[string]int32{} - } else { - mv = *v - } - - for key, value := range shape { - var parsedVal int32 - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected SeverityCount to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - parsedVal = int32(i64) - } - mv[key] = parsedVal - - } - *v = mv - return nil -} - -func awsAwsjson11_deserializeDocumentImage(v **types.Image, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Image - if *v == nil { - sv = &types.Image{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "imageManifest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageManifest to be of type string, got %T instead", value) - } - sv.ImageManifest = ptr.String(jtv) - } - - case "imageManifestMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ImageManifestMediaType = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageAlreadyExistsException(v **types.ImageAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageAlreadyExistsException - if *v == nil { - sv = &types.ImageAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageArchivedException(v **types.ImageArchivedException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageArchivedException - if *v == nil { - sv = &types.ImageArchivedException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageDetail(v **types.ImageDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageDetail - if *v == nil { - sv = &types.ImageDetail{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "artifactMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ArtifactMediaType = ptr.String(jtv) - } - - case "imageDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageDigest = ptr.String(jtv) - } - - case "imageManifestMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ImageManifestMediaType = ptr.String(jtv) - } - - case "imagePushedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ImagePushedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected PushTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "imageScanFindingsSummary": - if err := awsAwsjson11_deserializeDocumentImageScanFindingsSummary(&sv.ImageScanFindingsSummary, value); err != nil { - return err - } - - case "imageScanStatus": - if err := awsAwsjson11_deserializeDocumentImageScanStatus(&sv.ImageScanStatus, value); err != nil { - return err - } - - case "imageSizeInBytes": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ImageSizeInBytes to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.ImageSizeInBytes = ptr.Int64(i64) - } - - case "imageStatus": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageStatus to be of type string, got %T instead", value) - } - sv.ImageStatus = types.ImageStatus(jtv) - } - - case "imageTags": - if err := awsAwsjson11_deserializeDocumentImageTagList(&sv.ImageTags, value); err != nil { - return err - } - - case "lastActivatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastActivatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected LastActivatedAtTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "lastArchivedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastArchivedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected LastArchivedAtTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "lastRecordedPullTime": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastRecordedPullTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected RecordedPullTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "subjectManifestDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.SubjectManifestDigest = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageDetailList(v *[]types.ImageDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageDetail - if *v == nil { - cv = []types.ImageDetail{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageDetail - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageDetail(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageDigestDoesNotMatchException(v **types.ImageDigestDoesNotMatchException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageDigestDoesNotMatchException - if *v == nil { - sv = &types.ImageDigestDoesNotMatchException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageFailure(v **types.ImageFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageFailure - if *v == nil { - sv = &types.ImageFailure{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageFailureCode to be of type string, got %T instead", value) - } - sv.FailureCode = types.ImageFailureCode(jtv) - } - - case "failureReason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageFailureReason to be of type string, got %T instead", value) - } - sv.FailureReason = ptr.String(jtv) - } - - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageFailureList(v *[]types.ImageFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageFailure - if *v == nil { - cv = []types.ImageFailure{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageFailure - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageFailure(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageIdentifier(v **types.ImageIdentifier, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageIdentifier - if *v == nil { - sv = &types.ImageIdentifier{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageDigest = ptr.String(jtv) - } - - case "imageTag": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTag to be of type string, got %T instead", value) - } - sv.ImageTag = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageIdentifierList(v *[]types.ImageIdentifier, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageIdentifier - if *v == nil { - cv = []types.ImageIdentifier{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageIdentifier - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageList(v *[]types.Image, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Image - if *v == nil { - cv = []types.Image{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Image - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImage(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageNotFoundException(v **types.ImageNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageNotFoundException - if *v == nil { - sv = &types.ImageNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageReferrer(v **types.ImageReferrer, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageReferrer - if *v == nil { - sv = &types.ImageReferrer{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "annotations": - if err := awsAwsjson11_deserializeDocumentAnnotations(&sv.Annotations, value); err != nil { - return err - } - - case "artifactStatus": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ArtifactStatus to be of type string, got %T instead", value) - } - sv.ArtifactStatus = types.ArtifactStatus(jtv) - } - - case "artifactType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ArtifactType to be of type string, got %T instead", value) - } - sv.ArtifactType = ptr.String(jtv) - } - - case "digest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.Digest = ptr.String(jtv) - } - - case "mediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.MediaType = ptr.String(jtv) - } - - case "size": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ImageSizeInBytes to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.Size = ptr.Int64(i64) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageReferrerList(v *[]types.ImageReferrer, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageReferrer - if *v == nil { - cv = []types.ImageReferrer{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageReferrer - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageReferrer(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageReplicationStatus(v **types.ImageReplicationStatus, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageReplicationStatus - if *v == nil { - sv = &types.ImageReplicationStatus{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ReplicationError to be of type string, got %T instead", value) - } - sv.FailureCode = ptr.String(jtv) - } - - case "region": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Region to be of type string, got %T instead", value) - } - sv.Region = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ReplicationStatus to be of type string, got %T instead", value) - } - sv.Status = types.ReplicationStatus(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageReplicationStatusList(v *[]types.ImageReplicationStatus, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageReplicationStatus - if *v == nil { - cv = []types.ImageReplicationStatus{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageReplicationStatus - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageReplicationStatus(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageScanFinding(v **types.ImageScanFinding, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageScanFinding - if *v == nil { - sv = &types.ImageScanFinding{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "attributes": - if err := awsAwsjson11_deserializeDocumentAttributeList(&sv.Attributes, value); err != nil { - return err - } - - case "description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FindingDescription to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } - - case "name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FindingName to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "severity": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FindingSeverity to be of type string, got %T instead", value) - } - sv.Severity = types.FindingSeverity(jtv) - } - - case "uri": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.Uri = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageScanFindingList(v *[]types.ImageScanFinding, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageScanFinding - if *v == nil { - cv = []types.ImageScanFinding{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageScanFinding - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageScanFinding(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageScanFindings(v **types.ImageScanFindings, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageScanFindings - if *v == nil { - sv = &types.ImageScanFindings{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "enhancedFindings": - if err := awsAwsjson11_deserializeDocumentEnhancedImageScanFindingList(&sv.EnhancedFindings, value); err != nil { - return err - } - - case "findings": - if err := awsAwsjson11_deserializeDocumentImageScanFindingList(&sv.Findings, value); err != nil { - return err - } - - case "findingSeverityCounts": - if err := awsAwsjson11_deserializeDocumentFindingSeverityCounts(&sv.FindingSeverityCounts, value); err != nil { - return err - } - - case "imageScanCompletedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ImageScanCompletedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected ScanTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "vulnerabilitySourceUpdatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.VulnerabilitySourceUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected VulnerabilitySourceUpdateTimestamp to be a JSON Number, got %T instead", value) - - } - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageScanFindingsSummary(v **types.ImageScanFindingsSummary, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageScanFindingsSummary - if *v == nil { - sv = &types.ImageScanFindingsSummary{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "findingSeverityCounts": - if err := awsAwsjson11_deserializeDocumentFindingSeverityCounts(&sv.FindingSeverityCounts, value); err != nil { - return err - } - - case "imageScanCompletedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ImageScanCompletedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected ScanTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "vulnerabilitySourceUpdatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.VulnerabilitySourceUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected VulnerabilitySourceUpdateTimestamp to be a JSON Number, got %T instead", value) - - } - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageScanningConfiguration(v **types.ImageScanningConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageScanningConfiguration - if *v == nil { - sv = &types.ImageScanningConfiguration{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "scanOnPush": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected ScanOnPushFlag to be of type *bool, got %T instead", value) - } - sv.ScanOnPush = jtv - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageScanStatus(v **types.ImageScanStatus, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageScanStatus - if *v == nil { - sv = &types.ImageScanStatus{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanStatusDescription to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanStatus to be of type string, got %T instead", value) - } - sv.Status = types.ScanStatus(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageSigningStatus(v **types.ImageSigningStatus, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageSigningStatus - if *v == nil { - sv = &types.ImageSigningStatus{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningStatusFailureCode to be of type string, got %T instead", value) - } - sv.FailureCode = ptr.String(jtv) - } - - case "failureReason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningStatusFailureReason to be of type string, got %T instead", value) - } - sv.FailureReason = ptr.String(jtv) - } - - case "signingProfileArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningProfileArn to be of type string, got %T instead", value) - } - sv.SigningProfileArn = ptr.String(jtv) - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningStatus to be of type string, got %T instead", value) - } - sv.Status = types.SigningStatus(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageSigningStatusList(v *[]types.ImageSigningStatus, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageSigningStatus - if *v == nil { - cv = []types.ImageSigningStatus{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageSigningStatus - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageSigningStatus(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageStorageClassUpdateNotSupportedException(v **types.ImageStorageClassUpdateNotSupportedException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageStorageClassUpdateNotSupportedException - if *v == nil { - sv = &types.ImageStorageClassUpdateNotSupportedException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagAlreadyExistsException(v **types.ImageTagAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageTagAlreadyExistsException - if *v == nil { - sv = &types.ImageTagAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTag to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagMutabilityExclusionFilter(v **types.ImageTagMutabilityExclusionFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageTagMutabilityExclusionFilter - if *v == nil { - sv = &types.ImageTagMutabilityExclusionFilter{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "filter": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTagMutabilityExclusionFilterValue to be of type string, got %T instead", value) - } - sv.Filter = ptr.String(jtv) - } - - case "filterType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTagMutabilityExclusionFilterType to be of type string, got %T instead", value) - } - sv.FilterType = types.ImageTagMutabilityExclusionFilterType(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagMutabilityExclusionFilters(v *[]types.ImageTagMutabilityExclusionFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageTagMutabilityExclusionFilter - if *v == nil { - cv = []types.ImageTagMutabilityExclusionFilter{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageTagMutabilityExclusionFilter - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageTagMutabilityExclusionFilter(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagsList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTag to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidLayerException(v **types.InvalidLayerException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidLayerException - if *v == nil { - sv = &types.InvalidLayerException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidLayerPartException(v **types.InvalidLayerPartException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidLayerPartException - if *v == nil { - sv = &types.InvalidLayerPartException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lastValidByteReceived": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PartSize to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.LastValidByteReceived = ptr.Int64(i64) - } - - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidParameterException(v **types.InvalidParameterException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidParameterException - if *v == nil { - sv = &types.InvalidParameterException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidTagParameterException(v **types.InvalidTagParameterException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidTagParameterException - if *v == nil { - sv = &types.InvalidTagParameterException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentKmsException(v **types.KmsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.KmsException - if *v == nil { - sv = &types.KmsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "kmsError": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected KmsError to be of type string, got %T instead", value) - } - sv.KmsError = ptr.String(jtv) - } - - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayer(v **types.Layer, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Layer - if *v == nil { - sv = &types.Layer{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "layerAvailability": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerAvailability to be of type string, got %T instead", value) - } - sv.LayerAvailability = types.LayerAvailability(jtv) - } - - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - case "layerSize": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected LayerSizeInBytes to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.LayerSize = ptr.Int64(i64) - } - - case "mediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.MediaType = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerAlreadyExistsException(v **types.LayerAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerAlreadyExistsException - if *v == nil { - sv = &types.LayerAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerFailure(v **types.LayerFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerFailure - if *v == nil { - sv = &types.LayerFailure{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerFailureCode to be of type string, got %T instead", value) - } - sv.FailureCode = types.LayerFailureCode(jtv) - } - - case "failureReason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerFailureReason to be of type string, got %T instead", value) - } - sv.FailureReason = ptr.String(jtv) - } - - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected BatchedOperationLayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerFailureList(v *[]types.LayerFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.LayerFailure - if *v == nil { - cv = []types.LayerFailure{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.LayerFailure - destAddr := &col - if err := awsAwsjson11_deserializeDocumentLayerFailure(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerInaccessibleException(v **types.LayerInaccessibleException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerInaccessibleException - if *v == nil { - sv = &types.LayerInaccessibleException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerList(v *[]types.Layer, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Layer - if *v == nil { - cv = []types.Layer{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Layer - destAddr := &col - if err := awsAwsjson11_deserializeDocumentLayer(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerPartTooSmallException(v **types.LayerPartTooSmallException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerPartTooSmallException - if *v == nil { - sv = &types.LayerPartTooSmallException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayersNotFoundException(v **types.LayersNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayersNotFoundException - if *v == nil { - sv = &types.LayersNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyNotFoundException(v **types.LifecyclePolicyNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LifecyclePolicyNotFoundException - if *v == nil { - sv = &types.LifecyclePolicyNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewInProgressException(v **types.LifecyclePolicyPreviewInProgressException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LifecyclePolicyPreviewInProgressException - if *v == nil { - sv = &types.LifecyclePolicyPreviewInProgressException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewNotFoundException(v **types.LifecyclePolicyPreviewNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LifecyclePolicyPreviewNotFoundException - if *v == nil { - sv = &types.LifecyclePolicyPreviewNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewResult(v **types.LifecyclePolicyPreviewResult, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LifecyclePolicyPreviewResult - if *v == nil { - sv = &types.LifecyclePolicyPreviewResult{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "action": - if err := awsAwsjson11_deserializeDocumentLifecyclePolicyRuleAction(&sv.Action, value); err != nil { - return err - } - - case "appliedRulePriority": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected LifecyclePolicyRulePriority to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.AppliedRulePriority = ptr.Int32(int32(i64)) - } - - case "imageDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageDigest = ptr.String(jtv) - } - - case "imagePushedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ImagePushedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected PushTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "imageTags": - if err := awsAwsjson11_deserializeDocumentImageTagList(&sv.ImageTags, value); err != nil { - return err - } - - case "storageClass": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyStorageClass to be of type string, got %T instead", value) - } - sv.StorageClass = types.LifecyclePolicyStorageClass(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewResultList(v *[]types.LifecyclePolicyPreviewResult, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.LifecyclePolicyPreviewResult - if *v == nil { - cv = []types.LifecyclePolicyPreviewResult{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.LifecyclePolicyPreviewResult - destAddr := &col - if err := awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewResult(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewSummary(v **types.LifecyclePolicyPreviewSummary, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LifecyclePolicyPreviewSummary - if *v == nil { - sv = &types.LifecyclePolicyPreviewSummary{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "expiringImageTotalCount": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ImageCount to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.ExpiringImageTotalCount = ptr.Int32(int32(i64)) - } - - case "transitioningImageTotalCounts": - if err := awsAwsjson11_deserializeDocumentTransitioningImageTotalCounts(&sv.TransitioningImageTotalCounts, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLifecyclePolicyRuleAction(v **types.LifecyclePolicyRuleAction, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LifecyclePolicyRuleAction - if *v == nil { - sv = &types.LifecyclePolicyRuleAction{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "targetStorageClass": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyTargetStorageClass to be of type string, got %T instead", value) - } - sv.TargetStorageClass = types.LifecyclePolicyTargetStorageClass(jtv) - } - - case "type": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageActionType to be of type string, got %T instead", value) - } - sv.Type = types.ImageActionType(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLimitExceededException(v **types.LimitExceededException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LimitExceededException - if *v == nil { - sv = &types.LimitExceededException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentPackageVulnerabilityDetails(v **types.PackageVulnerabilityDetails, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.PackageVulnerabilityDetails - if *v == nil { - sv = &types.PackageVulnerabilityDetails{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "cvss": - if err := awsAwsjson11_deserializeDocumentCvssScoreList(&sv.Cvss, value); err != nil { - return err - } - - case "referenceUrls": - if err := awsAwsjson11_deserializeDocumentReferenceUrlsList(&sv.ReferenceUrls, value); err != nil { - return err - } - - case "relatedVulnerabilities": - if err := awsAwsjson11_deserializeDocumentRelatedVulnerabilitiesList(&sv.RelatedVulnerabilities, value); err != nil { - return err - } - - case "source": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Source to be of type string, got %T instead", value) - } - sv.Source = ptr.String(jtv) - } - - case "sourceUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.SourceUrl = ptr.String(jtv) - } - - case "vendorCreatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.VendorCreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "vendorSeverity": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Severity to be of type string, got %T instead", value) - } - sv.VendorSeverity = ptr.String(jtv) - } - - case "vendorUpdatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.VendorUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "vulnerabilityId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected VulnerabilityId to be of type string, got %T instead", value) - } - sv.VulnerabilityId = ptr.String(jtv) - } - - case "vulnerablePackages": - if err := awsAwsjson11_deserializeDocumentVulnerablePackagesList(&sv.VulnerablePackages, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentPullThroughCacheRule(v **types.PullThroughCacheRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.PullThroughCacheRule - if *v == nil { - sv = &types.PullThroughCacheRule{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "credentialArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CredentialArn to be of type string, got %T instead", value) - } - sv.CredentialArn = ptr.String(jtv) - } - - case "customRoleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CustomRoleArn to be of type string, got %T instead", value) - } - sv.CustomRoleArn = ptr.String(jtv) - } - - case "ecrRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.EcrRepositoryPrefix = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "updatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.UpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected UpdatedTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "upstreamRegistry": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UpstreamRegistry to be of type string, got %T instead", value) - } - sv.UpstreamRegistry = types.UpstreamRegistry(jtv) - } - - case "upstreamRegistryUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.UpstreamRegistryUrl = ptr.String(jtv) - } - - case "upstreamRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.UpstreamRepositoryPrefix = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentPullThroughCacheRuleAlreadyExistsException(v **types.PullThroughCacheRuleAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.PullThroughCacheRuleAlreadyExistsException - if *v == nil { - sv = &types.PullThroughCacheRuleAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentPullThroughCacheRuleList(v *[]types.PullThroughCacheRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.PullThroughCacheRule - if *v == nil { - cv = []types.PullThroughCacheRule{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.PullThroughCacheRule - destAddr := &col - if err := awsAwsjson11_deserializeDocumentPullThroughCacheRule(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentPullThroughCacheRuleNotFoundException(v **types.PullThroughCacheRuleNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.PullThroughCacheRuleNotFoundException - if *v == nil { - sv = &types.PullThroughCacheRuleNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentPullTimeUpdateExclusionList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PrincipalArn to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRCTAppliedForList(v *[]types.RCTAppliedFor, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RCTAppliedFor - if *v == nil { - cv = []types.RCTAppliedFor{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RCTAppliedFor - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RCTAppliedFor to be of type string, got %T instead", value) - } - col = types.RCTAppliedFor(jtv) - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRecommendation(v **types.Recommendation, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Recommendation - if *v == nil { - sv = &types.Recommendation{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "text": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RecommendationText to be of type string, got %T instead", value) - } - sv.Text = ptr.String(jtv) - } - - case "url": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.Url = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReferencedImagesNotFoundException(v **types.ReferencedImagesNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ReferencedImagesNotFoundException - if *v == nil { - sv = &types.ReferencedImagesNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReferenceUrlsList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryPolicyNotFoundException(v **types.RegistryPolicyNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RegistryPolicyNotFoundException - if *v == nil { - sv = &types.RegistryPolicyNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryScanningConfiguration(v **types.RegistryScanningConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RegistryScanningConfiguration - if *v == nil { - sv = &types.RegistryScanningConfiguration{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "rules": - if err := awsAwsjson11_deserializeDocumentRegistryScanningRuleList(&sv.Rules, value); err != nil { - return err - } - - case "scanType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanType to be of type string, got %T instead", value) - } - sv.ScanType = types.ScanType(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryScanningRule(v **types.RegistryScanningRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RegistryScanningRule - if *v == nil { - sv = &types.RegistryScanningRule{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "repositoryFilters": - if err := awsAwsjson11_deserializeDocumentScanningRepositoryFilterList(&sv.RepositoryFilters, value); err != nil { - return err - } - - case "scanFrequency": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanFrequency to be of type string, got %T instead", value) - } - sv.ScanFrequency = types.ScanFrequency(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryScanningRuleList(v *[]types.RegistryScanningRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RegistryScanningRule - if *v == nil { - cv = []types.RegistryScanningRule{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RegistryScanningRule - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRegistryScanningRule(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRelatedVulnerabilitiesList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RelatedVulnerability to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRemediation(v **types.Remediation, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Remediation - if *v == nil { - sv = &types.Remediation{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "recommendation": - if err := awsAwsjson11_deserializeDocumentRecommendation(&sv.Recommendation, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReplicationConfiguration(v **types.ReplicationConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ReplicationConfiguration - if *v == nil { - sv = &types.ReplicationConfiguration{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "rules": - if err := awsAwsjson11_deserializeDocumentReplicationRuleList(&sv.Rules, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReplicationDestination(v **types.ReplicationDestination, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ReplicationDestination - if *v == nil { - sv = &types.ReplicationDestination{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "region": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Region to be of type string, got %T instead", value) - } - sv.Region = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReplicationDestinationList(v *[]types.ReplicationDestination, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ReplicationDestination - if *v == nil { - cv = []types.ReplicationDestination{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ReplicationDestination - destAddr := &col - if err := awsAwsjson11_deserializeDocumentReplicationDestination(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentReplicationRule(v **types.ReplicationRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ReplicationRule - if *v == nil { - sv = &types.ReplicationRule{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "destinations": - if err := awsAwsjson11_deserializeDocumentReplicationDestinationList(&sv.Destinations, value); err != nil { - return err - } - - case "repositoryFilters": - if err := awsAwsjson11_deserializeDocumentRepositoryFilterList(&sv.RepositoryFilters, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReplicationRuleList(v *[]types.ReplicationRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ReplicationRule - if *v == nil { - cv = []types.ReplicationRule{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ReplicationRule - destAddr := &col - if err := awsAwsjson11_deserializeDocumentReplicationRule(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRepository(v **types.Repository, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Repository - if *v == nil { - sv = &types.Repository{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "encryptionConfiguration": - if err := awsAwsjson11_deserializeDocumentEncryptionConfiguration(&sv.EncryptionConfiguration, value); err != nil { - return err - } - - case "imageScanningConfiguration": - if err := awsAwsjson11_deserializeDocumentImageScanningConfiguration(&sv.ImageScanningConfiguration, value); err != nil { - return err - } - - case "imageTagMutability": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTagMutability to be of type string, got %T instead", value) - } - sv.ImageTagMutability = types.ImageTagMutability(jtv) - } - - case "imageTagMutabilityExclusionFilters": - if err := awsAwsjson11_deserializeDocumentImageTagMutabilityExclusionFilters(&sv.ImageTagMutabilityExclusionFilters, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Arn to be of type string, got %T instead", value) - } - sv.RepositoryArn = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "repositoryUri": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.RepositoryUri = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryAlreadyExistsException(v **types.RepositoryAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryAlreadyExistsException - if *v == nil { - sv = &types.RepositoryAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryCreationTemplate(v **types.RepositoryCreationTemplate, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryCreationTemplate - if *v == nil { - sv = &types.RepositoryCreationTemplate{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "appliedFor": - if err := awsAwsjson11_deserializeDocumentRCTAppliedForList(&sv.AppliedFor, value); err != nil { - return err - } - - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - case "customRoleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CustomRoleArn to be of type string, got %T instead", value) - } - sv.CustomRoleArn = ptr.String(jtv) - } - - case "description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryTemplateDescription to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } - - case "encryptionConfiguration": - if err := awsAwsjson11_deserializeDocumentEncryptionConfigurationForRepositoryCreationTemplate(&sv.EncryptionConfiguration, value); err != nil { - return err - } - - case "imageTagMutability": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTagMutability to be of type string, got %T instead", value) - } - sv.ImageTagMutability = types.ImageTagMutability(jtv) - } - - case "imageTagMutabilityExclusionFilters": - if err := awsAwsjson11_deserializeDocumentImageTagMutabilityExclusionFilters(&sv.ImageTagMutabilityExclusionFilters, value); err != nil { - return err - } - - case "lifecyclePolicy": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyTextForRepositoryCreationTemplate to be of type string, got %T instead", value) - } - sv.LifecyclePolicy = ptr.String(jtv) - } - - case "prefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Prefix to be of type string, got %T instead", value) - } - sv.Prefix = ptr.String(jtv) - } - - case "repositoryPolicy": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.RepositoryPolicy = ptr.String(jtv) - } - - case "resourceTags": - if err := awsAwsjson11_deserializeDocumentTagList(&sv.ResourceTags, value); err != nil { - return err - } - - case "updatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.UpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - - } - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryCreationTemplateList(v *[]types.RepositoryCreationTemplate, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RepositoryCreationTemplate - if *v == nil { - cv = []types.RepositoryCreationTemplate{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RepositoryCreationTemplate - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRepositoryCreationTemplate(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryFilter(v **types.RepositoryFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryFilter - if *v == nil { - sv = &types.RepositoryFilter{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "filter": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryFilterValue to be of type string, got %T instead", value) - } - sv.Filter = ptr.String(jtv) - } - - case "filterType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryFilterType to be of type string, got %T instead", value) - } - sv.FilterType = types.RepositoryFilterType(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryFilterList(v *[]types.RepositoryFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RepositoryFilter - if *v == nil { - cv = []types.RepositoryFilter{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RepositoryFilter - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRepositoryFilter(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryList(v *[]types.Repository, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Repository - if *v == nil { - cv = []types.Repository{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Repository - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRepository(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryNotEmptyException(v **types.RepositoryNotEmptyException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryNotEmptyException - if *v == nil { - sv = &types.RepositoryNotEmptyException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryNotFoundException(v **types.RepositoryNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryNotFoundException - if *v == nil { - sv = &types.RepositoryNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryPolicyNotFoundException(v **types.RepositoryPolicyNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryPolicyNotFoundException - if *v == nil { - sv = &types.RepositoryPolicyNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryScanningConfiguration(v **types.RepositoryScanningConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryScanningConfiguration - if *v == nil { - sv = &types.RepositoryScanningConfiguration{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "appliedScanFilters": - if err := awsAwsjson11_deserializeDocumentScanningRepositoryFilterList(&sv.AppliedScanFilters, value); err != nil { - return err - } - - case "repositoryArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Arn to be of type string, got %T instead", value) - } - sv.RepositoryArn = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "scanFrequency": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanFrequency to be of type string, got %T instead", value) - } - sv.ScanFrequency = types.ScanFrequency(jtv) - } - - case "scanOnPush": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected ScanOnPushFlag to be of type *bool, got %T instead", value) - } - sv.ScanOnPush = jtv - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryScanningConfigurationFailure(v **types.RepositoryScanningConfigurationFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryScanningConfigurationFailure - if *v == nil { - sv = &types.RepositoryScanningConfigurationFailure{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanningConfigurationFailureCode to be of type string, got %T instead", value) - } - sv.FailureCode = types.ScanningConfigurationFailureCode(jtv) - } - - case "failureReason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanningConfigurationFailureReason to be of type string, got %T instead", value) - } - sv.FailureReason = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryScanningConfigurationFailureList(v *[]types.RepositoryScanningConfigurationFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RepositoryScanningConfigurationFailure - if *v == nil { - cv = []types.RepositoryScanningConfigurationFailure{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RepositoryScanningConfigurationFailure - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRepositoryScanningConfigurationFailure(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryScanningConfigurationList(v *[]types.RepositoryScanningConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RepositoryScanningConfiguration - if *v == nil { - cv = []types.RepositoryScanningConfiguration{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RepositoryScanningConfiguration - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRepositoryScanningConfiguration(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentResource(v **types.Resource, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Resource - if *v == nil { - sv = &types.Resource{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "details": - if err := awsAwsjson11_deserializeDocumentResourceDetails(&sv.Details, value); err != nil { - return err - } - - case "id": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ResourceId to be of type string, got %T instead", value) - } - sv.Id = ptr.String(jtv) - } - - case "tags": - if err := awsAwsjson11_deserializeDocumentTags(&sv.Tags, value); err != nil { - return err - } - - case "type": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Type to be of type string, got %T instead", value) - } - sv.Type = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentResourceDetails(v **types.ResourceDetails, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ResourceDetails - if *v == nil { - sv = &types.ResourceDetails{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "awsEcrContainerImage": - if err := awsAwsjson11_deserializeDocumentAwsEcrContainerImageDetails(&sv.AwsEcrContainerImage, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentResourceList(v *[]types.Resource, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Resource - if *v == nil { - cv = []types.Resource{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Resource - destAddr := &col - if err := awsAwsjson11_deserializeDocumentResource(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentScanningRepositoryFilter(v **types.ScanningRepositoryFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ScanningRepositoryFilter - if *v == nil { - sv = &types.ScanningRepositoryFilter{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "filter": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanningRepositoryFilterValue to be of type string, got %T instead", value) - } - sv.Filter = ptr.String(jtv) - } - - case "filterType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ScanningRepositoryFilterType to be of type string, got %T instead", value) - } - sv.FilterType = types.ScanningRepositoryFilterType(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentScanningRepositoryFilterList(v *[]types.ScanningRepositoryFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ScanningRepositoryFilter - if *v == nil { - cv = []types.ScanningRepositoryFilter{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ScanningRepositoryFilter - destAddr := &col - if err := awsAwsjson11_deserializeDocumentScanningRepositoryFilter(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentScanNotFoundException(v **types.ScanNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ScanNotFoundException - if *v == nil { - sv = &types.ScanNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentScoreDetails(v **types.ScoreDetails, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ScoreDetails - if *v == nil { - sv = &types.ScoreDetails{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "cvss": - if err := awsAwsjson11_deserializeDocumentCvssScoreDetails(&sv.Cvss, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentSecretNotFoundException(v **types.SecretNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.SecretNotFoundException - if *v == nil { - sv = &types.SecretNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentServerException(v **types.ServerException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ServerException - if *v == nil { - sv = &types.ServerException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentSigningConfiguration(v **types.SigningConfiguration, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.SigningConfiguration - if *v == nil { - sv = &types.SigningConfiguration{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "rules": - if err := awsAwsjson11_deserializeDocumentSigningRuleList(&sv.Rules, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentSigningConfigurationNotFoundException(v **types.SigningConfigurationNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.SigningConfigurationNotFoundException - if *v == nil { - sv = &types.SigningConfigurationNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentSigningRepositoryFilter(v **types.SigningRepositoryFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.SigningRepositoryFilter - if *v == nil { - sv = &types.SigningRepositoryFilter{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "filter": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningRepositoryFilterValue to be of type string, got %T instead", value) - } - sv.Filter = ptr.String(jtv) - } - - case "filterType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningRepositoryFilterType to be of type string, got %T instead", value) - } - sv.FilterType = types.SigningRepositoryFilterType(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentSigningRepositoryFilterList(v *[]types.SigningRepositoryFilter, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.SigningRepositoryFilter - if *v == nil { - cv = []types.SigningRepositoryFilter{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.SigningRepositoryFilter - destAddr := &col - if err := awsAwsjson11_deserializeDocumentSigningRepositoryFilter(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentSigningRule(v **types.SigningRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.SigningRule - if *v == nil { - sv = &types.SigningRule{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "repositoryFilters": - if err := awsAwsjson11_deserializeDocumentSigningRepositoryFilterList(&sv.RepositoryFilters, value); err != nil { - return err - } - - case "signingProfileArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SigningProfileArn to be of type string, got %T instead", value) - } - sv.SigningProfileArn = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentSigningRuleList(v *[]types.SigningRule, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.SigningRule - if *v == nil { - cv = []types.SigningRule{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.SigningRule - destAddr := &col - if err := awsAwsjson11_deserializeDocumentSigningRule(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentTag(v **types.Tag, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Tag - if *v == nil { - sv = &types.Tag{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "Key": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TagKey to be of type string, got %T instead", value) - } - sv.Key = ptr.String(jtv) - } - - case "Value": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TagValue to be of type string, got %T instead", value) - } - sv.Value = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTagList(v *[]types.Tag, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Tag - if *v == nil { - cv = []types.Tag{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Tag - destAddr := &col - if err := awsAwsjson11_deserializeDocumentTag(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentTags(v *map[string]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var mv map[string]string - if *v == nil { - mv = map[string]string{} - } else { - mv = *v - } - - for key, value := range shape { - var parsedVal string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TagValue to be of type string, got %T instead", value) - } - parsedVal = jtv - } - mv[key] = parsedVal - - } - *v = mv - return nil -} - -func awsAwsjson11_deserializeDocumentTemplateAlreadyExistsException(v **types.TemplateAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.TemplateAlreadyExistsException - if *v == nil { - sv = &types.TemplateAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTemplateNotFoundException(v **types.TemplateNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.TemplateNotFoundException - if *v == nil { - sv = &types.TemplateNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTooManyTagsException(v **types.TooManyTagsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.TooManyTagsException - if *v == nil { - sv = &types.TooManyTagsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTransitioningImageTotalCount(v **types.TransitioningImageTotalCount, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.TransitioningImageTotalCount - if *v == nil { - sv = &types.TransitioningImageTotalCount{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageTotalCount": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ImageCount to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.ImageTotalCount = ptr.Int32(int32(i64)) - } - - case "targetStorageClass": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyTargetStorageClass to be of type string, got %T instead", value) - } - sv.TargetStorageClass = types.LifecyclePolicyTargetStorageClass(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTransitioningImageTotalCounts(v *[]types.TransitioningImageTotalCount, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.TransitioningImageTotalCount - if *v == nil { - cv = []types.TransitioningImageTotalCount{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.TransitioningImageTotalCount - destAddr := &col - if err := awsAwsjson11_deserializeDocumentTransitioningImageTotalCount(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentUnableToAccessSecretException(v **types.UnableToAccessSecretException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnableToAccessSecretException - if *v == nil { - sv = &types.UnableToAccessSecretException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUnableToDecryptSecretValueException(v **types.UnableToDecryptSecretValueException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnableToDecryptSecretValueException - if *v == nil { - sv = &types.UnableToDecryptSecretValueException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUnableToGetUpstreamImageException(v **types.UnableToGetUpstreamImageException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnableToGetUpstreamImageException - if *v == nil { - sv = &types.UnableToGetUpstreamImageException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUnableToGetUpstreamLayerException(v **types.UnableToGetUpstreamLayerException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnableToGetUpstreamLayerException - if *v == nil { - sv = &types.UnableToGetUpstreamLayerException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUnsupportedImageTypeException(v **types.UnsupportedImageTypeException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnsupportedImageTypeException - if *v == nil { - sv = &types.UnsupportedImageTypeException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUnsupportedUpstreamRegistryException(v **types.UnsupportedUpstreamRegistryException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnsupportedUpstreamRegistryException - if *v == nil { - sv = &types.UnsupportedUpstreamRegistryException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUploadNotFoundException(v **types.UploadNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UploadNotFoundException - if *v == nil { - sv = &types.UploadNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentValidationException(v **types.ValidationException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ValidationException - if *v == nil { - sv = &types.ValidationException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentVulnerablePackage(v **types.VulnerablePackage, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.VulnerablePackage - if *v == nil { - sv = &types.VulnerablePackage{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "arch": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Arch to be of type string, got %T instead", value) - } - sv.Arch = ptr.String(jtv) - } - - case "epoch": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected Epoch to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.Epoch = ptr.Int32(int32(i64)) - } - - case "filePath": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FilePath to be of type string, got %T instead", value) - } - sv.FilePath = ptr.String(jtv) - } - - case "fixedInVersion": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FixedInVersion to be of type string, got %T instead", value) - } - sv.FixedInVersion = ptr.String(jtv) - } - - case "name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected VulnerablePackageName to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "packageManager": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PackageManager to be of type string, got %T instead", value) - } - sv.PackageManager = ptr.String(jtv) - } - - case "release": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Release to be of type string, got %T instead", value) - } - sv.Release = ptr.String(jtv) - } - - case "sourceLayerHash": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SourceLayerHash to be of type string, got %T instead", value) - } - sv.SourceLayerHash = ptr.String(jtv) - } - - case "version": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Version to be of type string, got %T instead", value) - } - sv.Version = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentVulnerablePackagesList(v *[]types.VulnerablePackage, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.VulnerablePackage - if *v == nil { - cv = []types.VulnerablePackage{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.VulnerablePackage - destAddr := &col - if err := awsAwsjson11_deserializeDocumentVulnerablePackage(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeOpDocumentBatchCheckLayerAvailabilityOutput(v **BatchCheckLayerAvailabilityOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *BatchCheckLayerAvailabilityOutput - if *v == nil { - sv = &BatchCheckLayerAvailabilityOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failures": - if err := awsAwsjson11_deserializeDocumentLayerFailureList(&sv.Failures, value); err != nil { - return err - } - - case "layers": - if err := awsAwsjson11_deserializeDocumentLayerList(&sv.Layers, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentBatchDeleteImageOutput(v **BatchDeleteImageOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *BatchDeleteImageOutput - if *v == nil { - sv = &BatchDeleteImageOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failures": - if err := awsAwsjson11_deserializeDocumentImageFailureList(&sv.Failures, value); err != nil { - return err - } - - case "imageIds": - if err := awsAwsjson11_deserializeDocumentImageIdentifierList(&sv.ImageIds, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentBatchGetImageOutput(v **BatchGetImageOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *BatchGetImageOutput - if *v == nil { - sv = &BatchGetImageOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failures": - if err := awsAwsjson11_deserializeDocumentImageFailureList(&sv.Failures, value); err != nil { - return err - } - - case "images": - if err := awsAwsjson11_deserializeDocumentImageList(&sv.Images, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentBatchGetRepositoryScanningConfigurationOutput(v **BatchGetRepositoryScanningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *BatchGetRepositoryScanningConfigurationOutput - if *v == nil { - sv = &BatchGetRepositoryScanningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failures": - if err := awsAwsjson11_deserializeDocumentRepositoryScanningConfigurationFailureList(&sv.Failures, value); err != nil { - return err - } - - case "scanningConfigurations": - if err := awsAwsjson11_deserializeDocumentRepositoryScanningConfigurationList(&sv.ScanningConfigurations, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentCompleteLayerUploadOutput(v **CompleteLayerUploadOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *CompleteLayerUploadOutput - if *v == nil { - sv = &CompleteLayerUploadOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentCreatePullThroughCacheRuleOutput(v **CreatePullThroughCacheRuleOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *CreatePullThroughCacheRuleOutput - if *v == nil { - sv = &CreatePullThroughCacheRuleOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "credentialArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CredentialArn to be of type string, got %T instead", value) - } - sv.CredentialArn = ptr.String(jtv) - } - - case "customRoleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CustomRoleArn to be of type string, got %T instead", value) - } - sv.CustomRoleArn = ptr.String(jtv) - } - - case "ecrRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.EcrRepositoryPrefix = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "upstreamRegistry": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UpstreamRegistry to be of type string, got %T instead", value) - } - sv.UpstreamRegistry = types.UpstreamRegistry(jtv) - } - - case "upstreamRegistryUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.UpstreamRegistryUrl = ptr.String(jtv) - } - - case "upstreamRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.UpstreamRepositoryPrefix = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentCreateRepositoryCreationTemplateOutput(v **CreateRepositoryCreationTemplateOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *CreateRepositoryCreationTemplateOutput - if *v == nil { - sv = &CreateRepositoryCreationTemplateOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryCreationTemplate": - if err := awsAwsjson11_deserializeDocumentRepositoryCreationTemplate(&sv.RepositoryCreationTemplate, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentCreateRepositoryOutput(v **CreateRepositoryOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *CreateRepositoryOutput - if *v == nil { - sv = &CreateRepositoryOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "repository": - if err := awsAwsjson11_deserializeDocumentRepository(&sv.Repository, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteLifecyclePolicyOutput(v **DeleteLifecyclePolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteLifecyclePolicyOutput - if *v == nil { - sv = &DeleteLifecyclePolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lastEvaluatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastEvaluatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected EvaluationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "lifecyclePolicyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyText to be of type string, got %T instead", value) - } - sv.LifecyclePolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeletePullThroughCacheRuleOutput(v **DeletePullThroughCacheRuleOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeletePullThroughCacheRuleOutput - if *v == nil { - sv = &DeletePullThroughCacheRuleOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "credentialArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CredentialArn to be of type string, got %T instead", value) - } - sv.CredentialArn = ptr.String(jtv) - } - - case "customRoleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CustomRoleArn to be of type string, got %T instead", value) - } - sv.CustomRoleArn = ptr.String(jtv) - } - - case "ecrRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.EcrRepositoryPrefix = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "upstreamRegistryUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.UpstreamRegistryUrl = ptr.String(jtv) - } - - case "upstreamRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.UpstreamRepositoryPrefix = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteRegistryPolicyOutput(v **DeleteRegistryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteRegistryPolicyOutput - if *v == nil { - sv = &DeleteRegistryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteRepositoryCreationTemplateOutput(v **DeleteRepositoryCreationTemplateOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteRepositoryCreationTemplateOutput - if *v == nil { - sv = &DeleteRepositoryCreationTemplateOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryCreationTemplate": - if err := awsAwsjson11_deserializeDocumentRepositoryCreationTemplate(&sv.RepositoryCreationTemplate, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteRepositoryOutput(v **DeleteRepositoryOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteRepositoryOutput - if *v == nil { - sv = &DeleteRepositoryOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "repository": - if err := awsAwsjson11_deserializeDocumentRepository(&sv.Repository, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteRepositoryPolicyOutput(v **DeleteRepositoryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteRepositoryPolicyOutput - if *v == nil { - sv = &DeleteRepositoryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteSigningConfigurationOutput(v **DeleteSigningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteSigningConfigurationOutput - if *v == nil { - sv = &DeleteSigningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "signingConfiguration": - if err := awsAwsjson11_deserializeDocumentSigningConfiguration(&sv.SigningConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeregisterPullTimeUpdateExclusionOutput(v **DeregisterPullTimeUpdateExclusionOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeregisterPullTimeUpdateExclusionOutput - if *v == nil { - sv = &DeregisterPullTimeUpdateExclusionOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "principalArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PrincipalArn to be of type string, got %T instead", value) - } - sv.PrincipalArn = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeImageReplicationStatusOutput(v **DescribeImageReplicationStatusOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeImageReplicationStatusOutput - if *v == nil { - sv = &DescribeImageReplicationStatusOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "replicationStatuses": - if err := awsAwsjson11_deserializeDocumentImageReplicationStatusList(&sv.ReplicationStatuses, value); err != nil { - return err - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeImageScanFindingsOutput(v **DescribeImageScanFindingsOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeImageScanFindingsOutput - if *v == nil { - sv = &DescribeImageScanFindingsOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "imageScanFindings": - if err := awsAwsjson11_deserializeDocumentImageScanFindings(&sv.ImageScanFindings, value); err != nil { - return err - } - - case "imageScanStatus": - if err := awsAwsjson11_deserializeDocumentImageScanStatus(&sv.ImageScanStatus, value); err != nil { - return err - } - - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeImageSigningStatusOutput(v **DescribeImageSigningStatusOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeImageSigningStatusOutput - if *v == nil { - sv = &DescribeImageSigningStatusOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "signingStatuses": - if err := awsAwsjson11_deserializeDocumentImageSigningStatusList(&sv.SigningStatuses, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeImagesOutput(v **DescribeImagesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeImagesOutput - if *v == nil { - sv = &DescribeImagesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageDetails": - if err := awsAwsjson11_deserializeDocumentImageDetailList(&sv.ImageDetails, value); err != nil { - return err - } - - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribePullThroughCacheRulesOutput(v **DescribePullThroughCacheRulesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribePullThroughCacheRulesOutput - if *v == nil { - sv = &DescribePullThroughCacheRulesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "pullThroughCacheRules": - if err := awsAwsjson11_deserializeDocumentPullThroughCacheRuleList(&sv.PullThroughCacheRules, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeRegistryOutput(v **DescribeRegistryOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeRegistryOutput - if *v == nil { - sv = &DescribeRegistryOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "replicationConfiguration": - if err := awsAwsjson11_deserializeDocumentReplicationConfiguration(&sv.ReplicationConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeRepositoriesOutput(v **DescribeRepositoriesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeRepositoriesOutput - if *v == nil { - sv = &DescribeRepositoriesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "repositories": - if err := awsAwsjson11_deserializeDocumentRepositoryList(&sv.Repositories, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeRepositoryCreationTemplatesOutput(v **DescribeRepositoryCreationTemplatesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeRepositoryCreationTemplatesOutput - if *v == nil { - sv = &DescribeRepositoryCreationTemplatesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryCreationTemplates": - if err := awsAwsjson11_deserializeDocumentRepositoryCreationTemplateList(&sv.RepositoryCreationTemplates, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetAccountSettingOutput(v **GetAccountSettingOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetAccountSettingOutput - if *v == nil { - sv = &GetAccountSettingOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AccountSettingName to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "value": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AccountSettingName to be of type string, got %T instead", value) - } - sv.Value = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetAuthorizationTokenOutput(v **GetAuthorizationTokenOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetAuthorizationTokenOutput - if *v == nil { - sv = &GetAuthorizationTokenOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "authorizationData": - if err := awsAwsjson11_deserializeDocumentAuthorizationDataList(&sv.AuthorizationData, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetDownloadUrlForLayerOutput(v **GetDownloadUrlForLayerOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetDownloadUrlForLayerOutput - if *v == nil { - sv = &GetDownloadUrlForLayerOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "downloadUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.DownloadUrl = ptr.String(jtv) - } - - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetLifecyclePolicyOutput(v **GetLifecyclePolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetLifecyclePolicyOutput - if *v == nil { - sv = &GetLifecyclePolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lastEvaluatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastEvaluatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected EvaluationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "lifecyclePolicyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyText to be of type string, got %T instead", value) - } - sv.LifecyclePolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetLifecyclePolicyPreviewOutput(v **GetLifecyclePolicyPreviewOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetLifecyclePolicyPreviewOutput - if *v == nil { - sv = &GetLifecyclePolicyPreviewOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lifecyclePolicyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyText to be of type string, got %T instead", value) - } - sv.LifecyclePolicyText = ptr.String(jtv) - } - - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "previewResults": - if err := awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewResultList(&sv.PreviewResults, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyPreviewStatus to be of type string, got %T instead", value) - } - sv.Status = types.LifecyclePolicyPreviewStatus(jtv) - } - - case "summary": - if err := awsAwsjson11_deserializeDocumentLifecyclePolicyPreviewSummary(&sv.Summary, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetRegistryPolicyOutput(v **GetRegistryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetRegistryPolicyOutput - if *v == nil { - sv = &GetRegistryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetRegistryScanningConfigurationOutput(v **GetRegistryScanningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetRegistryScanningConfigurationOutput - if *v == nil { - sv = &GetRegistryScanningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "scanningConfiguration": - if err := awsAwsjson11_deserializeDocumentRegistryScanningConfiguration(&sv.ScanningConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetRepositoryPolicyOutput(v **GetRepositoryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetRepositoryPolicyOutput - if *v == nil { - sv = &GetRepositoryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetSigningConfigurationOutput(v **GetSigningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetSigningConfigurationOutput - if *v == nil { - sv = &GetSigningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "signingConfiguration": - if err := awsAwsjson11_deserializeDocumentSigningConfiguration(&sv.SigningConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentInitiateLayerUploadOutput(v **InitiateLayerUploadOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *InitiateLayerUploadOutput - if *v == nil { - sv = &InitiateLayerUploadOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "partSize": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PartSize to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.PartSize = ptr.Int64(i64) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentListImageReferrersOutput(v **ListImageReferrersOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *ListImageReferrersOutput - if *v == nil { - sv = &ListImageReferrersOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "referrers": - if err := awsAwsjson11_deserializeDocumentImageReferrerList(&sv.Referrers, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentListImagesOutput(v **ListImagesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *ListImagesOutput - if *v == nil { - sv = &ListImagesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageIds": - if err := awsAwsjson11_deserializeDocumentImageIdentifierList(&sv.ImageIds, value); err != nil { - return err - } - - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentListPullTimeUpdateExclusionsOutput(v **ListPullTimeUpdateExclusionsOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *ListPullTimeUpdateExclusionsOutput - if *v == nil { - sv = &ListPullTimeUpdateExclusionsOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "pullTimeUpdateExclusions": - if err := awsAwsjson11_deserializeDocumentPullTimeUpdateExclusionList(&sv.PullTimeUpdateExclusions, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *ListTagsForResourceOutput - if *v == nil { - sv = &ListTagsForResourceOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "tags": - if err := awsAwsjson11_deserializeDocumentTagList(&sv.Tags, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutAccountSettingOutput(v **PutAccountSettingOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutAccountSettingOutput - if *v == nil { - sv = &PutAccountSettingOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AccountSettingName to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "value": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AccountSettingValue to be of type string, got %T instead", value) - } - sv.Value = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutImageOutput(v **PutImageOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutImageOutput - if *v == nil { - sv = &PutImageOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "image": - if err := awsAwsjson11_deserializeDocumentImage(&sv.Image, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutImageScanningConfigurationOutput(v **PutImageScanningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutImageScanningConfigurationOutput - if *v == nil { - sv = &PutImageScanningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageScanningConfiguration": - if err := awsAwsjson11_deserializeDocumentImageScanningConfiguration(&sv.ImageScanningConfiguration, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutImageTagMutabilityOutput(v **PutImageTagMutabilityOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutImageTagMutabilityOutput - if *v == nil { - sv = &PutImageTagMutabilityOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageTagMutability": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTagMutability to be of type string, got %T instead", value) - } - sv.ImageTagMutability = types.ImageTagMutability(jtv) - } - - case "imageTagMutabilityExclusionFilters": - if err := awsAwsjson11_deserializeDocumentImageTagMutabilityExclusionFilters(&sv.ImageTagMutabilityExclusionFilters, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutLifecyclePolicyOutput(v **PutLifecyclePolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutLifecyclePolicyOutput - if *v == nil { - sv = &PutLifecyclePolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lifecyclePolicyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyText to be of type string, got %T instead", value) - } - sv.LifecyclePolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutRegistryPolicyOutput(v **PutRegistryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutRegistryPolicyOutput - if *v == nil { - sv = &PutRegistryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutRegistryScanningConfigurationOutput(v **PutRegistryScanningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutRegistryScanningConfigurationOutput - if *v == nil { - sv = &PutRegistryScanningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryScanningConfiguration": - if err := awsAwsjson11_deserializeDocumentRegistryScanningConfiguration(&sv.RegistryScanningConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutReplicationConfigurationOutput(v **PutReplicationConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutReplicationConfigurationOutput - if *v == nil { - sv = &PutReplicationConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "replicationConfiguration": - if err := awsAwsjson11_deserializeDocumentReplicationConfiguration(&sv.ReplicationConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutSigningConfigurationOutput(v **PutSigningConfigurationOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutSigningConfigurationOutput - if *v == nil { - sv = &PutSigningConfigurationOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "signingConfiguration": - if err := awsAwsjson11_deserializeDocumentSigningConfiguration(&sv.SigningConfiguration, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentRegisterPullTimeUpdateExclusionOutput(v **RegisterPullTimeUpdateExclusionOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *RegisterPullTimeUpdateExclusionOutput - if *v == nil { - sv = &RegisterPullTimeUpdateExclusionOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "principalArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PrincipalArn to be of type string, got %T instead", value) - } - sv.PrincipalArn = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentSetRepositoryPolicyOutput(v **SetRepositoryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *SetRepositoryPolicyOutput - if *v == nil { - sv = &SetRepositoryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentStartImageScanOutput(v **StartImageScanOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *StartImageScanOutput - if *v == nil { - sv = &StartImageScanOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "imageScanStatus": - if err := awsAwsjson11_deserializeDocumentImageScanStatus(&sv.ImageScanStatus, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentStartLifecyclePolicyPreviewOutput(v **StartLifecyclePolicyPreviewOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *StartLifecyclePolicyPreviewOutput - if *v == nil { - sv = &StartLifecyclePolicyPreviewOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lifecyclePolicyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyText to be of type string, got %T instead", value) - } - sv.LifecyclePolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LifecyclePolicyPreviewStatus to be of type string, got %T instead", value) - } - sv.Status = types.LifecyclePolicyPreviewStatus(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentTagResourceOutput(v **TagResourceOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *TagResourceOutput - if *v == nil { - sv = &TagResourceOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUntagResourceOutput(v **UntagResourceOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UntagResourceOutput - if *v == nil { - sv = &UntagResourceOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUpdateImageStorageClassOutput(v **UpdateImageStorageClassOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UpdateImageStorageClassOutput - if *v == nil { - sv = &UpdateImageStorageClassOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "imageStatus": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageStatus to be of type string, got %T instead", value) - } - sv.ImageStatus = types.ImageStatus(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUpdatePullThroughCacheRuleOutput(v **UpdatePullThroughCacheRuleOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UpdatePullThroughCacheRuleOutput - if *v == nil { - sv = &UpdatePullThroughCacheRuleOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "credentialArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CredentialArn to be of type string, got %T instead", value) - } - sv.CredentialArn = ptr.String(jtv) - } - - case "customRoleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CustomRoleArn to be of type string, got %T instead", value) - } - sv.CustomRoleArn = ptr.String(jtv) - } - - case "ecrRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.EcrRepositoryPrefix = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "updatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.UpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected UpdatedTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "upstreamRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.UpstreamRepositoryPrefix = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUpdateRepositoryCreationTemplateOutput(v **UpdateRepositoryCreationTemplateOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UpdateRepositoryCreationTemplateOutput - if *v == nil { - sv = &UpdateRepositoryCreationTemplateOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryCreationTemplate": - if err := awsAwsjson11_deserializeDocumentRepositoryCreationTemplate(&sv.RepositoryCreationTemplate, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUploadLayerPartOutput(v **UploadLayerPartOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UploadLayerPartOutput - if *v == nil { - sv = &UploadLayerPartOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lastByteReceived": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PartSize to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.LastByteReceived = ptr.Int64(i64) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentValidatePullThroughCacheRuleOutput(v **ValidatePullThroughCacheRuleOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *ValidatePullThroughCacheRuleOutput - if *v == nil { - sv = &ValidatePullThroughCacheRuleOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "credentialArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CredentialArn to be of type string, got %T instead", value) - } - sv.CredentialArn = ptr.String(jtv) - } - - case "customRoleArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected CustomRoleArn to be of type string, got %T instead", value) - } - sv.CustomRoleArn = ptr.String(jtv) - } - - case "ecrRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.EcrRepositoryPrefix = ptr.String(jtv) - } - - case "failure": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PTCValidateFailure to be of type string, got %T instead", value) - } - sv.Failure = ptr.String(jtv) - } - - case "isValid": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected IsPTCRuleValid to be of type *bool, got %T instead", value) - } - sv.IsValid = jtv - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "upstreamRegistryUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.UpstreamRegistryUrl = ptr.String(jtv) - } - - case "upstreamRepositoryPrefix": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected PullThroughCacheRuleRepositoryPrefix to be of type string, got %T instead", value) - } - sv.UpstreamRepositoryPrefix = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -type protocolErrorInfo struct { - Type string `json:"__type"` - Message string - Code any // nonstandard for awsjson but some services do present the type here -} - -func getProtocolErrorInfo(decoder *json.Decoder) (protocolErrorInfo, error) { - var errInfo protocolErrorInfo - if err := decoder.Decode(&errInfo); err != nil { - if err == io.EOF { - return errInfo, nil - } - return errInfo, err - } - - return errInfo, nil -} - -func resolveProtocolErrorType(headerType string, bodyInfo protocolErrorInfo) (string, bool) { - if len(headerType) != 0 { - return headerType, true - } else if len(bodyInfo.Type) != 0 { - return bodyInfo.Type, true - } else if code, ok := bodyInfo.Code.(string); ok && len(code) != 0 { - return code, true - } - return "", false -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/endpoints.go index 1ad88a73..c29aee2e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/endpoints.go @@ -14,6 +14,7 @@ import ( internalendpoints "github.com/aws/aws-sdk-go-v2/service/ecr/internal/endpoints" smithyauth "github.com/aws/smithy-go/auth" smithyendpoints "github.com/aws/smithy-go/endpoints" + "github.com/aws/smithy-go/endpoints/private/bdd" "github.com/aws/smithy-go/endpoints/private/rulesfn" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/ptr" @@ -229,6 +230,8 @@ func bindRegion(region string) (*string, error) { return aws.String(endpoints.MapFIPSRegion(region)), nil } +var _ = rulesfn.StringSlice(nil) + // EndpointParameters provides the parameters that influence how endpoints are // resolved. type EndpointParameters struct { @@ -294,21 +297,189 @@ func (p EndpointParameters) WithDefaults() EndpointParameters { return p } -type stringSlice []string +const bddRoot int32 = 2 -func (s stringSlice) Get(i int) *string { - if i < 0 || i >= len(s) { - return nil - } +var bddNodes = [72]int32{ + -1, 1, -1, 0, 23, 3, 1, 4, 100000013, 2, 5, 100000013, 3, 20, 6, 4, 20, 7, 5, 20, 8, 6, 20, 9, 7, 20, 10, 8, 20, 11, 9, 20, 12, 10, 20, 13, 11, 16, 14, 13, 15, 100000004, 14, 100000011, 100000012, 12, 18, 17, 13, 100000009, 100000010, 13, 19, 100000006, 14, 100000008, 100000009, 11, 22, 21, 13, 100000005, 100000004, 13, 100000007, 100000006, 11, 100000001, 24, 13, 100000002, 100000003} - v := s[i] - return &v +type conditionContext struct { + PartitionResult *awsrulesfn.PartitionConfig +} + +func evalCondition(idx int, params *EndpointParameters, c *conditionContext) bool { + switch idx { + case 0: + return params.Endpoint != nil + case 1: + return params.Region != nil + case 2: + if v := awsrulesfn.GetPartition(*params.Region); v != nil { + c.PartitionResult = v + return true + } + return false + case 3: + return c.PartitionResult.Name == "aws-eusc" + case 4: + return c.PartitionResult.Name == "aws-iso-f" + case 5: + return c.PartitionResult.Name == "aws-iso-e" + case 6: + return c.PartitionResult.Name == "aws-iso-b" + case 7: + return c.PartitionResult.Name == "aws-iso" + case 8: + return c.PartitionResult.Name == "aws-cn" + case 9: + return c.PartitionResult.Name == "aws-us-gov" + case 10: + return c.PartitionResult.Name == "aws" + case 11: + return *params.UseFIPS == true + case 12: + return c.PartitionResult.SupportsFIPS == true + case 13: + return *params.UseDualStack == true + case 14: + return c.PartitionResult.SupportsDualStack == true + } + return false +} + +func resolveResult(idx int32, params *EndpointParameters, c *conditionContext) (smithyendpoints.Endpoint, error) { + switch idx { + case 0: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint resolution failed: no matching rule") + case 1: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported") + case 2: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported") + case 3: + uriString := *params.Endpoint + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 4: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 5: + uriString := func() string { + var out strings.Builder + out.WriteString("https://ecr.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DualStackDnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 6: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr-fips.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 7: + uriString := func() string { + var out strings.Builder + out.WriteString("https://ecr-fips.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DualStackDnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 8: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr-fips.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DualStackDnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 9: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both") + case 10: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS") + case 11: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DualStackDnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 12: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack") + case 13: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region") + } + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, invalid result index: %d", idx) } // EndpointResolverV2 provides the interface for resolving service endpoints. type EndpointResolverV2 interface { - // ResolveEndpoint attempts to resolve the endpoint with the provided options, - // returning the endpoint if found. Otherwise an error is returned. ResolveEndpoint(ctx context.Context, params EndpointParameters) ( smithyendpoints.Endpoint, error, ) @@ -332,905 +503,12 @@ func (r *resolver) ResolveEndpoint( if err = params.ValidateRequired(); err != nil { return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err) } - _UseDualStack := *params.UseDualStack - _ = _UseDualStack - _UseFIPS := *params.UseFIPS - _ = _UseFIPS - - if exprVal := params.Endpoint; exprVal != nil { - _Endpoint := *exprVal - _ = _Endpoint - if _UseFIPS == true { - return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported") - } - if _UseDualStack == true { - return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported") - } - uriString := _Endpoint - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - if exprVal := params.Region; exprVal != nil { - _Region := *exprVal - _ = _Region - if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil { - _PartitionResult := *exprVal - _ = _PartitionResult - if _PartitionResult.Name == "aws" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-us-gov" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-us-gov" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-us-gov" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-us-gov" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-cn" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-cn" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-cn" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-cn" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-b" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-b" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-b" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-b" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-e" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-e" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-e" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-e" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-f" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-f" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-f" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-iso-f" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-eusc" { - if _UseFIPS == false { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-eusc" { - if _UseFIPS == false { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-eusc" { - if _UseFIPS == true { - if _UseDualStack == false { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _PartitionResult.Name == "aws-eusc" { - if _UseFIPS == true { - if _UseDualStack == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - } - if _UseFIPS == true { - if _UseDualStack == true { - if true == _PartitionResult.SupportsFIPS { - if true == _PartitionResult.SupportsDualStack { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both") - } - } - if _UseFIPS == true { - if _UseDualStack == false { - if _PartitionResult.SupportsFIPS == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS") - } - } - if _UseFIPS == false { - if _UseDualStack == true { - if true == _PartitionResult.SupportsDualStack { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack") - } - } - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - return endpoint, fmt.Errorf("Endpoint resolution failed. Invalid operation or environment input.") - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region") + c := &conditionContext{} + ref := bdd.Evaluate(bddNodes[:], bddRoot, func(idx int) bool { + return evalCondition(idx, ¶ms, c) + }) + return resolveResult(ref, ¶ms, c) } type endpointParamsBinder interface { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/generated.json index e11ac9a7..b740129d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/generated.json +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/generated.json @@ -67,7 +67,7 @@ "api_op_UploadLayerPart.go", "api_op_ValidatePullThroughCacheRule.go", "auth.go", - "deserializers.go", + "common_serde.go", "doc.go", "endpoints.go", "endpoints_config_test.go", @@ -76,16 +76,20 @@ "internal/endpoints/endpoints.go", "internal/endpoints/endpoints_test.go", "options.go", - "protocol_test.go", - "serializers.go", + "request_snapshot_test.go", + "response_snapshot_test.go", + "response_snapshot_update_test.go", + "schemas/schemas.go", "snapshot_test.go", "sra_operation_order_test.go", + "type_registry.go", + "types/common_serde.go", "types/enums.go", "types/errors.go", "types/types.go", "validators.go" ], - "go": "1.23", + "go": "1.24", "module": "github.com/aws/aws-sdk-go-v2/service/ecr", "unstable": false } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/go_module_metadata.go index 887e151c..778c1327 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/go_module_metadata.go @@ -3,4 +3,4 @@ package ecr // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.55.3" +const goModuleVersion = "1.66.3" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/options.go index a2992613..5bc83387 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/options.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/options.go @@ -44,6 +44,11 @@ type Options struct { // clients initial default settings. DefaultsMode aws.DefaultsMode + // Disables SDK clock skew correction. When set, the SDK will not adjust request + // signing timestamps to compensate for clock drift between the client and the + // service. + DisableClockSkewCorrection bool + // The endpoint options to be used when attempting to resolve an endpoint. EndpointOptions EndpointResolverOptions @@ -58,8 +63,7 @@ type Options struct { // the client option BaseEndpoint instead. EndpointResolver EndpointResolver - // Resolves the endpoint used for a particular service operation. This should be - // used over the deprecated EndpointResolver. + // Resolves the endpoint used for a particular service operation. EndpointResolverV2 EndpointResolverV2 // Signature Version 4 (SigV4) Signer @@ -115,6 +119,8 @@ type Options struct { // Currently does not support per operation call overrides, may in the future. resolvedDefaultsMode aws.DefaultsMode + Protocol smithyhttp.ClientProtocol + // The HTTP client to invoke API calls with. Defaults to client's default HTTP // implementation if nil. HTTPClient HTTPClient diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/schemas/schemas.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/schemas/schemas.go new file mode 100644 index 00000000..ad1d92d3 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/schemas/schemas.go @@ -0,0 +1,5041 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package schemas + +import ( + smithy "github.com/aws/smithy-go" + smithyprelude "github.com/aws/smithy-go/prelude" + smithytraits "github.com/aws/smithy-go/traits" +) + +var BatchCheckLayerAvailability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchCheckLayerAvailability", +}, smithy.ShapeTypeOperation, 0) + +var BatchDeleteImage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchDeleteImage", +}, smithy.ShapeTypeOperation, 0) + +var BatchGetImage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchGetImage", +}, smithy.ShapeTypeOperation, 0) + +var BatchGetRepositoryScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchGetRepositoryScanningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var CompleteLayerUpload = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CompleteLayerUpload", +}, smithy.ShapeTypeOperation, 0) + +var CreatePullThroughCacheRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreatePullThroughCacheRule", +}, smithy.ShapeTypeOperation, 0) + +var CreateRepository = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreateRepository", +}, smithy.ShapeTypeOperation, 0) + +var CreateRepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreateRepositoryCreationTemplate", +}, smithy.ShapeTypeOperation, 0) + +var DeleteLifecyclePolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteLifecyclePolicy", +}, smithy.ShapeTypeOperation, 0) + +var DeletePullThroughCacheRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeletePullThroughCacheRule", +}, smithy.ShapeTypeOperation, 0) + +var DeleteRegistryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRegistryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var DeleteRepository = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepository", +}, smithy.ShapeTypeOperation, 0) + +var DeleteRepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryCreationTemplate", +}, smithy.ShapeTypeOperation, 0) + +var DeleteRepositoryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var DeleteSigningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteSigningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var DeregisterPullTimeUpdateExclusion = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeregisterPullTimeUpdateExclusion", +}, smithy.ShapeTypeOperation, 0) + +var DescribeImageReplicationStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageReplicationStatus", +}, smithy.ShapeTypeOperation, 0) + +var DescribeImages = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImages", +}, smithy.ShapeTypeOperation, 0) + +var DescribeImageScanFindings = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageScanFindings", +}, smithy.ShapeTypeOperation, 0) + +var DescribeImageSigningStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageSigningStatus", +}, smithy.ShapeTypeOperation, 0) + +var DescribePullThroughCacheRules = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribePullThroughCacheRules", +}, smithy.ShapeTypeOperation, 0) + +var DescribeRegistry = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRegistry", +}, smithy.ShapeTypeOperation, 0) + +var DescribeRepositories = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRepositories", +}, smithy.ShapeTypeOperation, 0) + +var DescribeRepositoryCreationTemplates = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRepositoryCreationTemplates", +}, smithy.ShapeTypeOperation, 0) + +var GetAccountSetting = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAccountSetting", +}, smithy.ShapeTypeOperation, 0) + +var GetAuthorizationToken = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAuthorizationToken", +}, smithy.ShapeTypeOperation, 0) + +var GetDownloadUrlForLayer = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetDownloadUrlForLayer", +}, smithy.ShapeTypeOperation, 0) + +var GetLifecyclePolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetLifecyclePolicy", +}, smithy.ShapeTypeOperation, 0) + +var GetLifecyclePolicyPreview = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetLifecyclePolicyPreview", +}, smithy.ShapeTypeOperation, 0) + +var GetRegistryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRegistryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var GetRegistryScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRegistryScanningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var GetRepositoryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRepositoryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var GetSigningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetSigningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var InitiateLayerUpload = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InitiateLayerUpload", +}, smithy.ShapeTypeOperation, 0) + +var ListImageReferrers = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImageReferrers", +}, smithy.ShapeTypeOperation, 0) + +var ListImages = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImages", +}, smithy.ShapeTypeOperation, 0) + +var ListPullTimeUpdateExclusions = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListPullTimeUpdateExclusions", +}, smithy.ShapeTypeOperation, 0) + +var ListTagsForResource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListTagsForResource", +}, smithy.ShapeTypeOperation, 0) + +var PutAccountSetting = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutAccountSetting", +}, smithy.ShapeTypeOperation, 0) + +var PutImage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImage", +}, smithy.ShapeTypeOperation, 0) + +var PutImageScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageScanningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var PutImageTagMutability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageTagMutability", +}, smithy.ShapeTypeOperation, 0) + +var PutLifecyclePolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutLifecyclePolicy", +}, smithy.ShapeTypeOperation, 0) + +var PutRegistryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutRegistryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var PutRegistryScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutRegistryScanningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var PutReplicationConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutReplicationConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var PutSigningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutSigningConfiguration", +}, smithy.ShapeTypeOperation, 0) + +var RegisterPullTimeUpdateExclusion = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegisterPullTimeUpdateExclusion", +}, smithy.ShapeTypeOperation, 0) + +var SetRepositoryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SetRepositoryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var StartImageScan = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "StartImageScan", +}, smithy.ShapeTypeOperation, 0) + +var StartLifecyclePolicyPreview = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "StartLifecyclePolicyPreview", +}, smithy.ShapeTypeOperation, 0) + +var TagResource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagResource", +}, smithy.ShapeTypeOperation, 0) + +var UntagResource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UntagResource", +}, smithy.ShapeTypeOperation, 0) + +var UpdateImageStorageClass = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdateImageStorageClass", +}, smithy.ShapeTypeOperation, 0) + +var UpdatePullThroughCacheRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdatePullThroughCacheRule", +}, smithy.ShapeTypeOperation, 0) + +var UpdateRepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdateRepositoryCreationTemplate", +}, smithy.ShapeTypeOperation, 0) + +var UploadLayerPart = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UploadLayerPart", +}, smithy.ShapeTypeOperation, 0) + +var ValidatePullThroughCacheRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ValidatePullThroughCacheRule", +}, smithy.ShapeTypeOperation, 0) + +var _AmazonEC2ContainerRegistry_V20150921 = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AmazonEC2ContainerRegistry_V20150921", +}, smithy.ShapeTypeService, 0, &smithytraits.XMLNamespace{URI: "http://ecr.amazonaws.com/doc/2015-09-21/"}) + +var AmazonEC2ContainerRegistry_V20150921 = smithy.NewServiceSchema(_AmazonEC2ContainerRegistry_V20150921, "2015-09-21") + +var _AccountSettingName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AccountSettingName", +}, smithy.ShapeTypeString, 0) + +var _AccountSettingValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AccountSettingValue", +}, smithy.ShapeTypeString, 0) + +var _Annotations = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Annotations", +}, smithy.ShapeTypeMap, 2) +var _Annotations_key *smithy.Schema + +var _Annotations_value *smithy.Schema + +var _Arch = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Arch", +}, smithy.ShapeTypeString, 0) + +var _Arn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Arn", +}, smithy.ShapeTypeString, 0) + +var ArtifactStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ArtifactStatus", +}, smithy.ShapeTypeEnum, 3) +var ArtifactStatus_ACTIVE *smithy.Schema + +var ArtifactStatus_ARCHIVED *smithy.Schema + +var ArtifactStatus_ACTIVATING *smithy.Schema + +var ArtifactStatusFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ArtifactStatusFilter", +}, smithy.ShapeTypeEnum, 4) +var ArtifactStatusFilter_ACTIVE *smithy.Schema + +var ArtifactStatusFilter_ARCHIVED *smithy.Schema + +var ArtifactStatusFilter_ACTIVATING *smithy.Schema + +var ArtifactStatusFilter_ANY *smithy.Schema + +var _ArtifactType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ArtifactType", +}, smithy.ShapeTypeString, 0) + +var _ArtifactTypeList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ArtifactTypeList", +}, smithy.ShapeTypeList, 1) +var _ArtifactTypeList_member *smithy.Schema + +var Attribute = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Attribute", +}, smithy.ShapeTypeStructure, 2) +var Attribute_key *smithy.Schema + +var Attribute_value *smithy.Schema + +var _AttributeKey = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AttributeKey", +}, smithy.ShapeTypeString, 0) + +var _AttributeList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AttributeList", +}, smithy.ShapeTypeList, 1) +var _AttributeList_member *smithy.Schema + +var _AttributeValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AttributeValue", +}, smithy.ShapeTypeString, 0) + +var _Author = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Author", +}, smithy.ShapeTypeString, 0) + +var AuthorizationData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AuthorizationData", +}, smithy.ShapeTypeStructure, 3) +var AuthorizationData_authorizationToken *smithy.Schema + +var AuthorizationData_expiresAt *smithy.Schema + +var AuthorizationData_proxyEndpoint *smithy.Schema + +var _AuthorizationDataList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AuthorizationDataList", +}, smithy.ShapeTypeList, 1) +var _AuthorizationDataList_member *smithy.Schema + +var AwsEcrContainerImageDetails = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "AwsEcrContainerImageDetails", +}, smithy.ShapeTypeStructure, 10) +var AwsEcrContainerImageDetails_architecture *smithy.Schema + +var AwsEcrContainerImageDetails_author *smithy.Schema + +var AwsEcrContainerImageDetails_imageHash *smithy.Schema + +var AwsEcrContainerImageDetails_imageTags *smithy.Schema + +var AwsEcrContainerImageDetails_platform *smithy.Schema + +var AwsEcrContainerImageDetails_pushedAt *smithy.Schema + +var AwsEcrContainerImageDetails_lastInUseAt *smithy.Schema + +var AwsEcrContainerImageDetails_inUseCount *smithy.Schema + +var AwsEcrContainerImageDetails_registry *smithy.Schema + +var AwsEcrContainerImageDetails_repositoryName *smithy.Schema + +var _Base64 = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Base64", +}, smithy.ShapeTypeString, 0) + +var _BaseScore = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BaseScore", +}, smithy.ShapeTypeDouble, 0) + +var _BatchedOperationLayerDigest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchedOperationLayerDigest", +}, smithy.ShapeTypeString, 0) + +var _BatchedOperationLayerDigestList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchedOperationLayerDigestList", +}, smithy.ShapeTypeList, 1) +var _BatchedOperationLayerDigestList_member *smithy.Schema + +var BlockedByOrganizationPolicyException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BlockedByOrganizationPolicyException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var BlockedByOrganizationPolicyException_message *smithy.Schema + +var _CreationTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreationTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _CredentialArn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CredentialArn", +}, smithy.ShapeTypeString, 0) + +var _CustomRoleArn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CustomRoleArn", +}, smithy.ShapeTypeString, 0) + +var CvssScore = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CvssScore", +}, smithy.ShapeTypeStructure, 4) +var CvssScore_baseScore *smithy.Schema + +var CvssScore_scoringVector *smithy.Schema + +var CvssScore_source *smithy.Schema + +var CvssScore_version *smithy.Schema + +var CvssScoreAdjustment = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CvssScoreAdjustment", +}, smithy.ShapeTypeStructure, 2) +var CvssScoreAdjustment_metric *smithy.Schema + +var CvssScoreAdjustment_reason *smithy.Schema + +var _CvssScoreAdjustmentList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CvssScoreAdjustmentList", +}, smithy.ShapeTypeList, 1) +var _CvssScoreAdjustmentList_member *smithy.Schema + +var CvssScoreDetails = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CvssScoreDetails", +}, smithy.ShapeTypeStructure, 5) +var CvssScoreDetails_adjustments *smithy.Schema + +var CvssScoreDetails_score *smithy.Schema + +var CvssScoreDetails_scoreSource *smithy.Schema + +var CvssScoreDetails_scoringVector *smithy.Schema + +var CvssScoreDetails_version *smithy.Schema + +var _CvssScoreList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CvssScoreList", +}, smithy.ShapeTypeList, 1) +var _CvssScoreList_member *smithy.Schema + +var _Date = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Date", +}, smithy.ShapeTypeTimestamp, 0) + +var DescribeImagesFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImagesFilter", +}, smithy.ShapeTypeStructure, 2) +var DescribeImagesFilter_tagStatus *smithy.Schema + +var DescribeImagesFilter_imageStatus *smithy.Schema + +var EmptyUploadException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EmptyUploadException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var EmptyUploadException_message *smithy.Schema + +var EncryptionConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EncryptionConfiguration", +}, smithy.ShapeTypeStructure, 2) +var EncryptionConfiguration_encryptionType *smithy.Schema + +var EncryptionConfiguration_kmsKey *smithy.Schema + +var EncryptionConfigurationForRepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EncryptionConfigurationForRepositoryCreationTemplate", +}, smithy.ShapeTypeStructure, 2) +var EncryptionConfigurationForRepositoryCreationTemplate_encryptionType *smithy.Schema + +var EncryptionConfigurationForRepositoryCreationTemplate_kmsKey *smithy.Schema + +var EncryptionType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EncryptionType", +}, smithy.ShapeTypeEnum, 3) +var EncryptionType_AES256 *smithy.Schema + +var EncryptionType_KMS *smithy.Schema + +var EncryptionType_KMS_DSSE *smithy.Schema + +var EnhancedImageScanFinding = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EnhancedImageScanFinding", +}, smithy.ShapeTypeStructure, 17) +var EnhancedImageScanFinding_awsAccountId *smithy.Schema + +var EnhancedImageScanFinding_description *smithy.Schema + +var EnhancedImageScanFinding_findingArn *smithy.Schema + +var EnhancedImageScanFinding_firstObservedAt *smithy.Schema + +var EnhancedImageScanFinding_lastObservedAt *smithy.Schema + +var EnhancedImageScanFinding_packageVulnerabilityDetails *smithy.Schema + +var EnhancedImageScanFinding_remediation *smithy.Schema + +var EnhancedImageScanFinding_resources *smithy.Schema + +var EnhancedImageScanFinding_score *smithy.Schema + +var EnhancedImageScanFinding_scoreDetails *smithy.Schema + +var EnhancedImageScanFinding_severity *smithy.Schema + +var EnhancedImageScanFinding_status *smithy.Schema + +var EnhancedImageScanFinding_title *smithy.Schema + +var EnhancedImageScanFinding_type *smithy.Schema + +var EnhancedImageScanFinding_updatedAt *smithy.Schema + +var EnhancedImageScanFinding_fixAvailable *smithy.Schema + +var EnhancedImageScanFinding_exploitAvailable *smithy.Schema + +var _EnhancedImageScanFindingList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EnhancedImageScanFindingList", +}, smithy.ShapeTypeList, 1) +var _EnhancedImageScanFindingList_member *smithy.Schema + +var _Epoch = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Epoch", +}, smithy.ShapeTypeInteger, 0) + +var _EvaluationTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "EvaluationTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _ExceptionMessage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ExceptionMessage", +}, smithy.ShapeTypeString, 0) + +var ExclusionAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ExclusionAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ExclusionAlreadyExistsException_message *smithy.Schema + +var ExclusionNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ExclusionNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ExclusionNotFoundException_message *smithy.Schema + +var _ExpirationTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ExpirationTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _ExploitAvailable = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ExploitAvailable", +}, smithy.ShapeTypeString, 0) + +var _FiftyMaxResults = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FiftyMaxResults", +}, smithy.ShapeTypeInteger, 0) + +var _FilePath = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FilePath", +}, smithy.ShapeTypeString, 0) + +var _FindingArn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FindingArn", +}, smithy.ShapeTypeString, 0) + +var _FindingDescription = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FindingDescription", +}, smithy.ShapeTypeString, 0) + +var _FindingName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FindingName", +}, smithy.ShapeTypeString, 0) + +var FindingSeverity = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FindingSeverity", +}, smithy.ShapeTypeEnum, 6) +var FindingSeverity_INFORMATIONAL *smithy.Schema + +var FindingSeverity_LOW *smithy.Schema + +var FindingSeverity_MEDIUM *smithy.Schema + +var FindingSeverity_HIGH *smithy.Schema + +var FindingSeverity_CRITICAL *smithy.Schema + +var FindingSeverity_UNDEFINED *smithy.Schema + +var _FindingSeverityCounts = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FindingSeverityCounts", +}, smithy.ShapeTypeMap, 2) +var _FindingSeverityCounts_key *smithy.Schema + +var _FindingSeverityCounts_value *smithy.Schema + +var _FixAvailable = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FixAvailable", +}, smithy.ShapeTypeString, 0) + +var _FixedInVersion = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "FixedInVersion", +}, smithy.ShapeTypeString, 0) + +var _ForceFlag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ForceFlag", +}, smithy.ShapeTypeBoolean, 0) + +var _GetAuthorizationTokenRegistryIdList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAuthorizationTokenRegistryIdList", +}, smithy.ShapeTypeList, 1) +var _GetAuthorizationTokenRegistryIdList_member *smithy.Schema + +var Image = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Image", +}, smithy.ShapeTypeStructure, 5) +var Image_registryId *smithy.Schema + +var Image_repositoryName *smithy.Schema + +var Image_imageId *smithy.Schema + +var Image_imageManifest *smithy.Schema + +var Image_imageManifestMediaType *smithy.Schema + +var ImageActionType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageActionType", +}, smithy.ShapeTypeEnum, 2) +var ImageActionType_EXPIRE *smithy.Schema + +var ImageActionType_TRANSITION *smithy.Schema + +var ImageAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageAlreadyExistsException_message *smithy.Schema + +var ImageArchivedException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageArchivedException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageArchivedException_message *smithy.Schema + +var _ImageCount = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageCount", +}, smithy.ShapeTypeInteger, 0) + +var ImageDetail = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageDetail", +}, smithy.ShapeTypeStructure, 15) +var ImageDetail_registryId *smithy.Schema + +var ImageDetail_repositoryName *smithy.Schema + +var ImageDetail_imageDigest *smithy.Schema + +var ImageDetail_imageTags *smithy.Schema + +var ImageDetail_imageSizeInBytes *smithy.Schema + +var ImageDetail_imagePushedAt *smithy.Schema + +var ImageDetail_imageScanStatus *smithy.Schema + +var ImageDetail_imageScanFindingsSummary *smithy.Schema + +var ImageDetail_imageManifestMediaType *smithy.Schema + +var ImageDetail_artifactMediaType *smithy.Schema + +var ImageDetail_lastRecordedPullTime *smithy.Schema + +var ImageDetail_subjectManifestDigest *smithy.Schema + +var ImageDetail_imageStatus *smithy.Schema + +var ImageDetail_lastArchivedAt *smithy.Schema + +var ImageDetail_lastActivatedAt *smithy.Schema + +var _ImageDetailList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageDetailList", +}, smithy.ShapeTypeList, 1) +var _ImageDetailList_member *smithy.Schema + +var _ImageDigest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageDigest", +}, smithy.ShapeTypeString, 0) + +var ImageDigestDoesNotMatchException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageDigestDoesNotMatchException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageDigestDoesNotMatchException_message *smithy.Schema + +var ImageFailure = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageFailure", +}, smithy.ShapeTypeStructure, 3) +var ImageFailure_imageId *smithy.Schema + +var ImageFailure_failureCode *smithy.Schema + +var ImageFailure_failureReason *smithy.Schema + +var ImageFailureCode = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageFailureCode", +}, smithy.ShapeTypeEnum, 11) +var ImageFailureCode_InvalidImageDigest *smithy.Schema + +var ImageFailureCode_InvalidImageTag *smithy.Schema + +var ImageFailureCode_ImageTagDoesNotMatchDigest *smithy.Schema + +var ImageFailureCode_ImageNotFound *smithy.Schema + +var ImageFailureCode_MissingDigestAndTag *smithy.Schema + +var ImageFailureCode_ImageReferencedByManifestList *smithy.Schema + +var ImageFailureCode_KmsError *smithy.Schema + +var ImageFailureCode_UpstreamAccessDenied *smithy.Schema + +var ImageFailureCode_UpstreamTooManyRequests *smithy.Schema + +var ImageFailureCode_UpstreamUnavailable *smithy.Schema + +var ImageFailureCode_ImageInaccessible *smithy.Schema + +var _ImageFailureList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageFailureList", +}, smithy.ShapeTypeList, 1) +var _ImageFailureList_member *smithy.Schema + +var _ImageFailureReason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageFailureReason", +}, smithy.ShapeTypeString, 0) + +var ImageIdentifier = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageIdentifier", +}, smithy.ShapeTypeStructure, 2) +var ImageIdentifier_imageDigest *smithy.Schema + +var ImageIdentifier_imageTag *smithy.Schema + +var _ImageIdentifierList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageIdentifierList", +}, smithy.ShapeTypeList, 1) +var _ImageIdentifierList_member *smithy.Schema + +var _ImageList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageList", +}, smithy.ShapeTypeList, 1) +var _ImageList_member *smithy.Schema + +var _ImageManifest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageManifest", +}, smithy.ShapeTypeString, 0) + +var ImageNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageNotFoundException_message *smithy.Schema + +var ImageReferrer = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageReferrer", +}, smithy.ShapeTypeStructure, 6) +var ImageReferrer_digest *smithy.Schema + +var ImageReferrer_mediaType *smithy.Schema + +var ImageReferrer_artifactType *smithy.Schema + +var ImageReferrer_size *smithy.Schema + +var ImageReferrer_annotations *smithy.Schema + +var ImageReferrer_artifactStatus *smithy.Schema + +var _ImageReferrerList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageReferrerList", +}, smithy.ShapeTypeList, 1) +var _ImageReferrerList_member *smithy.Schema + +var ImageReplicationStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageReplicationStatus", +}, smithy.ShapeTypeStructure, 4) +var ImageReplicationStatus_region *smithy.Schema + +var ImageReplicationStatus_registryId *smithy.Schema + +var ImageReplicationStatus_status *smithy.Schema + +var ImageReplicationStatus_failureCode *smithy.Schema + +var _ImageReplicationStatusList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageReplicationStatusList", +}, smithy.ShapeTypeList, 1) +var _ImageReplicationStatusList_member *smithy.Schema + +var ImageScanFinding = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageScanFinding", +}, smithy.ShapeTypeStructure, 5) +var ImageScanFinding_name *smithy.Schema + +var ImageScanFinding_description *smithy.Schema + +var ImageScanFinding_uri *smithy.Schema + +var ImageScanFinding_severity *smithy.Schema + +var ImageScanFinding_attributes *smithy.Schema + +var _ImageScanFindingList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageScanFindingList", +}, smithy.ShapeTypeList, 1) +var _ImageScanFindingList_member *smithy.Schema + +var ImageScanFindings = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageScanFindings", +}, smithy.ShapeTypeStructure, 5) +var ImageScanFindings_imageScanCompletedAt *smithy.Schema + +var ImageScanFindings_vulnerabilitySourceUpdatedAt *smithy.Schema + +var ImageScanFindings_findingSeverityCounts *smithy.Schema + +var ImageScanFindings_findings *smithy.Schema + +var ImageScanFindings_enhancedFindings *smithy.Schema + +var ImageScanFindingsSummary = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageScanFindingsSummary", +}, smithy.ShapeTypeStructure, 3) +var ImageScanFindingsSummary_imageScanCompletedAt *smithy.Schema + +var ImageScanFindingsSummary_vulnerabilitySourceUpdatedAt *smithy.Schema + +var ImageScanFindingsSummary_findingSeverityCounts *smithy.Schema + +var ImageScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageScanningConfiguration", +}, smithy.ShapeTypeStructure, 1) +var ImageScanningConfiguration_scanOnPush *smithy.Schema + +var ImageScanStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageScanStatus", +}, smithy.ShapeTypeStructure, 2) +var ImageScanStatus_status *smithy.Schema + +var ImageScanStatus_description *smithy.Schema + +var ImageSigningStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageSigningStatus", +}, smithy.ShapeTypeStructure, 4) +var ImageSigningStatus_signingProfileArn *smithy.Schema + +var ImageSigningStatus_failureCode *smithy.Schema + +var ImageSigningStatus_failureReason *smithy.Schema + +var ImageSigningStatus_status *smithy.Schema + +var _ImageSigningStatusList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageSigningStatusList", +}, smithy.ShapeTypeList, 1) +var _ImageSigningStatusList_member *smithy.Schema + +var _ImageSizeInBytes = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageSizeInBytes", +}, smithy.ShapeTypeLong, 0) + +var ImageStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageStatus", +}, smithy.ShapeTypeEnum, 3) +var ImageStatus_ACTIVE *smithy.Schema + +var ImageStatus_ARCHIVED *smithy.Schema + +var ImageStatus_ACTIVATING *smithy.Schema + +var ImageStatusFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageStatusFilter", +}, smithy.ShapeTypeEnum, 4) +var ImageStatusFilter_ACTIVE *smithy.Schema + +var ImageStatusFilter_ARCHIVED *smithy.Schema + +var ImageStatusFilter_ACTIVATING *smithy.Schema + +var ImageStatusFilter_ANY *smithy.Schema + +var ImageStorageClassUpdateNotSupportedException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageStorageClassUpdateNotSupportedException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageStorageClassUpdateNotSupportedException_message *smithy.Schema + +var _ImageTag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTag", +}, smithy.ShapeTypeString, 0) + +var ImageTagAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageTagAlreadyExistsException_message *smithy.Schema + +var _ImageTagList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagList", +}, smithy.ShapeTypeList, 1) +var _ImageTagList_member *smithy.Schema + +var ImageTagMutability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagMutability", +}, smithy.ShapeTypeEnum, 4) +var ImageTagMutability_MUTABLE *smithy.Schema + +var ImageTagMutability_IMMUTABLE *smithy.Schema + +var ImageTagMutability_IMMUTABLE_WITH_EXCLUSION *smithy.Schema + +var ImageTagMutability_MUTABLE_WITH_EXCLUSION *smithy.Schema + +var ImageTagMutabilityExclusionFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagMutabilityExclusionFilter", +}, smithy.ShapeTypeStructure, 2) +var ImageTagMutabilityExclusionFilter_filterType *smithy.Schema + +var ImageTagMutabilityExclusionFilter_filter *smithy.Schema + +var _ImageTagMutabilityExclusionFilters = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagMutabilityExclusionFilters", +}, smithy.ShapeTypeList, 1) +var _ImageTagMutabilityExclusionFilters_member *smithy.Schema + +var ImageTagMutabilityExclusionFilterType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagMutabilityExclusionFilterType", +}, smithy.ShapeTypeEnum, 1) +var ImageTagMutabilityExclusionFilterType_WILDCARD *smithy.Schema + +var _ImageTagMutabilityExclusionFilterValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagMutabilityExclusionFilterValue", +}, smithy.ShapeTypeString, 0) + +var _ImageTagsList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ImageTagsList", +}, smithy.ShapeTypeList, 1) +var _ImageTagsList_member *smithy.Schema + +var _InUseCount = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InUseCount", +}, smithy.ShapeTypeLong, 0) + +var InvalidLayerException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InvalidLayerException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var InvalidLayerException_message *smithy.Schema + +var InvalidLayerPartException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InvalidLayerPartException", +}, smithy.ShapeTypeStructure, 5, &smithytraits.Error{Type: "client"}) +var InvalidLayerPartException_registryId *smithy.Schema + +var InvalidLayerPartException_repositoryName *smithy.Schema + +var InvalidLayerPartException_uploadId *smithy.Schema + +var InvalidLayerPartException_lastValidByteReceived *smithy.Schema + +var InvalidLayerPartException_message *smithy.Schema + +var InvalidParameterException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InvalidParameterException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var InvalidParameterException_message *smithy.Schema + +var InvalidTagParameterException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InvalidTagParameterException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var InvalidTagParameterException_message *smithy.Schema + +var _IsPTCRuleValid = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "IsPTCRuleValid", +}, smithy.ShapeTypeBoolean, 0) + +var _KmsError = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "KmsError", +}, smithy.ShapeTypeString, 0) + +var KmsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "KmsException", +}, smithy.ShapeTypeStructure, 2, &smithytraits.Error{Type: "client"}) +var KmsException_message *smithy.Schema + +var KmsException_kmsError *smithy.Schema + +var _KmsKey = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "KmsKey", +}, smithy.ShapeTypeString, 0) + +var _KmsKeyForRepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "KmsKeyForRepositoryCreationTemplate", +}, smithy.ShapeTypeString, 0) + +var _LastActivatedAtTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LastActivatedAtTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _LastArchivedAtTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LastArchivedAtTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var Layer = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Layer", +}, smithy.ShapeTypeStructure, 4) +var Layer_layerDigest *smithy.Schema + +var Layer_layerAvailability *smithy.Schema + +var Layer_layerSize *smithy.Schema + +var Layer_mediaType *smithy.Schema + +var LayerAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayerAlreadyExistsException_message *smithy.Schema + +var LayerAvailability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerAvailability", +}, smithy.ShapeTypeEnum, 3) +var LayerAvailability_AVAILABLE *smithy.Schema + +var LayerAvailability_UNAVAILABLE *smithy.Schema + +var LayerAvailability_ARCHIVED *smithy.Schema + +var _LayerDigest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerDigest", +}, smithy.ShapeTypeString, 0) + +var _LayerDigestList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerDigestList", +}, smithy.ShapeTypeList, 1) +var _LayerDigestList_member *smithy.Schema + +var LayerFailure = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerFailure", +}, smithy.ShapeTypeStructure, 3) +var LayerFailure_layerDigest *smithy.Schema + +var LayerFailure_failureCode *smithy.Schema + +var LayerFailure_failureReason *smithy.Schema + +var LayerFailureCode = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerFailureCode", +}, smithy.ShapeTypeEnum, 2) +var LayerFailureCode_InvalidLayerDigest *smithy.Schema + +var LayerFailureCode_MissingLayerDigest *smithy.Schema + +var _LayerFailureList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerFailureList", +}, smithy.ShapeTypeList, 1) +var _LayerFailureList_member *smithy.Schema + +var _LayerFailureReason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerFailureReason", +}, smithy.ShapeTypeString, 0) + +var LayerInaccessibleException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerInaccessibleException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayerInaccessibleException_message *smithy.Schema + +var _LayerList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerList", +}, smithy.ShapeTypeList, 1) +var _LayerList_member *smithy.Schema + +var _LayerPartBlob = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerPartBlob", +}, smithy.ShapeTypeBlob, 0) + +var LayerPartTooSmallException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerPartTooSmallException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayerPartTooSmallException_message *smithy.Schema + +var _LayerSizeInBytes = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayerSizeInBytes", +}, smithy.ShapeTypeLong, 0) + +var LayersNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LayersNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayersNotFoundException_message *smithy.Schema + +var LifecyclePolicyNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LifecyclePolicyNotFoundException_message *smithy.Schema + +var LifecyclePolicyPreviewFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewFilter", +}, smithy.ShapeTypeStructure, 1) +var LifecyclePolicyPreviewFilter_tagStatus *smithy.Schema + +var LifecyclePolicyPreviewInProgressException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewInProgressException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LifecyclePolicyPreviewInProgressException_message *smithy.Schema + +var LifecyclePolicyPreviewNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LifecyclePolicyPreviewNotFoundException_message *smithy.Schema + +var LifecyclePolicyPreviewResult = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewResult", +}, smithy.ShapeTypeStructure, 6) +var LifecyclePolicyPreviewResult_imageTags *smithy.Schema + +var LifecyclePolicyPreviewResult_imageDigest *smithy.Schema + +var LifecyclePolicyPreviewResult_imagePushedAt *smithy.Schema + +var LifecyclePolicyPreviewResult_action *smithy.Schema + +var LifecyclePolicyPreviewResult_appliedRulePriority *smithy.Schema + +var LifecyclePolicyPreviewResult_storageClass *smithy.Schema + +var _LifecyclePolicyPreviewResultList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewResultList", +}, smithy.ShapeTypeList, 1) +var _LifecyclePolicyPreviewResultList_member *smithy.Schema + +var LifecyclePolicyPreviewStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewStatus", +}, smithy.ShapeTypeEnum, 4) +var LifecyclePolicyPreviewStatus_IN_PROGRESS *smithy.Schema + +var LifecyclePolicyPreviewStatus_COMPLETE *smithy.Schema + +var LifecyclePolicyPreviewStatus_EXPIRED *smithy.Schema + +var LifecyclePolicyPreviewStatus_FAILED *smithy.Schema + +var LifecyclePolicyPreviewSummary = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyPreviewSummary", +}, smithy.ShapeTypeStructure, 2) +var LifecyclePolicyPreviewSummary_expiringImageTotalCount *smithy.Schema + +var LifecyclePolicyPreviewSummary_transitioningImageTotalCounts *smithy.Schema + +var LifecyclePolicyRuleAction = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyRuleAction", +}, smithy.ShapeTypeStructure, 2) +var LifecyclePolicyRuleAction_type *smithy.Schema + +var LifecyclePolicyRuleAction_targetStorageClass *smithy.Schema + +var _LifecyclePolicyRulePriority = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyRulePriority", +}, smithy.ShapeTypeInteger, 0) + +var LifecyclePolicyStorageClass = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyStorageClass", +}, smithy.ShapeTypeEnum, 2) +var LifecyclePolicyStorageClass_ARCHIVE *smithy.Schema + +var LifecyclePolicyStorageClass_STANDARD *smithy.Schema + +var LifecyclePolicyTargetStorageClass = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyTargetStorageClass", +}, smithy.ShapeTypeEnum, 1) +var LifecyclePolicyTargetStorageClass_ARCHIVE *smithy.Schema + +var _LifecyclePolicyText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyText", +}, smithy.ShapeTypeString, 0) + +var _LifecyclePolicyTextForRepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePolicyTextForRepositoryCreationTemplate", +}, smithy.ShapeTypeString, 0) + +var _LifecyclePreviewMaxResults = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LifecyclePreviewMaxResults", +}, smithy.ShapeTypeInteger, 0) + +var LimitExceededException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "LimitExceededException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LimitExceededException_message *smithy.Schema + +var ListImageReferrersFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImageReferrersFilter", +}, smithy.ShapeTypeStructure, 2) +var ListImageReferrersFilter_artifactTypes *smithy.Schema + +var ListImageReferrersFilter_artifactStatus *smithy.Schema + +var ListImagesFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImagesFilter", +}, smithy.ShapeTypeStructure, 2) +var ListImagesFilter_tagStatus *smithy.Schema + +var ListImagesFilter_imageStatus *smithy.Schema + +var _MaxResults = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "MaxResults", +}, smithy.ShapeTypeInteger, 0) + +var _MediaType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "MediaType", +}, smithy.ShapeTypeString, 0) + +var _MediaTypeList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "MediaTypeList", +}, smithy.ShapeTypeList, 1) +var _MediaTypeList_member *smithy.Schema + +var _Metric = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Metric", +}, smithy.ShapeTypeString, 0) + +var _NextToken = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "NextToken", +}, smithy.ShapeTypeString, 0) + +var _PackageManager = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PackageManager", +}, smithy.ShapeTypeString, 0) + +var PackageVulnerabilityDetails = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PackageVulnerabilityDetails", +}, smithy.ShapeTypeStructure, 10) +var PackageVulnerabilityDetails_cvss *smithy.Schema + +var PackageVulnerabilityDetails_referenceUrls *smithy.Schema + +var PackageVulnerabilityDetails_relatedVulnerabilities *smithy.Schema + +var PackageVulnerabilityDetails_source *smithy.Schema + +var PackageVulnerabilityDetails_sourceUrl *smithy.Schema + +var PackageVulnerabilityDetails_vendorCreatedAt *smithy.Schema + +var PackageVulnerabilityDetails_vendorSeverity *smithy.Schema + +var PackageVulnerabilityDetails_vendorUpdatedAt *smithy.Schema + +var PackageVulnerabilityDetails_vulnerabilityId *smithy.Schema + +var PackageVulnerabilityDetails_vulnerablePackages *smithy.Schema + +var _PartSize = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PartSize", +}, smithy.ShapeTypeLong, 0) + +var _Platform = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Platform", +}, smithy.ShapeTypeString, 0) + +var _Prefix = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Prefix", +}, smithy.ShapeTypeString, 0) + +var _PrefixList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PrefixList", +}, smithy.ShapeTypeList, 1) +var _PrefixList_member *smithy.Schema + +var _PrincipalArn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PrincipalArn", +}, smithy.ShapeTypeString, 0) + +var _ProxyEndpoint = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ProxyEndpoint", +}, smithy.ShapeTypeString, 0) + +var _PTCValidateFailure = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PTCValidateFailure", +}, smithy.ShapeTypeString, 0) + +var PullThroughCacheRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullThroughCacheRule", +}, smithy.ShapeTypeStructure, 9) +var PullThroughCacheRule_ecrRepositoryPrefix *smithy.Schema + +var PullThroughCacheRule_upstreamRegistryUrl *smithy.Schema + +var PullThroughCacheRule_createdAt *smithy.Schema + +var PullThroughCacheRule_registryId *smithy.Schema + +var PullThroughCacheRule_credentialArn *smithy.Schema + +var PullThroughCacheRule_customRoleArn *smithy.Schema + +var PullThroughCacheRule_upstreamRepositoryPrefix *smithy.Schema + +var PullThroughCacheRule_upstreamRegistry *smithy.Schema + +var PullThroughCacheRule_updatedAt *smithy.Schema + +var PullThroughCacheRuleAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullThroughCacheRuleAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var PullThroughCacheRuleAlreadyExistsException_message *smithy.Schema + +var _PullThroughCacheRuleList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullThroughCacheRuleList", +}, smithy.ShapeTypeList, 1) +var _PullThroughCacheRuleList_member *smithy.Schema + +var PullThroughCacheRuleNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullThroughCacheRuleNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var PullThroughCacheRuleNotFoundException_message *smithy.Schema + +var _PullThroughCacheRuleRepositoryPrefix = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullThroughCacheRuleRepositoryPrefix", +}, smithy.ShapeTypeString, 0) + +var _PullThroughCacheRuleRepositoryPrefixList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullThroughCacheRuleRepositoryPrefixList", +}, smithy.ShapeTypeList, 1) +var _PullThroughCacheRuleRepositoryPrefixList_member *smithy.Schema + +var _PullTimeUpdateExclusionList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PullTimeUpdateExclusionList", +}, smithy.ShapeTypeList, 1) +var _PullTimeUpdateExclusionList_member *smithy.Schema + +var _PushTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PushTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var RCTAppliedFor = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RCTAppliedFor", +}, smithy.ShapeTypeEnum, 3) +var RCTAppliedFor_REPLICATION *smithy.Schema + +var RCTAppliedFor_PULL_THROUGH_CACHE *smithy.Schema + +var RCTAppliedFor_CREATE_ON_PUSH *smithy.Schema + +var _RCTAppliedForList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RCTAppliedForList", +}, smithy.ShapeTypeList, 1) +var _RCTAppliedForList_member *smithy.Schema + +var _Reason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Reason", +}, smithy.ShapeTypeString, 0) + +var Recommendation = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Recommendation", +}, smithy.ShapeTypeStructure, 2) +var Recommendation_url *smithy.Schema + +var Recommendation_text *smithy.Schema + +var _RecommendationText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RecommendationText", +}, smithy.ShapeTypeString, 0) + +var _RecordedPullTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RecordedPullTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var ReferencedImagesNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReferencedImagesNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ReferencedImagesNotFoundException_message *smithy.Schema + +var _ReferenceUrlsList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReferenceUrlsList", +}, smithy.ShapeTypeList, 1) +var _ReferenceUrlsList_member *smithy.Schema + +var _Region = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Region", +}, smithy.ShapeTypeString, 0) + +var _RegistryId = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegistryId", +}, smithy.ShapeTypeString, 0) + +var RegistryPolicyNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegistryPolicyNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RegistryPolicyNotFoundException_message *smithy.Schema + +var _RegistryPolicyText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegistryPolicyText", +}, smithy.ShapeTypeString, 0) + +var RegistryScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegistryScanningConfiguration", +}, smithy.ShapeTypeStructure, 2) +var RegistryScanningConfiguration_scanType *smithy.Schema + +var RegistryScanningConfiguration_rules *smithy.Schema + +var RegistryScanningRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegistryScanningRule", +}, smithy.ShapeTypeStructure, 2) +var RegistryScanningRule_scanFrequency *smithy.Schema + +var RegistryScanningRule_repositoryFilters *smithy.Schema + +var _RegistryScanningRuleList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegistryScanningRuleList", +}, smithy.ShapeTypeList, 1) +var _RegistryScanningRuleList_member *smithy.Schema + +var _RelatedVulnerabilitiesList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RelatedVulnerabilitiesList", +}, smithy.ShapeTypeList, 1) +var _RelatedVulnerabilitiesList_member *smithy.Schema + +var _RelatedVulnerability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RelatedVulnerability", +}, smithy.ShapeTypeString, 0) + +var _Release = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Release", +}, smithy.ShapeTypeString, 0) + +var Remediation = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Remediation", +}, smithy.ShapeTypeStructure, 1) +var Remediation_recommendation *smithy.Schema + +var ReplicationConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationConfiguration", +}, smithy.ShapeTypeStructure, 1) +var ReplicationConfiguration_rules *smithy.Schema + +var ReplicationDestination = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationDestination", +}, smithy.ShapeTypeStructure, 2) +var ReplicationDestination_region *smithy.Schema + +var ReplicationDestination_registryId *smithy.Schema + +var _ReplicationDestinationList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationDestinationList", +}, smithy.ShapeTypeList, 1) +var _ReplicationDestinationList_member *smithy.Schema + +var _ReplicationError = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationError", +}, smithy.ShapeTypeString, 0) + +var ReplicationRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationRule", +}, smithy.ShapeTypeStructure, 2) +var ReplicationRule_destinations *smithy.Schema + +var ReplicationRule_repositoryFilters *smithy.Schema + +var _ReplicationRuleList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationRuleList", +}, smithy.ShapeTypeList, 1) +var _ReplicationRuleList_member *smithy.Schema + +var ReplicationStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ReplicationStatus", +}, smithy.ShapeTypeEnum, 3) +var ReplicationStatus_IN_PROGRESS *smithy.Schema + +var ReplicationStatus_COMPLETE *smithy.Schema + +var ReplicationStatus_FAILED *smithy.Schema + +var Repository = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Repository", +}, smithy.ShapeTypeStructure, 9) +var Repository_repositoryArn *smithy.Schema + +var Repository_registryId *smithy.Schema + +var Repository_repositoryName *smithy.Schema + +var Repository_repositoryUri *smithy.Schema + +var Repository_createdAt *smithy.Schema + +var Repository_imageTagMutability *smithy.Schema + +var Repository_imageTagMutabilityExclusionFilters *smithy.Schema + +var Repository_imageScanningConfiguration *smithy.Schema + +var Repository_encryptionConfiguration *smithy.Schema + +var RepositoryAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryAlreadyExistsException_message *smithy.Schema + +var RepositoryCreationTemplate = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryCreationTemplate", +}, smithy.ShapeTypeStructure, 12) +var RepositoryCreationTemplate_prefix *smithy.Schema + +var RepositoryCreationTemplate_description *smithy.Schema + +var RepositoryCreationTemplate_encryptionConfiguration *smithy.Schema + +var RepositoryCreationTemplate_resourceTags *smithy.Schema + +var RepositoryCreationTemplate_imageTagMutability *smithy.Schema + +var RepositoryCreationTemplate_imageTagMutabilityExclusionFilters *smithy.Schema + +var RepositoryCreationTemplate_repositoryPolicy *smithy.Schema + +var RepositoryCreationTemplate_lifecyclePolicy *smithy.Schema + +var RepositoryCreationTemplate_appliedFor *smithy.Schema + +var RepositoryCreationTemplate_customRoleArn *smithy.Schema + +var RepositoryCreationTemplate_createdAt *smithy.Schema + +var RepositoryCreationTemplate_updatedAt *smithy.Schema + +var _RepositoryCreationTemplateList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryCreationTemplateList", +}, smithy.ShapeTypeList, 1) +var _RepositoryCreationTemplateList_member *smithy.Schema + +var RepositoryFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryFilter", +}, smithy.ShapeTypeStructure, 2) +var RepositoryFilter_filter *smithy.Schema + +var RepositoryFilter_filterType *smithy.Schema + +var _RepositoryFilterList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryFilterList", +}, smithy.ShapeTypeList, 1) +var _RepositoryFilterList_member *smithy.Schema + +var RepositoryFilterType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryFilterType", +}, smithy.ShapeTypeEnum, 1) +var RepositoryFilterType_PREFIX_MATCH *smithy.Schema + +var _RepositoryFilterValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryFilterValue", +}, smithy.ShapeTypeString, 0) + +var _RepositoryList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryList", +}, smithy.ShapeTypeList, 1) +var _RepositoryList_member *smithy.Schema + +var _RepositoryName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryName", +}, smithy.ShapeTypeString, 0) + +var _RepositoryNameList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryNameList", +}, smithy.ShapeTypeList, 1) +var _RepositoryNameList_member *smithy.Schema + +var RepositoryNotEmptyException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryNotEmptyException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryNotEmptyException_message *smithy.Schema + +var RepositoryNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryNotFoundException_message *smithy.Schema + +var RepositoryPolicyNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryPolicyNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryPolicyNotFoundException_message *smithy.Schema + +var _RepositoryPolicyText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryPolicyText", +}, smithy.ShapeTypeString, 0) + +var RepositoryScanningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryScanningConfiguration", +}, smithy.ShapeTypeStructure, 5) +var RepositoryScanningConfiguration_repositoryArn *smithy.Schema + +var RepositoryScanningConfiguration_repositoryName *smithy.Schema + +var RepositoryScanningConfiguration_scanOnPush *smithy.Schema + +var RepositoryScanningConfiguration_scanFrequency *smithy.Schema + +var RepositoryScanningConfiguration_appliedScanFilters *smithy.Schema + +var RepositoryScanningConfigurationFailure = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryScanningConfigurationFailure", +}, smithy.ShapeTypeStructure, 3) +var RepositoryScanningConfigurationFailure_repositoryName *smithy.Schema + +var RepositoryScanningConfigurationFailure_failureCode *smithy.Schema + +var RepositoryScanningConfigurationFailure_failureReason *smithy.Schema + +var _RepositoryScanningConfigurationFailureList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryScanningConfigurationFailureList", +}, smithy.ShapeTypeList, 1) +var _RepositoryScanningConfigurationFailureList_member *smithy.Schema + +var _RepositoryScanningConfigurationList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryScanningConfigurationList", +}, smithy.ShapeTypeList, 1) +var _RepositoryScanningConfigurationList_member *smithy.Schema + +var _RepositoryTemplateDescription = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RepositoryTemplateDescription", +}, smithy.ShapeTypeString, 0) + +var Resource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Resource", +}, smithy.ShapeTypeStructure, 4) +var Resource_details *smithy.Schema + +var Resource_id *smithy.Schema + +var Resource_tags *smithy.Schema + +var Resource_type *smithy.Schema + +var ResourceDetails = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ResourceDetails", +}, smithy.ShapeTypeStructure, 1) +var ResourceDetails_awsEcrContainerImage *smithy.Schema + +var _ResourceId = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ResourceId", +}, smithy.ShapeTypeString, 0) + +var _ResourceList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ResourceList", +}, smithy.ShapeTypeList, 1) +var _ResourceList_member *smithy.Schema + +var ScanFrequency = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanFrequency", +}, smithy.ShapeTypeEnum, 3) +var ScanFrequency_SCAN_ON_PUSH *smithy.Schema + +var ScanFrequency_CONTINUOUS_SCAN *smithy.Schema + +var ScanFrequency_MANUAL *smithy.Schema + +var ScanningConfigurationFailureCode = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningConfigurationFailureCode", +}, smithy.ShapeTypeEnum, 1) +var ScanningConfigurationFailureCode_REPOSITORY_NOT_FOUND *smithy.Schema + +var _ScanningConfigurationFailureReason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningConfigurationFailureReason", +}, smithy.ShapeTypeString, 0) + +var _ScanningConfigurationRepositoryNameList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningConfigurationRepositoryNameList", +}, smithy.ShapeTypeList, 1) +var _ScanningConfigurationRepositoryNameList_member *smithy.Schema + +var ScanningRepositoryFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningRepositoryFilter", +}, smithy.ShapeTypeStructure, 2) +var ScanningRepositoryFilter_filter *smithy.Schema + +var ScanningRepositoryFilter_filterType *smithy.Schema + +var _ScanningRepositoryFilterList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningRepositoryFilterList", +}, smithy.ShapeTypeList, 1) +var _ScanningRepositoryFilterList_member *smithy.Schema + +var ScanningRepositoryFilterType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningRepositoryFilterType", +}, smithy.ShapeTypeEnum, 1) +var ScanningRepositoryFilterType_WILDCARD *smithy.Schema + +var _ScanningRepositoryFilterValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanningRepositoryFilterValue", +}, smithy.ShapeTypeString, 0) + +var ScanNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ScanNotFoundException_message *smithy.Schema + +var _ScanOnPushFlag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanOnPushFlag", +}, smithy.ShapeTypeBoolean, 0) + +var ScanStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanStatus", +}, smithy.ShapeTypeEnum, 10) +var ScanStatus_IN_PROGRESS *smithy.Schema + +var ScanStatus_COMPLETE *smithy.Schema + +var ScanStatus_FAILED *smithy.Schema + +var ScanStatus_UNSUPPORTED_IMAGE *smithy.Schema + +var ScanStatus_ACTIVE *smithy.Schema + +var ScanStatus_PENDING *smithy.Schema + +var ScanStatus_SCAN_ELIGIBILITY_EXPIRED *smithy.Schema + +var ScanStatus_FINDINGS_UNAVAILABLE *smithy.Schema + +var ScanStatus_LIMIT_EXCEEDED *smithy.Schema + +var ScanStatus_IMAGE_ARCHIVED *smithy.Schema + +var _ScanStatusDescription = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanStatusDescription", +}, smithy.ShapeTypeString, 0) + +var _ScanTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var ScanType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScanType", +}, smithy.ShapeTypeEnum, 2) +var ScanType_BASIC *smithy.Schema + +var ScanType_ENHANCED *smithy.Schema + +var _Score = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Score", +}, smithy.ShapeTypeDouble, 0) + +var ScoreDetails = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScoreDetails", +}, smithy.ShapeTypeStructure, 1) +var ScoreDetails_cvss *smithy.Schema + +var _ScoringVector = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ScoringVector", +}, smithy.ShapeTypeString, 0) + +var SecretNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SecretNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var SecretNotFoundException_message *smithy.Schema + +var ServerException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ServerException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "server"}) +var ServerException_message *smithy.Schema + +var _Severity = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Severity", +}, smithy.ShapeTypeString, 0) + +var _SeverityCount = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SeverityCount", +}, smithy.ShapeTypeInteger, 0) + +var SigningConfiguration = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningConfiguration", +}, smithy.ShapeTypeStructure, 1) +var SigningConfiguration_rules *smithy.Schema + +var SigningConfigurationNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningConfigurationNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var SigningConfigurationNotFoundException_message *smithy.Schema + +var _SigningProfileArn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningProfileArn", +}, smithy.ShapeTypeString, 0) + +var SigningRepositoryFilter = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningRepositoryFilter", +}, smithy.ShapeTypeStructure, 2) +var SigningRepositoryFilter_filter *smithy.Schema + +var SigningRepositoryFilter_filterType *smithy.Schema + +var _SigningRepositoryFilterList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningRepositoryFilterList", +}, smithy.ShapeTypeList, 1) +var _SigningRepositoryFilterList_member *smithy.Schema + +var SigningRepositoryFilterType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningRepositoryFilterType", +}, smithy.ShapeTypeEnum, 1) +var SigningRepositoryFilterType_WILDCARD_MATCH *smithy.Schema + +var _SigningRepositoryFilterValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningRepositoryFilterValue", +}, smithy.ShapeTypeString, 0) + +var SigningRule = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningRule", +}, smithy.ShapeTypeStructure, 2) +var SigningRule_signingProfileArn *smithy.Schema + +var SigningRule_repositoryFilters *smithy.Schema + +var _SigningRuleList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningRuleList", +}, smithy.ShapeTypeList, 1) +var _SigningRuleList_member *smithy.Schema + +var SigningStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningStatus", +}, smithy.ShapeTypeEnum, 3) +var SigningStatus_IN_PROGRESS *smithy.Schema + +var SigningStatus_COMPLETE *smithy.Schema + +var SigningStatus_FAILED *smithy.Schema + +var _SigningStatusFailureCode = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningStatusFailureCode", +}, smithy.ShapeTypeString, 0) + +var _SigningStatusFailureReason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SigningStatusFailureReason", +}, smithy.ShapeTypeString, 0) + +var _Source = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Source", +}, smithy.ShapeTypeString, 0) + +var _SourceLayerHash = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SourceLayerHash", +}, smithy.ShapeTypeString, 0) + +var _Status = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Status", +}, smithy.ShapeTypeString, 0) + +var _String = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "String", +}, smithy.ShapeTypeString, 0) + +var SubjectIdentifier = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SubjectIdentifier", +}, smithy.ShapeTypeStructure, 1) +var SubjectIdentifier_imageDigest *smithy.Schema + +var Tag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Tag", +}, smithy.ShapeTypeStructure, 2) +var Tag_Key *smithy.Schema + +var Tag_Value *smithy.Schema + +var _TagKey = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagKey", +}, smithy.ShapeTypeString, 0) + +var _TagKeyList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagKeyList", +}, smithy.ShapeTypeList, 1) +var _TagKeyList_member *smithy.Schema + +var _TagList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagList", +}, smithy.ShapeTypeList, 1) +var _TagList_member *smithy.Schema + +var _Tags = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Tags", +}, smithy.ShapeTypeMap, 2) +var _Tags_key *smithy.Schema + +var _Tags_value *smithy.Schema + +var TagStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagStatus", +}, smithy.ShapeTypeEnum, 3) +var TagStatus_TAGGED *smithy.Schema + +var TagStatus_UNTAGGED *smithy.Schema + +var TagStatus_ANY *smithy.Schema + +var _TagValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagValue", +}, smithy.ShapeTypeString, 0) + +var TargetStorageClass = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TargetStorageClass", +}, smithy.ShapeTypeEnum, 2) +var TargetStorageClass_STANDARD *smithy.Schema + +var TargetStorageClass_ARCHIVE *smithy.Schema + +var TemplateAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TemplateAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var TemplateAlreadyExistsException_message *smithy.Schema + +var TemplateNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TemplateNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var TemplateNotFoundException_message *smithy.Schema + +var _Title = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Title", +}, smithy.ShapeTypeString, 0) + +var TooManyTagsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TooManyTagsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var TooManyTagsException_message *smithy.Schema + +var TransitioningImageTotalCount = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TransitioningImageTotalCount", +}, smithy.ShapeTypeStructure, 2) +var TransitioningImageTotalCount_targetStorageClass *smithy.Schema + +var TransitioningImageTotalCount_imageTotalCount *smithy.Schema + +var _TransitioningImageTotalCounts = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TransitioningImageTotalCounts", +}, smithy.ShapeTypeList, 1) +var _TransitioningImageTotalCounts_member *smithy.Schema + +var _Type = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Type", +}, smithy.ShapeTypeString, 0) + +var UnableToAccessSecretException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnableToAccessSecretException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnableToAccessSecretException_message *smithy.Schema + +var UnableToDecryptSecretValueException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnableToDecryptSecretValueException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnableToDecryptSecretValueException_message *smithy.Schema + +var UnableToGetUpstreamImageException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnableToGetUpstreamImageException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnableToGetUpstreamImageException_message *smithy.Schema + +var UnableToGetUpstreamLayerException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnableToGetUpstreamLayerException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnableToGetUpstreamLayerException_message *smithy.Schema + +var UnableToListUpstreamImageReferrersException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnableToListUpstreamImageReferrersException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnableToListUpstreamImageReferrersException_message *smithy.Schema + +var UnsupportedImageTypeException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnsupportedImageTypeException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnsupportedImageTypeException_message *smithy.Schema + +var UnsupportedUpstreamRegistryException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UnsupportedUpstreamRegistryException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnsupportedUpstreamRegistryException_message *smithy.Schema + +var _UpdatedTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdatedTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _UploadId = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UploadId", +}, smithy.ShapeTypeString, 0) + +var UploadNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UploadNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UploadNotFoundException_message *smithy.Schema + +var UpstreamRegistry = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpstreamRegistry", +}, smithy.ShapeTypeEnum, 9) +var UpstreamRegistry_Ecr *smithy.Schema + +var UpstreamRegistry_EcrPublic *smithy.Schema + +var UpstreamRegistry_Quay *smithy.Schema + +var UpstreamRegistry_K8s *smithy.Schema + +var UpstreamRegistry_DockerHub *smithy.Schema + +var UpstreamRegistry_GitHubContainerRegistry *smithy.Schema + +var UpstreamRegistry_AzureContainerRegistry *smithy.Schema + +var UpstreamRegistry_GitLabContainerRegistry *smithy.Schema + +var UpstreamRegistry_Chainguard *smithy.Schema + +var _Url = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Url", +}, smithy.ShapeTypeString, 0) + +var ValidationException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ValidationException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}, + &smithytraits.HTTPError{Code: 400}) +var ValidationException_message *smithy.Schema + +var _Version = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "Version", +}, smithy.ShapeTypeString, 0) + +var _VulnerabilityId = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "VulnerabilityId", +}, smithy.ShapeTypeString, 0) + +var _VulnerabilitySourceUpdateTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "VulnerabilitySourceUpdateTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var VulnerablePackage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "VulnerablePackage", +}, smithy.ShapeTypeStructure, 9) +var VulnerablePackage_arch *smithy.Schema + +var VulnerablePackage_epoch *smithy.Schema + +var VulnerablePackage_filePath *smithy.Schema + +var VulnerablePackage_name *smithy.Schema + +var VulnerablePackage_packageManager *smithy.Schema + +var VulnerablePackage_release *smithy.Schema + +var VulnerablePackage_sourceLayerHash *smithy.Schema + +var VulnerablePackage_version *smithy.Schema + +var VulnerablePackage_fixedInVersion *smithy.Schema + +var _VulnerablePackageName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "VulnerablePackageName", +}, smithy.ShapeTypeString, 0) + +var _VulnerablePackagesList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "VulnerablePackagesList", +}, smithy.ShapeTypeList, 1) +var _VulnerablePackagesList_member *smithy.Schema + +var BatchCheckLayerAvailabilityRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchCheckLayerAvailabilityRequest", +}, smithy.ShapeTypeStructure, 3) +var BatchCheckLayerAvailabilityRequest_registryId *smithy.Schema + +var BatchCheckLayerAvailabilityRequest_repositoryName *smithy.Schema + +var BatchCheckLayerAvailabilityRequest_layerDigests *smithy.Schema + +var BatchCheckLayerAvailabilityResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchCheckLayerAvailabilityResponse", +}, smithy.ShapeTypeStructure, 2) +var BatchCheckLayerAvailabilityResponse_layers *smithy.Schema + +var BatchCheckLayerAvailabilityResponse_failures *smithy.Schema + +var BatchDeleteImageRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchDeleteImageRequest", +}, smithy.ShapeTypeStructure, 3) +var BatchDeleteImageRequest_registryId *smithy.Schema + +var BatchDeleteImageRequest_repositoryName *smithy.Schema + +var BatchDeleteImageRequest_imageIds *smithy.Schema + +var BatchDeleteImageResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchDeleteImageResponse", +}, smithy.ShapeTypeStructure, 2) +var BatchDeleteImageResponse_imageIds *smithy.Schema + +var BatchDeleteImageResponse_failures *smithy.Schema + +var BatchGetImageRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchGetImageRequest", +}, smithy.ShapeTypeStructure, 4) +var BatchGetImageRequest_registryId *smithy.Schema + +var BatchGetImageRequest_repositoryName *smithy.Schema + +var BatchGetImageRequest_imageIds *smithy.Schema + +var BatchGetImageRequest_acceptedMediaTypes *smithy.Schema + +var BatchGetImageResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchGetImageResponse", +}, smithy.ShapeTypeStructure, 2) +var BatchGetImageResponse_images *smithy.Schema + +var BatchGetImageResponse_failures *smithy.Schema + +var BatchGetRepositoryScanningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchGetRepositoryScanningConfigurationRequest", +}, smithy.ShapeTypeStructure, 1) +var BatchGetRepositoryScanningConfigurationRequest_repositoryNames *smithy.Schema + +var BatchGetRepositoryScanningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "BatchGetRepositoryScanningConfigurationResponse", +}, smithy.ShapeTypeStructure, 2) +var BatchGetRepositoryScanningConfigurationResponse_scanningConfigurations *smithy.Schema + +var BatchGetRepositoryScanningConfigurationResponse_failures *smithy.Schema + +var CompleteLayerUploadRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CompleteLayerUploadRequest", +}, smithy.ShapeTypeStructure, 4) +var CompleteLayerUploadRequest_registryId *smithy.Schema + +var CompleteLayerUploadRequest_repositoryName *smithy.Schema + +var CompleteLayerUploadRequest_uploadId *smithy.Schema + +var CompleteLayerUploadRequest_layerDigests *smithy.Schema + +var CompleteLayerUploadResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CompleteLayerUploadResponse", +}, smithy.ShapeTypeStructure, 4) +var CompleteLayerUploadResponse_registryId *smithy.Schema + +var CompleteLayerUploadResponse_repositoryName *smithy.Schema + +var CompleteLayerUploadResponse_uploadId *smithy.Schema + +var CompleteLayerUploadResponse_layerDigest *smithy.Schema + +var CreatePullThroughCacheRuleRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreatePullThroughCacheRuleRequest", +}, smithy.ShapeTypeStructure, 7) +var CreatePullThroughCacheRuleRequest_ecrRepositoryPrefix *smithy.Schema + +var CreatePullThroughCacheRuleRequest_upstreamRegistryUrl *smithy.Schema + +var CreatePullThroughCacheRuleRequest_registryId *smithy.Schema + +var CreatePullThroughCacheRuleRequest_upstreamRegistry *smithy.Schema + +var CreatePullThroughCacheRuleRequest_credentialArn *smithy.Schema + +var CreatePullThroughCacheRuleRequest_customRoleArn *smithy.Schema + +var CreatePullThroughCacheRuleRequest_upstreamRepositoryPrefix *smithy.Schema + +var CreatePullThroughCacheRuleResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreatePullThroughCacheRuleResponse", +}, smithy.ShapeTypeStructure, 8) +var CreatePullThroughCacheRuleResponse_ecrRepositoryPrefix *smithy.Schema + +var CreatePullThroughCacheRuleResponse_upstreamRegistryUrl *smithy.Schema + +var CreatePullThroughCacheRuleResponse_createdAt *smithy.Schema + +var CreatePullThroughCacheRuleResponse_registryId *smithy.Schema + +var CreatePullThroughCacheRuleResponse_upstreamRegistry *smithy.Schema + +var CreatePullThroughCacheRuleResponse_credentialArn *smithy.Schema + +var CreatePullThroughCacheRuleResponse_customRoleArn *smithy.Schema + +var CreatePullThroughCacheRuleResponse_upstreamRepositoryPrefix *smithy.Schema + +var CreateRepositoryCreationTemplateRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreateRepositoryCreationTemplateRequest", +}, smithy.ShapeTypeStructure, 10) +var CreateRepositoryCreationTemplateRequest_prefix *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_description *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_encryptionConfiguration *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_resourceTags *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_imageTagMutability *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_imageTagMutabilityExclusionFilters *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_repositoryPolicy *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_lifecyclePolicy *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_appliedFor *smithy.Schema + +var CreateRepositoryCreationTemplateRequest_customRoleArn *smithy.Schema + +var CreateRepositoryCreationTemplateResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreateRepositoryCreationTemplateResponse", +}, smithy.ShapeTypeStructure, 2) +var CreateRepositoryCreationTemplateResponse_registryId *smithy.Schema + +var CreateRepositoryCreationTemplateResponse_repositoryCreationTemplate *smithy.Schema + +var CreateRepositoryRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreateRepositoryRequest", +}, smithy.ShapeTypeStructure, 7) +var CreateRepositoryRequest_registryId *smithy.Schema + +var CreateRepositoryRequest_repositoryName *smithy.Schema + +var CreateRepositoryRequest_tags *smithy.Schema + +var CreateRepositoryRequest_imageTagMutability *smithy.Schema + +var CreateRepositoryRequest_imageTagMutabilityExclusionFilters *smithy.Schema + +var CreateRepositoryRequest_imageScanningConfiguration *smithy.Schema + +var CreateRepositoryRequest_encryptionConfiguration *smithy.Schema + +var CreateRepositoryResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "CreateRepositoryResponse", +}, smithy.ShapeTypeStructure, 1) +var CreateRepositoryResponse_repository *smithy.Schema + +var DeleteLifecyclePolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteLifecyclePolicyRequest", +}, smithy.ShapeTypeStructure, 2) +var DeleteLifecyclePolicyRequest_registryId *smithy.Schema + +var DeleteLifecyclePolicyRequest_repositoryName *smithy.Schema + +var DeleteLifecyclePolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteLifecyclePolicyResponse", +}, smithy.ShapeTypeStructure, 4) +var DeleteLifecyclePolicyResponse_registryId *smithy.Schema + +var DeleteLifecyclePolicyResponse_repositoryName *smithy.Schema + +var DeleteLifecyclePolicyResponse_lifecyclePolicyText *smithy.Schema + +var DeleteLifecyclePolicyResponse_lastEvaluatedAt *smithy.Schema + +var DeletePullThroughCacheRuleRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeletePullThroughCacheRuleRequest", +}, smithy.ShapeTypeStructure, 2) +var DeletePullThroughCacheRuleRequest_ecrRepositoryPrefix *smithy.Schema + +var DeletePullThroughCacheRuleRequest_registryId *smithy.Schema + +var DeletePullThroughCacheRuleResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeletePullThroughCacheRuleResponse", +}, smithy.ShapeTypeStructure, 7) +var DeletePullThroughCacheRuleResponse_ecrRepositoryPrefix *smithy.Schema + +var DeletePullThroughCacheRuleResponse_upstreamRegistryUrl *smithy.Schema + +var DeletePullThroughCacheRuleResponse_createdAt *smithy.Schema + +var DeletePullThroughCacheRuleResponse_registryId *smithy.Schema + +var DeletePullThroughCacheRuleResponse_credentialArn *smithy.Schema + +var DeletePullThroughCacheRuleResponse_customRoleArn *smithy.Schema + +var DeletePullThroughCacheRuleResponse_upstreamRepositoryPrefix *smithy.Schema + +var DeleteRegistryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRegistryPolicyRequest", +}, smithy.ShapeTypeStructure, 0) + +var DeleteRegistryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRegistryPolicyResponse", +}, smithy.ShapeTypeStructure, 2) +var DeleteRegistryPolicyResponse_registryId *smithy.Schema + +var DeleteRegistryPolicyResponse_policyText *smithy.Schema + +var DeleteRepositoryCreationTemplateRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryCreationTemplateRequest", +}, smithy.ShapeTypeStructure, 1) +var DeleteRepositoryCreationTemplateRequest_prefix *smithy.Schema + +var DeleteRepositoryCreationTemplateResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryCreationTemplateResponse", +}, smithy.ShapeTypeStructure, 2) +var DeleteRepositoryCreationTemplateResponse_registryId *smithy.Schema + +var DeleteRepositoryCreationTemplateResponse_repositoryCreationTemplate *smithy.Schema + +var DeleteRepositoryRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryRequest", +}, smithy.ShapeTypeStructure, 3) +var DeleteRepositoryRequest_registryId *smithy.Schema + +var DeleteRepositoryRequest_repositoryName *smithy.Schema + +var DeleteRepositoryRequest_force *smithy.Schema + +var DeleteRepositoryResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryResponse", +}, smithy.ShapeTypeStructure, 1) +var DeleteRepositoryResponse_repository *smithy.Schema + +var DeleteRepositoryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryPolicyRequest", +}, smithy.ShapeTypeStructure, 2) +var DeleteRepositoryPolicyRequest_registryId *smithy.Schema + +var DeleteRepositoryPolicyRequest_repositoryName *smithy.Schema + +var DeleteRepositoryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteRepositoryPolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var DeleteRepositoryPolicyResponse_registryId *smithy.Schema + +var DeleteRepositoryPolicyResponse_repositoryName *smithy.Schema + +var DeleteRepositoryPolicyResponse_policyText *smithy.Schema + +var DeleteSigningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteSigningConfigurationRequest", +}, smithy.ShapeTypeStructure, 0) + +var DeleteSigningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeleteSigningConfigurationResponse", +}, smithy.ShapeTypeStructure, 2) +var DeleteSigningConfigurationResponse_registryId *smithy.Schema + +var DeleteSigningConfigurationResponse_signingConfiguration *smithy.Schema + +var DeregisterPullTimeUpdateExclusionRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeregisterPullTimeUpdateExclusionRequest", +}, smithy.ShapeTypeStructure, 1) +var DeregisterPullTimeUpdateExclusionRequest_principalArn *smithy.Schema + +var DeregisterPullTimeUpdateExclusionResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DeregisterPullTimeUpdateExclusionResponse", +}, smithy.ShapeTypeStructure, 1) +var DeregisterPullTimeUpdateExclusionResponse_principalArn *smithy.Schema + +var DescribeImageReplicationStatusRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageReplicationStatusRequest", +}, smithy.ShapeTypeStructure, 3) +var DescribeImageReplicationStatusRequest_repositoryName *smithy.Schema + +var DescribeImageReplicationStatusRequest_imageId *smithy.Schema + +var DescribeImageReplicationStatusRequest_registryId *smithy.Schema + +var DescribeImageReplicationStatusResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageReplicationStatusResponse", +}, smithy.ShapeTypeStructure, 3) +var DescribeImageReplicationStatusResponse_repositoryName *smithy.Schema + +var DescribeImageReplicationStatusResponse_imageId *smithy.Schema + +var DescribeImageReplicationStatusResponse_replicationStatuses *smithy.Schema + +var DescribeImageScanFindingsRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageScanFindingsRequest", +}, smithy.ShapeTypeStructure, 5) +var DescribeImageScanFindingsRequest_registryId *smithy.Schema + +var DescribeImageScanFindingsRequest_repositoryName *smithy.Schema + +var DescribeImageScanFindingsRequest_imageId *smithy.Schema + +var DescribeImageScanFindingsRequest_nextToken *smithy.Schema + +var DescribeImageScanFindingsRequest_maxResults *smithy.Schema + +var DescribeImageScanFindingsResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageScanFindingsResponse", +}, smithy.ShapeTypeStructure, 6) +var DescribeImageScanFindingsResponse_registryId *smithy.Schema + +var DescribeImageScanFindingsResponse_repositoryName *smithy.Schema + +var DescribeImageScanFindingsResponse_imageId *smithy.Schema + +var DescribeImageScanFindingsResponse_imageScanStatus *smithy.Schema + +var DescribeImageScanFindingsResponse_imageScanFindings *smithy.Schema + +var DescribeImageScanFindingsResponse_nextToken *smithy.Schema + +var DescribeImageSigningStatusRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageSigningStatusRequest", +}, smithy.ShapeTypeStructure, 3) +var DescribeImageSigningStatusRequest_repositoryName *smithy.Schema + +var DescribeImageSigningStatusRequest_imageId *smithy.Schema + +var DescribeImageSigningStatusRequest_registryId *smithy.Schema + +var DescribeImageSigningStatusResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImageSigningStatusResponse", +}, smithy.ShapeTypeStructure, 4) +var DescribeImageSigningStatusResponse_repositoryName *smithy.Schema + +var DescribeImageSigningStatusResponse_imageId *smithy.Schema + +var DescribeImageSigningStatusResponse_registryId *smithy.Schema + +var DescribeImageSigningStatusResponse_signingStatuses *smithy.Schema + +var DescribeImagesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImagesRequest", +}, smithy.ShapeTypeStructure, 6) +var DescribeImagesRequest_registryId *smithy.Schema + +var DescribeImagesRequest_repositoryName *smithy.Schema + +var DescribeImagesRequest_imageIds *smithy.Schema + +var DescribeImagesRequest_nextToken *smithy.Schema + +var DescribeImagesRequest_maxResults *smithy.Schema + +var DescribeImagesRequest_filter *smithy.Schema + +var DescribeImagesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeImagesResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeImagesResponse_imageDetails *smithy.Schema + +var DescribeImagesResponse_nextToken *smithy.Schema + +var DescribePullThroughCacheRulesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribePullThroughCacheRulesRequest", +}, smithy.ShapeTypeStructure, 4) +var DescribePullThroughCacheRulesRequest_registryId *smithy.Schema + +var DescribePullThroughCacheRulesRequest_ecrRepositoryPrefixes *smithy.Schema + +var DescribePullThroughCacheRulesRequest_nextToken *smithy.Schema + +var DescribePullThroughCacheRulesRequest_maxResults *smithy.Schema + +var DescribePullThroughCacheRulesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribePullThroughCacheRulesResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribePullThroughCacheRulesResponse_pullThroughCacheRules *smithy.Schema + +var DescribePullThroughCacheRulesResponse_nextToken *smithy.Schema + +var DescribeRegistryRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRegistryRequest", +}, smithy.ShapeTypeStructure, 0) + +var DescribeRegistryResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRegistryResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeRegistryResponse_registryId *smithy.Schema + +var DescribeRegistryResponse_replicationConfiguration *smithy.Schema + +var DescribeRepositoriesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRepositoriesRequest", +}, smithy.ShapeTypeStructure, 4) +var DescribeRepositoriesRequest_registryId *smithy.Schema + +var DescribeRepositoriesRequest_repositoryNames *smithy.Schema + +var DescribeRepositoriesRequest_nextToken *smithy.Schema + +var DescribeRepositoriesRequest_maxResults *smithy.Schema + +var DescribeRepositoriesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRepositoriesResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeRepositoriesResponse_repositories *smithy.Schema + +var DescribeRepositoriesResponse_nextToken *smithy.Schema + +var DescribeRepositoryCreationTemplatesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRepositoryCreationTemplatesRequest", +}, smithy.ShapeTypeStructure, 3) +var DescribeRepositoryCreationTemplatesRequest_prefixes *smithy.Schema + +var DescribeRepositoryCreationTemplatesRequest_nextToken *smithy.Schema + +var DescribeRepositoryCreationTemplatesRequest_maxResults *smithy.Schema + +var DescribeRepositoryCreationTemplatesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "DescribeRepositoryCreationTemplatesResponse", +}, smithy.ShapeTypeStructure, 3) +var DescribeRepositoryCreationTemplatesResponse_registryId *smithy.Schema + +var DescribeRepositoryCreationTemplatesResponse_repositoryCreationTemplates *smithy.Schema + +var DescribeRepositoryCreationTemplatesResponse_nextToken *smithy.Schema + +var GetAccountSettingRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAccountSettingRequest", +}, smithy.ShapeTypeStructure, 1) +var GetAccountSettingRequest_name *smithy.Schema + +var GetAccountSettingResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAccountSettingResponse", +}, smithy.ShapeTypeStructure, 2) +var GetAccountSettingResponse_name *smithy.Schema + +var GetAccountSettingResponse_value *smithy.Schema + +var GetAuthorizationTokenRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAuthorizationTokenRequest", +}, smithy.ShapeTypeStructure, 1) +var GetAuthorizationTokenRequest_registryIds *smithy.Schema + +var GetAuthorizationTokenResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetAuthorizationTokenResponse", +}, smithy.ShapeTypeStructure, 1) +var GetAuthorizationTokenResponse_authorizationData *smithy.Schema + +var GetDownloadUrlForLayerRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetDownloadUrlForLayerRequest", +}, smithy.ShapeTypeStructure, 3) +var GetDownloadUrlForLayerRequest_registryId *smithy.Schema + +var GetDownloadUrlForLayerRequest_repositoryName *smithy.Schema + +var GetDownloadUrlForLayerRequest_layerDigest *smithy.Schema + +var GetDownloadUrlForLayerResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetDownloadUrlForLayerResponse", +}, smithy.ShapeTypeStructure, 2) +var GetDownloadUrlForLayerResponse_downloadUrl *smithy.Schema + +var GetDownloadUrlForLayerResponse_layerDigest *smithy.Schema + +var GetLifecyclePolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetLifecyclePolicyRequest", +}, smithy.ShapeTypeStructure, 2) +var GetLifecyclePolicyRequest_registryId *smithy.Schema + +var GetLifecyclePolicyRequest_repositoryName *smithy.Schema + +var GetLifecyclePolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetLifecyclePolicyResponse", +}, smithy.ShapeTypeStructure, 4) +var GetLifecyclePolicyResponse_registryId *smithy.Schema + +var GetLifecyclePolicyResponse_repositoryName *smithy.Schema + +var GetLifecyclePolicyResponse_lifecyclePolicyText *smithy.Schema + +var GetLifecyclePolicyResponse_lastEvaluatedAt *smithy.Schema + +var GetLifecyclePolicyPreviewRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetLifecyclePolicyPreviewRequest", +}, smithy.ShapeTypeStructure, 6) +var GetLifecyclePolicyPreviewRequest_registryId *smithy.Schema + +var GetLifecyclePolicyPreviewRequest_repositoryName *smithy.Schema + +var GetLifecyclePolicyPreviewRequest_imageIds *smithy.Schema + +var GetLifecyclePolicyPreviewRequest_nextToken *smithy.Schema + +var GetLifecyclePolicyPreviewRequest_maxResults *smithy.Schema + +var GetLifecyclePolicyPreviewRequest_filter *smithy.Schema + +var GetLifecyclePolicyPreviewResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetLifecyclePolicyPreviewResponse", +}, smithy.ShapeTypeStructure, 7) +var GetLifecyclePolicyPreviewResponse_registryId *smithy.Schema + +var GetLifecyclePolicyPreviewResponse_repositoryName *smithy.Schema + +var GetLifecyclePolicyPreviewResponse_lifecyclePolicyText *smithy.Schema + +var GetLifecyclePolicyPreviewResponse_status *smithy.Schema + +var GetLifecyclePolicyPreviewResponse_nextToken *smithy.Schema + +var GetLifecyclePolicyPreviewResponse_previewResults *smithy.Schema + +var GetLifecyclePolicyPreviewResponse_summary *smithy.Schema + +var GetRegistryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRegistryPolicyRequest", +}, smithy.ShapeTypeStructure, 0) + +var GetRegistryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRegistryPolicyResponse", +}, smithy.ShapeTypeStructure, 2) +var GetRegistryPolicyResponse_registryId *smithy.Schema + +var GetRegistryPolicyResponse_policyText *smithy.Schema + +var GetRegistryScanningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRegistryScanningConfigurationRequest", +}, smithy.ShapeTypeStructure, 0) + +var GetRegistryScanningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRegistryScanningConfigurationResponse", +}, smithy.ShapeTypeStructure, 2) +var GetRegistryScanningConfigurationResponse_registryId *smithy.Schema + +var GetRegistryScanningConfigurationResponse_scanningConfiguration *smithy.Schema + +var GetRepositoryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRepositoryPolicyRequest", +}, smithy.ShapeTypeStructure, 2) +var GetRepositoryPolicyRequest_registryId *smithy.Schema + +var GetRepositoryPolicyRequest_repositoryName *smithy.Schema + +var GetRepositoryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetRepositoryPolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var GetRepositoryPolicyResponse_registryId *smithy.Schema + +var GetRepositoryPolicyResponse_repositoryName *smithy.Schema + +var GetRepositoryPolicyResponse_policyText *smithy.Schema + +var GetSigningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetSigningConfigurationRequest", +}, smithy.ShapeTypeStructure, 0) + +var GetSigningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "GetSigningConfigurationResponse", +}, smithy.ShapeTypeStructure, 2) +var GetSigningConfigurationResponse_registryId *smithy.Schema + +var GetSigningConfigurationResponse_signingConfiguration *smithy.Schema + +var InitiateLayerUploadRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InitiateLayerUploadRequest", +}, smithy.ShapeTypeStructure, 2) +var InitiateLayerUploadRequest_registryId *smithy.Schema + +var InitiateLayerUploadRequest_repositoryName *smithy.Schema + +var InitiateLayerUploadResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "InitiateLayerUploadResponse", +}, smithy.ShapeTypeStructure, 2) +var InitiateLayerUploadResponse_uploadId *smithy.Schema + +var InitiateLayerUploadResponse_partSize *smithy.Schema + +var ListImageReferrersRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImageReferrersRequest", +}, smithy.ShapeTypeStructure, 6) +var ListImageReferrersRequest_registryId *smithy.Schema + +var ListImageReferrersRequest_repositoryName *smithy.Schema + +var ListImageReferrersRequest_subjectId *smithy.Schema + +var ListImageReferrersRequest_filter *smithy.Schema + +var ListImageReferrersRequest_nextToken *smithy.Schema + +var ListImageReferrersRequest_maxResults *smithy.Schema + +var ListImageReferrersResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImageReferrersResponse", +}, smithy.ShapeTypeStructure, 2) +var ListImageReferrersResponse_referrers *smithy.Schema + +var ListImageReferrersResponse_nextToken *smithy.Schema + +var ListImagesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImagesRequest", +}, smithy.ShapeTypeStructure, 5) +var ListImagesRequest_registryId *smithy.Schema + +var ListImagesRequest_repositoryName *smithy.Schema + +var ListImagesRequest_nextToken *smithy.Schema + +var ListImagesRequest_maxResults *smithy.Schema + +var ListImagesRequest_filter *smithy.Schema + +var ListImagesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListImagesResponse", +}, smithy.ShapeTypeStructure, 2) +var ListImagesResponse_imageIds *smithy.Schema + +var ListImagesResponse_nextToken *smithy.Schema + +var ListPullTimeUpdateExclusionsRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListPullTimeUpdateExclusionsRequest", +}, smithy.ShapeTypeStructure, 2) +var ListPullTimeUpdateExclusionsRequest_maxResults *smithy.Schema + +var ListPullTimeUpdateExclusionsRequest_nextToken *smithy.Schema + +var ListPullTimeUpdateExclusionsResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListPullTimeUpdateExclusionsResponse", +}, smithy.ShapeTypeStructure, 2) +var ListPullTimeUpdateExclusionsResponse_pullTimeUpdateExclusions *smithy.Schema + +var ListPullTimeUpdateExclusionsResponse_nextToken *smithy.Schema + +var ListTagsForResourceRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListTagsForResourceRequest", +}, smithy.ShapeTypeStructure, 1) +var ListTagsForResourceRequest_resourceArn *smithy.Schema + +var ListTagsForResourceResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ListTagsForResourceResponse", +}, smithy.ShapeTypeStructure, 1) +var ListTagsForResourceResponse_tags *smithy.Schema + +var PutAccountSettingRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutAccountSettingRequest", +}, smithy.ShapeTypeStructure, 2) +var PutAccountSettingRequest_name *smithy.Schema + +var PutAccountSettingRequest_value *smithy.Schema + +var PutAccountSettingResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutAccountSettingResponse", +}, smithy.ShapeTypeStructure, 2) +var PutAccountSettingResponse_name *smithy.Schema + +var PutAccountSettingResponse_value *smithy.Schema + +var PutImageRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageRequest", +}, smithy.ShapeTypeStructure, 6) +var PutImageRequest_registryId *smithy.Schema + +var PutImageRequest_repositoryName *smithy.Schema + +var PutImageRequest_imageManifest *smithy.Schema + +var PutImageRequest_imageManifestMediaType *smithy.Schema + +var PutImageRequest_imageTag *smithy.Schema + +var PutImageRequest_imageDigest *smithy.Schema + +var PutImageResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageResponse", +}, smithy.ShapeTypeStructure, 1) +var PutImageResponse_image *smithy.Schema + +var PutImageScanningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageScanningConfigurationRequest", +}, smithy.ShapeTypeStructure, 3) +var PutImageScanningConfigurationRequest_registryId *smithy.Schema + +var PutImageScanningConfigurationRequest_repositoryName *smithy.Schema + +var PutImageScanningConfigurationRequest_imageScanningConfiguration *smithy.Schema + +var PutImageScanningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageScanningConfigurationResponse", +}, smithy.ShapeTypeStructure, 3) +var PutImageScanningConfigurationResponse_registryId *smithy.Schema + +var PutImageScanningConfigurationResponse_repositoryName *smithy.Schema + +var PutImageScanningConfigurationResponse_imageScanningConfiguration *smithy.Schema + +var PutImageTagMutabilityRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageTagMutabilityRequest", +}, smithy.ShapeTypeStructure, 4) +var PutImageTagMutabilityRequest_registryId *smithy.Schema + +var PutImageTagMutabilityRequest_repositoryName *smithy.Schema + +var PutImageTagMutabilityRequest_imageTagMutability *smithy.Schema + +var PutImageTagMutabilityRequest_imageTagMutabilityExclusionFilters *smithy.Schema + +var PutImageTagMutabilityResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutImageTagMutabilityResponse", +}, smithy.ShapeTypeStructure, 4) +var PutImageTagMutabilityResponse_registryId *smithy.Schema + +var PutImageTagMutabilityResponse_repositoryName *smithy.Schema + +var PutImageTagMutabilityResponse_imageTagMutability *smithy.Schema + +var PutImageTagMutabilityResponse_imageTagMutabilityExclusionFilters *smithy.Schema + +var PutLifecyclePolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutLifecyclePolicyRequest", +}, smithy.ShapeTypeStructure, 3) +var PutLifecyclePolicyRequest_registryId *smithy.Schema + +var PutLifecyclePolicyRequest_repositoryName *smithy.Schema + +var PutLifecyclePolicyRequest_lifecyclePolicyText *smithy.Schema + +var PutLifecyclePolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutLifecyclePolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var PutLifecyclePolicyResponse_registryId *smithy.Schema + +var PutLifecyclePolicyResponse_repositoryName *smithy.Schema + +var PutLifecyclePolicyResponse_lifecyclePolicyText *smithy.Schema + +var PutRegistryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutRegistryPolicyRequest", +}, smithy.ShapeTypeStructure, 1) +var PutRegistryPolicyRequest_policyText *smithy.Schema + +var PutRegistryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutRegistryPolicyResponse", +}, smithy.ShapeTypeStructure, 2) +var PutRegistryPolicyResponse_registryId *smithy.Schema + +var PutRegistryPolicyResponse_policyText *smithy.Schema + +var PutRegistryScanningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutRegistryScanningConfigurationRequest", +}, smithy.ShapeTypeStructure, 2) +var PutRegistryScanningConfigurationRequest_scanType *smithy.Schema + +var PutRegistryScanningConfigurationRequest_rules *smithy.Schema + +var PutRegistryScanningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutRegistryScanningConfigurationResponse", +}, smithy.ShapeTypeStructure, 1) +var PutRegistryScanningConfigurationResponse_registryScanningConfiguration *smithy.Schema + +var PutReplicationConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutReplicationConfigurationRequest", +}, smithy.ShapeTypeStructure, 1) +var PutReplicationConfigurationRequest_replicationConfiguration *smithy.Schema + +var PutReplicationConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutReplicationConfigurationResponse", +}, smithy.ShapeTypeStructure, 1) +var PutReplicationConfigurationResponse_replicationConfiguration *smithy.Schema + +var PutSigningConfigurationRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutSigningConfigurationRequest", +}, smithy.ShapeTypeStructure, 1) +var PutSigningConfigurationRequest_signingConfiguration *smithy.Schema + +var PutSigningConfigurationResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "PutSigningConfigurationResponse", +}, smithy.ShapeTypeStructure, 1) +var PutSigningConfigurationResponse_signingConfiguration *smithy.Schema + +var RegisterPullTimeUpdateExclusionRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegisterPullTimeUpdateExclusionRequest", +}, smithy.ShapeTypeStructure, 1) +var RegisterPullTimeUpdateExclusionRequest_principalArn *smithy.Schema + +var RegisterPullTimeUpdateExclusionResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "RegisterPullTimeUpdateExclusionResponse", +}, smithy.ShapeTypeStructure, 2) +var RegisterPullTimeUpdateExclusionResponse_principalArn *smithy.Schema + +var RegisterPullTimeUpdateExclusionResponse_createdAt *smithy.Schema + +var SetRepositoryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SetRepositoryPolicyRequest", +}, smithy.ShapeTypeStructure, 4) +var SetRepositoryPolicyRequest_registryId *smithy.Schema + +var SetRepositoryPolicyRequest_repositoryName *smithy.Schema + +var SetRepositoryPolicyRequest_policyText *smithy.Schema + +var SetRepositoryPolicyRequest_force *smithy.Schema + +var SetRepositoryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "SetRepositoryPolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var SetRepositoryPolicyResponse_registryId *smithy.Schema + +var SetRepositoryPolicyResponse_repositoryName *smithy.Schema + +var SetRepositoryPolicyResponse_policyText *smithy.Schema + +var StartImageScanRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "StartImageScanRequest", +}, smithy.ShapeTypeStructure, 3) +var StartImageScanRequest_registryId *smithy.Schema + +var StartImageScanRequest_repositoryName *smithy.Schema + +var StartImageScanRequest_imageId *smithy.Schema + +var StartImageScanResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "StartImageScanResponse", +}, smithy.ShapeTypeStructure, 4) +var StartImageScanResponse_registryId *smithy.Schema + +var StartImageScanResponse_repositoryName *smithy.Schema + +var StartImageScanResponse_imageId *smithy.Schema + +var StartImageScanResponse_imageScanStatus *smithy.Schema + +var StartLifecyclePolicyPreviewRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "StartLifecyclePolicyPreviewRequest", +}, smithy.ShapeTypeStructure, 3) +var StartLifecyclePolicyPreviewRequest_registryId *smithy.Schema + +var StartLifecyclePolicyPreviewRequest_repositoryName *smithy.Schema + +var StartLifecyclePolicyPreviewRequest_lifecyclePolicyText *smithy.Schema + +var StartLifecyclePolicyPreviewResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "StartLifecyclePolicyPreviewResponse", +}, smithy.ShapeTypeStructure, 4) +var StartLifecyclePolicyPreviewResponse_registryId *smithy.Schema + +var StartLifecyclePolicyPreviewResponse_repositoryName *smithy.Schema + +var StartLifecyclePolicyPreviewResponse_lifecyclePolicyText *smithy.Schema + +var StartLifecyclePolicyPreviewResponse_status *smithy.Schema + +var TagResourceRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagResourceRequest", +}, smithy.ShapeTypeStructure, 2) +var TagResourceRequest_resourceArn *smithy.Schema + +var TagResourceRequest_tags *smithy.Schema + +var TagResourceResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "TagResourceResponse", +}, smithy.ShapeTypeStructure, 0) + +var UntagResourceRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UntagResourceRequest", +}, smithy.ShapeTypeStructure, 2) +var UntagResourceRequest_resourceArn *smithy.Schema + +var UntagResourceRequest_tagKeys *smithy.Schema + +var UntagResourceResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UntagResourceResponse", +}, smithy.ShapeTypeStructure, 0) + +var UpdateImageStorageClassRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdateImageStorageClassRequest", +}, smithy.ShapeTypeStructure, 4) +var UpdateImageStorageClassRequest_registryId *smithy.Schema + +var UpdateImageStorageClassRequest_repositoryName *smithy.Schema + +var UpdateImageStorageClassRequest_imageId *smithy.Schema + +var UpdateImageStorageClassRequest_targetStorageClass *smithy.Schema + +var UpdateImageStorageClassResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdateImageStorageClassResponse", +}, smithy.ShapeTypeStructure, 4) +var UpdateImageStorageClassResponse_registryId *smithy.Schema + +var UpdateImageStorageClassResponse_repositoryName *smithy.Schema + +var UpdateImageStorageClassResponse_imageId *smithy.Schema + +var UpdateImageStorageClassResponse_imageStatus *smithy.Schema + +var UpdatePullThroughCacheRuleRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdatePullThroughCacheRuleRequest", +}, smithy.ShapeTypeStructure, 4) +var UpdatePullThroughCacheRuleRequest_registryId *smithy.Schema + +var UpdatePullThroughCacheRuleRequest_ecrRepositoryPrefix *smithy.Schema + +var UpdatePullThroughCacheRuleRequest_credentialArn *smithy.Schema + +var UpdatePullThroughCacheRuleRequest_customRoleArn *smithy.Schema + +var UpdatePullThroughCacheRuleResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdatePullThroughCacheRuleResponse", +}, smithy.ShapeTypeStructure, 6) +var UpdatePullThroughCacheRuleResponse_ecrRepositoryPrefix *smithy.Schema + +var UpdatePullThroughCacheRuleResponse_registryId *smithy.Schema + +var UpdatePullThroughCacheRuleResponse_updatedAt *smithy.Schema + +var UpdatePullThroughCacheRuleResponse_credentialArn *smithy.Schema + +var UpdatePullThroughCacheRuleResponse_customRoleArn *smithy.Schema + +var UpdatePullThroughCacheRuleResponse_upstreamRepositoryPrefix *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdateRepositoryCreationTemplateRequest", +}, smithy.ShapeTypeStructure, 10) +var UpdateRepositoryCreationTemplateRequest_prefix *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_description *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_encryptionConfiguration *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_resourceTags *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_imageTagMutability *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_imageTagMutabilityExclusionFilters *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_repositoryPolicy *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_lifecyclePolicy *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_appliedFor *smithy.Schema + +var UpdateRepositoryCreationTemplateRequest_customRoleArn *smithy.Schema + +var UpdateRepositoryCreationTemplateResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UpdateRepositoryCreationTemplateResponse", +}, smithy.ShapeTypeStructure, 2) +var UpdateRepositoryCreationTemplateResponse_registryId *smithy.Schema + +var UpdateRepositoryCreationTemplateResponse_repositoryCreationTemplate *smithy.Schema + +var UploadLayerPartRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UploadLayerPartRequest", +}, smithy.ShapeTypeStructure, 6) +var UploadLayerPartRequest_registryId *smithy.Schema + +var UploadLayerPartRequest_repositoryName *smithy.Schema + +var UploadLayerPartRequest_uploadId *smithy.Schema + +var UploadLayerPartRequest_partFirstByte *smithy.Schema + +var UploadLayerPartRequest_partLastByte *smithy.Schema + +var UploadLayerPartRequest_layerPartBlob *smithy.Schema + +var UploadLayerPartResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "UploadLayerPartResponse", +}, smithy.ShapeTypeStructure, 4) +var UploadLayerPartResponse_registryId *smithy.Schema + +var UploadLayerPartResponse_repositoryName *smithy.Schema + +var UploadLayerPartResponse_uploadId *smithy.Schema + +var UploadLayerPartResponse_lastByteReceived *smithy.Schema + +var ValidatePullThroughCacheRuleRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ValidatePullThroughCacheRuleRequest", +}, smithy.ShapeTypeStructure, 2) +var ValidatePullThroughCacheRuleRequest_ecrRepositoryPrefix *smithy.Schema + +var ValidatePullThroughCacheRuleRequest_registryId *smithy.Schema + +var ValidatePullThroughCacheRuleResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecr", + Name: "ValidatePullThroughCacheRuleResponse", +}, smithy.ShapeTypeStructure, 8) +var ValidatePullThroughCacheRuleResponse_ecrRepositoryPrefix *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_registryId *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_upstreamRegistryUrl *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_credentialArn *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_customRoleArn *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_upstreamRepositoryPrefix *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_isValid *smithy.Schema + +var ValidatePullThroughCacheRuleResponse_failure *smithy.Schema + +// Initialize schema members after all schemas are declared to avoid +// initialization cycles +func init() { + _Annotations_key = _Annotations.AddMember("key", _String) + + _Annotations_value = _Annotations.AddMember("value", _String) + + ArtifactStatus_ACTIVE = ArtifactStatus.AddMember("ACTIVE", smithyprelude.Unit) + + ArtifactStatus_ARCHIVED = ArtifactStatus.AddMember("ARCHIVED", smithyprelude.Unit) + + ArtifactStatus_ACTIVATING = ArtifactStatus.AddMember("ACTIVATING", smithyprelude.Unit) + + ArtifactStatusFilter_ACTIVE = ArtifactStatusFilter.AddMember("ACTIVE", smithyprelude.Unit) + + ArtifactStatusFilter_ARCHIVED = ArtifactStatusFilter.AddMember("ARCHIVED", smithyprelude.Unit) + + ArtifactStatusFilter_ACTIVATING = ArtifactStatusFilter.AddMember("ACTIVATING", smithyprelude.Unit) + + ArtifactStatusFilter_ANY = ArtifactStatusFilter.AddMember("ANY", smithyprelude.Unit) + + _ArtifactTypeList_member = _ArtifactTypeList.AddMember("member", _ArtifactType) + + Attribute_key = Attribute.AddMember("key", _AttributeKey) + + Attribute_value = Attribute.AddMember("value", _AttributeValue) + + _AttributeList_member = _AttributeList.AddMember("member", Attribute) + + AuthorizationData_authorizationToken = AuthorizationData.AddMember("authorizationToken", _Base64) + + AuthorizationData_expiresAt = AuthorizationData.AddMember("expiresAt", _ExpirationTimestamp) + + AuthorizationData_proxyEndpoint = AuthorizationData.AddMember("proxyEndpoint", _ProxyEndpoint) + + _AuthorizationDataList_member = _AuthorizationDataList.AddMember("member", AuthorizationData) + + _ImageTagsList_member = _ImageTagsList.AddMember("member", _ImageTag) + + AwsEcrContainerImageDetails_architecture = AwsEcrContainerImageDetails.AddMember("architecture", _Arch) + + AwsEcrContainerImageDetails_author = AwsEcrContainerImageDetails.AddMember("author", _Author) + + AwsEcrContainerImageDetails_imageHash = AwsEcrContainerImageDetails.AddMember("imageHash", _ImageDigest) + + AwsEcrContainerImageDetails_imageTags = AwsEcrContainerImageDetails.AddMember("imageTags", _ImageTagsList) + + AwsEcrContainerImageDetails_platform = AwsEcrContainerImageDetails.AddMember("platform", _Platform) + + AwsEcrContainerImageDetails_pushedAt = AwsEcrContainerImageDetails.AddMember("pushedAt", _Date) + + AwsEcrContainerImageDetails_lastInUseAt = AwsEcrContainerImageDetails.AddMember("lastInUseAt", _Date) + + AwsEcrContainerImageDetails_inUseCount = AwsEcrContainerImageDetails.AddMember("inUseCount", _InUseCount) + + AwsEcrContainerImageDetails_registry = AwsEcrContainerImageDetails.AddMember("registry", _RegistryId) + + AwsEcrContainerImageDetails_repositoryName = AwsEcrContainerImageDetails.AddMember("repositoryName", _RepositoryName) + + _BatchedOperationLayerDigestList_member = _BatchedOperationLayerDigestList.AddMember("member", _BatchedOperationLayerDigest) + + BlockedByOrganizationPolicyException_message = BlockedByOrganizationPolicyException.AddMember("message", _ExceptionMessage) + + CvssScore_baseScore = CvssScore.AddMember("baseScore", _BaseScore) + + CvssScore_scoringVector = CvssScore.AddMember("scoringVector", _ScoringVector) + + CvssScore_source = CvssScore.AddMember("source", _Source) + + CvssScore_version = CvssScore.AddMember("version", _Version) + + CvssScoreAdjustment_metric = CvssScoreAdjustment.AddMember("metric", _Metric) + + CvssScoreAdjustment_reason = CvssScoreAdjustment.AddMember("reason", _Reason) + + _CvssScoreAdjustmentList_member = _CvssScoreAdjustmentList.AddMember("member", CvssScoreAdjustment) + + CvssScoreDetails_adjustments = CvssScoreDetails.AddMember("adjustments", _CvssScoreAdjustmentList) + + CvssScoreDetails_score = CvssScoreDetails.AddMember("score", _Score) + + CvssScoreDetails_scoreSource = CvssScoreDetails.AddMember("scoreSource", _Source) + + CvssScoreDetails_scoringVector = CvssScoreDetails.AddMember("scoringVector", _ScoringVector) + + CvssScoreDetails_version = CvssScoreDetails.AddMember("version", _Version) + + _CvssScoreList_member = _CvssScoreList.AddMember("member", CvssScore) + + TagStatus_TAGGED = TagStatus.AddMember("TAGGED", smithyprelude.Unit) + + TagStatus_UNTAGGED = TagStatus.AddMember("UNTAGGED", smithyprelude.Unit) + + TagStatus_ANY = TagStatus.AddMember("ANY", smithyprelude.Unit) + + ImageStatusFilter_ACTIVE = ImageStatusFilter.AddMember("ACTIVE", smithyprelude.Unit) + + ImageStatusFilter_ARCHIVED = ImageStatusFilter.AddMember("ARCHIVED", smithyprelude.Unit) + + ImageStatusFilter_ACTIVATING = ImageStatusFilter.AddMember("ACTIVATING", smithyprelude.Unit) + + ImageStatusFilter_ANY = ImageStatusFilter.AddMember("ANY", smithyprelude.Unit) + + DescribeImagesFilter_tagStatus = DescribeImagesFilter.AddMember("tagStatus", TagStatus) + + DescribeImagesFilter_imageStatus = DescribeImagesFilter.AddMember("imageStatus", ImageStatusFilter) + + EmptyUploadException_message = EmptyUploadException.AddMember("message", _ExceptionMessage) + + EncryptionType_AES256 = EncryptionType.AddMember("AES256", smithyprelude.Unit) + + EncryptionType_KMS = EncryptionType.AddMember("KMS", smithyprelude.Unit) + + EncryptionType_KMS_DSSE = EncryptionType.AddMember("KMS_DSSE", smithyprelude.Unit) + + EncryptionConfiguration_encryptionType = EncryptionConfiguration.AddMember("encryptionType", EncryptionType) + + EncryptionConfiguration_kmsKey = EncryptionConfiguration.AddMember("kmsKey", _KmsKey) + + EncryptionConfigurationForRepositoryCreationTemplate_encryptionType = EncryptionConfigurationForRepositoryCreationTemplate.AddMember("encryptionType", EncryptionType) + + EncryptionConfigurationForRepositoryCreationTemplate_kmsKey = EncryptionConfigurationForRepositoryCreationTemplate.AddMember("kmsKey", _KmsKeyForRepositoryCreationTemplate) + + _ReferenceUrlsList_member = _ReferenceUrlsList.AddMember("member", _Url) + + _RelatedVulnerabilitiesList_member = _RelatedVulnerabilitiesList.AddMember("member", _RelatedVulnerability) + + VulnerablePackage_arch = VulnerablePackage.AddMember("arch", _Arch) + + VulnerablePackage_epoch = VulnerablePackage.AddMember("epoch", _Epoch) + + VulnerablePackage_filePath = VulnerablePackage.AddMember("filePath", _FilePath) + + VulnerablePackage_name = VulnerablePackage.AddMember("name", _VulnerablePackageName) + + VulnerablePackage_packageManager = VulnerablePackage.AddMember("packageManager", _PackageManager) + + VulnerablePackage_release = VulnerablePackage.AddMember("release", _Release) + + VulnerablePackage_sourceLayerHash = VulnerablePackage.AddMember("sourceLayerHash", _SourceLayerHash) + + VulnerablePackage_version = VulnerablePackage.AddMember("version", _Version) + + VulnerablePackage_fixedInVersion = VulnerablePackage.AddMember("fixedInVersion", _FixedInVersion) + + _VulnerablePackagesList_member = _VulnerablePackagesList.AddMember("member", VulnerablePackage) + + PackageVulnerabilityDetails_cvss = PackageVulnerabilityDetails.AddMember("cvss", _CvssScoreList) + + PackageVulnerabilityDetails_referenceUrls = PackageVulnerabilityDetails.AddMember("referenceUrls", _ReferenceUrlsList) + + PackageVulnerabilityDetails_relatedVulnerabilities = PackageVulnerabilityDetails.AddMember("relatedVulnerabilities", _RelatedVulnerabilitiesList) + + PackageVulnerabilityDetails_source = PackageVulnerabilityDetails.AddMember("source", _Source) + + PackageVulnerabilityDetails_sourceUrl = PackageVulnerabilityDetails.AddMember("sourceUrl", _Url) + + PackageVulnerabilityDetails_vendorCreatedAt = PackageVulnerabilityDetails.AddMember("vendorCreatedAt", _Date) + + PackageVulnerabilityDetails_vendorSeverity = PackageVulnerabilityDetails.AddMember("vendorSeverity", _Severity) + + PackageVulnerabilityDetails_vendorUpdatedAt = PackageVulnerabilityDetails.AddMember("vendorUpdatedAt", _Date) + + PackageVulnerabilityDetails_vulnerabilityId = PackageVulnerabilityDetails.AddMember("vulnerabilityId", _VulnerabilityId) + + PackageVulnerabilityDetails_vulnerablePackages = PackageVulnerabilityDetails.AddMember("vulnerablePackages", _VulnerablePackagesList) + + Recommendation_url = Recommendation.AddMember("url", _Url) + + Recommendation_text = Recommendation.AddMember("text", _RecommendationText) + + Remediation_recommendation = Remediation.AddMember("recommendation", Recommendation) + + ResourceDetails_awsEcrContainerImage = ResourceDetails.AddMember("awsEcrContainerImage", AwsEcrContainerImageDetails) + + _Tags_key = _Tags.AddMember("key", _TagKey) + + _Tags_value = _Tags.AddMember("value", _TagValue) + + Resource_details = Resource.AddMember("details", ResourceDetails) + + Resource_id = Resource.AddMember("id", _ResourceId) + + Resource_tags = Resource.AddMember("tags", _Tags) + + Resource_type = Resource.AddMember("type", _Type) + + _ResourceList_member = _ResourceList.AddMember("member", Resource) + + ScoreDetails_cvss = ScoreDetails.AddMember("cvss", CvssScoreDetails) + + EnhancedImageScanFinding_awsAccountId = EnhancedImageScanFinding.AddMember("awsAccountId", _RegistryId) + + EnhancedImageScanFinding_description = EnhancedImageScanFinding.AddMember("description", _FindingDescription) + + EnhancedImageScanFinding_findingArn = EnhancedImageScanFinding.AddMember("findingArn", _FindingArn) + + EnhancedImageScanFinding_firstObservedAt = EnhancedImageScanFinding.AddMember("firstObservedAt", _Date) + + EnhancedImageScanFinding_lastObservedAt = EnhancedImageScanFinding.AddMember("lastObservedAt", _Date) + + EnhancedImageScanFinding_packageVulnerabilityDetails = EnhancedImageScanFinding.AddMember("packageVulnerabilityDetails", PackageVulnerabilityDetails) + + EnhancedImageScanFinding_remediation = EnhancedImageScanFinding.AddMember("remediation", Remediation) + + EnhancedImageScanFinding_resources = EnhancedImageScanFinding.AddMember("resources", _ResourceList) + + EnhancedImageScanFinding_score = EnhancedImageScanFinding.AddMember("score", _Score) + + EnhancedImageScanFinding_scoreDetails = EnhancedImageScanFinding.AddMember("scoreDetails", ScoreDetails) + + EnhancedImageScanFinding_severity = EnhancedImageScanFinding.AddMember("severity", _Severity) + + EnhancedImageScanFinding_status = EnhancedImageScanFinding.AddMember("status", _Status) + + EnhancedImageScanFinding_title = EnhancedImageScanFinding.AddMember("title", _Title) + + EnhancedImageScanFinding_type = EnhancedImageScanFinding.AddMember("type", _Type) + + EnhancedImageScanFinding_updatedAt = EnhancedImageScanFinding.AddMember("updatedAt", _Date) + + EnhancedImageScanFinding_fixAvailable = EnhancedImageScanFinding.AddMember("fixAvailable", _FixAvailable) + + EnhancedImageScanFinding_exploitAvailable = EnhancedImageScanFinding.AddMember("exploitAvailable", _ExploitAvailable) + + _EnhancedImageScanFindingList_member = _EnhancedImageScanFindingList.AddMember("member", EnhancedImageScanFinding) + + ExclusionAlreadyExistsException_message = ExclusionAlreadyExistsException.AddMember("message", _ExceptionMessage) + + ExclusionNotFoundException_message = ExclusionNotFoundException.AddMember("message", _ExceptionMessage) + + FindingSeverity_INFORMATIONAL = FindingSeverity.AddMember("INFORMATIONAL", smithyprelude.Unit) + + FindingSeverity_LOW = FindingSeverity.AddMember("LOW", smithyprelude.Unit) + + FindingSeverity_MEDIUM = FindingSeverity.AddMember("MEDIUM", smithyprelude.Unit) + + FindingSeverity_HIGH = FindingSeverity.AddMember("HIGH", smithyprelude.Unit) + + FindingSeverity_CRITICAL = FindingSeverity.AddMember("CRITICAL", smithyprelude.Unit) + + FindingSeverity_UNDEFINED = FindingSeverity.AddMember("UNDEFINED", smithyprelude.Unit) + + _FindingSeverityCounts_key = _FindingSeverityCounts.AddMember("key", FindingSeverity) + + _FindingSeverityCounts_value = _FindingSeverityCounts.AddMember("value", _SeverityCount) + + _GetAuthorizationTokenRegistryIdList_member = _GetAuthorizationTokenRegistryIdList.AddMember("member", _RegistryId) + + ImageIdentifier_imageDigest = ImageIdentifier.AddMember("imageDigest", _ImageDigest) + + ImageIdentifier_imageTag = ImageIdentifier.AddMember("imageTag", _ImageTag) + + Image_registryId = Image.AddMember("registryId", _RegistryId) + + Image_repositoryName = Image.AddMember("repositoryName", _RepositoryName) + + Image_imageId = Image.AddMember("imageId", ImageIdentifier) + + Image_imageManifest = Image.AddMember("imageManifest", _ImageManifest) + + Image_imageManifestMediaType = Image.AddMember("imageManifestMediaType", _MediaType) + + ImageActionType_EXPIRE = ImageActionType.AddMember("EXPIRE", smithyprelude.Unit) + + ImageActionType_TRANSITION = ImageActionType.AddMember("TRANSITION", smithyprelude.Unit) + + ImageAlreadyExistsException_message = ImageAlreadyExistsException.AddMember("message", _ExceptionMessage) + + ImageArchivedException_message = ImageArchivedException.AddMember("message", _ExceptionMessage) + + _ImageTagList_member = _ImageTagList.AddMember("member", _ImageTag) + + ScanStatus_IN_PROGRESS = ScanStatus.AddMember("IN_PROGRESS", smithyprelude.Unit) + + ScanStatus_COMPLETE = ScanStatus.AddMember("COMPLETE", smithyprelude.Unit) + + ScanStatus_FAILED = ScanStatus.AddMember("FAILED", smithyprelude.Unit) + + ScanStatus_UNSUPPORTED_IMAGE = ScanStatus.AddMember("UNSUPPORTED_IMAGE", smithyprelude.Unit) + + ScanStatus_ACTIVE = ScanStatus.AddMember("ACTIVE", smithyprelude.Unit) + + ScanStatus_PENDING = ScanStatus.AddMember("PENDING", smithyprelude.Unit) + + ScanStatus_SCAN_ELIGIBILITY_EXPIRED = ScanStatus.AddMember("SCAN_ELIGIBILITY_EXPIRED", smithyprelude.Unit) + + ScanStatus_FINDINGS_UNAVAILABLE = ScanStatus.AddMember("FINDINGS_UNAVAILABLE", smithyprelude.Unit) + + ScanStatus_LIMIT_EXCEEDED = ScanStatus.AddMember("LIMIT_EXCEEDED", smithyprelude.Unit) + + ScanStatus_IMAGE_ARCHIVED = ScanStatus.AddMember("IMAGE_ARCHIVED", smithyprelude.Unit) + + ImageScanStatus_status = ImageScanStatus.AddMember("status", ScanStatus) + + ImageScanStatus_description = ImageScanStatus.AddMember("description", _ScanStatusDescription) + + ImageScanFindingsSummary_imageScanCompletedAt = ImageScanFindingsSummary.AddMember("imageScanCompletedAt", _ScanTimestamp) + + ImageScanFindingsSummary_vulnerabilitySourceUpdatedAt = ImageScanFindingsSummary.AddMember("vulnerabilitySourceUpdatedAt", _VulnerabilitySourceUpdateTimestamp) + + ImageScanFindingsSummary_findingSeverityCounts = ImageScanFindingsSummary.AddMember("findingSeverityCounts", _FindingSeverityCounts) + + ImageStatus_ACTIVE = ImageStatus.AddMember("ACTIVE", smithyprelude.Unit) + + ImageStatus_ARCHIVED = ImageStatus.AddMember("ARCHIVED", smithyprelude.Unit) + + ImageStatus_ACTIVATING = ImageStatus.AddMember("ACTIVATING", smithyprelude.Unit) + + ImageDetail_registryId = ImageDetail.AddMember("registryId", _RegistryId) + + ImageDetail_repositoryName = ImageDetail.AddMember("repositoryName", _RepositoryName) + + ImageDetail_imageDigest = ImageDetail.AddMember("imageDigest", _ImageDigest) + + ImageDetail_imageTags = ImageDetail.AddMember("imageTags", _ImageTagList) + + ImageDetail_imageSizeInBytes = ImageDetail.AddMember("imageSizeInBytes", _ImageSizeInBytes) + + ImageDetail_imagePushedAt = ImageDetail.AddMember("imagePushedAt", _PushTimestamp) + + ImageDetail_imageScanStatus = ImageDetail.AddMember("imageScanStatus", ImageScanStatus) + + ImageDetail_imageScanFindingsSummary = ImageDetail.AddMember("imageScanFindingsSummary", ImageScanFindingsSummary) + + ImageDetail_imageManifestMediaType = ImageDetail.AddMember("imageManifestMediaType", _MediaType) + + ImageDetail_artifactMediaType = ImageDetail.AddMember("artifactMediaType", _MediaType) + + ImageDetail_lastRecordedPullTime = ImageDetail.AddMember("lastRecordedPullTime", _RecordedPullTimestamp) + + ImageDetail_subjectManifestDigest = ImageDetail.AddMember("subjectManifestDigest", _ImageDigest) + + ImageDetail_imageStatus = ImageDetail.AddMember("imageStatus", ImageStatus) + + ImageDetail_lastArchivedAt = ImageDetail.AddMember("lastArchivedAt", _LastArchivedAtTimestamp) + + ImageDetail_lastActivatedAt = ImageDetail.AddMember("lastActivatedAt", _LastActivatedAtTimestamp) + + _ImageDetailList_member = _ImageDetailList.AddMember("member", ImageDetail) + + ImageDigestDoesNotMatchException_message = ImageDigestDoesNotMatchException.AddMember("message", _ExceptionMessage) + + ImageFailureCode_InvalidImageDigest = ImageFailureCode.AddMember("InvalidImageDigest", smithyprelude.Unit) + + ImageFailureCode_InvalidImageTag = ImageFailureCode.AddMember("InvalidImageTag", smithyprelude.Unit) + + ImageFailureCode_ImageTagDoesNotMatchDigest = ImageFailureCode.AddMember("ImageTagDoesNotMatchDigest", smithyprelude.Unit) + + ImageFailureCode_ImageNotFound = ImageFailureCode.AddMember("ImageNotFound", smithyprelude.Unit) + + ImageFailureCode_MissingDigestAndTag = ImageFailureCode.AddMember("MissingDigestAndTag", smithyprelude.Unit) + + ImageFailureCode_ImageReferencedByManifestList = ImageFailureCode.AddMember("ImageReferencedByManifestList", smithyprelude.Unit) + + ImageFailureCode_KmsError = ImageFailureCode.AddMember("KmsError", smithyprelude.Unit) + + ImageFailureCode_UpstreamAccessDenied = ImageFailureCode.AddMember("UpstreamAccessDenied", smithyprelude.Unit) + + ImageFailureCode_UpstreamTooManyRequests = ImageFailureCode.AddMember("UpstreamTooManyRequests", smithyprelude.Unit) + + ImageFailureCode_UpstreamUnavailable = ImageFailureCode.AddMember("UpstreamUnavailable", smithyprelude.Unit) + + ImageFailureCode_ImageInaccessible = ImageFailureCode.AddMember("ImageInaccessible", smithyprelude.Unit) + + ImageFailure_imageId = ImageFailure.AddMember("imageId", ImageIdentifier) + + ImageFailure_failureCode = ImageFailure.AddMember("failureCode", ImageFailureCode) + + ImageFailure_failureReason = ImageFailure.AddMember("failureReason", _ImageFailureReason) + + _ImageFailureList_member = _ImageFailureList.AddMember("member", ImageFailure) + + _ImageIdentifierList_member = _ImageIdentifierList.AddMember("member", ImageIdentifier) + + _ImageList_member = _ImageList.AddMember("member", Image) + + ImageNotFoundException_message = ImageNotFoundException.AddMember("message", _ExceptionMessage) + + ImageReferrer_digest = ImageReferrer.AddMember("digest", _ImageDigest) + + ImageReferrer_mediaType = ImageReferrer.AddMember("mediaType", _MediaType) + + ImageReferrer_artifactType = ImageReferrer.AddMember("artifactType", _ArtifactType) + + ImageReferrer_size = ImageReferrer.AddMember("size", _ImageSizeInBytes) + + ImageReferrer_annotations = ImageReferrer.AddMember("annotations", _Annotations) + + ImageReferrer_artifactStatus = ImageReferrer.AddMember("artifactStatus", ArtifactStatus) + + _ImageReferrerList_member = _ImageReferrerList.AddMember("member", ImageReferrer) + + ReplicationStatus_IN_PROGRESS = ReplicationStatus.AddMember("IN_PROGRESS", smithyprelude.Unit) + + ReplicationStatus_COMPLETE = ReplicationStatus.AddMember("COMPLETE", smithyprelude.Unit) + + ReplicationStatus_FAILED = ReplicationStatus.AddMember("FAILED", smithyprelude.Unit) + + ImageReplicationStatus_region = ImageReplicationStatus.AddMember("region", _Region) + + ImageReplicationStatus_registryId = ImageReplicationStatus.AddMember("registryId", _RegistryId) + + ImageReplicationStatus_status = ImageReplicationStatus.AddMember("status", ReplicationStatus) + + ImageReplicationStatus_failureCode = ImageReplicationStatus.AddMember("failureCode", _ReplicationError) + + _ImageReplicationStatusList_member = _ImageReplicationStatusList.AddMember("member", ImageReplicationStatus) + + ImageScanFinding_name = ImageScanFinding.AddMember("name", _FindingName) + + ImageScanFinding_description = ImageScanFinding.AddMember("description", _FindingDescription) + + ImageScanFinding_uri = ImageScanFinding.AddMember("uri", _Url) + + ImageScanFinding_severity = ImageScanFinding.AddMember("severity", FindingSeverity) + + ImageScanFinding_attributes = ImageScanFinding.AddMember("attributes", _AttributeList) + + _ImageScanFindingList_member = _ImageScanFindingList.AddMember("member", ImageScanFinding) + + ImageScanFindings_imageScanCompletedAt = ImageScanFindings.AddMember("imageScanCompletedAt", _ScanTimestamp) + + ImageScanFindings_vulnerabilitySourceUpdatedAt = ImageScanFindings.AddMember("vulnerabilitySourceUpdatedAt", _VulnerabilitySourceUpdateTimestamp) + + ImageScanFindings_findingSeverityCounts = ImageScanFindings.AddMember("findingSeverityCounts", _FindingSeverityCounts) + + ImageScanFindings_findings = ImageScanFindings.AddMember("findings", _ImageScanFindingList) + + ImageScanFindings_enhancedFindings = ImageScanFindings.AddMember("enhancedFindings", _EnhancedImageScanFindingList) + + ImageScanningConfiguration_scanOnPush = ImageScanningConfiguration.AddMember("scanOnPush", _ScanOnPushFlag) + + SigningStatus_IN_PROGRESS = SigningStatus.AddMember("IN_PROGRESS", smithyprelude.Unit) + + SigningStatus_COMPLETE = SigningStatus.AddMember("COMPLETE", smithyprelude.Unit) + + SigningStatus_FAILED = SigningStatus.AddMember("FAILED", smithyprelude.Unit) + + ImageSigningStatus_signingProfileArn = ImageSigningStatus.AddMember("signingProfileArn", _SigningProfileArn) + + ImageSigningStatus_failureCode = ImageSigningStatus.AddMember("failureCode", _SigningStatusFailureCode) + + ImageSigningStatus_failureReason = ImageSigningStatus.AddMember("failureReason", _SigningStatusFailureReason) + + ImageSigningStatus_status = ImageSigningStatus.AddMember("status", SigningStatus) + + _ImageSigningStatusList_member = _ImageSigningStatusList.AddMember("member", ImageSigningStatus) + + ImageStorageClassUpdateNotSupportedException_message = ImageStorageClassUpdateNotSupportedException.AddMember("message", _ExceptionMessage) + + ImageTagAlreadyExistsException_message = ImageTagAlreadyExistsException.AddMember("message", _ExceptionMessage) + + ImageTagMutability_MUTABLE = ImageTagMutability.AddMember("MUTABLE", smithyprelude.Unit) + + ImageTagMutability_IMMUTABLE = ImageTagMutability.AddMember("IMMUTABLE", smithyprelude.Unit) + + ImageTagMutability_IMMUTABLE_WITH_EXCLUSION = ImageTagMutability.AddMember("IMMUTABLE_WITH_EXCLUSION", smithyprelude.Unit) + + ImageTagMutability_MUTABLE_WITH_EXCLUSION = ImageTagMutability.AddMember("MUTABLE_WITH_EXCLUSION", smithyprelude.Unit) + + ImageTagMutabilityExclusionFilterType_WILDCARD = ImageTagMutabilityExclusionFilterType.AddMember("WILDCARD", smithyprelude.Unit) + + ImageTagMutabilityExclusionFilter_filterType = ImageTagMutabilityExclusionFilter.AddMember("filterType", ImageTagMutabilityExclusionFilterType) + + ImageTagMutabilityExclusionFilter_filter = ImageTagMutabilityExclusionFilter.AddMember("filter", _ImageTagMutabilityExclusionFilterValue) + + _ImageTagMutabilityExclusionFilters_member = _ImageTagMutabilityExclusionFilters.AddMember("member", ImageTagMutabilityExclusionFilter) + + InvalidLayerException_message = InvalidLayerException.AddMember("message", _ExceptionMessage) + + InvalidLayerPartException_registryId = InvalidLayerPartException.AddMember("registryId", _RegistryId) + + InvalidLayerPartException_repositoryName = InvalidLayerPartException.AddMember("repositoryName", _RepositoryName) + + InvalidLayerPartException_uploadId = InvalidLayerPartException.AddMember("uploadId", _UploadId) + + InvalidLayerPartException_lastValidByteReceived = InvalidLayerPartException.AddMember("lastValidByteReceived", _PartSize) + + InvalidLayerPartException_message = InvalidLayerPartException.AddMember("message", _ExceptionMessage) + + InvalidParameterException_message = InvalidParameterException.AddMember("message", _ExceptionMessage) + + InvalidTagParameterException_message = InvalidTagParameterException.AddMember("message", _ExceptionMessage) + + KmsException_message = KmsException.AddMember("message", _ExceptionMessage) + + KmsException_kmsError = KmsException.AddMember("kmsError", _KmsError) + + LayerAvailability_AVAILABLE = LayerAvailability.AddMember("AVAILABLE", smithyprelude.Unit) + + LayerAvailability_UNAVAILABLE = LayerAvailability.AddMember("UNAVAILABLE", smithyprelude.Unit) + + LayerAvailability_ARCHIVED = LayerAvailability.AddMember("ARCHIVED", smithyprelude.Unit) + + Layer_layerDigest = Layer.AddMember("layerDigest", _LayerDigest) + + Layer_layerAvailability = Layer.AddMember("layerAvailability", LayerAvailability) + + Layer_layerSize = Layer.AddMember("layerSize", _LayerSizeInBytes) + + Layer_mediaType = Layer.AddMember("mediaType", _MediaType) + + LayerAlreadyExistsException_message = LayerAlreadyExistsException.AddMember("message", _ExceptionMessage) + + _LayerDigestList_member = _LayerDigestList.AddMember("member", _LayerDigest) + + LayerFailureCode_InvalidLayerDigest = LayerFailureCode.AddMember("InvalidLayerDigest", smithyprelude.Unit) + + LayerFailureCode_MissingLayerDigest = LayerFailureCode.AddMember("MissingLayerDigest", smithyprelude.Unit) + + LayerFailure_layerDigest = LayerFailure.AddMember("layerDigest", _BatchedOperationLayerDigest) + + LayerFailure_failureCode = LayerFailure.AddMember("failureCode", LayerFailureCode) + + LayerFailure_failureReason = LayerFailure.AddMember("failureReason", _LayerFailureReason) + + _LayerFailureList_member = _LayerFailureList.AddMember("member", LayerFailure) + + LayerInaccessibleException_message = LayerInaccessibleException.AddMember("message", _ExceptionMessage) + + _LayerList_member = _LayerList.AddMember("member", Layer) + + LayerPartTooSmallException_message = LayerPartTooSmallException.AddMember("message", _ExceptionMessage) + + LayersNotFoundException_message = LayersNotFoundException.AddMember("message", _ExceptionMessage) + + LifecyclePolicyNotFoundException_message = LifecyclePolicyNotFoundException.AddMember("message", _ExceptionMessage) + + LifecyclePolicyPreviewFilter_tagStatus = LifecyclePolicyPreviewFilter.AddMember("tagStatus", TagStatus) + + LifecyclePolicyPreviewInProgressException_message = LifecyclePolicyPreviewInProgressException.AddMember("message", _ExceptionMessage) + + LifecyclePolicyPreviewNotFoundException_message = LifecyclePolicyPreviewNotFoundException.AddMember("message", _ExceptionMessage) + + LifecyclePolicyTargetStorageClass_ARCHIVE = LifecyclePolicyTargetStorageClass.AddMember("ARCHIVE", smithyprelude.Unit) + + LifecyclePolicyRuleAction_type = LifecyclePolicyRuleAction.AddMember("type", ImageActionType) + + LifecyclePolicyRuleAction_targetStorageClass = LifecyclePolicyRuleAction.AddMember("targetStorageClass", LifecyclePolicyTargetStorageClass) + + LifecyclePolicyStorageClass_ARCHIVE = LifecyclePolicyStorageClass.AddMember("ARCHIVE", smithyprelude.Unit) + + LifecyclePolicyStorageClass_STANDARD = LifecyclePolicyStorageClass.AddMember("STANDARD", smithyprelude.Unit) + + LifecyclePolicyPreviewResult_imageTags = LifecyclePolicyPreviewResult.AddMember("imageTags", _ImageTagList) + + LifecyclePolicyPreviewResult_imageDigest = LifecyclePolicyPreviewResult.AddMember("imageDigest", _ImageDigest) + + LifecyclePolicyPreviewResult_imagePushedAt = LifecyclePolicyPreviewResult.AddMember("imagePushedAt", _PushTimestamp) + + LifecyclePolicyPreviewResult_action = LifecyclePolicyPreviewResult.AddMember("action", LifecyclePolicyRuleAction) + + LifecyclePolicyPreviewResult_appliedRulePriority = LifecyclePolicyPreviewResult.AddMember("appliedRulePriority", _LifecyclePolicyRulePriority) + + LifecyclePolicyPreviewResult_storageClass = LifecyclePolicyPreviewResult.AddMember("storageClass", LifecyclePolicyStorageClass) + + _LifecyclePolicyPreviewResultList_member = _LifecyclePolicyPreviewResultList.AddMember("member", LifecyclePolicyPreviewResult) + + LifecyclePolicyPreviewStatus_IN_PROGRESS = LifecyclePolicyPreviewStatus.AddMember("IN_PROGRESS", smithyprelude.Unit) + + LifecyclePolicyPreviewStatus_COMPLETE = LifecyclePolicyPreviewStatus.AddMember("COMPLETE", smithyprelude.Unit) + + LifecyclePolicyPreviewStatus_EXPIRED = LifecyclePolicyPreviewStatus.AddMember("EXPIRED", smithyprelude.Unit) + + LifecyclePolicyPreviewStatus_FAILED = LifecyclePolicyPreviewStatus.AddMember("FAILED", smithyprelude.Unit) + + TransitioningImageTotalCount_targetStorageClass = TransitioningImageTotalCount.AddMember("targetStorageClass", LifecyclePolicyTargetStorageClass) + + TransitioningImageTotalCount_imageTotalCount = TransitioningImageTotalCount.AddMember("imageTotalCount", _ImageCount) + + _TransitioningImageTotalCounts_member = _TransitioningImageTotalCounts.AddMember("member", TransitioningImageTotalCount) + + LifecyclePolicyPreviewSummary_expiringImageTotalCount = LifecyclePolicyPreviewSummary.AddMember("expiringImageTotalCount", _ImageCount) + + LifecyclePolicyPreviewSummary_transitioningImageTotalCounts = LifecyclePolicyPreviewSummary.AddMember("transitioningImageTotalCounts", _TransitioningImageTotalCounts) + + LimitExceededException_message = LimitExceededException.AddMember("message", _ExceptionMessage) + + ListImageReferrersFilter_artifactTypes = ListImageReferrersFilter.AddMember("artifactTypes", _ArtifactTypeList) + + ListImageReferrersFilter_artifactStatus = ListImageReferrersFilter.AddMember("artifactStatus", ArtifactStatusFilter) + + ListImagesFilter_tagStatus = ListImagesFilter.AddMember("tagStatus", TagStatus) + + ListImagesFilter_imageStatus = ListImagesFilter.AddMember("imageStatus", ImageStatusFilter) + + _MediaTypeList_member = _MediaTypeList.AddMember("member", _MediaType) + + _PrefixList_member = _PrefixList.AddMember("member", _Prefix) + + UpstreamRegistry_Ecr = UpstreamRegistry.AddMember("Ecr", smithyprelude.Unit) + + UpstreamRegistry_EcrPublic = UpstreamRegistry.AddMember("EcrPublic", smithyprelude.Unit) + + UpstreamRegistry_Quay = UpstreamRegistry.AddMember("Quay", smithyprelude.Unit) + + UpstreamRegistry_K8s = UpstreamRegistry.AddMember("K8s", smithyprelude.Unit) + + UpstreamRegistry_DockerHub = UpstreamRegistry.AddMember("DockerHub", smithyprelude.Unit) + + UpstreamRegistry_GitHubContainerRegistry = UpstreamRegistry.AddMember("GitHubContainerRegistry", smithyprelude.Unit) + + UpstreamRegistry_AzureContainerRegistry = UpstreamRegistry.AddMember("AzureContainerRegistry", smithyprelude.Unit) + + UpstreamRegistry_GitLabContainerRegistry = UpstreamRegistry.AddMember("GitLabContainerRegistry", smithyprelude.Unit) + + UpstreamRegistry_Chainguard = UpstreamRegistry.AddMember("Chainguard", smithyprelude.Unit) + + PullThroughCacheRule_ecrRepositoryPrefix = PullThroughCacheRule.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + PullThroughCacheRule_upstreamRegistryUrl = PullThroughCacheRule.AddMember("upstreamRegistryUrl", _Url) + + PullThroughCacheRule_createdAt = PullThroughCacheRule.AddMember("createdAt", _CreationTimestamp) + + PullThroughCacheRule_registryId = PullThroughCacheRule.AddMember("registryId", _RegistryId) + + PullThroughCacheRule_credentialArn = PullThroughCacheRule.AddMember("credentialArn", _CredentialArn) + + PullThroughCacheRule_customRoleArn = PullThroughCacheRule.AddMember("customRoleArn", _CustomRoleArn) + + PullThroughCacheRule_upstreamRepositoryPrefix = PullThroughCacheRule.AddMember("upstreamRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + PullThroughCacheRule_upstreamRegistry = PullThroughCacheRule.AddMember("upstreamRegistry", UpstreamRegistry) + + PullThroughCacheRule_updatedAt = PullThroughCacheRule.AddMember("updatedAt", _UpdatedTimestamp) + + PullThroughCacheRuleAlreadyExistsException_message = PullThroughCacheRuleAlreadyExistsException.AddMember("message", _ExceptionMessage) + + _PullThroughCacheRuleList_member = _PullThroughCacheRuleList.AddMember("member", PullThroughCacheRule) + + PullThroughCacheRuleNotFoundException_message = PullThroughCacheRuleNotFoundException.AddMember("message", _ExceptionMessage) + + _PullThroughCacheRuleRepositoryPrefixList_member = _PullThroughCacheRuleRepositoryPrefixList.AddMember("member", _PullThroughCacheRuleRepositoryPrefix) + + _PullTimeUpdateExclusionList_member = _PullTimeUpdateExclusionList.AddMember("member", _PrincipalArn) + + RCTAppliedFor_REPLICATION = RCTAppliedFor.AddMember("REPLICATION", smithyprelude.Unit) + + RCTAppliedFor_PULL_THROUGH_CACHE = RCTAppliedFor.AddMember("PULL_THROUGH_CACHE", smithyprelude.Unit) + + RCTAppliedFor_CREATE_ON_PUSH = RCTAppliedFor.AddMember("CREATE_ON_PUSH", smithyprelude.Unit) + + _RCTAppliedForList_member = _RCTAppliedForList.AddMember("member", RCTAppliedFor) + + ReferencedImagesNotFoundException_message = ReferencedImagesNotFoundException.AddMember("message", _ExceptionMessage) + + RegistryPolicyNotFoundException_message = RegistryPolicyNotFoundException.AddMember("message", _ExceptionMessage) + + ScanType_BASIC = ScanType.AddMember("BASIC", smithyprelude.Unit) + + ScanType_ENHANCED = ScanType.AddMember("ENHANCED", smithyprelude.Unit) + + ScanFrequency_SCAN_ON_PUSH = ScanFrequency.AddMember("SCAN_ON_PUSH", smithyprelude.Unit) + + ScanFrequency_CONTINUOUS_SCAN = ScanFrequency.AddMember("CONTINUOUS_SCAN", smithyprelude.Unit) + + ScanFrequency_MANUAL = ScanFrequency.AddMember("MANUAL", smithyprelude.Unit) + + ScanningRepositoryFilterType_WILDCARD = ScanningRepositoryFilterType.AddMember("WILDCARD", smithyprelude.Unit) + + ScanningRepositoryFilter_filter = ScanningRepositoryFilter.AddMember("filter", _ScanningRepositoryFilterValue) + + ScanningRepositoryFilter_filterType = ScanningRepositoryFilter.AddMember("filterType", ScanningRepositoryFilterType) + + _ScanningRepositoryFilterList_member = _ScanningRepositoryFilterList.AddMember("member", ScanningRepositoryFilter) + + RegistryScanningRule_scanFrequency = RegistryScanningRule.AddMember("scanFrequency", ScanFrequency) + + RegistryScanningRule_repositoryFilters = RegistryScanningRule.AddMember("repositoryFilters", _ScanningRepositoryFilterList) + + _RegistryScanningRuleList_member = _RegistryScanningRuleList.AddMember("member", RegistryScanningRule) + + RegistryScanningConfiguration_scanType = RegistryScanningConfiguration.AddMember("scanType", ScanType) + + RegistryScanningConfiguration_rules = RegistryScanningConfiguration.AddMember("rules", _RegistryScanningRuleList) + + ReplicationDestination_region = ReplicationDestination.AddMember("region", _Region) + + ReplicationDestination_registryId = ReplicationDestination.AddMember("registryId", _RegistryId) + + _ReplicationDestinationList_member = _ReplicationDestinationList.AddMember("member", ReplicationDestination) + + RepositoryFilterType_PREFIX_MATCH = RepositoryFilterType.AddMember("PREFIX_MATCH", smithyprelude.Unit) + + RepositoryFilter_filter = RepositoryFilter.AddMember("filter", _RepositoryFilterValue) + + RepositoryFilter_filterType = RepositoryFilter.AddMember("filterType", RepositoryFilterType) + + _RepositoryFilterList_member = _RepositoryFilterList.AddMember("member", RepositoryFilter) + + ReplicationRule_destinations = ReplicationRule.AddMember("destinations", _ReplicationDestinationList) + + ReplicationRule_repositoryFilters = ReplicationRule.AddMember("repositoryFilters", _RepositoryFilterList) + + _ReplicationRuleList_member = _ReplicationRuleList.AddMember("member", ReplicationRule) + + ReplicationConfiguration_rules = ReplicationConfiguration.AddMember("rules", _ReplicationRuleList) + + Repository_repositoryArn = Repository.AddMember("repositoryArn", _Arn) + + Repository_registryId = Repository.AddMember("registryId", _RegistryId) + + Repository_repositoryName = Repository.AddMember("repositoryName", _RepositoryName) + + Repository_repositoryUri = Repository.AddMember("repositoryUri", _Url) + + Repository_createdAt = Repository.AddMember("createdAt", _CreationTimestamp) + + Repository_imageTagMutability = Repository.AddMember("imageTagMutability", ImageTagMutability) + + Repository_imageTagMutabilityExclusionFilters = Repository.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + Repository_imageScanningConfiguration = Repository.AddMember("imageScanningConfiguration", ImageScanningConfiguration) + + Repository_encryptionConfiguration = Repository.AddMember("encryptionConfiguration", EncryptionConfiguration) + + RepositoryAlreadyExistsException_message = RepositoryAlreadyExistsException.AddMember("message", _ExceptionMessage) + + Tag_Key = Tag.AddMember("Key", _TagKey) + + Tag_Value = Tag.AddMember("Value", _TagValue) + + _TagList_member = _TagList.AddMember("member", Tag) + + RepositoryCreationTemplate_prefix = RepositoryCreationTemplate.AddMember("prefix", _Prefix) + + RepositoryCreationTemplate_description = RepositoryCreationTemplate.AddMember("description", _RepositoryTemplateDescription) + + RepositoryCreationTemplate_encryptionConfiguration = RepositoryCreationTemplate.AddMember("encryptionConfiguration", EncryptionConfigurationForRepositoryCreationTemplate) + + RepositoryCreationTemplate_resourceTags = RepositoryCreationTemplate.AddMember("resourceTags", _TagList) + + RepositoryCreationTemplate_imageTagMutability = RepositoryCreationTemplate.AddMember("imageTagMutability", ImageTagMutability) + + RepositoryCreationTemplate_imageTagMutabilityExclusionFilters = RepositoryCreationTemplate.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + RepositoryCreationTemplate_repositoryPolicy = RepositoryCreationTemplate.AddMember("repositoryPolicy", _RepositoryPolicyText) + + RepositoryCreationTemplate_lifecyclePolicy = RepositoryCreationTemplate.AddMember("lifecyclePolicy", _LifecyclePolicyTextForRepositoryCreationTemplate) + + RepositoryCreationTemplate_appliedFor = RepositoryCreationTemplate.AddMember("appliedFor", _RCTAppliedForList) + + RepositoryCreationTemplate_customRoleArn = RepositoryCreationTemplate.AddMember("customRoleArn", _CustomRoleArn) + + RepositoryCreationTemplate_createdAt = RepositoryCreationTemplate.AddMember("createdAt", _Date) + + RepositoryCreationTemplate_updatedAt = RepositoryCreationTemplate.AddMember("updatedAt", _Date) + + _RepositoryCreationTemplateList_member = _RepositoryCreationTemplateList.AddMember("member", RepositoryCreationTemplate) + + _RepositoryList_member = _RepositoryList.AddMember("member", Repository) + + _RepositoryNameList_member = _RepositoryNameList.AddMember("member", _RepositoryName) + + RepositoryNotEmptyException_message = RepositoryNotEmptyException.AddMember("message", _ExceptionMessage) + + RepositoryNotFoundException_message = RepositoryNotFoundException.AddMember("message", _ExceptionMessage) + + RepositoryPolicyNotFoundException_message = RepositoryPolicyNotFoundException.AddMember("message", _ExceptionMessage) + + RepositoryScanningConfiguration_repositoryArn = RepositoryScanningConfiguration.AddMember("repositoryArn", _Arn) + + RepositoryScanningConfiguration_repositoryName = RepositoryScanningConfiguration.AddMember("repositoryName", _RepositoryName) + + RepositoryScanningConfiguration_scanOnPush = RepositoryScanningConfiguration.AddMember("scanOnPush", _ScanOnPushFlag) + + RepositoryScanningConfiguration_scanFrequency = RepositoryScanningConfiguration.AddMember("scanFrequency", ScanFrequency) + + RepositoryScanningConfiguration_appliedScanFilters = RepositoryScanningConfiguration.AddMember("appliedScanFilters", _ScanningRepositoryFilterList) + + ScanningConfigurationFailureCode_REPOSITORY_NOT_FOUND = ScanningConfigurationFailureCode.AddMember("REPOSITORY_NOT_FOUND", smithyprelude.Unit) + + RepositoryScanningConfigurationFailure_repositoryName = RepositoryScanningConfigurationFailure.AddMember("repositoryName", _RepositoryName) + + RepositoryScanningConfigurationFailure_failureCode = RepositoryScanningConfigurationFailure.AddMember("failureCode", ScanningConfigurationFailureCode) + + RepositoryScanningConfigurationFailure_failureReason = RepositoryScanningConfigurationFailure.AddMember("failureReason", _ScanningConfigurationFailureReason) + + _RepositoryScanningConfigurationFailureList_member = _RepositoryScanningConfigurationFailureList.AddMember("member", RepositoryScanningConfigurationFailure) + + _RepositoryScanningConfigurationList_member = _RepositoryScanningConfigurationList.AddMember("member", RepositoryScanningConfiguration) + + _ScanningConfigurationRepositoryNameList_member = _ScanningConfigurationRepositoryNameList.AddMember("member", _RepositoryName) + + ScanNotFoundException_message = ScanNotFoundException.AddMember("message", _ExceptionMessage) + + SecretNotFoundException_message = SecretNotFoundException.AddMember("message", _ExceptionMessage) + + ServerException_message = ServerException.AddMember("message", _ExceptionMessage) + + SigningRepositoryFilterType_WILDCARD_MATCH = SigningRepositoryFilterType.AddMember("WILDCARD_MATCH", smithyprelude.Unit) + + SigningRepositoryFilter_filter = SigningRepositoryFilter.AddMember("filter", _SigningRepositoryFilterValue) + + SigningRepositoryFilter_filterType = SigningRepositoryFilter.AddMember("filterType", SigningRepositoryFilterType) + + _SigningRepositoryFilterList_member = _SigningRepositoryFilterList.AddMember("member", SigningRepositoryFilter) + + SigningRule_signingProfileArn = SigningRule.AddMember("signingProfileArn", _SigningProfileArn) + + SigningRule_repositoryFilters = SigningRule.AddMember("repositoryFilters", _SigningRepositoryFilterList) + + _SigningRuleList_member = _SigningRuleList.AddMember("member", SigningRule) + + SigningConfiguration_rules = SigningConfiguration.AddMember("rules", _SigningRuleList) + + SigningConfigurationNotFoundException_message = SigningConfigurationNotFoundException.AddMember("message", _ExceptionMessage) + + SubjectIdentifier_imageDigest = SubjectIdentifier.AddMember("imageDigest", _ImageDigest) + + _TagKeyList_member = _TagKeyList.AddMember("member", _TagKey) + + TargetStorageClass_STANDARD = TargetStorageClass.AddMember("STANDARD", smithyprelude.Unit) + + TargetStorageClass_ARCHIVE = TargetStorageClass.AddMember("ARCHIVE", smithyprelude.Unit) + + TemplateAlreadyExistsException_message = TemplateAlreadyExistsException.AddMember("message", _ExceptionMessage) + + TemplateNotFoundException_message = TemplateNotFoundException.AddMember("message", _ExceptionMessage) + + TooManyTagsException_message = TooManyTagsException.AddMember("message", _ExceptionMessage) + + UnableToAccessSecretException_message = UnableToAccessSecretException.AddMember("message", _ExceptionMessage) + + UnableToDecryptSecretValueException_message = UnableToDecryptSecretValueException.AddMember("message", _ExceptionMessage) + + UnableToGetUpstreamImageException_message = UnableToGetUpstreamImageException.AddMember("message", _ExceptionMessage) + + UnableToGetUpstreamLayerException_message = UnableToGetUpstreamLayerException.AddMember("message", _ExceptionMessage) + + UnableToListUpstreamImageReferrersException_message = UnableToListUpstreamImageReferrersException.AddMember("message", _ExceptionMessage) + + UnsupportedImageTypeException_message = UnsupportedImageTypeException.AddMember("message", _ExceptionMessage) + + UnsupportedUpstreamRegistryException_message = UnsupportedUpstreamRegistryException.AddMember("message", _ExceptionMessage) + + UploadNotFoundException_message = UploadNotFoundException.AddMember("message", _ExceptionMessage) + + ValidationException_message = ValidationException.AddMember("message", _ExceptionMessage) + + BatchCheckLayerAvailabilityRequest_registryId = BatchCheckLayerAvailabilityRequest.AddMember("registryId", _RegistryId) + + BatchCheckLayerAvailabilityRequest_repositoryName = BatchCheckLayerAvailabilityRequest.AddMember("repositoryName", _RepositoryName) + + BatchCheckLayerAvailabilityRequest_layerDigests = BatchCheckLayerAvailabilityRequest.AddMember("layerDigests", _BatchedOperationLayerDigestList) + + BatchCheckLayerAvailabilityResponse_layers = BatchCheckLayerAvailabilityResponse.AddMember("layers", _LayerList) + + BatchCheckLayerAvailabilityResponse_failures = BatchCheckLayerAvailabilityResponse.AddMember("failures", _LayerFailureList) + + BatchDeleteImageRequest_registryId = BatchDeleteImageRequest.AddMember("registryId", _RegistryId) + + BatchDeleteImageRequest_repositoryName = BatchDeleteImageRequest.AddMember("repositoryName", _RepositoryName) + + BatchDeleteImageRequest_imageIds = BatchDeleteImageRequest.AddMember("imageIds", _ImageIdentifierList) + + BatchDeleteImageResponse_imageIds = BatchDeleteImageResponse.AddMember("imageIds", _ImageIdentifierList) + + BatchDeleteImageResponse_failures = BatchDeleteImageResponse.AddMember("failures", _ImageFailureList) + + BatchGetImageRequest_registryId = BatchGetImageRequest.AddMember("registryId", _RegistryId) + + BatchGetImageRequest_repositoryName = BatchGetImageRequest.AddMember("repositoryName", _RepositoryName) + + BatchGetImageRequest_imageIds = BatchGetImageRequest.AddMember("imageIds", _ImageIdentifierList) + + BatchGetImageRequest_acceptedMediaTypes = BatchGetImageRequest.AddMember("acceptedMediaTypes", _MediaTypeList) + + BatchGetImageResponse_images = BatchGetImageResponse.AddMember("images", _ImageList) + + BatchGetImageResponse_failures = BatchGetImageResponse.AddMember("failures", _ImageFailureList) + + BatchGetRepositoryScanningConfigurationRequest_repositoryNames = BatchGetRepositoryScanningConfigurationRequest.AddMember("repositoryNames", _ScanningConfigurationRepositoryNameList) + + BatchGetRepositoryScanningConfigurationResponse_scanningConfigurations = BatchGetRepositoryScanningConfigurationResponse.AddMember("scanningConfigurations", _RepositoryScanningConfigurationList) + + BatchGetRepositoryScanningConfigurationResponse_failures = BatchGetRepositoryScanningConfigurationResponse.AddMember("failures", _RepositoryScanningConfigurationFailureList) + + CompleteLayerUploadRequest_registryId = CompleteLayerUploadRequest.AddMember("registryId", _RegistryId) + + CompleteLayerUploadRequest_repositoryName = CompleteLayerUploadRequest.AddMember("repositoryName", _RepositoryName) + + CompleteLayerUploadRequest_uploadId = CompleteLayerUploadRequest.AddMember("uploadId", _UploadId) + + CompleteLayerUploadRequest_layerDigests = CompleteLayerUploadRequest.AddMember("layerDigests", _LayerDigestList) + + CompleteLayerUploadResponse_registryId = CompleteLayerUploadResponse.AddMember("registryId", _RegistryId) + + CompleteLayerUploadResponse_repositoryName = CompleteLayerUploadResponse.AddMember("repositoryName", _RepositoryName) + + CompleteLayerUploadResponse_uploadId = CompleteLayerUploadResponse.AddMember("uploadId", _UploadId) + + CompleteLayerUploadResponse_layerDigest = CompleteLayerUploadResponse.AddMember("layerDigest", _LayerDigest) + + CreatePullThroughCacheRuleRequest_ecrRepositoryPrefix = CreatePullThroughCacheRuleRequest.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + CreatePullThroughCacheRuleRequest_upstreamRegistryUrl = CreatePullThroughCacheRuleRequest.AddMember("upstreamRegistryUrl", _Url) + + CreatePullThroughCacheRuleRequest_registryId = CreatePullThroughCacheRuleRequest.AddMember("registryId", _RegistryId) + + CreatePullThroughCacheRuleRequest_upstreamRegistry = CreatePullThroughCacheRuleRequest.AddMember("upstreamRegistry", UpstreamRegistry) + + CreatePullThroughCacheRuleRequest_credentialArn = CreatePullThroughCacheRuleRequest.AddMember("credentialArn", _CredentialArn) + + CreatePullThroughCacheRuleRequest_customRoleArn = CreatePullThroughCacheRuleRequest.AddMember("customRoleArn", _CustomRoleArn) + + CreatePullThroughCacheRuleRequest_upstreamRepositoryPrefix = CreatePullThroughCacheRuleRequest.AddMember("upstreamRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + CreatePullThroughCacheRuleResponse_ecrRepositoryPrefix = CreatePullThroughCacheRuleResponse.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + CreatePullThroughCacheRuleResponse_upstreamRegistryUrl = CreatePullThroughCacheRuleResponse.AddMember("upstreamRegistryUrl", _Url) + + CreatePullThroughCacheRuleResponse_createdAt = CreatePullThroughCacheRuleResponse.AddMember("createdAt", _CreationTimestamp) + + CreatePullThroughCacheRuleResponse_registryId = CreatePullThroughCacheRuleResponse.AddMember("registryId", _RegistryId) + + CreatePullThroughCacheRuleResponse_upstreamRegistry = CreatePullThroughCacheRuleResponse.AddMember("upstreamRegistry", UpstreamRegistry) + + CreatePullThroughCacheRuleResponse_credentialArn = CreatePullThroughCacheRuleResponse.AddMember("credentialArn", _CredentialArn) + + CreatePullThroughCacheRuleResponse_customRoleArn = CreatePullThroughCacheRuleResponse.AddMember("customRoleArn", _CustomRoleArn) + + CreatePullThroughCacheRuleResponse_upstreamRepositoryPrefix = CreatePullThroughCacheRuleResponse.AddMember("upstreamRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + CreateRepositoryCreationTemplateRequest_prefix = CreateRepositoryCreationTemplateRequest.AddMember("prefix", _Prefix) + + CreateRepositoryCreationTemplateRequest_description = CreateRepositoryCreationTemplateRequest.AddMember("description", _RepositoryTemplateDescription) + + CreateRepositoryCreationTemplateRequest_encryptionConfiguration = CreateRepositoryCreationTemplateRequest.AddMember("encryptionConfiguration", EncryptionConfigurationForRepositoryCreationTemplate) + + CreateRepositoryCreationTemplateRequest_resourceTags = CreateRepositoryCreationTemplateRequest.AddMember("resourceTags", _TagList) + + CreateRepositoryCreationTemplateRequest_imageTagMutability = CreateRepositoryCreationTemplateRequest.AddMember("imageTagMutability", ImageTagMutability) + + CreateRepositoryCreationTemplateRequest_imageTagMutabilityExclusionFilters = CreateRepositoryCreationTemplateRequest.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + CreateRepositoryCreationTemplateRequest_repositoryPolicy = CreateRepositoryCreationTemplateRequest.AddMember("repositoryPolicy", _RepositoryPolicyText) + + CreateRepositoryCreationTemplateRequest_lifecyclePolicy = CreateRepositoryCreationTemplateRequest.AddMember("lifecyclePolicy", _LifecyclePolicyTextForRepositoryCreationTemplate) + + CreateRepositoryCreationTemplateRequest_appliedFor = CreateRepositoryCreationTemplateRequest.AddMember("appliedFor", _RCTAppliedForList) + + CreateRepositoryCreationTemplateRequest_customRoleArn = CreateRepositoryCreationTemplateRequest.AddMember("customRoleArn", _CustomRoleArn) + + CreateRepositoryCreationTemplateResponse_registryId = CreateRepositoryCreationTemplateResponse.AddMember("registryId", _RegistryId) + + CreateRepositoryCreationTemplateResponse_repositoryCreationTemplate = CreateRepositoryCreationTemplateResponse.AddMember("repositoryCreationTemplate", RepositoryCreationTemplate) + + CreateRepositoryRequest_registryId = CreateRepositoryRequest.AddMember("registryId", _RegistryId) + + CreateRepositoryRequest_repositoryName = CreateRepositoryRequest.AddMember("repositoryName", _RepositoryName) + + CreateRepositoryRequest_tags = CreateRepositoryRequest.AddMember("tags", _TagList) + + CreateRepositoryRequest_imageTagMutability = CreateRepositoryRequest.AddMember("imageTagMutability", ImageTagMutability) + + CreateRepositoryRequest_imageTagMutabilityExclusionFilters = CreateRepositoryRequest.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + CreateRepositoryRequest_imageScanningConfiguration = CreateRepositoryRequest.AddMember("imageScanningConfiguration", ImageScanningConfiguration) + + CreateRepositoryRequest_encryptionConfiguration = CreateRepositoryRequest.AddMember("encryptionConfiguration", EncryptionConfiguration) + + CreateRepositoryResponse_repository = CreateRepositoryResponse.AddMember("repository", Repository) + + DeleteLifecyclePolicyRequest_registryId = DeleteLifecyclePolicyRequest.AddMember("registryId", _RegistryId) + + DeleteLifecyclePolicyRequest_repositoryName = DeleteLifecyclePolicyRequest.AddMember("repositoryName", _RepositoryName) + + DeleteLifecyclePolicyResponse_registryId = DeleteLifecyclePolicyResponse.AddMember("registryId", _RegistryId) + + DeleteLifecyclePolicyResponse_repositoryName = DeleteLifecyclePolicyResponse.AddMember("repositoryName", _RepositoryName) + + DeleteLifecyclePolicyResponse_lifecyclePolicyText = DeleteLifecyclePolicyResponse.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + DeleteLifecyclePolicyResponse_lastEvaluatedAt = DeleteLifecyclePolicyResponse.AddMember("lastEvaluatedAt", _EvaluationTimestamp) + + DeletePullThroughCacheRuleRequest_ecrRepositoryPrefix = DeletePullThroughCacheRuleRequest.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + DeletePullThroughCacheRuleRequest_registryId = DeletePullThroughCacheRuleRequest.AddMember("registryId", _RegistryId) + + DeletePullThroughCacheRuleResponse_ecrRepositoryPrefix = DeletePullThroughCacheRuleResponse.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + DeletePullThroughCacheRuleResponse_upstreamRegistryUrl = DeletePullThroughCacheRuleResponse.AddMember("upstreamRegistryUrl", _Url) + + DeletePullThroughCacheRuleResponse_createdAt = DeletePullThroughCacheRuleResponse.AddMember("createdAt", _CreationTimestamp) + + DeletePullThroughCacheRuleResponse_registryId = DeletePullThroughCacheRuleResponse.AddMember("registryId", _RegistryId) + + DeletePullThroughCacheRuleResponse_credentialArn = DeletePullThroughCacheRuleResponse.AddMember("credentialArn", _CredentialArn) + + DeletePullThroughCacheRuleResponse_customRoleArn = DeletePullThroughCacheRuleResponse.AddMember("customRoleArn", _CustomRoleArn) + + DeletePullThroughCacheRuleResponse_upstreamRepositoryPrefix = DeletePullThroughCacheRuleResponse.AddMember("upstreamRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + DeleteRegistryPolicyResponse_registryId = DeleteRegistryPolicyResponse.AddMember("registryId", _RegistryId) + + DeleteRegistryPolicyResponse_policyText = DeleteRegistryPolicyResponse.AddMember("policyText", _RegistryPolicyText) + + DeleteRepositoryCreationTemplateRequest_prefix = DeleteRepositoryCreationTemplateRequest.AddMember("prefix", _Prefix) + + DeleteRepositoryCreationTemplateResponse_registryId = DeleteRepositoryCreationTemplateResponse.AddMember("registryId", _RegistryId) + + DeleteRepositoryCreationTemplateResponse_repositoryCreationTemplate = DeleteRepositoryCreationTemplateResponse.AddMember("repositoryCreationTemplate", RepositoryCreationTemplate) + + DeleteRepositoryRequest_registryId = DeleteRepositoryRequest.AddMember("registryId", _RegistryId) + + DeleteRepositoryRequest_repositoryName = DeleteRepositoryRequest.AddMember("repositoryName", _RepositoryName) + + DeleteRepositoryRequest_force = DeleteRepositoryRequest.AddMember("force", _ForceFlag) + + DeleteRepositoryResponse_repository = DeleteRepositoryResponse.AddMember("repository", Repository) + + DeleteRepositoryPolicyRequest_registryId = DeleteRepositoryPolicyRequest.AddMember("registryId", _RegistryId) + + DeleteRepositoryPolicyRequest_repositoryName = DeleteRepositoryPolicyRequest.AddMember("repositoryName", _RepositoryName) + + DeleteRepositoryPolicyResponse_registryId = DeleteRepositoryPolicyResponse.AddMember("registryId", _RegistryId) + + DeleteRepositoryPolicyResponse_repositoryName = DeleteRepositoryPolicyResponse.AddMember("repositoryName", _RepositoryName) + + DeleteRepositoryPolicyResponse_policyText = DeleteRepositoryPolicyResponse.AddMember("policyText", _RepositoryPolicyText) + + DeleteSigningConfigurationResponse_registryId = DeleteSigningConfigurationResponse.AddMember("registryId", _RegistryId) + + DeleteSigningConfigurationResponse_signingConfiguration = DeleteSigningConfigurationResponse.AddMember("signingConfiguration", SigningConfiguration) + + DeregisterPullTimeUpdateExclusionRequest_principalArn = DeregisterPullTimeUpdateExclusionRequest.AddMember("principalArn", _PrincipalArn) + + DeregisterPullTimeUpdateExclusionResponse_principalArn = DeregisterPullTimeUpdateExclusionResponse.AddMember("principalArn", _PrincipalArn) + + DescribeImageReplicationStatusRequest_repositoryName = DescribeImageReplicationStatusRequest.AddMember("repositoryName", _RepositoryName) + + DescribeImageReplicationStatusRequest_imageId = DescribeImageReplicationStatusRequest.AddMember("imageId", ImageIdentifier) + + DescribeImageReplicationStatusRequest_registryId = DescribeImageReplicationStatusRequest.AddMember("registryId", _RegistryId) + + DescribeImageReplicationStatusResponse_repositoryName = DescribeImageReplicationStatusResponse.AddMember("repositoryName", _RepositoryName) + + DescribeImageReplicationStatusResponse_imageId = DescribeImageReplicationStatusResponse.AddMember("imageId", ImageIdentifier) + + DescribeImageReplicationStatusResponse_replicationStatuses = DescribeImageReplicationStatusResponse.AddMember("replicationStatuses", _ImageReplicationStatusList) + + DescribeImageScanFindingsRequest_registryId = DescribeImageScanFindingsRequest.AddMember("registryId", _RegistryId) + + DescribeImageScanFindingsRequest_repositoryName = DescribeImageScanFindingsRequest.AddMember("repositoryName", _RepositoryName) + + DescribeImageScanFindingsRequest_imageId = DescribeImageScanFindingsRequest.AddMember("imageId", ImageIdentifier) + + DescribeImageScanFindingsRequest_nextToken = DescribeImageScanFindingsRequest.AddMember("nextToken", _NextToken) + + DescribeImageScanFindingsRequest_maxResults = DescribeImageScanFindingsRequest.AddMember("maxResults", _MaxResults) + + DescribeImageScanFindingsResponse_registryId = DescribeImageScanFindingsResponse.AddMember("registryId", _RegistryId) + + DescribeImageScanFindingsResponse_repositoryName = DescribeImageScanFindingsResponse.AddMember("repositoryName", _RepositoryName) + + DescribeImageScanFindingsResponse_imageId = DescribeImageScanFindingsResponse.AddMember("imageId", ImageIdentifier) + + DescribeImageScanFindingsResponse_imageScanStatus = DescribeImageScanFindingsResponse.AddMember("imageScanStatus", ImageScanStatus) + + DescribeImageScanFindingsResponse_imageScanFindings = DescribeImageScanFindingsResponse.AddMember("imageScanFindings", ImageScanFindings) + + DescribeImageScanFindingsResponse_nextToken = DescribeImageScanFindingsResponse.AddMember("nextToken", _NextToken) + + DescribeImageSigningStatusRequest_repositoryName = DescribeImageSigningStatusRequest.AddMember("repositoryName", _RepositoryName) + + DescribeImageSigningStatusRequest_imageId = DescribeImageSigningStatusRequest.AddMember("imageId", ImageIdentifier) + + DescribeImageSigningStatusRequest_registryId = DescribeImageSigningStatusRequest.AddMember("registryId", _RegistryId) + + DescribeImageSigningStatusResponse_repositoryName = DescribeImageSigningStatusResponse.AddMember("repositoryName", _RepositoryName) + + DescribeImageSigningStatusResponse_imageId = DescribeImageSigningStatusResponse.AddMember("imageId", ImageIdentifier) + + DescribeImageSigningStatusResponse_registryId = DescribeImageSigningStatusResponse.AddMember("registryId", _RegistryId) + + DescribeImageSigningStatusResponse_signingStatuses = DescribeImageSigningStatusResponse.AddMember("signingStatuses", _ImageSigningStatusList) + + DescribeImagesRequest_registryId = DescribeImagesRequest.AddMember("registryId", _RegistryId) + + DescribeImagesRequest_repositoryName = DescribeImagesRequest.AddMember("repositoryName", _RepositoryName) + + DescribeImagesRequest_imageIds = DescribeImagesRequest.AddMember("imageIds", _ImageIdentifierList) + + DescribeImagesRequest_nextToken = DescribeImagesRequest.AddMember("nextToken", _NextToken) + + DescribeImagesRequest_maxResults = DescribeImagesRequest.AddMember("maxResults", _MaxResults) + + DescribeImagesRequest_filter = DescribeImagesRequest.AddMember("filter", DescribeImagesFilter) + + DescribeImagesResponse_imageDetails = DescribeImagesResponse.AddMember("imageDetails", _ImageDetailList) + + DescribeImagesResponse_nextToken = DescribeImagesResponse.AddMember("nextToken", _NextToken) + + DescribePullThroughCacheRulesRequest_registryId = DescribePullThroughCacheRulesRequest.AddMember("registryId", _RegistryId) + + DescribePullThroughCacheRulesRequest_ecrRepositoryPrefixes = DescribePullThroughCacheRulesRequest.AddMember("ecrRepositoryPrefixes", _PullThroughCacheRuleRepositoryPrefixList) + + DescribePullThroughCacheRulesRequest_nextToken = DescribePullThroughCacheRulesRequest.AddMember("nextToken", _NextToken) + + DescribePullThroughCacheRulesRequest_maxResults = DescribePullThroughCacheRulesRequest.AddMember("maxResults", _MaxResults) + + DescribePullThroughCacheRulesResponse_pullThroughCacheRules = DescribePullThroughCacheRulesResponse.AddMember("pullThroughCacheRules", _PullThroughCacheRuleList) + + DescribePullThroughCacheRulesResponse_nextToken = DescribePullThroughCacheRulesResponse.AddMember("nextToken", _NextToken) + + DescribeRegistryResponse_registryId = DescribeRegistryResponse.AddMember("registryId", _RegistryId) + + DescribeRegistryResponse_replicationConfiguration = DescribeRegistryResponse.AddMember("replicationConfiguration", ReplicationConfiguration) + + DescribeRepositoriesRequest_registryId = DescribeRepositoriesRequest.AddMember("registryId", _RegistryId) + + DescribeRepositoriesRequest_repositoryNames = DescribeRepositoriesRequest.AddMember("repositoryNames", _RepositoryNameList) + + DescribeRepositoriesRequest_nextToken = DescribeRepositoriesRequest.AddMember("nextToken", _NextToken) + + DescribeRepositoriesRequest_maxResults = DescribeRepositoriesRequest.AddMember("maxResults", _MaxResults) + + DescribeRepositoriesResponse_repositories = DescribeRepositoriesResponse.AddMember("repositories", _RepositoryList) + + DescribeRepositoriesResponse_nextToken = DescribeRepositoriesResponse.AddMember("nextToken", _NextToken) + + DescribeRepositoryCreationTemplatesRequest_prefixes = DescribeRepositoryCreationTemplatesRequest.AddMember("prefixes", _PrefixList) + + DescribeRepositoryCreationTemplatesRequest_nextToken = DescribeRepositoryCreationTemplatesRequest.AddMember("nextToken", _NextToken) + + DescribeRepositoryCreationTemplatesRequest_maxResults = DescribeRepositoryCreationTemplatesRequest.AddMember("maxResults", _MaxResults) + + DescribeRepositoryCreationTemplatesResponse_registryId = DescribeRepositoryCreationTemplatesResponse.AddMember("registryId", _RegistryId) + + DescribeRepositoryCreationTemplatesResponse_repositoryCreationTemplates = DescribeRepositoryCreationTemplatesResponse.AddMember("repositoryCreationTemplates", _RepositoryCreationTemplateList) + + DescribeRepositoryCreationTemplatesResponse_nextToken = DescribeRepositoryCreationTemplatesResponse.AddMember("nextToken", _NextToken) + + GetAccountSettingRequest_name = GetAccountSettingRequest.AddMember("name", _AccountSettingName) + + GetAccountSettingResponse_name = GetAccountSettingResponse.AddMember("name", _AccountSettingName) + + GetAccountSettingResponse_value = GetAccountSettingResponse.AddMember("value", _AccountSettingName) + + GetAuthorizationTokenRequest_registryIds = GetAuthorizationTokenRequest.AddMember("registryIds", _GetAuthorizationTokenRegistryIdList) + + GetAuthorizationTokenResponse_authorizationData = GetAuthorizationTokenResponse.AddMember("authorizationData", _AuthorizationDataList) + + GetDownloadUrlForLayerRequest_registryId = GetDownloadUrlForLayerRequest.AddMember("registryId", _RegistryId) + + GetDownloadUrlForLayerRequest_repositoryName = GetDownloadUrlForLayerRequest.AddMember("repositoryName", _RepositoryName) + + GetDownloadUrlForLayerRequest_layerDigest = GetDownloadUrlForLayerRequest.AddMember("layerDigest", _LayerDigest) + + GetDownloadUrlForLayerResponse_downloadUrl = GetDownloadUrlForLayerResponse.AddMember("downloadUrl", _Url) + + GetDownloadUrlForLayerResponse_layerDigest = GetDownloadUrlForLayerResponse.AddMember("layerDigest", _LayerDigest) + + GetLifecyclePolicyRequest_registryId = GetLifecyclePolicyRequest.AddMember("registryId", _RegistryId) + + GetLifecyclePolicyRequest_repositoryName = GetLifecyclePolicyRequest.AddMember("repositoryName", _RepositoryName) + + GetLifecyclePolicyResponse_registryId = GetLifecyclePolicyResponse.AddMember("registryId", _RegistryId) + + GetLifecyclePolicyResponse_repositoryName = GetLifecyclePolicyResponse.AddMember("repositoryName", _RepositoryName) + + GetLifecyclePolicyResponse_lifecyclePolicyText = GetLifecyclePolicyResponse.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + GetLifecyclePolicyResponse_lastEvaluatedAt = GetLifecyclePolicyResponse.AddMember("lastEvaluatedAt", _EvaluationTimestamp) + + GetLifecyclePolicyPreviewRequest_registryId = GetLifecyclePolicyPreviewRequest.AddMember("registryId", _RegistryId) + + GetLifecyclePolicyPreviewRequest_repositoryName = GetLifecyclePolicyPreviewRequest.AddMember("repositoryName", _RepositoryName) + + GetLifecyclePolicyPreviewRequest_imageIds = GetLifecyclePolicyPreviewRequest.AddMember("imageIds", _ImageIdentifierList) + + GetLifecyclePolicyPreviewRequest_nextToken = GetLifecyclePolicyPreviewRequest.AddMember("nextToken", _NextToken) + + GetLifecyclePolicyPreviewRequest_maxResults = GetLifecyclePolicyPreviewRequest.AddMember("maxResults", _LifecyclePreviewMaxResults) + + GetLifecyclePolicyPreviewRequest_filter = GetLifecyclePolicyPreviewRequest.AddMember("filter", LifecyclePolicyPreviewFilter) + + GetLifecyclePolicyPreviewResponse_registryId = GetLifecyclePolicyPreviewResponse.AddMember("registryId", _RegistryId) + + GetLifecyclePolicyPreviewResponse_repositoryName = GetLifecyclePolicyPreviewResponse.AddMember("repositoryName", _RepositoryName) + + GetLifecyclePolicyPreviewResponse_lifecyclePolicyText = GetLifecyclePolicyPreviewResponse.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + GetLifecyclePolicyPreviewResponse_status = GetLifecyclePolicyPreviewResponse.AddMember("status", LifecyclePolicyPreviewStatus) + + GetLifecyclePolicyPreviewResponse_nextToken = GetLifecyclePolicyPreviewResponse.AddMember("nextToken", _NextToken) + + GetLifecyclePolicyPreviewResponse_previewResults = GetLifecyclePolicyPreviewResponse.AddMember("previewResults", _LifecyclePolicyPreviewResultList) + + GetLifecyclePolicyPreviewResponse_summary = GetLifecyclePolicyPreviewResponse.AddMember("summary", LifecyclePolicyPreviewSummary) + + GetRegistryPolicyResponse_registryId = GetRegistryPolicyResponse.AddMember("registryId", _RegistryId) + + GetRegistryPolicyResponse_policyText = GetRegistryPolicyResponse.AddMember("policyText", _RegistryPolicyText) + + GetRegistryScanningConfigurationResponse_registryId = GetRegistryScanningConfigurationResponse.AddMember("registryId", _RegistryId) + + GetRegistryScanningConfigurationResponse_scanningConfiguration = GetRegistryScanningConfigurationResponse.AddMember("scanningConfiguration", RegistryScanningConfiguration) + + GetRepositoryPolicyRequest_registryId = GetRepositoryPolicyRequest.AddMember("registryId", _RegistryId) + + GetRepositoryPolicyRequest_repositoryName = GetRepositoryPolicyRequest.AddMember("repositoryName", _RepositoryName) + + GetRepositoryPolicyResponse_registryId = GetRepositoryPolicyResponse.AddMember("registryId", _RegistryId) + + GetRepositoryPolicyResponse_repositoryName = GetRepositoryPolicyResponse.AddMember("repositoryName", _RepositoryName) + + GetRepositoryPolicyResponse_policyText = GetRepositoryPolicyResponse.AddMember("policyText", _RepositoryPolicyText) + + GetSigningConfigurationResponse_registryId = GetSigningConfigurationResponse.AddMember("registryId", _RegistryId) + + GetSigningConfigurationResponse_signingConfiguration = GetSigningConfigurationResponse.AddMember("signingConfiguration", SigningConfiguration) + + InitiateLayerUploadRequest_registryId = InitiateLayerUploadRequest.AddMember("registryId", _RegistryId) + + InitiateLayerUploadRequest_repositoryName = InitiateLayerUploadRequest.AddMember("repositoryName", _RepositoryName) + + InitiateLayerUploadResponse_uploadId = InitiateLayerUploadResponse.AddMember("uploadId", _UploadId) + + InitiateLayerUploadResponse_partSize = InitiateLayerUploadResponse.AddMember("partSize", _PartSize) + + ListImageReferrersRequest_registryId = ListImageReferrersRequest.AddMember("registryId", _RegistryId) + + ListImageReferrersRequest_repositoryName = ListImageReferrersRequest.AddMember("repositoryName", _RepositoryName) + + ListImageReferrersRequest_subjectId = ListImageReferrersRequest.AddMember("subjectId", SubjectIdentifier) + + ListImageReferrersRequest_filter = ListImageReferrersRequest.AddMember("filter", ListImageReferrersFilter) + + ListImageReferrersRequest_nextToken = ListImageReferrersRequest.AddMember("nextToken", _NextToken) + + ListImageReferrersRequest_maxResults = ListImageReferrersRequest.AddMember("maxResults", _FiftyMaxResults) + + ListImageReferrersResponse_referrers = ListImageReferrersResponse.AddMember("referrers", _ImageReferrerList) + + ListImageReferrersResponse_nextToken = ListImageReferrersResponse.AddMember("nextToken", _NextToken) + + ListImagesRequest_registryId = ListImagesRequest.AddMember("registryId", _RegistryId) + + ListImagesRequest_repositoryName = ListImagesRequest.AddMember("repositoryName", _RepositoryName) + + ListImagesRequest_nextToken = ListImagesRequest.AddMember("nextToken", _NextToken) + + ListImagesRequest_maxResults = ListImagesRequest.AddMember("maxResults", _MaxResults) + + ListImagesRequest_filter = ListImagesRequest.AddMember("filter", ListImagesFilter) + + ListImagesResponse_imageIds = ListImagesResponse.AddMember("imageIds", _ImageIdentifierList) + + ListImagesResponse_nextToken = ListImagesResponse.AddMember("nextToken", _NextToken) + + ListPullTimeUpdateExclusionsRequest_maxResults = ListPullTimeUpdateExclusionsRequest.AddMember("maxResults", _MaxResults) + + ListPullTimeUpdateExclusionsRequest_nextToken = ListPullTimeUpdateExclusionsRequest.AddMember("nextToken", _NextToken) + + ListPullTimeUpdateExclusionsResponse_pullTimeUpdateExclusions = ListPullTimeUpdateExclusionsResponse.AddMember("pullTimeUpdateExclusions", _PullTimeUpdateExclusionList) + + ListPullTimeUpdateExclusionsResponse_nextToken = ListPullTimeUpdateExclusionsResponse.AddMember("nextToken", _NextToken) + + ListTagsForResourceRequest_resourceArn = ListTagsForResourceRequest.AddMember("resourceArn", _Arn) + + ListTagsForResourceResponse_tags = ListTagsForResourceResponse.AddMember("tags", _TagList) + + PutAccountSettingRequest_name = PutAccountSettingRequest.AddMember("name", _AccountSettingName) + + PutAccountSettingRequest_value = PutAccountSettingRequest.AddMember("value", _AccountSettingValue) + + PutAccountSettingResponse_name = PutAccountSettingResponse.AddMember("name", _AccountSettingName) + + PutAccountSettingResponse_value = PutAccountSettingResponse.AddMember("value", _AccountSettingValue) + + PutImageRequest_registryId = PutImageRequest.AddMember("registryId", _RegistryId) + + PutImageRequest_repositoryName = PutImageRequest.AddMember("repositoryName", _RepositoryName) + + PutImageRequest_imageManifest = PutImageRequest.AddMember("imageManifest", _ImageManifest) + + PutImageRequest_imageManifestMediaType = PutImageRequest.AddMember("imageManifestMediaType", _MediaType) + + PutImageRequest_imageTag = PutImageRequest.AddMember("imageTag", _ImageTag) + + PutImageRequest_imageDigest = PutImageRequest.AddMember("imageDigest", _ImageDigest) + + PutImageResponse_image = PutImageResponse.AddMember("image", Image) + + PutImageScanningConfigurationRequest_registryId = PutImageScanningConfigurationRequest.AddMember("registryId", _RegistryId) + + PutImageScanningConfigurationRequest_repositoryName = PutImageScanningConfigurationRequest.AddMember("repositoryName", _RepositoryName) + + PutImageScanningConfigurationRequest_imageScanningConfiguration = PutImageScanningConfigurationRequest.AddMember("imageScanningConfiguration", ImageScanningConfiguration) + + PutImageScanningConfigurationResponse_registryId = PutImageScanningConfigurationResponse.AddMember("registryId", _RegistryId) + + PutImageScanningConfigurationResponse_repositoryName = PutImageScanningConfigurationResponse.AddMember("repositoryName", _RepositoryName) + + PutImageScanningConfigurationResponse_imageScanningConfiguration = PutImageScanningConfigurationResponse.AddMember("imageScanningConfiguration", ImageScanningConfiguration) + + PutImageTagMutabilityRequest_registryId = PutImageTagMutabilityRequest.AddMember("registryId", _RegistryId) + + PutImageTagMutabilityRequest_repositoryName = PutImageTagMutabilityRequest.AddMember("repositoryName", _RepositoryName) + + PutImageTagMutabilityRequest_imageTagMutability = PutImageTagMutabilityRequest.AddMember("imageTagMutability", ImageTagMutability) + + PutImageTagMutabilityRequest_imageTagMutabilityExclusionFilters = PutImageTagMutabilityRequest.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + PutImageTagMutabilityResponse_registryId = PutImageTagMutabilityResponse.AddMember("registryId", _RegistryId) + + PutImageTagMutabilityResponse_repositoryName = PutImageTagMutabilityResponse.AddMember("repositoryName", _RepositoryName) + + PutImageTagMutabilityResponse_imageTagMutability = PutImageTagMutabilityResponse.AddMember("imageTagMutability", ImageTagMutability) + + PutImageTagMutabilityResponse_imageTagMutabilityExclusionFilters = PutImageTagMutabilityResponse.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + PutLifecyclePolicyRequest_registryId = PutLifecyclePolicyRequest.AddMember("registryId", _RegistryId) + + PutLifecyclePolicyRequest_repositoryName = PutLifecyclePolicyRequest.AddMember("repositoryName", _RepositoryName) + + PutLifecyclePolicyRequest_lifecyclePolicyText = PutLifecyclePolicyRequest.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + PutLifecyclePolicyResponse_registryId = PutLifecyclePolicyResponse.AddMember("registryId", _RegistryId) + + PutLifecyclePolicyResponse_repositoryName = PutLifecyclePolicyResponse.AddMember("repositoryName", _RepositoryName) + + PutLifecyclePolicyResponse_lifecyclePolicyText = PutLifecyclePolicyResponse.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + PutRegistryPolicyRequest_policyText = PutRegistryPolicyRequest.AddMember("policyText", _RegistryPolicyText) + + PutRegistryPolicyResponse_registryId = PutRegistryPolicyResponse.AddMember("registryId", _RegistryId) + + PutRegistryPolicyResponse_policyText = PutRegistryPolicyResponse.AddMember("policyText", _RegistryPolicyText) + + PutRegistryScanningConfigurationRequest_scanType = PutRegistryScanningConfigurationRequest.AddMember("scanType", ScanType) + + PutRegistryScanningConfigurationRequest_rules = PutRegistryScanningConfigurationRequest.AddMember("rules", _RegistryScanningRuleList) + + PutRegistryScanningConfigurationResponse_registryScanningConfiguration = PutRegistryScanningConfigurationResponse.AddMember("registryScanningConfiguration", RegistryScanningConfiguration) + + PutReplicationConfigurationRequest_replicationConfiguration = PutReplicationConfigurationRequest.AddMember("replicationConfiguration", ReplicationConfiguration) + + PutReplicationConfigurationResponse_replicationConfiguration = PutReplicationConfigurationResponse.AddMember("replicationConfiguration", ReplicationConfiguration) + + PutSigningConfigurationRequest_signingConfiguration = PutSigningConfigurationRequest.AddMember("signingConfiguration", SigningConfiguration) + + PutSigningConfigurationResponse_signingConfiguration = PutSigningConfigurationResponse.AddMember("signingConfiguration", SigningConfiguration) + + RegisterPullTimeUpdateExclusionRequest_principalArn = RegisterPullTimeUpdateExclusionRequest.AddMember("principalArn", _PrincipalArn) + + RegisterPullTimeUpdateExclusionResponse_principalArn = RegisterPullTimeUpdateExclusionResponse.AddMember("principalArn", _PrincipalArn) + + RegisterPullTimeUpdateExclusionResponse_createdAt = RegisterPullTimeUpdateExclusionResponse.AddMember("createdAt", _CreationTimestamp) + + SetRepositoryPolicyRequest_registryId = SetRepositoryPolicyRequest.AddMember("registryId", _RegistryId) + + SetRepositoryPolicyRequest_repositoryName = SetRepositoryPolicyRequest.AddMember("repositoryName", _RepositoryName) + + SetRepositoryPolicyRequest_policyText = SetRepositoryPolicyRequest.AddMember("policyText", _RepositoryPolicyText) + + SetRepositoryPolicyRequest_force = SetRepositoryPolicyRequest.AddMember("force", _ForceFlag) + + SetRepositoryPolicyResponse_registryId = SetRepositoryPolicyResponse.AddMember("registryId", _RegistryId) + + SetRepositoryPolicyResponse_repositoryName = SetRepositoryPolicyResponse.AddMember("repositoryName", _RepositoryName) + + SetRepositoryPolicyResponse_policyText = SetRepositoryPolicyResponse.AddMember("policyText", _RepositoryPolicyText) + + StartImageScanRequest_registryId = StartImageScanRequest.AddMember("registryId", _RegistryId) + + StartImageScanRequest_repositoryName = StartImageScanRequest.AddMember("repositoryName", _RepositoryName) + + StartImageScanRequest_imageId = StartImageScanRequest.AddMember("imageId", ImageIdentifier) + + StartImageScanResponse_registryId = StartImageScanResponse.AddMember("registryId", _RegistryId) + + StartImageScanResponse_repositoryName = StartImageScanResponse.AddMember("repositoryName", _RepositoryName) + + StartImageScanResponse_imageId = StartImageScanResponse.AddMember("imageId", ImageIdentifier) + + StartImageScanResponse_imageScanStatus = StartImageScanResponse.AddMember("imageScanStatus", ImageScanStatus) + + StartLifecyclePolicyPreviewRequest_registryId = StartLifecyclePolicyPreviewRequest.AddMember("registryId", _RegistryId) + + StartLifecyclePolicyPreviewRequest_repositoryName = StartLifecyclePolicyPreviewRequest.AddMember("repositoryName", _RepositoryName) + + StartLifecyclePolicyPreviewRequest_lifecyclePolicyText = StartLifecyclePolicyPreviewRequest.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + StartLifecyclePolicyPreviewResponse_registryId = StartLifecyclePolicyPreviewResponse.AddMember("registryId", _RegistryId) + + StartLifecyclePolicyPreviewResponse_repositoryName = StartLifecyclePolicyPreviewResponse.AddMember("repositoryName", _RepositoryName) + + StartLifecyclePolicyPreviewResponse_lifecyclePolicyText = StartLifecyclePolicyPreviewResponse.AddMember("lifecyclePolicyText", _LifecyclePolicyText) + + StartLifecyclePolicyPreviewResponse_status = StartLifecyclePolicyPreviewResponse.AddMember("status", LifecyclePolicyPreviewStatus) + + TagResourceRequest_resourceArn = TagResourceRequest.AddMember("resourceArn", _Arn) + + TagResourceRequest_tags = TagResourceRequest.AddMember("tags", _TagList) + + UntagResourceRequest_resourceArn = UntagResourceRequest.AddMember("resourceArn", _Arn) + + UntagResourceRequest_tagKeys = UntagResourceRequest.AddMember("tagKeys", _TagKeyList) + + UpdateImageStorageClassRequest_registryId = UpdateImageStorageClassRequest.AddMember("registryId", _RegistryId) + + UpdateImageStorageClassRequest_repositoryName = UpdateImageStorageClassRequest.AddMember("repositoryName", _RepositoryName) + + UpdateImageStorageClassRequest_imageId = UpdateImageStorageClassRequest.AddMember("imageId", ImageIdentifier) + + UpdateImageStorageClassRequest_targetStorageClass = UpdateImageStorageClassRequest.AddMember("targetStorageClass", TargetStorageClass) + + UpdateImageStorageClassResponse_registryId = UpdateImageStorageClassResponse.AddMember("registryId", _RegistryId) + + UpdateImageStorageClassResponse_repositoryName = UpdateImageStorageClassResponse.AddMember("repositoryName", _RepositoryName) + + UpdateImageStorageClassResponse_imageId = UpdateImageStorageClassResponse.AddMember("imageId", ImageIdentifier) + + UpdateImageStorageClassResponse_imageStatus = UpdateImageStorageClassResponse.AddMember("imageStatus", ImageStatus) + + UpdatePullThroughCacheRuleRequest_registryId = UpdatePullThroughCacheRuleRequest.AddMember("registryId", _RegistryId) + + UpdatePullThroughCacheRuleRequest_ecrRepositoryPrefix = UpdatePullThroughCacheRuleRequest.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + UpdatePullThroughCacheRuleRequest_credentialArn = UpdatePullThroughCacheRuleRequest.AddMember("credentialArn", _CredentialArn) + + UpdatePullThroughCacheRuleRequest_customRoleArn = UpdatePullThroughCacheRuleRequest.AddMember("customRoleArn", _CustomRoleArn) + + UpdatePullThroughCacheRuleResponse_ecrRepositoryPrefix = UpdatePullThroughCacheRuleResponse.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + UpdatePullThroughCacheRuleResponse_registryId = UpdatePullThroughCacheRuleResponse.AddMember("registryId", _RegistryId) + + UpdatePullThroughCacheRuleResponse_updatedAt = UpdatePullThroughCacheRuleResponse.AddMember("updatedAt", _UpdatedTimestamp) + + UpdatePullThroughCacheRuleResponse_credentialArn = UpdatePullThroughCacheRuleResponse.AddMember("credentialArn", _CredentialArn) + + UpdatePullThroughCacheRuleResponse_customRoleArn = UpdatePullThroughCacheRuleResponse.AddMember("customRoleArn", _CustomRoleArn) + + UpdatePullThroughCacheRuleResponse_upstreamRepositoryPrefix = UpdatePullThroughCacheRuleResponse.AddMember("upstreamRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + UpdateRepositoryCreationTemplateRequest_prefix = UpdateRepositoryCreationTemplateRequest.AddMember("prefix", _Prefix) + + UpdateRepositoryCreationTemplateRequest_description = UpdateRepositoryCreationTemplateRequest.AddMember("description", _RepositoryTemplateDescription) + + UpdateRepositoryCreationTemplateRequest_encryptionConfiguration = UpdateRepositoryCreationTemplateRequest.AddMember("encryptionConfiguration", EncryptionConfigurationForRepositoryCreationTemplate) + + UpdateRepositoryCreationTemplateRequest_resourceTags = UpdateRepositoryCreationTemplateRequest.AddMember("resourceTags", _TagList) + + UpdateRepositoryCreationTemplateRequest_imageTagMutability = UpdateRepositoryCreationTemplateRequest.AddMember("imageTagMutability", ImageTagMutability) + + UpdateRepositoryCreationTemplateRequest_imageTagMutabilityExclusionFilters = UpdateRepositoryCreationTemplateRequest.AddMember("imageTagMutabilityExclusionFilters", _ImageTagMutabilityExclusionFilters) + + UpdateRepositoryCreationTemplateRequest_repositoryPolicy = UpdateRepositoryCreationTemplateRequest.AddMember("repositoryPolicy", _RepositoryPolicyText) + + UpdateRepositoryCreationTemplateRequest_lifecyclePolicy = UpdateRepositoryCreationTemplateRequest.AddMember("lifecyclePolicy", _LifecyclePolicyTextForRepositoryCreationTemplate) + + UpdateRepositoryCreationTemplateRequest_appliedFor = UpdateRepositoryCreationTemplateRequest.AddMember("appliedFor", _RCTAppliedForList) + + UpdateRepositoryCreationTemplateRequest_customRoleArn = UpdateRepositoryCreationTemplateRequest.AddMember("customRoleArn", _CustomRoleArn) + + UpdateRepositoryCreationTemplateResponse_registryId = UpdateRepositoryCreationTemplateResponse.AddMember("registryId", _RegistryId) + + UpdateRepositoryCreationTemplateResponse_repositoryCreationTemplate = UpdateRepositoryCreationTemplateResponse.AddMember("repositoryCreationTemplate", RepositoryCreationTemplate) + + UploadLayerPartRequest_registryId = UploadLayerPartRequest.AddMember("registryId", _RegistryId) + + UploadLayerPartRequest_repositoryName = UploadLayerPartRequest.AddMember("repositoryName", _RepositoryName) + + UploadLayerPartRequest_uploadId = UploadLayerPartRequest.AddMember("uploadId", _UploadId) + + UploadLayerPartRequest_partFirstByte = UploadLayerPartRequest.AddMember("partFirstByte", _PartSize) + + UploadLayerPartRequest_partLastByte = UploadLayerPartRequest.AddMember("partLastByte", _PartSize) + + UploadLayerPartRequest_layerPartBlob = UploadLayerPartRequest.AddMember("layerPartBlob", _LayerPartBlob) + + UploadLayerPartResponse_registryId = UploadLayerPartResponse.AddMember("registryId", _RegistryId) + + UploadLayerPartResponse_repositoryName = UploadLayerPartResponse.AddMember("repositoryName", _RepositoryName) + + UploadLayerPartResponse_uploadId = UploadLayerPartResponse.AddMember("uploadId", _UploadId) + + UploadLayerPartResponse_lastByteReceived = UploadLayerPartResponse.AddMember("lastByteReceived", _PartSize) + + ValidatePullThroughCacheRuleRequest_ecrRepositoryPrefix = ValidatePullThroughCacheRuleRequest.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + ValidatePullThroughCacheRuleRequest_registryId = ValidatePullThroughCacheRuleRequest.AddMember("registryId", _RegistryId) + + ValidatePullThroughCacheRuleResponse_ecrRepositoryPrefix = ValidatePullThroughCacheRuleResponse.AddMember("ecrRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + ValidatePullThroughCacheRuleResponse_registryId = ValidatePullThroughCacheRuleResponse.AddMember("registryId", _RegistryId) + + ValidatePullThroughCacheRuleResponse_upstreamRegistryUrl = ValidatePullThroughCacheRuleResponse.AddMember("upstreamRegistryUrl", _Url) + + ValidatePullThroughCacheRuleResponse_credentialArn = ValidatePullThroughCacheRuleResponse.AddMember("credentialArn", _CredentialArn) + + ValidatePullThroughCacheRuleResponse_customRoleArn = ValidatePullThroughCacheRuleResponse.AddMember("customRoleArn", _CustomRoleArn) + + ValidatePullThroughCacheRuleResponse_upstreamRepositoryPrefix = ValidatePullThroughCacheRuleResponse.AddMember("upstreamRepositoryPrefix", _PullThroughCacheRuleRepositoryPrefix) + + ValidatePullThroughCacheRuleResponse_isValid = ValidatePullThroughCacheRuleResponse.AddMember("isValid", _IsPTCRuleValid) + + ValidatePullThroughCacheRuleResponse_failure = ValidatePullThroughCacheRuleResponse.AddMember("failure", _PTCValidateFailure) + +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/serializers.go deleted file mode 100644 index 183bbbdc..00000000 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/serializers.go +++ /dev/null @@ -1,5487 +0,0 @@ -// Code generated by smithy-go-codegen DO NOT EDIT. - -package ecr - -import ( - "bytes" - "context" - "fmt" - "github.com/aws/aws-sdk-go-v2/service/ecr/types" - smithy "github.com/aws/smithy-go" - "github.com/aws/smithy-go/encoding/httpbinding" - smithyjson "github.com/aws/smithy-go/encoding/json" - "github.com/aws/smithy-go/middleware" - "github.com/aws/smithy-go/tracing" - smithyhttp "github.com/aws/smithy-go/transport/http" - "path" -) - -type awsAwsjson11_serializeOpBatchCheckLayerAvailability struct { -} - -func (*awsAwsjson11_serializeOpBatchCheckLayerAvailability) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpBatchCheckLayerAvailability) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*BatchCheckLayerAvailabilityInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.BatchCheckLayerAvailability") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentBatchCheckLayerAvailabilityInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpBatchDeleteImage struct { -} - -func (*awsAwsjson11_serializeOpBatchDeleteImage) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpBatchDeleteImage) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*BatchDeleteImageInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.BatchDeleteImage") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentBatchDeleteImageInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpBatchGetImage struct { -} - -func (*awsAwsjson11_serializeOpBatchGetImage) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpBatchGetImage) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*BatchGetImageInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.BatchGetImage") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentBatchGetImageInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpBatchGetRepositoryScanningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpBatchGetRepositoryScanningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpBatchGetRepositoryScanningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*BatchGetRepositoryScanningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.BatchGetRepositoryScanningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentBatchGetRepositoryScanningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpCompleteLayerUpload struct { -} - -func (*awsAwsjson11_serializeOpCompleteLayerUpload) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpCompleteLayerUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*CompleteLayerUploadInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.CompleteLayerUpload") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentCompleteLayerUploadInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpCreatePullThroughCacheRule struct { -} - -func (*awsAwsjson11_serializeOpCreatePullThroughCacheRule) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpCreatePullThroughCacheRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*CreatePullThroughCacheRuleInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.CreatePullThroughCacheRule") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentCreatePullThroughCacheRuleInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpCreateRepository struct { -} - -func (*awsAwsjson11_serializeOpCreateRepository) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpCreateRepository) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*CreateRepositoryInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.CreateRepository") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentCreateRepositoryInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpCreateRepositoryCreationTemplate struct { -} - -func (*awsAwsjson11_serializeOpCreateRepositoryCreationTemplate) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpCreateRepositoryCreationTemplate) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*CreateRepositoryCreationTemplateInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.CreateRepositoryCreationTemplate") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentCreateRepositoryCreationTemplateInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteLifecyclePolicy struct { -} - -func (*awsAwsjson11_serializeOpDeleteLifecyclePolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteLifecyclePolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteLifecyclePolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeleteLifecyclePolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteLifecyclePolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeletePullThroughCacheRule struct { -} - -func (*awsAwsjson11_serializeOpDeletePullThroughCacheRule) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeletePullThroughCacheRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeletePullThroughCacheRuleInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeletePullThroughCacheRule") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeletePullThroughCacheRuleInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteRegistryPolicy struct { -} - -func (*awsAwsjson11_serializeOpDeleteRegistryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteRegistryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteRegistryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeleteRegistryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteRegistryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteRepository struct { -} - -func (*awsAwsjson11_serializeOpDeleteRepository) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteRepository) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteRepositoryInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeleteRepository") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteRepositoryInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteRepositoryCreationTemplate struct { -} - -func (*awsAwsjson11_serializeOpDeleteRepositoryCreationTemplate) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteRepositoryCreationTemplate) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteRepositoryCreationTemplateInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeleteRepositoryCreationTemplate") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteRepositoryCreationTemplateInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteRepositoryPolicy struct { -} - -func (*awsAwsjson11_serializeOpDeleteRepositoryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteRepositoryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteRepositoryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeleteRepositoryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteRepositoryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteSigningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpDeleteSigningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteSigningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteSigningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeleteSigningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteSigningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeregisterPullTimeUpdateExclusion struct { -} - -func (*awsAwsjson11_serializeOpDeregisterPullTimeUpdateExclusion) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeregisterPullTimeUpdateExclusion) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeregisterPullTimeUpdateExclusionInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DeregisterPullTimeUpdateExclusion") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeregisterPullTimeUpdateExclusionInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeImageReplicationStatus struct { -} - -func (*awsAwsjson11_serializeOpDescribeImageReplicationStatus) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeImageReplicationStatus) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeImageReplicationStatusInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeImageReplicationStatus") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeImageReplicationStatusInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeImages struct { -} - -func (*awsAwsjson11_serializeOpDescribeImages) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeImages) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeImagesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeImages") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeImagesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeImageScanFindings struct { -} - -func (*awsAwsjson11_serializeOpDescribeImageScanFindings) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeImageScanFindings) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeImageScanFindingsInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeImageScanFindingsInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeImageSigningStatus struct { -} - -func (*awsAwsjson11_serializeOpDescribeImageSigningStatus) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeImageSigningStatus) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeImageSigningStatusInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeImageSigningStatus") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeImageSigningStatusInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribePullThroughCacheRules struct { -} - -func (*awsAwsjson11_serializeOpDescribePullThroughCacheRules) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribePullThroughCacheRules) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribePullThroughCacheRulesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribePullThroughCacheRulesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeRegistry struct { -} - -func (*awsAwsjson11_serializeOpDescribeRegistry) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeRegistry) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeRegistryInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeRegistry") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeRegistryInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeRepositories struct { -} - -func (*awsAwsjson11_serializeOpDescribeRepositories) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeRepositories) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeRepositoriesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeRepositories") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeRepositoriesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeRepositoryCreationTemplates struct { -} - -func (*awsAwsjson11_serializeOpDescribeRepositoryCreationTemplates) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeRepositoryCreationTemplates) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeRepositoryCreationTemplatesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.DescribeRepositoryCreationTemplates") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeRepositoryCreationTemplatesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetAccountSetting struct { -} - -func (*awsAwsjson11_serializeOpGetAccountSetting) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetAccountSetting) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetAccountSettingInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetAccountSetting") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetAccountSettingInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetAuthorizationToken struct { -} - -func (*awsAwsjson11_serializeOpGetAuthorizationToken) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetAuthorizationToken) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetAuthorizationTokenInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetAuthorizationToken") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetAuthorizationTokenInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetDownloadUrlForLayer struct { -} - -func (*awsAwsjson11_serializeOpGetDownloadUrlForLayer) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetDownloadUrlForLayer) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetDownloadUrlForLayerInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetDownloadUrlForLayer") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetDownloadUrlForLayerInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetLifecyclePolicy struct { -} - -func (*awsAwsjson11_serializeOpGetLifecyclePolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetLifecyclePolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetLifecyclePolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetLifecyclePolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetLifecyclePolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetLifecyclePolicyPreview struct { -} - -func (*awsAwsjson11_serializeOpGetLifecyclePolicyPreview) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetLifecyclePolicyPreview) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetLifecyclePolicyPreviewInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetLifecyclePolicyPreview") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetLifecyclePolicyPreviewInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetRegistryPolicy struct { -} - -func (*awsAwsjson11_serializeOpGetRegistryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetRegistryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetRegistryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetRegistryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetRegistryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetRegistryScanningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpGetRegistryScanningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetRegistryScanningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetRegistryScanningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetRegistryScanningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetRegistryScanningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetRepositoryPolicy struct { -} - -func (*awsAwsjson11_serializeOpGetRepositoryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetRepositoryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetRepositoryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetRepositoryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetRepositoryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetSigningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpGetSigningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetSigningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetSigningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.GetSigningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetSigningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpInitiateLayerUpload struct { -} - -func (*awsAwsjson11_serializeOpInitiateLayerUpload) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpInitiateLayerUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*InitiateLayerUploadInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.InitiateLayerUpload") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentInitiateLayerUploadInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpListImageReferrers struct { -} - -func (*awsAwsjson11_serializeOpListImageReferrers) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpListImageReferrers) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*ListImageReferrersInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.ListImageReferrers") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListImageReferrersInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpListImages struct { -} - -func (*awsAwsjson11_serializeOpListImages) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpListImages) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*ListImagesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.ListImages") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListImagesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpListPullTimeUpdateExclusions struct { -} - -func (*awsAwsjson11_serializeOpListPullTimeUpdateExclusions) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpListPullTimeUpdateExclusions) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*ListPullTimeUpdateExclusionsInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.ListPullTimeUpdateExclusions") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListPullTimeUpdateExclusionsInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpListTagsForResource struct { -} - -func (*awsAwsjson11_serializeOpListTagsForResource) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpListTagsForResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*ListTagsForResourceInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.ListTagsForResource") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListTagsForResourceInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutAccountSetting struct { -} - -func (*awsAwsjson11_serializeOpPutAccountSetting) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutAccountSetting) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutAccountSettingInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutAccountSetting") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutAccountSettingInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutImage struct { -} - -func (*awsAwsjson11_serializeOpPutImage) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutImage) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutImageInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutImage") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutImageInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutImageScanningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpPutImageScanningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutImageScanningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutImageScanningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutImageScanningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutImageScanningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutImageTagMutability struct { -} - -func (*awsAwsjson11_serializeOpPutImageTagMutability) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutImageTagMutability) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutImageTagMutabilityInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutImageTagMutability") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutImageTagMutabilityInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutLifecyclePolicy struct { -} - -func (*awsAwsjson11_serializeOpPutLifecyclePolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutLifecyclePolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutLifecyclePolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutLifecyclePolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutLifecyclePolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutRegistryPolicy struct { -} - -func (*awsAwsjson11_serializeOpPutRegistryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutRegistryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutRegistryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutRegistryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutRegistryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutRegistryScanningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpPutRegistryScanningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutRegistryScanningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutRegistryScanningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutRegistryScanningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutRegistryScanningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutReplicationConfiguration struct { -} - -func (*awsAwsjson11_serializeOpPutReplicationConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutReplicationConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutReplicationConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutReplicationConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutReplicationConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutSigningConfiguration struct { -} - -func (*awsAwsjson11_serializeOpPutSigningConfiguration) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutSigningConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutSigningConfigurationInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.PutSigningConfiguration") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutSigningConfigurationInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpRegisterPullTimeUpdateExclusion struct { -} - -func (*awsAwsjson11_serializeOpRegisterPullTimeUpdateExclusion) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpRegisterPullTimeUpdateExclusion) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*RegisterPullTimeUpdateExclusionInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.RegisterPullTimeUpdateExclusion") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentRegisterPullTimeUpdateExclusionInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpSetRepositoryPolicy struct { -} - -func (*awsAwsjson11_serializeOpSetRepositoryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpSetRepositoryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*SetRepositoryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.SetRepositoryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentSetRepositoryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpStartImageScan struct { -} - -func (*awsAwsjson11_serializeOpStartImageScan) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpStartImageScan) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*StartImageScanInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.StartImageScan") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentStartImageScanInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpStartLifecyclePolicyPreview struct { -} - -func (*awsAwsjson11_serializeOpStartLifecyclePolicyPreview) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpStartLifecyclePolicyPreview) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*StartLifecyclePolicyPreviewInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.StartLifecyclePolicyPreview") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentStartLifecyclePolicyPreviewInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpTagResource struct { -} - -func (*awsAwsjson11_serializeOpTagResource) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpTagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*TagResourceInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.TagResource") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentTagResourceInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUntagResource struct { -} - -func (*awsAwsjson11_serializeOpUntagResource) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUntagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UntagResourceInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.UntagResource") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUntagResourceInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUpdateImageStorageClass struct { -} - -func (*awsAwsjson11_serializeOpUpdateImageStorageClass) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUpdateImageStorageClass) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UpdateImageStorageClassInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.UpdateImageStorageClass") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateImageStorageClassInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUpdatePullThroughCacheRule struct { -} - -func (*awsAwsjson11_serializeOpUpdatePullThroughCacheRule) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUpdatePullThroughCacheRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UpdatePullThroughCacheRuleInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.UpdatePullThroughCacheRule") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdatePullThroughCacheRuleInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUpdateRepositoryCreationTemplate struct { -} - -func (*awsAwsjson11_serializeOpUpdateRepositoryCreationTemplate) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUpdateRepositoryCreationTemplate) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UpdateRepositoryCreationTemplateInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.UpdateRepositoryCreationTemplate") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUpdateRepositoryCreationTemplateInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUploadLayerPart struct { -} - -func (*awsAwsjson11_serializeOpUploadLayerPart) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUploadLayerPart) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UploadLayerPartInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.UploadLayerPart") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUploadLayerPartInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpValidatePullThroughCacheRule struct { -} - -func (*awsAwsjson11_serializeOpValidatePullThroughCacheRule) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpValidatePullThroughCacheRule) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*ValidatePullThroughCacheRuleInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("AmazonEC2ContainerRegistry_V20150921.ValidatePullThroughCacheRule") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentValidatePullThroughCacheRuleInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} -func awsAwsjson11_serializeDocumentArtifactTypeList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentBatchedOperationLayerDigestList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentDescribeImagesFilter(v *types.DescribeImagesFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.ImageStatus) > 0 { - ok := object.Key("imageStatus") - ok.String(string(v.ImageStatus)) - } - - if len(v.TagStatus) > 0 { - ok := object.Key("tagStatus") - ok.String(string(v.TagStatus)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentEncryptionConfiguration(v *types.EncryptionConfiguration, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.EncryptionType) > 0 { - ok := object.Key("encryptionType") - ok.String(string(v.EncryptionType)) - } - - if v.KmsKey != nil { - ok := object.Key("kmsKey") - ok.String(*v.KmsKey) - } - - return nil -} - -func awsAwsjson11_serializeDocumentEncryptionConfigurationForRepositoryCreationTemplate(v *types.EncryptionConfigurationForRepositoryCreationTemplate, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.EncryptionType) > 0 { - ok := object.Key("encryptionType") - ok.String(string(v.EncryptionType)) - } - - if v.KmsKey != nil { - ok := object.Key("kmsKey") - ok.String(*v.KmsKey) - } - - return nil -} - -func awsAwsjson11_serializeDocumentGetAuthorizationTokenRegistryIdList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentImageIdentifier(v *types.ImageIdentifier, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageDigest != nil { - ok := object.Key("imageDigest") - ok.String(*v.ImageDigest) - } - - if v.ImageTag != nil { - ok := object.Key("imageTag") - ok.String(*v.ImageTag) - } - - return nil -} - -func awsAwsjson11_serializeDocumentImageIdentifierList(v []types.ImageIdentifier, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentImageIdentifier(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentImageScanningConfiguration(v *types.ImageScanningConfiguration, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ScanOnPush { - ok := object.Key("scanOnPush") - ok.Boolean(v.ScanOnPush) - } - - return nil -} - -func awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilter(v *types.ImageTagMutabilityExclusionFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - ok.String(*v.Filter) - } - - if len(v.FilterType) > 0 { - ok := object.Key("filterType") - ok.String(string(v.FilterType)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilters(v []types.ImageTagMutabilityExclusionFilter, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilter(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentLayerDigestList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentLifecyclePolicyPreviewFilter(v *types.LifecyclePolicyPreviewFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.TagStatus) > 0 { - ok := object.Key("tagStatus") - ok.String(string(v.TagStatus)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentListImageReferrersFilter(v *types.ListImageReferrersFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.ArtifactStatus) > 0 { - ok := object.Key("artifactStatus") - ok.String(string(v.ArtifactStatus)) - } - - if v.ArtifactTypes != nil { - ok := object.Key("artifactTypes") - if err := awsAwsjson11_serializeDocumentArtifactTypeList(v.ArtifactTypes, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeDocumentListImagesFilter(v *types.ListImagesFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.ImageStatus) > 0 { - ok := object.Key("imageStatus") - ok.String(string(v.ImageStatus)) - } - - if len(v.TagStatus) > 0 { - ok := object.Key("tagStatus") - ok.String(string(v.TagStatus)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentMediaTypeList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentPrefixList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentPullThroughCacheRuleRepositoryPrefixList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentRCTAppliedForList(v []types.RCTAppliedFor, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(string(v[i])) - } - return nil -} - -func awsAwsjson11_serializeDocumentRegistryScanningRule(v *types.RegistryScanningRule, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RepositoryFilters != nil { - ok := object.Key("repositoryFilters") - if err := awsAwsjson11_serializeDocumentScanningRepositoryFilterList(v.RepositoryFilters, ok); err != nil { - return err - } - } - - if len(v.ScanFrequency) > 0 { - ok := object.Key("scanFrequency") - ok.String(string(v.ScanFrequency)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentRegistryScanningRuleList(v []types.RegistryScanningRule, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentRegistryScanningRule(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentReplicationConfiguration(v *types.ReplicationConfiguration, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Rules != nil { - ok := object.Key("rules") - if err := awsAwsjson11_serializeDocumentReplicationRuleList(v.Rules, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeDocumentReplicationDestination(v *types.ReplicationDestination, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Region != nil { - ok := object.Key("region") - ok.String(*v.Region) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - return nil -} - -func awsAwsjson11_serializeDocumentReplicationDestinationList(v []types.ReplicationDestination, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentReplicationDestination(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentReplicationRule(v *types.ReplicationRule, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Destinations != nil { - ok := object.Key("destinations") - if err := awsAwsjson11_serializeDocumentReplicationDestinationList(v.Destinations, ok); err != nil { - return err - } - } - - if v.RepositoryFilters != nil { - ok := object.Key("repositoryFilters") - if err := awsAwsjson11_serializeDocumentRepositoryFilterList(v.RepositoryFilters, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeDocumentReplicationRuleList(v []types.ReplicationRule, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentReplicationRule(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentRepositoryFilter(v *types.RepositoryFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - ok.String(*v.Filter) - } - - if len(v.FilterType) > 0 { - ok := object.Key("filterType") - ok.String(string(v.FilterType)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentRepositoryFilterList(v []types.RepositoryFilter, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentRepositoryFilter(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentRepositoryNameList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentScanningConfigurationRepositoryNameList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentScanningRepositoryFilter(v *types.ScanningRepositoryFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - ok.String(*v.Filter) - } - - if len(v.FilterType) > 0 { - ok := object.Key("filterType") - ok.String(string(v.FilterType)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentScanningRepositoryFilterList(v []types.ScanningRepositoryFilter, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentScanningRepositoryFilter(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentSigningConfiguration(v *types.SigningConfiguration, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Rules != nil { - ok := object.Key("rules") - if err := awsAwsjson11_serializeDocumentSigningRuleList(v.Rules, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeDocumentSigningRepositoryFilter(v *types.SigningRepositoryFilter, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - ok.String(*v.Filter) - } - - if len(v.FilterType) > 0 { - ok := object.Key("filterType") - ok.String(string(v.FilterType)) - } - - return nil -} - -func awsAwsjson11_serializeDocumentSigningRepositoryFilterList(v []types.SigningRepositoryFilter, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentSigningRepositoryFilter(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentSigningRule(v *types.SigningRule, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RepositoryFilters != nil { - ok := object.Key("repositoryFilters") - if err := awsAwsjson11_serializeDocumentSigningRepositoryFilterList(v.RepositoryFilters, ok); err != nil { - return err - } - } - - if v.SigningProfileArn != nil { - ok := object.Key("signingProfileArn") - ok.String(*v.SigningProfileArn) - } - - return nil -} - -func awsAwsjson11_serializeDocumentSigningRuleList(v []types.SigningRule, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentSigningRule(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentSubjectIdentifier(v *types.SubjectIdentifier, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageDigest != nil { - ok := object.Key("imageDigest") - ok.String(*v.ImageDigest) - } - - return nil -} - -func awsAwsjson11_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Key != nil { - ok := object.Key("Key") - ok.String(*v.Key) - } - - if v.Value != nil { - ok := object.Key("Value") - ok.String(*v.Value) - } - - return nil -} - -func awsAwsjson11_serializeDocumentTagKeyList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentTagList(v []types.Tag, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentTag(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeOpDocumentBatchCheckLayerAvailabilityInput(v *BatchCheckLayerAvailabilityInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerDigests != nil { - ok := object.Key("layerDigests") - if err := awsAwsjson11_serializeDocumentBatchedOperationLayerDigestList(v.LayerDigests, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentBatchDeleteImageInput(v *BatchDeleteImageInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageIds != nil { - ok := object.Key("imageIds") - if err := awsAwsjson11_serializeDocumentImageIdentifierList(v.ImageIds, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentBatchGetImageInput(v *BatchGetImageInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.AcceptedMediaTypes != nil { - ok := object.Key("acceptedMediaTypes") - if err := awsAwsjson11_serializeDocumentMediaTypeList(v.AcceptedMediaTypes, ok); err != nil { - return err - } - } - - if v.ImageIds != nil { - ok := object.Key("imageIds") - if err := awsAwsjson11_serializeDocumentImageIdentifierList(v.ImageIds, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentBatchGetRepositoryScanningConfigurationInput(v *BatchGetRepositoryScanningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RepositoryNames != nil { - ok := object.Key("repositoryNames") - if err := awsAwsjson11_serializeDocumentScanningConfigurationRepositoryNameList(v.RepositoryNames, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentCompleteLayerUploadInput(v *CompleteLayerUploadInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerDigests != nil { - ok := object.Key("layerDigests") - if err := awsAwsjson11_serializeDocumentLayerDigestList(v.LayerDigests, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.UploadId != nil { - ok := object.Key("uploadId") - ok.String(*v.UploadId) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentCreatePullThroughCacheRuleInput(v *CreatePullThroughCacheRuleInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.CredentialArn != nil { - ok := object.Key("credentialArn") - ok.String(*v.CredentialArn) - } - - if v.CustomRoleArn != nil { - ok := object.Key("customRoleArn") - ok.String(*v.CustomRoleArn) - } - - if v.EcrRepositoryPrefix != nil { - ok := object.Key("ecrRepositoryPrefix") - ok.String(*v.EcrRepositoryPrefix) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if len(v.UpstreamRegistry) > 0 { - ok := object.Key("upstreamRegistry") - ok.String(string(v.UpstreamRegistry)) - } - - if v.UpstreamRegistryUrl != nil { - ok := object.Key("upstreamRegistryUrl") - ok.String(*v.UpstreamRegistryUrl) - } - - if v.UpstreamRepositoryPrefix != nil { - ok := object.Key("upstreamRepositoryPrefix") - ok.String(*v.UpstreamRepositoryPrefix) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentCreateRepositoryCreationTemplateInput(v *CreateRepositoryCreationTemplateInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.AppliedFor != nil { - ok := object.Key("appliedFor") - if err := awsAwsjson11_serializeDocumentRCTAppliedForList(v.AppliedFor, ok); err != nil { - return err - } - } - - if v.CustomRoleArn != nil { - ok := object.Key("customRoleArn") - ok.String(*v.CustomRoleArn) - } - - if v.Description != nil { - ok := object.Key("description") - ok.String(*v.Description) - } - - if v.EncryptionConfiguration != nil { - ok := object.Key("encryptionConfiguration") - if err := awsAwsjson11_serializeDocumentEncryptionConfigurationForRepositoryCreationTemplate(v.EncryptionConfiguration, ok); err != nil { - return err - } - } - - if len(v.ImageTagMutability) > 0 { - ok := object.Key("imageTagMutability") - ok.String(string(v.ImageTagMutability)) - } - - if v.ImageTagMutabilityExclusionFilters != nil { - ok := object.Key("imageTagMutabilityExclusionFilters") - if err := awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilters(v.ImageTagMutabilityExclusionFilters, ok); err != nil { - return err - } - } - - if v.LifecyclePolicy != nil { - ok := object.Key("lifecyclePolicy") - ok.String(*v.LifecyclePolicy) - } - - if v.Prefix != nil { - ok := object.Key("prefix") - ok.String(*v.Prefix) - } - - if v.RepositoryPolicy != nil { - ok := object.Key("repositoryPolicy") - ok.String(*v.RepositoryPolicy) - } - - if v.ResourceTags != nil { - ok := object.Key("resourceTags") - if err := awsAwsjson11_serializeDocumentTagList(v.ResourceTags, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentCreateRepositoryInput(v *CreateRepositoryInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.EncryptionConfiguration != nil { - ok := object.Key("encryptionConfiguration") - if err := awsAwsjson11_serializeDocumentEncryptionConfiguration(v.EncryptionConfiguration, ok); err != nil { - return err - } - } - - if v.ImageScanningConfiguration != nil { - ok := object.Key("imageScanningConfiguration") - if err := awsAwsjson11_serializeDocumentImageScanningConfiguration(v.ImageScanningConfiguration, ok); err != nil { - return err - } - } - - if len(v.ImageTagMutability) > 0 { - ok := object.Key("imageTagMutability") - ok.String(string(v.ImageTagMutability)) - } - - if v.ImageTagMutabilityExclusionFilters != nil { - ok := object.Key("imageTagMutabilityExclusionFilters") - if err := awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilters(v.ImageTagMutabilityExclusionFilters, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.Tags != nil { - ok := object.Key("tags") - if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteLifecyclePolicyInput(v *DeleteLifecyclePolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeletePullThroughCacheRuleInput(v *DeletePullThroughCacheRuleInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.EcrRepositoryPrefix != nil { - ok := object.Key("ecrRepositoryPrefix") - ok.String(*v.EcrRepositoryPrefix) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteRegistryPolicyInput(v *DeleteRegistryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteRepositoryCreationTemplateInput(v *DeleteRepositoryCreationTemplateInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Prefix != nil { - ok := object.Key("prefix") - ok.String(*v.Prefix) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteRepositoryInput(v *DeleteRepositoryInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Force { - ok := object.Key("force") - ok.Boolean(v.Force) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteRepositoryPolicyInput(v *DeleteRepositoryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteSigningConfigurationInput(v *DeleteSigningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeregisterPullTimeUpdateExclusionInput(v *DeregisterPullTimeUpdateExclusionInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.PrincipalArn != nil { - ok := object.Key("principalArn") - ok.String(*v.PrincipalArn) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeImageReplicationStatusInput(v *DescribeImageReplicationStatusInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageId != nil { - ok := object.Key("imageId") - if err := awsAwsjson11_serializeDocumentImageIdentifier(v.ImageId, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeImageScanFindingsInput(v *DescribeImageScanFindingsInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageId != nil { - ok := object.Key("imageId") - if err := awsAwsjson11_serializeDocumentImageIdentifier(v.ImageId, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeImageSigningStatusInput(v *DescribeImageSigningStatusInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageId != nil { - ok := object.Key("imageId") - if err := awsAwsjson11_serializeDocumentImageIdentifier(v.ImageId, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeImagesInput(v *DescribeImagesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - if err := awsAwsjson11_serializeDocumentDescribeImagesFilter(v.Filter, ok); err != nil { - return err - } - } - - if v.ImageIds != nil { - ok := object.Key("imageIds") - if err := awsAwsjson11_serializeDocumentImageIdentifierList(v.ImageIds, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribePullThroughCacheRulesInput(v *DescribePullThroughCacheRulesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.EcrRepositoryPrefixes != nil { - ok := object.Key("ecrRepositoryPrefixes") - if err := awsAwsjson11_serializeDocumentPullThroughCacheRuleRepositoryPrefixList(v.EcrRepositoryPrefixes, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeRegistryInput(v *DescribeRegistryInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeRepositoriesInput(v *DescribeRepositoriesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryNames != nil { - ok := object.Key("repositoryNames") - if err := awsAwsjson11_serializeDocumentRepositoryNameList(v.RepositoryNames, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeRepositoryCreationTemplatesInput(v *DescribeRepositoryCreationTemplatesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.Prefixes != nil { - ok := object.Key("prefixes") - if err := awsAwsjson11_serializeDocumentPrefixList(v.Prefixes, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetAccountSettingInput(v *GetAccountSettingInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Name != nil { - ok := object.Key("name") - ok.String(*v.Name) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetAuthorizationTokenInput(v *GetAuthorizationTokenInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryIds != nil { - ok := object.Key("registryIds") - if err := awsAwsjson11_serializeDocumentGetAuthorizationTokenRegistryIdList(v.RegistryIds, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetDownloadUrlForLayerInput(v *GetDownloadUrlForLayerInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerDigest != nil { - ok := object.Key("layerDigest") - ok.String(*v.LayerDigest) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetLifecyclePolicyInput(v *GetLifecyclePolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetLifecyclePolicyPreviewInput(v *GetLifecyclePolicyPreviewInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - if err := awsAwsjson11_serializeDocumentLifecyclePolicyPreviewFilter(v.Filter, ok); err != nil { - return err - } - } - - if v.ImageIds != nil { - ok := object.Key("imageIds") - if err := awsAwsjson11_serializeDocumentImageIdentifierList(v.ImageIds, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetRegistryPolicyInput(v *GetRegistryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetRegistryScanningConfigurationInput(v *GetRegistryScanningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetRepositoryPolicyInput(v *GetRepositoryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetSigningConfigurationInput(v *GetSigningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentInitiateLayerUploadInput(v *InitiateLayerUploadInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentListImageReferrersInput(v *ListImageReferrersInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - if err := awsAwsjson11_serializeDocumentListImageReferrersFilter(v.Filter, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.SubjectId != nil { - ok := object.Key("subjectId") - if err := awsAwsjson11_serializeDocumentSubjectIdentifier(v.SubjectId, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentListImagesInput(v *ListImagesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Filter != nil { - ok := object.Key("filter") - if err := awsAwsjson11_serializeDocumentListImagesFilter(v.Filter, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentListPullTimeUpdateExclusionsInput(v *ListPullTimeUpdateExclusionsInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentListTagsForResourceInput(v *ListTagsForResourceInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ResourceArn != nil { - ok := object.Key("resourceArn") - ok.String(*v.ResourceArn) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutAccountSettingInput(v *PutAccountSettingInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Name != nil { - ok := object.Key("name") - ok.String(*v.Name) - } - - if v.Value != nil { - ok := object.Key("value") - ok.String(*v.Value) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutImageInput(v *PutImageInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageDigest != nil { - ok := object.Key("imageDigest") - ok.String(*v.ImageDigest) - } - - if v.ImageManifest != nil { - ok := object.Key("imageManifest") - ok.String(*v.ImageManifest) - } - - if v.ImageManifestMediaType != nil { - ok := object.Key("imageManifestMediaType") - ok.String(*v.ImageManifestMediaType) - } - - if v.ImageTag != nil { - ok := object.Key("imageTag") - ok.String(*v.ImageTag) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutImageScanningConfigurationInput(v *PutImageScanningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageScanningConfiguration != nil { - ok := object.Key("imageScanningConfiguration") - if err := awsAwsjson11_serializeDocumentImageScanningConfiguration(v.ImageScanningConfiguration, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutImageTagMutabilityInput(v *PutImageTagMutabilityInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if len(v.ImageTagMutability) > 0 { - ok := object.Key("imageTagMutability") - ok.String(string(v.ImageTagMutability)) - } - - if v.ImageTagMutabilityExclusionFilters != nil { - ok := object.Key("imageTagMutabilityExclusionFilters") - if err := awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilters(v.ImageTagMutabilityExclusionFilters, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutLifecyclePolicyInput(v *PutLifecyclePolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LifecyclePolicyText != nil { - ok := object.Key("lifecyclePolicyText") - ok.String(*v.LifecyclePolicyText) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutRegistryPolicyInput(v *PutRegistryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.PolicyText != nil { - ok := object.Key("policyText") - ok.String(*v.PolicyText) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutRegistryScanningConfigurationInput(v *PutRegistryScanningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Rules != nil { - ok := object.Key("rules") - if err := awsAwsjson11_serializeDocumentRegistryScanningRuleList(v.Rules, ok); err != nil { - return err - } - } - - if len(v.ScanType) > 0 { - ok := object.Key("scanType") - ok.String(string(v.ScanType)) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutReplicationConfigurationInput(v *PutReplicationConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ReplicationConfiguration != nil { - ok := object.Key("replicationConfiguration") - if err := awsAwsjson11_serializeDocumentReplicationConfiguration(v.ReplicationConfiguration, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutSigningConfigurationInput(v *PutSigningConfigurationInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.SigningConfiguration != nil { - ok := object.Key("signingConfiguration") - if err := awsAwsjson11_serializeDocumentSigningConfiguration(v.SigningConfiguration, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentRegisterPullTimeUpdateExclusionInput(v *RegisterPullTimeUpdateExclusionInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.PrincipalArn != nil { - ok := object.Key("principalArn") - ok.String(*v.PrincipalArn) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentSetRepositoryPolicyInput(v *SetRepositoryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Force { - ok := object.Key("force") - ok.Boolean(v.Force) - } - - if v.PolicyText != nil { - ok := object.Key("policyText") - ok.String(*v.PolicyText) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentStartImageScanInput(v *StartImageScanInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageId != nil { - ok := object.Key("imageId") - if err := awsAwsjson11_serializeDocumentImageIdentifier(v.ImageId, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentStartLifecyclePolicyPreviewInput(v *StartLifecyclePolicyPreviewInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LifecyclePolicyText != nil { - ok := object.Key("lifecyclePolicyText") - ok.String(*v.LifecyclePolicyText) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentTagResourceInput(v *TagResourceInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ResourceArn != nil { - ok := object.Key("resourceArn") - ok.String(*v.ResourceArn) - } - - if v.Tags != nil { - ok := object.Key("tags") - if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUntagResourceInput(v *UntagResourceInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ResourceArn != nil { - ok := object.Key("resourceArn") - ok.String(*v.ResourceArn) - } - - if v.TagKeys != nil { - ok := object.Key("tagKeys") - if err := awsAwsjson11_serializeDocumentTagKeyList(v.TagKeys, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUpdateImageStorageClassInput(v *UpdateImageStorageClassInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageId != nil { - ok := object.Key("imageId") - if err := awsAwsjson11_serializeDocumentImageIdentifier(v.ImageId, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if len(v.TargetStorageClass) > 0 { - ok := object.Key("targetStorageClass") - ok.String(string(v.TargetStorageClass)) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUpdatePullThroughCacheRuleInput(v *UpdatePullThroughCacheRuleInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.CredentialArn != nil { - ok := object.Key("credentialArn") - ok.String(*v.CredentialArn) - } - - if v.CustomRoleArn != nil { - ok := object.Key("customRoleArn") - ok.String(*v.CustomRoleArn) - } - - if v.EcrRepositoryPrefix != nil { - ok := object.Key("ecrRepositoryPrefix") - ok.String(*v.EcrRepositoryPrefix) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUpdateRepositoryCreationTemplateInput(v *UpdateRepositoryCreationTemplateInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.AppliedFor != nil { - ok := object.Key("appliedFor") - if err := awsAwsjson11_serializeDocumentRCTAppliedForList(v.AppliedFor, ok); err != nil { - return err - } - } - - if v.CustomRoleArn != nil { - ok := object.Key("customRoleArn") - ok.String(*v.CustomRoleArn) - } - - if v.Description != nil { - ok := object.Key("description") - ok.String(*v.Description) - } - - if v.EncryptionConfiguration != nil { - ok := object.Key("encryptionConfiguration") - if err := awsAwsjson11_serializeDocumentEncryptionConfigurationForRepositoryCreationTemplate(v.EncryptionConfiguration, ok); err != nil { - return err - } - } - - if len(v.ImageTagMutability) > 0 { - ok := object.Key("imageTagMutability") - ok.String(string(v.ImageTagMutability)) - } - - if v.ImageTagMutabilityExclusionFilters != nil { - ok := object.Key("imageTagMutabilityExclusionFilters") - if err := awsAwsjson11_serializeDocumentImageTagMutabilityExclusionFilters(v.ImageTagMutabilityExclusionFilters, ok); err != nil { - return err - } - } - - if v.LifecyclePolicy != nil { - ok := object.Key("lifecyclePolicy") - ok.String(*v.LifecyclePolicy) - } - - if v.Prefix != nil { - ok := object.Key("prefix") - ok.String(*v.Prefix) - } - - if v.RepositoryPolicy != nil { - ok := object.Key("repositoryPolicy") - ok.String(*v.RepositoryPolicy) - } - - if v.ResourceTags != nil { - ok := object.Key("resourceTags") - if err := awsAwsjson11_serializeDocumentTagList(v.ResourceTags, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUploadLayerPartInput(v *UploadLayerPartInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerPartBlob != nil { - ok := object.Key("layerPartBlob") - ok.Base64EncodeBytes(v.LayerPartBlob) - } - - if v.PartFirstByte != nil { - ok := object.Key("partFirstByte") - ok.Long(*v.PartFirstByte) - } - - if v.PartLastByte != nil { - ok := object.Key("partLastByte") - ok.Long(*v.PartLastByte) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.UploadId != nil { - ok := object.Key("uploadId") - ok.String(*v.UploadId) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentValidatePullThroughCacheRuleInput(v *ValidatePullThroughCacheRuleInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.EcrRepositoryPrefix != nil { - ok := object.Key("ecrRepositoryPrefix") - ok.String(*v.EcrRepositoryPrefix) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/type_registry.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/type_registry.go new file mode 100644 index 00000000..712f48b1 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/type_registry.go @@ -0,0 +1,203 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ecr + +import ( + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + "github.com/aws/aws-sdk-go-v2/service/ecr/types" + smithy "github.com/aws/smithy-go" +) + +// TypeRegistry is the type registry for this service. +var TypeRegistry = &smithy.TypeRegistry{ + Entries: map[string]*smithy.TypeRegistryEntry{ + "com.amazonaws.ecr#BlockedByOrganizationPolicyException": { + Schema: schemas.BlockedByOrganizationPolicyException, + New: func() any { return &types.BlockedByOrganizationPolicyException{} }, + }, + "com.amazonaws.ecr#EmptyUploadException": { + Schema: schemas.EmptyUploadException, + New: func() any { return &types.EmptyUploadException{} }, + }, + "com.amazonaws.ecr#ExclusionAlreadyExistsException": { + Schema: schemas.ExclusionAlreadyExistsException, + New: func() any { return &types.ExclusionAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#ExclusionNotFoundException": { + Schema: schemas.ExclusionNotFoundException, + New: func() any { return &types.ExclusionNotFoundException{} }, + }, + "com.amazonaws.ecr#ImageAlreadyExistsException": { + Schema: schemas.ImageAlreadyExistsException, + New: func() any { return &types.ImageAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#ImageArchivedException": { + Schema: schemas.ImageArchivedException, + New: func() any { return &types.ImageArchivedException{} }, + }, + "com.amazonaws.ecr#ImageDigestDoesNotMatchException": { + Schema: schemas.ImageDigestDoesNotMatchException, + New: func() any { return &types.ImageDigestDoesNotMatchException{} }, + }, + "com.amazonaws.ecr#ImageNotFoundException": { + Schema: schemas.ImageNotFoundException, + New: func() any { return &types.ImageNotFoundException{} }, + }, + "com.amazonaws.ecr#ImageStorageClassUpdateNotSupportedException": { + Schema: schemas.ImageStorageClassUpdateNotSupportedException, + New: func() any { return &types.ImageStorageClassUpdateNotSupportedException{} }, + }, + "com.amazonaws.ecr#ImageTagAlreadyExistsException": { + Schema: schemas.ImageTagAlreadyExistsException, + New: func() any { return &types.ImageTagAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#InvalidLayerException": { + Schema: schemas.InvalidLayerException, + New: func() any { return &types.InvalidLayerException{} }, + }, + "com.amazonaws.ecr#InvalidLayerPartException": { + Schema: schemas.InvalidLayerPartException, + New: func() any { return &types.InvalidLayerPartException{} }, + }, + "com.amazonaws.ecr#InvalidParameterException": { + Schema: schemas.InvalidParameterException, + New: func() any { return &types.InvalidParameterException{} }, + }, + "com.amazonaws.ecr#InvalidTagParameterException": { + Schema: schemas.InvalidTagParameterException, + New: func() any { return &types.InvalidTagParameterException{} }, + }, + "com.amazonaws.ecr#KmsException": { + Schema: schemas.KmsException, + New: func() any { return &types.KmsException{} }, + }, + "com.amazonaws.ecr#LayerAlreadyExistsException": { + Schema: schemas.LayerAlreadyExistsException, + New: func() any { return &types.LayerAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#LayerInaccessibleException": { + Schema: schemas.LayerInaccessibleException, + New: func() any { return &types.LayerInaccessibleException{} }, + }, + "com.amazonaws.ecr#LayerPartTooSmallException": { + Schema: schemas.LayerPartTooSmallException, + New: func() any { return &types.LayerPartTooSmallException{} }, + }, + "com.amazonaws.ecr#LayersNotFoundException": { + Schema: schemas.LayersNotFoundException, + New: func() any { return &types.LayersNotFoundException{} }, + }, + "com.amazonaws.ecr#LifecyclePolicyNotFoundException": { + Schema: schemas.LifecyclePolicyNotFoundException, + New: func() any { return &types.LifecyclePolicyNotFoundException{} }, + }, + "com.amazonaws.ecr#LifecyclePolicyPreviewInProgressException": { + Schema: schemas.LifecyclePolicyPreviewInProgressException, + New: func() any { return &types.LifecyclePolicyPreviewInProgressException{} }, + }, + "com.amazonaws.ecr#LifecyclePolicyPreviewNotFoundException": { + Schema: schemas.LifecyclePolicyPreviewNotFoundException, + New: func() any { return &types.LifecyclePolicyPreviewNotFoundException{} }, + }, + "com.amazonaws.ecr#LimitExceededException": { + Schema: schemas.LimitExceededException, + New: func() any { return &types.LimitExceededException{} }, + }, + "com.amazonaws.ecr#PullThroughCacheRuleAlreadyExistsException": { + Schema: schemas.PullThroughCacheRuleAlreadyExistsException, + New: func() any { return &types.PullThroughCacheRuleAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#PullThroughCacheRuleNotFoundException": { + Schema: schemas.PullThroughCacheRuleNotFoundException, + New: func() any { return &types.PullThroughCacheRuleNotFoundException{} }, + }, + "com.amazonaws.ecr#ReferencedImagesNotFoundException": { + Schema: schemas.ReferencedImagesNotFoundException, + New: func() any { return &types.ReferencedImagesNotFoundException{} }, + }, + "com.amazonaws.ecr#RegistryPolicyNotFoundException": { + Schema: schemas.RegistryPolicyNotFoundException, + New: func() any { return &types.RegistryPolicyNotFoundException{} }, + }, + "com.amazonaws.ecr#RepositoryAlreadyExistsException": { + Schema: schemas.RepositoryAlreadyExistsException, + New: func() any { return &types.RepositoryAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#RepositoryNotEmptyException": { + Schema: schemas.RepositoryNotEmptyException, + New: func() any { return &types.RepositoryNotEmptyException{} }, + }, + "com.amazonaws.ecr#RepositoryNotFoundException": { + Schema: schemas.RepositoryNotFoundException, + New: func() any { return &types.RepositoryNotFoundException{} }, + }, + "com.amazonaws.ecr#RepositoryPolicyNotFoundException": { + Schema: schemas.RepositoryPolicyNotFoundException, + New: func() any { return &types.RepositoryPolicyNotFoundException{} }, + }, + "com.amazonaws.ecr#ScanNotFoundException": { + Schema: schemas.ScanNotFoundException, + New: func() any { return &types.ScanNotFoundException{} }, + }, + "com.amazonaws.ecr#SecretNotFoundException": { + Schema: schemas.SecretNotFoundException, + New: func() any { return &types.SecretNotFoundException{} }, + }, + "com.amazonaws.ecr#ServerException": { + Schema: schemas.ServerException, + New: func() any { return &types.ServerException{} }, + }, + "com.amazonaws.ecr#SigningConfigurationNotFoundException": { + Schema: schemas.SigningConfigurationNotFoundException, + New: func() any { return &types.SigningConfigurationNotFoundException{} }, + }, + "com.amazonaws.ecr#TemplateAlreadyExistsException": { + Schema: schemas.TemplateAlreadyExistsException, + New: func() any { return &types.TemplateAlreadyExistsException{} }, + }, + "com.amazonaws.ecr#TemplateNotFoundException": { + Schema: schemas.TemplateNotFoundException, + New: func() any { return &types.TemplateNotFoundException{} }, + }, + "com.amazonaws.ecr#TooManyTagsException": { + Schema: schemas.TooManyTagsException, + New: func() any { return &types.TooManyTagsException{} }, + }, + "com.amazonaws.ecr#UnableToAccessSecretException": { + Schema: schemas.UnableToAccessSecretException, + New: func() any { return &types.UnableToAccessSecretException{} }, + }, + "com.amazonaws.ecr#UnableToDecryptSecretValueException": { + Schema: schemas.UnableToDecryptSecretValueException, + New: func() any { return &types.UnableToDecryptSecretValueException{} }, + }, + "com.amazonaws.ecr#UnableToGetUpstreamImageException": { + Schema: schemas.UnableToGetUpstreamImageException, + New: func() any { return &types.UnableToGetUpstreamImageException{} }, + }, + "com.amazonaws.ecr#UnableToGetUpstreamLayerException": { + Schema: schemas.UnableToGetUpstreamLayerException, + New: func() any { return &types.UnableToGetUpstreamLayerException{} }, + }, + "com.amazonaws.ecr#UnableToListUpstreamImageReferrersException": { + Schema: schemas.UnableToListUpstreamImageReferrersException, + New: func() any { return &types.UnableToListUpstreamImageReferrersException{} }, + }, + "com.amazonaws.ecr#UnsupportedImageTypeException": { + Schema: schemas.UnsupportedImageTypeException, + New: func() any { return &types.UnsupportedImageTypeException{} }, + }, + "com.amazonaws.ecr#UnsupportedUpstreamRegistryException": { + Schema: schemas.UnsupportedUpstreamRegistryException, + New: func() any { return &types.UnsupportedUpstreamRegistryException{} }, + }, + "com.amazonaws.ecr#UploadNotFoundException": { + Schema: schemas.UploadNotFoundException, + New: func() any { return &types.UploadNotFoundException{} }, + }, + "com.amazonaws.ecr#ValidationException": { + Schema: schemas.ValidationException, + New: func() any { return &types.ValidationException{} }, + }, + }, +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/common_serde.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/common_serde.go new file mode 100644 index 00000000..5cbf4194 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/common_serde.go @@ -0,0 +1,1376 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types + +import ( + smithy "github.com/aws/smithy-go" +) + +func serializeArtifactTypeList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeAttributeList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Attribute) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeAuthorizationDataList(s smithy.ShapeSerializer, schema *smithy.Schema, v []AuthorizationData) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeBatchedOperationLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeCvssScoreAdjustmentList(s smithy.ShapeSerializer, schema *smithy.Schema, v []CvssScoreAdjustment) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeCvssScoreList(s smithy.ShapeSerializer, schema *smithy.Schema, v []CvssScore) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeEnhancedImageScanFindingList(s smithy.ShapeSerializer, schema *smithy.Schema, v []EnhancedImageScanFinding) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeGetAuthorizationTokenRegistryIdList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeImageDetailList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageDetail) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageIdentifierList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageIdentifier) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Image) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageReferrerList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageReferrer) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageReplicationStatusList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageReplicationStatus) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageScanFindingList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageScanFinding) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageSigningStatusList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageSigningStatus) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeImageTagMutabilityExclusionFilters(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageTagMutabilityExclusionFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagsList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []LayerFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeLayerList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Layer) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeLifecyclePolicyPreviewResultList(s smithy.ShapeSerializer, schema *smithy.Schema, v []LifecyclePolicyPreviewResult) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeMediaTypeList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializePrefixList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializePullThroughCacheRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []PullThroughCacheRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializePullThroughCacheRuleRepositoryPrefixList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializePullTimeUpdateExclusionList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRCTAppliedForList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RCTAppliedFor) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeReferenceUrlsList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRegistryScanningRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RegistryScanningRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRelatedVulnerabilitiesList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeReplicationDestinationList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ReplicationDestination) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeReplicationRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ReplicationRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryCreationTemplateList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RepositoryCreationTemplate) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryFilterList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RepositoryFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Repository) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryNameList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRepositoryScanningConfigurationFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RepositoryScanningConfigurationFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryScanningConfigurationList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RepositoryScanningConfiguration) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeResourceList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Resource) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeScanningConfigurationRepositoryNameList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeScanningRepositoryFilterList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ScanningRepositoryFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeSigningRepositoryFilterList(s smithy.ShapeSerializer, schema *smithy.Schema, v []SigningRepositoryFilter) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeSigningRuleList(s smithy.ShapeSerializer, schema *smithy.Schema, v []SigningRule) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeTagKeyList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Tag) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeTransitioningImageTotalCounts(s smithy.ShapeSerializer, schema *smithy.Schema, v []TransitioningImageTotalCount) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeVulnerablePackagesList(s smithy.ShapeSerializer, schema *smithy.Schema, v []VulnerablePackage) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func deserializeArtifactTypeList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeAttributeList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Attribute) error { + *v = make([]Attribute, 0) + var vv Attribute + return smithy.ReadList(d, s, func() error { + vv = Attribute{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeAuthorizationDataList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]AuthorizationData) error { + *v = make([]AuthorizationData, 0) + var vv AuthorizationData + return smithy.ReadList(d, s, func() error { + vv = AuthorizationData{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeBatchedOperationLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeCvssScoreAdjustmentList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]CvssScoreAdjustment) error { + *v = make([]CvssScoreAdjustment, 0) + var vv CvssScoreAdjustment + return smithy.ReadList(d, s, func() error { + vv = CvssScoreAdjustment{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeCvssScoreList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]CvssScore) error { + *v = make([]CvssScore, 0) + var vv CvssScore + return smithy.ReadList(d, s, func() error { + vv = CvssScore{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeEnhancedImageScanFindingList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]EnhancedImageScanFinding) error { + *v = make([]EnhancedImageScanFinding, 0) + var vv EnhancedImageScanFinding + return smithy.ReadList(d, s, func() error { + vv = EnhancedImageScanFinding{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeGetAuthorizationTokenRegistryIdList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageDetailList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageDetail) error { + *v = make([]ImageDetail, 0) + var vv ImageDetail + return smithy.ReadList(d, s, func() error { + vv = ImageDetail{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageFailure) error { + *v = make([]ImageFailure, 0) + var vv ImageFailure + return smithy.ReadList(d, s, func() error { + vv = ImageFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageIdentifierList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageIdentifier) error { + *v = make([]ImageIdentifier, 0) + var vv ImageIdentifier + return smithy.ReadList(d, s, func() error { + vv = ImageIdentifier{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Image) error { + *v = make([]Image, 0) + var vv Image + return smithy.ReadList(d, s, func() error { + vv = Image{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageReferrerList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageReferrer) error { + *v = make([]ImageReferrer, 0) + var vv ImageReferrer + return smithy.ReadList(d, s, func() error { + vv = ImageReferrer{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageReplicationStatusList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageReplicationStatus) error { + *v = make([]ImageReplicationStatus, 0) + var vv ImageReplicationStatus + return smithy.ReadList(d, s, func() error { + vv = ImageReplicationStatus{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageScanFindingList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageScanFinding) error { + *v = make([]ImageScanFinding, 0) + var vv ImageScanFinding + return smithy.ReadList(d, s, func() error { + vv = ImageScanFinding{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageSigningStatusList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageSigningStatus) error { + *v = make([]ImageSigningStatus, 0) + var vv ImageSigningStatus + return smithy.ReadList(d, s, func() error { + vv = ImageSigningStatus{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagMutabilityExclusionFilters(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageTagMutabilityExclusionFilter) error { + *v = make([]ImageTagMutabilityExclusionFilter, 0) + var vv ImageTagMutabilityExclusionFilter + return smithy.ReadList(d, s, func() error { + vv = ImageTagMutabilityExclusionFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagsList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]LayerFailure) error { + *v = make([]LayerFailure, 0) + var vv LayerFailure + return smithy.ReadList(d, s, func() error { + vv = LayerFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Layer) error { + *v = make([]Layer, 0) + var vv Layer + return smithy.ReadList(d, s, func() error { + vv = Layer{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLifecyclePolicyPreviewResultList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]LifecyclePolicyPreviewResult) error { + *v = make([]LifecyclePolicyPreviewResult, 0) + var vv LifecyclePolicyPreviewResult + return smithy.ReadList(d, s, func() error { + vv = LifecyclePolicyPreviewResult{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeMediaTypeList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePrefixList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePullThroughCacheRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]PullThroughCacheRule) error { + *v = make([]PullThroughCacheRule, 0) + var vv PullThroughCacheRule + return smithy.ReadList(d, s, func() error { + vv = PullThroughCacheRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePullThroughCacheRuleRepositoryPrefixList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializePullTimeUpdateExclusionList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRCTAppliedForList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RCTAppliedFor) error { + *v = make([]RCTAppliedFor, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, RCTAppliedFor(vv)) + return nil + }) +} + +func deserializeReferenceUrlsList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRegistryScanningRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RegistryScanningRule) error { + *v = make([]RegistryScanningRule, 0) + var vv RegistryScanningRule + return smithy.ReadList(d, s, func() error { + vv = RegistryScanningRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRelatedVulnerabilitiesList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeReplicationDestinationList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ReplicationDestination) error { + *v = make([]ReplicationDestination, 0) + var vv ReplicationDestination + return smithy.ReadList(d, s, func() error { + vv = ReplicationDestination{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeReplicationRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ReplicationRule) error { + *v = make([]ReplicationRule, 0) + var vv ReplicationRule + return smithy.ReadList(d, s, func() error { + vv = ReplicationRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryCreationTemplateList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RepositoryCreationTemplate) error { + *v = make([]RepositoryCreationTemplate, 0) + var vv RepositoryCreationTemplate + return smithy.ReadList(d, s, func() error { + vv = RepositoryCreationTemplate{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryFilterList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RepositoryFilter) error { + *v = make([]RepositoryFilter, 0) + var vv RepositoryFilter + return smithy.ReadList(d, s, func() error { + vv = RepositoryFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Repository) error { + *v = make([]Repository, 0) + var vv Repository + return smithy.ReadList(d, s, func() error { + vv = Repository{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryNameList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryScanningConfigurationFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RepositoryScanningConfigurationFailure) error { + *v = make([]RepositoryScanningConfigurationFailure, 0) + var vv RepositoryScanningConfigurationFailure + return smithy.ReadList(d, s, func() error { + vv = RepositoryScanningConfigurationFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryScanningConfigurationList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RepositoryScanningConfiguration) error { + *v = make([]RepositoryScanningConfiguration, 0) + var vv RepositoryScanningConfiguration + return smithy.ReadList(d, s, func() error { + vv = RepositoryScanningConfiguration{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeResourceList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Resource) error { + *v = make([]Resource, 0) + var vv Resource + return smithy.ReadList(d, s, func() error { + vv = Resource{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeScanningConfigurationRepositoryNameList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeScanningRepositoryFilterList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ScanningRepositoryFilter) error { + *v = make([]ScanningRepositoryFilter, 0) + var vv ScanningRepositoryFilter + return smithy.ReadList(d, s, func() error { + vv = ScanningRepositoryFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeSigningRepositoryFilterList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]SigningRepositoryFilter) error { + *v = make([]SigningRepositoryFilter, 0) + var vv SigningRepositoryFilter + return smithy.ReadList(d, s, func() error { + vv = SigningRepositoryFilter{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeSigningRuleList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]SigningRule) error { + *v = make([]SigningRule, 0) + var vv SigningRule + return smithy.ReadList(d, s, func() error { + vv = SigningRule{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagKeyList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Tag) error { + *v = make([]Tag, 0) + var vv Tag + return smithy.ReadList(d, s, func() error { + vv = Tag{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTransitioningImageTotalCounts(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]TransitioningImageTotalCount) error { + *v = make([]TransitioningImageTotalCount, 0) + var vv TransitioningImageTotalCount + return smithy.ReadList(d, s, func() error { + vv = TransitioningImageTotalCount{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeVulnerablePackagesList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]VulnerablePackage) error { + *v = make([]VulnerablePackage, 0) + var vv VulnerablePackage + return smithy.ReadList(d, s, func() error { + vv = VulnerablePackage{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func serializeAnnotations(s smithy.ShapeSerializer, schema *smithy.Schema, v map[string]string) { + if v == nil { + return + } + s.WriteMap(schema) + for k, vv := range v { + s.WriteKey(schema.MapKey(), k) + s.WriteString(schema.MapValue(), string(vv)) + } + s.CloseMap() +} + +func serializeFindingSeverityCounts(s smithy.ShapeSerializer, schema *smithy.Schema, v map[string]int32) { + if v == nil { + return + } + s.WriteMap(schema) + for k, vv := range v { + s.WriteKey(schema.MapKey(), k) + s.WriteInt32(schema.MapValue(), int32(vv)) + } + s.CloseMap() +} + +func serializeTags(s smithy.ShapeSerializer, schema *smithy.Schema, v map[string]string) { + if v == nil { + return + } + s.WriteMap(schema) + for k, vv := range v { + s.WriteKey(schema.MapKey(), k) + s.WriteString(schema.MapValue(), string(vv)) + } + s.CloseMap() +} + +func deserializeAnnotations(d smithy.ShapeDeserializer, s *smithy.Schema, v *map[string]string) error { + *v = make(map[string]string) + var vv string + return smithy.ReadMap(d, s, func(k string) error { + + if err := d.ReadString(s.MapValue(), &vv); err != nil { + return err + } + + (*v)[k] = vv + return nil + }) +} + +func deserializeFindingSeverityCounts(d smithy.ShapeDeserializer, s *smithy.Schema, v *map[string]int32) error { + *v = make(map[string]int32) + var vv int32 + return smithy.ReadMap(d, s, func(k string) error { + + if err := d.ReadInt32(s.MapValue(), &vv); err != nil { + return err + } + + (*v)[k] = vv + return nil + }) +} + +func deserializeTags(d smithy.ShapeDeserializer, s *smithy.Schema, v *map[string]string) error { + *v = make(map[string]string) + var vv string + return smithy.ReadMap(d, s, func(k string) error { + + if err := d.ReadString(s.MapValue(), &vv); err != nil { + return err + } + + (*v)[k] = vv + return nil + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/enums.go index 88b67b0e..4bcea9e8 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/enums.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/enums.go @@ -596,6 +596,7 @@ const ( UpstreamRegistryGitHubContainerRegistry UpstreamRegistry = "github-container-registry" UpstreamRegistryAzureContainerRegistry UpstreamRegistry = "azure-container-registry" UpstreamRegistryGitLabContainerRegistry UpstreamRegistry = "gitlab-container-registry" + UpstreamRegistryChainguard UpstreamRegistry = "chainguard" ) // Values returns all known values for UpstreamRegistry. Note that this can be @@ -612,5 +613,6 @@ func (UpstreamRegistry) Values() []UpstreamRegistry { "github-container-registry", "azure-container-registry", "gitlab-container-registry", + "chainguard", } } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/errors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/errors.go index 18ff3658..bf4b6c99 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/errors.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/errors.go @@ -4,6 +4,7 @@ package types import ( "fmt" + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" smithy "github.com/aws/smithy-go" ) @@ -35,6 +36,27 @@ func (e *BlockedByOrganizationPolicyException) ErrorCode() string { func (e *BlockedByOrganizationPolicyException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *BlockedByOrganizationPolicyException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BlockedByOrganizationPolicyException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BlockedByOrganizationPolicyException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.BlockedByOrganizationPolicyException_message, *v.Message) + } +} +func (v *BlockedByOrganizationPolicyException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BlockedByOrganizationPolicyException, func(s *smithy.Schema) error { + switch s { + case schemas.BlockedByOrganizationPolicyException_message: + v.Message = new(string) + return d.ReadString(schemas.BlockedByOrganizationPolicyException_message, v.Message) + } + return nil + }) +} // The specified layer upload does not contain any layer parts. type EmptyUploadException struct { @@ -61,6 +83,27 @@ func (e *EmptyUploadException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *EmptyUploadException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *EmptyUploadException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.EmptyUploadException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *EmptyUploadException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.EmptyUploadException_message, *v.Message) + } +} +func (v *EmptyUploadException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.EmptyUploadException, func(s *smithy.Schema) error { + switch s { + case schemas.EmptyUploadException_message: + v.Message = new(string) + return d.ReadString(schemas.EmptyUploadException_message, v.Message) + } + return nil + }) +} // The specified pull time update exclusion already exists for the registry. type ExclusionAlreadyExistsException struct { @@ -87,6 +130,27 @@ func (e *ExclusionAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ExclusionAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ExclusionAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ExclusionAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ExclusionAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ExclusionAlreadyExistsException_message, *v.Message) + } +} +func (v *ExclusionAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ExclusionAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.ExclusionAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.ExclusionAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The specified pull time update exclusion was not found. type ExclusionNotFoundException struct { @@ -113,6 +177,27 @@ func (e *ExclusionNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ExclusionNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ExclusionNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ExclusionNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ExclusionNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ExclusionNotFoundException_message, *v.Message) + } +} +func (v *ExclusionNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ExclusionNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.ExclusionNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.ExclusionNotFoundException_message, v.Message) + } + return nil + }) +} // The specified image has already been pushed, and there were no changes to the // manifest or image tag after the last push. @@ -140,6 +225,27 @@ func (e *ImageAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageAlreadyExistsException_message, *v.Message) + } +} +func (v *ImageAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The specified image is archived and cannot be scanned. type ImageArchivedException struct { @@ -166,6 +272,27 @@ func (e *ImageArchivedException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageArchivedException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageArchivedException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageArchivedException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageArchivedException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageArchivedException_message, *v.Message) + } +} +func (v *ImageArchivedException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageArchivedException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageArchivedException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageArchivedException_message, v.Message) + } + return nil + }) +} // The specified image digest does not match the digest that Amazon ECR calculated // for the image. @@ -193,6 +320,27 @@ func (e *ImageDigestDoesNotMatchException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageDigestDoesNotMatchException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageDigestDoesNotMatchException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageDigestDoesNotMatchException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageDigestDoesNotMatchException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageDigestDoesNotMatchException_message, *v.Message) + } +} +func (v *ImageDigestDoesNotMatchException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageDigestDoesNotMatchException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageDigestDoesNotMatchException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageDigestDoesNotMatchException_message, v.Message) + } + return nil + }) +} // The image requested does not exist in the specified repository. type ImageNotFoundException struct { @@ -219,6 +367,27 @@ func (e *ImageNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageNotFoundException_message, *v.Message) + } +} +func (v *ImageNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageNotFoundException_message, v.Message) + } + return nil + }) +} // The requested image storage class update is not supported. type ImageStorageClassUpdateNotSupportedException struct { @@ -247,6 +416,27 @@ func (e *ImageStorageClassUpdateNotSupportedException) ErrorCode() string { func (e *ImageStorageClassUpdateNotSupportedException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageStorageClassUpdateNotSupportedException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageStorageClassUpdateNotSupportedException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageStorageClassUpdateNotSupportedException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageStorageClassUpdateNotSupportedException_message, *v.Message) + } +} +func (v *ImageStorageClassUpdateNotSupportedException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageStorageClassUpdateNotSupportedException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageStorageClassUpdateNotSupportedException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageStorageClassUpdateNotSupportedException_message, v.Message) + } + return nil + }) +} // The specified image is tagged with a tag that already exists. The repository is // configured for tag immutability. @@ -274,6 +464,27 @@ func (e *ImageTagAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageTagAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageTagAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageTagAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageTagAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageTagAlreadyExistsException_message, *v.Message) + } +} +func (v *ImageTagAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageTagAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageTagAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageTagAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The layer digest calculation performed by Amazon ECR upon receipt of the image // layer does not match the digest specified. @@ -301,6 +512,27 @@ func (e *InvalidLayerException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidLayerException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidLayerException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidLayerException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidLayerException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.InvalidLayerException_message, *v.Message) + } +} +func (v *InvalidLayerException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidLayerException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidLayerException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidLayerException_message, v.Message) + } + return nil + }) +} // The layer part size is not valid, or the first byte specified is not // consecutive to the last byte of a previous layer part upload. @@ -333,6 +565,51 @@ func (e *InvalidLayerPartException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidLayerPartException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidLayerPartException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidLayerPartException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidLayerPartException) SerializeMembers(s smithy.ShapeSerializer) { + if v.LastValidByteReceived != nil { + s.WriteInt64(schemas.InvalidLayerPartException_lastValidByteReceived, *v.LastValidByteReceived) + } + if v.Message != nil { + s.WriteString(schemas.InvalidLayerPartException_message, *v.Message) + } + if v.RegistryId != nil { + s.WriteString(schemas.InvalidLayerPartException_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.InvalidLayerPartException_repositoryName, *v.RepositoryName) + } + if v.UploadId != nil { + s.WriteString(schemas.InvalidLayerPartException_uploadId, *v.UploadId) + } +} +func (v *InvalidLayerPartException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidLayerPartException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidLayerPartException_lastValidByteReceived: + v.LastValidByteReceived = new(int64) + return d.ReadInt64(schemas.InvalidLayerPartException_lastValidByteReceived, v.LastValidByteReceived) + case schemas.InvalidLayerPartException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidLayerPartException_message, v.Message) + case schemas.InvalidLayerPartException_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.InvalidLayerPartException_registryId, v.RegistryId) + case schemas.InvalidLayerPartException_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.InvalidLayerPartException_repositoryName, v.RepositoryName) + case schemas.InvalidLayerPartException_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.InvalidLayerPartException_uploadId, v.UploadId) + } + return nil + }) +} // The specified parameter is invalid. Review the available parameters for the API // request. @@ -360,6 +637,27 @@ func (e *InvalidParameterException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidParameterException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidParameterException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidParameterException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidParameterException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.InvalidParameterException_message, *v.Message) + } +} +func (v *InvalidParameterException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidParameterException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidParameterException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidParameterException_message, v.Message) + } + return nil + }) +} // An invalid parameter has been specified. Tag keys can have a maximum character // length of 128 characters, and tag values can have a maximum length of 256 @@ -388,6 +686,27 @@ func (e *InvalidTagParameterException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidTagParameterException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidTagParameterException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidTagParameterException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidTagParameterException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.InvalidTagParameterException_message, *v.Message) + } +} +func (v *InvalidTagParameterException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidTagParameterException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidTagParameterException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidTagParameterException_message, v.Message) + } + return nil + }) +} // The operation failed due to a KMS exception. type KmsException struct { @@ -416,6 +735,33 @@ func (e *KmsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *KmsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *KmsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.KmsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *KmsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.KmsError != nil { + s.WriteString(schemas.KmsException_kmsError, *v.KmsError) + } + if v.Message != nil { + s.WriteString(schemas.KmsException_message, *v.Message) + } +} +func (v *KmsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.KmsException, func(s *smithy.Schema) error { + switch s { + case schemas.KmsException_kmsError: + v.KmsError = new(string) + return d.ReadString(schemas.KmsException_kmsError, v.KmsError) + case schemas.KmsException_message: + v.Message = new(string) + return d.ReadString(schemas.KmsException_message, v.Message) + } + return nil + }) +} // The image layer already exists in the associated repository. type LayerAlreadyExistsException struct { @@ -442,6 +788,27 @@ func (e *LayerAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayerAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayerAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayerAlreadyExistsException_message, *v.Message) + } +} +func (v *LayerAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.LayerAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.LayerAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The specified layer is not available because it is not associated with an // image. Unassociated image layers may be cleaned up at any time. @@ -469,6 +836,27 @@ func (e *LayerInaccessibleException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayerInaccessibleException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayerInaccessibleException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerInaccessibleException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerInaccessibleException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayerInaccessibleException_message, *v.Message) + } +} +func (v *LayerInaccessibleException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerInaccessibleException, func(s *smithy.Schema) error { + switch s { + case schemas.LayerInaccessibleException_message: + v.Message = new(string) + return d.ReadString(schemas.LayerInaccessibleException_message, v.Message) + } + return nil + }) +} // Layer parts must be at least 5 MiB in size. type LayerPartTooSmallException struct { @@ -495,6 +883,27 @@ func (e *LayerPartTooSmallException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayerPartTooSmallException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayerPartTooSmallException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerPartTooSmallException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerPartTooSmallException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayerPartTooSmallException_message, *v.Message) + } +} +func (v *LayerPartTooSmallException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerPartTooSmallException, func(s *smithy.Schema) error { + switch s { + case schemas.LayerPartTooSmallException_message: + v.Message = new(string) + return d.ReadString(schemas.LayerPartTooSmallException_message, v.Message) + } + return nil + }) +} // The specified layers could not be found, or the specified layer is not valid // for this repository. @@ -522,6 +931,27 @@ func (e *LayersNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayersNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayersNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayersNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayersNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayersNotFoundException_message, *v.Message) + } +} +func (v *LayersNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayersNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.LayersNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.LayersNotFoundException_message, v.Message) + } + return nil + }) +} // The lifecycle policy could not be found, and no policy is set to the repository. type LifecyclePolicyNotFoundException struct { @@ -548,6 +978,27 @@ func (e *LifecyclePolicyNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LifecyclePolicyNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LifecyclePolicyNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LifecyclePolicyNotFoundException_message, *v.Message) + } +} +func (v *LifecyclePolicyNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.LifecyclePolicyNotFoundException_message, v.Message) + } + return nil + }) +} // The previous lifecycle policy preview request has not completed. Wait and try // again. @@ -577,6 +1028,27 @@ func (e *LifecyclePolicyPreviewInProgressException) ErrorCode() string { func (e *LifecyclePolicyPreviewInProgressException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LifecyclePolicyPreviewInProgressException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyPreviewInProgressException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyPreviewInProgressException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LifecyclePolicyPreviewInProgressException_message, *v.Message) + } +} +func (v *LifecyclePolicyPreviewInProgressException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyPreviewInProgressException, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyPreviewInProgressException_message: + v.Message = new(string) + return d.ReadString(schemas.LifecyclePolicyPreviewInProgressException_message, v.Message) + } + return nil + }) +} // There is no dry run for this repository. type LifecyclePolicyPreviewNotFoundException struct { @@ -605,6 +1077,27 @@ func (e *LifecyclePolicyPreviewNotFoundException) ErrorCode() string { func (e *LifecyclePolicyPreviewNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LifecyclePolicyPreviewNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyPreviewNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyPreviewNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LifecyclePolicyPreviewNotFoundException_message, *v.Message) + } +} +func (v *LifecyclePolicyPreviewNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyPreviewNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyPreviewNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.LifecyclePolicyPreviewNotFoundException_message, v.Message) + } + return nil + }) +} // The operation did not succeed because it would have exceeded a service limit // for your account. For more information, see [Amazon ECR service quotas]in the Amazon Elastic Container @@ -635,6 +1128,27 @@ func (e *LimitExceededException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LimitExceededException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LimitExceededException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LimitExceededException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LimitExceededException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LimitExceededException_message, *v.Message) + } +} +func (v *LimitExceededException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LimitExceededException, func(s *smithy.Schema) error { + switch s { + case schemas.LimitExceededException_message: + v.Message = new(string) + return d.ReadString(schemas.LimitExceededException_message, v.Message) + } + return nil + }) +} // A pull through cache rule with these settings already exists for the private // registry. @@ -664,6 +1178,27 @@ func (e *PullThroughCacheRuleAlreadyExistsException) ErrorCode() string { func (e *PullThroughCacheRuleAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *PullThroughCacheRuleAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PullThroughCacheRuleAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PullThroughCacheRuleAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.PullThroughCacheRuleAlreadyExistsException_message, *v.Message) + } +} +func (v *PullThroughCacheRuleAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PullThroughCacheRuleAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.PullThroughCacheRuleAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.PullThroughCacheRuleAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The pull through cache rule was not found. Specify a valid pull through cache // rule and try again. @@ -693,6 +1228,27 @@ func (e *PullThroughCacheRuleNotFoundException) ErrorCode() string { func (e *PullThroughCacheRuleNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *PullThroughCacheRuleNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PullThroughCacheRuleNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PullThroughCacheRuleNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.PullThroughCacheRuleNotFoundException_message, *v.Message) + } +} +func (v *PullThroughCacheRuleNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PullThroughCacheRuleNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.PullThroughCacheRuleNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.PullThroughCacheRuleNotFoundException_message, v.Message) + } + return nil + }) +} // The manifest list is referencing an image that does not exist. type ReferencedImagesNotFoundException struct { @@ -719,6 +1275,27 @@ func (e *ReferencedImagesNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ReferencedImagesNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ReferencedImagesNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ReferencedImagesNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ReferencedImagesNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ReferencedImagesNotFoundException_message, *v.Message) + } +} +func (v *ReferencedImagesNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ReferencedImagesNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.ReferencedImagesNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.ReferencedImagesNotFoundException_message, v.Message) + } + return nil + }) +} // The registry doesn't have an associated registry policy. type RegistryPolicyNotFoundException struct { @@ -745,6 +1322,27 @@ func (e *RegistryPolicyNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RegistryPolicyNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RegistryPolicyNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegistryPolicyNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegistryPolicyNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RegistryPolicyNotFoundException_message, *v.Message) + } +} +func (v *RegistryPolicyNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegistryPolicyNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RegistryPolicyNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RegistryPolicyNotFoundException_message, v.Message) + } + return nil + }) +} // The specified repository already exists in the specified registry. type RepositoryAlreadyExistsException struct { @@ -771,6 +1369,27 @@ func (e *RepositoryAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryAlreadyExistsException_message, *v.Message) + } +} +func (v *RepositoryAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The specified repository contains images. To delete a repository that contains // images, you must force the deletion with the force parameter. @@ -798,6 +1417,27 @@ func (e *RepositoryNotEmptyException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryNotEmptyException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryNotEmptyException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryNotEmptyException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryNotEmptyException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryNotEmptyException_message, *v.Message) + } +} +func (v *RepositoryNotEmptyException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryNotEmptyException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryNotEmptyException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryNotEmptyException_message, v.Message) + } + return nil + }) +} // The specified repository could not be found. Check the spelling of the // specified repository and ensure that you are performing operations on the @@ -826,6 +1466,27 @@ func (e *RepositoryNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryNotFoundException_message, *v.Message) + } +} +func (v *RepositoryNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryNotFoundException_message, v.Message) + } + return nil + }) +} // The specified repository and registry combination does not have an associated // repository policy. @@ -853,6 +1514,27 @@ func (e *RepositoryPolicyNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryPolicyNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryPolicyNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryPolicyNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryPolicyNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryPolicyNotFoundException_message, *v.Message) + } +} +func (v *RepositoryPolicyNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryPolicyNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryPolicyNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryPolicyNotFoundException_message, v.Message) + } + return nil + }) +} // The specified image scan could not be found. Ensure that image scanning is // enabled on the repository and try again. @@ -880,6 +1562,27 @@ func (e *ScanNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ScanNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ScanNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ScanNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ScanNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ScanNotFoundException_message, *v.Message) + } +} +func (v *ScanNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ScanNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.ScanNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.ScanNotFoundException_message, v.Message) + } + return nil + }) +} // The ARN of the secret specified in the pull through cache rule was not found. // Update the pull through cache rule with a valid secret ARN and try again. @@ -907,6 +1610,27 @@ func (e *SecretNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *SecretNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *SecretNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SecretNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SecretNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.SecretNotFoundException_message, *v.Message) + } +} +func (v *SecretNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SecretNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.SecretNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.SecretNotFoundException_message, v.Message) + } + return nil + }) +} // These errors are usually caused by a server-side issue. type ServerException struct { @@ -933,6 +1657,27 @@ func (e *ServerException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ServerException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } +func (v *ServerException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ServerException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ServerException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ServerException_message, *v.Message) + } +} +func (v *ServerException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ServerException, func(s *smithy.Schema) error { + switch s { + case schemas.ServerException_message: + v.Message = new(string) + return d.ReadString(schemas.ServerException_message, v.Message) + } + return nil + }) +} // The specified signing configuration was not found. This occurs when attempting // to retrieve or delete a signing configuration that does not exist. @@ -962,6 +1707,27 @@ func (e *SigningConfigurationNotFoundException) ErrorCode() string { func (e *SigningConfigurationNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *SigningConfigurationNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SigningConfigurationNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SigningConfigurationNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.SigningConfigurationNotFoundException_message, *v.Message) + } +} +func (v *SigningConfigurationNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SigningConfigurationNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.SigningConfigurationNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.SigningConfigurationNotFoundException_message, v.Message) + } + return nil + }) +} // The repository creation template already exists. Specify a unique prefix and // try again. @@ -989,6 +1755,27 @@ func (e *TemplateAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *TemplateAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *TemplateAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TemplateAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TemplateAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.TemplateAlreadyExistsException_message, *v.Message) + } +} +func (v *TemplateAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TemplateAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.TemplateAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.TemplateAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The specified repository creation template can't be found. Verify the registry // ID and prefix and try again. @@ -1016,6 +1803,27 @@ func (e *TemplateNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *TemplateNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *TemplateNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TemplateNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TemplateNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.TemplateNotFoundException_message, *v.Message) + } +} +func (v *TemplateNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TemplateNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.TemplateNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.TemplateNotFoundException_message, v.Message) + } + return nil + }) +} // The list of tags on the repository is over the limit. The maximum number of // tags that can be applied to a repository is 50. @@ -1043,6 +1851,27 @@ func (e *TooManyTagsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *TooManyTagsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *TooManyTagsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TooManyTagsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TooManyTagsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.TooManyTagsException_message, *v.Message) + } +} +func (v *TooManyTagsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TooManyTagsException, func(s *smithy.Schema) error { + switch s { + case schemas.TooManyTagsException_message: + v.Message = new(string) + return d.ReadString(schemas.TooManyTagsException_message, v.Message) + } + return nil + }) +} // The secret is unable to be accessed. Verify the resource permissions for the // secret and try again. @@ -1070,6 +1899,27 @@ func (e *UnableToAccessSecretException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UnableToAccessSecretException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnableToAccessSecretException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnableToAccessSecretException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnableToAccessSecretException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnableToAccessSecretException_message, *v.Message) + } +} +func (v *UnableToAccessSecretException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnableToAccessSecretException, func(s *smithy.Schema) error { + switch s { + case schemas.UnableToAccessSecretException_message: + v.Message = new(string) + return d.ReadString(schemas.UnableToAccessSecretException_message, v.Message) + } + return nil + }) +} // The secret is accessible but is unable to be decrypted. Verify the resource // permisisons and try again. @@ -1099,6 +1949,27 @@ func (e *UnableToDecryptSecretValueException) ErrorCode() string { func (e *UnableToDecryptSecretValueException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnableToDecryptSecretValueException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnableToDecryptSecretValueException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnableToDecryptSecretValueException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnableToDecryptSecretValueException_message, *v.Message) + } +} +func (v *UnableToDecryptSecretValueException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnableToDecryptSecretValueException, func(s *smithy.Schema) error { + switch s { + case schemas.UnableToDecryptSecretValueException_message: + v.Message = new(string) + return d.ReadString(schemas.UnableToDecryptSecretValueException_message, v.Message) + } + return nil + }) +} // The image or images were unable to be pulled using the pull through cache rule. // This is usually caused because of an issue with the Secrets Manager secret @@ -1127,6 +1998,27 @@ func (e *UnableToGetUpstreamImageException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UnableToGetUpstreamImageException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnableToGetUpstreamImageException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnableToGetUpstreamImageException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnableToGetUpstreamImageException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnableToGetUpstreamImageException_message, *v.Message) + } +} +func (v *UnableToGetUpstreamImageException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnableToGetUpstreamImageException, func(s *smithy.Schema) error { + switch s { + case schemas.UnableToGetUpstreamImageException_message: + v.Message = new(string) + return d.ReadString(schemas.UnableToGetUpstreamImageException_message, v.Message) + } + return nil + }) +} // There was an issue getting the upstream layer matching the pull through cache // rule. @@ -1154,6 +2046,78 @@ func (e *UnableToGetUpstreamLayerException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UnableToGetUpstreamLayerException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnableToGetUpstreamLayerException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnableToGetUpstreamLayerException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnableToGetUpstreamLayerException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnableToGetUpstreamLayerException_message, *v.Message) + } +} +func (v *UnableToGetUpstreamLayerException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnableToGetUpstreamLayerException, func(s *smithy.Schema) error { + switch s { + case schemas.UnableToGetUpstreamLayerException_message: + v.Message = new(string) + return d.ReadString(schemas.UnableToGetUpstreamLayerException_message, v.Message) + } + return nil + }) +} + +// The referrer or referrers were unable to be listed using the pull through cache +// rule. This is usually caused because of an issue with the Secrets Manager secret +// containing the credentials for the upstream registry. +type UnableToListUpstreamImageReferrersException struct { + Message *string + + ErrorCodeOverride *string + + noSmithyDocumentSerde +} + +func (e *UnableToListUpstreamImageReferrersException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *UnableToListUpstreamImageReferrersException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *UnableToListUpstreamImageReferrersException) ErrorCode() string { + if e == nil || e.ErrorCodeOverride == nil { + return "UnableToListUpstreamImageReferrersException" + } + return *e.ErrorCodeOverride +} +func (e *UnableToListUpstreamImageReferrersException) ErrorFault() smithy.ErrorFault { + return smithy.FaultClient +} +func (v *UnableToListUpstreamImageReferrersException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnableToListUpstreamImageReferrersException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnableToListUpstreamImageReferrersException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnableToListUpstreamImageReferrersException_message, *v.Message) + } +} +func (v *UnableToListUpstreamImageReferrersException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnableToListUpstreamImageReferrersException, func(s *smithy.Schema) error { + switch s { + case schemas.UnableToListUpstreamImageReferrersException_message: + v.Message = new(string) + return d.ReadString(schemas.UnableToListUpstreamImageReferrersException_message, v.Message) + } + return nil + }) +} // The image is of a type that cannot be scanned. type UnsupportedImageTypeException struct { @@ -1180,6 +2144,27 @@ func (e *UnsupportedImageTypeException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UnsupportedImageTypeException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnsupportedImageTypeException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnsupportedImageTypeException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnsupportedImageTypeException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnsupportedImageTypeException_message, *v.Message) + } +} +func (v *UnsupportedImageTypeException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnsupportedImageTypeException, func(s *smithy.Schema) error { + switch s { + case schemas.UnsupportedImageTypeException_message: + v.Message = new(string) + return d.ReadString(schemas.UnsupportedImageTypeException_message, v.Message) + } + return nil + }) +} // The specified upstream registry isn't supported. type UnsupportedUpstreamRegistryException struct { @@ -1208,6 +2193,27 @@ func (e *UnsupportedUpstreamRegistryException) ErrorCode() string { func (e *UnsupportedUpstreamRegistryException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnsupportedUpstreamRegistryException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnsupportedUpstreamRegistryException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnsupportedUpstreamRegistryException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnsupportedUpstreamRegistryException_message, *v.Message) + } +} +func (v *UnsupportedUpstreamRegistryException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnsupportedUpstreamRegistryException, func(s *smithy.Schema) error { + switch s { + case schemas.UnsupportedUpstreamRegistryException_message: + v.Message = new(string) + return d.ReadString(schemas.UnsupportedUpstreamRegistryException_message, v.Message) + } + return nil + }) +} // The upload could not be found, or the specified upload ID is not valid for this // repository. @@ -1235,6 +2241,27 @@ func (e *UploadNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UploadNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UploadNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UploadNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UploadNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UploadNotFoundException_message, *v.Message) + } +} +func (v *UploadNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UploadNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.UploadNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.UploadNotFoundException_message, v.Message) + } + return nil + }) +} // There was an exception validating this request. type ValidationException struct { @@ -1261,3 +2288,24 @@ func (e *ValidationException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ValidationException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ValidationException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ValidationException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ValidationException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ValidationException_message, *v.Message) + } +} +func (v *ValidationException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ValidationException, func(s *smithy.Schema) error { + switch s { + case schemas.ValidationException_message: + v.Message = new(string) + return d.ReadString(schemas.ValidationException_message, v.Message) + } + return nil + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/types.go index c6beefc3..6b7482fc 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/types.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecr/types/types.go @@ -3,6 +3,8 @@ package types import ( + "github.com/aws/aws-sdk-go-v2/service/ecr/schemas" + smithy "github.com/aws/smithy-go" smithydocument "github.com/aws/smithy-go/document" "time" ) @@ -21,6 +23,34 @@ type Attribute struct { noSmithyDocumentSerde } +func (v *Attribute) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Attribute) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Attribute) SerializeMembers(s smithy.ShapeSerializer) { + if v.Key != nil { + s.WriteString(schemas.Attribute_key, *v.Key) + } + if v.Value != nil { + s.WriteString(schemas.Attribute_value, *v.Value) + } +} +func (v *Attribute) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Attribute, func(s *smithy.Schema) error { + switch s { + case schemas.Attribute_key: + v.Key = new(string) + return d.ReadString(schemas.Attribute_key, v.Key) + case schemas.Attribute_value: + v.Value = new(string) + return d.ReadString(schemas.Attribute_value, v.Value) + } + return nil + }) +} + // An object representing authorization data for an Amazon ECR registry. type AuthorizationData struct { @@ -42,6 +72,40 @@ type AuthorizationData struct { noSmithyDocumentSerde } +func (v *AuthorizationData) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.AuthorizationData) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *AuthorizationData) SerializeMembers(s smithy.ShapeSerializer) { + if v.AuthorizationToken != nil { + s.WriteString(schemas.AuthorizationData_authorizationToken, *v.AuthorizationToken) + } + if v.ExpiresAt != nil { + s.WriteTime(schemas.AuthorizationData_expiresAt, *v.ExpiresAt) + } + if v.ProxyEndpoint != nil { + s.WriteString(schemas.AuthorizationData_proxyEndpoint, *v.ProxyEndpoint) + } +} +func (v *AuthorizationData) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.AuthorizationData, func(s *smithy.Schema) error { + switch s { + case schemas.AuthorizationData_authorizationToken: + v.AuthorizationToken = new(string) + return d.ReadString(schemas.AuthorizationData_authorizationToken, v.AuthorizationToken) + case schemas.AuthorizationData_expiresAt: + v.ExpiresAt = new(time.Time) + return d.ReadTime(schemas.AuthorizationData_expiresAt, v.ExpiresAt) + case schemas.AuthorizationData_proxyEndpoint: + v.ProxyEndpoint = new(string) + return d.ReadString(schemas.AuthorizationData_proxyEndpoint, v.ProxyEndpoint) + } + return nil + }) +} + // The image details of the Amazon ECR container image. type AwsEcrContainerImageDetails struct { @@ -78,6 +142,79 @@ type AwsEcrContainerImageDetails struct { noSmithyDocumentSerde } +func (v *AwsEcrContainerImageDetails) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.AwsEcrContainerImageDetails) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *AwsEcrContainerImageDetails) SerializeMembers(s smithy.ShapeSerializer) { + if v.Architecture != nil { + s.WriteString(schemas.AwsEcrContainerImageDetails_architecture, *v.Architecture) + } + if v.Author != nil { + s.WriteString(schemas.AwsEcrContainerImageDetails_author, *v.Author) + } + if v.ImageHash != nil { + s.WriteString(schemas.AwsEcrContainerImageDetails_imageHash, *v.ImageHash) + } + serializeImageTagsList(s, schemas.AwsEcrContainerImageDetails_imageTags, v.ImageTags) + if v.InUseCount != nil { + s.WriteInt64(schemas.AwsEcrContainerImageDetails_inUseCount, *v.InUseCount) + } + if v.LastInUseAt != nil { + s.WriteTime(schemas.AwsEcrContainerImageDetails_lastInUseAt, *v.LastInUseAt) + } + if v.Platform != nil { + s.WriteString(schemas.AwsEcrContainerImageDetails_platform, *v.Platform) + } + if v.PushedAt != nil { + s.WriteTime(schemas.AwsEcrContainerImageDetails_pushedAt, *v.PushedAt) + } + if v.Registry != nil { + s.WriteString(schemas.AwsEcrContainerImageDetails_registry, *v.Registry) + } + if v.RepositoryName != nil { + s.WriteString(schemas.AwsEcrContainerImageDetails_repositoryName, *v.RepositoryName) + } +} +func (v *AwsEcrContainerImageDetails) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.AwsEcrContainerImageDetails, func(s *smithy.Schema) error { + switch s { + case schemas.AwsEcrContainerImageDetails_architecture: + v.Architecture = new(string) + return d.ReadString(schemas.AwsEcrContainerImageDetails_architecture, v.Architecture) + case schemas.AwsEcrContainerImageDetails_author: + v.Author = new(string) + return d.ReadString(schemas.AwsEcrContainerImageDetails_author, v.Author) + case schemas.AwsEcrContainerImageDetails_imageHash: + v.ImageHash = new(string) + return d.ReadString(schemas.AwsEcrContainerImageDetails_imageHash, v.ImageHash) + case schemas.AwsEcrContainerImageDetails_imageTags: + return deserializeImageTagsList(d, schemas.AwsEcrContainerImageDetails_imageTags, &v.ImageTags) + case schemas.AwsEcrContainerImageDetails_inUseCount: + v.InUseCount = new(int64) + return d.ReadInt64(schemas.AwsEcrContainerImageDetails_inUseCount, v.InUseCount) + case schemas.AwsEcrContainerImageDetails_lastInUseAt: + v.LastInUseAt = new(time.Time) + return d.ReadTime(schemas.AwsEcrContainerImageDetails_lastInUseAt, v.LastInUseAt) + case schemas.AwsEcrContainerImageDetails_platform: + v.Platform = new(string) + return d.ReadString(schemas.AwsEcrContainerImageDetails_platform, v.Platform) + case schemas.AwsEcrContainerImageDetails_pushedAt: + v.PushedAt = new(time.Time) + return d.ReadTime(schemas.AwsEcrContainerImageDetails_pushedAt, v.PushedAt) + case schemas.AwsEcrContainerImageDetails_registry: + v.Registry = new(string) + return d.ReadString(schemas.AwsEcrContainerImageDetails_registry, v.Registry) + case schemas.AwsEcrContainerImageDetails_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.AwsEcrContainerImageDetails_repositoryName, v.RepositoryName) + } + return nil + }) +} + // The CVSS score for a finding. type CvssScore struct { @@ -96,6 +233,45 @@ type CvssScore struct { noSmithyDocumentSerde } +func (v *CvssScore) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CvssScore) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CvssScore) SerializeMembers(s smithy.ShapeSerializer) { + if v.BaseScore != 0 { + s.WriteFloat64(schemas.CvssScore_baseScore, v.BaseScore) + } + if v.ScoringVector != nil { + s.WriteString(schemas.CvssScore_scoringVector, *v.ScoringVector) + } + if v.Source != nil { + s.WriteString(schemas.CvssScore_source, *v.Source) + } + if v.Version != nil { + s.WriteString(schemas.CvssScore_version, *v.Version) + } +} +func (v *CvssScore) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CvssScore, func(s *smithy.Schema) error { + switch s { + case schemas.CvssScore_baseScore: + return d.ReadFloat64(schemas.CvssScore_baseScore, &v.BaseScore) + case schemas.CvssScore_scoringVector: + v.ScoringVector = new(string) + return d.ReadString(schemas.CvssScore_scoringVector, v.ScoringVector) + case schemas.CvssScore_source: + v.Source = new(string) + return d.ReadString(schemas.CvssScore_source, v.Source) + case schemas.CvssScore_version: + v.Version = new(string) + return d.ReadString(schemas.CvssScore_version, v.Version) + } + return nil + }) +} + // Details on adjustments Amazon Inspector made to the CVSS score for a finding. type CvssScoreAdjustment struct { @@ -108,6 +284,34 @@ type CvssScoreAdjustment struct { noSmithyDocumentSerde } +func (v *CvssScoreAdjustment) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CvssScoreAdjustment) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CvssScoreAdjustment) SerializeMembers(s smithy.ShapeSerializer) { + if v.Metric != nil { + s.WriteString(schemas.CvssScoreAdjustment_metric, *v.Metric) + } + if v.Reason != nil { + s.WriteString(schemas.CvssScoreAdjustment_reason, *v.Reason) + } +} +func (v *CvssScoreAdjustment) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CvssScoreAdjustment, func(s *smithy.Schema) error { + switch s { + case schemas.CvssScoreAdjustment_metric: + v.Metric = new(string) + return d.ReadString(schemas.CvssScoreAdjustment_metric, v.Metric) + case schemas.CvssScoreAdjustment_reason: + v.Reason = new(string) + return d.ReadString(schemas.CvssScoreAdjustment_reason, v.Reason) + } + return nil + }) +} + // Information about the CVSS score. type CvssScoreDetails struct { @@ -130,11 +334,54 @@ type CvssScoreDetails struct { noSmithyDocumentSerde } +func (v *CvssScoreDetails) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CvssScoreDetails) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CvssScoreDetails) SerializeMembers(s smithy.ShapeSerializer) { + serializeCvssScoreAdjustmentList(s, schemas.CvssScoreDetails_adjustments, v.Adjustments) + if v.Score != 0 { + s.WriteFloat64(schemas.CvssScoreDetails_score, v.Score) + } + if v.ScoreSource != nil { + s.WriteString(schemas.CvssScoreDetails_scoreSource, *v.ScoreSource) + } + if v.ScoringVector != nil { + s.WriteString(schemas.CvssScoreDetails_scoringVector, *v.ScoringVector) + } + if v.Version != nil { + s.WriteString(schemas.CvssScoreDetails_version, *v.Version) + } +} +func (v *CvssScoreDetails) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CvssScoreDetails, func(s *smithy.Schema) error { + switch s { + case schemas.CvssScoreDetails_adjustments: + return deserializeCvssScoreAdjustmentList(d, schemas.CvssScoreDetails_adjustments, &v.Adjustments) + case schemas.CvssScoreDetails_score: + return d.ReadFloat64(schemas.CvssScoreDetails_score, &v.Score) + case schemas.CvssScoreDetails_scoreSource: + v.ScoreSource = new(string) + return d.ReadString(schemas.CvssScoreDetails_scoreSource, v.ScoreSource) + case schemas.CvssScoreDetails_scoringVector: + v.ScoringVector = new(string) + return d.ReadString(schemas.CvssScoreDetails_scoringVector, v.ScoringVector) + case schemas.CvssScoreDetails_version: + v.Version = new(string) + return d.ReadString(schemas.CvssScoreDetails_version, v.Version) + } + return nil + }) +} + // An object representing a filter on a DescribeImages operation. type DescribeImagesFilter struct { // The image status with which to filter your DescribeImages results. Valid values are ACTIVE , - // ARCHIVED , and ACTIVATING . + // ARCHIVED , and ACTIVATING . If not specified, only images with ACTIVE status + // are returned. ImageStatus ImageStatusFilter // The tag status with which to filter your DescribeImages results. You can filter results based @@ -144,6 +391,42 @@ type DescribeImagesFilter struct { noSmithyDocumentSerde } +func (v *DescribeImagesFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImagesFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImagesFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageStatus != "" { + s.WriteString(schemas.DescribeImagesFilter_imageStatus, string(v.ImageStatus)) + } + if v.TagStatus != "" { + s.WriteString(schemas.DescribeImagesFilter_tagStatus, string(v.TagStatus)) + } +} +func (v *DescribeImagesFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImagesFilter, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImagesFilter_imageStatus: + var ev string + if err := d.ReadString(schemas.DescribeImagesFilter_imageStatus, &ev); err != nil { + return err + } + v.ImageStatus = ImageStatusFilter(ev) + return nil + case schemas.DescribeImagesFilter_tagStatus: + var ev string + if err := d.ReadString(schemas.DescribeImagesFilter_tagStatus, &ev); err != nil { + return err + } + v.TagStatus = TagStatus(ev) + return nil + } + return nil + }) +} + // The encryption configuration for the repository. This determines how the // contents of your repository are encrypted at rest. // @@ -194,6 +477,38 @@ type EncryptionConfiguration struct { noSmithyDocumentSerde } +func (v *EncryptionConfiguration) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.EncryptionConfiguration) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *EncryptionConfiguration) SerializeMembers(s smithy.ShapeSerializer) { + if v.EncryptionType != "" { + s.WriteString(schemas.EncryptionConfiguration_encryptionType, string(v.EncryptionType)) + } + if v.KmsKey != nil { + s.WriteString(schemas.EncryptionConfiguration_kmsKey, *v.KmsKey) + } +} +func (v *EncryptionConfiguration) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.EncryptionConfiguration, func(s *smithy.Schema) error { + switch s { + case schemas.EncryptionConfiguration_encryptionType: + var ev string + if err := d.ReadString(schemas.EncryptionConfiguration_encryptionType, &ev); err != nil { + return err + } + v.EncryptionType = EncryptionType(ev) + return nil + case schemas.EncryptionConfiguration_kmsKey: + v.KmsKey = new(string) + return d.ReadString(schemas.EncryptionConfiguration_kmsKey, v.KmsKey) + } + return nil + }) +} + // The encryption configuration to associate with the repository creation template. type EncryptionConfigurationForRepositoryCreationTemplate struct { @@ -226,6 +541,38 @@ type EncryptionConfigurationForRepositoryCreationTemplate struct { noSmithyDocumentSerde } +func (v *EncryptionConfigurationForRepositoryCreationTemplate) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.EncryptionConfigurationForRepositoryCreationTemplate) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *EncryptionConfigurationForRepositoryCreationTemplate) SerializeMembers(s smithy.ShapeSerializer) { + if v.EncryptionType != "" { + s.WriteString(schemas.EncryptionConfigurationForRepositoryCreationTemplate_encryptionType, string(v.EncryptionType)) + } + if v.KmsKey != nil { + s.WriteString(schemas.EncryptionConfigurationForRepositoryCreationTemplate_kmsKey, *v.KmsKey) + } +} +func (v *EncryptionConfigurationForRepositoryCreationTemplate) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.EncryptionConfigurationForRepositoryCreationTemplate, func(s *smithy.Schema) error { + switch s { + case schemas.EncryptionConfigurationForRepositoryCreationTemplate_encryptionType: + var ev string + if err := d.ReadString(schemas.EncryptionConfigurationForRepositoryCreationTemplate_encryptionType, &ev); err != nil { + return err + } + v.EncryptionType = EncryptionType(ev) + return nil + case schemas.EncryptionConfigurationForRepositoryCreationTemplate_kmsKey: + v.KmsKey = new(string) + return d.ReadString(schemas.EncryptionConfigurationForRepositoryCreationTemplate_kmsKey, v.KmsKey) + } + return nil + }) +} + // The details of an enhanced image scan. This is returned when enhanced scanning // is enabled for your private registry. type EnhancedImageScanFinding struct { @@ -287,6 +634,126 @@ type EnhancedImageScanFinding struct { noSmithyDocumentSerde } +func (v *EnhancedImageScanFinding) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.EnhancedImageScanFinding) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *EnhancedImageScanFinding) SerializeMembers(s smithy.ShapeSerializer) { + if v.AwsAccountId != nil { + s.WriteString(schemas.EnhancedImageScanFinding_awsAccountId, *v.AwsAccountId) + } + if v.Description != nil { + s.WriteString(schemas.EnhancedImageScanFinding_description, *v.Description) + } + if v.ExploitAvailable != nil { + s.WriteString(schemas.EnhancedImageScanFinding_exploitAvailable, *v.ExploitAvailable) + } + if v.FindingArn != nil { + s.WriteString(schemas.EnhancedImageScanFinding_findingArn, *v.FindingArn) + } + if v.FirstObservedAt != nil { + s.WriteTime(schemas.EnhancedImageScanFinding_firstObservedAt, *v.FirstObservedAt) + } + if v.FixAvailable != nil { + s.WriteString(schemas.EnhancedImageScanFinding_fixAvailable, *v.FixAvailable) + } + if v.LastObservedAt != nil { + s.WriteTime(schemas.EnhancedImageScanFinding_lastObservedAt, *v.LastObservedAt) + } + if v.PackageVulnerabilityDetails != nil { + s.WriteStruct(schemas.EnhancedImageScanFinding_packageVulnerabilityDetails) + v.PackageVulnerabilityDetails.SerializeMembers(s) + s.CloseStruct() + } + if v.Remediation != nil { + s.WriteStruct(schemas.EnhancedImageScanFinding_remediation) + v.Remediation.SerializeMembers(s) + s.CloseStruct() + } + serializeResourceList(s, schemas.EnhancedImageScanFinding_resources, v.Resources) + if v.Score != 0 { + s.WriteFloat64(schemas.EnhancedImageScanFinding_score, v.Score) + } + if v.ScoreDetails != nil { + s.WriteStruct(schemas.EnhancedImageScanFinding_scoreDetails) + v.ScoreDetails.SerializeMembers(s) + s.CloseStruct() + } + if v.Severity != nil { + s.WriteString(schemas.EnhancedImageScanFinding_severity, *v.Severity) + } + if v.Status != nil { + s.WriteString(schemas.EnhancedImageScanFinding_status, *v.Status) + } + if v.Title != nil { + s.WriteString(schemas.EnhancedImageScanFinding_title, *v.Title) + } + if v.Type != nil { + s.WriteString(schemas.EnhancedImageScanFinding_type, *v.Type) + } + if v.UpdatedAt != nil { + s.WriteTime(schemas.EnhancedImageScanFinding_updatedAt, *v.UpdatedAt) + } +} +func (v *EnhancedImageScanFinding) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.EnhancedImageScanFinding, func(s *smithy.Schema) error { + switch s { + case schemas.EnhancedImageScanFinding_awsAccountId: + v.AwsAccountId = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_awsAccountId, v.AwsAccountId) + case schemas.EnhancedImageScanFinding_description: + v.Description = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_description, v.Description) + case schemas.EnhancedImageScanFinding_exploitAvailable: + v.ExploitAvailable = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_exploitAvailable, v.ExploitAvailable) + case schemas.EnhancedImageScanFinding_findingArn: + v.FindingArn = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_findingArn, v.FindingArn) + case schemas.EnhancedImageScanFinding_firstObservedAt: + v.FirstObservedAt = new(time.Time) + return d.ReadTime(schemas.EnhancedImageScanFinding_firstObservedAt, v.FirstObservedAt) + case schemas.EnhancedImageScanFinding_fixAvailable: + v.FixAvailable = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_fixAvailable, v.FixAvailable) + case schemas.EnhancedImageScanFinding_lastObservedAt: + v.LastObservedAt = new(time.Time) + return d.ReadTime(schemas.EnhancedImageScanFinding_lastObservedAt, v.LastObservedAt) + case schemas.EnhancedImageScanFinding_packageVulnerabilityDetails: + v.PackageVulnerabilityDetails = &PackageVulnerabilityDetails{} + return v.PackageVulnerabilityDetails.Deserialize(d) + case schemas.EnhancedImageScanFinding_remediation: + v.Remediation = &Remediation{} + return v.Remediation.Deserialize(d) + case schemas.EnhancedImageScanFinding_resources: + return deserializeResourceList(d, schemas.EnhancedImageScanFinding_resources, &v.Resources) + case schemas.EnhancedImageScanFinding_score: + return d.ReadFloat64(schemas.EnhancedImageScanFinding_score, &v.Score) + case schemas.EnhancedImageScanFinding_scoreDetails: + v.ScoreDetails = &ScoreDetails{} + return v.ScoreDetails.Deserialize(d) + case schemas.EnhancedImageScanFinding_severity: + v.Severity = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_severity, v.Severity) + case schemas.EnhancedImageScanFinding_status: + v.Status = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_status, v.Status) + case schemas.EnhancedImageScanFinding_title: + v.Title = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_title, v.Title) + case schemas.EnhancedImageScanFinding_type: + v.Type = new(string) + return d.ReadString(schemas.EnhancedImageScanFinding_type, v.Type) + case schemas.EnhancedImageScanFinding_updatedAt: + v.UpdatedAt = new(time.Time) + return d.ReadTime(schemas.EnhancedImageScanFinding_updatedAt, v.UpdatedAt) + } + return nil + }) +} + // An object representing an Amazon ECR image. type Image struct { @@ -309,6 +776,54 @@ type Image struct { noSmithyDocumentSerde } +func (v *Image) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Image) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Image) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.Image_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageManifest != nil { + s.WriteString(schemas.Image_imageManifest, *v.ImageManifest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.Image_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.RegistryId != nil { + s.WriteString(schemas.Image_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.Image_repositoryName, *v.RepositoryName) + } +} +func (v *Image) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Image, func(s *smithy.Schema) error { + switch s { + case schemas.Image_imageId: + v.ImageId = &ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.Image_imageManifest: + v.ImageManifest = new(string) + return d.ReadString(schemas.Image_imageManifest, v.ImageManifest) + case schemas.Image_imageManifestMediaType: + v.ImageManifestMediaType = new(string) + return d.ReadString(schemas.Image_imageManifestMediaType, v.ImageManifestMediaType) + case schemas.Image_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.Image_registryId, v.RegistryId) + case schemas.Image_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.Image_repositoryName, v.RepositoryName) + } + return nil + }) +} + // An object that describes an image returned by a DescribeImages operation. type ImageDetail struct { @@ -380,6 +895,117 @@ type ImageDetail struct { noSmithyDocumentSerde } +func (v *ImageDetail) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageDetail) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageDetail) SerializeMembers(s smithy.ShapeSerializer) { + if v.ArtifactMediaType != nil { + s.WriteString(schemas.ImageDetail_artifactMediaType, *v.ArtifactMediaType) + } + if v.ImageDigest != nil { + s.WriteString(schemas.ImageDetail_imageDigest, *v.ImageDigest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.ImageDetail_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.ImagePushedAt != nil { + s.WriteTime(schemas.ImageDetail_imagePushedAt, *v.ImagePushedAt) + } + if v.ImageScanFindingsSummary != nil { + s.WriteStruct(schemas.ImageDetail_imageScanFindingsSummary) + v.ImageScanFindingsSummary.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageScanStatus != nil { + s.WriteStruct(schemas.ImageDetail_imageScanStatus) + v.ImageScanStatus.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageSizeInBytes != nil { + s.WriteInt64(schemas.ImageDetail_imageSizeInBytes, *v.ImageSizeInBytes) + } + if v.ImageStatus != "" { + s.WriteString(schemas.ImageDetail_imageStatus, string(v.ImageStatus)) + } + serializeImageTagList(s, schemas.ImageDetail_imageTags, v.ImageTags) + if v.LastActivatedAt != nil { + s.WriteTime(schemas.ImageDetail_lastActivatedAt, *v.LastActivatedAt) + } + if v.LastArchivedAt != nil { + s.WriteTime(schemas.ImageDetail_lastArchivedAt, *v.LastArchivedAt) + } + if v.LastRecordedPullTime != nil { + s.WriteTime(schemas.ImageDetail_lastRecordedPullTime, *v.LastRecordedPullTime) + } + if v.RegistryId != nil { + s.WriteString(schemas.ImageDetail_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.ImageDetail_repositoryName, *v.RepositoryName) + } + if v.SubjectManifestDigest != nil { + s.WriteString(schemas.ImageDetail_subjectManifestDigest, *v.SubjectManifestDigest) + } +} +func (v *ImageDetail) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageDetail, func(s *smithy.Schema) error { + switch s { + case schemas.ImageDetail_artifactMediaType: + v.ArtifactMediaType = new(string) + return d.ReadString(schemas.ImageDetail_artifactMediaType, v.ArtifactMediaType) + case schemas.ImageDetail_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.ImageDetail_imageDigest, v.ImageDigest) + case schemas.ImageDetail_imageManifestMediaType: + v.ImageManifestMediaType = new(string) + return d.ReadString(schemas.ImageDetail_imageManifestMediaType, v.ImageManifestMediaType) + case schemas.ImageDetail_imagePushedAt: + v.ImagePushedAt = new(time.Time) + return d.ReadTime(schemas.ImageDetail_imagePushedAt, v.ImagePushedAt) + case schemas.ImageDetail_imageScanFindingsSummary: + v.ImageScanFindingsSummary = &ImageScanFindingsSummary{} + return v.ImageScanFindingsSummary.Deserialize(d) + case schemas.ImageDetail_imageScanStatus: + v.ImageScanStatus = &ImageScanStatus{} + return v.ImageScanStatus.Deserialize(d) + case schemas.ImageDetail_imageSizeInBytes: + v.ImageSizeInBytes = new(int64) + return d.ReadInt64(schemas.ImageDetail_imageSizeInBytes, v.ImageSizeInBytes) + case schemas.ImageDetail_imageStatus: + var ev string + if err := d.ReadString(schemas.ImageDetail_imageStatus, &ev); err != nil { + return err + } + v.ImageStatus = ImageStatus(ev) + return nil + case schemas.ImageDetail_imageTags: + return deserializeImageTagList(d, schemas.ImageDetail_imageTags, &v.ImageTags) + case schemas.ImageDetail_lastActivatedAt: + v.LastActivatedAt = new(time.Time) + return d.ReadTime(schemas.ImageDetail_lastActivatedAt, v.LastActivatedAt) + case schemas.ImageDetail_lastArchivedAt: + v.LastArchivedAt = new(time.Time) + return d.ReadTime(schemas.ImageDetail_lastArchivedAt, v.LastArchivedAt) + case schemas.ImageDetail_lastRecordedPullTime: + v.LastRecordedPullTime = new(time.Time) + return d.ReadTime(schemas.ImageDetail_lastRecordedPullTime, v.LastRecordedPullTime) + case schemas.ImageDetail_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.ImageDetail_registryId, v.RegistryId) + case schemas.ImageDetail_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.ImageDetail_repositoryName, v.RepositoryName) + case schemas.ImageDetail_subjectManifestDigest: + v.SubjectManifestDigest = new(string) + return d.ReadString(schemas.ImageDetail_subjectManifestDigest, v.SubjectManifestDigest) + } + return nil + }) +} + // An object representing an Amazon ECR image failure. type ImageFailure struct { @@ -395,6 +1021,46 @@ type ImageFailure struct { noSmithyDocumentSerde } +func (v *ImageFailure) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageFailure) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageFailure) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != "" { + s.WriteString(schemas.ImageFailure_failureCode, string(v.FailureCode)) + } + if v.FailureReason != nil { + s.WriteString(schemas.ImageFailure_failureReason, *v.FailureReason) + } + if v.ImageId != nil { + s.WriteStruct(schemas.ImageFailure_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } +} +func (v *ImageFailure) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageFailure, func(s *smithy.Schema) error { + switch s { + case schemas.ImageFailure_failureCode: + var ev string + if err := d.ReadString(schemas.ImageFailure_failureCode, &ev); err != nil { + return err + } + v.FailureCode = ImageFailureCode(ev) + return nil + case schemas.ImageFailure_failureReason: + v.FailureReason = new(string) + return d.ReadString(schemas.ImageFailure_failureReason, v.FailureReason) + case schemas.ImageFailure_imageId: + v.ImageId = &ImageIdentifier{} + return v.ImageId.Deserialize(d) + } + return nil + }) +} + // An object with identifying information for an image in an Amazon ECR repository. type ImageIdentifier struct { @@ -407,6 +1073,34 @@ type ImageIdentifier struct { noSmithyDocumentSerde } +func (v *ImageIdentifier) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageIdentifier) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageIdentifier) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageDigest != nil { + s.WriteString(schemas.ImageIdentifier_imageDigest, *v.ImageDigest) + } + if v.ImageTag != nil { + s.WriteString(schemas.ImageIdentifier_imageTag, *v.ImageTag) + } +} +func (v *ImageIdentifier) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageIdentifier, func(s *smithy.Schema) error { + switch s { + case schemas.ImageIdentifier_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.ImageIdentifier_imageDigest, v.ImageDigest) + case schemas.ImageIdentifier_imageTag: + v.ImageTag = new(string) + return d.ReadString(schemas.ImageIdentifier_imageTag, v.ImageTag) + } + return nil + }) +} + // An object representing an artifact associated with a subject image. type ImageReferrer struct { @@ -437,6 +1131,59 @@ type ImageReferrer struct { noSmithyDocumentSerde } +func (v *ImageReferrer) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageReferrer) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageReferrer) SerializeMembers(s smithy.ShapeSerializer) { + serializeAnnotations(s, schemas.ImageReferrer_annotations, v.Annotations) + if v.ArtifactStatus != "" { + s.WriteString(schemas.ImageReferrer_artifactStatus, string(v.ArtifactStatus)) + } + if v.ArtifactType != nil { + s.WriteString(schemas.ImageReferrer_artifactType, *v.ArtifactType) + } + if v.Digest != nil { + s.WriteString(schemas.ImageReferrer_digest, *v.Digest) + } + if v.MediaType != nil { + s.WriteString(schemas.ImageReferrer_mediaType, *v.MediaType) + } + if v.Size != nil { + s.WriteInt64(schemas.ImageReferrer_size, *v.Size) + } +} +func (v *ImageReferrer) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageReferrer, func(s *smithy.Schema) error { + switch s { + case schemas.ImageReferrer_annotations: + return deserializeAnnotations(d, schemas.ImageReferrer_annotations, &v.Annotations) + case schemas.ImageReferrer_artifactStatus: + var ev string + if err := d.ReadString(schemas.ImageReferrer_artifactStatus, &ev); err != nil { + return err + } + v.ArtifactStatus = ArtifactStatus(ev) + return nil + case schemas.ImageReferrer_artifactType: + v.ArtifactType = new(string) + return d.ReadString(schemas.ImageReferrer_artifactType, v.ArtifactType) + case schemas.ImageReferrer_digest: + v.Digest = new(string) + return d.ReadString(schemas.ImageReferrer_digest, v.Digest) + case schemas.ImageReferrer_mediaType: + v.MediaType = new(string) + return d.ReadString(schemas.ImageReferrer_mediaType, v.MediaType) + case schemas.ImageReferrer_size: + v.Size = new(int64) + return d.ReadInt64(schemas.ImageReferrer_size, v.Size) + } + return nil + }) +} + // The status of the replication process for an image. type ImageReplicationStatus struct { @@ -456,6 +1203,50 @@ type ImageReplicationStatus struct { noSmithyDocumentSerde } +func (v *ImageReplicationStatus) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageReplicationStatus) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageReplicationStatus) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != nil { + s.WriteString(schemas.ImageReplicationStatus_failureCode, *v.FailureCode) + } + if v.Region != nil { + s.WriteString(schemas.ImageReplicationStatus_region, *v.Region) + } + if v.RegistryId != nil { + s.WriteString(schemas.ImageReplicationStatus_registryId, *v.RegistryId) + } + if v.Status != "" { + s.WriteString(schemas.ImageReplicationStatus_status, string(v.Status)) + } +} +func (v *ImageReplicationStatus) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageReplicationStatus, func(s *smithy.Schema) error { + switch s { + case schemas.ImageReplicationStatus_failureCode: + v.FailureCode = new(string) + return d.ReadString(schemas.ImageReplicationStatus_failureCode, v.FailureCode) + case schemas.ImageReplicationStatus_region: + v.Region = new(string) + return d.ReadString(schemas.ImageReplicationStatus_region, v.Region) + case schemas.ImageReplicationStatus_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.ImageReplicationStatus_registryId, v.RegistryId) + case schemas.ImageReplicationStatus_status: + var ev string + if err := d.ReadString(schemas.ImageReplicationStatus_status, &ev); err != nil { + return err + } + v.Status = ReplicationStatus(ev) + return nil + } + return nil + }) +} + // Contains information about an image scan finding. type ImageScanFinding struct { @@ -477,6 +1268,53 @@ type ImageScanFinding struct { noSmithyDocumentSerde } +func (v *ImageScanFinding) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageScanFinding) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageScanFinding) SerializeMembers(s smithy.ShapeSerializer) { + serializeAttributeList(s, schemas.ImageScanFinding_attributes, v.Attributes) + if v.Description != nil { + s.WriteString(schemas.ImageScanFinding_description, *v.Description) + } + if v.Name != nil { + s.WriteString(schemas.ImageScanFinding_name, *v.Name) + } + if v.Severity != "" { + s.WriteString(schemas.ImageScanFinding_severity, string(v.Severity)) + } + if v.Uri != nil { + s.WriteString(schemas.ImageScanFinding_uri, *v.Uri) + } +} +func (v *ImageScanFinding) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageScanFinding, func(s *smithy.Schema) error { + switch s { + case schemas.ImageScanFinding_attributes: + return deserializeAttributeList(d, schemas.ImageScanFinding_attributes, &v.Attributes) + case schemas.ImageScanFinding_description: + v.Description = new(string) + return d.ReadString(schemas.ImageScanFinding_description, v.Description) + case schemas.ImageScanFinding_name: + v.Name = new(string) + return d.ReadString(schemas.ImageScanFinding_name, v.Name) + case schemas.ImageScanFinding_severity: + var ev string + if err := d.ReadString(schemas.ImageScanFinding_severity, &ev); err != nil { + return err + } + v.Severity = FindingSeverity(ev) + return nil + case schemas.ImageScanFinding_uri: + v.Uri = new(string) + return d.ReadString(schemas.ImageScanFinding_uri, v.Uri) + } + return nil + }) +} + // The details of an image scan. type ImageScanFindings struct { @@ -498,6 +1336,43 @@ type ImageScanFindings struct { noSmithyDocumentSerde } +func (v *ImageScanFindings) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageScanFindings) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageScanFindings) SerializeMembers(s smithy.ShapeSerializer) { + serializeEnhancedImageScanFindingList(s, schemas.ImageScanFindings_enhancedFindings, v.EnhancedFindings) + serializeFindingSeverityCounts(s, schemas.ImageScanFindings_findingSeverityCounts, v.FindingSeverityCounts) + serializeImageScanFindingList(s, schemas.ImageScanFindings_findings, v.Findings) + if v.ImageScanCompletedAt != nil { + s.WriteTime(schemas.ImageScanFindings_imageScanCompletedAt, *v.ImageScanCompletedAt) + } + if v.VulnerabilitySourceUpdatedAt != nil { + s.WriteTime(schemas.ImageScanFindings_vulnerabilitySourceUpdatedAt, *v.VulnerabilitySourceUpdatedAt) + } +} +func (v *ImageScanFindings) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageScanFindings, func(s *smithy.Schema) error { + switch s { + case schemas.ImageScanFindings_enhancedFindings: + return deserializeEnhancedImageScanFindingList(d, schemas.ImageScanFindings_enhancedFindings, &v.EnhancedFindings) + case schemas.ImageScanFindings_findingSeverityCounts: + return deserializeFindingSeverityCounts(d, schemas.ImageScanFindings_findingSeverityCounts, &v.FindingSeverityCounts) + case schemas.ImageScanFindings_findings: + return deserializeImageScanFindingList(d, schemas.ImageScanFindings_findings, &v.Findings) + case schemas.ImageScanFindings_imageScanCompletedAt: + v.ImageScanCompletedAt = new(time.Time) + return d.ReadTime(schemas.ImageScanFindings_imageScanCompletedAt, v.ImageScanCompletedAt) + case schemas.ImageScanFindings_vulnerabilitySourceUpdatedAt: + v.VulnerabilitySourceUpdatedAt = new(time.Time) + return d.ReadTime(schemas.ImageScanFindings_vulnerabilitySourceUpdatedAt, v.VulnerabilitySourceUpdatedAt) + } + return nil + }) +} + // A summary of the last completed image scan. type ImageScanFindingsSummary struct { @@ -513,6 +1388,37 @@ type ImageScanFindingsSummary struct { noSmithyDocumentSerde } +func (v *ImageScanFindingsSummary) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageScanFindingsSummary) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageScanFindingsSummary) SerializeMembers(s smithy.ShapeSerializer) { + serializeFindingSeverityCounts(s, schemas.ImageScanFindingsSummary_findingSeverityCounts, v.FindingSeverityCounts) + if v.ImageScanCompletedAt != nil { + s.WriteTime(schemas.ImageScanFindingsSummary_imageScanCompletedAt, *v.ImageScanCompletedAt) + } + if v.VulnerabilitySourceUpdatedAt != nil { + s.WriteTime(schemas.ImageScanFindingsSummary_vulnerabilitySourceUpdatedAt, *v.VulnerabilitySourceUpdatedAt) + } +} +func (v *ImageScanFindingsSummary) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageScanFindingsSummary, func(s *smithy.Schema) error { + switch s { + case schemas.ImageScanFindingsSummary_findingSeverityCounts: + return deserializeFindingSeverityCounts(d, schemas.ImageScanFindingsSummary_findingSeverityCounts, &v.FindingSeverityCounts) + case schemas.ImageScanFindingsSummary_imageScanCompletedAt: + v.ImageScanCompletedAt = new(time.Time) + return d.ReadTime(schemas.ImageScanFindingsSummary_imageScanCompletedAt, v.ImageScanCompletedAt) + case schemas.ImageScanFindingsSummary_vulnerabilitySourceUpdatedAt: + v.VulnerabilitySourceUpdatedAt = new(time.Time) + return d.ReadTime(schemas.ImageScanFindingsSummary_vulnerabilitySourceUpdatedAt, v.VulnerabilitySourceUpdatedAt) + } + return nil + }) +} + // The image scanning configuration for a repository. type ImageScanningConfiguration struct { @@ -527,6 +1433,27 @@ type ImageScanningConfiguration struct { noSmithyDocumentSerde } +func (v *ImageScanningConfiguration) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageScanningConfiguration) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageScanningConfiguration) SerializeMembers(s smithy.ShapeSerializer) { + if v.ScanOnPush != false { + s.WriteBool(schemas.ImageScanningConfiguration_scanOnPush, v.ScanOnPush) + } +} +func (v *ImageScanningConfiguration) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageScanningConfiguration, func(s *smithy.Schema) error { + switch s { + case schemas.ImageScanningConfiguration_scanOnPush: + return d.ReadBool(schemas.ImageScanningConfiguration_scanOnPush, &v.ScanOnPush) + } + return nil + }) +} + // The current status of an image scan. type ImageScanStatus struct { @@ -539,6 +1466,38 @@ type ImageScanStatus struct { noSmithyDocumentSerde } +func (v *ImageScanStatus) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageScanStatus) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageScanStatus) SerializeMembers(s smithy.ShapeSerializer) { + if v.Description != nil { + s.WriteString(schemas.ImageScanStatus_description, *v.Description) + } + if v.Status != "" { + s.WriteString(schemas.ImageScanStatus_status, string(v.Status)) + } +} +func (v *ImageScanStatus) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageScanStatus, func(s *smithy.Schema) error { + switch s { + case schemas.ImageScanStatus_description: + v.Description = new(string) + return d.ReadString(schemas.ImageScanStatus_description, v.Description) + case schemas.ImageScanStatus_status: + var ev string + if err := d.ReadString(schemas.ImageScanStatus_status, &ev); err != nil { + return err + } + v.Status = ScanStatus(ev) + return nil + } + return nil + }) +} + // The signing status for an image. Each status corresponds to a signing profile. type ImageSigningStatus struct { @@ -565,6 +1524,50 @@ type ImageSigningStatus struct { noSmithyDocumentSerde } +func (v *ImageSigningStatus) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageSigningStatus) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageSigningStatus) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != nil { + s.WriteString(schemas.ImageSigningStatus_failureCode, *v.FailureCode) + } + if v.FailureReason != nil { + s.WriteString(schemas.ImageSigningStatus_failureReason, *v.FailureReason) + } + if v.SigningProfileArn != nil { + s.WriteString(schemas.ImageSigningStatus_signingProfileArn, *v.SigningProfileArn) + } + if v.Status != "" { + s.WriteString(schemas.ImageSigningStatus_status, string(v.Status)) + } +} +func (v *ImageSigningStatus) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageSigningStatus, func(s *smithy.Schema) error { + switch s { + case schemas.ImageSigningStatus_failureCode: + v.FailureCode = new(string) + return d.ReadString(schemas.ImageSigningStatus_failureCode, v.FailureCode) + case schemas.ImageSigningStatus_failureReason: + v.FailureReason = new(string) + return d.ReadString(schemas.ImageSigningStatus_failureReason, v.FailureReason) + case schemas.ImageSigningStatus_signingProfileArn: + v.SigningProfileArn = new(string) + return d.ReadString(schemas.ImageSigningStatus_signingProfileArn, v.SigningProfileArn) + case schemas.ImageSigningStatus_status: + var ev string + if err := d.ReadString(schemas.ImageSigningStatus_status, &ev); err != nil { + return err + } + v.Status = SigningStatus(ev) + return nil + } + return nil + }) +} + // A filter that specifies which image tags should be excluded from the // repository's image tag mutability setting. type ImageTagMutabilityExclusionFilter struct { @@ -583,6 +1586,38 @@ type ImageTagMutabilityExclusionFilter struct { noSmithyDocumentSerde } +func (v *ImageTagMutabilityExclusionFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageTagMutabilityExclusionFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageTagMutabilityExclusionFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteString(schemas.ImageTagMutabilityExclusionFilter_filter, *v.Filter) + } + if v.FilterType != "" { + s.WriteString(schemas.ImageTagMutabilityExclusionFilter_filterType, string(v.FilterType)) + } +} +func (v *ImageTagMutabilityExclusionFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageTagMutabilityExclusionFilter, func(s *smithy.Schema) error { + switch s { + case schemas.ImageTagMutabilityExclusionFilter_filter: + v.Filter = new(string) + return d.ReadString(schemas.ImageTagMutabilityExclusionFilter_filter, v.Filter) + case schemas.ImageTagMutabilityExclusionFilter_filterType: + var ev string + if err := d.ReadString(schemas.ImageTagMutabilityExclusionFilter_filterType, &ev); err != nil { + return err + } + v.FilterType = ImageTagMutabilityExclusionFilterType(ev) + return nil + } + return nil + }) +} + // An object representing an Amazon ECR image layer. type Layer struct { @@ -603,6 +1638,50 @@ type Layer struct { noSmithyDocumentSerde } +func (v *Layer) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Layer) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Layer) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerAvailability != "" { + s.WriteString(schemas.Layer_layerAvailability, string(v.LayerAvailability)) + } + if v.LayerDigest != nil { + s.WriteString(schemas.Layer_layerDigest, *v.LayerDigest) + } + if v.LayerSize != nil { + s.WriteInt64(schemas.Layer_layerSize, *v.LayerSize) + } + if v.MediaType != nil { + s.WriteString(schemas.Layer_mediaType, *v.MediaType) + } +} +func (v *Layer) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Layer, func(s *smithy.Schema) error { + switch s { + case schemas.Layer_layerAvailability: + var ev string + if err := d.ReadString(schemas.Layer_layerAvailability, &ev); err != nil { + return err + } + v.LayerAvailability = LayerAvailability(ev) + return nil + case schemas.Layer_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.Layer_layerDigest, v.LayerDigest) + case schemas.Layer_layerSize: + v.LayerSize = new(int64) + return d.ReadInt64(schemas.Layer_layerSize, v.LayerSize) + case schemas.Layer_mediaType: + v.MediaType = new(string) + return d.ReadString(schemas.Layer_mediaType, v.MediaType) + } + return nil + }) +} + // An object representing an Amazon ECR image layer failure. type LayerFailure struct { @@ -618,6 +1697,44 @@ type LayerFailure struct { noSmithyDocumentSerde } +func (v *LayerFailure) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerFailure) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerFailure) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != "" { + s.WriteString(schemas.LayerFailure_failureCode, string(v.FailureCode)) + } + if v.FailureReason != nil { + s.WriteString(schemas.LayerFailure_failureReason, *v.FailureReason) + } + if v.LayerDigest != nil { + s.WriteString(schemas.LayerFailure_layerDigest, *v.LayerDigest) + } +} +func (v *LayerFailure) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerFailure, func(s *smithy.Schema) error { + switch s { + case schemas.LayerFailure_failureCode: + var ev string + if err := d.ReadString(schemas.LayerFailure_failureCode, &ev); err != nil { + return err + } + v.FailureCode = LayerFailureCode(ev) + return nil + case schemas.LayerFailure_failureReason: + v.FailureReason = new(string) + return d.ReadString(schemas.LayerFailure_failureReason, v.FailureReason) + case schemas.LayerFailure_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.LayerFailure_layerDigest, v.LayerDigest) + } + return nil + }) +} + // The filter for the lifecycle policy preview. type LifecyclePolicyPreviewFilter struct { @@ -627,6 +1744,32 @@ type LifecyclePolicyPreviewFilter struct { noSmithyDocumentSerde } +func (v *LifecyclePolicyPreviewFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyPreviewFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyPreviewFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.TagStatus != "" { + s.WriteString(schemas.LifecyclePolicyPreviewFilter_tagStatus, string(v.TagStatus)) + } +} +func (v *LifecyclePolicyPreviewFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyPreviewFilter, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyPreviewFilter_tagStatus: + var ev string + if err := d.ReadString(schemas.LifecyclePolicyPreviewFilter_tagStatus, &ev); err != nil { + return err + } + v.TagStatus = TagStatus(ev) + return nil + } + return nil + }) +} + // The result of the lifecycle policy preview. type LifecyclePolicyPreviewResult struct { @@ -652,6 +1795,61 @@ type LifecyclePolicyPreviewResult struct { noSmithyDocumentSerde } +func (v *LifecyclePolicyPreviewResult) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyPreviewResult) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyPreviewResult) SerializeMembers(s smithy.ShapeSerializer) { + if v.Action != nil { + s.WriteStruct(schemas.LifecyclePolicyPreviewResult_action) + v.Action.SerializeMembers(s) + s.CloseStruct() + } + if v.AppliedRulePriority != nil { + s.WriteInt32(schemas.LifecyclePolicyPreviewResult_appliedRulePriority, *v.AppliedRulePriority) + } + if v.ImageDigest != nil { + s.WriteString(schemas.LifecyclePolicyPreviewResult_imageDigest, *v.ImageDigest) + } + if v.ImagePushedAt != nil { + s.WriteTime(schemas.LifecyclePolicyPreviewResult_imagePushedAt, *v.ImagePushedAt) + } + serializeImageTagList(s, schemas.LifecyclePolicyPreviewResult_imageTags, v.ImageTags) + if v.StorageClass != "" { + s.WriteString(schemas.LifecyclePolicyPreviewResult_storageClass, string(v.StorageClass)) + } +} +func (v *LifecyclePolicyPreviewResult) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyPreviewResult, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyPreviewResult_action: + v.Action = &LifecyclePolicyRuleAction{} + return v.Action.Deserialize(d) + case schemas.LifecyclePolicyPreviewResult_appliedRulePriority: + v.AppliedRulePriority = new(int32) + return d.ReadInt32(schemas.LifecyclePolicyPreviewResult_appliedRulePriority, v.AppliedRulePriority) + case schemas.LifecyclePolicyPreviewResult_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.LifecyclePolicyPreviewResult_imageDigest, v.ImageDigest) + case schemas.LifecyclePolicyPreviewResult_imagePushedAt: + v.ImagePushedAt = new(time.Time) + return d.ReadTime(schemas.LifecyclePolicyPreviewResult_imagePushedAt, v.ImagePushedAt) + case schemas.LifecyclePolicyPreviewResult_imageTags: + return deserializeImageTagList(d, schemas.LifecyclePolicyPreviewResult_imageTags, &v.ImageTags) + case schemas.LifecyclePolicyPreviewResult_storageClass: + var ev string + if err := d.ReadString(schemas.LifecyclePolicyPreviewResult_storageClass, &ev); err != nil { + return err + } + v.StorageClass = LifecyclePolicyStorageClass(ev) + return nil + } + return nil + }) +} + // The summary of the lifecycle policy preview request. type LifecyclePolicyPreviewSummary struct { @@ -665,6 +1863,31 @@ type LifecyclePolicyPreviewSummary struct { noSmithyDocumentSerde } +func (v *LifecyclePolicyPreviewSummary) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyPreviewSummary) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyPreviewSummary) SerializeMembers(s smithy.ShapeSerializer) { + if v.ExpiringImageTotalCount != nil { + s.WriteInt32(schemas.LifecyclePolicyPreviewSummary_expiringImageTotalCount, *v.ExpiringImageTotalCount) + } + serializeTransitioningImageTotalCounts(s, schemas.LifecyclePolicyPreviewSummary_transitioningImageTotalCounts, v.TransitioningImageTotalCounts) +} +func (v *LifecyclePolicyPreviewSummary) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyPreviewSummary, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyPreviewSummary_expiringImageTotalCount: + v.ExpiringImageTotalCount = new(int32) + return d.ReadInt32(schemas.LifecyclePolicyPreviewSummary_expiringImageTotalCount, v.ExpiringImageTotalCount) + case schemas.LifecyclePolicyPreviewSummary_transitioningImageTotalCounts: + return deserializeTransitioningImageTotalCounts(d, schemas.LifecyclePolicyPreviewSummary_transitioningImageTotalCounts, &v.TransitioningImageTotalCounts) + } + return nil + }) +} + // The type of action to be taken. type LifecyclePolicyRuleAction struct { @@ -678,6 +1901,42 @@ type LifecyclePolicyRuleAction struct { noSmithyDocumentSerde } +func (v *LifecyclePolicyRuleAction) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LifecyclePolicyRuleAction) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LifecyclePolicyRuleAction) SerializeMembers(s smithy.ShapeSerializer) { + if v.TargetStorageClass != "" { + s.WriteString(schemas.LifecyclePolicyRuleAction_targetStorageClass, string(v.TargetStorageClass)) + } + if v.Type != "" { + s.WriteString(schemas.LifecyclePolicyRuleAction_type, string(v.Type)) + } +} +func (v *LifecyclePolicyRuleAction) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LifecyclePolicyRuleAction, func(s *smithy.Schema) error { + switch s { + case schemas.LifecyclePolicyRuleAction_targetStorageClass: + var ev string + if err := d.ReadString(schemas.LifecyclePolicyRuleAction_targetStorageClass, &ev); err != nil { + return err + } + v.TargetStorageClass = LifecyclePolicyTargetStorageClass(ev) + return nil + case schemas.LifecyclePolicyRuleAction_type: + var ev string + if err := d.ReadString(schemas.LifecyclePolicyRuleAction_type, &ev); err != nil { + return err + } + v.Type = ImageActionType(ev) + return nil + } + return nil + }) +} + // An object representing a filter on a ListImageReferrers operation. type ListImageReferrersFilter struct { @@ -692,11 +1951,41 @@ type ListImageReferrersFilter struct { noSmithyDocumentSerde } +func (v *ListImageReferrersFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListImageReferrersFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListImageReferrersFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.ArtifactStatus != "" { + s.WriteString(schemas.ListImageReferrersFilter_artifactStatus, string(v.ArtifactStatus)) + } + serializeArtifactTypeList(s, schemas.ListImageReferrersFilter_artifactTypes, v.ArtifactTypes) +} +func (v *ListImageReferrersFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListImageReferrersFilter, func(s *smithy.Schema) error { + switch s { + case schemas.ListImageReferrersFilter_artifactStatus: + var ev string + if err := d.ReadString(schemas.ListImageReferrersFilter_artifactStatus, &ev); err != nil { + return err + } + v.ArtifactStatus = ArtifactStatusFilter(ev) + return nil + case schemas.ListImageReferrersFilter_artifactTypes: + return deserializeArtifactTypeList(d, schemas.ListImageReferrersFilter_artifactTypes, &v.ArtifactTypes) + } + return nil + }) +} + // An object representing a filter on a ListImages operation. type ListImagesFilter struct { // The image status with which to filter your ListImages results. Valid values are ACTIVE , - // ARCHIVED , and ACTIVATING . + // ARCHIVED , and ACTIVATING . If not specified, only images with ACTIVE status + // are returned. ImageStatus ImageStatusFilter // The tag status with which to filter your ListImages results. @@ -705,6 +1994,42 @@ type ListImagesFilter struct { noSmithyDocumentSerde } +func (v *ListImagesFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListImagesFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListImagesFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageStatus != "" { + s.WriteString(schemas.ListImagesFilter_imageStatus, string(v.ImageStatus)) + } + if v.TagStatus != "" { + s.WriteString(schemas.ListImagesFilter_tagStatus, string(v.TagStatus)) + } +} +func (v *ListImagesFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListImagesFilter, func(s *smithy.Schema) error { + switch s { + case schemas.ListImagesFilter_imageStatus: + var ev string + if err := d.ReadString(schemas.ListImagesFilter_imageStatus, &ev); err != nil { + return err + } + v.ImageStatus = ImageStatusFilter(ev) + return nil + case schemas.ListImagesFilter_tagStatus: + var ev string + if err := d.ReadString(schemas.ListImagesFilter_tagStatus, &ev); err != nil { + return err + } + v.TagStatus = TagStatus(ev) + return nil + } + return nil + }) +} + // Information about a package vulnerability finding. type PackageVulnerabilityDetails struct { @@ -742,6 +2067,70 @@ type PackageVulnerabilityDetails struct { noSmithyDocumentSerde } +func (v *PackageVulnerabilityDetails) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PackageVulnerabilityDetails) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PackageVulnerabilityDetails) SerializeMembers(s smithy.ShapeSerializer) { + serializeCvssScoreList(s, schemas.PackageVulnerabilityDetails_cvss, v.Cvss) + serializeReferenceUrlsList(s, schemas.PackageVulnerabilityDetails_referenceUrls, v.ReferenceUrls) + serializeRelatedVulnerabilitiesList(s, schemas.PackageVulnerabilityDetails_relatedVulnerabilities, v.RelatedVulnerabilities) + if v.Source != nil { + s.WriteString(schemas.PackageVulnerabilityDetails_source, *v.Source) + } + if v.SourceUrl != nil { + s.WriteString(schemas.PackageVulnerabilityDetails_sourceUrl, *v.SourceUrl) + } + if v.VendorCreatedAt != nil { + s.WriteTime(schemas.PackageVulnerabilityDetails_vendorCreatedAt, *v.VendorCreatedAt) + } + if v.VendorSeverity != nil { + s.WriteString(schemas.PackageVulnerabilityDetails_vendorSeverity, *v.VendorSeverity) + } + if v.VendorUpdatedAt != nil { + s.WriteTime(schemas.PackageVulnerabilityDetails_vendorUpdatedAt, *v.VendorUpdatedAt) + } + if v.VulnerabilityId != nil { + s.WriteString(schemas.PackageVulnerabilityDetails_vulnerabilityId, *v.VulnerabilityId) + } + serializeVulnerablePackagesList(s, schemas.PackageVulnerabilityDetails_vulnerablePackages, v.VulnerablePackages) +} +func (v *PackageVulnerabilityDetails) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PackageVulnerabilityDetails, func(s *smithy.Schema) error { + switch s { + case schemas.PackageVulnerabilityDetails_cvss: + return deserializeCvssScoreList(d, schemas.PackageVulnerabilityDetails_cvss, &v.Cvss) + case schemas.PackageVulnerabilityDetails_referenceUrls: + return deserializeReferenceUrlsList(d, schemas.PackageVulnerabilityDetails_referenceUrls, &v.ReferenceUrls) + case schemas.PackageVulnerabilityDetails_relatedVulnerabilities: + return deserializeRelatedVulnerabilitiesList(d, schemas.PackageVulnerabilityDetails_relatedVulnerabilities, &v.RelatedVulnerabilities) + case schemas.PackageVulnerabilityDetails_source: + v.Source = new(string) + return d.ReadString(schemas.PackageVulnerabilityDetails_source, v.Source) + case schemas.PackageVulnerabilityDetails_sourceUrl: + v.SourceUrl = new(string) + return d.ReadString(schemas.PackageVulnerabilityDetails_sourceUrl, v.SourceUrl) + case schemas.PackageVulnerabilityDetails_vendorCreatedAt: + v.VendorCreatedAt = new(time.Time) + return d.ReadTime(schemas.PackageVulnerabilityDetails_vendorCreatedAt, v.VendorCreatedAt) + case schemas.PackageVulnerabilityDetails_vendorSeverity: + v.VendorSeverity = new(string) + return d.ReadString(schemas.PackageVulnerabilityDetails_vendorSeverity, v.VendorSeverity) + case schemas.PackageVulnerabilityDetails_vendorUpdatedAt: + v.VendorUpdatedAt = new(time.Time) + return d.ReadTime(schemas.PackageVulnerabilityDetails_vendorUpdatedAt, v.VendorUpdatedAt) + case schemas.PackageVulnerabilityDetails_vulnerabilityId: + v.VulnerabilityId = new(string) + return d.ReadString(schemas.PackageVulnerabilityDetails_vulnerabilityId, v.VulnerabilityId) + case schemas.PackageVulnerabilityDetails_vulnerablePackages: + return deserializeVulnerablePackagesList(d, schemas.PackageVulnerabilityDetails_vulnerablePackages, &v.VulnerablePackages) + } + return nil + }) +} + // The details of a pull through cache rule. type PullThroughCacheRule struct { @@ -779,6 +2168,80 @@ type PullThroughCacheRule struct { noSmithyDocumentSerde } +func (v *PullThroughCacheRule) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PullThroughCacheRule) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PullThroughCacheRule) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.PullThroughCacheRule_createdAt, *v.CreatedAt) + } + if v.CredentialArn != nil { + s.WriteString(schemas.PullThroughCacheRule_credentialArn, *v.CredentialArn) + } + if v.CustomRoleArn != nil { + s.WriteString(schemas.PullThroughCacheRule_customRoleArn, *v.CustomRoleArn) + } + if v.EcrRepositoryPrefix != nil { + s.WriteString(schemas.PullThroughCacheRule_ecrRepositoryPrefix, *v.EcrRepositoryPrefix) + } + if v.RegistryId != nil { + s.WriteString(schemas.PullThroughCacheRule_registryId, *v.RegistryId) + } + if v.UpdatedAt != nil { + s.WriteTime(schemas.PullThroughCacheRule_updatedAt, *v.UpdatedAt) + } + if v.UpstreamRegistry != "" { + s.WriteString(schemas.PullThroughCacheRule_upstreamRegistry, string(v.UpstreamRegistry)) + } + if v.UpstreamRegistryUrl != nil { + s.WriteString(schemas.PullThroughCacheRule_upstreamRegistryUrl, *v.UpstreamRegistryUrl) + } + if v.UpstreamRepositoryPrefix != nil { + s.WriteString(schemas.PullThroughCacheRule_upstreamRepositoryPrefix, *v.UpstreamRepositoryPrefix) + } +} +func (v *PullThroughCacheRule) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PullThroughCacheRule, func(s *smithy.Schema) error { + switch s { + case schemas.PullThroughCacheRule_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.PullThroughCacheRule_createdAt, v.CreatedAt) + case schemas.PullThroughCacheRule_credentialArn: + v.CredentialArn = new(string) + return d.ReadString(schemas.PullThroughCacheRule_credentialArn, v.CredentialArn) + case schemas.PullThroughCacheRule_customRoleArn: + v.CustomRoleArn = new(string) + return d.ReadString(schemas.PullThroughCacheRule_customRoleArn, v.CustomRoleArn) + case schemas.PullThroughCacheRule_ecrRepositoryPrefix: + v.EcrRepositoryPrefix = new(string) + return d.ReadString(schemas.PullThroughCacheRule_ecrRepositoryPrefix, v.EcrRepositoryPrefix) + case schemas.PullThroughCacheRule_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.PullThroughCacheRule_registryId, v.RegistryId) + case schemas.PullThroughCacheRule_updatedAt: + v.UpdatedAt = new(time.Time) + return d.ReadTime(schemas.PullThroughCacheRule_updatedAt, v.UpdatedAt) + case schemas.PullThroughCacheRule_upstreamRegistry: + var ev string + if err := d.ReadString(schemas.PullThroughCacheRule_upstreamRegistry, &ev); err != nil { + return err + } + v.UpstreamRegistry = UpstreamRegistry(ev) + return nil + case schemas.PullThroughCacheRule_upstreamRegistryUrl: + v.UpstreamRegistryUrl = new(string) + return d.ReadString(schemas.PullThroughCacheRule_upstreamRegistryUrl, v.UpstreamRegistryUrl) + case schemas.PullThroughCacheRule_upstreamRepositoryPrefix: + v.UpstreamRepositoryPrefix = new(string) + return d.ReadString(schemas.PullThroughCacheRule_upstreamRepositoryPrefix, v.UpstreamRepositoryPrefix) + } + return nil + }) +} + // Details about the recommended course of action to remediate the finding. type Recommendation struct { @@ -791,6 +2254,34 @@ type Recommendation struct { noSmithyDocumentSerde } +func (v *Recommendation) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Recommendation) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Recommendation) SerializeMembers(s smithy.ShapeSerializer) { + if v.Text != nil { + s.WriteString(schemas.Recommendation_text, *v.Text) + } + if v.Url != nil { + s.WriteString(schemas.Recommendation_url, *v.Url) + } +} +func (v *Recommendation) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Recommendation, func(s *smithy.Schema) error { + switch s { + case schemas.Recommendation_text: + v.Text = new(string) + return d.ReadString(schemas.Recommendation_text, v.Text) + case schemas.Recommendation_url: + v.Url = new(string) + return d.ReadString(schemas.Recommendation_url, v.Url) + } + return nil + }) +} + // The scanning configuration for a private registry. type RegistryScanningConfiguration struct { @@ -803,6 +2294,35 @@ type RegistryScanningConfiguration struct { noSmithyDocumentSerde } +func (v *RegistryScanningConfiguration) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegistryScanningConfiguration) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegistryScanningConfiguration) SerializeMembers(s smithy.ShapeSerializer) { + serializeRegistryScanningRuleList(s, schemas.RegistryScanningConfiguration_rules, v.Rules) + if v.ScanType != "" { + s.WriteString(schemas.RegistryScanningConfiguration_scanType, string(v.ScanType)) + } +} +func (v *RegistryScanningConfiguration) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegistryScanningConfiguration, func(s *smithy.Schema) error { + switch s { + case schemas.RegistryScanningConfiguration_rules: + return deserializeRegistryScanningRuleList(d, schemas.RegistryScanningConfiguration_rules, &v.Rules) + case schemas.RegistryScanningConfiguration_scanType: + var ev string + if err := d.ReadString(schemas.RegistryScanningConfiguration_scanType, &ev); err != nil { + return err + } + v.ScanType = ScanType(ev) + return nil + } + return nil + }) +} + // The details of a scanning rule for a private registry. type RegistryScanningRule struct { @@ -824,6 +2344,35 @@ type RegistryScanningRule struct { noSmithyDocumentSerde } +func (v *RegistryScanningRule) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegistryScanningRule) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegistryScanningRule) SerializeMembers(s smithy.ShapeSerializer) { + serializeScanningRepositoryFilterList(s, schemas.RegistryScanningRule_repositoryFilters, v.RepositoryFilters) + if v.ScanFrequency != "" { + s.WriteString(schemas.RegistryScanningRule_scanFrequency, string(v.ScanFrequency)) + } +} +func (v *RegistryScanningRule) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegistryScanningRule, func(s *smithy.Schema) error { + switch s { + case schemas.RegistryScanningRule_repositoryFilters: + return deserializeScanningRepositoryFilterList(d, schemas.RegistryScanningRule_repositoryFilters, &v.RepositoryFilters) + case schemas.RegistryScanningRule_scanFrequency: + var ev string + if err := d.ReadString(schemas.RegistryScanningRule_scanFrequency, &ev); err != nil { + return err + } + v.ScanFrequency = ScanFrequency(ev) + return nil + } + return nil + }) +} + // Information on how to remediate a finding. type Remediation struct { @@ -834,6 +2383,30 @@ type Remediation struct { noSmithyDocumentSerde } +func (v *Remediation) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Remediation) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Remediation) SerializeMembers(s smithy.ShapeSerializer) { + if v.Recommendation != nil { + s.WriteStruct(schemas.Remediation_recommendation) + v.Recommendation.SerializeMembers(s) + s.CloseStruct() + } +} +func (v *Remediation) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Remediation, func(s *smithy.Schema) error { + switch s { + case schemas.Remediation_recommendation: + v.Recommendation = &Recommendation{} + return v.Recommendation.Deserialize(d) + } + return nil + }) +} + // The replication configuration for a registry. type ReplicationConfiguration struct { @@ -846,6 +2419,25 @@ type ReplicationConfiguration struct { noSmithyDocumentSerde } +func (v *ReplicationConfiguration) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ReplicationConfiguration) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ReplicationConfiguration) SerializeMembers(s smithy.ShapeSerializer) { + serializeReplicationRuleList(s, schemas.ReplicationConfiguration_rules, v.Rules) +} +func (v *ReplicationConfiguration) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ReplicationConfiguration, func(s *smithy.Schema) error { + switch s { + case schemas.ReplicationConfiguration_rules: + return deserializeReplicationRuleList(d, schemas.ReplicationConfiguration_rules, &v.Rules) + } + return nil + }) +} + // An array of objects representing the destination for a replication rule. type ReplicationDestination struct { @@ -864,6 +2456,34 @@ type ReplicationDestination struct { noSmithyDocumentSerde } +func (v *ReplicationDestination) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ReplicationDestination) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ReplicationDestination) SerializeMembers(s smithy.ShapeSerializer) { + if v.Region != nil { + s.WriteString(schemas.ReplicationDestination_region, *v.Region) + } + if v.RegistryId != nil { + s.WriteString(schemas.ReplicationDestination_registryId, *v.RegistryId) + } +} +func (v *ReplicationDestination) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ReplicationDestination, func(s *smithy.Schema) error { + switch s { + case schemas.ReplicationDestination_region: + v.Region = new(string) + return d.ReadString(schemas.ReplicationDestination_region, v.Region) + case schemas.ReplicationDestination_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.ReplicationDestination_registryId, v.RegistryId) + } + return nil + }) +} + // An array of objects representing the replication destinations and repository // filters for a replication configuration. type ReplicationRule struct { @@ -881,6 +2501,28 @@ type ReplicationRule struct { noSmithyDocumentSerde } +func (v *ReplicationRule) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ReplicationRule) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ReplicationRule) SerializeMembers(s smithy.ShapeSerializer) { + serializeReplicationDestinationList(s, schemas.ReplicationRule_destinations, v.Destinations) + serializeRepositoryFilterList(s, schemas.ReplicationRule_repositoryFilters, v.RepositoryFilters) +} +func (v *ReplicationRule) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ReplicationRule, func(s *smithy.Schema) error { + switch s { + case schemas.ReplicationRule_destinations: + return deserializeReplicationDestinationList(d, schemas.ReplicationRule_destinations, &v.Destinations) + case schemas.ReplicationRule_repositoryFilters: + return deserializeRepositoryFilterList(d, schemas.ReplicationRule_repositoryFilters, &v.RepositoryFilters) + } + return nil + }) +} + // An object representing a repository. type Repository struct { @@ -922,6 +2564,81 @@ type Repository struct { noSmithyDocumentSerde } +func (v *Repository) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Repository) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Repository) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.Repository_createdAt, *v.CreatedAt) + } + if v.EncryptionConfiguration != nil { + s.WriteStruct(schemas.Repository_encryptionConfiguration) + v.EncryptionConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageScanningConfiguration != nil { + s.WriteStruct(schemas.Repository_imageScanningConfiguration) + v.ImageScanningConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageTagMutability != "" { + s.WriteString(schemas.Repository_imageTagMutability, string(v.ImageTagMutability)) + } + serializeImageTagMutabilityExclusionFilters(s, schemas.Repository_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.RegistryId != nil { + s.WriteString(schemas.Repository_registryId, *v.RegistryId) + } + if v.RepositoryArn != nil { + s.WriteString(schemas.Repository_repositoryArn, *v.RepositoryArn) + } + if v.RepositoryName != nil { + s.WriteString(schemas.Repository_repositoryName, *v.RepositoryName) + } + if v.RepositoryUri != nil { + s.WriteString(schemas.Repository_repositoryUri, *v.RepositoryUri) + } +} +func (v *Repository) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Repository, func(s *smithy.Schema) error { + switch s { + case schemas.Repository_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.Repository_createdAt, v.CreatedAt) + case schemas.Repository_encryptionConfiguration: + v.EncryptionConfiguration = &EncryptionConfiguration{} + return v.EncryptionConfiguration.Deserialize(d) + case schemas.Repository_imageScanningConfiguration: + v.ImageScanningConfiguration = &ImageScanningConfiguration{} + return v.ImageScanningConfiguration.Deserialize(d) + case schemas.Repository_imageTagMutability: + var ev string + if err := d.ReadString(schemas.Repository_imageTagMutability, &ev); err != nil { + return err + } + v.ImageTagMutability = ImageTagMutability(ev) + return nil + case schemas.Repository_imageTagMutabilityExclusionFilters: + return deserializeImageTagMutabilityExclusionFilters(d, schemas.Repository_imageTagMutabilityExclusionFilters, &v.ImageTagMutabilityExclusionFilters) + case schemas.Repository_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.Repository_registryId, v.RegistryId) + case schemas.Repository_repositoryArn: + v.RepositoryArn = new(string) + return d.ReadString(schemas.Repository_repositoryArn, v.RepositoryArn) + case schemas.Repository_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.Repository_repositoryName, v.RepositoryName) + case schemas.Repository_repositoryUri: + v.RepositoryUri = new(string) + return d.ReadString(schemas.Repository_repositoryUri, v.RepositoryUri) + } + return nil + }) +} + // The details of the repository creation template associated with the request. type RepositoryCreationTemplate struct { @@ -981,6 +2698,91 @@ type RepositoryCreationTemplate struct { noSmithyDocumentSerde } +func (v *RepositoryCreationTemplate) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryCreationTemplate) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryCreationTemplate) SerializeMembers(s smithy.ShapeSerializer) { + serializeRCTAppliedForList(s, schemas.RepositoryCreationTemplate_appliedFor, v.AppliedFor) + if v.CreatedAt != nil { + s.WriteTime(schemas.RepositoryCreationTemplate_createdAt, *v.CreatedAt) + } + if v.CustomRoleArn != nil { + s.WriteString(schemas.RepositoryCreationTemplate_customRoleArn, *v.CustomRoleArn) + } + if v.Description != nil { + s.WriteString(schemas.RepositoryCreationTemplate_description, *v.Description) + } + if v.EncryptionConfiguration != nil { + s.WriteStruct(schemas.RepositoryCreationTemplate_encryptionConfiguration) + v.EncryptionConfiguration.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageTagMutability != "" { + s.WriteString(schemas.RepositoryCreationTemplate_imageTagMutability, string(v.ImageTagMutability)) + } + serializeImageTagMutabilityExclusionFilters(s, schemas.RepositoryCreationTemplate_imageTagMutabilityExclusionFilters, v.ImageTagMutabilityExclusionFilters) + if v.LifecyclePolicy != nil { + s.WriteString(schemas.RepositoryCreationTemplate_lifecyclePolicy, *v.LifecyclePolicy) + } + if v.Prefix != nil { + s.WriteString(schemas.RepositoryCreationTemplate_prefix, *v.Prefix) + } + if v.RepositoryPolicy != nil { + s.WriteString(schemas.RepositoryCreationTemplate_repositoryPolicy, *v.RepositoryPolicy) + } + serializeTagList(s, schemas.RepositoryCreationTemplate_resourceTags, v.ResourceTags) + if v.UpdatedAt != nil { + s.WriteTime(schemas.RepositoryCreationTemplate_updatedAt, *v.UpdatedAt) + } +} +func (v *RepositoryCreationTemplate) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryCreationTemplate, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryCreationTemplate_appliedFor: + return deserializeRCTAppliedForList(d, schemas.RepositoryCreationTemplate_appliedFor, &v.AppliedFor) + case schemas.RepositoryCreationTemplate_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.RepositoryCreationTemplate_createdAt, v.CreatedAt) + case schemas.RepositoryCreationTemplate_customRoleArn: + v.CustomRoleArn = new(string) + return d.ReadString(schemas.RepositoryCreationTemplate_customRoleArn, v.CustomRoleArn) + case schemas.RepositoryCreationTemplate_description: + v.Description = new(string) + return d.ReadString(schemas.RepositoryCreationTemplate_description, v.Description) + case schemas.RepositoryCreationTemplate_encryptionConfiguration: + v.EncryptionConfiguration = &EncryptionConfigurationForRepositoryCreationTemplate{} + return v.EncryptionConfiguration.Deserialize(d) + case schemas.RepositoryCreationTemplate_imageTagMutability: + var ev string + if err := d.ReadString(schemas.RepositoryCreationTemplate_imageTagMutability, &ev); err != nil { + return err + } + v.ImageTagMutability = ImageTagMutability(ev) + return nil + case schemas.RepositoryCreationTemplate_imageTagMutabilityExclusionFilters: + return deserializeImageTagMutabilityExclusionFilters(d, schemas.RepositoryCreationTemplate_imageTagMutabilityExclusionFilters, &v.ImageTagMutabilityExclusionFilters) + case schemas.RepositoryCreationTemplate_lifecyclePolicy: + v.LifecyclePolicy = new(string) + return d.ReadString(schemas.RepositoryCreationTemplate_lifecyclePolicy, v.LifecyclePolicy) + case schemas.RepositoryCreationTemplate_prefix: + v.Prefix = new(string) + return d.ReadString(schemas.RepositoryCreationTemplate_prefix, v.Prefix) + case schemas.RepositoryCreationTemplate_repositoryPolicy: + v.RepositoryPolicy = new(string) + return d.ReadString(schemas.RepositoryCreationTemplate_repositoryPolicy, v.RepositoryPolicy) + case schemas.RepositoryCreationTemplate_resourceTags: + return deserializeTagList(d, schemas.RepositoryCreationTemplate_resourceTags, &v.ResourceTags) + case schemas.RepositoryCreationTemplate_updatedAt: + v.UpdatedAt = new(time.Time) + return d.ReadTime(schemas.RepositoryCreationTemplate_updatedAt, v.UpdatedAt) + } + return nil + }) +} + // The filter settings used with image replication. Specifying a repository filter // to a replication rule provides a method for controlling which repositories in a // private registry are replicated. If no filters are added, the contents of all @@ -1003,6 +2805,38 @@ type RepositoryFilter struct { noSmithyDocumentSerde } +func (v *RepositoryFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteString(schemas.RepositoryFilter_filter, *v.Filter) + } + if v.FilterType != "" { + s.WriteString(schemas.RepositoryFilter_filterType, string(v.FilterType)) + } +} +func (v *RepositoryFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryFilter, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryFilter_filter: + v.Filter = new(string) + return d.ReadString(schemas.RepositoryFilter_filter, v.Filter) + case schemas.RepositoryFilter_filterType: + var ev string + if err := d.ReadString(schemas.RepositoryFilter_filterType, &ev); err != nil { + return err + } + v.FilterType = RepositoryFilterType(ev) + return nil + } + return nil + }) +} + // The details of the scanning configuration for a repository. type RepositoryScanningConfiguration struct { @@ -1024,6 +2858,52 @@ type RepositoryScanningConfiguration struct { noSmithyDocumentSerde } +func (v *RepositoryScanningConfiguration) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryScanningConfiguration) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryScanningConfiguration) SerializeMembers(s smithy.ShapeSerializer) { + serializeScanningRepositoryFilterList(s, schemas.RepositoryScanningConfiguration_appliedScanFilters, v.AppliedScanFilters) + if v.RepositoryArn != nil { + s.WriteString(schemas.RepositoryScanningConfiguration_repositoryArn, *v.RepositoryArn) + } + if v.RepositoryName != nil { + s.WriteString(schemas.RepositoryScanningConfiguration_repositoryName, *v.RepositoryName) + } + if v.ScanFrequency != "" { + s.WriteString(schemas.RepositoryScanningConfiguration_scanFrequency, string(v.ScanFrequency)) + } + if v.ScanOnPush != false { + s.WriteBool(schemas.RepositoryScanningConfiguration_scanOnPush, v.ScanOnPush) + } +} +func (v *RepositoryScanningConfiguration) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryScanningConfiguration, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryScanningConfiguration_appliedScanFilters: + return deserializeScanningRepositoryFilterList(d, schemas.RepositoryScanningConfiguration_appliedScanFilters, &v.AppliedScanFilters) + case schemas.RepositoryScanningConfiguration_repositoryArn: + v.RepositoryArn = new(string) + return d.ReadString(schemas.RepositoryScanningConfiguration_repositoryArn, v.RepositoryArn) + case schemas.RepositoryScanningConfiguration_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.RepositoryScanningConfiguration_repositoryName, v.RepositoryName) + case schemas.RepositoryScanningConfiguration_scanFrequency: + var ev string + if err := d.ReadString(schemas.RepositoryScanningConfiguration_scanFrequency, &ev); err != nil { + return err + } + v.ScanFrequency = ScanFrequency(ev) + return nil + case schemas.RepositoryScanningConfiguration_scanOnPush: + return d.ReadBool(schemas.RepositoryScanningConfiguration_scanOnPush, &v.ScanOnPush) + } + return nil + }) +} + // The details about any failures associated with the scanning configuration of a // repository. type RepositoryScanningConfigurationFailure struct { @@ -1040,6 +2920,44 @@ type RepositoryScanningConfigurationFailure struct { noSmithyDocumentSerde } +func (v *RepositoryScanningConfigurationFailure) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryScanningConfigurationFailure) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryScanningConfigurationFailure) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != "" { + s.WriteString(schemas.RepositoryScanningConfigurationFailure_failureCode, string(v.FailureCode)) + } + if v.FailureReason != nil { + s.WriteString(schemas.RepositoryScanningConfigurationFailure_failureReason, *v.FailureReason) + } + if v.RepositoryName != nil { + s.WriteString(schemas.RepositoryScanningConfigurationFailure_repositoryName, *v.RepositoryName) + } +} +func (v *RepositoryScanningConfigurationFailure) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryScanningConfigurationFailure, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryScanningConfigurationFailure_failureCode: + var ev string + if err := d.ReadString(schemas.RepositoryScanningConfigurationFailure_failureCode, &ev); err != nil { + return err + } + v.FailureCode = ScanningConfigurationFailureCode(ev) + return nil + case schemas.RepositoryScanningConfigurationFailure_failureReason: + v.FailureReason = new(string) + return d.ReadString(schemas.RepositoryScanningConfigurationFailure_failureReason, v.FailureReason) + case schemas.RepositoryScanningConfigurationFailure_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.RepositoryScanningConfigurationFailure_repositoryName, v.RepositoryName) + } + return nil + }) +} + // Details about the resource involved in a finding. type Resource struct { @@ -1058,6 +2976,45 @@ type Resource struct { noSmithyDocumentSerde } +func (v *Resource) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Resource) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Resource) SerializeMembers(s smithy.ShapeSerializer) { + if v.Details != nil { + s.WriteStruct(schemas.Resource_details) + v.Details.SerializeMembers(s) + s.CloseStruct() + } + if v.Id != nil { + s.WriteString(schemas.Resource_id, *v.Id) + } + serializeTags(s, schemas.Resource_tags, v.Tags) + if v.Type != nil { + s.WriteString(schemas.Resource_type, *v.Type) + } +} +func (v *Resource) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Resource, func(s *smithy.Schema) error { + switch s { + case schemas.Resource_details: + v.Details = &ResourceDetails{} + return v.Details.Deserialize(d) + case schemas.Resource_id: + v.Id = new(string) + return d.ReadString(schemas.Resource_id, v.Id) + case schemas.Resource_tags: + return deserializeTags(d, schemas.Resource_tags, &v.Tags) + case schemas.Resource_type: + v.Type = new(string) + return d.ReadString(schemas.Resource_type, v.Type) + } + return nil + }) +} + // Contains details about the resource involved in the finding. type ResourceDetails struct { @@ -1068,6 +3025,30 @@ type ResourceDetails struct { noSmithyDocumentSerde } +func (v *ResourceDetails) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ResourceDetails) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ResourceDetails) SerializeMembers(s smithy.ShapeSerializer) { + if v.AwsEcrContainerImage != nil { + s.WriteStruct(schemas.ResourceDetails_awsEcrContainerImage) + v.AwsEcrContainerImage.SerializeMembers(s) + s.CloseStruct() + } +} +func (v *ResourceDetails) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ResourceDetails, func(s *smithy.Schema) error { + switch s { + case schemas.ResourceDetails_awsEcrContainerImage: + v.AwsEcrContainerImage = &AwsEcrContainerImageDetails{} + return v.AwsEcrContainerImage.Deserialize(d) + } + return nil + }) +} + // The details of a scanning repository filter. For more information on how to use // filters, see [Using filters]in the Amazon Elastic Container Registry User Guide. // @@ -1087,6 +3068,38 @@ type ScanningRepositoryFilter struct { noSmithyDocumentSerde } +func (v *ScanningRepositoryFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ScanningRepositoryFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ScanningRepositoryFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteString(schemas.ScanningRepositoryFilter_filter, *v.Filter) + } + if v.FilterType != "" { + s.WriteString(schemas.ScanningRepositoryFilter_filterType, string(v.FilterType)) + } +} +func (v *ScanningRepositoryFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ScanningRepositoryFilter, func(s *smithy.Schema) error { + switch s { + case schemas.ScanningRepositoryFilter_filter: + v.Filter = new(string) + return d.ReadString(schemas.ScanningRepositoryFilter_filter, v.Filter) + case schemas.ScanningRepositoryFilter_filterType: + var ev string + if err := d.ReadString(schemas.ScanningRepositoryFilter_filterType, &ev); err != nil { + return err + } + v.FilterType = ScanningRepositoryFilterType(ev) + return nil + } + return nil + }) +} + // Information about the Amazon Inspector score given to a finding. type ScoreDetails struct { @@ -1096,6 +3109,30 @@ type ScoreDetails struct { noSmithyDocumentSerde } +func (v *ScoreDetails) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ScoreDetails) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ScoreDetails) SerializeMembers(s smithy.ShapeSerializer) { + if v.Cvss != nil { + s.WriteStruct(schemas.ScoreDetails_cvss) + v.Cvss.SerializeMembers(s) + s.CloseStruct() + } +} +func (v *ScoreDetails) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ScoreDetails, func(s *smithy.Schema) error { + switch s { + case schemas.ScoreDetails_cvss: + v.Cvss = &CvssScoreDetails{} + return v.Cvss.Deserialize(d) + } + return nil + }) +} + // The signing configuration for a registry, which specifies rules for // automatically signing images when pushed. type SigningConfiguration struct { @@ -1110,6 +3147,25 @@ type SigningConfiguration struct { noSmithyDocumentSerde } +func (v *SigningConfiguration) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SigningConfiguration) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SigningConfiguration) SerializeMembers(s smithy.ShapeSerializer) { + serializeSigningRuleList(s, schemas.SigningConfiguration_rules, v.Rules) +} +func (v *SigningConfiguration) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SigningConfiguration, func(s *smithy.Schema) error { + switch s { + case schemas.SigningConfiguration_rules: + return deserializeSigningRuleList(d, schemas.SigningConfiguration_rules, &v.Rules) + } + return nil + }) +} + // A repository filter used to determine which repositories have their images // automatically signed on push. Each filter consists of a filter type and filter // value. @@ -1138,6 +3194,38 @@ type SigningRepositoryFilter struct { noSmithyDocumentSerde } +func (v *SigningRepositoryFilter) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SigningRepositoryFilter) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SigningRepositoryFilter) SerializeMembers(s smithy.ShapeSerializer) { + if v.Filter != nil { + s.WriteString(schemas.SigningRepositoryFilter_filter, *v.Filter) + } + if v.FilterType != "" { + s.WriteString(schemas.SigningRepositoryFilter_filterType, string(v.FilterType)) + } +} +func (v *SigningRepositoryFilter) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SigningRepositoryFilter, func(s *smithy.Schema) error { + switch s { + case schemas.SigningRepositoryFilter_filter: + v.Filter = new(string) + return d.ReadString(schemas.SigningRepositoryFilter_filter, v.Filter) + case schemas.SigningRepositoryFilter_filterType: + var ev string + if err := d.ReadString(schemas.SigningRepositoryFilter_filterType, &ev); err != nil { + return err + } + v.FilterType = SigningRepositoryFilterType(ev) + return nil + } + return nil + }) +} + // A signing rule that specifies a signing profile and optional repository // filters. When an image is pushed to a matching repository, a signing job is // created using the specified profile. @@ -1161,6 +3249,31 @@ type SigningRule struct { noSmithyDocumentSerde } +func (v *SigningRule) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SigningRule) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SigningRule) SerializeMembers(s smithy.ShapeSerializer) { + serializeSigningRepositoryFilterList(s, schemas.SigningRule_repositoryFilters, v.RepositoryFilters) + if v.SigningProfileArn != nil { + s.WriteString(schemas.SigningRule_signingProfileArn, *v.SigningProfileArn) + } +} +func (v *SigningRule) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SigningRule, func(s *smithy.Schema) error { + switch s { + case schemas.SigningRule_repositoryFilters: + return deserializeSigningRepositoryFilterList(d, schemas.SigningRule_repositoryFilters, &v.RepositoryFilters) + case schemas.SigningRule_signingProfileArn: + v.SigningProfileArn = new(string) + return d.ReadString(schemas.SigningRule_signingProfileArn, v.SigningProfileArn) + } + return nil + }) +} + // An object that identifies an image subject. type SubjectIdentifier struct { @@ -1172,6 +3285,28 @@ type SubjectIdentifier struct { noSmithyDocumentSerde } +func (v *SubjectIdentifier) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SubjectIdentifier) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SubjectIdentifier) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageDigest != nil { + s.WriteString(schemas.SubjectIdentifier_imageDigest, *v.ImageDigest) + } +} +func (v *SubjectIdentifier) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SubjectIdentifier, func(s *smithy.Schema) error { + switch s { + case schemas.SubjectIdentifier_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.SubjectIdentifier_imageDigest, v.ImageDigest) + } + return nil + }) +} + // The metadata to apply to a resource to help you categorize and organize them. // Each tag consists of a key and a value, both of which you define. Tag keys can // have a maximum character length of 128 characters, and tag values can have a @@ -1192,6 +3327,34 @@ type Tag struct { noSmithyDocumentSerde } +func (v *Tag) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Tag) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Tag) SerializeMembers(s smithy.ShapeSerializer) { + if v.Key != nil { + s.WriteString(schemas.Tag_Key, *v.Key) + } + if v.Value != nil { + s.WriteString(schemas.Tag_Value, *v.Value) + } +} +func (v *Tag) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Tag, func(s *smithy.Schema) error { + switch s { + case schemas.Tag_Key: + v.Key = new(string) + return d.ReadString(schemas.Tag_Key, v.Key) + case schemas.Tag_Value: + v.Value = new(string) + return d.ReadString(schemas.Tag_Value, v.Value) + } + return nil + }) +} + // The total count of images transitioning to a storage class. type TransitioningImageTotalCount struct { @@ -1204,6 +3367,38 @@ type TransitioningImageTotalCount struct { noSmithyDocumentSerde } +func (v *TransitioningImageTotalCount) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TransitioningImageTotalCount) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TransitioningImageTotalCount) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageTotalCount != nil { + s.WriteInt32(schemas.TransitioningImageTotalCount_imageTotalCount, *v.ImageTotalCount) + } + if v.TargetStorageClass != "" { + s.WriteString(schemas.TransitioningImageTotalCount_targetStorageClass, string(v.TargetStorageClass)) + } +} +func (v *TransitioningImageTotalCount) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TransitioningImageTotalCount, func(s *smithy.Schema) error { + switch s { + case schemas.TransitioningImageTotalCount_imageTotalCount: + v.ImageTotalCount = new(int32) + return d.ReadInt32(schemas.TransitioningImageTotalCount_imageTotalCount, v.ImageTotalCount) + case schemas.TransitioningImageTotalCount_targetStorageClass: + var ev string + if err := d.ReadString(schemas.TransitioningImageTotalCount_targetStorageClass, &ev); err != nil { + return err + } + v.TargetStorageClass = LifecyclePolicyTargetStorageClass(ev) + return nil + } + return nil + }) +} + // Information on the vulnerable package identified by a finding. type VulnerablePackage struct { @@ -1237,4 +3432,74 @@ type VulnerablePackage struct { noSmithyDocumentSerde } +func (v *VulnerablePackage) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.VulnerablePackage) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *VulnerablePackage) SerializeMembers(s smithy.ShapeSerializer) { + if v.Arch != nil { + s.WriteString(schemas.VulnerablePackage_arch, *v.Arch) + } + if v.Epoch != nil { + s.WriteInt32(schemas.VulnerablePackage_epoch, *v.Epoch) + } + if v.FilePath != nil { + s.WriteString(schemas.VulnerablePackage_filePath, *v.FilePath) + } + if v.FixedInVersion != nil { + s.WriteString(schemas.VulnerablePackage_fixedInVersion, *v.FixedInVersion) + } + if v.Name != nil { + s.WriteString(schemas.VulnerablePackage_name, *v.Name) + } + if v.PackageManager != nil { + s.WriteString(schemas.VulnerablePackage_packageManager, *v.PackageManager) + } + if v.Release != nil { + s.WriteString(schemas.VulnerablePackage_release, *v.Release) + } + if v.SourceLayerHash != nil { + s.WriteString(schemas.VulnerablePackage_sourceLayerHash, *v.SourceLayerHash) + } + if v.Version != nil { + s.WriteString(schemas.VulnerablePackage_version, *v.Version) + } +} +func (v *VulnerablePackage) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.VulnerablePackage, func(s *smithy.Schema) error { + switch s { + case schemas.VulnerablePackage_arch: + v.Arch = new(string) + return d.ReadString(schemas.VulnerablePackage_arch, v.Arch) + case schemas.VulnerablePackage_epoch: + v.Epoch = new(int32) + return d.ReadInt32(schemas.VulnerablePackage_epoch, v.Epoch) + case schemas.VulnerablePackage_filePath: + v.FilePath = new(string) + return d.ReadString(schemas.VulnerablePackage_filePath, v.FilePath) + case schemas.VulnerablePackage_fixedInVersion: + v.FixedInVersion = new(string) + return d.ReadString(schemas.VulnerablePackage_fixedInVersion, v.FixedInVersion) + case schemas.VulnerablePackage_name: + v.Name = new(string) + return d.ReadString(schemas.VulnerablePackage_name, v.Name) + case schemas.VulnerablePackage_packageManager: + v.PackageManager = new(string) + return d.ReadString(schemas.VulnerablePackage_packageManager, v.PackageManager) + case schemas.VulnerablePackage_release: + v.Release = new(string) + return d.ReadString(schemas.VulnerablePackage_release, v.Release) + case schemas.VulnerablePackage_sourceLayerHash: + v.SourceLayerHash = new(string) + return d.ReadString(schemas.VulnerablePackage_sourceLayerHash, v.SourceLayerHash) + case schemas.VulnerablePackage_version: + v.Version = new(string) + return d.ReadString(schemas.VulnerablePackage_version, v.Version) + } + return nil + }) +} + type noSmithyDocumentSerde = smithydocument.NoSerde diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/CHANGELOG.md index e67db22b..c5e1eb0d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/CHANGELOG.md @@ -1,3 +1,162 @@ +# v1.47.3 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.47.2 (2026-10-06) + +* No change notes available for this release. + +# v1.47.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.47.0 (2026-09-09) + +* **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.46.0 (2026-09-04) + +* **Feature**: Stop registering the `spanRetryLoop` middleware in generated clients. The retry loop's tracing span is now opened by the retry middleware itself. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.45.0 (2026-08-31.2) + +* **Feature**: Stop registering the `SetCredentialSourceMiddleware` middleware in generated clients. Credential source user agent features are now set when the client's middleware stack is constructed. + +# v1.44.0 (2026-08-31) + +* **Feature**: Enable schema-based (de)serialization for this service. + +# v1.43.1 (2026-08-28) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.43.0 (2026-08-27) + +* **Feature**: Support connection read timeouts in the SDK. This is currently available on an opt-in basis by setting env `AWS_ENABLE_DEFAULT_SOCKET_TIMEOUT_2026=true`. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.42.0 (2026-08-26) + +* **Feature**: Stop registering the `ComputeContentLength` middleware in generated clients. `Content-Length` is now set when the request body is set via `SetStream`. +* **Dependency Update**: Update to smithy-go v1.28.0. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.8 (2026-08-25) + +* **Dependency Update**: Update to smithy-go v1.27.10. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.7 (2026-08-20) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.6 (2026-08-14) + +* **Dependency Update**: Update to smithy-go v1.27.8. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.5 (2026-08-10) + +* **Dependency Update**: Update to smithy-go v1.27.7. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.4 (2026-08-05) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.3 (2026-07-31.2) + +* **Dependency Update**: Updated to the latest SDK module versions +* **Dependency Update**: Upgrade to smithy-go v1.27.6 to fix various serde issues in HTTP binding services. + +# v1.41.2 (2026-07-29) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.1 (2026-07-28) + +* **Dependency Update**: Update to smithy-go v1.27.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.41.0 (2026-07-21) + +* **Feature**: Add an option to clients to disable clock skew +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.40.1 (2026-07-13) + +* No change notes available for this release. + +# v1.40.0 (2026-07-06) + +* **Feature**: Add request serialization snapshot tests. + +# v1.39.8 (2026-07-01) + +* **Bug Fix**: Bump smithy-go to 1.27.3, fix JSON encorder for document.Number, endpoint host label format validation and CBOR union serialization on new serde +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.7 (2026-06-29) + +* No change notes available for this release. + +# v1.39.6 (2026-06-08) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.5 (2026-06-04) + +* **Dependency Update**: Update to smithy-go v1.27.1 to fix several union-related deserialization bugs in schema-serde-enabled services. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.4 (2026-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.3 (2026-06-02) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.2 (2026-05-29) + +* **Dependency Update**: Update to smithy-go v1.26.0. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.1 (2026-05-28) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.39.0 (2026-05-27) + +* **Feature**: Adding new BDD representation of endpoint ruleset + +# v1.38.15 (2026-04-29) + +* **Dependency Update**: Update to smithy-go v1.25.1. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.38.14 (2026-04-17) + +* **Dependency Update**: Bump smithy-go to 1.25.0 to support endpointBdd trait +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.38.13 (2026-03-26) + +* **Bug Fix**: Fix a bug where a recorded clock skew could persist on the client even if the client and server clock ended up realigning. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.38.12 (2026-03-13) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.38.11 (2026-03-03) + +* **Dependency Update**: Bump minimum Go version to 1.24 +* **Dependency Update**: Updated to the latest SDK module versions + # v1.38.10 (2026-02-23) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_client.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_client.go index eaaf2d79..ba6b66ba 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_client.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_client.go @@ -15,15 +15,16 @@ import ( internalauth "github.com/aws/aws-sdk-go-v2/internal/auth" internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy" internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources" - internalmiddleware "github.com/aws/aws-sdk-go-v2/internal/middleware" + "github.com/aws/aws-sdk-go-v2/internal/timeouts" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" smithy "github.com/aws/smithy-go" - smithyauth "github.com/aws/smithy-go/auth" smithydocument "github.com/aws/smithy-go/document" "github.com/aws/smithy-go/logging" "github.com/aws/smithy-go/metrics" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/tracing" smithyhttp "github.com/aws/smithy-go/transport/http" + "github.com/aws/smithy-go/transport/http/protocol/awsjson" "net" "net/http" "sync/atomic" @@ -212,6 +213,8 @@ func New(options Options, optFns ...func(*Options)) *Client { resolveAuthSchemeResolver(&options) + options.Protocol = awsjson.New11(schemas.SpencerFrontendService) + for _, fn := range optFns { fn(&options) } @@ -262,6 +265,14 @@ func (c *Client) invokeOperation( finalizeClientEndpointResolverOptions(&options) + ctx = setLoggerContext(ctx, options, opID) + + ctx = resolveServiceMetadata(ctx, options, opID) + + if err := c.addCommonMiddlewares(stack, options, opID); err != nil { + return nil, metadata, err + } + for _, fn := range stackFns { if err := fn(stack, options); err != nil { return nil, metadata, err @@ -366,6 +377,43 @@ func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, o } return nil } + +func (c *Client) addCommonMiddlewares(stack *middleware.Stack, options Options, operation string) error { + if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { + return err + } + if err := addProtocolFinalizerMiddlewares(stack, options, operation); err != nil { + return fmt.Errorf("add protocol finalizers: %v", err) + } + if err := addClientRequestID(stack); err != nil { + return err + } + if err := addRetry(stack, options, c); err != nil { + return err + } + if err := addRawResponseToMetadata(stack); err != nil { + return err + } + if err := addClientUserAgent(stack, options); err != nil { + return err + } + if err := addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { + return err + } + if err := addUserAgentRetryMode(stack, options); err != nil { + return err + } + if err := addRecursionDetection(stack); err != nil { + return err + } + if err := addInterceptBeforeRetryLoop(stack, options); err != nil { + return err + } + if err := addInterceptAttempt(stack, options); err != nil { + return err + } + return nil +} func resolveAuthSchemeResolver(options *Options) { if options.AuthSchemeResolver == nil { options.AuthSchemeResolver = &defaultAuthSchemeResolver{} @@ -384,32 +432,104 @@ func resolveAuthSchemes(options *Options) { } } -type noSmithyDocumentSerde = smithydocument.NoSerde - -type legacyEndpointContextSetter struct { - LegacyResolver EndpointResolver +type serializeRequestMiddleware struct { + options *Options + operationSchema *smithy.OperationSchema } -func (*legacyEndpointContextSetter) ID() string { - return "legacyEndpointContextSetter" +func (*serializeRequestMiddleware) ID() string { + return "OperationSerializer" } -func (m *legacyEndpointContextSetter) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( - out middleware.InitializeOutput, metadata middleware.Metadata, err error, +func (m *serializeRequestMiddleware) HandleSerialize( + ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler, +) ( + middleware.SerializeOutput, middleware.Metadata, error, ) { - if m.LegacyResolver != nil { - ctx = awsmiddleware.SetRequiresLegacyEndpoints(ctx, true) + req, ok := in.Request.(*smithyhttp.Request) + if !ok { + return middleware.SerializeOutput{}, middleware.Metadata{}, fmt.Errorf("unexpected transport type %T", in.Request) + } + + input, ok := in.Parameters.(smithy.Serializable) + if !ok { + return middleware.SerializeOutput{}, middleware.Metadata{}, fmt.Errorf("input %T is not Serializable", in.Request) } - return next.HandleInitialize(ctx, in) + _, span := tracing.StartSpan(ctx, "OperationSerializer") + endTimer := startMetricTimer(ctx, "client.call.serialization_duration") + + err := m.options.Protocol.SerializeRequest(ctx, m.operationSchema, input, req) + + endTimer() + span.End() + + if err != nil { + return middleware.SerializeOutput{}, middleware.Metadata{}, err + } + + return next.HandleSerialize(ctx, in) +} + +type deserializeResponseMiddleware struct { + options *Options + operationSchema *smithy.OperationSchema + output smithy.Deserializable +} +func (*deserializeResponseMiddleware) ID() string { + return "OperationDeserializer" } -func addlegacyEndpointContextSetter(stack *middleware.Stack, o Options) error { - return stack.Initialize.Add(&legacyEndpointContextSetter{ - LegacyResolver: o.EndpointResolver, - }, middleware.Before) + +func (m *deserializeResponseMiddleware) HandleDeserialize( + ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler, +) ( + middleware.DeserializeOutput, middleware.Metadata, error, +) { + out, md, err := next.HandleDeserialize(ctx, in) + + resp, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, md, err + } + return out, md, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + // Close the response body on return. CloseResponseBody keeps the body + // open only for a successful caller-owned stream (a streaming payload + // with a nil error); on any error -- including one surfaced by an + // interceptor that runs after OperationDeserializer (after transmit or + // before deserialization) -- it closes the received body. Registering + // this before the error check below is what covers those interceptor + // aborts. Event streams close their own body in the event stream + // deserializer. + if !m.operationSchema.IsInputEventStream() && !m.operationSchema.IsOutputEventStream() { + _, isStreamingPayload := m.output.(smithy.StreamingOutput) + defer func() { + smithyhttp.CloseResponseBody(ctx, resp, isStreamingPayload, err) + }() + } + + if err != nil { + return out, md, err + } + + _, span := tracing.StartSpan(ctx, "OperationDeserializer") + endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") + + err = m.options.Protocol.DeserializeResponse(ctx, m.operationSchema, TypeRegistry, resp, m.output) + out.Result = m.output + + endTimer() + span.End() + + return out, md, err } +type noSmithyDocumentSerde = smithydocument.NoSerde + func resolveDefaultLogger(o *Options) { if o.Logger != nil { return @@ -417,8 +537,9 @@ func resolveDefaultLogger(o *Options) { o.Logger = logging.Nop{} } -func addSetLoggerMiddleware(stack *middleware.Stack, o Options) error { - return middleware.AddSetLoggerMiddleware(stack, o.Logger) +func setLoggerContext(ctx context.Context, options Options, operation string) context.Context { + _ = operation + return middleware.SetLogger(ctx, options.Logger) } func setResolvedDefaultsMode(o *Options) { @@ -439,16 +560,17 @@ func setResolvedDefaultsMode(o *Options) { // NewFromConfig returns a new client from the provided config. func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client { opts := Options{ - Region: cfg.Region, - DefaultsMode: cfg.DefaultsMode, - RuntimeEnvironment: cfg.RuntimeEnvironment, - HTTPClient: cfg.HTTPClient, - Credentials: cfg.Credentials, - APIOptions: cfg.APIOptions, - Logger: cfg.Logger, - ClientLogMode: cfg.ClientLogMode, - AppID: cfg.AppID, - AuthSchemePreference: cfg.AuthSchemePreference, + Region: cfg.Region, + DefaultsMode: cfg.DefaultsMode, + RuntimeEnvironment: cfg.RuntimeEnvironment, + HTTPClient: cfg.HTTPClient, + Credentials: cfg.Credentials, + APIOptions: cfg.APIOptions, + Logger: cfg.Logger, + ClientLogMode: cfg.ClientLogMode, + AppID: cfg.AppID, + DisableClockSkewCorrection: cfg.DisableClockSkewCorrection, + AuthSchemePreference: cfg.AuthSchemePreference, } resolveAWSRetryerProvider(cfg, &opts) resolveAWSRetryMaxAttempts(cfg, &opts) @@ -496,6 +618,12 @@ func resolveHTTPClient(o *Options) { }) } + if _, ok := buildable.GetReadTimeout(); !ok { + if timeout, ok := timeouts.GetServiceReadTimeout(ServiceID); ok { + buildable = buildable.WithReadTimeout(timeout) + } + } + o.HTTPClient = buildable } @@ -637,40 +765,14 @@ func addClientRequestID(stack *middleware.Stack) error { return stack.Build.Add(&awsmiddleware.ClientRequestID{}, middleware.After) } -func addComputeContentLength(stack *middleware.Stack) error { - return stack.Build.Add(&smithyhttp.ComputeContentLength{}, middleware.After) -} - func addRawResponseToMetadata(stack *middleware.Stack) error { return stack.Deserialize.Add(&awsmiddleware.AddRawResponse{}, middleware.Before) } -func addRecordResponseTiming(stack *middleware.Stack) error { - return stack.Deserialize.Add(&awsmiddleware.RecordResponseTiming{}, middleware.After) -} - -func addSpanRetryLoop(stack *middleware.Stack, options Options) error { - return stack.Finalize.Insert(&spanRetryLoop{options: options}, "Retry", middleware.Before) -} - -type spanRetryLoop struct { - options Options -} - -func (*spanRetryLoop) ID() string { - return "spanRetryLoop" -} - -func (m *spanRetryLoop) HandleFinalize( - ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler, -) ( - middleware.FinalizeOutput, middleware.Metadata, error, -) { - tracer := operationTracer(m.options.TracerProvider) - ctx, span := tracer.StartSpan(ctx, "RetryLoop") - defer span.End() - - return next.HandleFinalize(ctx, in) +func addRecordResponseTiming(stack *middleware.Stack, options Options) error { + return stack.Deserialize.Add(&awsmiddleware.RecordResponseTiming{ + DisableClockSkewCorrection: options.DisableClockSkewCorrection, + }, middleware.After) } func addStreamingEventsPayload(stack *middleware.Stack) error { return stack.Finalize.Add(&v4.StreamingEventsPayload{}, middleware.Before) @@ -712,17 +814,16 @@ func addIsPaginatorUserAgent(o *Options) { }) } -func addRetry(stack *middleware.Stack, o Options) error { +func addRetry(stack *middleware.Stack, o Options, c *Client) error { attempt := retry.NewAttemptMiddleware(o.Retryer, smithyhttp.RequestCloner, func(m *retry.Attempt) { m.LogAttempts = o.ClientLogMode.IsRetries() m.OperationMeter = o.MeterProvider.Meter("github.com/aws/aws-sdk-go-v2/service/ecrpublic") + m.ClientSkew = c.timeOffset + m.DisableClockSkewCorrection = o.DisableClockSkewCorrection }) if err := stack.Finalize.Insert(attempt, "ResolveAuthScheme", middleware.Before); err != nil { return err } - if err := stack.Finalize.Insert(&retry.MetricsHeader{}, attempt.ID(), middleware.After); err != nil { - return err - } return nil } @@ -756,25 +857,6 @@ func resolveUseFIPSEndpoint(cfg aws.Config, o *Options) error { return nil } -func resolveAccountID(identity smithyauth.Identity, mode aws.AccountIDEndpointMode) *string { - if mode == aws.AccountIDEndpointModeDisabled { - return nil - } - - if ca, ok := identity.(*internalauthsmithy.CredentialsAdapter); ok && ca.Credentials.AccountID != "" { - return aws.String(ca.Credentials.AccountID) - } - - return nil -} - -func addTimeOffsetBuild(stack *middleware.Stack, c *Client) error { - mw := internalmiddleware.AddTimeOffsetMiddleware{Offset: c.timeOffset} - if err := stack.Build.Add(&mw, middleware.After); err != nil { - return err - } - return stack.Deserialize.Insert(&mw, "RecordResponseTiming", middleware.Before) -} func initializeTimeOffsetResolver(c *Client) { c.timeOffset = new(atomic.Int64) } @@ -794,35 +876,21 @@ func addUserAgentRetryMode(stack *middleware.Stack, options Options) error { return nil } -type setCredentialSourceMiddleware struct { - ua *awsmiddleware.RequestUserAgent - options Options -} - -func (m setCredentialSourceMiddleware) ID() string { return "SetCredentialSourceMiddleware" } - -func (m setCredentialSourceMiddleware) HandleBuild(ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler) ( - out middleware.BuildOutput, metadata middleware.Metadata, err error, -) { - asProviderSource, ok := m.options.Credentials.(aws.CredentialProviderSource) - if !ok { - return next.HandleBuild(ctx, in) - } - providerSources := asProviderSource.ProviderSources() - for _, source := range providerSources { - m.ua.AddCredentialsSource(source) - } - return next.HandleBuild(ctx, in) -} - func addCredentialSource(stack *middleware.Stack, options Options) error { ua, err := getOrAddRequestUserAgent(stack) if err != nil { return err } - mw := setCredentialSourceMiddleware{ua: ua, options: options} - return stack.Build.Insert(&mw, "UserAgent", middleware.Before) + asProviderSource, ok := options.Credentials.(aws.CredentialProviderSource) + if !ok { + return nil + } + + for _, source := range asProviderSource.ProviderSources() { + ua.AddCredentialsSource(source) + } + return nil } func resolveTracerProvider(options *Options) { @@ -837,6 +905,18 @@ func resolveMeterProvider(options *Options) { } } +func resolveServiceMetadata(ctx context.Context, options Options, operation string) context.Context { + ctx = awsmiddleware.SetServiceID(ctx, ServiceID) + if options.Region != "" { + ctx = awsmiddleware.SetRegion(ctx, options.Region) + } + ctx = awsmiddleware.SetOperationName(ctx, operation) + if options.EndpointResolver != nil { + ctx = awsmiddleware.SetRequiresLegacyEndpoints(ctx, true) + } + return ctx +} + func addRecursionDetection(stack *middleware.Stack) error { return stack.Build.Add(&awsmiddleware.RecursionDetection{}, middleware.After) } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchCheckLayerAvailability.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchCheckLayerAvailability.go index 74dd82d5..0191da48 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchCheckLayerAvailability.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchCheckLayerAvailability.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Checks the availability of one or more image layers that are within a @@ -54,6 +53,22 @@ type BatchCheckLayerAvailabilityInput struct { noSmithyDocumentSerde } +func (v *BatchCheckLayerAvailabilityInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchCheckLayerAvailabilityRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchCheckLayerAvailabilityInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeBatchedOperationLayerDigestList(s, schemas.BatchCheckLayerAvailabilityRequest_layerDigests, v.LayerDigests) + if v.RegistryId != nil { + s.WriteString(schemas.BatchCheckLayerAvailabilityRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.BatchCheckLayerAvailabilityRequest_repositoryName, *v.RepositoryName) + } +} + type BatchCheckLayerAvailabilityOutput struct { // Any failures associated with the call. @@ -69,68 +84,42 @@ type BatchCheckLayerAvailabilityOutput struct { noSmithyDocumentSerde } +func (v *BatchCheckLayerAvailabilityOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchCheckLayerAvailabilityResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchCheckLayerAvailabilityOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeLayerFailureList(s, schemas.BatchCheckLayerAvailabilityResponse_failures, v.Failures) + serializeLayerList(s, schemas.BatchCheckLayerAvailabilityResponse_layers, v.Layers) +} +func (v *BatchCheckLayerAvailabilityOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BatchCheckLayerAvailabilityResponse, func(s *smithy.Schema) error { + switch s { + case schemas.BatchCheckLayerAvailabilityResponse_failures: + return deserializeLayerFailureList(d, schemas.BatchCheckLayerAvailabilityResponse_failures, &v.Failures) + case schemas.BatchCheckLayerAvailabilityResponse_layers: + return deserializeLayerList(d, schemas.BatchCheckLayerAvailabilityResponse_layers, &v.Layers) + } + return nil + }) +} func (c *Client) addOperationBatchCheckLayerAvailabilityMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchCheckLayerAvailability{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchCheckLayerAvailability, schemas.BatchCheckLayerAvailabilityRequest, schemas.BatchCheckLayerAvailabilityResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchCheckLayerAvailability{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchCheckLayerAvailability, schemas.BatchCheckLayerAvailabilityRequest, schemas.BatchCheckLayerAvailabilityResponse), output: &BatchCheckLayerAvailabilityOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "BatchCheckLayerAvailability"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -139,12 +128,6 @@ func (c *Client) addOperationBatchCheckLayerAvailabilityMiddlewares(stack *middl if err = addOpBatchCheckLayerAvailabilityValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchCheckLayerAvailability(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -157,22 +140,8 @@ func (c *Client) addOperationBatchCheckLayerAvailabilityMiddlewares(stack *middl if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opBatchCheckLayerAvailability(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "BatchCheckLayerAvailability", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchDeleteImage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchDeleteImage.go index ae066f6f..a4f3efe7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchDeleteImage.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_BatchDeleteImage.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes a list of specified images that are within a repository in a public @@ -56,6 +55,22 @@ type BatchDeleteImageInput struct { noSmithyDocumentSerde } +func (v *BatchDeleteImageInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchDeleteImageRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchDeleteImageInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageIdentifierList(s, schemas.BatchDeleteImageRequest_imageIds, v.ImageIds) + if v.RegistryId != nil { + s.WriteString(schemas.BatchDeleteImageRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.BatchDeleteImageRequest_repositoryName, *v.RepositoryName) + } +} + type BatchDeleteImageOutput struct { // Any failures associated with the call. @@ -70,68 +85,42 @@ type BatchDeleteImageOutput struct { noSmithyDocumentSerde } +func (v *BatchDeleteImageOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.BatchDeleteImageResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *BatchDeleteImageOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageFailureList(s, schemas.BatchDeleteImageResponse_failures, v.Failures) + serializeImageIdentifierList(s, schemas.BatchDeleteImageResponse_imageIds, v.ImageIds) +} +func (v *BatchDeleteImageOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.BatchDeleteImageResponse, func(s *smithy.Schema) error { + switch s { + case schemas.BatchDeleteImageResponse_failures: + return deserializeImageFailureList(d, schemas.BatchDeleteImageResponse_failures, &v.Failures) + case schemas.BatchDeleteImageResponse_imageIds: + return deserializeImageIdentifierList(d, schemas.BatchDeleteImageResponse_imageIds, &v.ImageIds) + } + return nil + }) +} func (c *Client) addOperationBatchDeleteImageMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpBatchDeleteImage{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchDeleteImage, schemas.BatchDeleteImageRequest, schemas.BatchDeleteImageResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpBatchDeleteImage{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.BatchDeleteImage, schemas.BatchDeleteImageRequest, schemas.BatchDeleteImageResponse), output: &BatchDeleteImageOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "BatchDeleteImage"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -140,12 +129,6 @@ func (c *Client) addOperationBatchDeleteImageMiddlewares(stack *middleware.Stack if err = addOpBatchDeleteImageValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opBatchDeleteImage(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -158,22 +141,8 @@ func (c *Client) addOperationBatchDeleteImageMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opBatchDeleteImage(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "BatchDeleteImage", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CompleteLayerUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CompleteLayerUpload.go index 6feb809c..aa5c58aa 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CompleteLayerUpload.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CompleteLayerUpload.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Informs Amazon ECR that the image layer upload is complete for a specified @@ -61,6 +60,25 @@ type CompleteLayerUploadInput struct { noSmithyDocumentSerde } +func (v *CompleteLayerUploadInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CompleteLayerUploadRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CompleteLayerUploadInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeLayerDigestList(s, schemas.CompleteLayerUploadRequest_layerDigests, v.LayerDigests) + if v.RegistryId != nil { + s.WriteString(schemas.CompleteLayerUploadRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.CompleteLayerUploadRequest_repositoryName, *v.RepositoryName) + } + if v.UploadId != nil { + s.WriteString(schemas.CompleteLayerUploadRequest_uploadId, *v.UploadId) + } +} + type CompleteLayerUploadOutput struct { // The sha256 digest of the image layer. @@ -81,68 +99,60 @@ type CompleteLayerUploadOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpCompleteLayerUpload{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCompleteLayerUpload{}, middleware.After) - if err != nil { - return err +func (v *CompleteLayerUploadOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CompleteLayerUploadResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CompleteLayerUploadOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerDigest != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_layerDigest, *v.LayerDigest) } - if err := addProtocolFinalizerMiddlewares(stack, options, "CompleteLayerUpload"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RegistryId != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_registryId, *v.RegistryId) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_repositoryName, *v.RepositoryName) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UploadId != nil { + s.WriteString(schemas.CompleteLayerUploadResponse_uploadId, *v.UploadId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *CompleteLayerUploadOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CompleteLayerUploadResponse, func(s *smithy.Schema) error { + switch s { + case schemas.CompleteLayerUploadResponse_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_layerDigest, v.LayerDigest) + case schemas.CompleteLayerUploadResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_registryId, v.RegistryId) + case schemas.CompleteLayerUploadResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_repositoryName, v.RepositoryName) + case schemas.CompleteLayerUploadResponse_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.CompleteLayerUploadResponse_uploadId, v.UploadId) + } + return nil + }) +} +func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CompleteLayerUpload, schemas.CompleteLayerUploadRequest, schemas.CompleteLayerUploadResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CompleteLayerUpload, schemas.CompleteLayerUploadRequest, schemas.CompleteLayerUploadResponse), output: &CompleteLayerUploadOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -151,12 +161,6 @@ func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.St if err = addOpCompleteLayerUploadValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCompleteLayerUpload(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -169,22 +173,8 @@ func (c *Client) addOperationCompleteLayerUploadMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opCompleteLayerUpload(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "CompleteLayerUpload", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CreateRepository.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CreateRepository.go index a0e08c60..d6994f8e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CreateRepository.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_CreateRepository.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates a repository in a public registry. For more information, see [Amazon ECR repositories] in the @@ -53,6 +52,24 @@ type CreateRepositoryInput struct { noSmithyDocumentSerde } +func (v *CreateRepositoryInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreateRepositoryRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *CreateRepositoryInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CatalogData != nil { + s.WriteStruct(schemas.CreateRepositoryRequest_catalogData) + v.CatalogData.SerializeMembers(s) + s.CloseStruct() + } + if v.RepositoryName != nil { + s.WriteString(schemas.CreateRepositoryRequest_repositoryName, *v.RepositoryName) + } + serializeTagList(s, schemas.CreateRepositoryRequest_tags, v.Tags) +} + type CreateRepositoryOutput struct { // The catalog data for a repository. This data is publicly visible in the Amazon @@ -68,68 +85,52 @@ type CreateRepositoryOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateRepository{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateRepository{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "CreateRepository"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *CreateRepositoryOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.CreateRepositoryResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *CreateRepositoryOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CatalogData != nil { + s.WriteStruct(schemas.CreateRepositoryResponse_catalogData) + v.CatalogData.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.Repository != nil { + s.WriteStruct(schemas.CreateRepositoryResponse_repository) + v.Repository.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *CreateRepositoryOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.CreateRepositoryResponse, func(s *smithy.Schema) error { + switch s { + case schemas.CreateRepositoryResponse_catalogData: + v.CatalogData = &types.RepositoryCatalogData{} + return v.CatalogData.Deserialize(d) + case schemas.CreateRepositoryResponse_repository: + v.Repository = &types.Repository{} + return v.Repository.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreateRepository, schemas.CreateRepositoryRequest, schemas.CreateRepositoryResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.CreateRepository, schemas.CreateRepositoryRequest, schemas.CreateRepositoryResponse), output: &CreateRepositoryOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -138,12 +139,6 @@ func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack if err = addOpCreateRepositoryValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateRepository(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -156,22 +151,8 @@ func (c *Client) addOperationCreateRepositoryMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opCreateRepository(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "CreateRepository", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepository.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepository.go index b744b6f5..0cd63eb5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepository.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepository.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes a repository in a public registry. If the repository contains images, @@ -49,6 +48,24 @@ type DeleteRepositoryInput struct { noSmithyDocumentSerde } +func (v *DeleteRepositoryInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteRepositoryInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Force != false { + s.WriteBool(schemas.DeleteRepositoryRequest_force, v.Force) + } + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteRepositoryRequest_repositoryName, *v.RepositoryName) + } +} + type DeleteRepositoryOutput struct { // The repository that was deleted. @@ -60,68 +77,44 @@ type DeleteRepositoryOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteRepository{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteRepository{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteRepository"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteRepositoryOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DeleteRepositoryOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Repository != nil { + s.WriteStruct(schemas.DeleteRepositoryResponse_repository) + v.Repository.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteRepositoryOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteRepositoryResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteRepositoryResponse_repository: + v.Repository = &types.Repository{} + return v.Repository.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepository, schemas.DeleteRepositoryRequest, schemas.DeleteRepositoryResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepository, schemas.DeleteRepositoryRequest, schemas.DeleteRepositoryResponse), output: &DeleteRepositoryOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -130,12 +123,6 @@ func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack if err = addOpDeleteRepositoryValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteRepository(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -148,22 +135,8 @@ func (c *Client) addOperationDeleteRepositoryMiddlewares(stack *middleware.Stack if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteRepository(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteRepository", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepositoryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepositoryPolicy.go index 8036124c..88a517fe 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepositoryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DeleteRepositoryPolicy.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes the repository policy that's associated with the specified repository. @@ -42,6 +41,21 @@ type DeleteRepositoryPolicyInput struct { noSmithyDocumentSerde } +func (v *DeleteRepositoryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DeleteRepositoryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryPolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteRepositoryPolicyRequest_repositoryName, *v.RepositoryName) + } +} + type DeleteRepositoryPolicyOutput struct { // The JSON repository policy that was deleted from the repository. @@ -59,68 +73,54 @@ type DeleteRepositoryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteRepositoryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DeleteRepositoryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DeleteRepositoryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DeleteRepositoryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.DeleteRepositoryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.DeleteRepositoryPolicyResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DeleteRepositoryPolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DeleteRepositoryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DeleteRepositoryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DeleteRepositoryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.DeleteRepositoryPolicyResponse_policyText, v.PolicyText) + case schemas.DeleteRepositoryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.DeleteRepositoryPolicyResponse_registryId, v.RegistryId) + case schemas.DeleteRepositoryPolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.DeleteRepositoryPolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepositoryPolicy, schemas.DeleteRepositoryPolicyRequest, schemas.DeleteRepositoryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DeleteRepositoryPolicy, schemas.DeleteRepositoryPolicyRequest, schemas.DeleteRepositoryPolicyResponse), output: &DeleteRepositoryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -129,12 +129,6 @@ func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware if err = addOpDeleteRepositoryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteRepositoryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -147,22 +141,8 @@ func (c *Client) addOperationDeleteRepositoryPolicyMiddlewares(stack *middleware if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opDeleteRepositoryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DeleteRepositoryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImageTags.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImageTags.go index 8f80e385..85d00824 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImageTags.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImageTags.go @@ -5,10 +5,10 @@ package ecrpublic import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns the image tag details for a repository in a public registry. @@ -59,6 +59,27 @@ type DescribeImageTagsInput struct { noSmithyDocumentSerde } +func (v *DescribeImageTagsInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageTagsRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImageTagsInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeImageTagsRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeImageTagsRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImageTagsRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImageTagsRequest_repositoryName, *v.RepositoryName) + } +} + type DescribeImageTagsOutput struct { // The image tag details for the images in the requested repository. @@ -76,68 +97,45 @@ type DescribeImageTagsOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeImageTagsMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeImageTags{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeImageTags{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeImageTags"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeImageTagsOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImageTagsResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DescribeImageTagsOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageTagDetailList(s, schemas.DescribeImageTagsResponse_imageTagDetails, v.ImageTagDetails) + if v.NextToken != nil { + s.WriteString(schemas.DescribeImageTagsResponse_nextToken, *v.NextToken) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DescribeImageTagsOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImageTagsResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImageTagsResponse_imageTagDetails: + return deserializeImageTagDetailList(d, schemas.DescribeImageTagsResponse_imageTagDetails, &v.ImageTagDetails) + case schemas.DescribeImageTagsResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeImageTagsResponse_nextToken, v.NextToken) + } + return nil + }) +} +func (c *Client) addOperationDescribeImageTagsMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageTags, schemas.DescribeImageTagsRequest, schemas.DescribeImageTagsResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImageTags, schemas.DescribeImageTagsRequest, schemas.DescribeImageTagsResponse), output: &DescribeImageTagsOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -146,12 +144,6 @@ func (c *Client) addOperationDescribeImageTagsMiddlewares(stack *middleware.Stac if err = addOpDescribeImageTagsValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeImageTags(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -164,12 +156,6 @@ func (c *Client) addOperationDescribeImageTagsMiddlewares(stack *middleware.Stac if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -275,11 +261,3 @@ type DescribeImageTagsAPIClient interface { } var _ DescribeImageTagsAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeImageTags(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeImageTags", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImages.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImages.go index cf7cd3ec..d57a1116 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImages.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeImages.go @@ -5,10 +5,10 @@ package ecrpublic import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns metadata that's related to the images in a repository in a public @@ -68,6 +68,28 @@ type DescribeImagesInput struct { noSmithyDocumentSerde } +func (v *DescribeImagesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImagesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeImagesInput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageIdentifierList(s, schemas.DescribeImagesRequest_imageIds, v.ImageIds) + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeImagesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeImagesRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeImagesRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.DescribeImagesRequest_repositoryName, *v.RepositoryName) + } +} + type DescribeImagesOutput struct { // A list of ImageDetail objects that contain data about the image. @@ -85,68 +107,45 @@ type DescribeImagesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeImages{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeImages{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeImages"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeImagesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeImagesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DescribeImagesOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeImageDetailList(s, schemas.DescribeImagesResponse_imageDetails, v.ImageDetails) + if v.NextToken != nil { + s.WriteString(schemas.DescribeImagesResponse_nextToken, *v.NextToken) } - if err = addClientRequestID(stack); err != nil { +} +func (v *DescribeImagesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeImagesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeImagesResponse_imageDetails: + return deserializeImageDetailList(d, schemas.DescribeImagesResponse_imageDetails, &v.ImageDetails) + case schemas.DescribeImagesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeImagesResponse_nextToken, v.NextToken) + } + return nil + }) +} +func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImages, schemas.DescribeImagesRequest, schemas.DescribeImagesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeImages, schemas.DescribeImagesRequest, schemas.DescribeImagesResponse), output: &DescribeImagesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -155,12 +154,6 @@ func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, if err = addOpDescribeImagesValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeImages(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -173,12 +166,6 @@ func (c *Client) addOperationDescribeImagesMiddlewares(stack *middleware.Stack, if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -284,11 +271,3 @@ type DescribeImagesAPIClient interface { } var _ DescribeImagesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeImages(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeImages", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRegistries.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRegistries.go index 3058828b..3f9e0260 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRegistries.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRegistries.go @@ -5,10 +5,10 @@ package ecrpublic import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Returns details for a public registry. @@ -52,6 +52,21 @@ type DescribeRegistriesInput struct { noSmithyDocumentSerde } +func (v *DescribeRegistriesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRegistriesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeRegistriesInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeRegistriesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeRegistriesRequest_nextToken, *v.NextToken) + } +} + type DescribeRegistriesOutput struct { // An object that contains the details for a public registry. @@ -71,79 +86,50 @@ type DescribeRegistriesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeRegistriesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeRegistries{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeRegistries{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeRegistries"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeRegistriesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRegistriesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *DescribeRegistriesOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.DescribeRegistriesResponse_nextToken, *v.NextToken) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { + serializeRegistryList(s, schemas.DescribeRegistriesResponse_registries, v.Registries) +} +func (v *DescribeRegistriesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeRegistriesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeRegistriesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeRegistriesResponse_nextToken, v.NextToken) + case schemas.DescribeRegistriesResponse_registries: + return deserializeRegistryList(d, schemas.DescribeRegistriesResponse_registries, &v.Registries) + } + return nil + }) +} +func (c *Client) addOperationDescribeRegistriesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRegistries, schemas.DescribeRegistriesRequest, schemas.DescribeRegistriesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRegistries, schemas.DescribeRegistriesRequest, schemas.DescribeRegistriesResponse), output: &DescribeRegistriesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeRegistries(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -156,12 +142,6 @@ func (c *Client) addOperationDescribeRegistriesMiddlewares(stack *middleware.Sta if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -268,11 +248,3 @@ type DescribeRegistriesAPIClient interface { } var _ DescribeRegistriesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeRegistries(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeRegistries", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRepositories.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRepositories.go index 5f1951fd..726661d7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRepositories.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_DescribeRepositories.go @@ -5,10 +5,10 @@ package ecrpublic import ( "context" "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Describes repositories that are in a public registry. @@ -63,6 +63,25 @@ type DescribeRepositoriesInput struct { noSmithyDocumentSerde } +func (v *DescribeRepositoriesInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRepositoriesRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *DescribeRepositoriesInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.MaxResults != nil { + s.WriteInt32(schemas.DescribeRepositoriesRequest_maxResults, *v.MaxResults) + } + if v.NextToken != nil { + s.WriteString(schemas.DescribeRepositoriesRequest_nextToken, *v.NextToken) + } + if v.RegistryId != nil { + s.WriteString(schemas.DescribeRepositoriesRequest_registryId, *v.RegistryId) + } + serializeRepositoryNameList(s, schemas.DescribeRepositoriesRequest_repositoryNames, v.RepositoryNames) +} + type DescribeRepositoriesOutput struct { // The nextToken value to include in a future DescribeRepositories request. When @@ -80,79 +99,50 @@ type DescribeRepositoriesOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationDescribeRepositoriesMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeRepositories{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeRepositories{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeRepositories"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *DescribeRepositoriesOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.DescribeRepositoriesResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *DescribeRepositoriesOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.NextToken != nil { + s.WriteString(schemas.DescribeRepositoriesResponse_nextToken, *v.NextToken) } - if err = addClientRequestID(stack); err != nil { + serializeRepositoryList(s, schemas.DescribeRepositoriesResponse_repositories, v.Repositories) +} +func (v *DescribeRepositoriesOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.DescribeRepositoriesResponse, func(s *smithy.Schema) error { + switch s { + case schemas.DescribeRepositoriesResponse_nextToken: + v.NextToken = new(string) + return d.ReadString(schemas.DescribeRepositoriesResponse_nextToken, v.NextToken) + case schemas.DescribeRepositoriesResponse_repositories: + return deserializeRepositoryList(d, schemas.DescribeRepositoriesResponse_repositories, &v.Repositories) + } + return nil + }) +} +func (c *Client) addOperationDescribeRepositoriesMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRepositories, schemas.DescribeRepositoriesRequest, schemas.DescribeRepositoriesResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.DescribeRepositories, schemas.DescribeRepositoriesRequest, schemas.DescribeRepositoriesResponse), output: &DescribeRepositoriesOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeRepositories(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -165,12 +155,6 @@ func (c *Client) addOperationDescribeRepositoriesMiddlewares(stack *middleware.S if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } @@ -278,11 +262,3 @@ type DescribeRepositoriesAPIClient interface { } var _ DescribeRepositoriesAPIClient = (*Client)(nil) - -func newServiceMetadataMiddleware_opDescribeRepositories(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "DescribeRepositories", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetAuthorizationToken.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetAuthorizationToken.go index 63c1bb21..a614868b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetAuthorizationToken.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetAuthorizationToken.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves an authorization token. An authorization token represents your IAM @@ -35,6 +34,15 @@ type GetAuthorizationTokenInput struct { noSmithyDocumentSerde } +func (v *GetAuthorizationTokenInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetAuthorizationTokenRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetAuthorizationTokenInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type GetAuthorizationTokenOutput struct { // An authorization token data object that corresponds to a public registry. @@ -46,79 +54,49 @@ type GetAuthorizationTokenOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetAuthorizationTokenMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetAuthorizationToken{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetAuthorizationToken{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetAuthorizationToken"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetAuthorizationTokenOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetAuthorizationTokenResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetAuthorizationTokenOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.AuthorizationData != nil { + s.WriteStruct(schemas.GetAuthorizationTokenResponse_authorizationData) + v.AuthorizationData.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetAuthorizationTokenOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetAuthorizationTokenResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetAuthorizationTokenResponse_authorizationData: + v.AuthorizationData = &types.AuthorizationData{} + return v.AuthorizationData.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationGetAuthorizationTokenMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetAuthorizationToken, schemas.GetAuthorizationTokenRequest, schemas.GetAuthorizationTokenResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetAuthorizationToken, schemas.GetAuthorizationTokenRequest, schemas.GetAuthorizationTokenResponse), output: &GetAuthorizationTokenOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetAuthorizationToken(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -131,22 +109,8 @@ func (c *Client) addOperationGetAuthorizationTokenMiddlewares(stack *middleware. if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetAuthorizationToken(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetAuthorizationToken", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRegistryCatalogData.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRegistryCatalogData.go index 9c04a28a..f86bfdcb 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRegistryCatalogData.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRegistryCatalogData.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves catalog metadata for a public registry. @@ -31,6 +30,15 @@ type GetRegistryCatalogDataInput struct { noSmithyDocumentSerde } +func (v *GetRegistryCatalogDataInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRegistryCatalogDataRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetRegistryCatalogDataInput) SerializeMembers(s smithy.ShapeSerializer) { +} + type GetRegistryCatalogDataOutput struct { // The catalog metadata for the public registry. @@ -44,79 +52,49 @@ type GetRegistryCatalogDataOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetRegistryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetRegistryCatalogData{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetRegistryCatalogData{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetRegistryCatalogData"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetRegistryCatalogDataOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRegistryCatalogDataResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetRegistryCatalogDataOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryCatalogData != nil { + s.WriteStruct(schemas.GetRegistryCatalogDataResponse_registryCatalogData) + v.RegistryCatalogData.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetRegistryCatalogDataOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetRegistryCatalogDataResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetRegistryCatalogDataResponse_registryCatalogData: + v.RegistryCatalogData = &types.RegistryCatalogData{} + return v.RegistryCatalogData.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationGetRegistryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRegistryCatalogData, schemas.GetRegistryCatalogDataRequest, schemas.GetRegistryCatalogDataResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRegistryCatalogData, schemas.GetRegistryCatalogDataRequest, schemas.GetRegistryCatalogDataResponse), output: &GetRegistryCatalogDataOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRegistryCatalogData(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -129,22 +107,8 @@ func (c *Client) addOperationGetRegistryCatalogDataMiddlewares(stack *middleware if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetRegistryCatalogData(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetRegistryCatalogData", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryCatalogData.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryCatalogData.go index 6362ceb2..b5871153 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryCatalogData.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryCatalogData.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieve catalog metadata for a repository in a public registry. This metadata @@ -43,6 +42,21 @@ type GetRepositoryCatalogDataInput struct { noSmithyDocumentSerde } +func (v *GetRepositoryCatalogDataInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRepositoryCatalogDataRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetRepositoryCatalogDataInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.GetRepositoryCatalogDataRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetRepositoryCatalogDataRequest_repositoryName, *v.RepositoryName) + } +} + type GetRepositoryCatalogDataOutput struct { // The catalog metadata for the repository. @@ -54,68 +68,44 @@ type GetRepositoryCatalogDataOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetRepositoryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetRepositoryCatalogData{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetRepositoryCatalogData{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetRepositoryCatalogData"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetRepositoryCatalogDataOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRepositoryCatalogDataResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetRepositoryCatalogDataOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CatalogData != nil { + s.WriteStruct(schemas.GetRepositoryCatalogDataResponse_catalogData) + v.CatalogData.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetRepositoryCatalogDataOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetRepositoryCatalogDataResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetRepositoryCatalogDataResponse_catalogData: + v.CatalogData = &types.RepositoryCatalogData{} + return v.CatalogData.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationGetRepositoryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRepositoryCatalogData, schemas.GetRepositoryCatalogDataRequest, schemas.GetRepositoryCatalogDataResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRepositoryCatalogData, schemas.GetRepositoryCatalogDataRequest, schemas.GetRepositoryCatalogDataResponse), output: &GetRepositoryCatalogDataOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -124,12 +114,6 @@ func (c *Client) addOperationGetRepositoryCatalogDataMiddlewares(stack *middlewa if err = addOpGetRepositoryCatalogDataValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRepositoryCatalogData(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -142,22 +126,8 @@ func (c *Client) addOperationGetRepositoryCatalogDataMiddlewares(stack *middlewa if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetRepositoryCatalogData(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetRepositoryCatalogData", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryPolicy.go index e77ba256..37365f2b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_GetRepositoryPolicy.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Retrieves the repository policy for the specified repository. @@ -41,6 +40,21 @@ type GetRepositoryPolicyInput struct { noSmithyDocumentSerde } +func (v *GetRepositoryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRepositoryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *GetRepositoryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.GetRepositoryPolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetRepositoryPolicyRequest_repositoryName, *v.RepositoryName) + } +} + type GetRepositoryPolicyOutput struct { // The repository policy text that's associated with the repository. The policy @@ -59,68 +73,54 @@ type GetRepositoryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "GetRepositoryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *GetRepositoryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.GetRepositoryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *GetRepositoryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.GetRepositoryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.GetRepositoryPolicyResponse_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.GetRepositoryPolicyResponse_repositoryName, *v.RepositoryName) } - if err = addClientRequestID(stack); err != nil { +} +func (v *GetRepositoryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.GetRepositoryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.GetRepositoryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.GetRepositoryPolicyResponse_policyText, v.PolicyText) + case schemas.GetRepositoryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.GetRepositoryPolicyResponse_registryId, v.RegistryId) + case schemas.GetRepositoryPolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.GetRepositoryPolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRepositoryPolicy, schemas.GetRepositoryPolicyRequest, schemas.GetRepositoryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.GetRepositoryPolicy, schemas.GetRepositoryPolicyRequest, schemas.GetRepositoryPolicyResponse), output: &GetRepositoryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -129,12 +129,6 @@ func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.St if err = addOpGetRepositoryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetRepositoryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -147,22 +141,8 @@ func (c *Client) addOperationGetRepositoryPolicyMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opGetRepositoryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "GetRepositoryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_InitiateLayerUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_InitiateLayerUpload.go index 462c6a1b..aaaa9016 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_InitiateLayerUpload.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_InitiateLayerUpload.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Notifies Amazon ECR that you intend to upload an image layer. @@ -49,6 +48,21 @@ type InitiateLayerUploadInput struct { noSmithyDocumentSerde } +func (v *InitiateLayerUploadInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InitiateLayerUploadRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InitiateLayerUploadInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryId != nil { + s.WriteString(schemas.InitiateLayerUploadRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.InitiateLayerUploadRequest_repositoryName, *v.RepositoryName) + } +} + type InitiateLayerUploadOutput struct { // The size, in bytes, that Amazon ECR expects future layer part uploads to be. @@ -64,68 +78,48 @@ type InitiateLayerUploadOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpInitiateLayerUpload{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpInitiateLayerUpload{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "InitiateLayerUpload"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *InitiateLayerUploadOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InitiateLayerUploadResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *InitiateLayerUploadOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PartSize != nil { + s.WriteInt64(schemas.InitiateLayerUploadResponse_partSize, *v.PartSize) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UploadId != nil { + s.WriteString(schemas.InitiateLayerUploadResponse_uploadId, *v.UploadId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *InitiateLayerUploadOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InitiateLayerUploadResponse, func(s *smithy.Schema) error { + switch s { + case schemas.InitiateLayerUploadResponse_partSize: + v.PartSize = new(int64) + return d.ReadInt64(schemas.InitiateLayerUploadResponse_partSize, v.PartSize) + case schemas.InitiateLayerUploadResponse_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.InitiateLayerUploadResponse_uploadId, v.UploadId) + } + return nil + }) +} +func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.InitiateLayerUpload, schemas.InitiateLayerUploadRequest, schemas.InitiateLayerUploadResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.InitiateLayerUpload, schemas.InitiateLayerUploadRequest, schemas.InitiateLayerUploadResponse), output: &InitiateLayerUploadOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -134,12 +128,6 @@ func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.St if err = addOpInitiateLayerUploadValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opInitiateLayerUpload(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -152,22 +140,8 @@ func (c *Client) addOperationInitiateLayerUploadMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opInitiateLayerUpload(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "InitiateLayerUpload", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_ListTagsForResource.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_ListTagsForResource.go index 3c77b0e9..7149d3ea 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_ListTagsForResource.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_ListTagsForResource.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // List the tags for an Amazon ECR Public resource. @@ -38,6 +37,18 @@ type ListTagsForResourceInput struct { noSmithyDocumentSerde } +func (v *ListTagsForResourceInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListTagsForResourceRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListTagsForResourceInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ResourceArn != nil { + s.WriteString(schemas.ListTagsForResourceRequest_resourceArn, *v.ResourceArn) + } +} + type ListTagsForResourceOutput struct { // The tags for the resource. @@ -49,68 +60,39 @@ type ListTagsForResourceOutput struct { noSmithyDocumentSerde } +func (v *ListTagsForResourceOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ListTagsForResourceResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ListTagsForResourceOutput) SerializeMembers(s smithy.ShapeSerializer) { + serializeTagList(s, schemas.ListTagsForResourceResponse_tags, v.Tags) +} +func (v *ListTagsForResourceOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ListTagsForResourceResponse, func(s *smithy.Schema) error { + switch s { + case schemas.ListTagsForResourceResponse_tags: + return deserializeTagList(d, schemas.ListTagsForResourceResponse_tags, &v.Tags) + } + return nil + }) +} func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpListTagsForResource{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListTagsForResource, schemas.ListTagsForResourceRequest, schemas.ListTagsForResourceResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListTagsForResource{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.ListTagsForResource, schemas.ListTagsForResourceRequest, schemas.ListTagsForResourceResponse), output: &ListTagsForResourceOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "ListTagsForResource"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -119,12 +101,6 @@ func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.St if err = addOpListTagsForResourceValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListTagsForResource(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -137,22 +113,8 @@ func (c *Client) addOperationListTagsForResourceMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opListTagsForResource(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "ListTagsForResource", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutImage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutImage.go index 04e832db..daaeb5ff 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutImage.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutImage.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the image manifest and tags that are associated with an @@ -69,6 +68,33 @@ type PutImageInput struct { noSmithyDocumentSerde } +func (v *PutImageInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutImageInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageDigest != nil { + s.WriteString(schemas.PutImageRequest_imageDigest, *v.ImageDigest) + } + if v.ImageManifest != nil { + s.WriteString(schemas.PutImageRequest_imageManifest, *v.ImageManifest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.PutImageRequest_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.ImageTag != nil { + s.WriteString(schemas.PutImageRequest_imageTag, *v.ImageTag) + } + if v.RegistryId != nil { + s.WriteString(schemas.PutImageRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutImageRequest_repositoryName, *v.RepositoryName) + } +} + type PutImageOutput struct { // Details of the image uploaded. @@ -80,68 +106,44 @@ type PutImageOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutImage{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutImage{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutImage"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutImageOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutImageResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutImageOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Image != nil { + s.WriteStruct(schemas.PutImageResponse_image) + v.Image.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutImageOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutImageResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutImageResponse_image: + v.Image = &types.Image{} + return v.Image.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImage, schemas.PutImageRequest, schemas.PutImageResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutImage, schemas.PutImageRequest, schemas.PutImageResponse), output: &PutImageOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -150,12 +152,6 @@ func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, option if err = addOpPutImageValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutImage(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -168,22 +164,8 @@ func (c *Client) addOperationPutImageMiddlewares(stack *middleware.Stack, option if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutImage(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutImage", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRegistryCatalogData.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRegistryCatalogData.go index 408a2a4a..b9e7e9f8 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRegistryCatalogData.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRegistryCatalogData.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Create or update the catalog data for a public registry. @@ -39,6 +38,18 @@ type PutRegistryCatalogDataInput struct { noSmithyDocumentSerde } +func (v *PutRegistryCatalogDataInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRegistryCatalogDataRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutRegistryCatalogDataInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.DisplayName != nil { + s.WriteString(schemas.PutRegistryCatalogDataRequest_displayName, *v.DisplayName) + } +} + type PutRegistryCatalogDataOutput struct { // The catalog data for the public registry. @@ -52,79 +63,49 @@ type PutRegistryCatalogDataOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutRegistryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutRegistryCatalogData{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutRegistryCatalogData{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutRegistryCatalogData"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutRegistryCatalogDataOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRegistryCatalogDataResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *PutRegistryCatalogDataOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.RegistryCatalogData != nil { + s.WriteStruct(schemas.PutRegistryCatalogDataResponse_registryCatalogData) + v.RegistryCatalogData.SerializeMembers(s) + s.CloseStruct() } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutRegistryCatalogDataOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutRegistryCatalogDataResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutRegistryCatalogDataResponse_registryCatalogData: + v.RegistryCatalogData = &types.RegistryCatalogData{} + return v.RegistryCatalogData.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutRegistryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRegistryCatalogData, schemas.PutRegistryCatalogDataRequest, schemas.PutRegistryCatalogDataResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRegistryCatalogData, schemas.PutRegistryCatalogDataRequest, schemas.PutRegistryCatalogDataResponse), output: &PutRegistryCatalogDataOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutRegistryCatalogData(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -137,22 +118,8 @@ func (c *Client) addOperationPutRegistryCatalogDataMiddlewares(stack *middleware if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutRegistryCatalogData(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutRegistryCatalogData", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRepositoryCatalogData.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRepositoryCatalogData.go index b652ea71..3ed2cb2f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRepositoryCatalogData.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_PutRepositoryCatalogData.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates or updates the catalog data for a repository in a public registry. @@ -48,6 +47,26 @@ type PutRepositoryCatalogDataInput struct { noSmithyDocumentSerde } +func (v *PutRepositoryCatalogDataInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRepositoryCatalogDataRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *PutRepositoryCatalogDataInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CatalogData != nil { + s.WriteStruct(schemas.PutRepositoryCatalogDataRequest_catalogData) + v.CatalogData.SerializeMembers(s) + s.CloseStruct() + } + if v.RegistryId != nil { + s.WriteString(schemas.PutRepositoryCatalogDataRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.PutRepositoryCatalogDataRequest_repositoryName, *v.RepositoryName) + } +} + type PutRepositoryCatalogDataOutput struct { // The catalog data for the repository. @@ -59,68 +78,44 @@ type PutRepositoryCatalogDataOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationPutRepositoryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutRepositoryCatalogData{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutRepositoryCatalogData{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "PutRepositoryCatalogData"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *PutRepositoryCatalogDataOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.PutRepositoryCatalogDataResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err +func (v *PutRepositoryCatalogDataOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.CatalogData != nil { + s.WriteStruct(schemas.PutRepositoryCatalogDataResponse_catalogData) + v.CatalogData.SerializeMembers(s) + s.CloseStruct() } - if err = addClientRequestID(stack); err != nil { +} +func (v *PutRepositoryCatalogDataOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.PutRepositoryCatalogDataResponse, func(s *smithy.Schema) error { + switch s { + case schemas.PutRepositoryCatalogDataResponse_catalogData: + v.CatalogData = &types.RepositoryCatalogData{} + return v.CatalogData.Deserialize(d) + } + return nil + }) +} +func (c *Client) addOperationPutRepositoryCatalogDataMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRepositoryCatalogData, schemas.PutRepositoryCatalogDataRequest, schemas.PutRepositoryCatalogDataResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.PutRepositoryCatalogData, schemas.PutRepositoryCatalogDataRequest, schemas.PutRepositoryCatalogDataResponse), output: &PutRepositoryCatalogDataOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -129,12 +124,6 @@ func (c *Client) addOperationPutRepositoryCatalogDataMiddlewares(stack *middlewa if err = addOpPutRepositoryCatalogDataValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutRepositoryCatalogData(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -147,22 +136,8 @@ func (c *Client) addOperationPutRepositoryCatalogDataMiddlewares(stack *middlewa if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opPutRepositoryCatalogData(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "PutRepositoryCatalogData", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_SetRepositoryPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_SetRepositoryPolicy.go index d80ac657..ebbed643 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_SetRepositoryPolicy.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_SetRepositoryPolicy.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Applies a repository policy to the specified public repository to control @@ -58,6 +57,27 @@ type SetRepositoryPolicyInput struct { noSmithyDocumentSerde } +func (v *SetRepositoryPolicyInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SetRepositoryPolicyRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *SetRepositoryPolicyInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.Force != false { + s.WriteBool(schemas.SetRepositoryPolicyRequest_force, v.Force) + } + if v.PolicyText != nil { + s.WriteString(schemas.SetRepositoryPolicyRequest_policyText, *v.PolicyText) + } + if v.RegistryId != nil { + s.WriteString(schemas.SetRepositoryPolicyRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.SetRepositoryPolicyRequest_repositoryName, *v.RepositoryName) + } +} + type SetRepositoryPolicyOutput struct { // The JSON repository policy text that's applied to the repository. @@ -75,68 +95,54 @@ type SetRepositoryPolicyOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpSetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpSetRepositoryPolicy{}, middleware.After) - if err != nil { - return err - } - if err := addProtocolFinalizerMiddlewares(stack, options, "SetRepositoryPolicy"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } +func (v *SetRepositoryPolicyOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.SetRepositoryPolicyResponse) + v.SerializeMembers(s) + s.CloseStruct() +} - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err +func (v *SetRepositoryPolicyOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.PolicyText != nil { + s.WriteString(schemas.SetRepositoryPolicyResponse_policyText, *v.PolicyText) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.RegistryId != nil { + s.WriteString(schemas.SetRepositoryPolicyResponse_registryId, *v.RegistryId) } - if err = addClientRequestID(stack); err != nil { + if v.RepositoryName != nil { + s.WriteString(schemas.SetRepositoryPolicyResponse_repositoryName, *v.RepositoryName) + } +} +func (v *SetRepositoryPolicyOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.SetRepositoryPolicyResponse, func(s *smithy.Schema) error { + switch s { + case schemas.SetRepositoryPolicyResponse_policyText: + v.PolicyText = new(string) + return d.ReadString(schemas.SetRepositoryPolicyResponse_policyText, v.PolicyText) + case schemas.SetRepositoryPolicyResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.SetRepositoryPolicyResponse_registryId, v.RegistryId) + case schemas.SetRepositoryPolicyResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.SetRepositoryPolicyResponse_repositoryName, v.RepositoryName) + } + return nil + }) +} +func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.SetRepositoryPolicy, schemas.SetRepositoryPolicyRequest, schemas.SetRepositoryPolicyResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.SetRepositoryPolicy, schemas.SetRepositoryPolicyRequest, schemas.SetRepositoryPolicyResponse), output: &SetRepositoryPolicyOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -145,12 +151,6 @@ func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.St if err = addOpSetRepositoryPolicyValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSetRepositoryPolicy(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -163,22 +163,8 @@ func (c *Client) addOperationSetRepositoryPolicyMiddlewares(stack *middleware.St if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opSetRepositoryPolicy(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "SetRepositoryPolicy", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_TagResource.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_TagResource.go index 1b509fde..f2416366 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_TagResource.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_TagResource.go @@ -4,11 +4,10 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Associates the specified tags to a resource with the specified resourceArn . If @@ -48,6 +47,19 @@ type TagResourceInput struct { noSmithyDocumentSerde } +func (v *TagResourceInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TagResourceRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TagResourceInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ResourceArn != nil { + s.WriteString(schemas.TagResourceRequest_resourceArn, *v.ResourceArn) + } + serializeTagList(s, schemas.TagResourceRequest_tags, v.Tags) +} + type TagResourceOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -55,68 +67,36 @@ type TagResourceOutput struct { noSmithyDocumentSerde } +func (v *TagResourceOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TagResourceResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TagResourceOutput) SerializeMembers(s smithy.ShapeSerializer) { +} +func (v *TagResourceOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TagResourceResponse, func(s *smithy.Schema) error { + switch s { + } + return nil + }) +} func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpTagResource{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.TagResource, schemas.TagResourceRequest, schemas.TagResourceResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpTagResource{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.TagResource, schemas.TagResourceRequest, schemas.TagResourceResponse), output: &TagResourceOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "TagResource"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -125,12 +105,6 @@ func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, opt if err = addOpTagResourceValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opTagResource(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -143,22 +117,8 @@ func (c *Client) addOperationTagResourceMiddlewares(stack *middleware.Stack, opt if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opTagResource(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "TagResource", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UntagResource.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UntagResource.go index 268dd984..4301862b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UntagResource.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UntagResource.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes specified tags from a resource. @@ -42,6 +41,19 @@ type UntagResourceInput struct { noSmithyDocumentSerde } +func (v *UntagResourceInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UntagResourceRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UntagResourceInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.ResourceArn != nil { + s.WriteString(schemas.UntagResourceRequest_resourceArn, *v.ResourceArn) + } + serializeTagKeyList(s, schemas.UntagResourceRequest_tagKeys, v.TagKeys) +} + type UntagResourceOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata @@ -49,68 +61,36 @@ type UntagResourceOutput struct { noSmithyDocumentSerde } +func (v *UntagResourceOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UntagResourceResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UntagResourceOutput) SerializeMembers(s smithy.ShapeSerializer) { +} +func (v *UntagResourceOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UntagResourceResponse, func(s *smithy.Schema) error { + switch s { + } + return nil + }) +} func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUntagResource{}, middleware.After) - if err != nil { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UntagResource, schemas.UntagResourceRequest, schemas.UntagResourceResponse)}, middleware.After); err != nil { return err } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUntagResource{}, middleware.After) - if err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UntagResource, schemas.UntagResourceRequest, schemas.UntagResourceResponse), output: &UntagResourceOutput{}}, middleware.After); err != nil { return err } - if err := addProtocolFinalizerMiddlewares(stack, options, "UntagResource"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) - } - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err - } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err - } - if err = addClientRequestID(stack); err != nil { - return err - } - if err = addComputeContentLength(stack); err != nil { - return err - } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -119,12 +99,6 @@ func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, o if err = addOpUntagResourceValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUntagResource(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -137,22 +111,8 @@ func (c *Client) addOperationUntagResourceMiddlewares(stack *middleware.Stack, o if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUntagResource(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UntagResource", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UploadLayerPart.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UploadLayerPart.go index 8c1357d5..23c0fc95 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UploadLayerPart.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/api_op_UploadLayerPart.go @@ -4,10 +4,9 @@ package ecrpublic import ( "context" - "fmt" - awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" "github.com/aws/smithy-go/middleware" - smithyhttp "github.com/aws/smithy-go/transport/http" ) // Uploads an image layer part to Amazon ECR. @@ -70,6 +69,33 @@ type UploadLayerPartInput struct { noSmithyDocumentSerde } +func (v *UploadLayerPartInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UploadLayerPartRequest) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UploadLayerPartInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerPartBlob != nil { + s.WriteBlob(schemas.UploadLayerPartRequest_layerPartBlob, v.LayerPartBlob) + } + if v.PartFirstByte != nil { + s.WriteInt64(schemas.UploadLayerPartRequest_partFirstByte, *v.PartFirstByte) + } + if v.PartLastByte != nil { + s.WriteInt64(schemas.UploadLayerPartRequest_partLastByte, *v.PartLastByte) + } + if v.RegistryId != nil { + s.WriteString(schemas.UploadLayerPartRequest_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.UploadLayerPartRequest_repositoryName, *v.RepositoryName) + } + if v.UploadId != nil { + s.WriteString(schemas.UploadLayerPartRequest_uploadId, *v.UploadId) + } +} + type UploadLayerPartOutput struct { // The integer value of the last byte that's received in the request. @@ -90,68 +116,60 @@ type UploadLayerPartOutput struct { noSmithyDocumentSerde } -func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, options Options) (err error) { - if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil { - return err - } - err = stack.Serialize.Add(&awsAwsjson11_serializeOpUploadLayerPart{}, middleware.After) - if err != nil { - return err - } - err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpUploadLayerPart{}, middleware.After) - if err != nil { - return err +func (v *UploadLayerPartOutput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UploadLayerPartResponse) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UploadLayerPartOutput) SerializeMembers(s smithy.ShapeSerializer) { + if v.LastByteReceived != nil { + s.WriteInt64(schemas.UploadLayerPartResponse_lastByteReceived, *v.LastByteReceived) } - if err := addProtocolFinalizerMiddlewares(stack, options, "UploadLayerPart"); err != nil { - return fmt.Errorf("add protocol finalizers: %v", err) + if v.RegistryId != nil { + s.WriteString(schemas.UploadLayerPartResponse_registryId, *v.RegistryId) } - - if err = addlegacyEndpointContextSetter(stack, options); err != nil { - return err + if v.RepositoryName != nil { + s.WriteString(schemas.UploadLayerPartResponse_repositoryName, *v.RepositoryName) } - if err = addSetLoggerMiddleware(stack, options); err != nil { - return err + if v.UploadId != nil { + s.WriteString(schemas.UploadLayerPartResponse_uploadId, *v.UploadId) } - if err = addClientRequestID(stack); err != nil { +} +func (v *UploadLayerPartOutput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UploadLayerPartResponse, func(s *smithy.Schema) error { + switch s { + case schemas.UploadLayerPartResponse_lastByteReceived: + v.LastByteReceived = new(int64) + return d.ReadInt64(schemas.UploadLayerPartResponse_lastByteReceived, v.LastByteReceived) + case schemas.UploadLayerPartResponse_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.UploadLayerPartResponse_registryId, v.RegistryId) + case schemas.UploadLayerPartResponse_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.UploadLayerPartResponse_repositoryName, v.RepositoryName) + case schemas.UploadLayerPartResponse_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.UploadLayerPartResponse_uploadId, v.UploadId) + } + return nil + }) +} +func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, options Options) (err error) { + if err := stack.Serialize.Add(&serializeRequestMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UploadLayerPart, schemas.UploadLayerPartRequest, schemas.UploadLayerPartResponse)}, middleware.After); err != nil { return err } - if err = addComputeContentLength(stack); err != nil { + if err := stack.Deserialize.Add(&deserializeResponseMiddleware{options: &options, operationSchema: smithy.NewOperationSchema(schemas.UploadLayerPart, schemas.UploadLayerPartRequest, schemas.UploadLayerPartResponse), output: &UploadLayerPartOutput{}}, middleware.After); err != nil { return err } + if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = addComputePayloadSHA256(stack); err != nil { return err } - if err = addRetry(stack, options); err != nil { - return err - } - if err = addRawResponseToMetadata(stack); err != nil { - return err - } - if err = addRecordResponseTiming(stack); err != nil { - return err - } - if err = addSpanRetryLoop(stack, options); err != nil { - return err - } - if err = addClientUserAgent(stack, options); err != nil { - return err - } - if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { - return err - } - if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil { - return err - } - if err = addTimeOffsetBuild(stack, c); err != nil { - return err - } - if err = addUserAgentRetryMode(stack, options); err != nil { + if err = addRecordResponseTiming(stack, options); err != nil { return err } if err = addCredentialSource(stack, options); err != nil { @@ -160,12 +178,6 @@ func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, if err = addOpUploadLayerPartValidationMiddleware(stack); err != nil { return err } - if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUploadLayerPart(options.Region), middleware.Before); err != nil { - return err - } - if err = addRecursionDetection(stack); err != nil { - return err - } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } @@ -178,22 +190,8 @@ func (c *Client) addOperationUploadLayerPartMiddlewares(stack *middleware.Stack, if err = addDisableHTTPSMiddleware(stack, options); err != nil { return err } - if err = addInterceptBeforeRetryLoop(stack, options); err != nil { - return err - } - if err = addInterceptAttempt(stack, options); err != nil { - return err - } if err = addInterceptors(stack, options); err != nil { return err } return nil } - -func newServiceMetadataMiddleware_opUploadLayerPart(region string) *awsmiddleware.RegisterServiceMetadata { - return &awsmiddleware.RegisterServiceMetadata{ - Region: region, - ServiceID: ServiceID, - OperationName: "UploadLayerPart", - } -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/auth.go index 10424d59..5570fc5a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/auth.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/auth.go @@ -184,7 +184,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) } for _, scheme := range m.options.AuthSchemes { - if scheme.SchemeID() != option.SchemeID { + if !matchSchemeID(scheme.SchemeID(), option.SchemeID) { continue } @@ -197,6 +197,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) return nil, false } +func matchSchemeID(registered, option string) bool { + if registered == option { + return true + } + if i := strings.LastIndex(registered, "#"); i != -1 { + return registered[i+1:] == option + } + return false +} + func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option { byPriority := make([]*smithyauth.Option, 0, len(options)) for _, prefName := range preferred { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/common_serde.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/common_serde.go new file mode 100644 index 00000000..c6fcab09 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/common_serde.go @@ -0,0 +1,453 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ecrpublic + +import ( + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" +) + +func serializeArchitectureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeBatchedOperationLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeImageDetailList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageDetail) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageIdentifierList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageIdentifier) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagDetailList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.ImageTagDetail) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.LayerFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeLayerList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Layer) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeOperatingSystemList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRegistryAliasList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.RegistryAlias) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRegistryList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Registry) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Repository) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryNameList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeTagKeyList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []types.Tag) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func deserializeArchitectureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeBatchedOperationLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageDetailList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageDetail) error { + *v = make([]types.ImageDetail, 0) + var vv types.ImageDetail + return smithy.ReadList(d, s, func() error { + vv = types.ImageDetail{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageFailure) error { + *v = make([]types.ImageFailure, 0) + var vv types.ImageFailure + return smithy.ReadList(d, s, func() error { + vv = types.ImageFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageIdentifierList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageIdentifier) error { + *v = make([]types.ImageIdentifier, 0) + var vv types.ImageIdentifier + return smithy.ReadList(d, s, func() error { + vv = types.ImageIdentifier{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagDetailList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.ImageTagDetail) error { + *v = make([]types.ImageTagDetail, 0) + var vv types.ImageTagDetail + return smithy.ReadList(d, s, func() error { + vv = types.ImageTagDetail{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.LayerFailure) error { + *v = make([]types.LayerFailure, 0) + var vv types.LayerFailure + return smithy.ReadList(d, s, func() error { + vv = types.LayerFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Layer) error { + *v = make([]types.Layer, 0) + var vv types.Layer + return smithy.ReadList(d, s, func() error { + vv = types.Layer{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeOperatingSystemList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRegistryAliasList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.RegistryAlias) error { + *v = make([]types.RegistryAlias, 0) + var vv types.RegistryAlias + return smithy.ReadList(d, s, func() error { + vv = types.RegistryAlias{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRegistryList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Registry) error { + *v = make([]types.Registry, 0) + var vv types.Registry + return smithy.ReadList(d, s, func() error { + vv = types.Registry{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Repository) error { + *v = make([]types.Repository, 0) + var vv types.Repository + return smithy.ReadList(d, s, func() error { + vv = types.Repository{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryNameList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagKeyList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]types.Tag) error { + *v = make([]types.Tag, 0) + var vv types.Tag + return smithy.ReadList(d, s, func() error { + vv = types.Tag{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/deserializers.go deleted file mode 100644 index cb064151..00000000 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/deserializers.go +++ /dev/null @@ -1,7209 +0,0 @@ -// Code generated by smithy-go-codegen DO NOT EDIT. - -package ecrpublic - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "github.com/aws/aws-sdk-go-v2/aws/protocol/restjson" - "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" - smithy "github.com/aws/smithy-go" - smithyio "github.com/aws/smithy-go/io" - "github.com/aws/smithy-go/middleware" - "github.com/aws/smithy-go/ptr" - smithytime "github.com/aws/smithy-go/time" - "github.com/aws/smithy-go/tracing" - smithyhttp "github.com/aws/smithy-go/transport/http" - "io" - "strings" -) - -type awsAwsjson11_deserializeOpBatchCheckLayerAvailability struct { -} - -func (*awsAwsjson11_deserializeOpBatchCheckLayerAvailability) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpBatchCheckLayerAvailability) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorBatchCheckLayerAvailability(response, &metadata) - } - output := &BatchCheckLayerAvailabilityOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentBatchCheckLayerAvailabilityOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorBatchCheckLayerAvailability(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RegistryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpBatchDeleteImage struct { -} - -func (*awsAwsjson11_deserializeOpBatchDeleteImage) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpBatchDeleteImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorBatchDeleteImage(response, &metadata) - } - output := &BatchDeleteImageOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentBatchDeleteImageOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorBatchDeleteImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpCompleteLayerUpload struct { -} - -func (*awsAwsjson11_deserializeOpCompleteLayerUpload) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpCompleteLayerUpload) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCompleteLayerUpload(response, &metadata) - } - output := &CompleteLayerUploadOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentCompleteLayerUploadOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorCompleteLayerUpload(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("EmptyUploadException", errorCode): - return awsAwsjson11_deserializeErrorEmptyUploadException(response, errorBody) - - case strings.EqualFold("InvalidLayerException", errorCode): - return awsAwsjson11_deserializeErrorInvalidLayerException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LayerAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorLayerAlreadyExistsException(response, errorBody) - - case strings.EqualFold("LayerPartTooSmallException", errorCode): - return awsAwsjson11_deserializeErrorLayerPartTooSmallException(response, errorBody) - - case strings.EqualFold("RegistryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - case strings.EqualFold("UploadNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorUploadNotFoundException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpCreateRepository struct { -} - -func (*awsAwsjson11_deserializeOpCreateRepository) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpCreateRepository) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorCreateRepository(response, &metadata) - } - output := &CreateRepositoryOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentCreateRepositoryOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorCreateRepository(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("InvalidTagParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidTagParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("RepositoryAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryAlreadyExistsException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TooManyTagsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteRepository struct { -} - -func (*awsAwsjson11_deserializeOpDeleteRepository) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteRepository) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteRepository(response, &metadata) - } - output := &DeleteRepositoryOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteRepositoryOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteRepository(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotEmptyException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotEmptyException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDeleteRepositoryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpDeleteRepositoryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDeleteRepositoryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDeleteRepositoryPolicy(response, &metadata) - } - output := &DeleteRepositoryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDeleteRepositoryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDeleteRepositoryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryPolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryPolicyNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeImages struct { -} - -func (*awsAwsjson11_deserializeOpDescribeImages) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeImages) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeImages(response, &metadata) - } - output := &DescribeImagesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeImagesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeImages(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorImageNotFoundException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeImageTags struct { -} - -func (*awsAwsjson11_deserializeOpDescribeImageTags) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeImageTags) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeImageTags(response, &metadata) - } - output := &DescribeImageTagsOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeImageTagsOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeImageTags(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeRegistries struct { -} - -func (*awsAwsjson11_deserializeOpDescribeRegistries) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeRegistries) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeRegistries(response, &metadata) - } - output := &DescribeRegistriesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeRegistriesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeRegistries(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpDescribeRepositories struct { -} - -func (*awsAwsjson11_deserializeOpDescribeRepositories) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpDescribeRepositories) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorDescribeRepositories(response, &metadata) - } - output := &DescribeRepositoriesOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentDescribeRepositoriesOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorDescribeRepositories(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetAuthorizationToken struct { -} - -func (*awsAwsjson11_deserializeOpGetAuthorizationToken) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetAuthorizationToken) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetAuthorizationToken(response, &metadata) - } - output := &GetAuthorizationTokenOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetAuthorizationTokenOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetAuthorizationToken(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetRegistryCatalogData struct { -} - -func (*awsAwsjson11_deserializeOpGetRegistryCatalogData) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetRegistryCatalogData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetRegistryCatalogData(response, &metadata) - } - output := &GetRegistryCatalogDataOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetRegistryCatalogDataOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetRegistryCatalogData(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetRepositoryCatalogData struct { -} - -func (*awsAwsjson11_deserializeOpGetRepositoryCatalogData) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetRepositoryCatalogData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetRepositoryCatalogData(response, &metadata) - } - output := &GetRepositoryCatalogDataOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetRepositoryCatalogDataOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetRepositoryCatalogData(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryCatalogDataNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryCatalogDataNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpGetRepositoryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpGetRepositoryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpGetRepositoryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorGetRepositoryPolicy(response, &metadata) - } - output := &GetRepositoryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentGetRepositoryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorGetRepositoryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryPolicyNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryPolicyNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpInitiateLayerUpload struct { -} - -func (*awsAwsjson11_deserializeOpInitiateLayerUpload) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpInitiateLayerUpload) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorInitiateLayerUpload(response, &metadata) - } - output := &InitiateLayerUploadOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentInitiateLayerUploadOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorInitiateLayerUpload(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RegistryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpListTagsForResource struct { -} - -func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) - } - output := &ListTagsForResourceOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutImage struct { -} - -func (*awsAwsjson11_deserializeOpPutImage) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutImage) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutImage(response, &metadata) - } - output := &PutImageOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutImageOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutImage(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("ImageAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorImageAlreadyExistsException(response, errorBody) - - case strings.EqualFold("ImageDigestDoesNotMatchException", errorCode): - return awsAwsjson11_deserializeErrorImageDigestDoesNotMatchException(response, errorBody) - - case strings.EqualFold("ImageTagAlreadyExistsException", errorCode): - return awsAwsjson11_deserializeErrorImageTagAlreadyExistsException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LayersNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorLayersNotFoundException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("ReferencedImagesNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorReferencedImagesNotFoundException(response, errorBody) - - case strings.EqualFold("RegistryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutRegistryCatalogData struct { -} - -func (*awsAwsjson11_deserializeOpPutRegistryCatalogData) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutRegistryCatalogData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutRegistryCatalogData(response, &metadata) - } - output := &PutRegistryCatalogDataOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutRegistryCatalogDataOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutRegistryCatalogData(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpPutRepositoryCatalogData struct { -} - -func (*awsAwsjson11_deserializeOpPutRepositoryCatalogData) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpPutRepositoryCatalogData) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorPutRepositoryCatalogData(response, &metadata) - } - output := &PutRepositoryCatalogDataOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentPutRepositoryCatalogDataOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorPutRepositoryCatalogData(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpSetRepositoryPolicy struct { -} - -func (*awsAwsjson11_deserializeOpSetRepositoryPolicy) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpSetRepositoryPolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorSetRepositoryPolicy(response, &metadata) - } - output := &SetRepositoryPolicyOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentSetRepositoryPolicyOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorSetRepositoryPolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpTagResource struct { -} - -func (*awsAwsjson11_deserializeOpTagResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorTagResource(response, &metadata) - } - output := &TagResourceOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentTagResourceOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("InvalidTagParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidTagParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TooManyTagsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUntagResource struct { -} - -func (*awsAwsjson11_deserializeOpUntagResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUntagResource(response, &metadata) - } - output := &UntagResourceOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUntagResourceOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("InvalidTagParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidTagParameterException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("TooManyTagsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsAwsjson11_deserializeOpUploadLayerPart struct { -} - -func (*awsAwsjson11_deserializeOpUploadLayerPart) ID() string { - return "OperationDeserializer" -} - -func (m *awsAwsjson11_deserializeOpUploadLayerPart) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } - - _, span := tracing.StartSpan(ctx, "OperationDeserializer") - endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") - defer endTimer() - defer span.End() - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorUploadLayerPart(response, &metadata) - } - output := &UploadLayerPartOutput{} - out.Result = output - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(response.Body, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - err = awsAwsjson11_deserializeOpDocumentUploadLayerPartOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return out, metadata, err - } - - return out, metadata, err -} - -func awsAwsjson11_deserializeOpErrorUploadLayerPart(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - headerCode := response.Header.Get("X-Amzn-ErrorType") - - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - bodyInfo, err := getProtocolErrorInfo(decoder) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - if typ, ok := resolveProtocolErrorType(headerCode, bodyInfo); ok { - errorCode = restjson.SanitizeErrorCode(typ) - } - if len(bodyInfo.Message) != 0 { - errorMessage = bodyInfo.Message - } - switch { - case strings.EqualFold("InvalidLayerPartException", errorCode): - return awsAwsjson11_deserializeErrorInvalidLayerPartException(response, errorBody) - - case strings.EqualFold("InvalidParameterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) - - case strings.EqualFold("LimitExceededException", errorCode): - return awsAwsjson11_deserializeErrorLimitExceededException(response, errorBody) - - case strings.EqualFold("RegistryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRegistryNotFoundException(response, errorBody) - - case strings.EqualFold("RepositoryNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorRepositoryNotFoundException(response, errorBody) - - case strings.EqualFold("ServerException", errorCode): - return awsAwsjson11_deserializeErrorServerException(response, errorBody) - - case strings.EqualFold("UnsupportedCommandException", errorCode): - return awsAwsjson11_deserializeErrorUnsupportedCommandException(response, errorBody) - - case strings.EqualFold("UploadNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorUploadNotFoundException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -func awsAwsjson11_deserializeErrorEmptyUploadException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.EmptyUploadException{} - err := awsAwsjson11_deserializeDocumentEmptyUploadException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentImageAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageDigestDoesNotMatchException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageDigestDoesNotMatchException{} - err := awsAwsjson11_deserializeDocumentImageDigestDoesNotMatchException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageNotFoundException{} - err := awsAwsjson11_deserializeDocumentImageNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorImageTagAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ImageTagAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentImageTagAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidLayerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidLayerException{} - err := awsAwsjson11_deserializeDocumentInvalidLayerException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidLayerPartException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidLayerPartException{} - err := awsAwsjson11_deserializeDocumentInvalidLayerPartException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidParameterException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidParameterException{} - err := awsAwsjson11_deserializeDocumentInvalidParameterException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorInvalidTagParameterException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.InvalidTagParameterException{} - err := awsAwsjson11_deserializeDocumentInvalidTagParameterException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayerAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayerAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentLayerAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayerPartTooSmallException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayerPartTooSmallException{} - err := awsAwsjson11_deserializeDocumentLayerPartTooSmallException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLayersNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LayersNotFoundException{} - err := awsAwsjson11_deserializeDocumentLayersNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorLimitExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.LimitExceededException{} - err := awsAwsjson11_deserializeDocumentLimitExceededException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorReferencedImagesNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ReferencedImagesNotFoundException{} - err := awsAwsjson11_deserializeDocumentReferencedImagesNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRegistryNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RegistryNotFoundException{} - err := awsAwsjson11_deserializeDocumentRegistryNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryAlreadyExistsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryAlreadyExistsException{} - err := awsAwsjson11_deserializeDocumentRepositoryAlreadyExistsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryCatalogDataNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryCatalogDataNotFoundException{} - err := awsAwsjson11_deserializeDocumentRepositoryCatalogDataNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryNotEmptyException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryNotEmptyException{} - err := awsAwsjson11_deserializeDocumentRepositoryNotEmptyException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryNotFoundException{} - err := awsAwsjson11_deserializeDocumentRepositoryNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorRepositoryPolicyNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.RepositoryPolicyNotFoundException{} - err := awsAwsjson11_deserializeDocumentRepositoryPolicyNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.ServerException{} - err := awsAwsjson11_deserializeDocumentServerException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorTooManyTagsException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.TooManyTagsException{} - err := awsAwsjson11_deserializeDocumentTooManyTagsException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUnsupportedCommandException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UnsupportedCommandException{} - err := awsAwsjson11_deserializeDocumentUnsupportedCommandException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeErrorUploadNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) - - body := io.TeeReader(errorBody, ringBuffer) - decoder := json.NewDecoder(body) - decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - output := &types.UploadNotFoundException{} - err := awsAwsjson11_deserializeDocumentUploadNotFoundException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), - } - return err - } - - errorBody.Seek(0, io.SeekStart) - return output -} - -func awsAwsjson11_deserializeDocumentArchitectureList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Architecture to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentAuthorizationData(v **types.AuthorizationData, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.AuthorizationData - if *v == nil { - sv = &types.AuthorizationData{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "authorizationToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Base64 to be of type string, got %T instead", value) - } - sv.AuthorizationToken = ptr.String(jtv) - } - - case "expiresAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ExpiresAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected ExpirationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentEmptyUploadException(v **types.EmptyUploadException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.EmptyUploadException - if *v == nil { - sv = &types.EmptyUploadException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImage(v **types.Image, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Image - if *v == nil { - sv = &types.Image{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - case "imageManifest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageManifest to be of type string, got %T instead", value) - } - sv.ImageManifest = ptr.String(jtv) - } - - case "imageManifestMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ImageManifestMediaType = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryIdOrAlias to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageAlreadyExistsException(v **types.ImageAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageAlreadyExistsException - if *v == nil { - sv = &types.ImageAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageDetail(v **types.ImageDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageDetail - if *v == nil { - sv = &types.ImageDetail{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "artifactMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ArtifactMediaType = ptr.String(jtv) - } - - case "imageDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageDigest = ptr.String(jtv) - } - - case "imageManifestMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ImageManifestMediaType = ptr.String(jtv) - } - - case "imagePushedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ImagePushedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected PushTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "imageSizeInBytes": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ImageSizeInBytes to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.ImageSizeInBytes = ptr.Int64(i64) - } - - case "imageTags": - if err := awsAwsjson11_deserializeDocumentImageTagList(&sv.ImageTags, value); err != nil { - return err - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageDetailList(v *[]types.ImageDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageDetail - if *v == nil { - cv = []types.ImageDetail{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageDetail - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageDetail(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageDigestDoesNotMatchException(v **types.ImageDigestDoesNotMatchException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageDigestDoesNotMatchException - if *v == nil { - sv = &types.ImageDigestDoesNotMatchException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageFailure(v **types.ImageFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageFailure - if *v == nil { - sv = &types.ImageFailure{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageFailureCode to be of type string, got %T instead", value) - } - sv.FailureCode = types.ImageFailureCode(jtv) - } - - case "failureReason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageFailureReason to be of type string, got %T instead", value) - } - sv.FailureReason = ptr.String(jtv) - } - - case "imageId": - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&sv.ImageId, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageFailureList(v *[]types.ImageFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageFailure - if *v == nil { - cv = []types.ImageFailure{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageFailure - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageFailure(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageIdentifier(v **types.ImageIdentifier, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageIdentifier - if *v == nil { - sv = &types.ImageIdentifier{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageDigest = ptr.String(jtv) - } - - case "imageTag": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTag to be of type string, got %T instead", value) - } - sv.ImageTag = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageIdentifierList(v *[]types.ImageIdentifier, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageIdentifier - if *v == nil { - cv = []types.ImageIdentifier{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageIdentifier - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageIdentifier(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageNotFoundException(v **types.ImageNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageNotFoundException - if *v == nil { - sv = &types.ImageNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagAlreadyExistsException(v **types.ImageTagAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageTagAlreadyExistsException - if *v == nil { - sv = &types.ImageTagAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagDetail(v **types.ImageTagDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ImageTagDetail - if *v == nil { - sv = &types.ImageTagDetail{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "imageDetail": - if err := awsAwsjson11_deserializeDocumentReferencedImageDetail(&sv.ImageDetail, value); err != nil { - return err - } - - case "imageTag": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTag to be of type string, got %T instead", value) - } - sv.ImageTag = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagDetailList(v *[]types.ImageTagDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.ImageTagDetail - if *v == nil { - cv = []types.ImageTagDetail{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.ImageTagDetail - destAddr := &col - if err := awsAwsjson11_deserializeDocumentImageTagDetail(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentImageTagList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageTag to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidLayerException(v **types.InvalidLayerException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidLayerException - if *v == nil { - sv = &types.InvalidLayerException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidLayerPartException(v **types.InvalidLayerPartException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidLayerPartException - if *v == nil { - sv = &types.InvalidLayerPartException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lastValidByteReceived": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PartSize to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.LastValidByteReceived = ptr.Int64(i64) - } - - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidParameterException(v **types.InvalidParameterException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidParameterException - if *v == nil { - sv = &types.InvalidParameterException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentInvalidTagParameterException(v **types.InvalidTagParameterException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.InvalidTagParameterException - if *v == nil { - sv = &types.InvalidTagParameterException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayer(v **types.Layer, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Layer - if *v == nil { - sv = &types.Layer{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "layerAvailability": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerAvailability to be of type string, got %T instead", value) - } - sv.LayerAvailability = types.LayerAvailability(jtv) - } - - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - case "layerSize": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected LayerSizeInBytes to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.LayerSize = ptr.Int64(i64) - } - - case "mediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.MediaType = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerAlreadyExistsException(v **types.LayerAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerAlreadyExistsException - if *v == nil { - sv = &types.LayerAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerFailure(v **types.LayerFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerFailure - if *v == nil { - sv = &types.LayerFailure{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failureCode": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerFailureCode to be of type string, got %T instead", value) - } - sv.FailureCode = types.LayerFailureCode(jtv) - } - - case "failureReason": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerFailureReason to be of type string, got %T instead", value) - } - sv.FailureReason = ptr.String(jtv) - } - - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected BatchedOperationLayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerFailureList(v *[]types.LayerFailure, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.LayerFailure - if *v == nil { - cv = []types.LayerFailure{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.LayerFailure - destAddr := &col - if err := awsAwsjson11_deserializeDocumentLayerFailure(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerList(v *[]types.Layer, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Layer - if *v == nil { - cv = []types.Layer{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Layer - destAddr := &col - if err := awsAwsjson11_deserializeDocumentLayer(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentLayerPartTooSmallException(v **types.LayerPartTooSmallException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayerPartTooSmallException - if *v == nil { - sv = &types.LayerPartTooSmallException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLayersNotFoundException(v **types.LayersNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LayersNotFoundException - if *v == nil { - sv = &types.LayersNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentLimitExceededException(v **types.LimitExceededException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.LimitExceededException - if *v == nil { - sv = &types.LimitExceededException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentOperatingSystemList(v *[]string, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []string - if *v == nil { - cv = []string{} - } else { - cv = *v - } - - for _, value := range shape { - var col string - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected OperatingSystem to be of type string, got %T instead", value) - } - col = jtv - } - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentReferencedImageDetail(v **types.ReferencedImageDetail, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ReferencedImageDetail - if *v == nil { - sv = &types.ReferencedImageDetail{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "artifactMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ArtifactMediaType = ptr.String(jtv) - } - - case "imageDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ImageDigest to be of type string, got %T instead", value) - } - sv.ImageDigest = ptr.String(jtv) - } - - case "imageManifestMediaType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected MediaType to be of type string, got %T instead", value) - } - sv.ImageManifestMediaType = ptr.String(jtv) - } - - case "imagePushedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.ImagePushedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected PushTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "imageSizeInBytes": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected ImageSizeInBytes to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.ImageSizeInBytes = ptr.Int64(i64) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentReferencedImagesNotFoundException(v **types.ReferencedImagesNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ReferencedImagesNotFoundException - if *v == nil { - sv = &types.ReferencedImagesNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistry(v **types.Registry, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Registry - if *v == nil { - sv = &types.Registry{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "aliases": - if err := awsAwsjson11_deserializeDocumentRegistryAliasList(&sv.Aliases, value); err != nil { - return err - } - - case "registryArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Arn to be of type string, got %T instead", value) - } - sv.RegistryArn = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "registryUri": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.RegistryUri = ptr.String(jtv) - } - - case "verified": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected RegistryVerified to be of type *bool, got %T instead", value) - } - sv.Verified = ptr.Bool(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryAlias(v **types.RegistryAlias, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RegistryAlias - if *v == nil { - sv = &types.RegistryAlias{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "defaultRegistryAlias": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected DefaultRegistryAliasFlag to be of type *bool, got %T instead", value) - } - sv.DefaultRegistryAlias = jtv - } - - case "name": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryAliasName to be of type string, got %T instead", value) - } - sv.Name = ptr.String(jtv) - } - - case "primaryRegistryAlias": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected PrimaryRegistryAliasFlag to be of type *bool, got %T instead", value) - } - sv.PrimaryRegistryAlias = jtv - } - - case "status": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryAliasStatus to be of type string, got %T instead", value) - } - sv.Status = types.RegistryAliasStatus(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryAliasList(v *[]types.RegistryAlias, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.RegistryAlias - if *v == nil { - cv = []types.RegistryAlias{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.RegistryAlias - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRegistryAlias(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryCatalogData(v **types.RegistryCatalogData, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RegistryCatalogData - if *v == nil { - sv = &types.RegistryCatalogData{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "displayName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryDisplayName to be of type string, got %T instead", value) - } - sv.DisplayName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryList(v *[]types.Registry, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Registry - if *v == nil { - cv = []types.Registry{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Registry - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRegistry(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRegistryNotFoundException(v **types.RegistryNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RegistryNotFoundException - if *v == nil { - sv = &types.RegistryNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepository(v **types.Repository, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Repository - if *v == nil { - sv = &types.Repository{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "createdAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected CreationTimestamp to be a JSON Number, got %T instead", value) - - } - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Arn to be of type string, got %T instead", value) - } - sv.RepositoryArn = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "repositoryUri": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected Url to be of type string, got %T instead", value) - } - sv.RepositoryUri = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryAlreadyExistsException(v **types.RepositoryAlreadyExistsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryAlreadyExistsException - if *v == nil { - sv = &types.RepositoryAlreadyExistsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryCatalogData(v **types.RepositoryCatalogData, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryCatalogData - if *v == nil { - sv = &types.RepositoryCatalogData{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "aboutText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AboutText to be of type string, got %T instead", value) - } - sv.AboutText = ptr.String(jtv) - } - - case "architectures": - if err := awsAwsjson11_deserializeDocumentArchitectureList(&sv.Architectures, value); err != nil { - return err - } - - case "description": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryDescription to be of type string, got %T instead", value) - } - sv.Description = ptr.String(jtv) - } - - case "logoUrl": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ResourceUrl to be of type string, got %T instead", value) - } - sv.LogoUrl = ptr.String(jtv) - } - - case "marketplaceCertified": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected MarketplaceCertified to be of type *bool, got %T instead", value) - } - sv.MarketplaceCertified = ptr.Bool(jtv) - } - - case "operatingSystems": - if err := awsAwsjson11_deserializeDocumentOperatingSystemList(&sv.OperatingSystems, value); err != nil { - return err - } - - case "usageText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UsageText to be of type string, got %T instead", value) - } - sv.UsageText = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryCatalogDataNotFoundException(v **types.RepositoryCatalogDataNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryCatalogDataNotFoundException - if *v == nil { - sv = &types.RepositoryCatalogDataNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryList(v *[]types.Repository, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Repository - if *v == nil { - cv = []types.Repository{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Repository - destAddr := &col - if err := awsAwsjson11_deserializeDocumentRepository(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryNotEmptyException(v **types.RepositoryNotEmptyException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryNotEmptyException - if *v == nil { - sv = &types.RepositoryNotEmptyException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryNotFoundException(v **types.RepositoryNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryNotFoundException - if *v == nil { - sv = &types.RepositoryNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentRepositoryPolicyNotFoundException(v **types.RepositoryPolicyNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.RepositoryPolicyNotFoundException - if *v == nil { - sv = &types.RepositoryPolicyNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentServerException(v **types.ServerException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.ServerException - if *v == nil { - sv = &types.ServerException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTag(v **types.Tag, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.Tag - if *v == nil { - sv = &types.Tag{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "Key": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TagKey to be of type string, got %T instead", value) - } - sv.Key = ptr.String(jtv) - } - - case "Value": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TagValue to be of type string, got %T instead", value) - } - sv.Value = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentTagList(v *[]types.Tag, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.([]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var cv []types.Tag - if *v == nil { - cv = []types.Tag{} - } else { - cv = *v - } - - for _, value := range shape { - var col types.Tag - destAddr := &col - if err := awsAwsjson11_deserializeDocumentTag(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) - - } - *v = cv - return nil -} - -func awsAwsjson11_deserializeDocumentTooManyTagsException(v **types.TooManyTagsException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.TooManyTagsException - if *v == nil { - sv = &types.TooManyTagsException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUnsupportedCommandException(v **types.UnsupportedCommandException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UnsupportedCommandException - if *v == nil { - sv = &types.UnsupportedCommandException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeDocumentUploadNotFoundException(v **types.UploadNotFoundException, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *types.UploadNotFoundException - if *v == nil { - sv = &types.UploadNotFoundException{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "message", "Message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExceptionMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentBatchCheckLayerAvailabilityOutput(v **BatchCheckLayerAvailabilityOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *BatchCheckLayerAvailabilityOutput - if *v == nil { - sv = &BatchCheckLayerAvailabilityOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failures": - if err := awsAwsjson11_deserializeDocumentLayerFailureList(&sv.Failures, value); err != nil { - return err - } - - case "layers": - if err := awsAwsjson11_deserializeDocumentLayerList(&sv.Layers, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentBatchDeleteImageOutput(v **BatchDeleteImageOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *BatchDeleteImageOutput - if *v == nil { - sv = &BatchDeleteImageOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "failures": - if err := awsAwsjson11_deserializeDocumentImageFailureList(&sv.Failures, value); err != nil { - return err - } - - case "imageIds": - if err := awsAwsjson11_deserializeDocumentImageIdentifierList(&sv.ImageIds, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentCompleteLayerUploadOutput(v **CompleteLayerUploadOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *CompleteLayerUploadOutput - if *v == nil { - sv = &CompleteLayerUploadOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "layerDigest": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected LayerDigest to be of type string, got %T instead", value) - } - sv.LayerDigest = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentCreateRepositoryOutput(v **CreateRepositoryOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *CreateRepositoryOutput - if *v == nil { - sv = &CreateRepositoryOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "catalogData": - if err := awsAwsjson11_deserializeDocumentRepositoryCatalogData(&sv.CatalogData, value); err != nil { - return err - } - - case "repository": - if err := awsAwsjson11_deserializeDocumentRepository(&sv.Repository, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteRepositoryOutput(v **DeleteRepositoryOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteRepositoryOutput - if *v == nil { - sv = &DeleteRepositoryOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "repository": - if err := awsAwsjson11_deserializeDocumentRepository(&sv.Repository, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDeleteRepositoryPolicyOutput(v **DeleteRepositoryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DeleteRepositoryPolicyOutput - if *v == nil { - sv = &DeleteRepositoryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeImagesOutput(v **DescribeImagesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeImagesOutput - if *v == nil { - sv = &DescribeImagesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageDetails": - if err := awsAwsjson11_deserializeDocumentImageDetailList(&sv.ImageDetails, value); err != nil { - return err - } - - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeImageTagsOutput(v **DescribeImageTagsOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeImageTagsOutput - if *v == nil { - sv = &DescribeImageTagsOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "imageTagDetails": - if err := awsAwsjson11_deserializeDocumentImageTagDetailList(&sv.ImageTagDetails, value); err != nil { - return err - } - - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeRegistriesOutput(v **DescribeRegistriesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeRegistriesOutput - if *v == nil { - sv = &DescribeRegistriesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "registries": - if err := awsAwsjson11_deserializeDocumentRegistryList(&sv.Registries, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentDescribeRepositoriesOutput(v **DescribeRepositoriesOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *DescribeRepositoriesOutput - if *v == nil { - sv = &DescribeRepositoriesOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "nextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - - case "repositories": - if err := awsAwsjson11_deserializeDocumentRepositoryList(&sv.Repositories, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetAuthorizationTokenOutput(v **GetAuthorizationTokenOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetAuthorizationTokenOutput - if *v == nil { - sv = &GetAuthorizationTokenOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "authorizationData": - if err := awsAwsjson11_deserializeDocumentAuthorizationData(&sv.AuthorizationData, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetRegistryCatalogDataOutput(v **GetRegistryCatalogDataOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetRegistryCatalogDataOutput - if *v == nil { - sv = &GetRegistryCatalogDataOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryCatalogData": - if err := awsAwsjson11_deserializeDocumentRegistryCatalogData(&sv.RegistryCatalogData, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetRepositoryCatalogDataOutput(v **GetRepositoryCatalogDataOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetRepositoryCatalogDataOutput - if *v == nil { - sv = &GetRepositoryCatalogDataOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "catalogData": - if err := awsAwsjson11_deserializeDocumentRepositoryCatalogData(&sv.CatalogData, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentGetRepositoryPolicyOutput(v **GetRepositoryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *GetRepositoryPolicyOutput - if *v == nil { - sv = &GetRepositoryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentInitiateLayerUploadOutput(v **InitiateLayerUploadOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *InitiateLayerUploadOutput - if *v == nil { - sv = &InitiateLayerUploadOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "partSize": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PartSize to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.PartSize = ptr.Int64(i64) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *ListTagsForResourceOutput - if *v == nil { - sv = &ListTagsForResourceOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "tags": - if err := awsAwsjson11_deserializeDocumentTagList(&sv.Tags, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutImageOutput(v **PutImageOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutImageOutput - if *v == nil { - sv = &PutImageOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "image": - if err := awsAwsjson11_deserializeDocumentImage(&sv.Image, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutRegistryCatalogDataOutput(v **PutRegistryCatalogDataOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutRegistryCatalogDataOutput - if *v == nil { - sv = &PutRegistryCatalogDataOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "registryCatalogData": - if err := awsAwsjson11_deserializeDocumentRegistryCatalogData(&sv.RegistryCatalogData, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentPutRepositoryCatalogDataOutput(v **PutRepositoryCatalogDataOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *PutRepositoryCatalogDataOutput - if *v == nil { - sv = &PutRepositoryCatalogDataOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "catalogData": - if err := awsAwsjson11_deserializeDocumentRepositoryCatalogData(&sv.CatalogData, value); err != nil { - return err - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentSetRepositoryPolicyOutput(v **SetRepositoryPolicyOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *SetRepositoryPolicyOutput - if *v == nil { - sv = &SetRepositoryPolicyOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "policyText": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryPolicyText to be of type string, got %T instead", value) - } - sv.PolicyText = ptr.String(jtv) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentTagResourceOutput(v **TagResourceOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *TagResourceOutput - if *v == nil { - sv = &TagResourceOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUntagResourceOutput(v **UntagResourceOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UntagResourceOutput - if *v == nil { - sv = &UntagResourceOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -func awsAwsjson11_deserializeOpDocumentUploadLayerPartOutput(v **UploadLayerPartOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } - - var sv *UploadLayerPartOutput - if *v == nil { - sv = &UploadLayerPartOutput{} - } else { - sv = *v - } - - for key, value := range shape { - switch key { - case "lastByteReceived": - if value != nil { - jtv, ok := value.(json.Number) - if !ok { - return fmt.Errorf("expected PartSize to be json.Number, got %T instead", value) - } - i64, err := jtv.Int64() - if err != nil { - return err - } - sv.LastByteReceived = ptr.Int64(i64) - } - - case "registryId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RegistryId to be of type string, got %T instead", value) - } - sv.RegistryId = ptr.String(jtv) - } - - case "repositoryName": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected RepositoryName to be of type string, got %T instead", value) - } - sv.RepositoryName = ptr.String(jtv) - } - - case "uploadId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected UploadId to be of type string, got %T instead", value) - } - sv.UploadId = ptr.String(jtv) - } - - default: - _, _ = key, value - - } - } - *v = sv - return nil -} - -type protocolErrorInfo struct { - Type string `json:"__type"` - Message string - Code any // nonstandard for awsjson but some services do present the type here -} - -func getProtocolErrorInfo(decoder *json.Decoder) (protocolErrorInfo, error) { - var errInfo protocolErrorInfo - if err := decoder.Decode(&errInfo); err != nil { - if err == io.EOF { - return errInfo, nil - } - return errInfo, err - } - - return errInfo, nil -} - -func resolveProtocolErrorType(headerType string, bodyInfo protocolErrorInfo) (string, bool) { - if len(headerType) != 0 { - return headerType, true - } else if len(bodyInfo.Type) != 0 { - return bodyInfo.Type, true - } else if code, ok := bodyInfo.Code.(string); ok && len(code) != 0 { - return code, true - } - return "", false -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/endpoints.go index 97b6dcab..d47a881f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/endpoints.go @@ -14,6 +14,7 @@ import ( internalendpoints "github.com/aws/aws-sdk-go-v2/service/ecrpublic/internal/endpoints" smithyauth "github.com/aws/smithy-go/auth" smithyendpoints "github.com/aws/smithy-go/endpoints" + "github.com/aws/smithy-go/endpoints/private/bdd" "github.com/aws/smithy-go/endpoints/private/rulesfn" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/ptr" @@ -229,6 +230,8 @@ func bindRegion(region string) (*string, error) { return aws.String(endpoints.MapFIPSRegion(region)), nil } +var _ = rulesfn.StringSlice(nil) + // EndpointParameters provides the parameters that influence how endpoints are // resolved. type EndpointParameters struct { @@ -294,21 +297,157 @@ func (p EndpointParameters) WithDefaults() EndpointParameters { return p } -type stringSlice []string +const bddRoot int32 = 2 -func (s stringSlice) Get(i int) *string { - if i < 0 || i >= len(s) { - return nil - } +var bddNodes = [42]int32{ + -1, 1, -1, 0, 13, 3, 1, 4, 100000012, 2, 5, 100000012, 3, 9, 6, 4, 7, 100000011, 5, 8, 100000010, 7, 100000008, 100000009, 4, 11, 10, 6, 100000006, 100000007, 5, 12, 100000005, 6, 100000004, 100000005, 3, 100000001, 14, 4, 100000002, 100000003} - v := s[i] - return &v +type conditionContext struct { + PartitionResult *awsrulesfn.PartitionConfig +} + +func evalCondition(idx int, params *EndpointParameters, c *conditionContext) bool { + switch idx { + case 0: + return params.Endpoint != nil + case 1: + return params.Region != nil + case 2: + if v := awsrulesfn.GetPartition(*params.Region); v != nil { + c.PartitionResult = v + return true + } + return false + case 3: + return *params.UseFIPS == true + case 4: + return *params.UseDualStack == true + case 5: + return c.PartitionResult.SupportsDualStack == true + case 6: + return c.PartitionResult.SupportsFIPS == true + case 7: + return c.PartitionResult.Name == "aws" + } + return false +} + +func resolveResult(idx int32, params *EndpointParameters, c *conditionContext) (smithyendpoints.Endpoint, error) { + switch idx { + case 0: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint resolution failed: no matching rule") + case 1: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported") + case 2: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported") + case 3: + uriString := *params.Endpoint + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 4: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr-public-fips.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DualStackDnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 5: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both") + case 6: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr-public-fips.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 7: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS") + case 8: + uriString := func() string { + var out strings.Builder + out.WriteString("https://ecr-public.") + out.WriteString(*params.Region) + out.WriteString(".api.aws") + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 9: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr-public.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DualStackDnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 10: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack") + case 11: + uriString := func() string { + var out strings.Builder + out.WriteString("https://api.ecr-public.") + out.WriteString(*params.Region) + out.WriteString(".") + out.WriteString(c.PartitionResult.DnsSuffix) + return out.String() + }() + uri, err := url.Parse(uriString) + if err != nil { + return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString) + } + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + }, nil + case 12: + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region") + } + return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, invalid result index: %d", idx) } // EndpointResolverV2 provides the interface for resolving service endpoints. type EndpointResolverV2 interface { - // ResolveEndpoint attempts to resolve the endpoint with the provided options, - // returning the endpoint if found. Otherwise an error is returned. ResolveEndpoint(ctx context.Context, params EndpointParameters) ( smithyendpoints.Endpoint, error, ) @@ -332,152 +471,12 @@ func (r *resolver) ResolveEndpoint( if err = params.ValidateRequired(); err != nil { return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err) } - _UseDualStack := *params.UseDualStack - _ = _UseDualStack - _UseFIPS := *params.UseFIPS - _ = _UseFIPS - - if exprVal := params.Endpoint; exprVal != nil { - _Endpoint := *exprVal - _ = _Endpoint - if _UseFIPS == true { - return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported") - } - if _UseDualStack == true { - return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported") - } - uriString := _Endpoint - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - if exprVal := params.Region; exprVal != nil { - _Region := *exprVal - _ = _Region - if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil { - _PartitionResult := *exprVal - _ = _PartitionResult - if _UseFIPS == true { - if _UseDualStack == true { - if true == _PartitionResult.SupportsFIPS { - if true == _PartitionResult.SupportsDualStack { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-public-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both") - } - } - if _UseFIPS == true { - if _PartitionResult.SupportsFIPS == true { - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-public-fips.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS") - } - if _UseDualStack == true { - if true == _PartitionResult.SupportsDualStack { - if "aws" == _PartitionResult.Name { - uriString := func() string { - var out strings.Builder - out.WriteString("https://ecr-public.") - out.WriteString(_Region) - out.WriteString(".api.aws") - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-public.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DualStackDnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack") - } - uriString := func() string { - var out strings.Builder - out.WriteString("https://api.ecr-public.") - out.WriteString(_Region) - out.WriteString(".") - out.WriteString(_PartitionResult.DnsSuffix) - return out.String() - }() - - uri, err := url.Parse(uriString) - if err != nil { - return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) - } - return smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - }, nil - } - return endpoint, fmt.Errorf("Endpoint resolution failed. Invalid operation or environment input.") - } - return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region") + c := &conditionContext{} + ref := bdd.Evaluate(bddNodes[:], bddRoot, func(idx int) bool { + return evalCondition(idx, ¶ms, c) + }) + return resolveResult(ref, ¶ms, c) } type endpointParamsBinder interface { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/generated.json index c368599b..1332aad2 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/generated.json +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/generated.json @@ -32,7 +32,7 @@ "api_op_UntagResource.go", "api_op_UploadLayerPart.go", "auth.go", - "deserializers.go", + "common_serde.go", "doc.go", "endpoints.go", "endpoints_config_test.go", @@ -41,16 +41,20 @@ "internal/endpoints/endpoints.go", "internal/endpoints/endpoints_test.go", "options.go", - "protocol_test.go", - "serializers.go", + "request_snapshot_test.go", + "response_snapshot_test.go", + "response_snapshot_update_test.go", + "schemas/schemas.go", "snapshot_test.go", "sra_operation_order_test.go", + "type_registry.go", + "types/common_serde.go", "types/enums.go", "types/errors.go", "types/types.go", "validators.go" ], - "go": "1.23", + "go": "1.24", "module": "github.com/aws/aws-sdk-go-v2/service/ecrpublic", "unstable": false } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/go_module_metadata.go index 85222af4..bfcab915 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/go_module_metadata.go @@ -3,4 +3,4 @@ package ecrpublic // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.38.10" +const goModuleVersion = "1.47.3" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/options.go index 58cccb88..de3d78ca 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/options.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/options.go @@ -44,6 +44,11 @@ type Options struct { // clients initial default settings. DefaultsMode aws.DefaultsMode + // Disables SDK clock skew correction. When set, the SDK will not adjust request + // signing timestamps to compensate for clock drift between the client and the + // service. + DisableClockSkewCorrection bool + // The endpoint options to be used when attempting to resolve an endpoint. EndpointOptions EndpointResolverOptions @@ -58,8 +63,7 @@ type Options struct { // the client option BaseEndpoint instead. EndpointResolver EndpointResolver - // Resolves the endpoint used for a particular service operation. This should be - // used over the deprecated EndpointResolver. + // Resolves the endpoint used for a particular service operation. EndpointResolverV2 EndpointResolverV2 // Signature Version 4 (SigV4) Signer @@ -115,6 +119,8 @@ type Options struct { // Currently does not support per operation call overrides, may in the future. resolvedDefaultsMode aws.DefaultsMode + Protocol smithyhttp.ClientProtocol + // The HTTP client to invoke API calls with. Defaults to client's default HTTP // implementation if nil. HTTPClient HTTPClient diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas/schemas.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas/schemas.go new file mode 100644 index 00000000..e4872a16 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas/schemas.go @@ -0,0 +1,1694 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package schemas + +import ( + smithy "github.com/aws/smithy-go" + smithyprelude "github.com/aws/smithy-go/prelude" + smithytraits "github.com/aws/smithy-go/traits" +) + +var BatchCheckLayerAvailability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchCheckLayerAvailability", +}, smithy.ShapeTypeOperation, 0) + +var BatchDeleteImage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchDeleteImage", +}, smithy.ShapeTypeOperation, 0) + +var CompleteLayerUpload = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CompleteLayerUpload", +}, smithy.ShapeTypeOperation, 0) + +var CreateRepository = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CreateRepository", +}, smithy.ShapeTypeOperation, 0) + +var DeleteRepository = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DeleteRepository", +}, smithy.ShapeTypeOperation, 0) + +var DeleteRepositoryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DeleteRepositoryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var DescribeImages = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeImages", +}, smithy.ShapeTypeOperation, 0) + +var DescribeImageTags = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeImageTags", +}, smithy.ShapeTypeOperation, 0) + +var DescribeRegistries = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeRegistries", +}, smithy.ShapeTypeOperation, 0) + +var DescribeRepositories = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeRepositories", +}, smithy.ShapeTypeOperation, 0) + +var GetAuthorizationToken = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetAuthorizationToken", +}, smithy.ShapeTypeOperation, 0) + +var GetRegistryCatalogData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRegistryCatalogData", +}, smithy.ShapeTypeOperation, 0) + +var GetRepositoryCatalogData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRepositoryCatalogData", +}, smithy.ShapeTypeOperation, 0) + +var GetRepositoryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRepositoryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var InitiateLayerUpload = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InitiateLayerUpload", +}, smithy.ShapeTypeOperation, 0) + +var ListTagsForResource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ListTagsForResource", +}, smithy.ShapeTypeOperation, 0) + +var PutImage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutImage", +}, smithy.ShapeTypeOperation, 0) + +var PutRegistryCatalogData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutRegistryCatalogData", +}, smithy.ShapeTypeOperation, 0) + +var PutRepositoryCatalogData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutRepositoryCatalogData", +}, smithy.ShapeTypeOperation, 0) + +var SetRepositoryPolicy = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "SetRepositoryPolicy", +}, smithy.ShapeTypeOperation, 0) + +var TagResource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagResource", +}, smithy.ShapeTypeOperation, 0) + +var UntagResource = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UntagResource", +}, smithy.ShapeTypeOperation, 0) + +var UploadLayerPart = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UploadLayerPart", +}, smithy.ShapeTypeOperation, 0) + +var _SpencerFrontendService = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "SpencerFrontendService", +}, smithy.ShapeTypeService, 0, &smithytraits.XMLNamespace{URI: "http://ecr-public.amazonaws.com/doc/2020-12-02/"}) + +var SpencerFrontendService = smithy.NewServiceSchema(_SpencerFrontendService, "2020-10-30") + +var _AboutText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "AboutText", +}, smithy.ShapeTypeString, 0) + +var _Architecture = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Architecture", +}, smithy.ShapeTypeString, 0) + +var _ArchitectureList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ArchitectureList", +}, smithy.ShapeTypeList, 1) +var _ArchitectureList_member *smithy.Schema + +var _Arn = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Arn", +}, smithy.ShapeTypeString, 0) + +var AuthorizationData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "AuthorizationData", +}, smithy.ShapeTypeStructure, 2) +var AuthorizationData_authorizationToken *smithy.Schema + +var AuthorizationData_expiresAt *smithy.Schema + +var _Base64 = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Base64", +}, smithy.ShapeTypeString, 0) + +var _BatchedOperationLayerDigest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchedOperationLayerDigest", +}, smithy.ShapeTypeString, 0) + +var _BatchedOperationLayerDigestList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchedOperationLayerDigestList", +}, smithy.ShapeTypeList, 1) +var _BatchedOperationLayerDigestList_member *smithy.Schema + +var _CreationTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CreationTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _DefaultRegistryAliasFlag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DefaultRegistryAliasFlag", +}, smithy.ShapeTypeBoolean, 0) + +var EmptyUploadException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "EmptyUploadException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var EmptyUploadException_message *smithy.Schema + +var _ExceptionMessage = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ExceptionMessage", +}, smithy.ShapeTypeString, 0) + +var _ExpirationTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ExpirationTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var _ForceFlag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ForceFlag", +}, smithy.ShapeTypeBoolean, 0) + +var Image = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Image", +}, smithy.ShapeTypeStructure, 5) +var Image_registryId *smithy.Schema + +var Image_repositoryName *smithy.Schema + +var Image_imageId *smithy.Schema + +var Image_imageManifest *smithy.Schema + +var Image_imageManifestMediaType *smithy.Schema + +var ImageAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageAlreadyExistsException_message *smithy.Schema + +var ImageDetail = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageDetail", +}, smithy.ShapeTypeStructure, 8) +var ImageDetail_registryId *smithy.Schema + +var ImageDetail_repositoryName *smithy.Schema + +var ImageDetail_imageDigest *smithy.Schema + +var ImageDetail_imageTags *smithy.Schema + +var ImageDetail_imageSizeInBytes *smithy.Schema + +var ImageDetail_imagePushedAt *smithy.Schema + +var ImageDetail_imageManifestMediaType *smithy.Schema + +var ImageDetail_artifactMediaType *smithy.Schema + +var _ImageDetailList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageDetailList", +}, smithy.ShapeTypeList, 1) +var _ImageDetailList_member *smithy.Schema + +var _ImageDigest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageDigest", +}, smithy.ShapeTypeString, 0) + +var ImageDigestDoesNotMatchException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageDigestDoesNotMatchException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageDigestDoesNotMatchException_message *smithy.Schema + +var ImageFailure = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageFailure", +}, smithy.ShapeTypeStructure, 3) +var ImageFailure_imageId *smithy.Schema + +var ImageFailure_failureCode *smithy.Schema + +var ImageFailure_failureReason *smithy.Schema + +var ImageFailureCode = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageFailureCode", +}, smithy.ShapeTypeEnum, 7) +var ImageFailureCode_InvalidImageDigest *smithy.Schema + +var ImageFailureCode_InvalidImageTag *smithy.Schema + +var ImageFailureCode_ImageTagDoesNotMatchDigest *smithy.Schema + +var ImageFailureCode_ImageNotFound *smithy.Schema + +var ImageFailureCode_MissingDigestAndTag *smithy.Schema + +var ImageFailureCode_ImageReferencedByManifestList *smithy.Schema + +var ImageFailureCode_KmsError *smithy.Schema + +var _ImageFailureList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageFailureList", +}, smithy.ShapeTypeList, 1) +var _ImageFailureList_member *smithy.Schema + +var _ImageFailureReason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageFailureReason", +}, smithy.ShapeTypeString, 0) + +var ImageIdentifier = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageIdentifier", +}, smithy.ShapeTypeStructure, 2) +var ImageIdentifier_imageDigest *smithy.Schema + +var ImageIdentifier_imageTag *smithy.Schema + +var _ImageIdentifierList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageIdentifierList", +}, smithy.ShapeTypeList, 1) +var _ImageIdentifierList_member *smithy.Schema + +var _ImageManifest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageManifest", +}, smithy.ShapeTypeString, 0) + +var ImageNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageNotFoundException_message *smithy.Schema + +var _ImageSizeInBytes = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageSizeInBytes", +}, smithy.ShapeTypeLong, 0) + +var _ImageTag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageTag", +}, smithy.ShapeTypeString, 0) + +var ImageTagAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageTagAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ImageTagAlreadyExistsException_message *smithy.Schema + +var ImageTagDetail = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageTagDetail", +}, smithy.ShapeTypeStructure, 3) +var ImageTagDetail_imageTag *smithy.Schema + +var ImageTagDetail_createdAt *smithy.Schema + +var ImageTagDetail_imageDetail *smithy.Schema + +var _ImageTagDetailList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageTagDetailList", +}, smithy.ShapeTypeList, 1) +var _ImageTagDetailList_member *smithy.Schema + +var _ImageTagList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ImageTagList", +}, smithy.ShapeTypeList, 1) +var _ImageTagList_member *smithy.Schema + +var InvalidLayerException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InvalidLayerException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var InvalidLayerException_message *smithy.Schema + +var InvalidLayerPartException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InvalidLayerPartException", +}, smithy.ShapeTypeStructure, 5, &smithytraits.Error{Type: "client"}) +var InvalidLayerPartException_registryId *smithy.Schema + +var InvalidLayerPartException_repositoryName *smithy.Schema + +var InvalidLayerPartException_uploadId *smithy.Schema + +var InvalidLayerPartException_lastValidByteReceived *smithy.Schema + +var InvalidLayerPartException_message *smithy.Schema + +var InvalidParameterException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InvalidParameterException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var InvalidParameterException_message *smithy.Schema + +var InvalidTagParameterException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InvalidTagParameterException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var InvalidTagParameterException_message *smithy.Schema + +var Layer = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Layer", +}, smithy.ShapeTypeStructure, 4) +var Layer_layerDigest *smithy.Schema + +var Layer_layerAvailability *smithy.Schema + +var Layer_layerSize *smithy.Schema + +var Layer_mediaType *smithy.Schema + +var LayerAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayerAlreadyExistsException_message *smithy.Schema + +var LayerAvailability = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerAvailability", +}, smithy.ShapeTypeEnum, 2) +var LayerAvailability_AVAILABLE *smithy.Schema + +var LayerAvailability_UNAVAILABLE *smithy.Schema + +var _LayerDigest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerDigest", +}, smithy.ShapeTypeString, 0) + +var _LayerDigestList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerDigestList", +}, smithy.ShapeTypeList, 1) +var _LayerDigestList_member *smithy.Schema + +var LayerFailure = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerFailure", +}, smithy.ShapeTypeStructure, 3) +var LayerFailure_layerDigest *smithy.Schema + +var LayerFailure_failureCode *smithy.Schema + +var LayerFailure_failureReason *smithy.Schema + +var LayerFailureCode = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerFailureCode", +}, smithy.ShapeTypeEnum, 2) +var LayerFailureCode_InvalidLayerDigest *smithy.Schema + +var LayerFailureCode_MissingLayerDigest *smithy.Schema + +var _LayerFailureList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerFailureList", +}, smithy.ShapeTypeList, 1) +var _LayerFailureList_member *smithy.Schema + +var _LayerFailureReason = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerFailureReason", +}, smithy.ShapeTypeString, 0) + +var _LayerList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerList", +}, smithy.ShapeTypeList, 1) +var _LayerList_member *smithy.Schema + +var _LayerPartBlob = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerPartBlob", +}, smithy.ShapeTypeBlob, 0) + +var LayerPartTooSmallException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerPartTooSmallException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayerPartTooSmallException_message *smithy.Schema + +var _LayerSizeInBytes = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayerSizeInBytes", +}, smithy.ShapeTypeLong, 0) + +var LayersNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LayersNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LayersNotFoundException_message *smithy.Schema + +var LimitExceededException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LimitExceededException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var LimitExceededException_message *smithy.Schema + +var _LogoImageBlob = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "LogoImageBlob", +}, smithy.ShapeTypeBlob, 0) + +var _MarketplaceCertified = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "MarketplaceCertified", +}, smithy.ShapeTypeBoolean, 0) + +var _MaxResults = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "MaxResults", +}, smithy.ShapeTypeInteger, 0) + +var _MediaType = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "MediaType", +}, smithy.ShapeTypeString, 0) + +var _NextToken = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "NextToken", +}, smithy.ShapeTypeString, 0) + +var _OperatingSystem = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "OperatingSystem", +}, smithy.ShapeTypeString, 0) + +var _OperatingSystemList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "OperatingSystemList", +}, smithy.ShapeTypeList, 1) +var _OperatingSystemList_member *smithy.Schema + +var _PartSize = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PartSize", +}, smithy.ShapeTypeLong, 0) + +var _PrimaryRegistryAliasFlag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PrimaryRegistryAliasFlag", +}, smithy.ShapeTypeBoolean, 0) + +var _PushTimestamp = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PushTimestamp", +}, smithy.ShapeTypeTimestamp, 0) + +var ReferencedImageDetail = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ReferencedImageDetail", +}, smithy.ShapeTypeStructure, 5) +var ReferencedImageDetail_imageDigest *smithy.Schema + +var ReferencedImageDetail_imageSizeInBytes *smithy.Schema + +var ReferencedImageDetail_imagePushedAt *smithy.Schema + +var ReferencedImageDetail_imageManifestMediaType *smithy.Schema + +var ReferencedImageDetail_artifactMediaType *smithy.Schema + +var ReferencedImagesNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ReferencedImagesNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var ReferencedImagesNotFoundException_message *smithy.Schema + +var Registry = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Registry", +}, smithy.ShapeTypeStructure, 5) +var Registry_registryId *smithy.Schema + +var Registry_registryArn *smithy.Schema + +var Registry_registryUri *smithy.Schema + +var Registry_verified *smithy.Schema + +var Registry_aliases *smithy.Schema + +var RegistryAlias = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryAlias", +}, smithy.ShapeTypeStructure, 4) +var RegistryAlias_name *smithy.Schema + +var RegistryAlias_status *smithy.Schema + +var RegistryAlias_primaryRegistryAlias *smithy.Schema + +var RegistryAlias_defaultRegistryAlias *smithy.Schema + +var _RegistryAliasList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryAliasList", +}, smithy.ShapeTypeList, 1) +var _RegistryAliasList_member *smithy.Schema + +var _RegistryAliasName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryAliasName", +}, smithy.ShapeTypeString, 0) + +var RegistryAliasStatus = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryAliasStatus", +}, smithy.ShapeTypeEnum, 3) +var RegistryAliasStatus_ACTIVE *smithy.Schema + +var RegistryAliasStatus_PENDING *smithy.Schema + +var RegistryAliasStatus_REJECTED *smithy.Schema + +var RegistryCatalogData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryCatalogData", +}, smithy.ShapeTypeStructure, 1) +var RegistryCatalogData_displayName *smithy.Schema + +var _RegistryDisplayName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryDisplayName", +}, smithy.ShapeTypeString, 0) + +var _RegistryId = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryId", +}, smithy.ShapeTypeString, 0) + +var _RegistryIdOrAlias = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryIdOrAlias", +}, smithy.ShapeTypeString, 0) + +var _RegistryList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryList", +}, smithy.ShapeTypeList, 1) +var _RegistryList_member *smithy.Schema + +var RegistryNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RegistryNotFoundException_message *smithy.Schema + +var _RegistryVerified = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RegistryVerified", +}, smithy.ShapeTypeBoolean, 0) + +var Repository = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Repository", +}, smithy.ShapeTypeStructure, 5) +var Repository_repositoryArn *smithy.Schema + +var Repository_registryId *smithy.Schema + +var Repository_repositoryName *smithy.Schema + +var Repository_repositoryUri *smithy.Schema + +var Repository_createdAt *smithy.Schema + +var RepositoryAlreadyExistsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryAlreadyExistsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryAlreadyExistsException_message *smithy.Schema + +var RepositoryCatalogData = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryCatalogData", +}, smithy.ShapeTypeStructure, 7) +var RepositoryCatalogData_description *smithy.Schema + +var RepositoryCatalogData_architectures *smithy.Schema + +var RepositoryCatalogData_operatingSystems *smithy.Schema + +var RepositoryCatalogData_logoUrl *smithy.Schema + +var RepositoryCatalogData_aboutText *smithy.Schema + +var RepositoryCatalogData_usageText *smithy.Schema + +var RepositoryCatalogData_marketplaceCertified *smithy.Schema + +var RepositoryCatalogDataInput = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryCatalogDataInput", +}, smithy.ShapeTypeStructure, 6) +var RepositoryCatalogDataInput_description *smithy.Schema + +var RepositoryCatalogDataInput_architectures *smithy.Schema + +var RepositoryCatalogDataInput_operatingSystems *smithy.Schema + +var RepositoryCatalogDataInput_logoImageBlob *smithy.Schema + +var RepositoryCatalogDataInput_aboutText *smithy.Schema + +var RepositoryCatalogDataInput_usageText *smithy.Schema + +var RepositoryCatalogDataNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryCatalogDataNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryCatalogDataNotFoundException_message *smithy.Schema + +var _RepositoryDescription = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryDescription", +}, smithy.ShapeTypeString, 0) + +var _RepositoryList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryList", +}, smithy.ShapeTypeList, 1) +var _RepositoryList_member *smithy.Schema + +var _RepositoryName = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryName", +}, smithy.ShapeTypeString, 0) + +var _RepositoryNameList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryNameList", +}, smithy.ShapeTypeList, 1) +var _RepositoryNameList_member *smithy.Schema + +var RepositoryNotEmptyException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryNotEmptyException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryNotEmptyException_message *smithy.Schema + +var RepositoryNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryNotFoundException_message *smithy.Schema + +var RepositoryPolicyNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryPolicyNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var RepositoryPolicyNotFoundException_message *smithy.Schema + +var _RepositoryPolicyText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "RepositoryPolicyText", +}, smithy.ShapeTypeString, 0) + +var _ResourceUrl = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ResourceUrl", +}, smithy.ShapeTypeString, 0) + +var ServerException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ServerException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "server"}) +var ServerException_message *smithy.Schema + +var Tag = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Tag", +}, smithy.ShapeTypeStructure, 2) +var Tag_Key *smithy.Schema + +var Tag_Value *smithy.Schema + +var _TagKey = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagKey", +}, smithy.ShapeTypeString, 0) + +var _TagKeyList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagKeyList", +}, smithy.ShapeTypeList, 1) +var _TagKeyList_member *smithy.Schema + +var _TagList = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagList", +}, smithy.ShapeTypeList, 1) +var _TagList_member *smithy.Schema + +var _TagValue = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagValue", +}, smithy.ShapeTypeString, 0) + +var TooManyTagsException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TooManyTagsException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var TooManyTagsException_message *smithy.Schema + +var UnsupportedCommandException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UnsupportedCommandException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UnsupportedCommandException_message *smithy.Schema + +var _UploadId = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UploadId", +}, smithy.ShapeTypeString, 0) + +var UploadNotFoundException = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UploadNotFoundException", +}, smithy.ShapeTypeStructure, 1, &smithytraits.Error{Type: "client"}) +var UploadNotFoundException_message *smithy.Schema + +var _Url = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "Url", +}, smithy.ShapeTypeString, 0) + +var _UsageText = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UsageText", +}, smithy.ShapeTypeString, 0) + +var BatchCheckLayerAvailabilityRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchCheckLayerAvailabilityRequest", +}, smithy.ShapeTypeStructure, 3) +var BatchCheckLayerAvailabilityRequest_registryId *smithy.Schema + +var BatchCheckLayerAvailabilityRequest_repositoryName *smithy.Schema + +var BatchCheckLayerAvailabilityRequest_layerDigests *smithy.Schema + +var BatchCheckLayerAvailabilityResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchCheckLayerAvailabilityResponse", +}, smithy.ShapeTypeStructure, 2) +var BatchCheckLayerAvailabilityResponse_layers *smithy.Schema + +var BatchCheckLayerAvailabilityResponse_failures *smithy.Schema + +var BatchDeleteImageRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchDeleteImageRequest", +}, smithy.ShapeTypeStructure, 3) +var BatchDeleteImageRequest_registryId *smithy.Schema + +var BatchDeleteImageRequest_repositoryName *smithy.Schema + +var BatchDeleteImageRequest_imageIds *smithy.Schema + +var BatchDeleteImageResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "BatchDeleteImageResponse", +}, smithy.ShapeTypeStructure, 2) +var BatchDeleteImageResponse_imageIds *smithy.Schema + +var BatchDeleteImageResponse_failures *smithy.Schema + +var CompleteLayerUploadRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CompleteLayerUploadRequest", +}, smithy.ShapeTypeStructure, 4) +var CompleteLayerUploadRequest_registryId *smithy.Schema + +var CompleteLayerUploadRequest_repositoryName *smithy.Schema + +var CompleteLayerUploadRequest_uploadId *smithy.Schema + +var CompleteLayerUploadRequest_layerDigests *smithy.Schema + +var CompleteLayerUploadResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CompleteLayerUploadResponse", +}, smithy.ShapeTypeStructure, 4) +var CompleteLayerUploadResponse_registryId *smithy.Schema + +var CompleteLayerUploadResponse_repositoryName *smithy.Schema + +var CompleteLayerUploadResponse_uploadId *smithy.Schema + +var CompleteLayerUploadResponse_layerDigest *smithy.Schema + +var CreateRepositoryRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CreateRepositoryRequest", +}, smithy.ShapeTypeStructure, 3) +var CreateRepositoryRequest_repositoryName *smithy.Schema + +var CreateRepositoryRequest_catalogData *smithy.Schema + +var CreateRepositoryRequest_tags *smithy.Schema + +var CreateRepositoryResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "CreateRepositoryResponse", +}, smithy.ShapeTypeStructure, 2) +var CreateRepositoryResponse_repository *smithy.Schema + +var CreateRepositoryResponse_catalogData *smithy.Schema + +var DeleteRepositoryRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DeleteRepositoryRequest", +}, smithy.ShapeTypeStructure, 3) +var DeleteRepositoryRequest_registryId *smithy.Schema + +var DeleteRepositoryRequest_repositoryName *smithy.Schema + +var DeleteRepositoryRequest_force *smithy.Schema + +var DeleteRepositoryResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DeleteRepositoryResponse", +}, smithy.ShapeTypeStructure, 1) +var DeleteRepositoryResponse_repository *smithy.Schema + +var DeleteRepositoryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DeleteRepositoryPolicyRequest", +}, smithy.ShapeTypeStructure, 2) +var DeleteRepositoryPolicyRequest_registryId *smithy.Schema + +var DeleteRepositoryPolicyRequest_repositoryName *smithy.Schema + +var DeleteRepositoryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DeleteRepositoryPolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var DeleteRepositoryPolicyResponse_registryId *smithy.Schema + +var DeleteRepositoryPolicyResponse_repositoryName *smithy.Schema + +var DeleteRepositoryPolicyResponse_policyText *smithy.Schema + +var DescribeImagesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeImagesRequest", +}, smithy.ShapeTypeStructure, 5) +var DescribeImagesRequest_registryId *smithy.Schema + +var DescribeImagesRequest_repositoryName *smithy.Schema + +var DescribeImagesRequest_imageIds *smithy.Schema + +var DescribeImagesRequest_nextToken *smithy.Schema + +var DescribeImagesRequest_maxResults *smithy.Schema + +var DescribeImagesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeImagesResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeImagesResponse_imageDetails *smithy.Schema + +var DescribeImagesResponse_nextToken *smithy.Schema + +var DescribeImageTagsRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeImageTagsRequest", +}, smithy.ShapeTypeStructure, 4) +var DescribeImageTagsRequest_registryId *smithy.Schema + +var DescribeImageTagsRequest_repositoryName *smithy.Schema + +var DescribeImageTagsRequest_nextToken *smithy.Schema + +var DescribeImageTagsRequest_maxResults *smithy.Schema + +var DescribeImageTagsResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeImageTagsResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeImageTagsResponse_imageTagDetails *smithy.Schema + +var DescribeImageTagsResponse_nextToken *smithy.Schema + +var DescribeRegistriesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeRegistriesRequest", +}, smithy.ShapeTypeStructure, 2) +var DescribeRegistriesRequest_nextToken *smithy.Schema + +var DescribeRegistriesRequest_maxResults *smithy.Schema + +var DescribeRegistriesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeRegistriesResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeRegistriesResponse_registries *smithy.Schema + +var DescribeRegistriesResponse_nextToken *smithy.Schema + +var DescribeRepositoriesRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeRepositoriesRequest", +}, smithy.ShapeTypeStructure, 4) +var DescribeRepositoriesRequest_registryId *smithy.Schema + +var DescribeRepositoriesRequest_repositoryNames *smithy.Schema + +var DescribeRepositoriesRequest_nextToken *smithy.Schema + +var DescribeRepositoriesRequest_maxResults *smithy.Schema + +var DescribeRepositoriesResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "DescribeRepositoriesResponse", +}, smithy.ShapeTypeStructure, 2) +var DescribeRepositoriesResponse_repositories *smithy.Schema + +var DescribeRepositoriesResponse_nextToken *smithy.Schema + +var GetAuthorizationTokenRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetAuthorizationTokenRequest", +}, smithy.ShapeTypeStructure, 0) + +var GetAuthorizationTokenResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetAuthorizationTokenResponse", +}, smithy.ShapeTypeStructure, 1) +var GetAuthorizationTokenResponse_authorizationData *smithy.Schema + +var GetRegistryCatalogDataRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRegistryCatalogDataRequest", +}, smithy.ShapeTypeStructure, 0) + +var GetRegistryCatalogDataResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRegistryCatalogDataResponse", +}, smithy.ShapeTypeStructure, 1) +var GetRegistryCatalogDataResponse_registryCatalogData *smithy.Schema + +var GetRepositoryCatalogDataRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRepositoryCatalogDataRequest", +}, smithy.ShapeTypeStructure, 2) +var GetRepositoryCatalogDataRequest_registryId *smithy.Schema + +var GetRepositoryCatalogDataRequest_repositoryName *smithy.Schema + +var GetRepositoryCatalogDataResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRepositoryCatalogDataResponse", +}, smithy.ShapeTypeStructure, 1) +var GetRepositoryCatalogDataResponse_catalogData *smithy.Schema + +var GetRepositoryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRepositoryPolicyRequest", +}, smithy.ShapeTypeStructure, 2) +var GetRepositoryPolicyRequest_registryId *smithy.Schema + +var GetRepositoryPolicyRequest_repositoryName *smithy.Schema + +var GetRepositoryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "GetRepositoryPolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var GetRepositoryPolicyResponse_registryId *smithy.Schema + +var GetRepositoryPolicyResponse_repositoryName *smithy.Schema + +var GetRepositoryPolicyResponse_policyText *smithy.Schema + +var InitiateLayerUploadRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InitiateLayerUploadRequest", +}, smithy.ShapeTypeStructure, 2) +var InitiateLayerUploadRequest_registryId *smithy.Schema + +var InitiateLayerUploadRequest_repositoryName *smithy.Schema + +var InitiateLayerUploadResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "InitiateLayerUploadResponse", +}, smithy.ShapeTypeStructure, 2) +var InitiateLayerUploadResponse_uploadId *smithy.Schema + +var InitiateLayerUploadResponse_partSize *smithy.Schema + +var ListTagsForResourceRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ListTagsForResourceRequest", +}, smithy.ShapeTypeStructure, 1) +var ListTagsForResourceRequest_resourceArn *smithy.Schema + +var ListTagsForResourceResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "ListTagsForResourceResponse", +}, smithy.ShapeTypeStructure, 1) +var ListTagsForResourceResponse_tags *smithy.Schema + +var PutImageRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutImageRequest", +}, smithy.ShapeTypeStructure, 6) +var PutImageRequest_registryId *smithy.Schema + +var PutImageRequest_repositoryName *smithy.Schema + +var PutImageRequest_imageManifest *smithy.Schema + +var PutImageRequest_imageManifestMediaType *smithy.Schema + +var PutImageRequest_imageTag *smithy.Schema + +var PutImageRequest_imageDigest *smithy.Schema + +var PutImageResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutImageResponse", +}, smithy.ShapeTypeStructure, 1) +var PutImageResponse_image *smithy.Schema + +var PutRegistryCatalogDataRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutRegistryCatalogDataRequest", +}, smithy.ShapeTypeStructure, 1) +var PutRegistryCatalogDataRequest_displayName *smithy.Schema + +var PutRegistryCatalogDataResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutRegistryCatalogDataResponse", +}, smithy.ShapeTypeStructure, 1) +var PutRegistryCatalogDataResponse_registryCatalogData *smithy.Schema + +var PutRepositoryCatalogDataRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutRepositoryCatalogDataRequest", +}, smithy.ShapeTypeStructure, 3) +var PutRepositoryCatalogDataRequest_registryId *smithy.Schema + +var PutRepositoryCatalogDataRequest_repositoryName *smithy.Schema + +var PutRepositoryCatalogDataRequest_catalogData *smithy.Schema + +var PutRepositoryCatalogDataResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "PutRepositoryCatalogDataResponse", +}, smithy.ShapeTypeStructure, 1) +var PutRepositoryCatalogDataResponse_catalogData *smithy.Schema + +var SetRepositoryPolicyRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "SetRepositoryPolicyRequest", +}, smithy.ShapeTypeStructure, 4) +var SetRepositoryPolicyRequest_registryId *smithy.Schema + +var SetRepositoryPolicyRequest_repositoryName *smithy.Schema + +var SetRepositoryPolicyRequest_policyText *smithy.Schema + +var SetRepositoryPolicyRequest_force *smithy.Schema + +var SetRepositoryPolicyResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "SetRepositoryPolicyResponse", +}, smithy.ShapeTypeStructure, 3) +var SetRepositoryPolicyResponse_registryId *smithy.Schema + +var SetRepositoryPolicyResponse_repositoryName *smithy.Schema + +var SetRepositoryPolicyResponse_policyText *smithy.Schema + +var TagResourceRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagResourceRequest", +}, smithy.ShapeTypeStructure, 2) +var TagResourceRequest_resourceArn *smithy.Schema + +var TagResourceRequest_tags *smithy.Schema + +var TagResourceResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "TagResourceResponse", +}, smithy.ShapeTypeStructure, 0) + +var UntagResourceRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UntagResourceRequest", +}, smithy.ShapeTypeStructure, 2) +var UntagResourceRequest_resourceArn *smithy.Schema + +var UntagResourceRequest_tagKeys *smithy.Schema + +var UntagResourceResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UntagResourceResponse", +}, smithy.ShapeTypeStructure, 0) + +var UploadLayerPartRequest = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UploadLayerPartRequest", +}, smithy.ShapeTypeStructure, 6) +var UploadLayerPartRequest_registryId *smithy.Schema + +var UploadLayerPartRequest_repositoryName *smithy.Schema + +var UploadLayerPartRequest_uploadId *smithy.Schema + +var UploadLayerPartRequest_partFirstByte *smithy.Schema + +var UploadLayerPartRequest_partLastByte *smithy.Schema + +var UploadLayerPartRequest_layerPartBlob *smithy.Schema + +var UploadLayerPartResponse = smithy.NewSchema(smithy.ShapeID{ + Namespace: "com.amazonaws.ecrpublic", + Name: "UploadLayerPartResponse", +}, smithy.ShapeTypeStructure, 4) +var UploadLayerPartResponse_registryId *smithy.Schema + +var UploadLayerPartResponse_repositoryName *smithy.Schema + +var UploadLayerPartResponse_uploadId *smithy.Schema + +var UploadLayerPartResponse_lastByteReceived *smithy.Schema + +// Initialize schema members after all schemas are declared to avoid +// initialization cycles +func init() { + _ArchitectureList_member = _ArchitectureList.AddMember("member", _Architecture) + + AuthorizationData_authorizationToken = AuthorizationData.AddMember("authorizationToken", _Base64) + + AuthorizationData_expiresAt = AuthorizationData.AddMember("expiresAt", _ExpirationTimestamp) + + _BatchedOperationLayerDigestList_member = _BatchedOperationLayerDigestList.AddMember("member", _BatchedOperationLayerDigest) + + EmptyUploadException_message = EmptyUploadException.AddMember("message", _ExceptionMessage) + + ImageIdentifier_imageDigest = ImageIdentifier.AddMember("imageDigest", _ImageDigest) + + ImageIdentifier_imageTag = ImageIdentifier.AddMember("imageTag", _ImageTag) + + Image_registryId = Image.AddMember("registryId", _RegistryIdOrAlias) + + Image_repositoryName = Image.AddMember("repositoryName", _RepositoryName) + + Image_imageId = Image.AddMember("imageId", ImageIdentifier) + + Image_imageManifest = Image.AddMember("imageManifest", _ImageManifest) + + Image_imageManifestMediaType = Image.AddMember("imageManifestMediaType", _MediaType) + + ImageAlreadyExistsException_message = ImageAlreadyExistsException.AddMember("message", _ExceptionMessage) + + _ImageTagList_member = _ImageTagList.AddMember("member", _ImageTag) + + ImageDetail_registryId = ImageDetail.AddMember("registryId", _RegistryId) + + ImageDetail_repositoryName = ImageDetail.AddMember("repositoryName", _RepositoryName) + + ImageDetail_imageDigest = ImageDetail.AddMember("imageDigest", _ImageDigest) + + ImageDetail_imageTags = ImageDetail.AddMember("imageTags", _ImageTagList) + + ImageDetail_imageSizeInBytes = ImageDetail.AddMember("imageSizeInBytes", _ImageSizeInBytes) + + ImageDetail_imagePushedAt = ImageDetail.AddMember("imagePushedAt", _PushTimestamp) + + ImageDetail_imageManifestMediaType = ImageDetail.AddMember("imageManifestMediaType", _MediaType) + + ImageDetail_artifactMediaType = ImageDetail.AddMember("artifactMediaType", _MediaType) + + _ImageDetailList_member = _ImageDetailList.AddMember("member", ImageDetail) + + ImageDigestDoesNotMatchException_message = ImageDigestDoesNotMatchException.AddMember("message", _ExceptionMessage) + + ImageFailureCode_InvalidImageDigest = ImageFailureCode.AddMember("InvalidImageDigest", smithyprelude.Unit) + + ImageFailureCode_InvalidImageTag = ImageFailureCode.AddMember("InvalidImageTag", smithyprelude.Unit) + + ImageFailureCode_ImageTagDoesNotMatchDigest = ImageFailureCode.AddMember("ImageTagDoesNotMatchDigest", smithyprelude.Unit) + + ImageFailureCode_ImageNotFound = ImageFailureCode.AddMember("ImageNotFound", smithyprelude.Unit) + + ImageFailureCode_MissingDigestAndTag = ImageFailureCode.AddMember("MissingDigestAndTag", smithyprelude.Unit) + + ImageFailureCode_ImageReferencedByManifestList = ImageFailureCode.AddMember("ImageReferencedByManifestList", smithyprelude.Unit) + + ImageFailureCode_KmsError = ImageFailureCode.AddMember("KmsError", smithyprelude.Unit) + + ImageFailure_imageId = ImageFailure.AddMember("imageId", ImageIdentifier) + + ImageFailure_failureCode = ImageFailure.AddMember("failureCode", ImageFailureCode) + + ImageFailure_failureReason = ImageFailure.AddMember("failureReason", _ImageFailureReason) + + _ImageFailureList_member = _ImageFailureList.AddMember("member", ImageFailure) + + _ImageIdentifierList_member = _ImageIdentifierList.AddMember("member", ImageIdentifier) + + ImageNotFoundException_message = ImageNotFoundException.AddMember("message", _ExceptionMessage) + + ImageTagAlreadyExistsException_message = ImageTagAlreadyExistsException.AddMember("message", _ExceptionMessage) + + ReferencedImageDetail_imageDigest = ReferencedImageDetail.AddMember("imageDigest", _ImageDigest) + + ReferencedImageDetail_imageSizeInBytes = ReferencedImageDetail.AddMember("imageSizeInBytes", _ImageSizeInBytes) + + ReferencedImageDetail_imagePushedAt = ReferencedImageDetail.AddMember("imagePushedAt", _PushTimestamp) + + ReferencedImageDetail_imageManifestMediaType = ReferencedImageDetail.AddMember("imageManifestMediaType", _MediaType) + + ReferencedImageDetail_artifactMediaType = ReferencedImageDetail.AddMember("artifactMediaType", _MediaType) + + ImageTagDetail_imageTag = ImageTagDetail.AddMember("imageTag", _ImageTag) + + ImageTagDetail_createdAt = ImageTagDetail.AddMember("createdAt", _CreationTimestamp) + + ImageTagDetail_imageDetail = ImageTagDetail.AddMember("imageDetail", ReferencedImageDetail) + + _ImageTagDetailList_member = _ImageTagDetailList.AddMember("member", ImageTagDetail) + + InvalidLayerException_message = InvalidLayerException.AddMember("message", _ExceptionMessage) + + InvalidLayerPartException_registryId = InvalidLayerPartException.AddMember("registryId", _RegistryId) + + InvalidLayerPartException_repositoryName = InvalidLayerPartException.AddMember("repositoryName", _RepositoryName) + + InvalidLayerPartException_uploadId = InvalidLayerPartException.AddMember("uploadId", _UploadId) + + InvalidLayerPartException_lastValidByteReceived = InvalidLayerPartException.AddMember("lastValidByteReceived", _PartSize) + + InvalidLayerPartException_message = InvalidLayerPartException.AddMember("message", _ExceptionMessage) + + InvalidParameterException_message = InvalidParameterException.AddMember("message", _ExceptionMessage) + + InvalidTagParameterException_message = InvalidTagParameterException.AddMember("message", _ExceptionMessage) + + LayerAvailability_AVAILABLE = LayerAvailability.AddMember("AVAILABLE", smithyprelude.Unit) + + LayerAvailability_UNAVAILABLE = LayerAvailability.AddMember("UNAVAILABLE", smithyprelude.Unit) + + Layer_layerDigest = Layer.AddMember("layerDigest", _LayerDigest) + + Layer_layerAvailability = Layer.AddMember("layerAvailability", LayerAvailability) + + Layer_layerSize = Layer.AddMember("layerSize", _LayerSizeInBytes) + + Layer_mediaType = Layer.AddMember("mediaType", _MediaType) + + LayerAlreadyExistsException_message = LayerAlreadyExistsException.AddMember("message", _ExceptionMessage) + + _LayerDigestList_member = _LayerDigestList.AddMember("member", _LayerDigest) + + LayerFailureCode_InvalidLayerDigest = LayerFailureCode.AddMember("InvalidLayerDigest", smithyprelude.Unit) + + LayerFailureCode_MissingLayerDigest = LayerFailureCode.AddMember("MissingLayerDigest", smithyprelude.Unit) + + LayerFailure_layerDigest = LayerFailure.AddMember("layerDigest", _BatchedOperationLayerDigest) + + LayerFailure_failureCode = LayerFailure.AddMember("failureCode", LayerFailureCode) + + LayerFailure_failureReason = LayerFailure.AddMember("failureReason", _LayerFailureReason) + + _LayerFailureList_member = _LayerFailureList.AddMember("member", LayerFailure) + + _LayerList_member = _LayerList.AddMember("member", Layer) + + LayerPartTooSmallException_message = LayerPartTooSmallException.AddMember("message", _ExceptionMessage) + + LayersNotFoundException_message = LayersNotFoundException.AddMember("message", _ExceptionMessage) + + LimitExceededException_message = LimitExceededException.AddMember("message", _ExceptionMessage) + + _OperatingSystemList_member = _OperatingSystemList.AddMember("member", _OperatingSystem) + + ReferencedImagesNotFoundException_message = ReferencedImagesNotFoundException.AddMember("message", _ExceptionMessage) + + RegistryAliasStatus_ACTIVE = RegistryAliasStatus.AddMember("ACTIVE", smithyprelude.Unit) + + RegistryAliasStatus_PENDING = RegistryAliasStatus.AddMember("PENDING", smithyprelude.Unit) + + RegistryAliasStatus_REJECTED = RegistryAliasStatus.AddMember("REJECTED", smithyprelude.Unit) + + RegistryAlias_name = RegistryAlias.AddMember("name", _RegistryAliasName) + + RegistryAlias_status = RegistryAlias.AddMember("status", RegistryAliasStatus) + + RegistryAlias_primaryRegistryAlias = RegistryAlias.AddMember("primaryRegistryAlias", _PrimaryRegistryAliasFlag) + + RegistryAlias_defaultRegistryAlias = RegistryAlias.AddMember("defaultRegistryAlias", _DefaultRegistryAliasFlag) + + _RegistryAliasList_member = _RegistryAliasList.AddMember("member", RegistryAlias) + + Registry_registryId = Registry.AddMember("registryId", _RegistryId) + + Registry_registryArn = Registry.AddMember("registryArn", _Arn) + + Registry_registryUri = Registry.AddMember("registryUri", _Url) + + Registry_verified = Registry.AddMember("verified", _RegistryVerified) + + Registry_aliases = Registry.AddMember("aliases", _RegistryAliasList) + + RegistryCatalogData_displayName = RegistryCatalogData.AddMember("displayName", _RegistryDisplayName) + + _RegistryList_member = _RegistryList.AddMember("member", Registry) + + RegistryNotFoundException_message = RegistryNotFoundException.AddMember("message", _ExceptionMessage) + + Repository_repositoryArn = Repository.AddMember("repositoryArn", _Arn) + + Repository_registryId = Repository.AddMember("registryId", _RegistryId) + + Repository_repositoryName = Repository.AddMember("repositoryName", _RepositoryName) + + Repository_repositoryUri = Repository.AddMember("repositoryUri", _Url) + + Repository_createdAt = Repository.AddMember("createdAt", _CreationTimestamp) + + RepositoryAlreadyExistsException_message = RepositoryAlreadyExistsException.AddMember("message", _ExceptionMessage) + + RepositoryCatalogData_description = RepositoryCatalogData.AddMember("description", _RepositoryDescription) + + RepositoryCatalogData_architectures = RepositoryCatalogData.AddMember("architectures", _ArchitectureList) + + RepositoryCatalogData_operatingSystems = RepositoryCatalogData.AddMember("operatingSystems", _OperatingSystemList) + + RepositoryCatalogData_logoUrl = RepositoryCatalogData.AddMember("logoUrl", _ResourceUrl) + + RepositoryCatalogData_aboutText = RepositoryCatalogData.AddMember("aboutText", _AboutText) + + RepositoryCatalogData_usageText = RepositoryCatalogData.AddMember("usageText", _UsageText) + + RepositoryCatalogData_marketplaceCertified = RepositoryCatalogData.AddMember("marketplaceCertified", _MarketplaceCertified) + + RepositoryCatalogDataInput_description = RepositoryCatalogDataInput.AddMember("description", _RepositoryDescription) + + RepositoryCatalogDataInput_architectures = RepositoryCatalogDataInput.AddMember("architectures", _ArchitectureList) + + RepositoryCatalogDataInput_operatingSystems = RepositoryCatalogDataInput.AddMember("operatingSystems", _OperatingSystemList) + + RepositoryCatalogDataInput_logoImageBlob = RepositoryCatalogDataInput.AddMember("logoImageBlob", _LogoImageBlob) + + RepositoryCatalogDataInput_aboutText = RepositoryCatalogDataInput.AddMember("aboutText", _AboutText) + + RepositoryCatalogDataInput_usageText = RepositoryCatalogDataInput.AddMember("usageText", _UsageText) + + RepositoryCatalogDataNotFoundException_message = RepositoryCatalogDataNotFoundException.AddMember("message", _ExceptionMessage) + + _RepositoryList_member = _RepositoryList.AddMember("member", Repository) + + _RepositoryNameList_member = _RepositoryNameList.AddMember("member", _RepositoryName) + + RepositoryNotEmptyException_message = RepositoryNotEmptyException.AddMember("message", _ExceptionMessage) + + RepositoryNotFoundException_message = RepositoryNotFoundException.AddMember("message", _ExceptionMessage) + + RepositoryPolicyNotFoundException_message = RepositoryPolicyNotFoundException.AddMember("message", _ExceptionMessage) + + ServerException_message = ServerException.AddMember("message", _ExceptionMessage) + + Tag_Key = Tag.AddMember("Key", _TagKey) + + Tag_Value = Tag.AddMember("Value", _TagValue) + + _TagKeyList_member = _TagKeyList.AddMember("member", _TagKey) + + _TagList_member = _TagList.AddMember("member", Tag) + + TooManyTagsException_message = TooManyTagsException.AddMember("message", _ExceptionMessage) + + UnsupportedCommandException_message = UnsupportedCommandException.AddMember("message", _ExceptionMessage) + + UploadNotFoundException_message = UploadNotFoundException.AddMember("message", _ExceptionMessage) + + BatchCheckLayerAvailabilityRequest_registryId = BatchCheckLayerAvailabilityRequest.AddMember("registryId", _RegistryIdOrAlias) + + BatchCheckLayerAvailabilityRequest_repositoryName = BatchCheckLayerAvailabilityRequest.AddMember("repositoryName", _RepositoryName) + + BatchCheckLayerAvailabilityRequest_layerDigests = BatchCheckLayerAvailabilityRequest.AddMember("layerDigests", _BatchedOperationLayerDigestList) + + BatchCheckLayerAvailabilityResponse_layers = BatchCheckLayerAvailabilityResponse.AddMember("layers", _LayerList) + + BatchCheckLayerAvailabilityResponse_failures = BatchCheckLayerAvailabilityResponse.AddMember("failures", _LayerFailureList) + + BatchDeleteImageRequest_registryId = BatchDeleteImageRequest.AddMember("registryId", _RegistryIdOrAlias) + + BatchDeleteImageRequest_repositoryName = BatchDeleteImageRequest.AddMember("repositoryName", _RepositoryName) + + BatchDeleteImageRequest_imageIds = BatchDeleteImageRequest.AddMember("imageIds", _ImageIdentifierList) + + BatchDeleteImageResponse_imageIds = BatchDeleteImageResponse.AddMember("imageIds", _ImageIdentifierList) + + BatchDeleteImageResponse_failures = BatchDeleteImageResponse.AddMember("failures", _ImageFailureList) + + CompleteLayerUploadRequest_registryId = CompleteLayerUploadRequest.AddMember("registryId", _RegistryIdOrAlias) + + CompleteLayerUploadRequest_repositoryName = CompleteLayerUploadRequest.AddMember("repositoryName", _RepositoryName) + + CompleteLayerUploadRequest_uploadId = CompleteLayerUploadRequest.AddMember("uploadId", _UploadId) + + CompleteLayerUploadRequest_layerDigests = CompleteLayerUploadRequest.AddMember("layerDigests", _LayerDigestList) + + CompleteLayerUploadResponse_registryId = CompleteLayerUploadResponse.AddMember("registryId", _RegistryId) + + CompleteLayerUploadResponse_repositoryName = CompleteLayerUploadResponse.AddMember("repositoryName", _RepositoryName) + + CompleteLayerUploadResponse_uploadId = CompleteLayerUploadResponse.AddMember("uploadId", _UploadId) + + CompleteLayerUploadResponse_layerDigest = CompleteLayerUploadResponse.AddMember("layerDigest", _LayerDigest) + + CreateRepositoryRequest_repositoryName = CreateRepositoryRequest.AddMember("repositoryName", _RepositoryName) + + CreateRepositoryRequest_catalogData = CreateRepositoryRequest.AddMember("catalogData", RepositoryCatalogDataInput) + + CreateRepositoryRequest_tags = CreateRepositoryRequest.AddMember("tags", _TagList) + + CreateRepositoryResponse_repository = CreateRepositoryResponse.AddMember("repository", Repository) + + CreateRepositoryResponse_catalogData = CreateRepositoryResponse.AddMember("catalogData", RepositoryCatalogData) + + DeleteRepositoryRequest_registryId = DeleteRepositoryRequest.AddMember("registryId", _RegistryId) + + DeleteRepositoryRequest_repositoryName = DeleteRepositoryRequest.AddMember("repositoryName", _RepositoryName) + + DeleteRepositoryRequest_force = DeleteRepositoryRequest.AddMember("force", _ForceFlag) + + DeleteRepositoryResponse_repository = DeleteRepositoryResponse.AddMember("repository", Repository) + + DeleteRepositoryPolicyRequest_registryId = DeleteRepositoryPolicyRequest.AddMember("registryId", _RegistryId) + + DeleteRepositoryPolicyRequest_repositoryName = DeleteRepositoryPolicyRequest.AddMember("repositoryName", _RepositoryName) + + DeleteRepositoryPolicyResponse_registryId = DeleteRepositoryPolicyResponse.AddMember("registryId", _RegistryId) + + DeleteRepositoryPolicyResponse_repositoryName = DeleteRepositoryPolicyResponse.AddMember("repositoryName", _RepositoryName) + + DeleteRepositoryPolicyResponse_policyText = DeleteRepositoryPolicyResponse.AddMember("policyText", _RepositoryPolicyText) + + DescribeImagesRequest_registryId = DescribeImagesRequest.AddMember("registryId", _RegistryId) + + DescribeImagesRequest_repositoryName = DescribeImagesRequest.AddMember("repositoryName", _RepositoryName) + + DescribeImagesRequest_imageIds = DescribeImagesRequest.AddMember("imageIds", _ImageIdentifierList) + + DescribeImagesRequest_nextToken = DescribeImagesRequest.AddMember("nextToken", _NextToken) + + DescribeImagesRequest_maxResults = DescribeImagesRequest.AddMember("maxResults", _MaxResults) + + DescribeImagesResponse_imageDetails = DescribeImagesResponse.AddMember("imageDetails", _ImageDetailList) + + DescribeImagesResponse_nextToken = DescribeImagesResponse.AddMember("nextToken", _NextToken) + + DescribeImageTagsRequest_registryId = DescribeImageTagsRequest.AddMember("registryId", _RegistryId) + + DescribeImageTagsRequest_repositoryName = DescribeImageTagsRequest.AddMember("repositoryName", _RepositoryName) + + DescribeImageTagsRequest_nextToken = DescribeImageTagsRequest.AddMember("nextToken", _NextToken) + + DescribeImageTagsRequest_maxResults = DescribeImageTagsRequest.AddMember("maxResults", _MaxResults) + + DescribeImageTagsResponse_imageTagDetails = DescribeImageTagsResponse.AddMember("imageTagDetails", _ImageTagDetailList) + + DescribeImageTagsResponse_nextToken = DescribeImageTagsResponse.AddMember("nextToken", _NextToken) + + DescribeRegistriesRequest_nextToken = DescribeRegistriesRequest.AddMember("nextToken", _NextToken) + + DescribeRegistriesRequest_maxResults = DescribeRegistriesRequest.AddMember("maxResults", _MaxResults) + + DescribeRegistriesResponse_registries = DescribeRegistriesResponse.AddMember("registries", _RegistryList) + + DescribeRegistriesResponse_nextToken = DescribeRegistriesResponse.AddMember("nextToken", _NextToken) + + DescribeRepositoriesRequest_registryId = DescribeRepositoriesRequest.AddMember("registryId", _RegistryId) + + DescribeRepositoriesRequest_repositoryNames = DescribeRepositoriesRequest.AddMember("repositoryNames", _RepositoryNameList) + + DescribeRepositoriesRequest_nextToken = DescribeRepositoriesRequest.AddMember("nextToken", _NextToken) + + DescribeRepositoriesRequest_maxResults = DescribeRepositoriesRequest.AddMember("maxResults", _MaxResults) + + DescribeRepositoriesResponse_repositories = DescribeRepositoriesResponse.AddMember("repositories", _RepositoryList) + + DescribeRepositoriesResponse_nextToken = DescribeRepositoriesResponse.AddMember("nextToken", _NextToken) + + GetAuthorizationTokenResponse_authorizationData = GetAuthorizationTokenResponse.AddMember("authorizationData", AuthorizationData) + + GetRegistryCatalogDataResponse_registryCatalogData = GetRegistryCatalogDataResponse.AddMember("registryCatalogData", RegistryCatalogData) + + GetRepositoryCatalogDataRequest_registryId = GetRepositoryCatalogDataRequest.AddMember("registryId", _RegistryId) + + GetRepositoryCatalogDataRequest_repositoryName = GetRepositoryCatalogDataRequest.AddMember("repositoryName", _RepositoryName) + + GetRepositoryCatalogDataResponse_catalogData = GetRepositoryCatalogDataResponse.AddMember("catalogData", RepositoryCatalogData) + + GetRepositoryPolicyRequest_registryId = GetRepositoryPolicyRequest.AddMember("registryId", _RegistryId) + + GetRepositoryPolicyRequest_repositoryName = GetRepositoryPolicyRequest.AddMember("repositoryName", _RepositoryName) + + GetRepositoryPolicyResponse_registryId = GetRepositoryPolicyResponse.AddMember("registryId", _RegistryId) + + GetRepositoryPolicyResponse_repositoryName = GetRepositoryPolicyResponse.AddMember("repositoryName", _RepositoryName) + + GetRepositoryPolicyResponse_policyText = GetRepositoryPolicyResponse.AddMember("policyText", _RepositoryPolicyText) + + InitiateLayerUploadRequest_registryId = InitiateLayerUploadRequest.AddMember("registryId", _RegistryIdOrAlias) + + InitiateLayerUploadRequest_repositoryName = InitiateLayerUploadRequest.AddMember("repositoryName", _RepositoryName) + + InitiateLayerUploadResponse_uploadId = InitiateLayerUploadResponse.AddMember("uploadId", _UploadId) + + InitiateLayerUploadResponse_partSize = InitiateLayerUploadResponse.AddMember("partSize", _PartSize) + + ListTagsForResourceRequest_resourceArn = ListTagsForResourceRequest.AddMember("resourceArn", _Arn) + + ListTagsForResourceResponse_tags = ListTagsForResourceResponse.AddMember("tags", _TagList) + + PutImageRequest_registryId = PutImageRequest.AddMember("registryId", _RegistryIdOrAlias) + + PutImageRequest_repositoryName = PutImageRequest.AddMember("repositoryName", _RepositoryName) + + PutImageRequest_imageManifest = PutImageRequest.AddMember("imageManifest", _ImageManifest) + + PutImageRequest_imageManifestMediaType = PutImageRequest.AddMember("imageManifestMediaType", _MediaType) + + PutImageRequest_imageTag = PutImageRequest.AddMember("imageTag", _ImageTag) + + PutImageRequest_imageDigest = PutImageRequest.AddMember("imageDigest", _ImageDigest) + + PutImageResponse_image = PutImageResponse.AddMember("image", Image) + + PutRegistryCatalogDataRequest_displayName = PutRegistryCatalogDataRequest.AddMember("displayName", _RegistryDisplayName) + + PutRegistryCatalogDataResponse_registryCatalogData = PutRegistryCatalogDataResponse.AddMember("registryCatalogData", RegistryCatalogData) + + PutRepositoryCatalogDataRequest_registryId = PutRepositoryCatalogDataRequest.AddMember("registryId", _RegistryId) + + PutRepositoryCatalogDataRequest_repositoryName = PutRepositoryCatalogDataRequest.AddMember("repositoryName", _RepositoryName) + + PutRepositoryCatalogDataRequest_catalogData = PutRepositoryCatalogDataRequest.AddMember("catalogData", RepositoryCatalogDataInput) + + PutRepositoryCatalogDataResponse_catalogData = PutRepositoryCatalogDataResponse.AddMember("catalogData", RepositoryCatalogData) + + SetRepositoryPolicyRequest_registryId = SetRepositoryPolicyRequest.AddMember("registryId", _RegistryId) + + SetRepositoryPolicyRequest_repositoryName = SetRepositoryPolicyRequest.AddMember("repositoryName", _RepositoryName) + + SetRepositoryPolicyRequest_policyText = SetRepositoryPolicyRequest.AddMember("policyText", _RepositoryPolicyText) + + SetRepositoryPolicyRequest_force = SetRepositoryPolicyRequest.AddMember("force", _ForceFlag) + + SetRepositoryPolicyResponse_registryId = SetRepositoryPolicyResponse.AddMember("registryId", _RegistryId) + + SetRepositoryPolicyResponse_repositoryName = SetRepositoryPolicyResponse.AddMember("repositoryName", _RepositoryName) + + SetRepositoryPolicyResponse_policyText = SetRepositoryPolicyResponse.AddMember("policyText", _RepositoryPolicyText) + + TagResourceRequest_resourceArn = TagResourceRequest.AddMember("resourceArn", _Arn) + + TagResourceRequest_tags = TagResourceRequest.AddMember("tags", _TagList) + + UntagResourceRequest_resourceArn = UntagResourceRequest.AddMember("resourceArn", _Arn) + + UntagResourceRequest_tagKeys = UntagResourceRequest.AddMember("tagKeys", _TagKeyList) + + UploadLayerPartRequest_registryId = UploadLayerPartRequest.AddMember("registryId", _RegistryIdOrAlias) + + UploadLayerPartRequest_repositoryName = UploadLayerPartRequest.AddMember("repositoryName", _RepositoryName) + + UploadLayerPartRequest_uploadId = UploadLayerPartRequest.AddMember("uploadId", _UploadId) + + UploadLayerPartRequest_partFirstByte = UploadLayerPartRequest.AddMember("partFirstByte", _PartSize) + + UploadLayerPartRequest_partLastByte = UploadLayerPartRequest.AddMember("partLastByte", _PartSize) + + UploadLayerPartRequest_layerPartBlob = UploadLayerPartRequest.AddMember("layerPartBlob", _LayerPartBlob) + + UploadLayerPartResponse_registryId = UploadLayerPartResponse.AddMember("registryId", _RegistryId) + + UploadLayerPartResponse_repositoryName = UploadLayerPartResponse.AddMember("repositoryName", _RepositoryName) + + UploadLayerPartResponse_uploadId = UploadLayerPartResponse.AddMember("uploadId", _UploadId) + + UploadLayerPartResponse_lastByteReceived = UploadLayerPartResponse.AddMember("lastByteReceived", _PartSize) + +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/serializers.go deleted file mode 100644 index 51bdd17e..00000000 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/serializers.go +++ /dev/null @@ -1,2087 +0,0 @@ -// Code generated by smithy-go-codegen DO NOT EDIT. - -package ecrpublic - -import ( - "bytes" - "context" - "fmt" - "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" - smithy "github.com/aws/smithy-go" - "github.com/aws/smithy-go/encoding/httpbinding" - smithyjson "github.com/aws/smithy-go/encoding/json" - "github.com/aws/smithy-go/middleware" - "github.com/aws/smithy-go/tracing" - smithyhttp "github.com/aws/smithy-go/transport/http" - "path" -) - -type awsAwsjson11_serializeOpBatchCheckLayerAvailability struct { -} - -func (*awsAwsjson11_serializeOpBatchCheckLayerAvailability) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpBatchCheckLayerAvailability) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*BatchCheckLayerAvailabilityInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.BatchCheckLayerAvailability") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentBatchCheckLayerAvailabilityInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpBatchDeleteImage struct { -} - -func (*awsAwsjson11_serializeOpBatchDeleteImage) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpBatchDeleteImage) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*BatchDeleteImageInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.BatchDeleteImage") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentBatchDeleteImageInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpCompleteLayerUpload struct { -} - -func (*awsAwsjson11_serializeOpCompleteLayerUpload) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpCompleteLayerUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*CompleteLayerUploadInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.CompleteLayerUpload") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentCompleteLayerUploadInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpCreateRepository struct { -} - -func (*awsAwsjson11_serializeOpCreateRepository) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpCreateRepository) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*CreateRepositoryInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.CreateRepository") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentCreateRepositoryInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteRepository struct { -} - -func (*awsAwsjson11_serializeOpDeleteRepository) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteRepository) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteRepositoryInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.DeleteRepository") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteRepositoryInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDeleteRepositoryPolicy struct { -} - -func (*awsAwsjson11_serializeOpDeleteRepositoryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDeleteRepositoryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DeleteRepositoryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.DeleteRepositoryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDeleteRepositoryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeImages struct { -} - -func (*awsAwsjson11_serializeOpDescribeImages) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeImages) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeImagesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.DescribeImages") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeImagesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeImageTags struct { -} - -func (*awsAwsjson11_serializeOpDescribeImageTags) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeImageTags) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeImageTagsInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.DescribeImageTags") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeImageTagsInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeRegistries struct { -} - -func (*awsAwsjson11_serializeOpDescribeRegistries) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeRegistries) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeRegistriesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.DescribeRegistries") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeRegistriesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpDescribeRepositories struct { -} - -func (*awsAwsjson11_serializeOpDescribeRepositories) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpDescribeRepositories) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*DescribeRepositoriesInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.DescribeRepositories") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentDescribeRepositoriesInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetAuthorizationToken struct { -} - -func (*awsAwsjson11_serializeOpGetAuthorizationToken) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetAuthorizationToken) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetAuthorizationTokenInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.GetAuthorizationToken") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetAuthorizationTokenInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetRegistryCatalogData struct { -} - -func (*awsAwsjson11_serializeOpGetRegistryCatalogData) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetRegistryCatalogData) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetRegistryCatalogDataInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.GetRegistryCatalogData") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetRegistryCatalogDataInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetRepositoryCatalogData struct { -} - -func (*awsAwsjson11_serializeOpGetRepositoryCatalogData) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetRepositoryCatalogData) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetRepositoryCatalogDataInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.GetRepositoryCatalogData") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetRepositoryCatalogDataInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpGetRepositoryPolicy struct { -} - -func (*awsAwsjson11_serializeOpGetRepositoryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpGetRepositoryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*GetRepositoryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.GetRepositoryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentGetRepositoryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpInitiateLayerUpload struct { -} - -func (*awsAwsjson11_serializeOpInitiateLayerUpload) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpInitiateLayerUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*InitiateLayerUploadInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.InitiateLayerUpload") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentInitiateLayerUploadInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpListTagsForResource struct { -} - -func (*awsAwsjson11_serializeOpListTagsForResource) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpListTagsForResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*ListTagsForResourceInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.ListTagsForResource") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentListTagsForResourceInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutImage struct { -} - -func (*awsAwsjson11_serializeOpPutImage) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutImage) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutImageInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.PutImage") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutImageInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutRegistryCatalogData struct { -} - -func (*awsAwsjson11_serializeOpPutRegistryCatalogData) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutRegistryCatalogData) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutRegistryCatalogDataInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.PutRegistryCatalogData") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutRegistryCatalogDataInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpPutRepositoryCatalogData struct { -} - -func (*awsAwsjson11_serializeOpPutRepositoryCatalogData) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpPutRepositoryCatalogData) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*PutRepositoryCatalogDataInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.PutRepositoryCatalogData") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentPutRepositoryCatalogDataInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpSetRepositoryPolicy struct { -} - -func (*awsAwsjson11_serializeOpSetRepositoryPolicy) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpSetRepositoryPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*SetRepositoryPolicyInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.SetRepositoryPolicy") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentSetRepositoryPolicyInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpTagResource struct { -} - -func (*awsAwsjson11_serializeOpTagResource) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpTagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*TagResourceInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.TagResource") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentTagResourceInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUntagResource struct { -} - -func (*awsAwsjson11_serializeOpUntagResource) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUntagResource) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UntagResourceInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.UntagResource") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUntagResourceInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} - -type awsAwsjson11_serializeOpUploadLayerPart struct { -} - -func (*awsAwsjson11_serializeOpUploadLayerPart) ID() string { - return "OperationSerializer" -} - -func (m *awsAwsjson11_serializeOpUploadLayerPart) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( - out middleware.SerializeOutput, metadata middleware.Metadata, err error, -) { - _, span := tracing.StartSpan(ctx, "OperationSerializer") - endTimer := startMetricTimer(ctx, "client.call.serialization_duration") - defer endTimer() - defer span.End() - request, ok := in.Request.(*smithyhttp.Request) - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} - } - - input, ok := in.Parameters.(*UploadLayerPartInput) - _ = input - if !ok { - return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} - } - - operationPath := "/" - if len(request.Request.URL.Path) == 0 { - request.Request.URL.Path = operationPath - } else { - request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) - if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { - request.Request.URL.Path += "/" - } - } - request.Request.Method = "POST" - httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) - if err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") - httpBindingEncoder.SetHeader("X-Amz-Target").String("SpencerFrontendService.UploadLayerPart") - - jsonEncoder := smithyjson.NewEncoder() - if err := awsAwsjson11_serializeOpDocumentUploadLayerPartInput(input, jsonEncoder.Value); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - - if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { - return out, metadata, &smithy.SerializationError{Err: err} - } - in.Request = request - - endTimer() - span.End() - return next.HandleSerialize(ctx, in) -} -func awsAwsjson11_serializeDocumentArchitectureList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentBatchedOperationLayerDigestList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentImageIdentifier(v *types.ImageIdentifier, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageDigest != nil { - ok := object.Key("imageDigest") - ok.String(*v.ImageDigest) - } - - if v.ImageTag != nil { - ok := object.Key("imageTag") - ok.String(*v.ImageTag) - } - - return nil -} - -func awsAwsjson11_serializeDocumentImageIdentifierList(v []types.ImageIdentifier, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentImageIdentifier(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeDocumentLayerDigestList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentOperatingSystemList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentRepositoryCatalogDataInput(v *types.RepositoryCatalogDataInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.AboutText != nil { - ok := object.Key("aboutText") - ok.String(*v.AboutText) - } - - if v.Architectures != nil { - ok := object.Key("architectures") - if err := awsAwsjson11_serializeDocumentArchitectureList(v.Architectures, ok); err != nil { - return err - } - } - - if v.Description != nil { - ok := object.Key("description") - ok.String(*v.Description) - } - - if v.LogoImageBlob != nil { - ok := object.Key("logoImageBlob") - ok.Base64EncodeBytes(v.LogoImageBlob) - } - - if v.OperatingSystems != nil { - ok := object.Key("operatingSystems") - if err := awsAwsjson11_serializeDocumentOperatingSystemList(v.OperatingSystems, ok); err != nil { - return err - } - } - - if v.UsageText != nil { - ok := object.Key("usageText") - ok.String(*v.UsageText) - } - - return nil -} - -func awsAwsjson11_serializeDocumentRepositoryNameList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Key != nil { - ok := object.Key("Key") - ok.String(*v.Key) - } - - if v.Value != nil { - ok := object.Key("Value") - ok.String(*v.Value) - } - - return nil -} - -func awsAwsjson11_serializeDocumentTagKeyList(v []string, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - av.String(v[i]) - } - return nil -} - -func awsAwsjson11_serializeDocumentTagList(v []types.Tag, value smithyjson.Value) error { - array := value.Array() - defer array.Close() - - for i := range v { - av := array.Value() - if err := awsAwsjson11_serializeDocumentTag(&v[i], av); err != nil { - return err - } - } - return nil -} - -func awsAwsjson11_serializeOpDocumentBatchCheckLayerAvailabilityInput(v *BatchCheckLayerAvailabilityInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerDigests != nil { - ok := object.Key("layerDigests") - if err := awsAwsjson11_serializeDocumentBatchedOperationLayerDigestList(v.LayerDigests, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentBatchDeleteImageInput(v *BatchDeleteImageInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageIds != nil { - ok := object.Key("imageIds") - if err := awsAwsjson11_serializeDocumentImageIdentifierList(v.ImageIds, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentCompleteLayerUploadInput(v *CompleteLayerUploadInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerDigests != nil { - ok := object.Key("layerDigests") - if err := awsAwsjson11_serializeDocumentLayerDigestList(v.LayerDigests, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.UploadId != nil { - ok := object.Key("uploadId") - ok.String(*v.UploadId) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentCreateRepositoryInput(v *CreateRepositoryInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.CatalogData != nil { - ok := object.Key("catalogData") - if err := awsAwsjson11_serializeDocumentRepositoryCatalogDataInput(v.CatalogData, ok); err != nil { - return err - } - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.Tags != nil { - ok := object.Key("tags") - if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteRepositoryInput(v *DeleteRepositoryInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Force { - ok := object.Key("force") - ok.Boolean(v.Force) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDeleteRepositoryPolicyInput(v *DeleteRepositoryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeImagesInput(v *DescribeImagesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageIds != nil { - ok := object.Key("imageIds") - if err := awsAwsjson11_serializeDocumentImageIdentifierList(v.ImageIds, ok); err != nil { - return err - } - } - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeImageTagsInput(v *DescribeImageTagsInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeRegistriesInput(v *DescribeRegistriesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentDescribeRepositoriesInput(v *DescribeRepositoriesInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.MaxResults != nil { - ok := object.Key("maxResults") - ok.Integer(*v.MaxResults) - } - - if v.NextToken != nil { - ok := object.Key("nextToken") - ok.String(*v.NextToken) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryNames != nil { - ok := object.Key("repositoryNames") - if err := awsAwsjson11_serializeDocumentRepositoryNameList(v.RepositoryNames, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetAuthorizationTokenInput(v *GetAuthorizationTokenInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetRegistryCatalogDataInput(v *GetRegistryCatalogDataInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetRepositoryCatalogDataInput(v *GetRepositoryCatalogDataInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentGetRepositoryPolicyInput(v *GetRepositoryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentInitiateLayerUploadInput(v *InitiateLayerUploadInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentListTagsForResourceInput(v *ListTagsForResourceInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ResourceArn != nil { - ok := object.Key("resourceArn") - ok.String(*v.ResourceArn) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutImageInput(v *PutImageInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ImageDigest != nil { - ok := object.Key("imageDigest") - ok.String(*v.ImageDigest) - } - - if v.ImageManifest != nil { - ok := object.Key("imageManifest") - ok.String(*v.ImageManifest) - } - - if v.ImageManifestMediaType != nil { - ok := object.Key("imageManifestMediaType") - ok.String(*v.ImageManifestMediaType) - } - - if v.ImageTag != nil { - ok := object.Key("imageTag") - ok.String(*v.ImageTag) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutRegistryCatalogDataInput(v *PutRegistryCatalogDataInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.DisplayName != nil { - ok := object.Key("displayName") - ok.String(*v.DisplayName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentPutRepositoryCatalogDataInput(v *PutRepositoryCatalogDataInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.CatalogData != nil { - ok := object.Key("catalogData") - if err := awsAwsjson11_serializeDocumentRepositoryCatalogDataInput(v.CatalogData, ok); err != nil { - return err - } - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentSetRepositoryPolicyInput(v *SetRepositoryPolicyInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.Force { - ok := object.Key("force") - ok.Boolean(v.Force) - } - - if v.PolicyText != nil { - ok := object.Key("policyText") - ok.String(*v.PolicyText) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentTagResourceInput(v *TagResourceInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ResourceArn != nil { - ok := object.Key("resourceArn") - ok.String(*v.ResourceArn) - } - - if v.Tags != nil { - ok := object.Key("tags") - if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUntagResourceInput(v *UntagResourceInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.ResourceArn != nil { - ok := object.Key("resourceArn") - ok.String(*v.ResourceArn) - } - - if v.TagKeys != nil { - ok := object.Key("tagKeys") - if err := awsAwsjson11_serializeDocumentTagKeyList(v.TagKeys, ok); err != nil { - return err - } - } - - return nil -} - -func awsAwsjson11_serializeOpDocumentUploadLayerPartInput(v *UploadLayerPartInput, value smithyjson.Value) error { - object := value.Object() - defer object.Close() - - if v.LayerPartBlob != nil { - ok := object.Key("layerPartBlob") - ok.Base64EncodeBytes(v.LayerPartBlob) - } - - if v.PartFirstByte != nil { - ok := object.Key("partFirstByte") - ok.Long(*v.PartFirstByte) - } - - if v.PartLastByte != nil { - ok := object.Key("partLastByte") - ok.Long(*v.PartLastByte) - } - - if v.RegistryId != nil { - ok := object.Key("registryId") - ok.String(*v.RegistryId) - } - - if v.RepositoryName != nil { - ok := object.Key("repositoryName") - ok.String(*v.RepositoryName) - } - - if v.UploadId != nil { - ok := object.Key("uploadId") - ok.String(*v.UploadId) - } - - return nil -} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/type_registry.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/type_registry.go new file mode 100644 index 00000000..1d7802a5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/type_registry.go @@ -0,0 +1,111 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ecrpublic + +import ( + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/types" + smithy "github.com/aws/smithy-go" +) + +// TypeRegistry is the type registry for this service. +var TypeRegistry = &smithy.TypeRegistry{ + Entries: map[string]*smithy.TypeRegistryEntry{ + "com.amazonaws.ecrpublic#EmptyUploadException": { + Schema: schemas.EmptyUploadException, + New: func() any { return &types.EmptyUploadException{} }, + }, + "com.amazonaws.ecrpublic#ImageAlreadyExistsException": { + Schema: schemas.ImageAlreadyExistsException, + New: func() any { return &types.ImageAlreadyExistsException{} }, + }, + "com.amazonaws.ecrpublic#ImageDigestDoesNotMatchException": { + Schema: schemas.ImageDigestDoesNotMatchException, + New: func() any { return &types.ImageDigestDoesNotMatchException{} }, + }, + "com.amazonaws.ecrpublic#ImageNotFoundException": { + Schema: schemas.ImageNotFoundException, + New: func() any { return &types.ImageNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#ImageTagAlreadyExistsException": { + Schema: schemas.ImageTagAlreadyExistsException, + New: func() any { return &types.ImageTagAlreadyExistsException{} }, + }, + "com.amazonaws.ecrpublic#InvalidLayerException": { + Schema: schemas.InvalidLayerException, + New: func() any { return &types.InvalidLayerException{} }, + }, + "com.amazonaws.ecrpublic#InvalidLayerPartException": { + Schema: schemas.InvalidLayerPartException, + New: func() any { return &types.InvalidLayerPartException{} }, + }, + "com.amazonaws.ecrpublic#InvalidParameterException": { + Schema: schemas.InvalidParameterException, + New: func() any { return &types.InvalidParameterException{} }, + }, + "com.amazonaws.ecrpublic#InvalidTagParameterException": { + Schema: schemas.InvalidTagParameterException, + New: func() any { return &types.InvalidTagParameterException{} }, + }, + "com.amazonaws.ecrpublic#LayerAlreadyExistsException": { + Schema: schemas.LayerAlreadyExistsException, + New: func() any { return &types.LayerAlreadyExistsException{} }, + }, + "com.amazonaws.ecrpublic#LayerPartTooSmallException": { + Schema: schemas.LayerPartTooSmallException, + New: func() any { return &types.LayerPartTooSmallException{} }, + }, + "com.amazonaws.ecrpublic#LayersNotFoundException": { + Schema: schemas.LayersNotFoundException, + New: func() any { return &types.LayersNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#LimitExceededException": { + Schema: schemas.LimitExceededException, + New: func() any { return &types.LimitExceededException{} }, + }, + "com.amazonaws.ecrpublic#ReferencedImagesNotFoundException": { + Schema: schemas.ReferencedImagesNotFoundException, + New: func() any { return &types.ReferencedImagesNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#RegistryNotFoundException": { + Schema: schemas.RegistryNotFoundException, + New: func() any { return &types.RegistryNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#RepositoryAlreadyExistsException": { + Schema: schemas.RepositoryAlreadyExistsException, + New: func() any { return &types.RepositoryAlreadyExistsException{} }, + }, + "com.amazonaws.ecrpublic#RepositoryCatalogDataNotFoundException": { + Schema: schemas.RepositoryCatalogDataNotFoundException, + New: func() any { return &types.RepositoryCatalogDataNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#RepositoryNotEmptyException": { + Schema: schemas.RepositoryNotEmptyException, + New: func() any { return &types.RepositoryNotEmptyException{} }, + }, + "com.amazonaws.ecrpublic#RepositoryNotFoundException": { + Schema: schemas.RepositoryNotFoundException, + New: func() any { return &types.RepositoryNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#RepositoryPolicyNotFoundException": { + Schema: schemas.RepositoryPolicyNotFoundException, + New: func() any { return &types.RepositoryPolicyNotFoundException{} }, + }, + "com.amazonaws.ecrpublic#ServerException": { + Schema: schemas.ServerException, + New: func() any { return &types.ServerException{} }, + }, + "com.amazonaws.ecrpublic#TooManyTagsException": { + Schema: schemas.TooManyTagsException, + New: func() any { return &types.TooManyTagsException{} }, + }, + "com.amazonaws.ecrpublic#UnsupportedCommandException": { + Schema: schemas.UnsupportedCommandException, + New: func() any { return &types.UnsupportedCommandException{} }, + }, + "com.amazonaws.ecrpublic#UploadNotFoundException": { + Schema: schemas.UploadNotFoundException, + New: func() any { return &types.UploadNotFoundException{} }, + }, + }, +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/common_serde.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/common_serde.go new file mode 100644 index 00000000..e9feecee --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/common_serde.go @@ -0,0 +1,452 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types + +import ( + smithy "github.com/aws/smithy-go" +) + +func serializeArchitectureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeBatchedOperationLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeImageDetailList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageDetail) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageIdentifierList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageIdentifier) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagDetailList(s smithy.ShapeSerializer, schema *smithy.Schema, v []ImageTagDetail) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeImageTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerDigestList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeLayerFailureList(s smithy.ShapeSerializer, schema *smithy.Schema, v []LayerFailure) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeLayerList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Layer) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeOperatingSystemList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeRegistryAliasList(s smithy.ShapeSerializer, schema *smithy.Schema, v []RegistryAlias) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRegistryList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Registry) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Repository) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func serializeRepositoryNameList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeTagKeyList(s smithy.ShapeSerializer, schema *smithy.Schema, v []string) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteString(schema.ListMember(), string(vv)) + } + s.CloseList() +} + +func serializeTagList(s smithy.ShapeSerializer, schema *smithy.Schema, v []Tag) { + if v == nil { + return + } + s.WriteList(schema) + for _, vv := range v { + s.WriteStruct(schema.ListMember()) + vv.SerializeMembers(s) + s.CloseStruct() + } + s.CloseList() +} + +func deserializeArchitectureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeBatchedOperationLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageDetailList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageDetail) error { + *v = make([]ImageDetail, 0) + var vv ImageDetail + return smithy.ReadList(d, s, func() error { + vv = ImageDetail{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageFailure) error { + *v = make([]ImageFailure, 0) + var vv ImageFailure + return smithy.ReadList(d, s, func() error { + vv = ImageFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageIdentifierList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageIdentifier) error { + *v = make([]ImageIdentifier, 0) + var vv ImageIdentifier + return smithy.ReadList(d, s, func() error { + vv = ImageIdentifier{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagDetailList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]ImageTagDetail) error { + *v = make([]ImageTagDetail, 0) + var vv ImageTagDetail + return smithy.ReadList(d, s, func() error { + vv = ImageTagDetail{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeImageTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerDigestList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerFailureList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]LayerFailure) error { + *v = make([]LayerFailure, 0) + var vv LayerFailure + return smithy.ReadList(d, s, func() error { + vv = LayerFailure{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeLayerList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Layer) error { + *v = make([]Layer, 0) + var vv Layer + return smithy.ReadList(d, s, func() error { + vv = Layer{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeOperatingSystemList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRegistryAliasList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]RegistryAlias) error { + *v = make([]RegistryAlias, 0) + var vv RegistryAlias + return smithy.ReadList(d, s, func() error { + vv = RegistryAlias{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRegistryList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Registry) error { + *v = make([]Registry, 0) + var vv Registry + return smithy.ReadList(d, s, func() error { + vv = Registry{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Repository) error { + *v = make([]Repository, 0) + var vv Repository + return smithy.ReadList(d, s, func() error { + vv = Repository{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeRepositoryNameList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagKeyList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]string) error { + *v = make([]string, 0) + var vv string + return smithy.ReadList(d, s, func() error { + + if err := d.ReadString(s.ListMember(), &vv); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} + +func deserializeTagList(d smithy.ShapeDeserializer, s *smithy.Schema, v *[]Tag) error { + *v = make([]Tag, 0) + var vv Tag + return smithy.ReadList(d, s, func() error { + vv = Tag{} + if err := vv.Deserialize(d); err != nil { + return err + } + + *v = append(*v, vv) + return nil + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/errors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/errors.go index 349db08f..2da16eea 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/errors.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/errors.go @@ -4,6 +4,7 @@ package types import ( "fmt" + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" smithy "github.com/aws/smithy-go" ) @@ -32,6 +33,27 @@ func (e *EmptyUploadException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *EmptyUploadException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *EmptyUploadException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.EmptyUploadException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *EmptyUploadException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.EmptyUploadException_message, *v.Message) + } +} +func (v *EmptyUploadException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.EmptyUploadException, func(s *smithy.Schema) error { + switch s { + case schemas.EmptyUploadException_message: + v.Message = new(string) + return d.ReadString(schemas.EmptyUploadException_message, v.Message) + } + return nil + }) +} // The specified image has already been pushed, and there were no changes to the // manifest or image tag after the last push. @@ -59,6 +81,27 @@ func (e *ImageAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageAlreadyExistsException_message, *v.Message) + } +} +func (v *ImageAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The specified image digest doesn't match the digest that Amazon ECR calculated // for the image. @@ -86,6 +129,27 @@ func (e *ImageDigestDoesNotMatchException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageDigestDoesNotMatchException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageDigestDoesNotMatchException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageDigestDoesNotMatchException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageDigestDoesNotMatchException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageDigestDoesNotMatchException_message, *v.Message) + } +} +func (v *ImageDigestDoesNotMatchException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageDigestDoesNotMatchException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageDigestDoesNotMatchException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageDigestDoesNotMatchException_message, v.Message) + } + return nil + }) +} // The image requested doesn't exist in the specified repository. type ImageNotFoundException struct { @@ -112,6 +176,27 @@ func (e *ImageNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageNotFoundException_message, *v.Message) + } +} +func (v *ImageNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageNotFoundException_message, v.Message) + } + return nil + }) +} // The specified image is tagged with a tag that already exists. The repository is // configured for tag immutability. @@ -139,6 +224,27 @@ func (e *ImageTagAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ImageTagAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ImageTagAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageTagAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageTagAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ImageTagAlreadyExistsException_message, *v.Message) + } +} +func (v *ImageTagAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageTagAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.ImageTagAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.ImageTagAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The layer digest calculation performed by Amazon ECR when the image layer // doesn't match the digest specified. @@ -166,6 +272,27 @@ func (e *InvalidLayerException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidLayerException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidLayerException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidLayerException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidLayerException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.InvalidLayerException_message, *v.Message) + } +} +func (v *InvalidLayerException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidLayerException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidLayerException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidLayerException_message, v.Message) + } + return nil + }) +} // The layer part size isn't valid, or the first byte specified isn't consecutive // to the last byte of a previous layer part upload. @@ -198,6 +325,51 @@ func (e *InvalidLayerPartException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidLayerPartException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidLayerPartException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidLayerPartException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidLayerPartException) SerializeMembers(s smithy.ShapeSerializer) { + if v.LastValidByteReceived != nil { + s.WriteInt64(schemas.InvalidLayerPartException_lastValidByteReceived, *v.LastValidByteReceived) + } + if v.Message != nil { + s.WriteString(schemas.InvalidLayerPartException_message, *v.Message) + } + if v.RegistryId != nil { + s.WriteString(schemas.InvalidLayerPartException_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.InvalidLayerPartException_repositoryName, *v.RepositoryName) + } + if v.UploadId != nil { + s.WriteString(schemas.InvalidLayerPartException_uploadId, *v.UploadId) + } +} +func (v *InvalidLayerPartException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidLayerPartException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidLayerPartException_lastValidByteReceived: + v.LastValidByteReceived = new(int64) + return d.ReadInt64(schemas.InvalidLayerPartException_lastValidByteReceived, v.LastValidByteReceived) + case schemas.InvalidLayerPartException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidLayerPartException_message, v.Message) + case schemas.InvalidLayerPartException_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.InvalidLayerPartException_registryId, v.RegistryId) + case schemas.InvalidLayerPartException_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.InvalidLayerPartException_repositoryName, v.RepositoryName) + case schemas.InvalidLayerPartException_uploadId: + v.UploadId = new(string) + return d.ReadString(schemas.InvalidLayerPartException_uploadId, v.UploadId) + } + return nil + }) +} // The specified parameter is invalid. Review the available parameters for the API // request. @@ -225,6 +397,27 @@ func (e *InvalidParameterException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidParameterException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidParameterException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidParameterException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidParameterException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.InvalidParameterException_message, *v.Message) + } +} +func (v *InvalidParameterException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidParameterException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidParameterException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidParameterException_message, v.Message) + } + return nil + }) +} // An invalid parameter has been specified. Tag keys can have a maximum character // length of 128 characters, and tag values can have a maximum length of 256 @@ -253,6 +446,27 @@ func (e *InvalidTagParameterException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *InvalidTagParameterException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *InvalidTagParameterException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.InvalidTagParameterException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *InvalidTagParameterException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.InvalidTagParameterException_message, *v.Message) + } +} +func (v *InvalidTagParameterException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.InvalidTagParameterException, func(s *smithy.Schema) error { + switch s { + case schemas.InvalidTagParameterException_message: + v.Message = new(string) + return d.ReadString(schemas.InvalidTagParameterException_message, v.Message) + } + return nil + }) +} // The image layer already exists in the associated repository. type LayerAlreadyExistsException struct { @@ -279,6 +493,27 @@ func (e *LayerAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayerAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayerAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayerAlreadyExistsException_message, *v.Message) + } +} +func (v *LayerAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.LayerAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.LayerAlreadyExistsException_message, v.Message) + } + return nil + }) +} // Layer parts must be at least 5 MiB in size. type LayerPartTooSmallException struct { @@ -305,6 +540,27 @@ func (e *LayerPartTooSmallException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayerPartTooSmallException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayerPartTooSmallException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerPartTooSmallException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerPartTooSmallException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayerPartTooSmallException_message, *v.Message) + } +} +func (v *LayerPartTooSmallException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerPartTooSmallException, func(s *smithy.Schema) error { + switch s { + case schemas.LayerPartTooSmallException_message: + v.Message = new(string) + return d.ReadString(schemas.LayerPartTooSmallException_message, v.Message) + } + return nil + }) +} // The specified layers can't be found, or the specified layer isn't valid for // this repository. @@ -332,6 +588,27 @@ func (e *LayersNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LayersNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LayersNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayersNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayersNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LayersNotFoundException_message, *v.Message) + } +} +func (v *LayersNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayersNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.LayersNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.LayersNotFoundException_message, v.Message) + } + return nil + }) +} // The operation didn't succeed because it would have exceeded a service limit for // your account. For more information, see [Amazon ECR Service Quotas]in the Amazon Elastic Container @@ -362,6 +639,27 @@ func (e *LimitExceededException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *LimitExceededException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *LimitExceededException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LimitExceededException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LimitExceededException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.LimitExceededException_message, *v.Message) + } +} +func (v *LimitExceededException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LimitExceededException, func(s *smithy.Schema) error { + switch s { + case schemas.LimitExceededException_message: + v.Message = new(string) + return d.ReadString(schemas.LimitExceededException_message, v.Message) + } + return nil + }) +} // The manifest list is referencing an image that doesn't exist. type ReferencedImagesNotFoundException struct { @@ -388,6 +686,27 @@ func (e *ReferencedImagesNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ReferencedImagesNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *ReferencedImagesNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ReferencedImagesNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ReferencedImagesNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ReferencedImagesNotFoundException_message, *v.Message) + } +} +func (v *ReferencedImagesNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ReferencedImagesNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.ReferencedImagesNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.ReferencedImagesNotFoundException_message, v.Message) + } + return nil + }) +} // The registry doesn't exist. type RegistryNotFoundException struct { @@ -414,6 +733,27 @@ func (e *RegistryNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RegistryNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RegistryNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegistryNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegistryNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RegistryNotFoundException_message, *v.Message) + } +} +func (v *RegistryNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegistryNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RegistryNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RegistryNotFoundException_message, v.Message) + } + return nil + }) +} // The specified repository already exists in the specified registry. type RepositoryAlreadyExistsException struct { @@ -440,6 +780,27 @@ func (e *RepositoryAlreadyExistsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryAlreadyExistsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryAlreadyExistsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryAlreadyExistsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryAlreadyExistsException_message, *v.Message) + } +} +func (v *RepositoryAlreadyExistsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryAlreadyExistsException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryAlreadyExistsException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryAlreadyExistsException_message, v.Message) + } + return nil + }) +} // The repository catalog data doesn't exist. type RepositoryCatalogDataNotFoundException struct { @@ -468,6 +829,27 @@ func (e *RepositoryCatalogDataNotFoundException) ErrorCode() string { func (e *RepositoryCatalogDataNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryCatalogDataNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryCatalogDataNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryCatalogDataNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryCatalogDataNotFoundException_message, *v.Message) + } +} +func (v *RepositoryCatalogDataNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryCatalogDataNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryCatalogDataNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryCatalogDataNotFoundException_message, v.Message) + } + return nil + }) +} // The specified repository contains images. To delete a repository that contains // images, you must force the deletion with the force parameter. @@ -495,6 +877,27 @@ func (e *RepositoryNotEmptyException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryNotEmptyException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryNotEmptyException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryNotEmptyException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryNotEmptyException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryNotEmptyException_message, *v.Message) + } +} +func (v *RepositoryNotEmptyException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryNotEmptyException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryNotEmptyException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryNotEmptyException_message, v.Message) + } + return nil + }) +} // The specified repository can't be found. Check the spelling of the specified // repository and ensure that you're performing operations on the correct registry. @@ -522,6 +925,27 @@ func (e *RepositoryNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryNotFoundException_message, *v.Message) + } +} +func (v *RepositoryNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryNotFoundException_message, v.Message) + } + return nil + }) +} // The specified repository and registry combination doesn't have an associated // repository policy. @@ -549,6 +973,27 @@ func (e *RepositoryPolicyNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *RepositoryPolicyNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *RepositoryPolicyNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryPolicyNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryPolicyNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.RepositoryPolicyNotFoundException_message, *v.Message) + } +} +func (v *RepositoryPolicyNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryPolicyNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryPolicyNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.RepositoryPolicyNotFoundException_message, v.Message) + } + return nil + }) +} // These errors are usually caused by a server-side issue. type ServerException struct { @@ -575,6 +1020,27 @@ func (e *ServerException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *ServerException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } +func (v *ServerException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ServerException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ServerException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.ServerException_message, *v.Message) + } +} +func (v *ServerException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ServerException, func(s *smithy.Schema) error { + switch s { + case schemas.ServerException_message: + v.Message = new(string) + return d.ReadString(schemas.ServerException_message, v.Message) + } + return nil + }) +} // The list of tags on the repository is over the limit. The maximum number of // tags that can be applied to a repository is 50. @@ -602,6 +1068,27 @@ func (e *TooManyTagsException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *TooManyTagsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *TooManyTagsException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.TooManyTagsException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *TooManyTagsException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.TooManyTagsException_message, *v.Message) + } +} +func (v *TooManyTagsException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.TooManyTagsException, func(s *smithy.Schema) error { + switch s { + case schemas.TooManyTagsException_message: + v.Message = new(string) + return d.ReadString(schemas.TooManyTagsException_message, v.Message) + } + return nil + }) +} // The action isn't supported in this Region. type UnsupportedCommandException struct { @@ -628,6 +1115,27 @@ func (e *UnsupportedCommandException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UnsupportedCommandException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UnsupportedCommandException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UnsupportedCommandException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UnsupportedCommandException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UnsupportedCommandException_message, *v.Message) + } +} +func (v *UnsupportedCommandException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UnsupportedCommandException, func(s *smithy.Schema) error { + switch s { + case schemas.UnsupportedCommandException_message: + v.Message = new(string) + return d.ReadString(schemas.UnsupportedCommandException_message, v.Message) + } + return nil + }) +} // The upload can't be found, or the specified upload ID isn't valid for this // repository. @@ -655,3 +1163,24 @@ func (e *UploadNotFoundException) ErrorCode() string { return *e.ErrorCodeOverride } func (e *UploadNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +func (v *UploadNotFoundException) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.UploadNotFoundException) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *UploadNotFoundException) SerializeMembers(s smithy.ShapeSerializer) { + if v.Message != nil { + s.WriteString(schemas.UploadNotFoundException_message, *v.Message) + } +} +func (v *UploadNotFoundException) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.UploadNotFoundException, func(s *smithy.Schema) error { + switch s { + case schemas.UploadNotFoundException_message: + v.Message = new(string) + return d.ReadString(schemas.UploadNotFoundException_message, v.Message) + } + return nil + }) +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/types.go index 50f55e9f..d41b8972 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/types.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ecrpublic/types/types.go @@ -3,6 +3,8 @@ package types import ( + "github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas" + smithy "github.com/aws/smithy-go" smithydocument "github.com/aws/smithy-go/document" "time" ) @@ -22,6 +24,34 @@ type AuthorizationData struct { noSmithyDocumentSerde } +func (v *AuthorizationData) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.AuthorizationData) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *AuthorizationData) SerializeMembers(s smithy.ShapeSerializer) { + if v.AuthorizationToken != nil { + s.WriteString(schemas.AuthorizationData_authorizationToken, *v.AuthorizationToken) + } + if v.ExpiresAt != nil { + s.WriteTime(schemas.AuthorizationData_expiresAt, *v.ExpiresAt) + } +} +func (v *AuthorizationData) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.AuthorizationData, func(s *smithy.Schema) error { + switch s { + case schemas.AuthorizationData_authorizationToken: + v.AuthorizationToken = new(string) + return d.ReadString(schemas.AuthorizationData_authorizationToken, v.AuthorizationToken) + case schemas.AuthorizationData_expiresAt: + v.ExpiresAt = new(time.Time) + return d.ReadTime(schemas.AuthorizationData_expiresAt, v.ExpiresAt) + } + return nil + }) +} + // An object that represents an Amazon ECR image. type Image struct { @@ -44,6 +74,54 @@ type Image struct { noSmithyDocumentSerde } +func (v *Image) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Image) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Image) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageId != nil { + s.WriteStruct(schemas.Image_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageManifest != nil { + s.WriteString(schemas.Image_imageManifest, *v.ImageManifest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.Image_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.RegistryId != nil { + s.WriteString(schemas.Image_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.Image_repositoryName, *v.RepositoryName) + } +} +func (v *Image) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Image, func(s *smithy.Schema) error { + switch s { + case schemas.Image_imageId: + v.ImageId = &ImageIdentifier{} + return v.ImageId.Deserialize(d) + case schemas.Image_imageManifest: + v.ImageManifest = new(string) + return d.ReadString(schemas.Image_imageManifest, v.ImageManifest) + case schemas.Image_imageManifestMediaType: + v.ImageManifestMediaType = new(string) + return d.ReadString(schemas.Image_imageManifestMediaType, v.ImageManifestMediaType) + case schemas.Image_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.Image_registryId, v.RegistryId) + case schemas.Image_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.Image_repositoryName, v.RepositoryName) + } + return nil + }) +} + // An object that describes an image that's returned by a DescribeImages operation. type ImageDetail struct { @@ -84,6 +162,67 @@ type ImageDetail struct { noSmithyDocumentSerde } +func (v *ImageDetail) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageDetail) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageDetail) SerializeMembers(s smithy.ShapeSerializer) { + if v.ArtifactMediaType != nil { + s.WriteString(schemas.ImageDetail_artifactMediaType, *v.ArtifactMediaType) + } + if v.ImageDigest != nil { + s.WriteString(schemas.ImageDetail_imageDigest, *v.ImageDigest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.ImageDetail_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.ImagePushedAt != nil { + s.WriteTime(schemas.ImageDetail_imagePushedAt, *v.ImagePushedAt) + } + if v.ImageSizeInBytes != nil { + s.WriteInt64(schemas.ImageDetail_imageSizeInBytes, *v.ImageSizeInBytes) + } + serializeImageTagList(s, schemas.ImageDetail_imageTags, v.ImageTags) + if v.RegistryId != nil { + s.WriteString(schemas.ImageDetail_registryId, *v.RegistryId) + } + if v.RepositoryName != nil { + s.WriteString(schemas.ImageDetail_repositoryName, *v.RepositoryName) + } +} +func (v *ImageDetail) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageDetail, func(s *smithy.Schema) error { + switch s { + case schemas.ImageDetail_artifactMediaType: + v.ArtifactMediaType = new(string) + return d.ReadString(schemas.ImageDetail_artifactMediaType, v.ArtifactMediaType) + case schemas.ImageDetail_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.ImageDetail_imageDigest, v.ImageDigest) + case schemas.ImageDetail_imageManifestMediaType: + v.ImageManifestMediaType = new(string) + return d.ReadString(schemas.ImageDetail_imageManifestMediaType, v.ImageManifestMediaType) + case schemas.ImageDetail_imagePushedAt: + v.ImagePushedAt = new(time.Time) + return d.ReadTime(schemas.ImageDetail_imagePushedAt, v.ImagePushedAt) + case schemas.ImageDetail_imageSizeInBytes: + v.ImageSizeInBytes = new(int64) + return d.ReadInt64(schemas.ImageDetail_imageSizeInBytes, v.ImageSizeInBytes) + case schemas.ImageDetail_imageTags: + return deserializeImageTagList(d, schemas.ImageDetail_imageTags, &v.ImageTags) + case schemas.ImageDetail_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.ImageDetail_registryId, v.RegistryId) + case schemas.ImageDetail_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.ImageDetail_repositoryName, v.RepositoryName) + } + return nil + }) +} + // An object that represents an Amazon ECR image failure. type ImageFailure struct { @@ -99,6 +238,46 @@ type ImageFailure struct { noSmithyDocumentSerde } +func (v *ImageFailure) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageFailure) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageFailure) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != "" { + s.WriteString(schemas.ImageFailure_failureCode, string(v.FailureCode)) + } + if v.FailureReason != nil { + s.WriteString(schemas.ImageFailure_failureReason, *v.FailureReason) + } + if v.ImageId != nil { + s.WriteStruct(schemas.ImageFailure_imageId) + v.ImageId.SerializeMembers(s) + s.CloseStruct() + } +} +func (v *ImageFailure) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageFailure, func(s *smithy.Schema) error { + switch s { + case schemas.ImageFailure_failureCode: + var ev string + if err := d.ReadString(schemas.ImageFailure_failureCode, &ev); err != nil { + return err + } + v.FailureCode = ImageFailureCode(ev) + return nil + case schemas.ImageFailure_failureReason: + v.FailureReason = new(string) + return d.ReadString(schemas.ImageFailure_failureReason, v.FailureReason) + case schemas.ImageFailure_imageId: + v.ImageId = &ImageIdentifier{} + return v.ImageId.Deserialize(d) + } + return nil + }) +} + // An object with identifying information for an Amazon ECR image. type ImageIdentifier struct { @@ -111,6 +290,34 @@ type ImageIdentifier struct { noSmithyDocumentSerde } +func (v *ImageIdentifier) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageIdentifier) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageIdentifier) SerializeMembers(s smithy.ShapeSerializer) { + if v.ImageDigest != nil { + s.WriteString(schemas.ImageIdentifier_imageDigest, *v.ImageDigest) + } + if v.ImageTag != nil { + s.WriteString(schemas.ImageIdentifier_imageTag, *v.ImageTag) + } +} +func (v *ImageIdentifier) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageIdentifier, func(s *smithy.Schema) error { + switch s { + case schemas.ImageIdentifier_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.ImageIdentifier_imageDigest, v.ImageDigest) + case schemas.ImageIdentifier_imageTag: + v.ImageTag = new(string) + return d.ReadString(schemas.ImageIdentifier_imageTag, v.ImageTag) + } + return nil + }) +} + // An object that represents the image tag details for an image. type ImageTagDetail struct { @@ -126,6 +333,42 @@ type ImageTagDetail struct { noSmithyDocumentSerde } +func (v *ImageTagDetail) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ImageTagDetail) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ImageTagDetail) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.ImageTagDetail_createdAt, *v.CreatedAt) + } + if v.ImageDetail != nil { + s.WriteStruct(schemas.ImageTagDetail_imageDetail) + v.ImageDetail.SerializeMembers(s) + s.CloseStruct() + } + if v.ImageTag != nil { + s.WriteString(schemas.ImageTagDetail_imageTag, *v.ImageTag) + } +} +func (v *ImageTagDetail) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ImageTagDetail, func(s *smithy.Schema) error { + switch s { + case schemas.ImageTagDetail_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.ImageTagDetail_createdAt, v.CreatedAt) + case schemas.ImageTagDetail_imageDetail: + v.ImageDetail = &ReferencedImageDetail{} + return v.ImageDetail.Deserialize(d) + case schemas.ImageTagDetail_imageTag: + v.ImageTag = new(string) + return d.ReadString(schemas.ImageTagDetail_imageTag, v.ImageTag) + } + return nil + }) +} + // An object that represents an Amazon ECR image layer. type Layer struct { @@ -146,6 +389,50 @@ type Layer struct { noSmithyDocumentSerde } +func (v *Layer) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Layer) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Layer) SerializeMembers(s smithy.ShapeSerializer) { + if v.LayerAvailability != "" { + s.WriteString(schemas.Layer_layerAvailability, string(v.LayerAvailability)) + } + if v.LayerDigest != nil { + s.WriteString(schemas.Layer_layerDigest, *v.LayerDigest) + } + if v.LayerSize != nil { + s.WriteInt64(schemas.Layer_layerSize, *v.LayerSize) + } + if v.MediaType != nil { + s.WriteString(schemas.Layer_mediaType, *v.MediaType) + } +} +func (v *Layer) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Layer, func(s *smithy.Schema) error { + switch s { + case schemas.Layer_layerAvailability: + var ev string + if err := d.ReadString(schemas.Layer_layerAvailability, &ev); err != nil { + return err + } + v.LayerAvailability = LayerAvailability(ev) + return nil + case schemas.Layer_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.Layer_layerDigest, v.LayerDigest) + case schemas.Layer_layerSize: + v.LayerSize = new(int64) + return d.ReadInt64(schemas.Layer_layerSize, v.LayerSize) + case schemas.Layer_mediaType: + v.MediaType = new(string) + return d.ReadString(schemas.Layer_mediaType, v.MediaType) + } + return nil + }) +} + // An object that represents an Amazon ECR image layer failure. type LayerFailure struct { @@ -161,6 +448,44 @@ type LayerFailure struct { noSmithyDocumentSerde } +func (v *LayerFailure) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.LayerFailure) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *LayerFailure) SerializeMembers(s smithy.ShapeSerializer) { + if v.FailureCode != "" { + s.WriteString(schemas.LayerFailure_failureCode, string(v.FailureCode)) + } + if v.FailureReason != nil { + s.WriteString(schemas.LayerFailure_failureReason, *v.FailureReason) + } + if v.LayerDigest != nil { + s.WriteString(schemas.LayerFailure_layerDigest, *v.LayerDigest) + } +} +func (v *LayerFailure) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.LayerFailure, func(s *smithy.Schema) error { + switch s { + case schemas.LayerFailure_failureCode: + var ev string + if err := d.ReadString(schemas.LayerFailure_failureCode, &ev); err != nil { + return err + } + v.FailureCode = LayerFailureCode(ev) + return nil + case schemas.LayerFailure_failureReason: + v.FailureReason = new(string) + return d.ReadString(schemas.LayerFailure_failureReason, v.FailureReason) + case schemas.LayerFailure_layerDigest: + v.LayerDigest = new(string) + return d.ReadString(schemas.LayerFailure_layerDigest, v.LayerDigest) + } + return nil + }) +} + // An object that describes the image tag details that are returned by a DescribeImageTags action. type ReferencedImageDetail struct { @@ -191,6 +516,52 @@ type ReferencedImageDetail struct { noSmithyDocumentSerde } +func (v *ReferencedImageDetail) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.ReferencedImageDetail) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *ReferencedImageDetail) SerializeMembers(s smithy.ShapeSerializer) { + if v.ArtifactMediaType != nil { + s.WriteString(schemas.ReferencedImageDetail_artifactMediaType, *v.ArtifactMediaType) + } + if v.ImageDigest != nil { + s.WriteString(schemas.ReferencedImageDetail_imageDigest, *v.ImageDigest) + } + if v.ImageManifestMediaType != nil { + s.WriteString(schemas.ReferencedImageDetail_imageManifestMediaType, *v.ImageManifestMediaType) + } + if v.ImagePushedAt != nil { + s.WriteTime(schemas.ReferencedImageDetail_imagePushedAt, *v.ImagePushedAt) + } + if v.ImageSizeInBytes != nil { + s.WriteInt64(schemas.ReferencedImageDetail_imageSizeInBytes, *v.ImageSizeInBytes) + } +} +func (v *ReferencedImageDetail) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.ReferencedImageDetail, func(s *smithy.Schema) error { + switch s { + case schemas.ReferencedImageDetail_artifactMediaType: + v.ArtifactMediaType = new(string) + return d.ReadString(schemas.ReferencedImageDetail_artifactMediaType, v.ArtifactMediaType) + case schemas.ReferencedImageDetail_imageDigest: + v.ImageDigest = new(string) + return d.ReadString(schemas.ReferencedImageDetail_imageDigest, v.ImageDigest) + case schemas.ReferencedImageDetail_imageManifestMediaType: + v.ImageManifestMediaType = new(string) + return d.ReadString(schemas.ReferencedImageDetail_imageManifestMediaType, v.ImageManifestMediaType) + case schemas.ReferencedImageDetail_imagePushedAt: + v.ImagePushedAt = new(time.Time) + return d.ReadTime(schemas.ReferencedImageDetail_imagePushedAt, v.ImagePushedAt) + case schemas.ReferencedImageDetail_imageSizeInBytes: + v.ImageSizeInBytes = new(int64) + return d.ReadInt64(schemas.ReferencedImageDetail_imageSizeInBytes, v.ImageSizeInBytes) + } + return nil + }) +} + // The details of a public registry. type Registry struct { @@ -226,6 +597,49 @@ type Registry struct { noSmithyDocumentSerde } +func (v *Registry) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Registry) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Registry) SerializeMembers(s smithy.ShapeSerializer) { + serializeRegistryAliasList(s, schemas.Registry_aliases, v.Aliases) + if v.RegistryArn != nil { + s.WriteString(schemas.Registry_registryArn, *v.RegistryArn) + } + if v.RegistryId != nil { + s.WriteString(schemas.Registry_registryId, *v.RegistryId) + } + if v.RegistryUri != nil { + s.WriteString(schemas.Registry_registryUri, *v.RegistryUri) + } + if v.Verified != nil { + s.WriteBool(schemas.Registry_verified, *v.Verified) + } +} +func (v *Registry) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Registry, func(s *smithy.Schema) error { + switch s { + case schemas.Registry_aliases: + return deserializeRegistryAliasList(d, schemas.Registry_aliases, &v.Aliases) + case schemas.Registry_registryArn: + v.RegistryArn = new(string) + return d.ReadString(schemas.Registry_registryArn, v.RegistryArn) + case schemas.Registry_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.Registry_registryId, v.RegistryId) + case schemas.Registry_registryUri: + v.RegistryUri = new(string) + return d.ReadString(schemas.Registry_registryUri, v.RegistryUri) + case schemas.Registry_verified: + v.Verified = new(bool) + return d.ReadBool(schemas.Registry_verified, v.Verified) + } + return nil + }) +} + // An object representing the aliases for a public registry. A public registry is // given an alias when it's created. However, a custom alias can be set using the // Amazon ECR console. For more information, see [Registries]in the Amazon Elastic Container @@ -265,6 +679,44 @@ type RegistryAlias struct { noSmithyDocumentSerde } +func (v *RegistryAlias) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegistryAlias) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegistryAlias) SerializeMembers(s smithy.ShapeSerializer) { + s.WriteBool(schemas.RegistryAlias_defaultRegistryAlias, v.DefaultRegistryAlias) + if v.Name != nil { + s.WriteString(schemas.RegistryAlias_name, *v.Name) + } + s.WriteBool(schemas.RegistryAlias_primaryRegistryAlias, v.PrimaryRegistryAlias) + if v.Status != "" { + s.WriteString(schemas.RegistryAlias_status, string(v.Status)) + } +} +func (v *RegistryAlias) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegistryAlias, func(s *smithy.Schema) error { + switch s { + case schemas.RegistryAlias_defaultRegistryAlias: + return d.ReadBool(schemas.RegistryAlias_defaultRegistryAlias, &v.DefaultRegistryAlias) + case schemas.RegistryAlias_name: + v.Name = new(string) + return d.ReadString(schemas.RegistryAlias_name, v.Name) + case schemas.RegistryAlias_primaryRegistryAlias: + return d.ReadBool(schemas.RegistryAlias_primaryRegistryAlias, &v.PrimaryRegistryAlias) + case schemas.RegistryAlias_status: + var ev string + if err := d.ReadString(schemas.RegistryAlias_status, &ev); err != nil { + return err + } + v.Status = RegistryAliasStatus(ev) + return nil + } + return nil + }) +} + // The metadata for a public registry. type RegistryCatalogData struct { @@ -278,6 +730,28 @@ type RegistryCatalogData struct { noSmithyDocumentSerde } +func (v *RegistryCatalogData) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RegistryCatalogData) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RegistryCatalogData) SerializeMembers(s smithy.ShapeSerializer) { + if v.DisplayName != nil { + s.WriteString(schemas.RegistryCatalogData_displayName, *v.DisplayName) + } +} +func (v *RegistryCatalogData) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RegistryCatalogData, func(s *smithy.Schema) error { + switch s { + case schemas.RegistryCatalogData_displayName: + v.DisplayName = new(string) + return d.ReadString(schemas.RegistryCatalogData_displayName, v.DisplayName) + } + return nil + }) +} + // An object representing a repository. type Repository struct { @@ -304,6 +778,52 @@ type Repository struct { noSmithyDocumentSerde } +func (v *Repository) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Repository) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Repository) SerializeMembers(s smithy.ShapeSerializer) { + if v.CreatedAt != nil { + s.WriteTime(schemas.Repository_createdAt, *v.CreatedAt) + } + if v.RegistryId != nil { + s.WriteString(schemas.Repository_registryId, *v.RegistryId) + } + if v.RepositoryArn != nil { + s.WriteString(schemas.Repository_repositoryArn, *v.RepositoryArn) + } + if v.RepositoryName != nil { + s.WriteString(schemas.Repository_repositoryName, *v.RepositoryName) + } + if v.RepositoryUri != nil { + s.WriteString(schemas.Repository_repositoryUri, *v.RepositoryUri) + } +} +func (v *Repository) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Repository, func(s *smithy.Schema) error { + switch s { + case schemas.Repository_createdAt: + v.CreatedAt = new(time.Time) + return d.ReadTime(schemas.Repository_createdAt, v.CreatedAt) + case schemas.Repository_registryId: + v.RegistryId = new(string) + return d.ReadString(schemas.Repository_registryId, v.RegistryId) + case schemas.Repository_repositoryArn: + v.RepositoryArn = new(string) + return d.ReadString(schemas.Repository_repositoryArn, v.RepositoryArn) + case schemas.Repository_repositoryName: + v.RepositoryName = new(string) + return d.ReadString(schemas.Repository_repositoryName, v.RepositoryName) + case schemas.Repository_repositoryUri: + v.RepositoryUri = new(string) + return d.ReadString(schemas.Repository_repositoryUri, v.RepositoryUri) + } + return nil + }) +} + // The catalog data for a repository. This data is publicly visible in the Amazon // ECR Public Gallery. type RepositoryCatalogData struct { @@ -341,6 +861,58 @@ type RepositoryCatalogData struct { noSmithyDocumentSerde } +func (v *RepositoryCatalogData) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryCatalogData) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryCatalogData) SerializeMembers(s smithy.ShapeSerializer) { + if v.AboutText != nil { + s.WriteString(schemas.RepositoryCatalogData_aboutText, *v.AboutText) + } + serializeArchitectureList(s, schemas.RepositoryCatalogData_architectures, v.Architectures) + if v.Description != nil { + s.WriteString(schemas.RepositoryCatalogData_description, *v.Description) + } + if v.LogoUrl != nil { + s.WriteString(schemas.RepositoryCatalogData_logoUrl, *v.LogoUrl) + } + if v.MarketplaceCertified != nil { + s.WriteBool(schemas.RepositoryCatalogData_marketplaceCertified, *v.MarketplaceCertified) + } + serializeOperatingSystemList(s, schemas.RepositoryCatalogData_operatingSystems, v.OperatingSystems) + if v.UsageText != nil { + s.WriteString(schemas.RepositoryCatalogData_usageText, *v.UsageText) + } +} +func (v *RepositoryCatalogData) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryCatalogData, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryCatalogData_aboutText: + v.AboutText = new(string) + return d.ReadString(schemas.RepositoryCatalogData_aboutText, v.AboutText) + case schemas.RepositoryCatalogData_architectures: + return deserializeArchitectureList(d, schemas.RepositoryCatalogData_architectures, &v.Architectures) + case schemas.RepositoryCatalogData_description: + v.Description = new(string) + return d.ReadString(schemas.RepositoryCatalogData_description, v.Description) + case schemas.RepositoryCatalogData_logoUrl: + v.LogoUrl = new(string) + return d.ReadString(schemas.RepositoryCatalogData_logoUrl, v.LogoUrl) + case schemas.RepositoryCatalogData_marketplaceCertified: + v.MarketplaceCertified = new(bool) + return d.ReadBool(schemas.RepositoryCatalogData_marketplaceCertified, v.MarketplaceCertified) + case schemas.RepositoryCatalogData_operatingSystems: + return deserializeOperatingSystemList(d, schemas.RepositoryCatalogData_operatingSystems, &v.OperatingSystems) + case schemas.RepositoryCatalogData_usageText: + v.UsageText = new(string) + return d.ReadString(schemas.RepositoryCatalogData_usageText, v.UsageText) + } + return nil + }) +} + // An object that contains the catalog data for a repository. This data is // publicly visible in the Amazon ECR Public Gallery. type RepositoryCatalogDataInput struct { @@ -399,6 +971,51 @@ type RepositoryCatalogDataInput struct { noSmithyDocumentSerde } +func (v *RepositoryCatalogDataInput) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.RepositoryCatalogDataInput) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *RepositoryCatalogDataInput) SerializeMembers(s smithy.ShapeSerializer) { + if v.AboutText != nil { + s.WriteString(schemas.RepositoryCatalogDataInput_aboutText, *v.AboutText) + } + serializeArchitectureList(s, schemas.RepositoryCatalogDataInput_architectures, v.Architectures) + if v.Description != nil { + s.WriteString(schemas.RepositoryCatalogDataInput_description, *v.Description) + } + if v.LogoImageBlob != nil { + s.WriteBlob(schemas.RepositoryCatalogDataInput_logoImageBlob, v.LogoImageBlob) + } + serializeOperatingSystemList(s, schemas.RepositoryCatalogDataInput_operatingSystems, v.OperatingSystems) + if v.UsageText != nil { + s.WriteString(schemas.RepositoryCatalogDataInput_usageText, *v.UsageText) + } +} +func (v *RepositoryCatalogDataInput) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.RepositoryCatalogDataInput, func(s *smithy.Schema) error { + switch s { + case schemas.RepositoryCatalogDataInput_aboutText: + v.AboutText = new(string) + return d.ReadString(schemas.RepositoryCatalogDataInput_aboutText, v.AboutText) + case schemas.RepositoryCatalogDataInput_architectures: + return deserializeArchitectureList(d, schemas.RepositoryCatalogDataInput_architectures, &v.Architectures) + case schemas.RepositoryCatalogDataInput_description: + v.Description = new(string) + return d.ReadString(schemas.RepositoryCatalogDataInput_description, v.Description) + case schemas.RepositoryCatalogDataInput_logoImageBlob: + return d.ReadBlob(schemas.RepositoryCatalogDataInput_logoImageBlob, &v.LogoImageBlob) + case schemas.RepositoryCatalogDataInput_operatingSystems: + return deserializeOperatingSystemList(d, schemas.RepositoryCatalogDataInput_operatingSystems, &v.OperatingSystems) + case schemas.RepositoryCatalogDataInput_usageText: + v.UsageText = new(string) + return d.ReadString(schemas.RepositoryCatalogDataInput_usageText, v.UsageText) + } + return nil + }) +} + // The metadata that you apply to a resource to help you categorize and organize // them. Each tag consists of a key and an optional value. You define both. Tag // keys can have a maximum character length of 128 characters, and tag values can @@ -416,4 +1033,32 @@ type Tag struct { noSmithyDocumentSerde } +func (v *Tag) Serialize(s smithy.ShapeSerializer) { + s.WriteStruct(schemas.Tag) + v.SerializeMembers(s) + s.CloseStruct() +} + +func (v *Tag) SerializeMembers(s smithy.ShapeSerializer) { + if v.Key != nil { + s.WriteString(schemas.Tag_Key, *v.Key) + } + if v.Value != nil { + s.WriteString(schemas.Tag_Value, *v.Value) + } +} +func (v *Tag) Deserialize(d smithy.ShapeDeserializer) error { + return smithy.ReadStruct(d, schemas.Tag, func(s *smithy.Schema) error { + switch s { + case schemas.Tag_Key: + v.Key = new(string) + return d.ReadString(schemas.Tag_Key, v.Key) + case schemas.Tag_Value: + v.Value = new(string) + return d.ReadString(schemas.Tag_Value, v.Value) + } + return nil + }) +} + type noSmithyDocumentSerde = smithydocument.NoSerde diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md index 6723895d..957c2c12 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.13.21 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. + +# v1.13.20 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. + # v1.13.19 (2026-08-26) * **Dependency Update**: Update to smithy-go v1.28.0. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go index f5bc392a..bb48751e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go @@ -3,4 +3,4 @@ package acceptencoding // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.19" +const goModuleVersion = "1.13.21" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md index 3e6ab8f0..3b42b353 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md @@ -1,3 +1,17 @@ +# v1.14.6 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.14.5 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.14.4 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.14.3 (2026-09-09) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go index 1112596f..ad756ed3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go @@ -3,4 +3,4 @@ package presignedurl // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.14.3" +const goModuleVersion = "1.14.6" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/signin/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/signin/CHANGELOG.md index 508afc37..e71b5cda 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/signin/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/signin/CHANGELOG.md @@ -1,3 +1,21 @@ +# v1.10.4 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.10.3 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.10.2 (2026-10-06) + +* No change notes available for this release. + +# v1.10.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.10.0 (2026-09-09) * **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/signin/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/signin/deserializers.go index cc6b07d9..71314a86 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/signin/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/signin/deserializers.go @@ -30,17 +30,22 @@ func (m *awsRestjson1_deserializeOpCreateOAuth2Token) HandleDeserialize(ctx cont out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -194,17 +199,22 @@ func (m *awsRestjson1_deserializeOpCreateOAuth2TokenWithIAM) HandleDeserialize(c out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -384,17 +394,22 @@ func (m *awsRestjson1_deserializeOpDeleteConsoleAuthorizationConfiguration) Hand out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -573,17 +588,22 @@ func (m *awsRestjson1_deserializeOpDeleteResourcePermissionStatement) HandleDese out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -676,17 +696,22 @@ func (m *awsRestjson1_deserializeOpGetConsoleAuthorizationConfiguration) HandleD out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -865,17 +890,22 @@ func (m *awsRestjson1_deserializeOpGetResourcePolicy) HandleDeserialize(ctx cont out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1029,17 +1059,22 @@ func (m *awsRestjson1_deserializeOpIntrospectOAuth2TokenWithIAM) HandleDeseriali out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1326,17 +1361,22 @@ func (m *awsRestjson1_deserializeOpListResourcePermissionStatements) HandleDeser out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1502,17 +1542,22 @@ func (m *awsRestjson1_deserializeOpPutConsoleAuthorizationConfiguration) HandleD out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1694,17 +1739,22 @@ func (m *awsRestjson1_deserializeOpPutResourcePermissionStatement) HandleDeseria out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1868,17 +1918,22 @@ func (m *awsRestjson1_deserializeOpRevokeOAuth2TokenWithIAM) HandleDeserialize(c out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/signin/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/signin/go_module_metadata.go index 4f75436d..5ec2db2b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/signin/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/signin/go_module_metadata.go @@ -3,4 +3,4 @@ package signin // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.10.0" +const goModuleVersion = "1.10.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md index 7d6f3179..8a786c17 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md @@ -1,3 +1,21 @@ +# v1.38.4 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.38.3 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.38.2 (2026-10-06) + +* No change notes available for this release. + +# v1.38.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.38.0 (2026-09-09) * **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go index dbc691c4..3a91f849 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go @@ -30,17 +30,22 @@ func (m *awsRestjson1_deserializeOpGetRoleCredentials) HandleDeserialize(ctx con out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -194,17 +199,22 @@ func (m *awsRestjson1_deserializeOpListAccountRoles) HandleDeserialize(ctx conte out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -367,17 +377,22 @@ func (m *awsRestjson1_deserializeOpListAccounts) HandleDeserialize(ctx context.C out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -540,17 +555,22 @@ func (m *awsRestjson1_deserializeOpLogout) HandleDeserialize(ctx context.Context out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go index b2848584..19646346 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go @@ -3,4 +3,4 @@ package sso // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.38.0" +const goModuleVersion = "1.38.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md index 4b8fb09b..7991e360 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md @@ -1,3 +1,21 @@ +# v1.43.4 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.43.3 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.43.2 (2026-10-06) + +* No change notes available for this release. + +# v1.43.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.43.0 (2026-09-09) * **Feature**: Stop registering the `retry.MetricsHeader` middleware in generated clients. The `Amz-Sdk-Request` header is now set by the retry middleware itself. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go index da4a9e2f..448dd0f4 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go @@ -30,17 +30,22 @@ func (m *awsRestjson1_deserializeOpCreateToken) HandleDeserialize(ctx context.Co out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -259,17 +264,22 @@ func (m *awsRestjson1_deserializeOpCreateTokenWithIAM) HandleDeserialize(ctx con out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -510,17 +520,22 @@ func (m *awsRestjson1_deserializeOpRegisterClient) HandleDeserialize(ctx context out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -740,17 +755,22 @@ func (m *awsRestjson1_deserializeOpStartDeviceAuthorization) HandleDeserialize(c out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go index 27c757f3..cbbfb511 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go @@ -3,4 +3,4 @@ package ssooidc // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.43.0" +const goModuleVersion = "1.43.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md index 207ab4fd..25ea8ac9 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md @@ -1,3 +1,21 @@ +# v1.51.4 (2026-10-09.2) + +* **Dependency Update**: Update to smithy-go v1.28.5. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.51.3 (2026-10-08) + +* **Dependency Update**: Update to smithy-go v1.28.4. +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.51.2 (2026-10-06) + +* No change notes available for this release. + +# v1.51.1 (2026-09-24) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.51.0 (2026-09-14) * **Feature**: Increases the maximum session token size to 4,096 bytes and removes the packed policy size limit. Adds SessionTokenSize and SessionTokenUtilization fields and a new MinimumSessionTokenSize parameter. PackedPolicySize is deprecated. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go index 2c8267d3..be49fc7a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go @@ -34,17 +34,22 @@ func (m *awsAwsquery_deserializeOpAssumeRole) HandleDeserialize(ctx context.Cont out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -158,17 +163,22 @@ func (m *awsAwsquery_deserializeOpAssumeRoleWithSAML) HandleDeserialize(ctx cont out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -288,17 +298,22 @@ func (m *awsAwsquery_deserializeOpAssumeRoleWithWebIdentity) HandleDeserialize(c out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -421,17 +436,22 @@ func (m *awsAwsquery_deserializeOpAssumeRoot) HandleDeserialize(ctx context.Cont out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -539,17 +559,22 @@ func (m *awsAwsquery_deserializeOpDecodeAuthorizationMessage) HandleDeserialize( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -654,17 +679,22 @@ func (m *awsAwsquery_deserializeOpGetAccessKeyInfo) HandleDeserialize(ctx contex out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -766,17 +796,22 @@ func (m *awsAwsquery_deserializeOpGetCallerIdentity) HandleDeserialize(ctx conte out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -878,17 +913,22 @@ func (m *awsAwsquery_deserializeOpGetDelegatedAccessToken) HandleDeserialize(ctx out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -999,17 +1039,22 @@ func (m *awsAwsquery_deserializeOpGetFederationToken) HandleDeserialize(ctx cont out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1120,17 +1165,22 @@ func (m *awsAwsquery_deserializeOpGetSessionToken) HandleDeserialize(ctx context out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() @@ -1235,17 +1285,22 @@ func (m *awsAwsquery_deserializeOpGetWebIdentityToken) HandleDeserialize(ctx con out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { - return out, metadata, err - } response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { + if err != nil { + // Transport-level failure with no HTTP response to close. + return out, metadata, err + } return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } defer func() { smithyhttp.CloseResponseBody(ctx, response, false, err) }() + if err != nil { + return out, metadata, err + } + _, span := tracing.StartSpan(ctx, "OperationDeserializer") endTimer := startMetricTimer(ctx, "client.call.deserialization_duration") defer endTimer() diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go index f702133e..465a0fe0 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go @@ -3,4 +3,4 @@ package sts // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.51.0" +const goModuleVersion = "1.51.4" diff --git a/vendor/github.com/aws/smithy-go/CHANGELOG.md b/vendor/github.com/aws/smithy-go/CHANGELOG.md index 0d26e973..a4c14bfe 100644 --- a/vendor/github.com/aws/smithy-go/CHANGELOG.md +++ b/vendor/github.com/aws/smithy-go/CHANGELOG.md @@ -1,3 +1,43 @@ +# Release (2026-10-09) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/smithy-go`: v1.28.5 + * **Bug Fix**: Retain the key with the zero value when encountering a null-value key in a dense map. This matches how legacy code-generated JSON deserializers behaved. + +# Release (2026-10-07) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/smithy-go`: v1.28.4 + * **Bug Fix**: Revert #698 that fixed JoinPath with trailing slash. This has a side effect on certain S3 API paths in the downstream SDK that need more consideration. + +# Release (2026-10-06) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/smithy-go`: v1.28.3 + * **Bug Fix**: Accept either casing of `message`/`Message` on modeled JSON error structures in schema-based deserialization, and emit the `smithy.api#error` trait in generated schemas + * **Bug Fix**: Include the underlying error when logging failures to discard or close an HTTP response body + +# Release (2026-09-18) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/smithy-go`: v1.28.2 + * **Bug Fix**: Avoid allocating a slice in ValidateEndpointHost by indexing into the hostname instead of using strings.Split. + * **Bug Fix**: Fix event stream decode panic on unknown header value type. + * **Bug Fix**: Fix schema-serde CBOR decode panic on malformed string/blob length. + * **Bug Fix**: JoinPath keeps a trailing slash when the added path is a slash. + # Release (2026-08-26) ## General Highlights diff --git a/vendor/github.com/aws/smithy-go/Makefile b/vendor/github.com/aws/smithy-go/Makefile index a12b124d..fb0670f0 100644 --- a/vendor/github.com/aws/smithy-go/Makefile +++ b/vendor/github.com/aws/smithy-go/Makefile @@ -26,7 +26,7 @@ smithy-publish-local: cd codegen && ./gradlew publishToMavenLocal smithy-build: - cd codegen && ./gradlew build + cd codegen && ./gradlew build --stacktrace smithy-clean: cd codegen && ./gradlew clean diff --git a/vendor/github.com/aws/smithy-go/README.md b/vendor/github.com/aws/smithy-go/README.md index ac5a0a61..28f3d1d5 100644 --- a/vendor/github.com/aws/smithy-go/README.md +++ b/vendor/github.com/aws/smithy-go/README.md @@ -1,73 +1,52 @@ # Smithy Go -[![Go Build Status](https://github.com/aws/smithy-go/actions/workflows/go.yml/badge.svg?branch=main)](https://github.com/aws/smithy-go/actions/workflows/go.yml)[![Codegen Build Status](https://github.com/aws/smithy-go/actions/workflows/codegen.yml/badge.svg?branch=main)](https://github.com/aws/smithy-go/actions/workflows/codegen.yml) +[![Go Build Status](https://github.com/aws/smithy-go/actions/workflows/go.yml/badge.svg?branch=main)](https://github.com/aws/smithy-go/actions/workflows/go.yml) +[![Codegen Build Status](https://github.com/aws/smithy-go/actions/workflows/codegen.yml/badge.svg?branch=main)](https://github.com/aws/smithy-go/actions/workflows/codegen.yml) +[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) -[Smithy](https://smithy.io/) code generators for Go and the accompanying smithy-go runtime. +[Smithy](https://smithy.io/) code generators for [Go](https://go.dev/), and +the runtime package the generated code depends on. -The smithy-go runtime requires a minimum version of Go 1.24. +> [!WARNING] +> All interfaces in this repository are subject to change. The client code +> generator in particular powers +> [aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2), but arbitrary client +> generation is in an early stage of development: +> * Generated clients are missing certain features that were originally +> implemented SDK-side (e.g. retries) +> * There may be bugs +> * The public APIs of generated clients may be unstable +> +> If you are interested in using the client code generators, we encourage you +> to experiment and share any feedback with us in an issue. -**WARNING: All interfaces are subject to change.** +--- -## :warning: Client codegen is unstable +This repository contains two major components: -The client code generator in this repository powers the aws-sdk-go-v2. -Arbitrary client generation, while possible, is in an early stage of -development: +1. **Codegen** ([`codegen/`](codegen)): A Java/Gradle-based Smithy build + plugin that generates Go client, server, and shape code from Smithy + models. +2. **Runtime** (this module, `github.com/aws/smithy-go`): The Go packages + that code generated by the plugins above depends on. -* Generated clients are missing certain features that were originally - implemented SDK-side (e.g. retries) -* There may be bugs -* The public APIs of generated clients may be unstable +> [!NOTE] +> This repository does not contain any generated clients, such as for S3 or +> other AWS services. Rather, these are the tools that facilitate generating +> those clients (and non-AWS Smithy clients) from a Smithy model. -If you are interested in using the client code generators, we encourage you to -experiment and share any feedback with us in an issue. +## Getting started -## Plugins +If this is your first time using Smithy, follow the +[Smithy Quickstart guide](https://smithy.io/2.0/quickstart.html) to learn the +basics and create a simple Smithy model. -This repository implements the following Smithy build plugins: - -| ID | GAV prefix | Description | -|----|------------|-------------| -| `go-codegen` | `software.amazon.smithy.go:smithy-go-codegen` | Implements Go client code generation for Smithy models. | -| `go-server-codegen` | `software.amazon.smithy.go:smithy-go-codegen` | Implements Go server code generation for Smithy models. | -| `go-shape-codegen` | `software.amazon.smithy.go:smithy-go-codegen` | Implements Go shape code generation (types only) for Smithy models. | - -## `go-codegen` - -### Configuration - -[`GoSettings`](codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/GoSettings.java) -contains all of the settings enabled from `smithy-build.json` and helper -methods and types. The up-to-date list of top-level properties enabled for -`go-client-codegen` can be found in `GoSettings::from()`. - -| Setting | Type | Required | Description | -|-----------------|---------|----------|-----------------------------------------------------------------------------------------------------------------------------| -| `service` | string | yes | The Shape ID of the service for which to generate the client. | -| `module` | string | yes | Name of the module in `generated.json` (and `go.mod` if `generateGoMod` is enabled) and `doc.go`. | -| `generateGoMod` | boolean | | Whether to generate a default `go.mod` file. The default value is `false`. | -| `goDirective` | string | | [Go directive](https://go.dev/ref/mod#go-mod-file-go) of the module. The default value is the minimum supported Go version. | +The smithy-go runtime requires a minimum version of **Go 1.24**. -### Supported protocols +### Codegen -The protocol a client uses is configured by the `Protocol` field on a client's -`Options`. The SDK will configure a default based on the protocol traits -applied to the modeled service. - -| Protocol | Notes | -|----------|-------| -| [`smithy.protocols#rpcv2Cbor`](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html) | | -| [`aws.protocols#restJson1`](https://smithy.io/2.0/aws/protocols/aws-restjson1-protocol.html) | | -| [`aws.protocols#restXml`](https://smithy.io/2.0/aws/protocols/aws-restxml-protocol.html) | | -| [`aws.protocols#awsJson1_0`](https://smithy.io/2.0/aws/protocols/aws-json-1_0-protocol.html) | | -| [`aws.protocols#awsJson1_1`](https://smithy.io/2.0/aws/protocols/aws-json-1_1-protocol.html) | | -| [`aws.protocols#awsQuery`](https://smithy.io/2.0/aws/protocols/aws-query-protocol.html) | | -| [`aws.protocols#ec2Query`](https://smithy.io/2.0/aws/protocols/aws-ec2-query-protocol.html) | | - -### Example - -This example applies the `go-codegen` build plugin to the Smithy quickstart -example created from `smithy init`: +To generate a Go client from a Smithy model, apply the `go-codegen` plugin in +your `smithy-build.json`: ```json { @@ -91,15 +70,136 @@ example created from `smithy init`: } ``` -## `go-server-codegen` +This repository implements the following Smithy build plugins: + +| ID | GAV prefix | Description | +|----|------------|-------------| +| `go-codegen` | `software.amazon.smithy.go:smithy-go-codegen` | Go client code generation for Smithy models. | +| `go-server-codegen` | `software.amazon.smithy.go:smithy-go-codegen` | Go server code generation for Smithy models (work-in-progress, undocumented). | +| `go-shape-codegen` | `software.amazon.smithy.go:smithy-go-codegen` | Go shape code generation (types only) for Smithy models (work-in-progress, undocumented). | -This plugin is a work-in-progress and is currently undocumented. +#### `go-codegen` settings -## `go-shape-codegen` +[`GoSettings`](codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/GoSettings.java) +contains all of the settings enabled from `smithy-build.json`. The up-to-date +list of top-level properties enabled for `go-codegen` can be found in +`GoSettings::from()`. -This plugin is a work-in-progress and is currently undocumented. +| Setting | Type | Required | Description | +|-----------------|---------|----------|-------------------------------------------------------------------------------------------------------------------------------| +| `service` | string | yes | The Shape ID of the service for which to generate the client. | +| `module` | string | yes | Name of the module in `generated.json` (and `go.mod` if `generateGoMod` is enabled) and `doc.go`. | +| `generateGoMod` | boolean | | Whether to generate a default `go.mod` file. The default value is `false`. | +| `goDirective` | string | | [Go directive](https://go.dev/ref/mod#go-mod-file-go) of the module. The default value is the minimum supported Go version. | + +#### Supported protocols + +The protocol a generated client uses is configured by the `Protocol` field on +the client's `Options`. The SDK configures a default based on the protocol +traits applied to the modeled service. + +Each protocol is implemented as its own package under +[`transport/http/protocol`](transport/http/protocol). Serialization for these +protocols is handled by internal codecs under `protocol/internal` (e.g. +`protocol/internal/json`, `protocol/internal/cbor`, +`protocol/internal/xml`); these largely supersede the top-level +[`encoding/`](encoding) packages of the same name; see +[Encoding](#encoding) below. + +| Protocol | Package | Notes | +|----------|---------|-------| +| [`smithy.protocols#rpcv2Cbor`](https://smithy.io/2.0/additional-specs/protocols/smithy-rpc-v2.html) | [`protocol/rpcv2`](transport/http/protocol/rpcv2) | | +| [`aws.protocols#restJson1`](https://smithy.io/2.0/aws/protocols/aws-restjson1-protocol.html) | [`protocol/restjson1`](transport/http/protocol/restjson1) | | +| [`aws.protocols#restXml`](https://smithy.io/2.0/aws/protocols/aws-restxml-protocol.html) | [`protocol/restxml`](transport/http/protocol/restxml) | | +| [`aws.protocols#awsJson1_0`](https://smithy.io/2.0/aws/protocols/aws-json-1_0-protocol.html) | [`protocol/awsjson`](transport/http/protocol/awsjson) | `awsjson.New10` | +| [`aws.protocols#awsJson1_1`](https://smithy.io/2.0/aws/protocols/aws-json-1_1-protocol.html) | [`protocol/awsjson`](transport/http/protocol/awsjson) | `awsjson.New11` | +| [`aws.protocols#awsQuery`](https://smithy.io/2.0/aws/protocols/aws-query-protocol.html) | [`protocol/awsquery`](transport/http/protocol/awsquery) | | +| [`aws.protocols#ec2Query`](https://smithy.io/2.0/aws/protocols/aws-ec2-query-protocol.html) | [`protocol/ec2query`](transport/http/protocol/ec2query) | | + +These packages are client-only; smithy-go does not currently implement +server-side protocol support. + +Building and testing the codegen plugins is done via Gradle from the +`codegen/` directory: + +```bash +# Build and test codegen +cd codegen && ./gradlew build + +# Publish to local Maven for downstream use +cd codegen && ./gradlew publishToMavenLocal +``` + +See [`codegen/README.md`](codegen/README.md) for local setup instructions. + +## Runtime packages + +All generated clients depend on this module (`github.com/aws/smithy-go`) at +runtime. It also includes a few standalone submodules published separately. + +### Core + +- [`middleware`](middleware): The middleware stack that drives the operation + pipeline. +- [`transport/http`](transport/http): HTTP request/response types and + middleware. +- [`auth`](auth): Auth identity and scheme interfaces. + - [`auth/bearer`](auth/bearer): Bearer token auth. +- [`endpoints`](endpoints): Endpoint resolution types. +- [`context`](context): Context helpers. +- [`logging`](logging): Logging interfaces. +- [`tracing`](tracing): Tracing interfaces. +- [`metrics`](metrics): Metrics interfaces. + +### Encoding + +Wire format encoders/decoders under [`encoding/`](encoding). + +> [!NOTE] +> Most of these packages are effectively legacy. The protocol +> implementations under [`transport/http/protocol`](transport/http/protocol) +> (used by current client codegen) have their own internal codecs under +> `protocol/internal/*` and generally do not build on these packages. +> The `encoding/json`, `encoding/xml`, and `encoding/cbor` packages otherwise +> remain in use by [`document/json`](document/json)/[`document/cbor`](document/cbor) +> and [`eventstream`](eventstream), and by existing generated SDK code that +> predates the newer protocol implementations. + +- [`encoding/json`](encoding/json): JSON encoding/decoding. +- [`encoding/xml`](encoding/xml): XML encoding/decoding. +- [`encoding/cbor`](encoding/cbor): CBOR encoding/decoding (used by + `rpcv2Cbor`). +- [`encoding/httpbinding`](encoding/httpbinding): HTTP binding serde helpers. + +### Document + +- [`document`](document): Smithy document type abstraction. + - [`document/json`](document/json): JSON document codec. + +### Utilities + +- [`container`](container): Generic container types. +- [`io`](io): I/O helpers. +- [`ptr`](ptr): Pointer-to/from-value helpers. +- [`time`](time): Smithy timestamp format helpers. +- [`rand`](rand): UUID/randomness helpers. +- [`testing`](testing): Test assertion helpers for generated protocol tests. + +### Standalone modules + +These are published as separate Go modules, each with its own `go.mod`. + +- [`aws-http-auth`](aws-http-auth): AWS SigV4/SigV4A HTTP signing. +- [`tracing/smithyoteltracing`](tracing/smithyoteltracing): OpenTelemetry + tracing adapter. +- [`metrics/smithyotelmetrics`](metrics/smithyotelmetrics): OpenTelemetry + metrics adapter. + +## Development + +See [CONTRIBUTING](CONTRIBUTING.md) for more information on contributing to +this project, including the changelog process for runtime changes. ## License This project is licensed under the Apache-2.0 License. - diff --git a/vendor/github.com/aws/smithy-go/document/internal/serde/field.go b/vendor/github.com/aws/smithy-go/document/internal/serde/field.go new file mode 100644 index 00000000..64a9fdb3 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/internal/serde/field.go @@ -0,0 +1,293 @@ +package serde + +import ( + "reflect" + "sort" +) + +const tagKey = "document" + +// Field is represents a struct field, tag, type, and index. +type Field struct { + Tag + + Name string + NameFromTag bool + + Index []int + Type reflect.Type +} + +func buildField(pIdx []int, i int, sf reflect.StructField, fieldTag Tag) Field { + f := Field{ + Name: sf.Name, + Type: sf.Type, + Tag: fieldTag, + } + + if len(fieldTag.Name) != 0 { + f.NameFromTag = true + f.Name = fieldTag.Name + } + + f.Index = make([]int, len(pIdx)+1) + copy(f.Index, pIdx) + f.Index[len(pIdx)] = i + + return f +} + +// GetStructFields returns a list of fields for the given type. Type info is cached +// to avoid repeated calls into the reflect package +func GetStructFields(t reflect.Type) *CachedFields { + if cached, ok := fieldCache.Load(t); ok { + return cached + } + + f := enumFields(t) + sort.Sort(fieldsByName(f)) + f = visibleFields(f) + + fs := &CachedFields{ + fields: f, + fieldsByName: make(map[string]int, len(f)), + } + for i, f := range fs.fields { + fs.fieldsByName[f.Name] = i + } + + cached, _ := fieldCache.LoadOrStore(t, fs) + return cached +} + +// enumFields will recursively iterate through a structure and its nested +// anonymous fields. +// +// Based on the enoding/json struct field enumeration of the Go Stdlib +// https://golang.org/src/encoding/json/encode.go typeField func. +func enumFields(t reflect.Type) []Field { + // Fields to explore + current := []Field{} + next := []Field{{Type: t}} + + // count of queued names + count := map[reflect.Type]int{} + nextCount := map[reflect.Type]int{} + + visited := map[reflect.Type]struct{}{} + fields := []Field{} + + for len(next) > 0 { + current, next = next, current[:0] + count, nextCount = nextCount, map[reflect.Type]int{} + + for _, f := range current { + if _, ok := visited[f.Type]; ok { + continue + } + visited[f.Type] = struct{}{} + + for i := 0; i < f.Type.NumField(); i++ { + sf := f.Type.Field(i) + if sf.PkgPath != "" && !sf.Anonymous { + // Ignore unexported and non-anonymous fields + // unexported but anonymous field may still be used if + // the type has exported nested fields + continue + } + + fieldTag := ParseTag(sf.Tag.Get(tagKey)) + + if fieldTag.Ignore { + continue + } + + ft := sf.Type + if ft.Name() == "" && ft.Kind() == reflect.Ptr { + ft = ft.Elem() + } + + structField := buildField(f.Index, i, sf, fieldTag) + structField.Type = ft + + if !sf.Anonymous || ft.Kind() != reflect.Struct { + fields = append(fields, structField) + if count[f.Type] > 1 { + // If there were multiple instances, add a second, + // so that the annihilation code will see a duplicate. + // It only cares about the distinction between 1 or 2, + // so don't bother generating any more copies. + fields = append(fields, structField) + } + continue + } + + // Record new anon struct to explore next round + nextCount[ft]++ + if nextCount[ft] == 1 { + next = append(next, structField) + } + } + } + } + + return fields +} + +// visibleFields will return a slice of fields which are visible based on +// Go's standard visiblity rules with the exception of ties being broken +// by depth and struct tag naming. +// +// Based on the enoding/json field filtering of the Go Stdlib +// https://golang.org/src/encoding/json/encode.go typeField func. +func visibleFields(fields []Field) []Field { + // Delete all fields that are hidden by the Go rules for embedded fields, + // except that fields with JSON tags are promoted. + + // The fields are sorted in primary order of name, secondary order + // of field index length. Loop over names; for each name, delete + // hidden fields by choosing the one dominant field that survives. + out := fields[:0] + for advance, i := 0, 0; i < len(fields); i += advance { + // One iteration per name. + // Find the sequence of fields with the name of this first field. + fi := fields[i] + name := fi.Name + for advance = 1; i+advance < len(fields); advance++ { + fj := fields[i+advance] + if fj.Name != name { + break + } + } + if advance == 1 { // Only one field with this name + out = append(out, fi) + continue + } + dominant, ok := dominantField(fields[i : i+advance]) + if ok { + out = append(out, dominant) + } + } + + fields = out + sort.Sort(fieldsByIndex(fields)) + + return fields +} + +// dominantField looks through the fields, all of which are known to +// have the same name, to find the single field that dominates the +// others using Go's embedding rules, modified by the presence of +// JSON tags. If there are multiple top-level fields, the boolean +// will be false: This condition is an error in Go and we skip all +// the fields. +// +// Based on the enoding/json field filtering of the Go Stdlib +// https://golang.org/src/encoding/json/encode.go dominantField func. +func dominantField(fields []Field) (Field, bool) { + // The fields are sorted in increasing index-length order. The winner + // must therefore be one with the shortest index length. Drop all + // longer entries, which is easy: just truncate the slice. + length := len(fields[0].Index) + tagged := -1 // Index of first tagged field. + for i, f := range fields { + if len(f.Index) > length { + fields = fields[:i] + break + } + if f.NameFromTag { + if tagged >= 0 { + // Multiple tagged fields at the same level: conflict. + // Return no field. + return Field{}, false + } + tagged = i + } + } + if tagged >= 0 { + return fields[tagged], true + } + // All remaining fields have the same length. If there's more than one, + // we have a conflict (two fields named "X" at the same level) and we + // return no field. + if len(fields) > 1 { + return Field{}, false + } + return fields[0], true +} + +// fieldsByName sorts field by name, breaking ties with depth, +// then breaking ties with "name came from json tag", then +// breaking ties with index sequence. +// +// Based on the enoding/json field filtering of the Go Stdlib +// https://golang.org/src/encoding/json/encode.go fieldsByName type. +type fieldsByName []Field + +func (x fieldsByName) Len() int { return len(x) } + +func (x fieldsByName) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x fieldsByName) Less(i, j int) bool { + if x[i].Name != x[j].Name { + return x[i].Name < x[j].Name + } + if len(x[i].Index) != len(x[j].Index) { + return len(x[i].Index) < len(x[j].Index) + } + if x[i].NameFromTag != x[j].NameFromTag { + return x[i].NameFromTag + } + return fieldsByIndex(x).Less(i, j) +} + +// fieldsByIndex sorts field by index sequence. +// +// Based on the enoding/json field filtering of the Go Stdlib +// https://golang.org/src/encoding/json/encode.go fieldsByIndex type. +type fieldsByIndex []Field + +func (x fieldsByIndex) Len() int { return len(x) } + +func (x fieldsByIndex) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x fieldsByIndex) Less(i, j int) bool { + for k, xik := range x[i].Index { + if k >= len(x[j].Index) { + return false + } + if xik != x[j].Index[k] { + return xik < x[j].Index[k] + } + } + return len(x[i].Index) < len(x[j].Index) +} + +// DecoderFieldByIndex finds the field with the provided nested index, allocating +// embedded parent structs if needed +func DecoderFieldByIndex(v reflect.Value, index []int) reflect.Value { + for i, x := range index { + if i > 0 && v.Kind() == reflect.Ptr && v.Type().Elem().Kind() == reflect.Struct { + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + v = v.Elem() + } + v = v.Field(x) + } + return v +} + +// EncoderFieldByIndex finds the field with the provided nested index +func EncoderFieldByIndex(v reflect.Value, index []int) (reflect.Value, bool) { + for i, x := range index { + if i > 0 && v.Kind() == reflect.Ptr && v.Type().Elem().Kind() == reflect.Struct { + if v.IsNil() { + return reflect.Value{}, false + } + v = v.Elem() + } + v = v.Field(x) + } + return v, true +} diff --git a/vendor/github.com/aws/smithy-go/document/internal/serde/field_cache.go b/vendor/github.com/aws/smithy-go/document/internal/serde/field_cache.go new file mode 100644 index 00000000..b00569e4 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/internal/serde/field_cache.go @@ -0,0 +1,48 @@ +package serde + +import ( + "strings" + "sync" +) + +var fieldCache fieldCacher + +type fieldCacher struct { + cache sync.Map +} + +func (c *fieldCacher) Load(t interface{}) (*CachedFields, bool) { + if v, ok := c.cache.Load(t); ok { + return v.(*CachedFields), true + } + return nil, false +} + +func (c *fieldCacher) LoadOrStore(t interface{}, fs *CachedFields) (*CachedFields, bool) { + v, ok := c.cache.LoadOrStore(t, fs) + return v.(*CachedFields), ok +} + +// CachedFields is a cache entry for a type's fields. +type CachedFields struct { + fields []Field + fieldsByName map[string]int +} + +// All returns all the fields for the cached type. +func (f *CachedFields) All() []Field { + return f.fields +} + +// FieldByName retrieves a field by name. +func (f *CachedFields) FieldByName(name string) (Field, bool) { + if i, ok := f.fieldsByName[name]; ok { + return f.fields[i], ok + } + for _, f := range f.fields { + if strings.EqualFold(f.Name, name) { + return f, true + } + } + return Field{}, false +} diff --git a/vendor/github.com/aws/smithy-go/document/internal/serde/reflect.go b/vendor/github.com/aws/smithy-go/document/internal/serde/reflect.go new file mode 100644 index 00000000..165145cd --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/internal/serde/reflect.go @@ -0,0 +1,24 @@ +package serde + +import ( + "github.com/aws/smithy-go/document" + "math/big" + "reflect" + "time" +) + +// ReflectTypeOf is a structure containing various reflect.Type members that are useful +// to document Marshaler or Unmarshaler implementations. +var ReflectTypeOf = struct { + BigFloat reflect.Type + BigInt reflect.Type + DocumentNumber reflect.Type + MapStringToInterface reflect.Type + Time reflect.Type +}{ + BigFloat: reflect.TypeOf((*big.Float)(nil)).Elem(), + BigInt: reflect.TypeOf((*big.Int)(nil)).Elem(), + DocumentNumber: reflect.TypeOf((*document.Number)(nil)).Elem(), + MapStringToInterface: reflect.TypeOf((map[string]interface{})(nil)), + Time: reflect.TypeOf((*time.Time)(nil)).Elem(), +} diff --git a/vendor/github.com/aws/smithy-go/document/internal/serde/serde.go b/vendor/github.com/aws/smithy-go/document/internal/serde/serde.go new file mode 100644 index 00000000..c2bdbd38 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/internal/serde/serde.go @@ -0,0 +1,100 @@ +package serde + +import ( + "reflect" +) + +// Indirect will walk a value's interface or pointer value types. Returning +// the final value or the value a unmarshaler is defined on. +// +// Based on the enoding/json type reflect value type indirection in Go Stdlib +// https://golang.org/src/encoding/json/decode.go Indirect func. +func Indirect(v reflect.Value, decodingNull bool) reflect.Value { + v0 := v + haveAddr := false + + if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() { + v = v.Addr() + haveAddr = true + } + for { + if v.Kind() == reflect.Interface && !v.IsNil() { + e := v.Elem() + if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) { + haveAddr = false + v = e + continue + } + } + if v.Kind() != reflect.Ptr { + break + } + if v.Elem().Kind() != reflect.Ptr && decodingNull && v.CanSet() { + break + } + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + + if haveAddr { + v = v0 + haveAddr = false + } else { + v = v.Elem() + } + } + + return v +} + +// PtrToValue given the input value will dereference pointers and returning the element pointed to. +func PtrToValue(in interface{}) interface{} { + v := reflect.ValueOf(in) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if !v.IsValid() { + return nil + } + if v.Kind() == reflect.Ptr { + return PtrToValue(v.Interface()) + } + return v.Interface() +} + +// IsZeroValue returns whether v is the zero-value for its type. +func IsZeroValue(v reflect.Value) bool { + switch v.Kind() { + case reflect.Invalid: + return true + case reflect.Array: + return v.Len() == 0 + case reflect.Map, reflect.Slice: + return v.IsNil() + case reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + } + return false +} + +// ValueElem walks interface and pointer types and returns the underlying element. +func ValueElem(v reflect.Value) reflect.Value { + switch v.Kind() { + case reflect.Interface, reflect.Ptr: + for v.Kind() == reflect.Interface || v.Kind() == reflect.Ptr { + v = v.Elem() + } + } + + return v +} diff --git a/vendor/github.com/aws/smithy-go/document/internal/serde/tags.go b/vendor/github.com/aws/smithy-go/document/internal/serde/tags.go new file mode 100644 index 00000000..2097f12b --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/internal/serde/tags.go @@ -0,0 +1,38 @@ +package serde + +import ( + "strings" +) + +// Tag represents the `document` struct field tag and associated options +type Tag struct { + Name string + Ignore bool + OmitEmpty bool +} + +// ParseTag splits a struct field tag into its name and +// comma-separated options. +func ParseTag(tagStr string) (tag Tag) { + parts := strings.Split(tagStr, ",") + if len(parts) == 0 { + return tag + } + + if name := parts[0]; name == "-" { + tag.Name = "" + tag.Ignore = true + } else { + tag.Name = name + tag.Ignore = false + } + + for _, opt := range parts[1:] { + switch opt { + case "omitempty": + tag.OmitEmpty = true + } + } + + return tag +} diff --git a/vendor/github.com/aws/smithy-go/document/json/decoder.go b/vendor/github.com/aws/smithy-go/document/json/decoder.go new file mode 100644 index 00000000..366406c7 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/json/decoder.go @@ -0,0 +1,349 @@ +package json + +import ( + "encoding/json" + "fmt" + "math/big" + "reflect" + + "github.com/aws/smithy-go/document" + "github.com/aws/smithy-go/document/internal/serde" +) + +// DecoderOptions is the set of options that can be configured for a Decoder. +type DecoderOptions struct{} + +// Decoder is a Smithy document decoder for JSON based protocols. +type Decoder struct { + options DecoderOptions +} + +// DecodeJSONInterface decodes the supported JSON input types and stores the result in the value pointed by toValue. +// +// If toValue is not a compatible type, or an error occurs while decoding DecodeJSONInterface will return an error. +// +// The supported input JSON types are: +// bool -> JSON boolean +// float64 -> JSON number +// json.Number -> JSON number +// string -> JSON string +// []interface{} -> JSON array +// map[string]interface{} -> JSON object +// nil -> JSON null +// +func (d *Decoder) DecodeJSONInterface(input interface{}, toValue interface{}) error { + if document.IsNoSerde(toValue) { + return fmt.Errorf("unsupported type: %T", toValue) + } + + v := reflect.ValueOf(toValue) + + if v.Kind() != reflect.Ptr || v.IsNil() || !v.IsValid() { + return &document.InvalidUnmarshalError{Type: reflect.TypeOf(toValue)} + } + + return d.decode(input, v, serde.Tag{}) +} + +func (d *Decoder) decode(jv interface{}, rv reflect.Value, tag serde.Tag) error { + if jv == nil { + rv := serde.Indirect(rv, true) + return d.decodeJSONNull(rv) + } + + rv = serde.Indirect(rv, false) + + if err := d.unsupportedType(jv, rv); err != nil { + return err + } + + switch tv := jv.(type) { + case bool: + return d.decodeJSONBoolean(tv, rv) + case json.Number: + return d.decodeJSONNumber(tv, rv) + case float64: + return d.decodeJSONFloat64(tv, rv) + case string: + return d.decodeJSONString(tv, rv) + case []interface{}: + return d.decodeJSONArray(tv, rv) + case map[string]interface{}: + return d.decodeJSONObject(tv, rv) + default: + return fmt.Errorf("unsupported json type, %T", tv) + } +} + +func (d *Decoder) decodeJSONNull(rv reflect.Value) error { + if rv.IsValid() && rv.CanSet() { + rv.Set(reflect.Zero(rv.Type())) + } + + return nil +} + +func (d *Decoder) decodeJSONBoolean(tv bool, rv reflect.Value) error { + switch rv.Kind() { + case reflect.Bool, reflect.Interface: + rv.Set(reflect.ValueOf(tv).Convert(rv.Type())) + default: + return &document.UnmarshalTypeError{Value: "bool", Type: rv.Type()} + } + + return nil +} + +func (d *Decoder) decodeJSONNumber(tv json.Number, rv reflect.Value) error { + switch rv.Kind() { + case reflect.Interface: + rv.Set(reflect.ValueOf(document.Number(tv))) + case reflect.String: + // covers document.Number + rv.SetString(tv.String()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + i, err := tv.Int64() + if err != nil { + return err + } + if rv.OverflowInt(i) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("number overflow, %s", tv.String()), + Type: rv.Type(), + } + } + rv.SetInt(i) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + u, err := document.Number(tv).Uint64() + if err != nil { + return err + } + if rv.OverflowUint(u) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("number overflow, %s", tv.String()), + Type: rv.Type(), + } + } + rv.SetUint(u) + case reflect.Float32: + f, err := document.Number(tv).Float32() + if err != nil { + return err + } + if rv.OverflowFloat(f) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("float overflow, %s", tv.String()), + Type: rv.Type(), + } + } + rv.SetFloat(f) + case reflect.Float64: + f, err := document.Number(tv).Float64() + if err != nil { + return err + } + if rv.OverflowFloat(f) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("float overflow, %s", tv.String()), + Type: rv.Type(), + } + } + rv.SetFloat(f) + default: + rvt := rv.Type() + switch { + case rvt.ConvertibleTo(serde.ReflectTypeOf.BigFloat): + sv := tv.String() + f, ok := (&big.Float{}).SetString(sv) + if !ok { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("invalid number format, %s", sv), + Type: rv.Type(), + } + } + rv.Set(reflect.ValueOf(*f).Convert(rvt)) + case rvt.ConvertibleTo(serde.ReflectTypeOf.BigInt): + sv := tv.String() + i, ok := (&big.Int{}).SetString(sv, 10) + if !ok { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("invalid number format, %s", sv), + Type: rv.Type(), + } + } + rv.Set(reflect.ValueOf(*i).Convert(rvt)) + default: + return &document.UnmarshalTypeError{Value: "number", Type: rv.Type()} + } + } + + return nil +} + +func (d *Decoder) decodeJSONFloat64(tv float64, rv reflect.Value) error { + switch rv.Kind() { + case reflect.Interface: + rv.Set(reflect.ValueOf(tv)) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + i, accuracy := big.NewFloat(tv).Int64() + if accuracy != big.Exact || rv.OverflowInt(i) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("number overflow, %e", tv), + Type: rv.Type(), + } + } + rv.SetInt(i) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + u, accuracy := big.NewFloat(tv).Uint64() + if accuracy != big.Exact || rv.OverflowUint(u) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("number overflow, %e", tv), + Type: rv.Type(), + } + } + rv.SetUint(u) + case reflect.Float32, reflect.Float64: + if rv.OverflowFloat(tv) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("float overflow, %e", tv), + Type: rv.Type(), + } + } + rv.SetFloat(tv) + default: + rvt := rv.Type() + switch { + case rvt.ConvertibleTo(serde.ReflectTypeOf.BigFloat): + f := big.NewFloat(tv) + rv.Set(reflect.ValueOf(*f).Convert(rvt)) + case rvt.ConvertibleTo(serde.ReflectTypeOf.BigInt): + i, accuracy := big.NewFloat(tv).Int(nil) + if accuracy != big.Exact { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("int overflow, %e", tv), + Type: rv.Type(), + } + } + rv.Set(reflect.ValueOf(*i).Convert(rvt)) + default: + return &document.UnmarshalTypeError{Value: "number", Type: rv.Type()} + } + } + + return nil +} + +func (d *Decoder) decodeJSONArray(tv []interface{}, rv reflect.Value) error { + var isArray bool + + switch rv.Kind() { + case reflect.Slice: + // Make room for the slice elements if needed + if rv.IsNil() || rv.Cap() < len(tv) { + rv.Set(reflect.MakeSlice(rv.Type(), 0, len(tv))) + } + case reflect.Array: + // Limited to capacity of existing array. + isArray = true + case reflect.Interface: + s := make([]interface{}, len(tv)) + for i, av := range tv { + if err := d.decode(av, reflect.ValueOf(&s[i]).Elem(), serde.Tag{}); err != nil { + return err + } + } + rv.Set(reflect.ValueOf(s)) + return nil + default: + return &document.UnmarshalTypeError{Value: "list", Type: rv.Type()} + } + + // If rv is not a slice, array + for i := 0; i < rv.Cap() && i < len(tv); i++ { + if !isArray { + rv.SetLen(i + 1) + } + if err := d.decode(tv[i], rv.Index(i), serde.Tag{}); err != nil { + return err + } + } + + return nil +} + +func (d *Decoder) decodeJSONString(tv string, rv reflect.Value) error { + switch rv.Kind() { + case reflect.String: + rv.SetString(tv) + case reflect.Interface: + // Ensure type aliasing is handled properly + rv.Set(reflect.ValueOf(tv).Convert(rv.Type())) + default: + return &document.UnmarshalTypeError{Value: "string", Type: rv.Type()} + } + + return nil +} + +func (d *Decoder) decodeJSONObject(tv map[string]interface{}, rv reflect.Value) error { + switch rv.Kind() { + case reflect.Map: + t := rv.Type() + if t.Key().Kind() != reflect.String { + return &document.UnmarshalTypeError{Value: "map string key", Type: t.Key()} + } + if rv.IsNil() { + rv.Set(reflect.MakeMap(t)) + } + case reflect.Struct: + if rv.CanInterface() && document.IsNoSerde(rv.Interface()) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("unsupported type"), + Type: rv.Type(), + } + } + case reflect.Interface: + rv.Set(reflect.MakeMap(serde.ReflectTypeOf.MapStringToInterface)) + rv = rv.Elem() + default: + return &document.UnmarshalTypeError{Value: "map", Type: rv.Type()} + } + + if rv.Kind() == reflect.Map { + for k, kv := range tv { + key := reflect.New(rv.Type().Key()).Elem() + key.SetString(k) + elem := reflect.New(rv.Type().Elem()).Elem() + if err := d.decode(kv, elem, serde.Tag{}); err != nil { + return err + } + rv.SetMapIndex(key, elem) + } + } else if rv.Kind() == reflect.Struct { + fields := serde.GetStructFields(rv.Type()) + for k, kv := range tv { + if f, ok := fields.FieldByName(k); ok { + fv := serde.DecoderFieldByIndex(rv, f.Index) + if err := d.decode(kv, fv, f.Tag); err != nil { + return err + } + } + } + } + + return nil +} + +func (d *Decoder) unsupportedType(jv interface{}, rv reflect.Value) error { + if rv.Kind() == reflect.Interface && rv.NumMethod() != 0 { + return &document.UnmarshalTypeError{Value: "non-empty interface", Type: rv.Type()} + } + + if rv.Type().ConvertibleTo(serde.ReflectTypeOf.Time) { + return &document.UnmarshalTypeError{ + Type: rv.Type(), + Value: fmt.Sprintf("time value: %v", jv), + } + } + return nil +} diff --git a/vendor/github.com/aws/smithy-go/document/json/doc.go b/vendor/github.com/aws/smithy-go/document/json/doc.go new file mode 100644 index 00000000..cc5c04c3 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/json/doc.go @@ -0,0 +1,8 @@ +// Package json provides a document Encoder and Decoder implementation that is used to implement Smithy document types +// for JSON based protocols. The Encoder and Decoder implement the document.Marshaler and document.Unmarshaler +// interfaces respectively. +// +// This package handles protocol specific implementation details about documents, and can not be used to construct +// a document type for a service client. To construct a document type see each service clients respective document +// package and NewLazyDocument function. +package json diff --git a/vendor/github.com/aws/smithy-go/document/json/encoder.go b/vendor/github.com/aws/smithy-go/document/json/encoder.go new file mode 100644 index 00000000..e9138330 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/json/encoder.go @@ -0,0 +1,352 @@ +package json + +import ( + "fmt" + "math/big" + "reflect" + "slices" + "strings" + + "github.com/aws/smithy-go/document" + "github.com/aws/smithy-go/document/internal/serde" + smithyjson "github.com/aws/smithy-go/encoding/json" +) + +// EncoderOptions is the set of options that can be configured for an Encoder. +type EncoderOptions struct{} + +// Encoder is a Smithy document decoder for JSON based protocols. +type Encoder struct { + options EncoderOptions +} + +// Encode returns the JSON encoding of v. +func (e *Encoder) Encode(v interface{}) ([]byte, error) { + encoder := smithyjson.NewEncoder() + + if err := e.encode(jsonValueProvider(encoder.Value), reflect.ValueOf(v), serde.Tag{}); err != nil { + return nil, err + } + + encodedBytes := encoder.Bytes() + + if len(encodedBytes) == 0 { + return nil, nil + } + + return encodedBytes, nil +} + +// valueProvider is an interface for retrieving a JSON Value type used for encoding. +type valueProvider interface { + GetValue() smithyjson.Value +} + +// jsonValueProvider is a valueProvider that returns the JSON value encoder as is. +type jsonValueProvider smithyjson.Value + +func (p jsonValueProvider) GetValue() smithyjson.Value { + return smithyjson.Value(p) +} + +// jsonObjectKeyProvider is a valueProvider that returns a JSON value type for encoding a value for the given JSON object +// key. +type jsonObjectKeyProvider struct { + Object *smithyjson.Object + Key string +} + +func (p jsonObjectKeyProvider) GetValue() smithyjson.Value { + return p.Object.Key(p.Key) +} + +// jsonArrayProvider is a valueProvider that returns a JSON value type for encoding a value in the given JSON array. +type jsonArrayProvider struct { + Array *smithyjson.Array +} + +func (p jsonArrayProvider) GetValue() smithyjson.Value { + return p.Array.Value() +} + +func (e *Encoder) encode(vp valueProvider, rv reflect.Value, tag serde.Tag) error { + // Zero values are serialized as null, or skipped if omitEmpty. + if serde.IsZeroValue(rv) { + if tag.OmitEmpty { + return nil + } + return e.encodeZeroValue(vp, rv) + } + + // Handle both pointers and interface conversion into types + rv = serde.ValueElem(rv) + + switch rv.Kind() { + case reflect.Invalid: + if tag.OmitEmpty { + return nil + } + vp.GetValue().Null() + return nil + + case reflect.Struct: + return e.encodeStruct(vp, rv) + + case reflect.Map: + return e.encodeMap(vp, rv) + + case reflect.Slice, reflect.Array: + return e.encodeSlice(vp, rv) + + case reflect.Chan, reflect.Func, reflect.UnsafePointer: + // skip unsupported types + return nil + + default: + return e.encodeScalar(vp, rv) + } +} + +func (e *Encoder) encodeZeroValue(vp valueProvider, rv reflect.Value) error { + switch rv.Kind() { + case reflect.Invalid: + vp.GetValue().Null() + case reflect.Array: + vp.GetValue().Array().Close() + case reflect.Map, reflect.Slice: + vp.GetValue().Null() + case reflect.String: + vp.GetValue().String("") + case reflect.Bool: + vp.GetValue().Boolean(false) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + vp.GetValue().Long(0) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + vp.GetValue().ULong(0) + case reflect.Float32, reflect.Float64: + vp.GetValue().Double(0) + case reflect.Interface, reflect.Ptr: + vp.GetValue().Null() + default: + return &document.InvalidMarshalError{Message: fmt.Sprintf("unknown value type: %s", rv.String())} + } + + return nil +} + +func (e *Encoder) encodeStruct(vp valueProvider, rv reflect.Value) error { + if rv.CanInterface() && document.IsNoSerde(rv.Interface()) { + return &document.UnmarshalTypeError{ + Value: fmt.Sprintf("unsupported type"), + Type: rv.Type(), + } + } + + switch { + case rv.Type().ConvertibleTo(serde.ReflectTypeOf.Time): + return &document.InvalidMarshalError{ + Message: fmt.Sprintf("unsupported type %s", rv.Type().String()), + } + case rv.Type().ConvertibleTo(serde.ReflectTypeOf.BigFloat): + fallthrough + case rv.Type().ConvertibleTo(serde.ReflectTypeOf.BigInt): + return e.encodeNumber(vp, rv) + } + + object := vp.GetValue().Object() + defer object.Close() + + fields := serde.GetStructFields(rv.Type()) + for _, f := range fields.All() { + if f.Name == "" { + return &document.InvalidMarshalError{Message: "map key cannot be empty"} + } + + fv, found := serde.EncoderFieldByIndex(rv, f.Index) + if !found { + continue + } + + err := e.encode(jsonObjectKeyProvider{ + Object: object, + Key: f.Name, + }, fv, f.Tag) + if err != nil { + return err + } + } + + return nil +} + +func (e *Encoder) encodeMap(vp valueProvider, rv reflect.Value) error { + object := vp.GetValue().Object() + defer object.Close() + + rawKeys := rv.MapKeys() + keys := make([]*mapKey, 0, len(rawKeys)) + for _, raw := range rawKeys { + keys = append(keys, &mapKey{ + Value: raw, + Underlying: fmt.Sprint(raw.Interface()), + }) + } + + slices.SortFunc(keys, sortMapKeys) + for _, key := range keys { + if key.Underlying == "" { + return &document.InvalidMarshalError{Message: "map key cannot be empty"} + } + + ev := rv.MapIndex(key.Value) + err := e.encode(jsonObjectKeyProvider{ + Object: object, + Key: key.Underlying, + }, ev, serde.Tag{}) + if err != nil { + return err + } + } + + return nil +} + +func (e *Encoder) encodeSlice(value valueProvider, rv reflect.Value) error { + array := value.GetValue().Array() + defer array.Close() + + for i := 0; i < rv.Len(); i++ { + err := e.encode(jsonArrayProvider{Array: array}, rv.Index(i), serde.Tag{}) + if err != nil { + return err + } + } + + return nil +} + +func (e *Encoder) encodeScalar(vp valueProvider, rv reflect.Value) error { + if rv.Type() == serde.ReflectTypeOf.DocumentNumber { + number := rv.Interface().(document.Number) + if !isValidJSONNumber(number.String()) { + return &document.InvalidMarshalError{Message: fmt.Sprintf("invalid number literal: %s", number)} + } + vp.GetValue().Write([]byte(number)) + return nil + } + + switch rv.Kind() { + case reflect.Bool: + vp.GetValue().Boolean(rv.Bool()) + case reflect.String: + vp.GetValue().String(rv.String()) + default: + // Fallback to encoding numbers, will return invalid type if not supported + err := e.encodeNumber(vp, rv) + if err != nil { + return err + } + } + + return nil +} + +func (e *Encoder) encodeNumber(vp valueProvider, rv reflect.Value) error { + switch rv.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + vp.GetValue().Long(rv.Int()) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + vp.GetValue().ULong(rv.Uint()) + case reflect.Float32: + vp.GetValue().Float(float32(rv.Float())) + case reflect.Float64: + vp.GetValue().Double(rv.Float()) + default: + rvt := rv.Type() + switch { + case rvt.ConvertibleTo(serde.ReflectTypeOf.BigInt): + bi := rv.Convert(serde.ReflectTypeOf.BigInt).Interface().(big.Int) + vp.GetValue().BigInteger(&bi) + case rvt.ConvertibleTo(serde.ReflectTypeOf.BigFloat): + bf := rv.Convert(serde.ReflectTypeOf.BigFloat).Interface().(big.Float) + vp.GetValue().BigDecimal(&bf) + default: + return &document.InvalidMarshalError{Message: fmt.Sprintf("incompatible type: %s", rvt.String())} + } + } + + return nil +} + +// isValidJSONNumber reports whether s is a valid JSON number literal. +// From https://golang.org/src/encoding/json/encode.go#L652 isValidNumber +// Copyright 2010 The Go Authors. +func isValidJSONNumber(s string) bool { + // This function implements the JSON numbers grammar. + // See https://tools.ietf.org/html/rfc7159#section-6 + // and https://www.json.org/img/number.png + + if s == "" { + return false + } + + // Optional - + if s[0] == '-' { + s = s[1:] + if s == "" { + return false + } + } + + // Digits + switch { + default: + return false + + case s[0] == '0': + s = s[1:] + + case '1' <= s[0] && s[0] <= '9': + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + if s[0] == '+' || s[0] == '-' { + s = s[1:] + if s == "" { + return false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + } + } + + // Make sure we are at the end. + return s == "" +} + +// cache struct to cache a map key's reflect.Value with its underlying value, +// since repeated calls to reflect.Value.Interface() may be expensive +type mapKey struct { + Value reflect.Value + Underlying string +} + +func sortMapKeys(i, j *mapKey) int { + return strings.Compare(i.Underlying, j.Underlying) +} diff --git a/vendor/github.com/aws/smithy-go/document/json/json.go b/vendor/github.com/aws/smithy-go/document/json/json.go new file mode 100644 index 00000000..ec4d2926 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/document/json/json.go @@ -0,0 +1,27 @@ +package json + +// NewEncoder returns an Encoder for serializing Smithy documents for JSON based protocols. +func NewEncoder(optFns ...func(options *EncoderOptions)) *Encoder { + o := EncoderOptions{} + + for _, fn := range optFns { + fn(&o) + } + + return &Encoder{ + options: o, + } +} + +// NewDecoder returns a Decoder for deserializing Smithy documents for JSON based protocols. +func NewDecoder(optFns ...func(*DecoderOptions)) *Decoder { + o := DecoderOptions{} + + for _, fn := range optFns { + fn(&o) + } + + return &Decoder{ + options: o, + } +} diff --git a/vendor/github.com/aws/smithy-go/eventstream/debug.go b/vendor/github.com/aws/smithy-go/eventstream/debug.go index 6049402b..ca4394f8 100644 --- a/vendor/github.com/aws/smithy-go/eventstream/debug.go +++ b/vendor/github.com/aws/smithy-go/eventstream/debug.go @@ -139,6 +139,6 @@ func valueFromType(typ valueType, val any) (Value, error) { copy(tv[:], v) return tv, err default: - panic(fmt.Sprintf("unknown type, %s, %T", typ.String(), val)) + return nil, fmt.Errorf("unable to decode unknown type, %s, %T", typ.String(), val) } } diff --git a/vendor/github.com/aws/smithy-go/eventstream/header.go b/vendor/github.com/aws/smithy-go/eventstream/header.go index f580bda4..b5aacca0 100644 --- a/vendor/github.com/aws/smithy-go/eventstream/header.go +++ b/vendor/github.com/aws/smithy-go/eventstream/header.go @@ -151,7 +151,7 @@ func decodeHeaderValue(r io.Reader) (Value, error) { err = tv.decode(r) v = tv default: - panic(fmt.Sprintf("unknown value type %d", raw.Type)) + return nil, fmt.Errorf("unable to decode header of unknown value type %d", raw.Type) } // Error could be EOF, let caller deal with it diff --git a/vendor/github.com/aws/smithy-go/go_module_metadata.go b/vendor/github.com/aws/smithy-go/go_module_metadata.go index c945a45d..b676a4e1 100644 --- a/vendor/github.com/aws/smithy-go/go_module_metadata.go +++ b/vendor/github.com/aws/smithy-go/go_module_metadata.go @@ -3,4 +3,4 @@ package smithy // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.28.1" +const goModuleVersion = "1.28.5" diff --git a/vendor/github.com/aws/smithy-go/internal/errors/errors.go b/vendor/github.com/aws/smithy-go/internal/errors/errors.go new file mode 100644 index 00000000..5eea7b79 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/errors/errors.go @@ -0,0 +1,56 @@ +package errors + +import ( + "reflect" + "strings" + + "github.com/aws/smithy-go" +) + +// SetErrorCodeOverride sets the ErrorCodeOverride field on err if present. +// +// This is used by protocols in awsquery-compatible mode that need to override +// the error code on a deserialized error. +func SetErrorCodeOverride(err error, code string) { + // yes it's reflection but i don't really view errors as a hot path so i + // think it's fine + v := reflect.ValueOf(err) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + if v.Kind() != reflect.Struct { + return + } + + f := v.FieldByName("ErrorCodeOverride") + if !f.IsValid() || !f.CanSet() || f.Type() != reflect.TypeOf((*string)(nil)) { + return + } + + f.Set(reflect.ValueOf(&code)) +} + +// SanitizeErrorCode strips namespace prefixes and colon suffixes from protocol +// error codes. +func SanitizeErrorCode(code string) string { + _, noprefix, ok := strings.Cut(code, "#") + if !ok { + noprefix = code // If sep does not appear in s, cut returns s, "", false. + } + + code, _, _ = strings.Cut(noprefix, ":") + return code +} + +// ParseQueryError extracts the error code and fault from X-Amzn-Query-Error. +func ParseQueryError(header string) (string, smithy.ErrorFault) { + code, fault, _ := strings.Cut(header, ";") + switch fault { + case "Sender": + return code, smithy.FaultClient + case "Receiver": + return code, smithy.FaultServer + default: + return code, smithy.FaultUnknown + } +} diff --git a/vendor/github.com/aws/smithy-go/internal/eventstream/codec.go b/vendor/github.com/aws/smithy-go/internal/eventstream/codec.go new file mode 100644 index 00000000..d0a8d00c --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/eventstream/codec.go @@ -0,0 +1,244 @@ +package eventstream + +import ( + "bytes" + "fmt" + "io" + + "github.com/aws/smithy-go" + "github.com/aws/smithy-go/eventstream" +) + +// Codec orchestrates event stream message serde for protocols that use the +// standard event stream binary framing. +type Codec struct { + Serializer func() smithy.ShapeSerializer + Deserializer func([]byte) smithy.ShapeDeserializer + ContentType string + + // Protocol-specific hook to retrieve error information from some payload. + ErrorInfo func(payload []byte) (code, message string, err error) + + encoder *eventstream.Encoder + decoder *eventstream.Decoder + payloadBuf []byte +} + +func (c *Codec) enc() *eventstream.Encoder { + if c.encoder == nil { + c.encoder = eventstream.NewEncoder() + } + return c.encoder +} + +func (c *Codec) dec() *eventstream.Decoder { + if c.decoder == nil { + c.decoder = eventstream.NewDecoder() + } + return c.decoder +} + +// SerializeEventMessage serializes an event to the input stream. +func (c *Codec) SerializeEventMessage(schema, variant *smithy.Schema, v smithy.Serializable, w io.Writer) error { + var msg eventstream.Message + + inner := c.Serializer() + ss := eventstream.NewShapeSerializer(&msg, inner) + + v.Serialize(ss) + + // header order matches the legacy per-operation serializers: the event type + // is written before the message type + msg.Headers.Set(eventstream.EventTypeHeader, eventstream.StringValue(variant.MemberName())) + msg.Headers.Set(eventstream.MessageTypeHeader, eventstream.StringValue(eventstream.EventMessageType)) + + if ct := ss.ContentType(); ct != "" { + msg.Headers.Set(eventstream.ContentTypeHeader, eventstream.StringValue(ct)) + } else if payload := inner.Bytes(); len(payload) > 0 { + msg.Payload = payload + msg.Headers.Set(eventstream.ContentTypeHeader, eventstream.StringValue(c.ContentType)) + } + + return c.enc().Encode(w, msg) +} + +// DeserializeEventMessage reads an event from the output stream. +func (c *Codec) DeserializeEventMessage(schema *smithy.Schema, types *smithy.TypeRegistry, r io.Reader) (smithy.Deserializable, error) { + for { + c.payloadBuf = c.payloadBuf[0:0] + msg, err := c.dec().Decode(r, c.payloadBuf) + if err != nil { + if isEOF(err) { + return nil, io.EOF + } + return nil, fmt.Errorf("decode event: %w", err) + } + + msgType := msg.Headers.Get(eventstream.MessageTypeHeader) + if msgType == nil { + return nil, fmt.Errorf("missing %s header", eventstream.MessageTypeHeader) + } + + switch msgType.String() { + case eventstream.EventMessageType: + event, err := c.deserializeEvent(schema, types, &msg) + if err != nil { + return nil, err + } + return event, nil + case eventstream.ExceptionMessageType: + return nil, c.deserializeException(schema, types, &msg) + case eventstream.ErrorMessageType: + return nil, deserializeError(&msg) + default: + mc := msg.Clone() + return nil, &eventstream.UnknownMessageError{ + Type: msgType.String(), + Message: &mc, + } + } + } +} + +func (c *Codec) deserializeEvent(schema *smithy.Schema, types *smithy.TypeRegistry, msg *eventstream.Message) (smithy.Deserializable, error) { + eventType := msg.Headers.Get(eventstream.EventTypeHeader) + if eventType == nil { + return nil, fmt.Errorf("missing %s header", eventstream.EventTypeHeader) + } + + member := schema.Member(eventType.String()) + if member == nil { + return c.unknownEvent(eventType.String(), msg) + } + + entry, ok := types.LookupEntry(member.TargetID().String()) + if !ok { + return c.unknownEvent(eventType.String(), msg) + } + + instance, ok := entry.New().(smithy.Deserializable) + if !ok { + return nil, fmt.Errorf("event type %s is not deserializable", eventType.String()) + } + + inner := c.Deserializer(msg.Payload) + ed := eventstream.NewShapeDeserializer(msg, inner) + if err := instance.Deserialize(ed); err != nil { + return nil, fmt.Errorf("deserialize event %s: %w", eventType.String(), err) + } + + return instance, nil +} + +func (c *Codec) unknownEvent(tag string, msg *eventstream.Message) (*eventstream.UnknownUnionMember, error) { + var buf bytes.Buffer + c.enc().Encode(&buf, *msg) + return &eventstream.UnknownUnionMember{Tag: tag, Value: buf.Bytes()}, nil +} + +func (c *Codec) deserializeException(schema *smithy.Schema, types *smithy.TypeRegistry, msg *eventstream.Message) error { + exType := msg.Headers.Get(eventstream.ExceptionTypeHeader) + if exType == nil { + return fmt.Errorf("missing %s header", eventstream.ExceptionTypeHeader) + } + + var id string + if member := schema.Member(exType.String()); member != nil { + id = member.TargetID().String() + } else { + id = exType.String() + } + + perr, ok := types.DeserializableError(id) + if !ok { + code := exType.String() + message := "UnknownError" + if c.ErrorInfo != nil { + bodyCode, bodyMessage, err := c.ErrorInfo(msg.Payload) + if err != nil { + return &smithy.DeserializationError{ + Err: fmt.Errorf("get error info: %w", err), + Snapshot: msg.Payload, + } + } + if len(code) == 0 && len(bodyCode) != 0 { + code = bodyCode + } + if len(bodyMessage) != 0 { + message = bodyMessage + } + } + return &smithy.GenericAPIError{ + Code: code, + Message: message, + } + } + + inner := c.Deserializer(msg.Payload) + ed := eventstream.NewShapeDeserializer(msg, inner) + if err := perr.Deserialize(ed); err != nil { + return fmt.Errorf("deserialize exception %s: %w", exType.String(), err) + } + + return perr +} + +// SerializeInitialRequest serializes the operation input as the first event +// stream message with :event-type "initial-request". +func (c *Codec) SerializeInitialRequest(schema *smithy.Schema, v smithy.Serializable, w io.Writer) error { + ss := c.Serializer() + v.Serialize(ss) + + var msg eventstream.Message + msg.Headers.Set(eventstream.MessageTypeHeader, eventstream.StringValue(eventstream.EventMessageType)) + msg.Headers.Set(eventstream.EventTypeHeader, eventstream.StringValue("initial-request")) + if payload := ss.Bytes(); len(payload) > 0 { + msg.Payload = payload + msg.Headers.Set(eventstream.ContentTypeHeader, eventstream.StringValue(c.ContentType)) + } + + return c.enc().Encode(w, msg) +} + +// DeserializeInitialResponse reads the first event stream message and +// deserializes it as the operation output. +func (c *Codec) DeserializeInitialResponse(schema *smithy.Schema, r io.Reader, out smithy.Deserializable) error { + c.payloadBuf = c.payloadBuf[0:0] + msg, err := c.dec().Decode(r, c.payloadBuf) + if err != nil { + return fmt.Errorf("decode initial response: %w", err) + } + + eventType := msg.Headers.Get(eventstream.EventTypeHeader) + if eventType == nil || eventType.String() != "initial-response" { + return fmt.Errorf("expected initial-response, got %v", eventType) + } + + if len(msg.Payload) > 0 { + sd := c.Deserializer(msg.Payload) + if err := out.Deserialize(sd); err != nil { + return fmt.Errorf("deserialize initial response: %w", err) + } + } + + return nil +} + +func deserializeError(msg *eventstream.Message) error { + code := "UnknownError" + message := code + if v := msg.Headers.Get(eventstream.ErrorCodeHeader); v != nil { + code = v.String() + } + if v := msg.Headers.Get(eventstream.ErrorMessageHeader); v != nil { + message = v.String() + } + return &smithy.GenericAPIError{ + Code: code, + Message: message, + } +} + +func isEOF(err error) bool { + return err == io.EOF || err == io.ErrUnexpectedEOF +} diff --git a/vendor/github.com/aws/smithy-go/internal/eventstream/no_event_stream.go b/vendor/github.com/aws/smithy-go/internal/eventstream/no_event_stream.go new file mode 100644 index 00000000..3862cdb5 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/eventstream/no_event_stream.go @@ -0,0 +1,36 @@ +package eventstream + +import ( + "fmt" + "io" + + "github.com/aws/smithy-go" +) + +// NoEventStream implements the event stream methods of +// [github.com/aws/smithy-go/transport/http.ClientProtocol] for protocols +// that do not support event streams. +type NoEventStream struct{} + +// HasInitialEventMessage returns false. +func (NoEventStream) HasInitialEventMessage() bool { return false } + +// SerializeEventMessage returns an error. +func (NoEventStream) SerializeEventMessage(_, _ *smithy.Schema, _ smithy.Serializable, _ io.Writer) error { + return fmt.Errorf("event streams are not supported by this protocol") +} + +// DeserializeEventMessage returns an error. +func (NoEventStream) DeserializeEventMessage(_ *smithy.Schema, _ *smithy.TypeRegistry, _ io.Reader) (smithy.Deserializable, error) { + return nil, fmt.Errorf("event streams are not supported by this protocol") +} + +// SerializeInitialRequest returns an error. +func (NoEventStream) SerializeInitialRequest(_ *smithy.Schema, _ smithy.Serializable, _ io.Writer) error { + return fmt.Errorf("event streams are not supported by this protocol") +} + +// DeserializeInitialResponse returns an error. +func (NoEventStream) DeserializeInitialResponse(_ *smithy.Schema, _ io.Reader, _ smithy.Deserializable) error { + return fmt.Errorf("event streams are not supported by this protocol") +} diff --git a/vendor/github.com/aws/smithy-go/internal/eventstream/require_http2.go b/vendor/github.com/aws/smithy-go/internal/eventstream/require_http2.go new file mode 100644 index 00000000..78910b7d --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/eventstream/require_http2.go @@ -0,0 +1,12 @@ +package eventstream + +import "fmt" + +// RequireBidiHTTP2 returns an error if the response protocol is not at least +// HTTP/2, which is required for bidirectional event streams. +func (c *Codec) RequireBidiHTTP2(proto string, protoMajor int) error { + if protoMajor < 2 { + return fmt.Errorf("operation requires minimum HTTP protocol of HTTP/2, but was %s", proto) + } + return nil +} diff --git a/vendor/github.com/aws/smithy-go/internal/serde/read_payload_blob.go b/vendor/github.com/aws/smithy-go/internal/serde/read_payload_blob.go new file mode 100644 index 00000000..184389bb --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/serde/read_payload_blob.go @@ -0,0 +1,34 @@ +package serde + +import ( + "bytes" + "io" +) + +// maxPresize bounds how large a buffer we will allocate up front from a +// Content-Length header. Past this point we allocate maxPresize and let the read +// grow the buffer to fit whatever actually arrives. +// +// We arbitrarily choose 512K. +const maxPresize = 512 * 1024 + +// ReadPayloadBlob consumes the given reader into a buffer that does not come +// from (and will never be returned to) a pool, sizing it from contentLength +// when that is known and within bounds. +func ReadPayloadBlob(r io.Reader, contentLength int64) (*bytes.Buffer, error) { + buf := &bytes.Buffer{} + if contentLength > 0 { + presize := contentLength + if presize > maxPresize { + presize = maxPresize + } + + // + bytes.MinRead prevents pointless doubling on EOF + buf.Grow(int(presize) + bytes.MinRead) + } + + if _, err := buf.ReadFrom(r); err != nil { + return nil, err + } + return buf, nil +} diff --git a/vendor/github.com/aws/smithy-go/internal/serde/stack.go b/vendor/github.com/aws/smithy-go/internal/serde/stack.go new file mode 100644 index 00000000..dd236e3a --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/serde/stack.go @@ -0,0 +1,53 @@ +package serde + +// Stack is a generic slice-backed stack pre-allocated to avoid growth +// allocations for typical serde nesting depths. +type Stack[T any] struct { + values []T +} + +// NewStack returns a Stack pre-allocated with capacity 8. +func NewStack[T any]() Stack[T] { + return Stack[T]{values: make([]T, 0, 8)} +} + +// Push adds a value to the top of the stack. +func (s *Stack[T]) Push(v T) { + s.values = append(s.values, v) +} + +// Pop removes and returns the top value. +func (s *Stack[T]) Pop() T { + v := s.values[len(s.values)-1] + var zero T + s.values[len(s.values)-1] = zero + s.values = s.values[:len(s.values)-1] + return v +} + +// Top returns a pointer to the top value without removing it. +func (s *Stack[T]) Top() *T { + if len(s.values) == 0 { + return nil + } + return &s.values[len(s.values)-1] +} + +// Len returns the number of elements in the stack. +func (s *Stack[T]) Len() int { + return len(s.values) +} + +// Reset clears the stack while retaining allocated capacity. +func (s *Stack[T]) Reset() { + var zero T + for i := range s.values { + s.values[i] = zero + } + s.values = s.values[:0] +} + +// Values returns the underlying slice for indexed access. +func (s *Stack[T]) Values() []T { + return s.values +} diff --git a/vendor/github.com/aws/smithy-go/internal/serde/string_arena.go b/vendor/github.com/aws/smithy-go/internal/serde/string_arena.go new file mode 100644 index 00000000..b2fc257f --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/serde/string_arena.go @@ -0,0 +1,66 @@ +package serde + +import "unsafe" + +// ArenaPayloadFactor is the ratio at which we size string arenas to the payload +// (clamped by StringArenaMin/Max) +// +// We limit arenas to 4k but smaller payloads likely don't need it, so we size +// down (somewhat arbitrarily) until we hit the 512-byte floor at which we just +// don't arena. +const ArenaPayloadFactor = 4 + +// The size of a string arena is bounded, but not strictly by [min, max]: +// - Attempting to set a capacity below MinArenaSize will have no effect as +// beneath this limit it is not worth it. Calls to String with a capacity below +// this boundary will simply allocate. +// - An arena WILL be capped at MaxArenaSize. +const ( + MinArenaSize = 512 + MaxArenaSize = 4096 +) + +// StringArena batches many small string allocations into one block. +// +// You MUST call Reset with the desired capacity before use. Failure to do so +// will mean any calls to String will simply allocate and you won't get the +// performance benefit of the arena. +type StringArena struct { + buf []byte + cap int +} + +// Reset prepares the arena for a new document, sizing its next block to cap. +func (a *StringArena) Reset(cap int) { + if cap > MaxArenaSize { + cap = MaxArenaSize + } + a.buf = nil + a.cap = cap +} + +// String attempts to intern a copy of b in the arena, returning a string slice +// for it. +// +// If the arena is at capacity, it will just allocate a new string. +func (a *StringArena) String(b []byte) string { + if len(b) == 0 { + return "" + } + + if a.buf == nil { // lazy init, there might be no strings at all + if a.cap < MinArenaSize || len(b) > a.cap { + return string(b) // "not worth it" fallback + } + + a.buf = make([]byte, 0, a.cap) + } + + if len(b) > cap(a.buf)-len(a.buf) { + return string(b) // "over budget" fallback + } + + off := len(a.buf) + a.buf = append(a.buf, b...) + return unsafe.String(&a.buf[off], len(b)) +} diff --git a/vendor/github.com/aws/smithy-go/internal/sync/buffer_pool.go b/vendor/github.com/aws/smithy-go/internal/sync/buffer_pool.go new file mode 100644 index 00000000..fdcb1abf --- /dev/null +++ b/vendor/github.com/aws/smithy-go/internal/sync/buffer_pool.go @@ -0,0 +1,52 @@ +package sync + +import ( + "bytes" + "io" + "sync" +) + +// maxBufferSize is the largest buffer that will be returned to the pool. +// +// A pooled buffer retains the capacity its largest occupant forced it to grow +// to, for the life of the pool. Dropping oversized buffers bounds that +// retention, at the cost of re-growing after an unusually large response. +// +// We arbitrarily choose 64K. +const maxBufferSize = 64 * 1024 + +func newBuffer() any { + return new(bytes.Buffer) +} + +// BufferPool pools bytes.Buffers for reading response bodies during protocol +// deserialization. +type BufferPool struct { + pool sync.Pool +} + +// NewBufferPool returns a buffer pool ready for use. +func NewBufferPool() *BufferPool { + return &BufferPool{ + pool: sync.Pool{New: newBuffer}, + } +} + +// Get consumes the given reader into a buffer from the pool, returning that +// buffer. +func (p *BufferPool) Get(r io.Reader) (*bytes.Buffer, error) { + buf := p.pool.Get().(*bytes.Buffer) + if _, err := buf.ReadFrom(r); err != nil { + return nil, err + } + + return buf, nil +} + +// Put returns the buffer if it is within the cap limit. +func (p *BufferPool) Put(buf *bytes.Buffer) { + if buf.Cap() <= maxBufferSize { + buf.Reset() + p.pool.Put(buf) + } +} diff --git a/vendor/github.com/aws/smithy-go/prelude/prelude.go b/vendor/github.com/aws/smithy-go/prelude/prelude.go new file mode 100644 index 00000000..8d3333a7 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/prelude/prelude.go @@ -0,0 +1,31 @@ +// Package prelude defines schemas for the Smithy prelude shapes. +package prelude + +import "github.com/aws/smithy-go" + +// All shapes in the prelude. +var ( + String = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "String"}, smithy.ShapeTypeString, 0) + Blob = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Blob"}, smithy.ShapeTypeBlob, 0) + Boolean = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Boolean"}, smithy.ShapeTypeBoolean, 0) + Byte = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Byte"}, smithy.ShapeTypeByte, 0) + Short = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Short"}, smithy.ShapeTypeShort, 0) + Integer = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Integer"}, smithy.ShapeTypeInteger, 0) + Long = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Long"}, smithy.ShapeTypeLong, 0) + Float = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Float"}, smithy.ShapeTypeFloat, 0) + Double = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Double"}, smithy.ShapeTypeDouble, 0) + Timestamp = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Timestamp"}, smithy.ShapeTypeTimestamp, 0) + Document = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Document"}, smithy.ShapeTypeDocument, 0) + Unit = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "Unit"}, smithy.ShapeTypeStructure, 0) + + PrimitiveBoolean = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveBoolean"}, smithy.ShapeTypeBoolean, 0) + PrimitiveByte = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveByte"}, smithy.ShapeTypeByte, 0) + PrimitiveShort = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveShort"}, smithy.ShapeTypeShort, 0) + PrimitiveInteger = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveInteger"}, smithy.ShapeTypeInteger, 0) + PrimitiveLong = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveLong"}, smithy.ShapeTypeLong, 0) + PrimitiveFloat = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveFloat"}, smithy.ShapeTypeFloat, 0) + PrimitiveDouble = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "PrimitiveDouble"}, smithy.ShapeTypeDouble, 0) + + BigInteger = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "BigInteger"}, smithy.ShapeTypeBigInteger, 0) + BigDecimal = smithy.NewSchema(smithy.ShapeID{Namespace: "smithy.api", Name: "BigDecimal"}, smithy.ShapeTypeBigDecimal, 0) +) diff --git a/vendor/github.com/aws/smithy-go/traits/traits.go b/vendor/github.com/aws/smithy-go/traits/traits.go index 599be4e5..8f5770be 100644 --- a/vendor/github.com/aws/smithy-go/traits/traits.go +++ b/vendor/github.com/aws/smithy-go/traits/traits.go @@ -10,6 +10,14 @@ type Sensitive struct{} // TraitID identifies the trait. func (*Sensitive) TraitID() smithy.ShapeID { return smithy.ShapeID{Namespace: "smithy.api", Name: "sensitive"} } +// Error represents smithy.api#error. +type Error struct { + Type string +} + +// TraitID identifies the trait. +func (*Error) TraitID() smithy.ShapeID { return smithy.ShapeID{Namespace: "smithy.api", Name: "error"} } + // EventHeader represents smithy.api#eventHeader. type EventHeader struct{} diff --git a/vendor/github.com/aws/smithy-go/transport/http/host.go b/vendor/github.com/aws/smithy-go/transport/http/host.go index b504a455..b1227bf9 100644 --- a/vendor/github.com/aws/smithy-go/transport/http/host.go +++ b/vendor/github.com/aws/smithy-go/transport/http/host.go @@ -29,17 +29,23 @@ func ValidateEndpointHost(host string) error { hostname = host } - labels := strings.Split(hostname, ".") - for i, label := range labels { - if i == len(labels)-1 && len(label) == 0 { - // Allow trailing dot for FQDN hosts. - continue + for start := 0; ; { + idx := strings.IndexByte(hostname[start:], '.') + if idx < 0 { + // Last label. Allow it to be empty to permit a trailing dot for + // FQDN hosts. + if label := hostname[start:]; len(label) != 0 && !ValidHostLabel(label) { + errors.WriteString("\nendpoint host domain labels must match \"[a-zA-Z0-9-]{1,63}\", but found: ") + errors.WriteString(label) + } + break } - if !ValidHostLabel(label) { + if label := hostname[start : start+idx]; !ValidHostLabel(label) { errors.WriteString("\nendpoint host domain labels must match \"[a-zA-Z0-9-]{1,63}\", but found: ") errors.WriteString(label) } + start += idx + 1 } if len(hostname) == 0 && len(port) != 0 { diff --git a/vendor/github.com/aws/smithy-go/transport/http/middleware_close_response_body.go b/vendor/github.com/aws/smithy-go/transport/http/middleware_close_response_body.go index a7e70b1c..247b9bf1 100644 --- a/vendor/github.com/aws/smithy-go/transport/http/middleware_close_response_body.go +++ b/vendor/github.com/aws/smithy-go/transport/http/middleware_close_response_body.go @@ -23,11 +23,11 @@ func CloseResponseBody(ctx context.Context, resp *Response, isStreaming bool, op // Drain to EOF before closing; a body closed while unread prevents // connection reuse. if _, copyErr := io.Copy(io.Discard, resp.Body); copyErr != nil { - middleware.GetLogger(ctx).Logf(logging.Warn, "failed to discard remaining HTTP response body, this may affect connection reuse") + middleware.GetLogger(ctx).Logf(logging.Warn, "failed to discard remaining HTTP response body, this may affect connection reuse: %v", copyErr) } if closeErr := resp.Body.Close(); closeErr != nil { - middleware.GetLogger(ctx).Logf(logging.Warn, "failed to close HTTP response body, this may affect connection reuse") + middleware.GetLogger(ctx).Logf(logging.Warn, "failed to close HTTP response body, this may affect connection reuse: %v", closeErr) } } @@ -95,12 +95,12 @@ func (m *closeResponseBody) HandleDeserialize( // Consume the full body to prevent TCP connection resets on some platforms _, copyErr := io.Copy(io.Discard, resp.Body) if copyErr != nil { - middleware.GetLogger(ctx).Logf(logging.Warn, "failed to discard remaining HTTP response body, this may affect connection reuse") + middleware.GetLogger(ctx).Logf(logging.Warn, "failed to discard remaining HTTP response body, this may affect connection reuse: %v", copyErr) } closeErr := resp.Body.Close() if closeErr != nil { - middleware.GetLogger(ctx).Logf(logging.Warn, "failed to close HTTP response body, this may affect connection reuse") + middleware.GetLogger(ctx).Logf(logging.Warn, "failed to close HTTP response body, this may affect connection reuse: %v", closeErr) } } diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/awsjson/awsjson.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/awsjson/awsjson.go new file mode 100644 index 00000000..1c9f61f3 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/awsjson/awsjson.go @@ -0,0 +1,265 @@ +package awsjson + +import ( + "bytes" + "context" + "encoding/json" + "fmt" + "io" + "net/http" + "strings" + + "github.com/aws/smithy-go" + internalerrors "github.com/aws/smithy-go/internal/errors" + internales "github.com/aws/smithy-go/internal/eventstream" + internalsync "github.com/aws/smithy-go/internal/sync" + smithyio "github.com/aws/smithy-go/io" + "github.com/aws/smithy-go/traits" + smithyhttp "github.com/aws/smithy-go/transport/http" + internaljson "github.com/aws/smithy-go/transport/http/protocol/internal/json" +) + +// ProtocolOptions configures aws.protocols#awsJson1_0. +type ProtocolOptions struct{} + +// New10 returns an instance of the awsJson 1.0 protocol. +func New10(service *smithy.ServiceSchema, opts ...func(*ProtocolOptions)) *Protocol { + return new("1.0", service, opts...) +} + +// New11 returns an instance of the awsJson 1.1 protocol. +func New11(service *smithy.ServiceSchema, opts ...func(*ProtocolOptions)) *Protocol { + return new("1.1", service, opts...) +} + +func new(version string, service *smithy.ServiceSchema, opts ...func(*ProtocolOptions)) *Protocol { + var o ProtocolOptions + for _, fn := range opts { + fn(&o) + } + + _, qc := smithy.SchemaTrait[*traits.AWSQueryCompatible](service.Schema) + return &Protocol{ + version: version, + queryCompatible: qc, + serviceName: service.Schema.ID().Name, + bufs: internalsync.NewBufferPool(), + eventstream: &internales.Codec{ + Serializer: func() smithy.ShapeSerializer { return internaljson.NewShapeSerializer() }, + Deserializer: func(p []byte) smithy.ShapeDeserializer { return internaljson.NewShapeDeserializer(p) }, + ContentType: "application/json", + ErrorInfo: internaljson.EventStreamErrorInfo, + }, + } +} + +// Protocol implements aws.protocols#awsJson1_0 and aws.protocols#awsJson1_1. +type Protocol struct { + version string + queryCompatible bool + serviceName string + + bufs *internalsync.BufferPool + eventstream *internales.Codec +} + +var _ smithyhttp.ClientProtocol = (*Protocol)(nil) + +// ID identifies the protocol. +func (p *Protocol) ID() smithy.ShapeID { + if p.version == "1.1" { + return smithy.ShapeID{Namespace: "aws.protocols", Name: "awsJson1_1"} + } + return smithy.ShapeID{Namespace: "aws.protocols", Name: "awsJson1_0"} +} + +// SerializeRequest serializes a request for AWS Json 1.0. +func (p *Protocol) SerializeRequest( + ctx context.Context, + schema *smithy.OperationSchema, + in smithy.Serializable, + req *smithyhttp.Request, +) error { + req.Method = http.MethodPost + if len(req.URL.Path) == 0 { + req.URL.Path = "/" + } + req.Header.Set("X-Amz-Target", fmt.Sprintf("%s.%s", p.serviceName, schema.ID().Name)) + if schema.IsInputEventStream() { + req.Header.Set("Content-Type", "application/vnd.amazon.eventstream") + return nil + } + + req.Header.Set("Content-Type", "application/x-amz-json-"+p.version) + if p.queryCompatible { + req.Header.Set("X-Amzn-Query-Mode", "true") + } + + if schema.Input == nil { + sreq, err := req.SetStream(strings.NewReader("{}")) + if err != nil { + return fmt.Errorf("set stream: %w", err) + } + *req = *sreq + return nil + } + + ss := internaljson.NewShapeSerializer() + in.Serialize(ss) + + sreq, err := req.SetStream(bytes.NewReader(ss.Bytes())) + if err != nil { + return fmt.Errorf("set stream: %w", err) + } + + *req = *sreq + return nil +} + +// DeserializeResponse deserializes a response for AWS Json 1.0. +func (p *Protocol) DeserializeResponse( + ctx context.Context, + schema *smithy.OperationSchema, + types *smithy.TypeRegistry, + resp *smithyhttp.Response, + out smithy.Deserializable, +) error { + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + return p.deserializeError(types, resp) + } + + if schema.IsOutputEventStream() { + if schema.IsInputEventStream() { + if err := p.eventstream.RequireBidiHTTP2(resp.Proto, resp.ProtoMajor); err != nil { + return err + } + } + return nil + } + + if schema.Output == nil { + return nil + } + + buf, err := p.bufs.Get(resp.Body) + if err != nil { + return &smithy.DeserializationError{Err: err} + } + defer p.bufs.Put(buf) + + payload := buf.Bytes() + if len(payload) == 0 { + return nil + } + + sd := internaljson.NewShapeDeserializer(payload) + if err := out.Deserialize(sd); err != nil { + return &smithy.DeserializationError{Err: err} + } + + return nil +} + +// HasInitialEventMessage is true because this is an RPC protocol. +func (*Protocol) HasInitialEventMessage() bool { + return true +} + +// SerializeEventMessage implements [smithyhttp.ClientProtocol]. +func (p *Protocol) SerializeEventMessage(schema, variant *smithy.Schema, v smithy.Serializable, w io.Writer) error { + return p.eventstream.SerializeEventMessage(schema, variant, v, w) +} + +// DeserializeEventMessage implements [smithyhttp.ClientProtocol]. +func (p *Protocol) DeserializeEventMessage(schema *smithy.Schema, types *smithy.TypeRegistry, r io.Reader) (smithy.Deserializable, error) { + return p.eventstream.DeserializeEventMessage(schema, types, r) +} + +// SerializeInitialRequest implements [smithyhttp.ClientProtocol]. +func (p *Protocol) SerializeInitialRequest(schema *smithy.Schema, v smithy.Serializable, w io.Writer) error { + return p.eventstream.SerializeInitialRequest(schema, v, w) +} + +// DeserializeInitialResponse implements [smithyhttp.ClientProtocol]. +func (p *Protocol) DeserializeInitialResponse(schema *smithy.Schema, r io.Reader, out smithy.Deserializable) error { + return p.eventstream.DeserializeInitialResponse(schema, r, out) +} + +// this handles both awsJson 1.0 and 1.1 - the only thing that 1.1 adds is +// error shape renaming (basically not having the namespace) but both versions +// of the protocol are supposed to support this anyway so it doesn't matter +func (p *Protocol) deserializeError(types *smithy.TypeRegistry, response *smithyhttp.Response) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + var headerCode string + headerCode = response.Header.Get("X-Amzn-ErrorType") + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + bodyInfo, err := internaljson.GetProtocolErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if typ, ok := internaljson.ResolveProtocolErrorType(headerCode, bodyInfo); ok { + errorCode = typ + } + if len(bodyInfo.Message) != 0 { + errorMessage = bodyInfo.Message + } + + errorCode = internaljson.SanitizeErrorCode(errorCode) + + var queryCode string + var queryFault smithy.ErrorFault + if p.queryCompatible { + queryHeader := response.Header.Get("X-Amzn-Query-Error") + queryCode, queryFault = internalerrors.ParseQueryError(queryHeader) + } + + perr, ok := types.DeserializableError(errorCode) + if !ok { + code := errorCode + if queryCode != "" { + code = queryCode + } + return &smithy.GenericAPIError{ + Code: code, + Message: errorMessage, + Fault: queryFault, + } + } + + errorBody.Seek(0, io.SeekStart) + errorBytes, _ := io.ReadAll(errorBody) + if len(errorBytes) > 0 { + deser := internaljson.NewShapeDeserializer(errorBytes) + if err := perr.Deserialize(deser); err != nil { + return &smithy.DeserializationError{Err: err} + } + } + + if queryCode != "" { + internalerrors.SetErrorCodeOverride(perr, queryCode) + } + + return perr +} diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/error.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/error.go new file mode 100644 index 00000000..785532c4 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/error.go @@ -0,0 +1,76 @@ +package json + +import ( + "bytes" + "encoding/json" + "io" + "strings" +) + +// ProtocolErrorInfo holds the error type and message decoded from a JSON +// error response body. +type ProtocolErrorInfo struct { + Type string `json:"__type"` + Message string + + // nonstandard, but some AWS services do present the type here + Code any +} + +// GetProtocolErrorInfo decodes error type/message from a JSON response body. +func GetProtocolErrorInfo(decoder *json.Decoder) (ProtocolErrorInfo, error) { + var errInfo ProtocolErrorInfo + if err := decoder.Decode(&errInfo); err != nil { + if err == io.EOF { + return errInfo, nil + } + return errInfo, err + } + return errInfo, nil +} + +// ResolveProtocolErrorType resolves the error type from the header value and +// body info, returning the type and whether one was found. +func ResolveProtocolErrorType(headerType string, bodyInfo ProtocolErrorInfo) (string, bool) { + if len(headerType) != 0 { + return headerType, true + } else if len(bodyInfo.Type) != 0 { + return bodyInfo.Type, true + } else if code, ok := bodyInfo.Code.(string); ok && len(code) != 0 { + return code, true + } + return "", false +} + +// SanitizeErrorCode strips namespace prefixes and URI suffixes from error +// codes received on the wire. +func SanitizeErrorCode(code string) string { + if idx := strings.Index(code, ":"); idx != -1 { + code = code[:idx] + } + if idx := strings.Index(code, "#"); idx != -1 { + code = code[idx+1:] + } + return code +} + +// EventStreamErrorInfo extracts the error code and message from a JSON +// exception payload. +func EventStreamErrorInfo(payload []byte) (string, string, error) { + if len(payload) == 0 { + return "", "", nil + } + + decoder := json.NewDecoder(bytes.NewReader(payload)) + decoder.UseNumber() + info, err := GetProtocolErrorInfo(decoder) + if err != nil { + return "", "", err + } + + var code string + if typ, ok := ResolveProtocolErrorType("", info); ok { + code = SanitizeErrorCode(typ) + } + return code, info.Message, nil +} diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/ext.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/ext.go new file mode 100644 index 00000000..46961c60 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/ext.go @@ -0,0 +1,62 @@ +package json + +import ( + "github.com/aws/smithy-go" + "github.com/aws/smithy-go/traits" +) + +type jsonExt struct { + jsonKey []byte // `,"memberName":` -- use [1:] when no comma needed + jsonNameKey []byte // `,"jsonName":` -- use [1:] when no comma needed (nil if no @jsonName) +} + +func getExt(s *smithy.Schema) *jsonExt { + return smithy.SchemaExtension(s, smithy.ExtJSON, buildJSONExt) +} + +func buildJSONExt(s *smithy.Schema) *jsonExt { + ext := &jsonExt{} + + if name := s.MemberName(); name != "" { + ext.jsonKey = encodeJSONKey(name) + if jn, ok := smithy.SchemaTrait[*traits.JSONName](s); ok { + ext.jsonNameKey = encodeJSONKey(jn.Name) + } + } + + return ext +} + +// memberByBytes looks a member up without allocating a string for its name: the +// conversion in a map index expression is optimized away. +func memberByBytes(s *smithy.Schema, name []byte) *smithy.Schema { + return s.Members()[string(name)] +} + +func encodeJSONKey(name string) []byte { + buf := make([]byte, 0, len(name)+4) + buf = append(buf, ',', '"') + for i := 0; i < len(name); i++ { + c := name[i] + switch c { + case '"': + buf = append(buf, '\\', '"') + case '\\': + buf = append(buf, '\\', '\\') + case '\n': + buf = append(buf, '\\', 'n') + case '\r': + buf = append(buf, '\\', 'r') + case '\t': + buf = append(buf, '\\', 't') + default: + if c < 0x20 { + buf = append(buf, '\\', 'u', '0', '0', "0123456789abcdef"[c>>4], "0123456789abcdef"[c&0xF]) + } else { + buf = append(buf, c) + } + } + } + buf = append(buf, '"', ':') + return buf +} diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib/LICENSE b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib/LICENSE new file mode 100644 index 00000000..6a66aea5 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib/stdlib.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib/stdlib.go new file mode 100644 index 00000000..fa84c43d --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib/stdlib.go @@ -0,0 +1,145 @@ +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package stdlib contains code copied from the Go standard library's +// encoding/json package (Go 1.24). +// +// We cannot use strconv.Unquote because JSON string rules differ from Go, +// JSON allows \/ and uses UTF-16 surrogate pairs. +// +// Source: https://cs.opensource.google/go/go/+/refs/tags/go1.24.0:src/encoding/json/decode.go +package stdlib + +import ( + "unicode" + "unicode/utf16" + "unicode/utf8" +) + +// Getu4 is copied from Go stdlib. +func Getu4(s []byte) rune { + if len(s) < 6 || s[0] != '\\' || s[1] != 'u' { + return -1 + } + var r rune + for _, c := range s[2:6] { + switch { + case '0' <= c && c <= '9': + c = c - '0' + case 'a' <= c && c <= 'f': + c = c - 'a' + 10 + case 'A' <= c && c <= 'F': + c = c - 'A' + 10 + default: + return -1 + } + r = r*16 + rune(c) + } + return r +} + + +// UnquoteBytes is copied from Go stdlib. +func UnquoteBytes(s []byte) (t []byte, ok bool) { + if len(s) < 2 || s[0] != '"' || s[len(s)-1] != '"' { + return + } + s = s[1 : len(s)-1] + + r := 0 + for r < len(s) { + c := s[r] + if c == '\\' || c == '"' || c < ' ' { + break + } + if c < utf8.RuneSelf { + r++ + continue + } + rr, size := utf8.DecodeRune(s[r:]) + if rr == utf8.RuneError && size == 1 { + break + } + r += size + } + if r == len(s) { + return s, true + } + + b := make([]byte, len(s)+2*utf8.UTFMax) + w := copy(b, s[0:r]) + for r < len(s) { + if w >= len(b)-2*utf8.UTFMax { + nb := make([]byte, (len(b)+utf8.UTFMax)*2) + copy(nb, b[0:w]) + b = nb + } + switch c := s[r]; { + case c == '\\': + r++ + if r >= len(s) { + return + } + switch s[r] { + default: + return + case '"', '\\', '/', '\'': + b[w] = s[r] + r++ + w++ + case 'b': + b[w] = '\b' + r++ + w++ + case 'f': + b[w] = '\f' + r++ + w++ + case 'n': + b[w] = '\n' + r++ + w++ + case 'r': + b[w] = '\r' + r++ + w++ + case 't': + b[w] = '\t' + r++ + w++ + case 'u': + r-- + rr := Getu4(s[r:]) + if rr < 0 { + return + } + r += 6 + if utf16.IsSurrogate(rr) { + rr1 := Getu4(s[r:]) + if dec := utf16.DecodeRune(rr, rr1); dec != unicode.ReplacementChar { + r += 6 + w += utf8.EncodeRune(b[w:], dec) + break + } + rr = unicode.ReplacementChar + } + w += utf8.EncodeRune(b[w:], rr) + } + + case c == '"', c < ' ': + return + + case c < utf8.RuneSelf: + b[w] = c + r++ + w++ + + default: + rr, size := utf8.DecodeRune(s[r:]) + r += size + w += utf8.EncodeRune(b[w:], rr) + } + } + return b[0:w], true +} diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/parser.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/parser.go new file mode 100644 index 00000000..2a4e9d17 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/parser.go @@ -0,0 +1,466 @@ +package json + +import ( + "errors" + "fmt" + "io" + "strconv" + "unsafe" + + "github.com/aws/smithy-go/internal/serde" +) + +// matches stdlib +const maxDepth = 10_000 + +const ( + inObject int8 = iota + 1 + inArray +) + +type parseState uint8 + +const ( + stValue parseState = iota + stObjectKey + stObjectColon + stObjectComma + stObjectKeyAfterComma + stArrayValue + stArrayComma +) + +func errUnexpectedToken(c byte) error { + return fmt.Errorf("unexpected token '%c'", c) +} + +// parser is a combined scanner+validator that pulls tokens from a JSON body. +// It integrates tokenization and grammar validation into a single loop to +// minimize function call overhead on the hot path. +type parser struct { + p []byte + i int + stack serde.Stack[int8] + done bool + state parseState + + // set by scanString: true if the last string token contained escapes + escaped bool +} + +func (p *parser) Next() ([]byte, error) { + if p.done { + return nil, io.EOF + } + + for { + // inline whitespace scanning + token identification + i := p.i + buf := p.p + for ; i < len(buf); i++ { + if charClass[buf[i]] != ccWhite { + break + } + } + if i >= len(buf) { + p.i = i + return nil, fmt.Errorf("unexpected end of JSON input") + } + + c := buf[i] + p.i = i + + // get the token + var next []byte + var err error + if charClass[c] == ccDelim { + p.i = i + 1 + next = buf[i : i+1] + } else { + switch c { + case '"': + next, err = p.scanString() + case 't': + next, err = p.scanLiteral("true") + case 'f': + next, err = p.scanLiteral("false") + case 'n': + next, err = p.scanLiteral("null") + default: + next, err = p.scanNumber() + } + if err != nil { + return nil, err + } + } + + // validate grammar + switch p.state { + case stValue: + switch next[0] { + case '{': + p.state = stObjectKey + p.stack.Push(inObject) + if p.stack.Len() > maxDepth { + return nil, errors.New("exceeded max nesting depth") + } + return next, nil + case '[': + p.state = stArrayValue + p.stack.Push(inArray) + if p.stack.Len() > maxDepth { + return nil, errors.New("exceeded max nesting depth") + } + return next, nil + case ',', ':', '}', ']': + return nil, errUnexpectedToken(next[0]) + } + p.afterValue() + return next, nil + + case stObjectKey: + switch next[0] { + case '"': + p.state = stObjectColon + return next, nil + case '}': + p.close() + return next, nil + default: + return nil, errUnexpectedToken(next[0]) + } + + case stObjectColon: + if next[0] != ':' { + return nil, errUnexpectedToken(next[0]) + } + p.state = stValue + continue + + case stObjectComma: + switch next[0] { + case ',': + p.state = stObjectKeyAfterComma + continue + case '}': + p.close() + return next, nil + default: + return nil, errUnexpectedToken(next[0]) + } + + case stObjectKeyAfterComma: + if next[0] != '"' { + return nil, errUnexpectedToken(next[0]) + } + p.state = stObjectColon + return next, nil + + case stArrayValue: + if next[0] == ']' { + p.close() + return next, nil + } + // handle as value + switch next[0] { + case '{': + p.state = stObjectKey + p.stack.Push(inObject) + if p.stack.Len() > maxDepth { + return nil, errors.New("exceeded max nesting depth") + } + return next, nil + case '[': + p.state = stArrayValue + p.stack.Push(inArray) + if p.stack.Len() > maxDepth { + return nil, errors.New("exceeded max nesting depth") + } + return next, nil + case ',', ':', '}': + return nil, errUnexpectedToken(next[0]) + } + p.afterValue() + return next, nil + + case stArrayComma: + switch next[0] { + case ',': + p.state = stValue + continue + case ']': + p.close() + return next, nil + default: + return nil, errUnexpectedToken(next[0]) + } + } + } +} + +func (p *parser) Skip() error { + var depth int + for { + tok, err := p.Next() + if err != nil { + return err + } + switch tok[0] { + case '{', '[': + depth++ + case '}', ']': + depth-- + } + if depth == 0 { + return nil + } + } +} + +func (p *parser) Value() (any, error) { + tok, err := p.Next() + if err != nil { + return nil, err + } + return p.value(tok) +} + +func (p *parser) value(tok []byte) (any, error) { + switch tok[0] { + case 'n': + return nil, nil + case 't': + return true, nil + case 'f': + return false, nil + case '"': + return unquote(tok) + case '{': + m := map[string]any{} + for { + ktok, err := p.Next() + if err != nil { + return nil, err + } + if ktok[0] == '}' { + return m, nil + } + key, err := unquote(ktok) + if err != nil { + return nil, err + } + val, err := p.Value() + if err != nil { + return nil, err + } + m[key] = val + } + case '[': + var list []any + for { + tok, err := p.Next() + if err != nil { + return nil, err + } + if tok[0] == ']' { + if list == nil { + list = []any{} + } + return list, nil + } + val, err := p.value(tok) + if err != nil { + return nil, err + } + list = append(list, val) + } + default: + return strconv.ParseFloat(string(tok), 64) + } +} + +func (p *parser) close() { + p.stack.Pop() + p.afterValue() +} + +func (p *parser) afterValue() { + top := p.stack.Top() + if top == nil { + p.done = true + return + } + + switch *top { + case inObject: + p.state = stObjectComma + case inArray: + p.state = stArrayComma + default: + p.done = true + } +} + +// --- Integrated scanner methods --- + +const ( + lo = uint64(0x0101010101010101) + hi = uint64(0x8080808080808080) +) + +func hasValue(v uint64, c byte) uint64 { + x := v ^ (lo * uint64(c)) + return (x - lo) & ^x & hi +} + +func hasLess(v uint64, n byte) uint64 { + return (v - lo*uint64(n)) & ^v & hi +} + +func (p *parser) scanString() ([]byte, error) { + start := p.i + i := p.i + 1 // skip opening " + p.escaped = false + + // SWAR: scan 8 bytes at a time for '"', '\', or control chars (< 0x20) + for i+8 <= len(p.p) { + v := *(*uint64)(unsafe.Pointer(&p.p[i])) + mask := hasLess(v, 0x20) | hasValue(v, '"') | hasValue(v, '\\') + if mask != 0 { + break + } + i += 8 + } + + for i < len(p.p) { + c := p.p[i] + if c < 0x20 { + p.i = i + return nil, fmt.Errorf("invalid control character at offset %d", i) + } + + if c == '\\' { + p.escaped = true + p.i = i + 1 + if err := p.scanEscape(); err != nil { + return nil, err + } + i = p.i + continue + } + + if c == '"' { + i++ + p.i = i + return p.p[start:i], nil + } + + i++ + } + p.i = i + return nil, fmt.Errorf("unterminated string at offset %d", start) +} + +func (p *parser) scanEscape() error { + if p.i >= len(p.p) { + return fmt.Errorf("unterminated escape at offset %d", p.i-1) + } + c := p.p[p.i] + p.i++ + switch c { + case '"', '\\', '/', 'b', 'f', 'n', 'r', 't': + return nil + case 'u': + return p.scanUnicodeEscape() + default: + return fmt.Errorf("invalid escape character '%c' at offset %d", c, p.i-1) + } +} + +func (p *parser) scanUnicodeEscape() error { + if p.i+4 > len(p.p) { + return fmt.Errorf("incomplete unicode escape at offset %d", p.i-2) + } + for _, c := range p.p[p.i : p.i+4] { + if !('0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F') { + return fmt.Errorf("invalid character '%c' in unicode escape at offset %d", c, p.i-2) + } + } + p.i += 4 + return nil +} + +func (p *parser) scanNumber() ([]byte, error) { + i := p.i + if i < len(p.p) && p.p[i] == '-' { + i++ + } + digitStart := i + for i < len(p.p) && p.p[i] >= '0' && p.p[i] <= '9' { + i++ + } + if i == digitStart { + return nil, fmt.Errorf("unexpected token at offset %d", p.i) + } + if p.p[digitStart] == '0' && i-digitStart > 1 { + return nil, fmt.Errorf("leading zeros not allowed at offset %d", digitStart) + } + + if i < len(p.p) && p.p[i] == '.' { + i++ + digitStart = i + for i < len(p.p) && p.p[i] >= '0' && p.p[i] <= '9' { + i++ + } + if i == digitStart { + return nil, fmt.Errorf("no digits after decimal point at offset %d", i) + } + } + + if i < len(p.p) && (p.p[i] == 'e' || p.p[i] == 'E') { + i++ + if i < len(p.p) && (p.p[i] == '+' || p.p[i] == '-') { + i++ + } + digitStart = i + for i < len(p.p) && p.p[i] >= '0' && p.p[i] <= '9' { + i++ + } + if i == digitStart { + return nil, fmt.Errorf("no digits after exponent at offset %d", i) + } + } + + start := p.i + p.i = i + return p.p[start:i], nil +} + +func (p *parser) scanLiteral(lit string) ([]byte, error) { + end := p.i + len(lit) + if end > len(p.p) || string(p.p[p.i:end]) != lit { + return nil, fmt.Errorf("invalid literal at offset %d", p.i) + } + start := p.i + p.i = end + return p.p[start:end], nil +} + +const ( + ccNone byte = 0 + ccWhite byte = 1 + ccDelim byte = 2 +) + +var charClass = [256]byte{ + ' ': ccWhite, + '\t': ccWhite, + '\n': ccWhite, + '\r': ccWhite, + '{': ccDelim, + '}': ccDelim, + '[': ccDelim, + ']': ccDelim, + ':': ccDelim, + ',': ccDelim, +} diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/scanner.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/scanner.go new file mode 100644 index 00000000..a5b981cc --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/scanner.go @@ -0,0 +1 @@ +package json diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/shape_deserializer.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/shape_deserializer.go new file mode 100644 index 00000000..40c277f4 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/shape_deserializer.go @@ -0,0 +1,881 @@ +package json + +import ( + "encoding/base64" + "fmt" + "math" + "math/big" + "strconv" + "strings" + "sync" + "time" + + "github.com/aws/smithy-go" + "github.com/aws/smithy-go/document" + "github.com/aws/smithy-go/internal/serde" + smithytime "github.com/aws/smithy-go/time" + "github.com/aws/smithy-go/traits" + "github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib" +) + +type ctxKind int8 + +const ( + ctxList ctxKind = iota + 1 + ctxMap + ctxStruct + ctxUnion +) + +type deserCtx struct { + kind ctxKind + schema *smithy.Schema // for ctxStruct +} + +// ShapeDeserializer implements unmarshaling of JSON into Smithy shapes. +type ShapeDeserializer struct { + p parser + head serde.Stack[deserCtx] + opts Options + + peeked []byte + peekedEscaped bool + + arena serde.StringArena +} + +var deserPool = sync.Pool{ + New: func() any { + return &ShapeDeserializer{ + p: parser{stack: serde.NewStack[int8]()}, + head: serde.NewStack[deserCtx](), + } + }, +} + +// NewShapeDeserializer creates a new ShapeDeserializer. +func NewShapeDeserializer(p []byte, opts ...func(*Options)) *ShapeDeserializer { + o := Options{} + for _, fn := range opts { + fn(&o) + } + d := deserPool.Get().(*ShapeDeserializer) + d.p.p = p + d.p.i = 0 + d.p.state = stValue + d.p.done = false + d.p.stack.Reset() + d.head.Reset() + d.peeked = nil + d.opts = o + d.arena.Reset(len(p) / serde.ArenaPayloadFactor) + return d +} + +// Close returns the deserializer to the pool for reuse. +func (d *ShapeDeserializer) Close() { + deserPool.Put(d) +} + +var _ smithy.ShapeDeserializer = (*ShapeDeserializer)(nil) + +func (d *ShapeDeserializer) next() ([]byte, error) { + if d.peeked != nil { + peeked := d.peeked + d.peeked = nil + d.p.escaped = d.peekedEscaped + return peeked, nil + } + return d.p.Next() +} + +func (d *ShapeDeserializer) peek() ([]byte, error) { + if d.peeked != nil { + return d.peeked, nil + } + tok, err := d.p.Next() + if err != nil { + return nil, err + } + d.peeked = tok + d.peekedEscaped = d.p.escaped + return tok, nil +} + +// ReadNil implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadNil(s *smithy.Schema) (bool, error) { + tok, err := d.peek() + if err != nil { + return false, err + } + if isN(tok) { + d.peeked = nil + return true, nil + } + return false, nil +} + +// ReadInt8 implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadInt8(s *smithy.Schema, v *int8) error { + n, err := d.readInt(math.MinInt8, math.MaxInt8) + *v = int8(n) + return err +} + +// ReadInt16 implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadInt16(s *smithy.Schema, v *int16) error { + n, err := d.readInt(math.MinInt16, math.MaxInt16) + *v = int16(n) + return err +} + +// ReadInt32 implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadInt32(s *smithy.Schema, v *int32) error { + n, err := d.readInt(math.MinInt32, math.MaxInt32) + *v = int32(n) + return err +} + +// ReadInt64 implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadInt64(s *smithy.Schema, v *int64) error { + n, err := d.readInt(math.MinInt64, math.MaxInt64) + *v = n + return err +} + +func (d *ShapeDeserializer) readInt(min, max int64) (int64, error) { + tok, err := d.next() + if err != nil { + return 0, err + } + + if isS(tok) || isLCB(tok) || isLSB(tok) { + return 0, fmt.Errorf("expected number, got %s", tok) + } + + n, ok := parseInt(tok) + if !ok { + return 0, fmt.Errorf("invalid int: %s", tok) + } + + if n < min || n > max { + return 0, fmt.Errorf("int %d exceeds range [%d, %d]", n, min, max) + } + + return n, nil +} + +// parseInt parses a decimal int directly from bytes, avoiding string alloc. +func parseInt(b []byte) (int64, bool) { + if len(b) == 0 { + return 0, false + } + neg := false + if b[0] == '-' { + neg = true + b = b[1:] + if len(b) == 0 { + return 0, false + } + } + + const cutoff = math.MaxUint64/10 + 1 + var n uint64 + for _, c := range b { + if c < '0' || c > '9' { + return 0, false + } + if n >= cutoff { + return 0, false + } + nn := n*10 + uint64(c-'0') + if nn < n { + return 0, false + } + n = nn + if n > uint64(math.MaxInt64) { + if neg && n == uint64(math.MaxInt64)+1 { + return math.MinInt64, true + } + return 0, false + } + } + + if neg { + return -int64(n), true + } + return int64(n), true +} + +// ReadFloat32 implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadFloat32(s *smithy.Schema, v *float32) error { + n, err := d.readFloat() + *v = float32(n) + return err +} + +// ReadFloat64 implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadFloat64(s *smithy.Schema, v *float64) error { + n, err := d.readFloat() + *v = n + return err +} + +func (d *ShapeDeserializer) readFloat() (float64, error) { + tok, err := d.next() + if err != nil { + return 0, err + } + + if isS(tok) { + s, err := unquote(tok) + if err != nil { + return 0, err + } + switch { + case strings.EqualFold(s, "NaN"): + return math.NaN(), nil + case strings.EqualFold(s, "Infinity"): + return math.Inf(1), nil + case strings.EqualFold(s, "-Infinity"): + return math.Inf(-1), nil + default: + return 0, fmt.Errorf("unexpected string value for float: %s", s) + } + } + + // fast path: if it's a plain integer, parse directly without alloc + if n, ok := parseInt(tok); ok { + return float64(n), nil + } + return strconv.ParseFloat(string(tok), 64) +} + +// ReadBool implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadBool(s *smithy.Schema, v *bool) error { + tok, err := d.next() + if err != nil { + return err + } + + switch { + case isT(tok): + *v = true + return nil + case isF(tok): + *v = false + return nil + default: + return fmt.Errorf("expected bool, got %s", tok) + } +} + +// ReadString implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadString(s *smithy.Schema, v *string) error { + tok, err := d.next() + if err != nil { + return err + } + if tok == nil { + return nil + } + + if !isS(tok) { + return fmt.Errorf("expected string, got %s", tok) + } + + if !d.p.escaped { + *v = d.arena.String(tok[1 : len(tok)-1]) + return nil + } + + sv, err := d.unquoteArena(tok) + if err != nil { + return err + } + + *v = sv + return nil +} + +// ReadTime implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadTime(schema *smithy.Schema, v *time.Time) error { + format := "epoch-seconds" + if t, ok := smithy.SchemaTrait[*traits.TimestampFormat](schema); ok { + format = t.Format + } + + switch format { + case "epoch-seconds": + n, err := d.readFloat() + if err != nil { + return err + } + *v = smithytime.ParseEpochSeconds(n) + return nil + case "date-time": + var s string + if err := d.ReadString(schema, &s); err != nil { + return err + } + t, err := smithytime.ParseDateTime(s) + if err != nil { + return err + } + *v = t + return nil + case "http-date": + var s string + if err := d.ReadString(schema, &s); err != nil { + return err + } + t, err := smithytime.ParseHTTPDate(s) + if err != nil { + return err + } + *v = t + return nil + default: + return fmt.Errorf("unknown timestamp format: %s", format) + } +} + +// ReadBlob implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadBlob(s *smithy.Schema, v *[]byte) error { + if isNil, err := d.ReadNil(s); isNil || err != nil { + return err + } + + tok, err := d.next() + if err != nil { + return err + } + + if !isS(tok) { + return fmt.Errorf("expected string, got %s", tok) + } + + sv, err := unquote(tok) + if err != nil { + return err + } + + b, err := base64.StdEncoding.DecodeString(sv) + if err != nil { + return fmt.Errorf("decode base64 blob: %w", err) + } + + *v = b + return nil +} + +// ReadList implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadList(s *smithy.Schema) error { + tok, err := d.next() + if err != nil { + return err + } + if !isLSB(tok) { + return fmt.Errorf("expected '[', got %s", tok) + } + d.head.Push(deserCtx{kind: ctxList}) + return nil +} + +// ReadListItem implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadListItem(s *smithy.Schema) (bool, error) { + tok, err := d.peek() + if err != nil { + return false, err + } + if isRSB(tok) { + d.peeked = nil + d.head.Pop() + return false, nil + } + return true, nil +} + +// ReadMap implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadMap(s *smithy.Schema) error { + tok, err := d.next() + if err != nil { + return err + } + if !isLCB(tok) { + return fmt.Errorf("expected '{', got %s", tok) + } + d.head.Push(deserCtx{kind: ctxMap}) + return nil +} + +// ReadMapKey implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadMapKey(s *smithy.Schema) (string, bool, error) { + tok, err := d.next() + if err != nil { + return "", false, err + } + if isRCB(tok) { + d.head.Pop() + return "", false, nil + } + + if !d.p.escaped { + return d.arena.String(tok[1 : len(tok)-1]), true, nil + } + + key, err := d.unquoteArena(tok) + if err != nil { + return "", false, err + } + return key, true, nil +} + +// ReadStruct implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadStruct(s *smithy.Schema) error { + if isNil, err := d.ReadNil(s); isNil || err != nil { + return err + } + + tok, err := d.next() + if err != nil { + return err + } + if !isLCB(tok) { + return fmt.Errorf("expected '{', got %s", tok) + } + d.head.Push(deserCtx{kind: ctxStruct, schema: s}) + return nil +} + +// ReadStructMember implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadStructMember() (*smithy.Schema, error) { + tok, err := d.next() + if err != nil { + return nil, err + } + if isRCB(tok) { + d.head.Pop() + return nil, nil + } + + top := d.head.Top() + if top == nil || top.kind != ctxStruct { + return nil, fmt.Errorf("ReadStructMember called without ReadStruct?") + } + + member, err := memberFromToken(top.schema, tok, d.p.escaped) + if err != nil { + return nil, err + } + + if member == nil && d.opts.UseJSONName { + key, err := unquote(tok) + if err != nil { + return nil, err + } + for _, m := range top.schema.Members() { + if jn, ok := smithy.SchemaTrait[*traits.JSONName](m); ok && jn.Name == key { + member = m + break + } + } + } + if member == nil { + if err := d.p.Skip(); err != nil { + return nil, err + } + return d.ReadStructMember() + } + + // inline null check to avoid function call overhead of ReadNil + ptok, err := d.peek() + if err != nil { + return nil, err + } + if isN(ptok) { + d.peeked = nil + return d.ReadStructMember() + } + + return member, nil +} + +// ReadUnion implements [smithy.ShapeDeserializer]. +func (d *ShapeDeserializer) ReadUnion(s *smithy.Schema) (*smithy.Schema, error) { + if top := d.head.Top(); top == nil || top.kind != ctxUnion || top.schema != s { + if isNil, err := d.ReadNil(s); isNil || err != nil { + return nil, err + } + + tok, err := d.next() + if err != nil { + return nil, err + } + if !isLCB(tok) { + return nil, fmt.Errorf("expected '{', got %s", tok) + } + d.head.Push(deserCtx{kind: ctxUnion, schema: s}) + } + + for { + tok, err := d.next() + if err != nil { + return nil, err + } + if isRCB(tok) { + d.head.Pop() + return nil, nil + } + + // save escaped before peek overwrites it + keyEscaped := d.p.escaped + + // inline null check + ptok, err := d.peek() + if err != nil { + return nil, err + } + if isN(ptok) { + d.peeked = nil + continue + } + + member, err := memberFromToken(s, tok, keyEscaped) + if err != nil { + return nil, err + } + + if member == nil && d.opts.UseJSONName { + key, err := unquote(tok) + if err != nil { + return nil, err + } + for _, m := range s.Members() { + if jn, ok := smithy.SchemaTrait[*traits.JSONName](m); ok && jn.Name == key { + member = m + break + } + } + } + if member == nil { + if err := d.p.Skip(); err != nil { + return nil, err + } + continue + } + + return member, nil + } +} + +// ReadDocument reads a JSON value into a document Value. +func (d *ShapeDeserializer) ReadDocument(schema *smithy.Schema, v *document.Value) error { + tok, err := d.next() + if err != nil { + return err + } + vv, err := d.p.value(tok) + if err != nil { + return err + } + *v = document.Opaque{Value: vv} + return nil +} + +func unquote(tok []byte) (string, error) { + if s, ok := stdlib.UnquoteBytes(tok); ok { + return string(s), nil + } + return "", fmt.Errorf("cannot unquote %s", tok) +} + +func (d *ShapeDeserializer) unquoteArena(tok []byte) (string, error) { + if s, ok := stdlib.UnquoteBytes(tok); ok { + return d.arena.String(s), nil + } + return "", fmt.Errorf("cannot unquote %s", tok) +} + +func memberFromToken(s *smithy.Schema, tok []byte, escaped bool) (*smithy.Schema, error) { + inner := tok[1 : len(tok)-1] + if m := memberByBytes(s, inner); m != nil { + return m, nil + } + + // if the string had no escapes, the raw bytes ARE the unquoted form -- + // no point re-trying the lookup + if !escaped { + return errorMessageMember(s, inner), nil + } + + unq, err := unquote(tok) + if err != nil { + return nil, err + } + + if m := s.Member(unq); m != nil { + return m, nil + } + return errorMessageMember(s, []byte(unq)), nil +} + +// Services do not consistently use the casing that is modeled for the message +// part of errors, handle that here. +func errorMessageMember(s *smithy.Schema, name []byte) *smithy.Schema { + var alt string + switch string(name) { + case "message": + alt = "Message" + case "Message": + alt = "message" + default: + return nil + } + + if _, ok := smithy.SchemaTrait[*traits.Error](s); !ok { + return nil + } + return s.Members()[alt] +} + +func isN(tok []byte) bool { return tok[0] == 'n' } +func isT(tok []byte) bool { return tok[0] == 't' } +func isF(tok []byte) bool { return tok[0] == 'f' } +func isS(tok []byte) bool { return tok[0] == '"' } +func isLCB(tok []byte) bool { return tok[0] == '{' } +func isRCB(tok []byte) bool { return tok[0] == '}' } +func isLSB(tok []byte) bool { return tok[0] == '[' } +func isRSB(tok []byte) bool { return tok[0] == ']' } + +// ReadBigInt is unimplemented and will return an error. +func (d *ShapeDeserializer) ReadBigInt(_ *smithy.Schema, _ *big.Int) error { + return fmt.Errorf("unimplemented") +} + +// ReadBigFloat is unimplemented and will return an error. +func (d *ShapeDeserializer) ReadBigFloat(_ *smithy.Schema, _ *big.Float) error { + return fmt.Errorf("unimplemented") +} + +// DirectReadStruct is a concrete-type fast path that avoids interface dispatch. +// It skips the head stack and reads struct members directly. +func (d *ShapeDeserializer) DirectReadStruct(schema *smithy.Schema, memberFn func(*smithy.Schema) error) error { + // null check + tok, err := d.peek() + if err != nil { + return err + } + if isN(tok) { + d.peeked = nil + return nil + } + + // consume '{' + tok, err = d.next() + if err != nil { + return err + } + if !isLCB(tok) { + return fmt.Errorf("expected '{', got %s", tok) + } + + for { + tok, err = d.next() + if err != nil { + return err + } + if isRCB(tok) { + return nil + } + + keyEscaped := d.p.escaped + + member, err := memberFromToken(schema, tok, keyEscaped) + if err != nil { + return err + } + + if member == nil && d.opts.UseJSONName { + key, qerr := unquote(tok) + if qerr != nil { + return qerr + } + for _, m := range schema.Members() { + if jn, ok := smithy.SchemaTrait[*traits.JSONName](m); ok && jn.Name == key { + member = m + break + } + } + } + if member == nil { + if err := d.p.Skip(); err != nil { + return err + } + continue + } + + // inline null check for the value + ptok, err := d.peek() + if err != nil { + return err + } + if isN(ptok) { + d.peeked = nil + continue + } + + if err := memberFn(member); err != nil { + return err + } + } +} + +// DirectReadUnion is a concrete-type fast path that avoids interface dispatch. +// It opens the union object, finds the single non-null member, calls memberFn, +// then drains to the closing brace. +func (d *ShapeDeserializer) DirectReadUnion(schema *smithy.Schema, memberFn func(*smithy.Schema) error) error { + // open phase: consume '{' (or 'null') + tok, err := d.next() + if err != nil { + return err + } + if isN(tok) { + return nil + } + if !isLCB(tok) { + return fmt.Errorf("expected '{', got %s", tok) + } + + // find the single non-null member + var member *smithy.Schema + for { + tok, err = d.next() + if err != nil { + return err + } + if isRCB(tok) { + return nil + } + + keyEscaped := d.p.escaped + + ptok, err := d.peek() + if err != nil { + return err + } + if isN(ptok) { + d.peeked = nil + continue + } + + member, err = memberFromToken(schema, tok, keyEscaped) + if err != nil { + return err + } + + if member == nil && d.opts.UseJSONName { + key, err := unquote(tok) + if err != nil { + return err + } + for _, m := range schema.Members() { + if jn, ok := smithy.SchemaTrait[*traits.JSONName](m); ok && jn.Name == key { + member = m + break + } + } + } + if member == nil { + if err := d.p.Skip(); err != nil { + return err + } + continue + } + + break + } + + // call the member function + if err := memberFn(member); err != nil { + return err + } + + // drain remaining members to closing '}' + for { + tok, err = d.next() + if err != nil { + return err + } + if isRCB(tok) { + return nil + } + + // skip any extra keys (lenient: tolerate services sending extra fields) + if err := d.p.Skip(); err != nil { + return err + } + } +} + +// DirectReadMap is a concrete-type fast path that avoids interface dispatch. +// It skips the head stack and reads map entries directly. +func (d *ShapeDeserializer) DirectReadMap(schema *smithy.Schema, memberFn func(string) error) error { + tok, err := d.next() + if err != nil { + return err + } + if !isLCB(tok) { + return fmt.Errorf("expected '{', got %s", tok) + } + + for { + tok, err = d.next() + if err != nil { + return err + } + if isRCB(tok) { + return nil + } + + var key string + if !d.p.escaped { + key = d.arena.String(tok[1 : len(tok)-1]) + } else { + key, err = d.unquoteArena(tok) + if err != nil { + return err + } + } + + if err := memberFn(key); err != nil { + return err + } + } +} + +// DirectReadList is a concrete-type fast path that avoids interface dispatch. +// It skips the head stack and reads list elements directly using peek. +func (d *ShapeDeserializer) DirectReadList(schema *smithy.Schema, memberFn func() error) error { + tok, err := d.next() + if err != nil { + return err + } + if !isLSB(tok) { + return fmt.Errorf("expected '[', got %s", tok) + } + + for { + tok, err = d.peek() + if err != nil { + return err + } + if isRSB(tok) { + d.peeked = nil + return nil + } + if err := memberFn(); err != nil { + return err + } + } +} diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/shape_serializer.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/shape_serializer.go new file mode 100644 index 00000000..b421a832 --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/shape_serializer.go @@ -0,0 +1,562 @@ +package json + +import ( + "encoding/base64" + "math" + "math/big" + "strconv" + "sync" + "time" + "unicode/utf8" + "unsafe" + + "github.com/aws/smithy-go" + "github.com/aws/smithy-go/document" + smithydocumentjson "github.com/aws/smithy-go/document/json" + "github.com/aws/smithy-go/encoding" + smithytime "github.com/aws/smithy-go/time" + "github.com/aws/smithy-go/traits" +) + +// Options configures JSON shape serialization and deserialization. +type Options struct { + // Controls whether the @jsonName trait is used to determine JSON object + // keys. If false (the default), the member name is used as-is. + UseJSONName bool +} + +type serCtx struct { + comma bool + inObject bool +} + +// ShapeSerializer implements marshaling of Smithy shapes to JSON. +// It writes directly to a []byte buffer without intermediate allocations. +type ShapeSerializer struct { + buf []byte + opts Options + stack []serCtx + depth int + noKey bool + initStack [64]serCtx +} + +const ( + defaultBufSize = 1024 + maxCacheableBuf = defaultBufSize * 4 +) + +var serPool = sync.Pool{ + New: func() any { + s := &ShapeSerializer{ + buf: make([]byte, 0, defaultBufSize), + } + s.stack = s.initStack[:1] + return s + }, +} + +var _ smithy.ShapeSerializer = (*ShapeSerializer)(nil) + +// NewShapeSerializer creates a new ShapeSerializer. +func NewShapeSerializer(opts ...func(*Options)) *ShapeSerializer { + o := Options{} + for _, fn := range opts { + fn(&o) + } + s := serPool.Get().(*ShapeSerializer) + s.buf = s.buf[:0] + s.opts = o + s.depth = 0 + s.noKey = false + s.stack = s.initStack[:1] + s.stack[0] = serCtx{} + return s +} + +// Close returns the serializer to the pool for reuse. +func (s *ShapeSerializer) Close() { + if cap(s.buf) > maxCacheableBuf { + s.buf = make([]byte, 0, defaultBufSize) + } + serPool.Put(s) +} + +// Bytes returns a copy of the serialized JSON bytes, safe to retain after Close(). +func (s *ShapeSerializer) Bytes() []byte { + return append([]byte(nil), s.buf...) +} + +func (s *ShapeSerializer) writeComma() { + if s.depth > 0 && s.stack[s.depth].comma { + s.buf = append(s.buf, ',') + } + s.stack[s.depth].comma = true +} + +// writePrefix handles the key-or-comma logic before a value, respecting noKey. +func (s *ShapeSerializer) writePrefix(schema *smithy.Schema) { + if s.noKey { + s.noKey = false + return + } + if schema != nil && s.depth > 0 && s.stack[s.depth].inObject { + s.writeKey(schema) + } else { + s.writeComma() + } +} + +func (s *ShapeSerializer) writeKey(schema *smithy.Schema) { + ext := getExt(schema) + if s.opts.UseJSONName { + if jk := ext.jsonNameKey; jk != nil { + if s.stack[s.depth].comma { + s.buf = append(s.buf, jk...) + } else { + s.stack[s.depth].comma = true + s.buf = append(s.buf, jk[1:]...) + } + return + } + } + jk := ext.jsonKey + if len(jk) == 0 { + s.writeComma() + return + } + if s.stack[s.depth].comma { + s.buf = append(s.buf, jk...) + } else { + s.stack[s.depth].comma = true + s.buf = append(s.buf, jk[1:]...) + } +} + +// WriteBool implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteBool(schema *smithy.Schema, v bool) { + s.writePrefix(schema) + if v { + s.buf = append(s.buf, "true"...) + } else { + s.buf = append(s.buf, "false"...) + } +} + +// WriteInt8 implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteInt8(schema *smithy.Schema, v int8) { + s.WriteInt64(schema, int64(v)) +} + +// WriteInt16 implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteInt16(schema *smithy.Schema, v int16) { + s.WriteInt64(schema, int64(v)) +} + +// WriteInt32 implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteInt32(schema *smithy.Schema, v int32) { + s.WriteInt64(schema, int64(v)) +} + +// WriteInt64 implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteInt64(schema *smithy.Schema, v int64) { + s.writePrefix(schema) + s.buf = strconv.AppendInt(s.buf, v, 10) +} + +// WriteFloat32 implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteFloat32(schema *smithy.Schema, v float32) { + s.writePrefix(schema) + if math.IsInf(float64(v), 1) { + s.buf = append(s.buf, `"Infinity"`...) + } else if math.IsInf(float64(v), -1) { + s.buf = append(s.buf, `"-Infinity"`...) + } else if math.IsNaN(float64(v)) { + s.buf = append(s.buf, `"NaN"`...) + } else { + s.buf = encoding.EncodeFloat(s.buf, float64(v), 32) + } +} + +// WriteFloat64 implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteFloat64(schema *smithy.Schema, v float64) { + s.writePrefix(schema) + if math.IsInf(v, 1) { + s.buf = append(s.buf, `"Infinity"`...) + } else if math.IsInf(v, -1) { + s.buf = append(s.buf, `"-Infinity"`...) + } else if math.IsNaN(v) { + s.buf = append(s.buf, `"NaN"`...) + } else { + s.buf = encoding.EncodeFloat(s.buf, v, 64) + } +} + +// WriteString implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteString(schema *smithy.Schema, v string) { + s.writePrefix(schema) + s.appendEscapedString(v) +} + +// WriteBlob implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteBlob(schema *smithy.Schema, v []byte) { + s.writePrefix(schema) + if v == nil { + s.buf = append(s.buf, "null"...) + return + } + s.buf = append(s.buf, '"') + encodedLen := base64.StdEncoding.EncodedLen(len(v)) + start := len(s.buf) + s.buf = append(s.buf, make([]byte, encodedLen)...) + base64.StdEncoding.Encode(s.buf[start:], v) + s.buf = append(s.buf, '"') +} + +// WriteList implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteList(schema *smithy.Schema) { + s.writePrefix(schema) + s.buf = append(s.buf, '[') + s.depth++; s.stack = append(s.stack, serCtx{}) +} + +// CloseList implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) CloseList() { + s.buf = append(s.buf, ']') + s.stack = s.stack[:s.depth]; s.depth-- +} + +// WriteMap implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteMap(schema *smithy.Schema) { + s.writePrefix(schema) + s.buf = append(s.buf, '{') + s.depth++; s.stack = append(s.stack, serCtx{inObject: true}) +} + +// WriteKey implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteKey(_ *smithy.Schema, key string) { + s.writeComma() + s.appendEscapedString(key) + s.buf = append(s.buf, ':') + s.noKey = true +} + +// CloseMap implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) CloseMap() { + s.buf = append(s.buf, '}') + s.stack = s.stack[:s.depth]; s.depth-- +} + +// WriteTime implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteTime(schema *smithy.Schema, v time.Time) { + format := "epoch-seconds" + if t, ok := smithy.SchemaTrait[*traits.TimestampFormat](schema); ok { + format = t.Format + } + + switch format { + case "date-time": + s.WriteString(schema, smithytime.FormatDateTime(v)) + case "http-date": + s.WriteString(schema, smithytime.FormatHTTPDate(v)) + default: + s.WriteFloat64(schema, smithytime.FormatEpochSeconds(v)) + } +} + +// WriteUnion implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteUnion(schema, variant *smithy.Schema) { + s.writePrefix(schema) + s.buf = append(s.buf, '{') + s.depth++; s.stack = append(s.stack, serCtx{inObject: true}) + s.writeKey(variant) + s.noKey = true +} + +// CloseUnion implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) CloseUnion() { + s.noKey = false + s.buf = append(s.buf, '}') + s.stack = s.stack[:s.depth]; s.depth-- +} + +// WriteStruct implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteStruct(schema *smithy.Schema) { + s.writePrefix(schema) + s.buf = append(s.buf, '{') + s.depth++; s.stack = append(s.stack, serCtx{inObject: true}) +} + +// CloseStruct implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) CloseStruct() { + s.buf = append(s.buf, '}') + s.stack = s.stack[:s.depth]; s.depth-- +} + +// WriteNil implements [smithy.ShapeSerializer]. +func (s *ShapeSerializer) WriteNil(schema *smithy.Schema) { + s.writePrefix(schema) + s.buf = append(s.buf, "null"...) +} + +// WriteBigInt is unimplemented and will panic. +func (s *ShapeSerializer) WriteBigInt(_ *smithy.Schema, _ *big.Int) { + panic("unimplemented") +} + +// WriteBigFloat is unimplemented and will panic. +func (s *ShapeSerializer) WriteBigFloat(_ *smithy.Schema, _ *big.Float) { + panic("unimplemented") +} + +// WriteDocument writes a document value to JSON. +func (s *ShapeSerializer) WriteDocument(schema *smithy.Schema, v document.Value) { + switch vv := v.(type) { + case document.Null: + s.WriteNil(schema) + case document.Boolean: + s.WriteBool(schema, bool(vv)) + case document.Number: + s.writeRaw(schema, []byte(vv)) + case document.String: + s.WriteString(schema, string(vv)) + case document.Blob: + s.WriteBlob(schema, []byte(vv)) + case document.Timestamp: + s.WriteTime(schema, time.Time(vv)) + case document.List: + s.WriteList(schema) + for _, item := range vv { + s.WriteDocument(schema.ListMember(), item) + } + s.CloseList() + case document.Map: + s.WriteMap(schema) + for k, item := range vv { + s.WriteKey(schema.MapKey(), k) + s.WriteDocument(schema.MapValue(), item) + } + s.CloseMap() + case document.Structure: + s.WriteMap(schema) + for k, item := range vv.Members { + s.WriteKey(nil, k) + s.WriteDocument(nil, item) + } + s.CloseMap() + case document.Opaque: + s.writeOpaqueDocument(schema, vv.Value) + case *document.Opaque: + s.writeOpaqueDocument(schema, vv.Value) + } +} + +func (s *ShapeSerializer) writeOpaqueDocument(schema *smithy.Schema, v any) { + if m, ok := v.(document.Marshaler); ok { + p, _ := m.MarshalSmithyDocument() + s.writeRaw(schema, p) + return + } + denc := smithydocumentjson.NewEncoder() + p, _ := denc.Encode(v) + s.writeRaw(schema, p) +} + +func (s *ShapeSerializer) writeRaw(schema *smithy.Schema, p []byte) { + s.writePrefix(schema) + s.buf = append(s.buf, p...) +} + +// jsonMemberName returns the JSON key for a schema member. +func (s *ShapeSerializer) jsonMemberName(schema *smithy.Schema) string { + if s.opts.UseJSONName { + if jn, ok := smithy.SchemaTrait[*traits.JSONName](schema); ok { + return jn.Name + } + } + return schema.MemberName() +} + +// appendEscapedString writes a JSON-escaped string to the buffer. +func (s *ShapeSerializer) appendEscapedString(v string) { + s.buf = append(s.buf, '"') + + // fast path: SWAR check if entire string is safe ASCII + i := 0 + p := unsafe.StringData(v) + for i+8 <= len(v) { + w := *(*uint64)(unsafe.Pointer(uintptr(unsafe.Pointer(p)) + uintptr(i))) + // high bit set means >= 0x80, hasLess detects control chars, + // hasValue detects '"', '\\', and DEL (0x7F) + if w&hi|hasLess(w, 0x20)|hasValue(w, '"')|hasValue(w, '\\')|hasValue(w, 0x7F) != 0 { + break + } + i += 8 + } + for ; i < len(v); i++ { + if v[i] >= utf8.RuneSelf || !safeSet[v[i]] { + break + } + } + if i == len(v) { + s.buf = append(s.buf, v...) + s.buf = append(s.buf, '"') + return + } + + // write the safe prefix we already validated, escape from i onward + s.buf = append(s.buf, v[:i]...) + start := i + for i < len(v) { + b := v[i] + if b < utf8.RuneSelf { + if safeSet[b] { + i++ + continue + } + if start < i { + s.buf = append(s.buf, v[start:i]...) + } + switch b { + case '\\', '"': + s.buf = append(s.buf, '\\', b) + case '\n': + s.buf = append(s.buf, '\\', 'n') + case '\r': + s.buf = append(s.buf, '\\', 'r') + case '\t': + s.buf = append(s.buf, '\\', 't') + default: + s.buf = append(s.buf, '\\', 'u', '0', '0', hex[b>>4], hex[b&0xF]) + } + i++ + start = i + continue + } + c, size := utf8.DecodeRuneInString(v[i:]) + if c == utf8.RuneError && size == 1 { + if start < i { + s.buf = append(s.buf, v[start:i]...) + } + s.buf = append(s.buf, `�`...) + i += size + start = i + continue + } + if c == '\u2028' || c == '\u2029' { + if start < i { + s.buf = append(s.buf, v[start:i]...) + } + s.buf = append(s.buf, '\\', 'u', '2', '0', '2', hex[c&0xF]) + i += size + start = i + continue + } + i += size + } + if start < len(v) { + s.buf = append(s.buf, v[start:]...) + } + s.buf = append(s.buf, '"') +} + +var safeSet = [utf8.RuneSelf]bool{ + ' ': true, + '!': true, + '"': false, + '#': true, + '$': true, + '%': true, + '&': true, + '\'': true, + '(': true, + ')': true, + '*': true, + '+': true, + ',': true, + '-': true, + '.': true, + '/': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + ':': true, + ';': true, + '<': true, + '=': true, + '>': true, + '?': true, + '@': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'V': true, + 'W': true, + 'X': true, + 'Y': true, + 'Z': true, + '[': true, + '\\': false, + ']': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '{': true, + '|': true, + '}': true, + '~': true, + '': false, +} + +var hex = "0123456789abcdef" diff --git a/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/stack.go b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/stack.go new file mode 100644 index 00000000..8ee85b6b --- /dev/null +++ b/vendor/github.com/aws/smithy-go/transport/http/protocol/internal/json/stack.go @@ -0,0 +1,38 @@ +package json + +// chosen as an arbitrary average max depth for the RPC-style payloads we +// typically deal with in an SDK client +const initialCap = 8 + +type stackT[T any] struct { + values []T + sentinel T +} + +func newStackT[T any](sentinel T) stackT[T] { + return stackT[T]{ + values: make([]T, 0, initialCap), + sentinel: sentinel, + } +} + +func (s *stackT[T]) Push(v T) { + s.values = append(s.values, v) +} + +func (s *stackT[T]) Pop() T { + if len(s.values) == 0 { + return s.sentinel + } + idx := len(s.values) - 1 + v := s.values[idx] + s.values = s.values[:idx] + return v +} + +func (s *stackT[T]) Top() T { + if len(s.values) == 0 { + return s.sentinel + } + return s.values[len(s.values)-1] +} diff --git a/vendor/github.com/buildpacks/imgutil/layout/write.go b/vendor/github.com/buildpacks/imgutil/layout/write.go index 708f8503..d402c386 100644 --- a/vendor/github.com/buildpacks/imgutil/layout/write.go +++ b/vendor/github.com/buildpacks/imgutil/layout/write.go @@ -207,7 +207,7 @@ func (l Path) writeBlob(hash v1.Hash, size int64, rc io.ReadCloser, renamer func // Check if blob already exists and is the correct size file := filepath.Join(dir, hash.Hex) if s, err := os.Stat(file); err == nil && !s.IsDir() && (s.Size() == size || size == -1) { - return nil + return rc.Close() } // If a renamer func was provided write to a temporary file diff --git a/vendor/github.com/buildpacks/imgutil/local/store.go b/vendor/github.com/buildpacks/imgutil/local/store.go index 14646e6e..3f11d933 100644 --- a/vendor/github.com/buildpacks/imgutil/local/store.go +++ b/vendor/github.com/buildpacks/imgutil/local/store.go @@ -35,6 +35,12 @@ type Store struct { downloadOnce *sync.Once onDiskLayersByDiffID map[v1.Hash]annotatedLayer platform imgutil.Platform + // downloadDirs holds temp dirs created while fetching base layers from the daemon + // (e.g. when sparse/omit-base-layer saves are not accepted, such as with podman). + // These are removed after Save/SaveFile so /tmp does not accumulate large layer extracts. + // Layers added explicitly via AddLayer (build artifacts) are not stored here. + downloadDirs []string + downloadedDiffIDs []v1.Hash } // DockerClient is subset of client.APIClient required by this package. @@ -91,6 +97,9 @@ func (s *Store) Delete(identifier string) error { } func (s *Store) Save(img *Image, withName string, withAdditionalNames ...string) (string, error) { + // Remove daemon-extracted layer dirs after save. New layers added via AddLayer are not affected. + defer s.cleanupDownloadDirs() + withName = tryNormalizing(withName) var ( inspect image.InspectResponse @@ -355,6 +364,9 @@ func ensureReaderClosed(r io.ReadCloser) error { } func (s *Store) SaveFile(image *Image, withName string) (string, error) { + // Same as Save: drop daemon-extracted layer dirs once they have been read into the export tar. + defer s.cleanupDownloadDirs() + withName = tryNormalizing(withName) f, err := os.CreateTemp("", "imgutil.local.image.export.*.tar") @@ -444,6 +456,15 @@ func (s *Store) doDownloadLayersFor(identifier string) error { if err != nil { return fmt.Errorf("failed to create temp dir: %w", err) } + // On failure, remove immediately. On success, keep until Save/SaveFile finishes reading layers. + keep := false + var addedDiffIDs []v1.Hash + defer func() { + if !keep { + _ = os.RemoveAll(tmpDir) + s.dropDownloadedLayerHandles(addedDiffIDs) + } + }() err = untar(imageReader, tmpDir) if err != nil { @@ -483,13 +504,46 @@ func (s *Store) doDownloadLayersFor(identifier string) error { for idx := range configFile.RootFS.DiffIDs { layerPath := filepath.Join(tmpDir, manifest[0].Layers[idx]) - if _, err := s.AddLayer(layerPath); err != nil { + layer, err := s.AddLayer(layerPath) + if err != nil { return err } + diffID, err := layer.DiffID() + if err != nil { + return err + } + addedDiffIDs = append(addedDiffIDs, diffID) } + + s.downloadDirs = append(s.downloadDirs, tmpDir) + s.downloadedDiffIDs = append(s.downloadedDiffIDs, addedDiffIDs...) + keep = true return nil } +func (s *Store) dropDownloadedLayerHandles(ids []v1.Hash) { + for _, id := range ids { + delete(s.onDiskLayersByDiffID, id) + } +} + +// cleanupDownloadDirs removes temp directories created by doDownloadLayersFor and drops +// the corresponding layer handles. Layers registered via AddLayer from outside a download +// (for example pack's create-builder-scratch artifacts) are left alone. +func (s *Store) cleanupDownloadDirs() { + if len(s.downloadDirs) == 0 { + return + } + for _, dir := range s.downloadDirs { + _ = os.RemoveAll(dir) + } + s.downloadDirs = nil + s.dropDownloadedLayerHandles(s.downloadedDiffIDs) + s.downloadedDiffIDs = nil + // Allow a future ensureLayers() to re-download if needed. + s.downloadOnce = &sync.Once{} +} + func untar(r io.Reader, dest string) error { tr := tar.NewReader(r) for { diff --git a/vendor/github.com/buildpacks/lifecycle/phase/extender.go b/vendor/github.com/buildpacks/lifecycle/phase/extender.go index bfd20e73..cbe8f1f4 100644 --- a/vendor/github.com/buildpacks/lifecycle/phase/extender.go +++ b/vendor/github.com/buildpacks/lifecycle/phase/extender.go @@ -126,7 +126,7 @@ func setImageEnvVarsInCurrentContext(image v1.Image) error { return fmt.Errorf("getting config for extended image: %w", err) } for _, env := range configFile.Config.Env { - parts := strings.Split(env, "=") + parts := strings.SplitN(env, "=", 2) if len(parts) != 2 { return fmt.Errorf("parsing env '%s': expected format 'key=value'", env) } diff --git a/vendor/github.com/containerd/log/.gitattributes b/vendor/github.com/containerd/log/.gitattributes new file mode 100644 index 00000000..6313b56c --- /dev/null +++ b/vendor/github.com/containerd/log/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/vendor/github.com/containerd/log/.golangci.yml b/vendor/github.com/containerd/log/.golangci.yml index a695775d..5c3bdd76 100644 --- a/vendor/github.com/containerd/log/.golangci.yml +++ b/vendor/github.com/containerd/log/.golangci.yml @@ -1,30 +1,50 @@ +version: "2" linters: enable: - - exportloopref # Checks for pointers to enclosing loop variables - - gofmt - - goimports + - copyloopvar + - dupword - gosec + - govet - ineffassign - misspell - nolintlint - revive - staticcheck - - tenv # Detects using os.Setenv instead of t.Setenv since Go 1.17 - unconvert - unused - - vet - - dupword # Checks for duplicate words in the source code disable: - errcheck + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + paths: + - api + - cluster + - design + - docs + - docs/man + - releases + - reports + - test +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - api + - cluster + - design + - docs + - docs/man + - releases + - reports + - test run: timeout: 5m - skip-dirs: - - api - - cluster - - design - - docs - - docs/man - - releases - - reports - - test # e2e scripts diff --git a/vendor/github.com/containerd/log/context.go b/vendor/github.com/containerd/log/context.go index 20153066..e43ca0b1 100644 --- a/vendor/github.com/containerd/log/context.go +++ b/vendor/github.com/containerd/log/context.go @@ -40,8 +40,11 @@ package log import ( "context" "fmt" + "io" + "log/slog" "github.com/sirupsen/logrus" + lslog "github.com/sirupsen/logrus/hooks/slog" ) // G is a shorthand for [GetLogger]. @@ -108,10 +111,17 @@ const ( PanicLevel Level = logrus.PanicLevel ) -// SetLevel sets log level globally. It returns an error if the given -// level is not supported. +// levelValue is a log level accepted by [SetLevel]. +type levelValue interface { + string | Level | slog.Level | lslog.Level | lslog.SlogLevel +} + +// SetLevel sets the global log level. +// +// The level may be specified as a string, a [Level], a [slog.Level], an +// [lslog.Level], or an [lslog.SlogLevel]. // -// level can be one of: +// String levels are parsed using [logrus.ParseLevel] and may be one of: // // - "trace" ([TraceLevel]) // - "debug" ([DebugLevel]) @@ -120,10 +130,34 @@ const ( // - "error" ([ErrorLevel]) // - "fatal" ([FatalLevel]) // - "panic" ([PanicLevel]) -func SetLevel(level string) error { - lvl, err := logrus.ParseLevel(level) - if err != nil { - return err +// +// slog levels are mapped to Logrus levels using the mapping defined by +// [lslog.SlogLevel]. [lslog.Level] values are accepted directly as their +// underlying Logrus level. +// +// SetLevel returns an error if a string level is not supported. +func SetLevel[T levelValue](level T) error { + var lvl Level + + switch l := any(level).(type) { + case string: + var err error + lvl, err = logrus.ParseLevel(l) + if err != nil { + return err + } + + case Level: + lvl = l + + case slog.Level: + lvl = lslog.SlogLevel(l).Level() + + case lslog.Level: + lvl = Level(l) + + case lslog.SlogLevel: + lvl = l.Level() } L.Logger.SetLevel(lvl) @@ -149,21 +183,39 @@ const ( // SetFormat sets the log output format ([TextFormat] or [JSONFormat]). func SetFormat(format OutputFormat) error { + if slogOut != nil { + var handler slog.Handler + switch format { + case TextFormat: + handler = slog.NewTextHandler(slogOut, &slog.HandlerOptions{Level: loggerLevel{}}) + case JSONFormat: + handler = slog.NewJSONHandler(slogOut, &slog.HandlerOptions{Level: loggerLevel{}}) + default: + return fmt.Errorf("unknown log format: %s", format) + } + slog.SetDefault(slog.New(handler)) + + // Keep logrus formatting and output disabled, as both are handled by slog. + L.Logger.SetFormatter(discardFormatter{}) + L.Logger.SetOutput(io.Discard) + return nil + } + switch format { case TextFormat: L.Logger.SetFormatter(&logrus.TextFormatter{ TimestampFormat: RFC3339NanoFixed, FullTimestamp: true, }) - return nil case JSONFormat: L.Logger.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: RFC3339NanoFixed, }) - return nil default: return fmt.Errorf("unknown log format: %s", format) } + + return nil } // WithLogger returns a new context with the provided logger. Use in diff --git a/vendor/github.com/containerd/log/slog.go b/vendor/github.com/containerd/log/slog.go new file mode 100644 index 00000000..6e230ca8 --- /dev/null +++ b/vendor/github.com/containerd/log/slog.go @@ -0,0 +1,66 @@ +/* + Copyright The containerd Authors. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package log + +import ( + "io" + "log/slog" + "sync" + + "github.com/sirupsen/logrus" + lslog "github.com/sirupsen/logrus/hooks/slog" +) + +// slogOut is used to set the slog logger when setting output format. +var slogOut io.Writer + +// slogOnce guards UseSlog so repeated calls do not stack up hooks or +// reset slogOut to the discard writer installed on the first call. +var slogOnce sync.Once + +func UseSlog() { + slogOnce.Do(func() { + L.Logger.SetNoLock() + L.Logger.AddHook(slogHook{}) + slogOut = L.Logger.Out + + // Disable logrus formatting and output, as both are handled by slog. + L.Logger.SetFormatter(discardFormatter{}) + L.Logger.SetOutput(io.Discard) + }) +} + +type slogHook struct{} + +func (slogHook) Levels() []logrus.Level { + return logrus.AllLevels +} + +func (slogHook) Fire(entry *logrus.Entry) error { + return lslog.NewHook(slog.Default(), nil).Fire(entry) +} + +// loggerLevel exposes the current Logrus logger level as a slog.Leveler. +type loggerLevel struct{} + +func (loggerLevel) Level() slog.Level { + return lslog.Level(L.Logger.GetLevel()).Level() +} + +type discardFormatter struct{} + +func (discardFormatter) Format(*logrus.Entry) ([]byte, error) { return nil, nil } diff --git a/vendor/github.com/docker/go-connections/sockets/tcp_socket.go b/vendor/github.com/docker/go-connections/sockets/tcp_socket.go index 53cbb6c7..3224ed97 100644 --- a/vendor/github.com/docker/go-connections/sockets/tcp_socket.go +++ b/vendor/github.com/docker/go-connections/sockets/tcp_socket.go @@ -9,13 +9,17 @@ import ( // NewTCPSocket creates a TCP socket listener with the specified address and // the specified tls configuration. If TLSConfig is set, will encapsulate the // TCP listener inside a TLS one. +// If no ALPN protocols are configured, it defaults to HTTP/1.1. func NewTCPSocket(addr string, tlsConfig *tls.Config) (net.Listener, error) { l, err := net.Listen("tcp", addr) if err != nil { return nil, err } if tlsConfig != nil { - tlsConfig.NextProtos = []string{"http/1.1"} + if len(tlsConfig.NextProtos) == 0 { + tlsConfig = tlsConfig.Clone() + tlsConfig.NextProtos = []string{"http/1.1"} + } l = tls.NewListener(l, tlsConfig) } return l, nil diff --git a/vendor/github.com/fsnotify/fsnotify/.cirrus.yml b/vendor/github.com/fsnotify/fsnotify/.cirrus.yml deleted file mode 100644 index 7f257e99..00000000 --- a/vendor/github.com/fsnotify/fsnotify/.cirrus.yml +++ /dev/null @@ -1,14 +0,0 @@ -freebsd_task: - name: 'FreeBSD' - freebsd_instance: - image_family: freebsd-14-2 - install_script: - - pkg update -f - - pkg install -y go - test_script: - # run tests as user "cirrus" instead of root - - pw useradd cirrus -m - - chown -R cirrus:cirrus . - - FSNOTIFY_BUFFER=4096 sudo --preserve-env=FSNOTIFY_BUFFER -u cirrus go test -parallel 1 -race ./... - - sudo --preserve-env=FSNOTIFY_BUFFER -u cirrus go test -parallel 1 -race ./... - - FSNOTIFY_DEBUG=1 sudo --preserve-env=FSNOTIFY_BUFFER -u cirrus go test -parallel 1 -race -v ./... diff --git a/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md b/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md index 6468d2cf..3027f3c6 100644 --- a/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md +++ b/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md @@ -1,5 +1,54 @@ # Changelog +1.10.1 2026-05-04 +----------------- + +### Changes and fixes + +- inotify: don't remove sibling watches sharing a path prefix ([#754]) + +- inotify, windows: don't rename sibling watches sharing a path prefix + ([#755]) + + +[#754]: https://github.com/fsnotify/fsnotify/pull/754 +[#755]: https://github.com/fsnotify/fsnotify/pull/755 + + +1.10.0 2026-04-30 +----------------- +This version of fsnotify needs Go 1.23. + +### Changes and fixes + +- inotify: improve initialization error message ([#731]) + +- inotify: send Rename event if recursive watch is renamed ([#696]) + +- inotify: avoid copying event buffers when reading names ([#741]) + +- kqueue: skip dangling symlinks (ENOENT) in watchDirectoryFiles, so a + bad entry no longer aborts Watcher.Add for the whole directory ([#748]) + +- kqueue: drop watches directly in Close() to fix a file descriptor leak + when recycling watchers ([#740]) + +- windows: fix nil pointer dereference in remWatch ([#736]) + +- windows: lock watch field updates against concurrent WatchList to fix + a race introduced in v1.9.0 ([#709], [#749]) + + +[#696]: https://github.com/fsnotify/fsnotify/pull/696 +[#709]: https://github.com/fsnotify/fsnotify/pull/709 +[#731]: https://github.com/fsnotify/fsnotify/pull/731 +[#736]: https://github.com/fsnotify/fsnotify/pull/736 +[#740]: https://github.com/fsnotify/fsnotify/pull/740 +[#741]: https://github.com/fsnotify/fsnotify/pull/741 +[#748]: https://github.com/fsnotify/fsnotify/pull/748 +[#749]: https://github.com/fsnotify/fsnotify/pull/749 + + 1.9.0 2024-04-04 ---------------- diff --git a/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md b/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md index 4cc40fa5..cd0ee612 100644 --- a/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md +++ b/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md @@ -77,6 +77,8 @@ End-of-line escapes with `\` are not supported. debug [yes/no] # Enable/disable FSNOTIFY_DEBUG (tests are run in parallel by default, so -parallel=1 is probably a good idea). + state # Print internal state to stderr (exact output differs + # per backend). print [any strings] # Print text to stdout; for debugging. touch path diff --git a/vendor/github.com/fsnotify/fsnotify/README.md b/vendor/github.com/fsnotify/fsnotify/README.md index 1f4eb583..2e56ef4c 100644 --- a/vendor/github.com/fsnotify/fsnotify/README.md +++ b/vendor/github.com/fsnotify/fsnotify/README.md @@ -1,7 +1,7 @@ fsnotify is a Go library to provide cross-platform filesystem notifications on Windows, Linux, macOS, BSD, and illumos. -Go 1.17 or newer is required; the full documentation is at +Go 1.23 or newer is required; the full documentation is at https://pkg.go.dev/github.com/fsnotify/fsnotify --- @@ -12,7 +12,7 @@ Platform support: | :-------------------- | :--------- | :------------------------------------------------------------------------ | | inotify | Linux | Supported | | kqueue | BSD, macOS | Supported | -| ReadDirectoryChangesW | Windows | Supported | +| ReadDirectoryChangesW | Windows | Supported ([excluding `Chmod` operations][#487]) | | FEN | illumos | Supported | | fanotify | Linux 5.9+ | [Not yet](https://github.com/fsnotify/fsnotify/issues/114) | | FSEvents | macOS | [Needs support in x/sys/unix][fsevents] | @@ -22,6 +22,7 @@ Platform support: Linux and illumos should include Android and Solaris, but these are currently untested. +[#487]: https://github.com/fsnotify/fsnotify/issues/487 [fsevents]: https://github.com/fsnotify/fsnotify/issues/11#issuecomment-1279133120 [usn]: https://github.com/fsnotify/fsnotify/issues/53#issuecomment-1279829847 @@ -126,7 +127,7 @@ settings* until we have a native FSEvents implementation (see [#11]). ### Watching a file doesn't work well Watching individual files (rather than directories) is generally not recommended as many programs (especially editors) update files atomically: it will write to -a temporary file which is then moved to to destination, overwriting the original +a temporary file which is then moved to a destination, overwriting the original (or some variant thereof). The watcher on the original file is now lost, as that no longer exists. @@ -151,26 +152,57 @@ This is the event that inotify sends, so not much can be changed about this. The `fs.inotify.max_user_watches` sysctl variable specifies the upper limit for the number of watches per user, and `fs.inotify.max_user_instances` specifies the maximum number of inotify instances per user. Every Watcher you create is an -"instance", and every path you add is a "watch". +"instance", and every path you add is a "watch". Reaching the limit will result +in a "no space left on device" or "too many open files" error. These are also exposed in `/proc` as `/proc/sys/fs/inotify/max_user_watches` and -`/proc/sys/fs/inotify/max_user_instances` +`/proc/sys/fs/inotify/max_user_instances`. The default values differ per distro +and available memory. To increase them you can use `sysctl` or write the value to proc file: - # The default values on Linux 5.18 - sysctl fs.inotify.max_user_watches=124983 - sysctl fs.inotify.max_user_instances=128 + sysctl fs.inotify.max_user_watches=200000 + sysctl fs.inotify.max_user_instances=256 To make the changes persist on reboot edit `/etc/sysctl.conf` or `/usr/lib/sysctl.d/50-default.conf` (details differ per Linux distro; check your distro's documentation): - fs.inotify.max_user_watches=124983 - fs.inotify.max_user_instances=128 + fs.inotify.max_user_watches=200000 + fs.inotify.max_user_instances=256 + +### Windows +Recursive watching is not currently enabled through fsnotify's public API +(see the FAQ "Are subdirectories watched?" above). The notes below +describe Windows backend behavior observed when recursive watching is +enabled internally (for example, in fsnotify's own tests). They are kept +here as a reference for maintainers and contributors who encounter the +behavior, since the recursive code path still exists in the backend. + +When recursive watching is enabled and you watch a directory, you may +receive a `Write` event for an intermediate directory whenever a child +entry inside it is created, renamed, or removed. For example, with a +recursive watch on `/a` and a new file `/a/b/c`, you will receive +`Create /a/b/c` and may also receive `Write /a/b`. + +This happens because, on NTFS-backed volumes, modifying the entries of a +directory updates that directory's last-write time, and the Windows +backend requests `FILE_NOTIFY_CHANGE_LAST_WRITE` to support `Write` events +on files. The same `Write` filter therefore picks up the directory's +metadata update. + +kqueue has the same "directory `Write` = directory contents changed" +semantics, so portable code that treats `Write` on a directory as +"something inside it changed" works on Windows and BSD/macOS, but not on +Linux (inotify uses `Write` only for file-content changes). If you only +care about file content, filter out `Write` events whose path refers to a +directory. + +Whether the directory `Write` is actually delivered alongside the child +events is not guaranteed: it depends on `ReadDirectoryChangesW` buffering, +NTFS metadata update timing, and event coalescing, none of which fsnotify +controls. -Reaching the limit will result in a "no space left on device" or "too many open -files" error. ### kqueue (macOS, all BSD systems) kqueue requires opening a file descriptor for every file that's being watched; diff --git a/vendor/github.com/fsnotify/fsnotify/backend_fen.go b/vendor/github.com/fsnotify/fsnotify/backend_fen.go index 57fc6928..e43c6d08 100644 --- a/vendor/github.com/fsnotify/fsnotify/backend_fen.go +++ b/vendor/github.com/fsnotify/fsnotify/backend_fen.go @@ -158,7 +158,9 @@ func (w *fen) readEvents() { pevents := make([]unix.PortEvent, 8) for { - count, err := w.port.Get(pevents, 1, nil) + count, err := internal.IgnoringEINTR(func() (int, error) { + return w.port.Get(pevents, 1, nil) + }) if err != nil && err != unix.ETIME { // Interrupted system call (count should be 0) ignore and continue if errors.Is(err, unix.EINTR) && count == 0 { diff --git a/vendor/github.com/fsnotify/fsnotify/backend_inotify.go b/vendor/github.com/fsnotify/fsnotify/backend_inotify.go index a36cb89d..4c3f6f7c 100644 --- a/vendor/github.com/fsnotify/fsnotify/backend_inotify.go +++ b/vendor/github.com/fsnotify/fsnotify/backend_inotify.go @@ -55,10 +55,10 @@ type ( path map[string]uint32 // pathname → wd } watch struct { - wd uint32 // Watch descriptor (as returned by the inotify_add_watch() syscall) - flags uint32 // inotify flags of this watch (see inotify(7) for the list of valid flags) - path string // Watch path. - recurse bool // Recursion with ./...? + wd uint32 // Watch descriptor (as returned by the inotify_add_watch() syscall) + flags uint32 // inotify flags of this watch (see inotify(7) for the list of valid flags) + path string // Watch path. + watchFlags watchFlag } koekje struct { cookie uint32 @@ -66,6 +66,9 @@ type ( } ) +func (w watch) byUser() bool { return w.watchFlags&flagByUser != 0 } +func (w watch) recurse() bool { return w.watchFlags&flagRecurse != 0 } + func newWatches() *watches { return &watches{ wd: make(map[uint32]*watch), @@ -79,6 +82,13 @@ func (w *watches) len() int { return len(w.wd) } func (w *watches) add(ww *watch) { w.wd[ww.wd] = ww; w.path[ww.path] = ww.wd } func (w *watches) remove(watch *watch) { delete(w.path, watch.path); delete(w.wd, watch.wd) } +func isSameOrDescendantPath(path, root string) bool { + if path == root { + return true + } + return strings.HasPrefix(path, root+string(os.PathSeparator)) +} + func (w *watches) removePath(path string) ([]uint32, error) { path, recurse := recursivePath(path) wd, ok := w.path[path] @@ -87,20 +97,20 @@ func (w *watches) removePath(path string) ([]uint32, error) { } watch := w.wd[wd] - if recurse && !watch.recurse { + if recurse && !watch.recurse() { return nil, fmt.Errorf("can't use /... with non-recursive watch %q", path) } delete(w.path, path) delete(w.wd, wd) - if !watch.recurse { + if !watch.recurse() { return []uint32{wd}, nil } wds := make([]uint32, 0, 8) wds = append(wds, wd) for p, rwd := range w.path { - if strings.HasPrefix(p, path) { + if isSameOrDescendantPath(p, path) { delete(w.path, p) delete(w.wd, rwd) wds = append(wds, rwd) @@ -139,7 +149,7 @@ func newBackend(ev chan Event, errs chan error) (backend, error) { // I/O operations won't terminate on close. fd, errno := unix.InotifyInit1(unix.IN_CLOEXEC | unix.IN_NONBLOCK) if fd == -1 { - return nil, errno + return nil, fmt.Errorf("couldn't initialize inotify: %w", errno) } w := &inotify{ @@ -188,11 +198,8 @@ func (w *inotify) AddWith(path string, opts ...addOpt) error { return fmt.Errorf("%w: %s", xErrUnsupported, with.op) } - add := func(path string, with withOpts, recurse bool) error { + add := func(path string, with withOpts, wf watchFlag) error { var flags uint32 - if with.noFollow { - flags |= unix.IN_DONT_FOLLOW - } if with.op.Has(Create) { flags |= unix.IN_CREATE } @@ -220,7 +227,7 @@ func (w *inotify) AddWith(path string, opts ...addOpt) error { if with.op.Has(xUnportableCloseRead) { flags |= unix.IN_CLOSE_NOWRITE } - return w.register(path, flags, recurse) + return w.register(path, flags, wf) } w.mu.Lock() @@ -248,14 +255,18 @@ func (w *inotify) AddWith(path string, opts ...addOpt) error { w.sendEvent(Event{Name: root, Op: Create}) } - return add(root, with, true) + wf := flagRecurse + if root == path { + wf |= flagByUser + } + return add(root, with, wf) }) } - return add(path, with, false) + return add(path, with, 0) } -func (w *inotify) register(path string, flags uint32, recurse bool) error { +func (w *inotify) register(path string, flags uint32, wf watchFlag) error { return w.watches.updatePath(path, func(existing *watch) (*watch, error) { if existing != nil { flags |= existing.flags | unix.IN_MASK_ADD @@ -272,10 +283,10 @@ func (w *inotify) register(path string, flags uint32, recurse bool) error { if existing == nil { return &watch{ - wd: uint32(wd), - path: path, - flags: flags, - recurse: recurse, + wd: uint32(wd), + path: path, + flags: flags, + watchFlags: wf, }, nil } @@ -425,11 +436,7 @@ func (w *inotify) handleEvent(inEvent *unix.InotifyEvent, buf *[65536]byte, offs nameLen = uint32(inEvent.Len) ) if nameLen > 0 { - /// Point "bytes" at the first byte of the filename - bb := *buf - bytes := (*[unix.PathMax]byte)(unsafe.Pointer(&bb[offset+unix.SizeofInotifyEvent]))[:nameLen:nameLen] - /// The filename is padded with NULL bytes. TrimRight() gets rid of those. - name += "/" + strings.TrimRight(string(bytes[0:nameLen]), "\x00") + name += "/" + inotifyEventName(buf, offset, nameLen) } if debug { @@ -450,7 +457,9 @@ func (w *inotify) handleEvent(inEvent *unix.InotifyEvent, buf *[65536]byte, offs // We can't really update the state when a watched path is moved; only // IN_MOVE_SELF is sent and not IN_MOVED_{FROM,TO}. So remove the watch. if inEvent.Mask&unix.IN_MOVE_SELF == unix.IN_MOVE_SELF { - if watch.recurse { // Do nothing + // Watch is set up as part of recurse: do nothing as the move gets + // registered from the parent directory. + if watch.recurse() && !watch.byUser() { return Event{}, true } @@ -460,6 +469,10 @@ func (w *inotify) handleEvent(inEvent *unix.InotifyEvent, buf *[65536]byte, offs return Event{}, false } } + + if watch.recurse() { + return Event{Name: watch.path, Op: Rename}, true + } } /// Skip if we're watching both this path and the parent; the parent will @@ -473,11 +486,11 @@ func (w *inotify) handleEvent(inEvent *unix.InotifyEvent, buf *[65536]byte, offs ev := w.newEvent(name, inEvent.Mask, inEvent.Cookie) // Need to update watch path for recurse. - if watch.recurse { + if watch.recurse() { isDir := inEvent.Mask&unix.IN_ISDIR == unix.IN_ISDIR /// New directory created: set up watch on it. if isDir && ev.Has(Create) { - err := w.register(ev.Name, watch.flags, true) + err := w.register(ev.Name, watch.flags, flagRecurse) if !w.sendError(err) { return Event{}, false } @@ -495,7 +508,7 @@ func (w *inotify) handleEvent(inEvent *unix.InotifyEvent, buf *[65536]byte, offs if k == watch.wd || ww.path == ev.Name { continue } - if strings.HasPrefix(ww.path, ev.renamedFrom) { + if isSameOrDescendantPath(ww.path, ev.renamedFrom) { ww.path = strings.Replace(ww.path, ev.renamedFrom, ev.Name, 1) w.watches.wd[k] = ww } @@ -507,12 +520,13 @@ func (w *inotify) handleEvent(inEvent *unix.InotifyEvent, buf *[65536]byte, offs return ev, true } -func (w *inotify) isRecursive(path string) bool { - ww := w.watches.byPath(path) - if ww == nil { // path could be a file, so also check the Dir. - ww = w.watches.byPath(filepath.Dir(path)) +func inotifyEventName(buf *[65536]byte, offset, nameLen uint32) string { + start := int(offset + unix.SizeofInotifyEvent) + bytes := (*[unix.PathMax]byte)(unsafe.Pointer(&buf[start]))[:nameLen:nameLen] + for nameLen > 0 && bytes[nameLen-1] == 0 { + nameLen-- } - return ww != nil && ww.recurse + return string(bytes[:nameLen]) } func (w *inotify) newEvent(name string, mask, cookie uint32) Event { @@ -578,6 +592,6 @@ func (w *inotify) state() { w.mu.Lock() defer w.mu.Unlock() for wd, ww := range w.watches.wd { - fmt.Fprintf(os.Stderr, "%4d: recurse=%t %q\n", wd, ww.recurse, ww.path) + fmt.Fprintf(os.Stderr, "%4d: %q watchFlags=0x%x\n", wd, ww.path, ww.watchFlags) } } diff --git a/vendor/github.com/fsnotify/fsnotify/backend_kqueue.go b/vendor/github.com/fsnotify/fsnotify/backend_kqueue.go index 340aeec0..d2c8cfb6 100644 --- a/vendor/github.com/fsnotify/fsnotify/backend_kqueue.go +++ b/vendor/github.com/fsnotify/fsnotify/backend_kqueue.go @@ -8,6 +8,7 @@ import ( "os" "path/filepath" "runtime" + "sort" "sync" "time" @@ -245,9 +246,26 @@ func (w *kqueue) Close() error { return nil } + // Snapshot and drop all watches directly. w.Remove -> w.remove + // short-circuits on isClosed() (which is already true after + // w.shared.close() above), so calling Remove here in the happy path + // leaked every watched directory + file descriptor. On macOS a + // single directory watch opens an fd for every file in the dir, so + // long-running processes that recreate watchers (hot-reload dev + // servers, etc.) ran out of fds with EMFILE (#732). pathsToRemove := w.watches.listPaths(false) for _, name := range pathsToRemove { - w.Remove(name) + info, ok := w.watches.byPath(name) + if !ok { + // w.path has an entry for name but w.wd doesn't -- + // drop the stale lookup entry so the map state is + // consistent after Close. + w.watches.remove(0, name) + continue + } + _ = w.register([]int{info.wd}, unix.EV_DELETE, 0) + unix.Close(info.wd) + w.watches.remove(info.wd, name) } unix.Close(w.closepipe[1]) // Send "quit" message to readEvents @@ -376,19 +394,12 @@ func (w *kqueue) addWatch(name string, flags uint32, listDir bool) (string, erro } } - // Retry on EINTR; open() can return EINTR in practice on macOS. - // See #354, and Go issues 11180 and 39237. - for { - info.wd, err = unix.Open(name, openMode, 0) - if err == nil { - break - } - if errors.Is(err, unix.EINTR) { - continue - } + info.wd, err = internal.IgnoringEINTR(func() (int, error) { + return unix.Open(name, openMode, 0) + }) + if err != nil { return "", err } - info.isDir = fi.IsDir() } @@ -436,9 +447,10 @@ func (w *kqueue) readEvents() { eventBuffer := make([]unix.Kevent_t, 10) for { - kevents, err := w.read(eventBuffer) - // EINTR is okay, the syscall was interrupted before timeout expired. - if err != nil && err != unix.EINTR { + kevents, err := internal.IgnoringEINTR(func() ([]unix.Kevent_t, error) { + return w.read(eventBuffer) + }) + if err != nil { if !w.sendError(fmt.Errorf("fsnotify.readEvents: %w", err)) { return } @@ -583,12 +595,14 @@ func (w *kqueue) watchDirectoryFiles(dirPath string) error { cleanPath, err := w.internalWatch(path, fi) if err != nil { - // No permission to read the file; that's not a problem: just skip. - // But do add it to w.fileExists to prevent it from being picked up - // as a "new" file later (it still shows up in the directory + // No permission, or the entry resolved to a missing target + // (e.g. a dangling symlink): not a problem, just skip. But + // do mark it as seen to prevent it from being picked up as + // a "new" file later (it still shows up in the directory // listing). switch { - case errors.Is(err, unix.EACCES) || errors.Is(err, unix.EPERM): + case errors.Is(err, unix.EACCES) || errors.Is(err, unix.EPERM) || + errors.Is(err, os.ErrNotExist): cleanPath = filepath.Clean(path) default: return fmt.Errorf("%q: %w", path, err) @@ -703,3 +717,19 @@ func (w *kqueue) xSupports(op Op) bool { } return true } + +func (w *kqueue) state() { + w.watches.mu.Lock() + defer w.watches.mu.Unlock() + + all := make([]int, 0, len(w.watches.wd)) + for wd := range w.watches.wd { + all = append(all, wd) + } + sort.Ints(all) + + for _, wd := range all { + ww := w.watches.wd[wd] + fmt.Fprintf(os.Stderr, "%4d %q linkname=%q\n", wd, ww.name, ww.linkName) + } +} diff --git a/vendor/github.com/fsnotify/fsnotify/backend_windows.go b/vendor/github.com/fsnotify/fsnotify/backend_windows.go index 3433642d..fb9210f2 100644 --- a/vendor/github.com/fsnotify/fsnotify/backend_windows.go +++ b/vendor/github.com/fsnotify/fsnotify/backend_windows.go @@ -11,7 +11,6 @@ import ( "fmt" "os" "path/filepath" - "reflect" "runtime" "strings" "sync" @@ -37,6 +36,13 @@ type readDirChangesW struct { var defaultBufferSize = 50 +func isSameOrDescendantPath(path, root string) bool { + if path == root { + return true + } + return strings.HasPrefix(path, root+string(os.PathSeparator)) +} + func newBackend(ev chan Event, errs chan error) (backend, error) { port, err := windows.CreateIoCompletionPort(windows.InvalidHandle, 0, 0, 0) if err != nil { @@ -359,22 +365,26 @@ func (w *readDirChangesW) addWatch(pathname string, flags uint64, bufsize int) e } else { windows.CloseHandle(ino.handle) } + w.mu.Lock() if pathname == dir { watchEntry.mask |= flags } else { watchEntry.names[filepath.Base(pathname)] |= flags } + w.mu.Unlock() err = w.startRead(watchEntry) if err != nil { return err } + w.mu.Lock() if pathname == dir { watchEntry.mask &= ^provisional } else { watchEntry.names[filepath.Base(pathname)] &= ^provisional } + w.mu.Unlock() return nil } @@ -394,8 +404,13 @@ func (w *readDirChangesW) remWatch(pathname string) error { w.mu.Lock() watch := w.watches.get(ino) w.mu.Unlock() + if watch == nil { + windows.CloseHandle(ino.handle) + return fmt.Errorf("%w: %s", ErrNonExistentWatch, pathname) + } if recurse && !watch.recurse { + windows.CloseHandle(ino.handle) return fmt.Errorf("can't use \\... with non-recursive watch %q", pathname) } @@ -403,16 +418,19 @@ func (w *readDirChangesW) remWatch(pathname string) error { if err != nil { w.sendError(os.NewSyscallError("CloseHandle", err)) } - if watch == nil { - return fmt.Errorf("%w: %s", ErrNonExistentWatch, pathname) - } if pathname == dir { - w.sendEvent(watch.path, "", watch.mask&sysFSIGNORED) + w.mu.Lock() + mask := watch.mask watch.mask = 0 + w.mu.Unlock() + w.sendEvent(watch.path, "", mask&sysFSIGNORED) } else { name := filepath.Base(pathname) - w.sendEvent(filepath.Join(watch.path, name), "", watch.names[name]&sysFSIGNORED) + w.mu.Lock() + mask := watch.names[name] delete(watch.names, name) + w.mu.Unlock() + w.sendEvent(filepath.Join(watch.path, name), "", mask&sysFSIGNORED) } return w.startRead(watch) @@ -420,17 +438,23 @@ func (w *readDirChangesW) remWatch(pathname string) error { // Must run within the I/O thread. func (w *readDirChangesW) deleteWatch(watch *watch) { - for name, mask := range watch.names { - if mask&provisional == 0 { - w.sendEvent(filepath.Join(watch.path, name), "", mask&sysFSIGNORED) + // Snapshot+clear under the lock so concurrent WatchList() readers see a + // consistent state. sendEvent must run outside the lock since it can + // block on the user-facing Events channel. + w.mu.Lock() + names := watch.names + watch.names = make(map[string]uint64) + mask := watch.mask + watch.mask = 0 + w.mu.Unlock() + + for name, m := range names { + if m&provisional == 0 { + w.sendEvent(filepath.Join(watch.path, name), "", m&sysFSIGNORED) } - delete(watch.names, name) } - if watch.mask != 0 { - if watch.mask&provisional == 0 { - w.sendEvent(watch.path, "", watch.mask&sysFSIGNORED) - } - watch.mask = 0 + if mask != 0 && mask&provisional == 0 { + w.sendEvent(watch.path, "", mask&sysFSIGNORED) } } @@ -457,9 +481,8 @@ func (w *readDirChangesW) startRead(watch *watch) error { } // We need to pass the array, rather than the slice. - hdr := (*reflect.SliceHeader)(unsafe.Pointer(&watch.buf)) rdErr := windows.ReadDirectoryChanges(watch.ino.handle, - (*byte)(unsafe.Pointer(hdr.Data)), uint32(hdr.Len), + unsafe.SliceData(watch.buf), uint32(len(watch.buf)), watch.recurse, mask, nil, &watch.ov, 0) if rdErr != nil { err := os.NewSyscallError("ReadDirectoryChanges", rdErr) @@ -565,12 +588,7 @@ func (w *readDirChangesW) readEvents() { // Create a buf that is the size of the path name size := int(raw.FileNameLength / 2) - var buf []uint16 - // TODO: Use unsafe.Slice in Go 1.17; https://stackoverflow.com/questions/51187973 - sh := (*reflect.SliceHeader)(unsafe.Pointer(&buf)) - sh.Data = uintptr(unsafe.Pointer(&raw.FileName)) - sh.Len = size - sh.Cap = size + buf := unsafe.Slice(&raw.FileName, size) name := windows.UTF16ToString(buf) fullname := filepath.Join(watch.path, name) @@ -587,31 +605,35 @@ func (w *readDirChangesW) readEvents() { case windows.FILE_ACTION_RENAMED_OLD_NAME: watch.rename = name case windows.FILE_ACTION_RENAMED_NEW_NAME: - // Update saved path of all sub-watches. + // Update saved path of all sub-watches and rename the + // names entry under the lock so WatchList() can't observe + // a torn state. old := filepath.Join(watch.path, watch.rename) w.mu.Lock() for _, watchMap := range w.watches { for _, ww := range watchMap { - if strings.HasPrefix(ww.path, old) { + if isSameOrDescendantPath(ww.path, old) { ww.path = filepath.Join(fullname, strings.TrimPrefix(ww.path, old)) } } } - w.mu.Unlock() - if watch.names[watch.rename] != 0 { watch.names[name] |= watch.names[watch.rename] delete(watch.names, watch.rename) mask = sysFSMOVESELF } + w.mu.Unlock() } if raw.Action != windows.FILE_ACTION_RENAMED_NEW_NAME { w.sendEvent(fullname, "", watch.names[name]&mask) } if raw.Action == windows.FILE_ACTION_REMOVED { - w.sendEvent(fullname, "", watch.names[name]&sysFSIGNORED) + w.mu.Lock() + ignored := watch.names[name] & sysFSIGNORED delete(watch.names, name) + w.mu.Unlock() + w.sendEvent(fullname, "", ignored) } if watch.rename != "" && raw.Action == windows.FILE_ACTION_RENAMED_NEW_NAME { diff --git a/vendor/github.com/fsnotify/fsnotify/fsnotify.go b/vendor/github.com/fsnotify/fsnotify/fsnotify.go index f64be4bf..38cb4dd4 100644 --- a/vendor/github.com/fsnotify/fsnotify/fsnotify.go +++ b/vendor/github.com/fsnotify/fsnotify/fsnotify.go @@ -51,26 +51,25 @@ import ( // The fs.inotify.max_user_watches sysctl variable specifies the upper limit // for the number of watches per user, and fs.inotify.max_user_instances // specifies the maximum number of inotify instances per user. Every Watcher you -// create is an "instance", and every path you add is a "watch". +// create is an "instance", and every path you add is a "watch". Reaching the +// limit will result in a "no space left on device" or "too many open files" +// error. // // These are also exposed in /proc as /proc/sys/fs/inotify/max_user_watches and -// /proc/sys/fs/inotify/max_user_instances +// /proc/sys/fs/inotify/max_user_instances. The default values differ per distro +// and available memory. // // To increase them you can use sysctl or write the value to the /proc file: // -// # Default values on Linux 5.18 -// sysctl fs.inotify.max_user_watches=124983 -// sysctl fs.inotify.max_user_instances=128 +// sysctl fs.inotify.max_user_watches=200000 +// sysctl fs.inotify.max_user_instances=256 // // To make the changes persist on reboot edit /etc/sysctl.conf or // /usr/lib/sysctl.d/50-default.conf (details differ per Linux distro; check // your distro's documentation): // -// fs.inotify.max_user_watches=124983 -// fs.inotify.max_user_instances=128 -// -// Reaching the limit will result in a "no space left on device" or "too many open -// files" error. +// fs.inotify.max_user_watches=200000 +// fs.inotify.max_user_instances=256 // // # kqueue notes (macOS, BSD) // @@ -93,6 +92,28 @@ import ( // Sometimes it will send events for all files, sometimes it will send no // events, and often only for some files. // +// Recursive watching is not currently enabled through fsnotify's public +// API; the recursive code path is gated and only exercised by fsnotify's +// own tests. The note below describes backend behavior observed when +// recursive watching is enabled internally, and is kept here as a +// reference for maintainers and contributors who encounter it. +// +// When recursive watching is enabled and you watch a directory, you may +// receive a Write event for an intermediate directory whenever a child +// entry inside it is created, renamed, or removed. For example, with a +// recursive watch on /a and a new file /a/b/c, you will receive +// Create /a/b/c and may also receive Write /a/b. +// +// This happens because, on NTFS-backed volumes, modifying the entries of a +// directory updates that directory's last-write time, and the Windows +// backend requests FILE_NOTIFY_CHANGE_LAST_WRITE to support Write events +// on files. The same Write filter therefore picks up the directory's +// metadata update. +// +// Whether the directory Write is actually delivered alongside the child +// events is not guaranteed; it depends on ReadDirectoryChangesW buffering, +// NTFS metadata update timing, and event coalescing. +// // The default ReadDirectoryChangesW() buffer size is 64K, which is the largest // value that is guaranteed to work with SMB filesystems. If you have many // events in quick succession this may not be enough, and you will have to use @@ -129,8 +150,12 @@ type Watcher struct { // want to wait until you've stopped receiving them // (see the dedup example in cmd/fsnotify). // - // Some systems may send Write event for directories - // when the directory content changes. + // Some systems also send Write events for directories + // when the directory contents change. This is the + // case for kqueue, and on Windows for the directory + // that contains a created, renamed, or removed child + // entry. It does not happen on inotify. See the + // per-platform notes on [Watcher]. // // fsnotify.Chmod Attributes were changed. On Linux this is also sent // when a file is removed (or more accurately, when a @@ -179,7 +204,9 @@ const ( Create Op = 1 << iota // The pathname was written to; this does *not* mean the write has finished, - // and a write can be followed by more writes. + // and a write can be followed by more writes. On Windows and kqueue, a + // Write on a directory can also indicate that its contents changed; see + // the per-platform notes on [Watcher]. Write // The path was removed; any watches on it will be removed. Some "remove" @@ -220,7 +247,7 @@ const ( // File opened for reading was closed. // - // Only works on Linux and FreeBSD. + // Only works on Linux. xUnportableCloseRead ) @@ -410,7 +437,6 @@ type ( withOpts struct { bufsize int op Op - noFollow bool sendCreate bool } ) @@ -469,12 +495,6 @@ func withOps(op Op) addOpt { return func(opt *withOpts) { opt.op = op } } -// WithNoFollow disables following symlinks, so the symlinks themselves are -// watched. -func withNoFollow() addOpt { - return func(opt *withOpts) { opt.noFollow = true } -} - // "Internal" option for recursive watches on inotify. func withCreate() addOpt { return func(opt *withOpts) { opt.sendCreate = true } @@ -494,3 +514,13 @@ func recursivePath(path string) (string, bool) { } return path, false } + +type watchFlag uint8 + +const ( + // Added by user with Add(), rather than an internal watch. + flagByUser = watchFlag(0x01) + // Part of recursive watch; as the top-level path added by the user or an + // "internal" watch. + flagRecurse = watchFlag(0x02) +) diff --git a/vendor/github.com/fsnotify/fsnotify/internal/darwin.go b/vendor/github.com/fsnotify/fsnotify/internal/darwin.go index 0b01bc18..6721aa60 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/darwin.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/darwin.go @@ -15,25 +15,6 @@ var ( var maxfiles uint64 -func SetRlimit() { - // Go 1.19 will do this automatically: https://go-review.googlesource.com/c/go/+/393354/ - var l syscall.Rlimit - err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &l) - if err == nil && l.Cur != l.Max { - l.Cur = l.Max - syscall.Setrlimit(syscall.RLIMIT_NOFILE, &l) - } - maxfiles = l.Cur - - if n, err := syscall.SysctlUint32("kern.maxfiles"); err == nil && uint64(n) < maxfiles { - maxfiles = uint64(n) - } - - if n, err := syscall.SysctlUint32("kern.maxfilesperproc"); err == nil && uint64(n) < maxfiles { - maxfiles = uint64(n) - } -} - func Maxfiles() uint64 { return maxfiles } func Mkfifo(path string, mode uint32) error { return unix.Mkfifo(path, mode) } func Mknod(path string, mode uint32, dev int) error { return unix.Mknod(path, mode, dev) } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/debug_darwin.go b/vendor/github.com/fsnotify/fsnotify/internal/debug_darwin.go index 928319fb..76001807 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/debug_darwin.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/debug_darwin.go @@ -6,52 +6,10 @@ var names = []struct { n string m uint32 }{ - {"NOTE_ABSOLUTE", unix.NOTE_ABSOLUTE}, {"NOTE_ATTRIB", unix.NOTE_ATTRIB}, - {"NOTE_BACKGROUND", unix.NOTE_BACKGROUND}, - {"NOTE_CHILD", unix.NOTE_CHILD}, - {"NOTE_CRITICAL", unix.NOTE_CRITICAL}, {"NOTE_DELETE", unix.NOTE_DELETE}, - {"NOTE_EXEC", unix.NOTE_EXEC}, - {"NOTE_EXIT", unix.NOTE_EXIT}, - {"NOTE_EXITSTATUS", unix.NOTE_EXITSTATUS}, - {"NOTE_EXIT_CSERROR", unix.NOTE_EXIT_CSERROR}, - {"NOTE_EXIT_DECRYPTFAIL", unix.NOTE_EXIT_DECRYPTFAIL}, - {"NOTE_EXIT_DETAIL", unix.NOTE_EXIT_DETAIL}, - {"NOTE_EXIT_DETAIL_MASK", unix.NOTE_EXIT_DETAIL_MASK}, - {"NOTE_EXIT_MEMORY", unix.NOTE_EXIT_MEMORY}, - {"NOTE_EXIT_REPARENTED", unix.NOTE_EXIT_REPARENTED}, {"NOTE_EXTEND", unix.NOTE_EXTEND}, - {"NOTE_FFAND", unix.NOTE_FFAND}, - {"NOTE_FFCOPY", unix.NOTE_FFCOPY}, - {"NOTE_FFCTRLMASK", unix.NOTE_FFCTRLMASK}, - {"NOTE_FFLAGSMASK", unix.NOTE_FFLAGSMASK}, - {"NOTE_FFNOP", unix.NOTE_FFNOP}, - {"NOTE_FFOR", unix.NOTE_FFOR}, - {"NOTE_FORK", unix.NOTE_FORK}, - {"NOTE_FUNLOCK", unix.NOTE_FUNLOCK}, - {"NOTE_LEEWAY", unix.NOTE_LEEWAY}, {"NOTE_LINK", unix.NOTE_LINK}, - {"NOTE_LOWAT", unix.NOTE_LOWAT}, - {"NOTE_MACHTIME", unix.NOTE_MACHTIME}, - {"NOTE_MACH_CONTINUOUS_TIME", unix.NOTE_MACH_CONTINUOUS_TIME}, - {"NOTE_NONE", unix.NOTE_NONE}, - {"NOTE_NSECONDS", unix.NOTE_NSECONDS}, - {"NOTE_OOB", unix.NOTE_OOB}, - //{"NOTE_PCTRLMASK", unix.NOTE_PCTRLMASK}, -0x100000 (?!) - {"NOTE_PDATAMASK", unix.NOTE_PDATAMASK}, - {"NOTE_REAP", unix.NOTE_REAP}, {"NOTE_RENAME", unix.NOTE_RENAME}, - {"NOTE_REVOKE", unix.NOTE_REVOKE}, - {"NOTE_SECONDS", unix.NOTE_SECONDS}, - {"NOTE_SIGNAL", unix.NOTE_SIGNAL}, - {"NOTE_TRACK", unix.NOTE_TRACK}, - {"NOTE_TRACKERR", unix.NOTE_TRACKERR}, - {"NOTE_TRIGGER", unix.NOTE_TRIGGER}, - {"NOTE_USECONDS", unix.NOTE_USECONDS}, - {"NOTE_VM_ERROR", unix.NOTE_VM_ERROR}, - {"NOTE_VM_PRESSURE", unix.NOTE_VM_PRESSURE}, - {"NOTE_VM_PRESSURE_SUDDEN_TERMINATE", unix.NOTE_VM_PRESSURE_SUDDEN_TERMINATE}, - {"NOTE_VM_PRESSURE_TERMINATE", unix.NOTE_VM_PRESSURE_TERMINATE}, {"NOTE_WRITE", unix.NOTE_WRITE}, } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/debug_dragonfly.go b/vendor/github.com/fsnotify/fsnotify/internal/debug_dragonfly.go index 3186b0c3..76001807 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/debug_dragonfly.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/debug_dragonfly.go @@ -7,27 +7,9 @@ var names = []struct { m uint32 }{ {"NOTE_ATTRIB", unix.NOTE_ATTRIB}, - {"NOTE_CHILD", unix.NOTE_CHILD}, {"NOTE_DELETE", unix.NOTE_DELETE}, - {"NOTE_EXEC", unix.NOTE_EXEC}, - {"NOTE_EXIT", unix.NOTE_EXIT}, {"NOTE_EXTEND", unix.NOTE_EXTEND}, - {"NOTE_FFAND", unix.NOTE_FFAND}, - {"NOTE_FFCOPY", unix.NOTE_FFCOPY}, - {"NOTE_FFCTRLMASK", unix.NOTE_FFCTRLMASK}, - {"NOTE_FFLAGSMASK", unix.NOTE_FFLAGSMASK}, - {"NOTE_FFNOP", unix.NOTE_FFNOP}, - {"NOTE_FFOR", unix.NOTE_FFOR}, - {"NOTE_FORK", unix.NOTE_FORK}, {"NOTE_LINK", unix.NOTE_LINK}, - {"NOTE_LOWAT", unix.NOTE_LOWAT}, - {"NOTE_OOB", unix.NOTE_OOB}, - {"NOTE_PCTRLMASK", unix.NOTE_PCTRLMASK}, - {"NOTE_PDATAMASK", unix.NOTE_PDATAMASK}, {"NOTE_RENAME", unix.NOTE_RENAME}, - {"NOTE_REVOKE", unix.NOTE_REVOKE}, - {"NOTE_TRACK", unix.NOTE_TRACK}, - {"NOTE_TRACKERR", unix.NOTE_TRACKERR}, - {"NOTE_TRIGGER", unix.NOTE_TRIGGER}, {"NOTE_WRITE", unix.NOTE_WRITE}, } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/debug_freebsd.go b/vendor/github.com/fsnotify/fsnotify/internal/debug_freebsd.go index f69fdb93..b9e45f55 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/debug_freebsd.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/debug_freebsd.go @@ -6,37 +6,15 @@ var names = []struct { n string m uint32 }{ - {"NOTE_ABSTIME", unix.NOTE_ABSTIME}, - {"NOTE_ATTRIB", unix.NOTE_ATTRIB}, - {"NOTE_CHILD", unix.NOTE_CHILD}, - {"NOTE_CLOSE", unix.NOTE_CLOSE}, - {"NOTE_CLOSE_WRITE", unix.NOTE_CLOSE_WRITE}, {"NOTE_DELETE", unix.NOTE_DELETE}, - {"NOTE_EXEC", unix.NOTE_EXEC}, - {"NOTE_EXIT", unix.NOTE_EXIT}, + {"NOTE_WRITE", unix.NOTE_WRITE}, {"NOTE_EXTEND", unix.NOTE_EXTEND}, - {"NOTE_FFAND", unix.NOTE_FFAND}, - {"NOTE_FFCOPY", unix.NOTE_FFCOPY}, - {"NOTE_FFCTRLMASK", unix.NOTE_FFCTRLMASK}, - {"NOTE_FFLAGSMASK", unix.NOTE_FFLAGSMASK}, - {"NOTE_FFNOP", unix.NOTE_FFNOP}, - {"NOTE_FFOR", unix.NOTE_FFOR}, - {"NOTE_FILE_POLL", unix.NOTE_FILE_POLL}, - {"NOTE_FORK", unix.NOTE_FORK}, + {"NOTE_ATTRIB", unix.NOTE_ATTRIB}, {"NOTE_LINK", unix.NOTE_LINK}, - {"NOTE_LOWAT", unix.NOTE_LOWAT}, - {"NOTE_MSECONDS", unix.NOTE_MSECONDS}, - {"NOTE_NSECONDS", unix.NOTE_NSECONDS}, - {"NOTE_OPEN", unix.NOTE_OPEN}, - {"NOTE_PCTRLMASK", unix.NOTE_PCTRLMASK}, - {"NOTE_PDATAMASK", unix.NOTE_PDATAMASK}, - {"NOTE_READ", unix.NOTE_READ}, {"NOTE_RENAME", unix.NOTE_RENAME}, {"NOTE_REVOKE", unix.NOTE_REVOKE}, - {"NOTE_SECONDS", unix.NOTE_SECONDS}, - {"NOTE_TRACK", unix.NOTE_TRACK}, - {"NOTE_TRACKERR", unix.NOTE_TRACKERR}, - {"NOTE_TRIGGER", unix.NOTE_TRIGGER}, - {"NOTE_USECONDS", unix.NOTE_USECONDS}, - {"NOTE_WRITE", unix.NOTE_WRITE}, + {"NOTE_OPEN", unix.NOTE_OPEN}, + {"NOTE_CLOSE", unix.NOTE_CLOSE}, + {"NOTE_CLOSE_WRITE", unix.NOTE_CLOSE_WRITE}, + {"NOTE_READ", unix.NOTE_READ}, } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/debug_kqueue.go b/vendor/github.com/fsnotify/fsnotify/internal/debug_kqueue.go index 607e683b..5d811643 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/debug_kqueue.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/debug_kqueue.go @@ -27,6 +27,6 @@ func Debug(name string, kevent *unix.Kevent_t) { if unknown > 0 { l = append(l, fmt.Sprintf("0x%x", unknown)) } - fmt.Fprintf(os.Stderr, "FSNOTIFY_DEBUG: %s %10d:%-60s → %q\n", + fmt.Fprintf(os.Stderr, "FSNOTIFY_DEBUG: %s %10d:%-20s → %q\n", time.Now().Format("15:04:05.000000000"), mask, strings.Join(l, " | "), name) } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/debug_netbsd.go b/vendor/github.com/fsnotify/fsnotify/internal/debug_netbsd.go index e5b3b6f6..76001807 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/debug_netbsd.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/debug_netbsd.go @@ -7,19 +7,9 @@ var names = []struct { m uint32 }{ {"NOTE_ATTRIB", unix.NOTE_ATTRIB}, - {"NOTE_CHILD", unix.NOTE_CHILD}, {"NOTE_DELETE", unix.NOTE_DELETE}, - {"NOTE_EXEC", unix.NOTE_EXEC}, - {"NOTE_EXIT", unix.NOTE_EXIT}, {"NOTE_EXTEND", unix.NOTE_EXTEND}, - {"NOTE_FORK", unix.NOTE_FORK}, {"NOTE_LINK", unix.NOTE_LINK}, - {"NOTE_LOWAT", unix.NOTE_LOWAT}, - {"NOTE_PCTRLMASK", unix.NOTE_PCTRLMASK}, - {"NOTE_PDATAMASK", unix.NOTE_PDATAMASK}, {"NOTE_RENAME", unix.NOTE_RENAME}, - {"NOTE_REVOKE", unix.NOTE_REVOKE}, - {"NOTE_TRACK", unix.NOTE_TRACK}, - {"NOTE_TRACKERR", unix.NOTE_TRACKERR}, {"NOTE_WRITE", unix.NOTE_WRITE}, } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/debug_openbsd.go b/vendor/github.com/fsnotify/fsnotify/internal/debug_openbsd.go index 1dd455bc..871766d6 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/debug_openbsd.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/debug_openbsd.go @@ -7,22 +7,10 @@ var names = []struct { m uint32 }{ {"NOTE_ATTRIB", unix.NOTE_ATTRIB}, - // {"NOTE_CHANGE", unix.NOTE_CHANGE}, // Not on 386? - {"NOTE_CHILD", unix.NOTE_CHILD}, {"NOTE_DELETE", unix.NOTE_DELETE}, - {"NOTE_EOF", unix.NOTE_EOF}, - {"NOTE_EXEC", unix.NOTE_EXEC}, - {"NOTE_EXIT", unix.NOTE_EXIT}, {"NOTE_EXTEND", unix.NOTE_EXTEND}, - {"NOTE_FORK", unix.NOTE_FORK}, {"NOTE_LINK", unix.NOTE_LINK}, - {"NOTE_LOWAT", unix.NOTE_LOWAT}, - {"NOTE_PCTRLMASK", unix.NOTE_PCTRLMASK}, - {"NOTE_PDATAMASK", unix.NOTE_PDATAMASK}, {"NOTE_RENAME", unix.NOTE_RENAME}, - {"NOTE_REVOKE", unix.NOTE_REVOKE}, - {"NOTE_TRACK", unix.NOTE_TRACK}, - {"NOTE_TRACKERR", unix.NOTE_TRACKERR}, {"NOTE_TRUNCATE", unix.NOTE_TRUNCATE}, {"NOTE_WRITE", unix.NOTE_WRITE}, } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/freebsd.go b/vendor/github.com/fsnotify/fsnotify/internal/freebsd.go index 5ac8b507..758a2490 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/freebsd.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/freebsd.go @@ -15,17 +15,6 @@ var ( var maxfiles uint64 -func SetRlimit() { - // Go 1.19 will do this automatically: https://go-review.googlesource.com/c/go/+/393354/ - var l syscall.Rlimit - err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &l) - if err == nil && l.Cur != l.Max { - l.Cur = l.Max - syscall.Setrlimit(syscall.RLIMIT_NOFILE, &l) - } - maxfiles = uint64(l.Cur) -} - func Maxfiles() uint64 { return maxfiles } func Mkfifo(path string, mode uint32) error { return unix.Mkfifo(path, mode) } func Mknod(path string, mode uint32, dev int) error { return unix.Mknod(path, mode, uint64(dev)) } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/unix.go b/vendor/github.com/fsnotify/fsnotify/internal/unix.go index b251fb80..9c66f5d3 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/unix.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/unix.go @@ -15,17 +15,6 @@ var ( var maxfiles uint64 -func SetRlimit() { - // Go 1.19 will do this automatically: https://go-review.googlesource.com/c/go/+/393354/ - var l syscall.Rlimit - err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &l) - if err == nil && l.Cur != l.Max { - l.Cur = l.Max - syscall.Setrlimit(syscall.RLIMIT_NOFILE, &l) - } - maxfiles = uint64(l.Cur) -} - func Maxfiles() uint64 { return maxfiles } func Mkfifo(path string, mode uint32) error { return unix.Mkfifo(path, mode) } func Mknod(path string, mode uint32, dev int) error { return unix.Mknod(path, mode, dev) } diff --git a/vendor/github.com/fsnotify/fsnotify/internal/unix2.go b/vendor/github.com/fsnotify/fsnotify/internal/unix2.go index 37dfeddc..b2d89592 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/unix2.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/unix2.go @@ -2,6 +2,24 @@ package internal +import "syscall" + func HasPrivilegesForSymlink() bool { return true } + +// IgnoringEINTR makes a function call and repeats it if it returns an +// EINTR error. This appears to be required even though we install all +// signal handlers with SA_RESTART: see #22838, #38033, #38836, #40846. +// Also #20400 and #36644 are issues in which a signal handler is +// installed without setting SA_RESTART. None of these are the common case, +// but there are enough of them that it seems that we can't avoid +// an EINTR loop. +func IgnoringEINTR[T any](fn func() (T, error)) (T, error) { + for { + v, err := fn() + if err != syscall.EINTR { + return v, err + } + } +} diff --git a/vendor/github.com/fsnotify/fsnotify/internal/windows.go b/vendor/github.com/fsnotify/fsnotify/internal/windows.go index 896bc2e5..e24d5692 100644 --- a/vendor/github.com/fsnotify/fsnotify/internal/windows.go +++ b/vendor/github.com/fsnotify/fsnotify/internal/windows.go @@ -14,7 +14,6 @@ var ( ErrUnixEACCES = errors.New("dummy") ) -func SetRlimit() {} func Maxfiles() uint64 { return 1<<64 - 1 } func Mkfifo(path string, mode uint32) error { return errors.New("no FIFOs on Windows") } func Mknod(path string, mode uint32, dev int) error { return errors.New("no device nodes on Windows") } diff --git a/vendor/github.com/gofrs/flock/.golangci.yml b/vendor/github.com/gofrs/flock/.golangci.yml index bc837b26..b35be7de 100644 --- a/vendor/github.com/gofrs/flock/.golangci.yml +++ b/vendor/github.com/gofrs/flock/.golangci.yml @@ -6,7 +6,9 @@ formatters: - goimports settings: gofumpt: - extra-rules: true + extra: + clothe-returns: true + group-params: true linters: enable: diff --git a/vendor/github.com/gofrs/flock/flock.go b/vendor/github.com/gofrs/flock/flock.go index 4cb0746a..156c4bf2 100644 --- a/vendor/github.com/gofrs/flock/flock.go +++ b/vendor/github.com/gofrs/flock/flock.go @@ -1,5 +1,5 @@ // Copyright 2015 Tim Heckman. All rights reserved. -// Copyright 2018-2025 The Gofrs. All rights reserved. +// Copyright 2018-2026 The Gofrs. All rights reserved. // Use of this source code is governed by the BSD 3-Clause // license that can be found in the LICENSE file. @@ -100,7 +100,7 @@ func (f *Flock) Close() error { return f.Unlock() } -// Path returns the path as provided in NewFlock(). +// Path returns the path as provided in New(). func (f *Flock) Path() string { return f.path } diff --git a/vendor/github.com/gofrs/flock/flock_others.go b/vendor/github.com/gofrs/flock/flock_others.go index 92d0f7e9..822ace0d 100644 --- a/vendor/github.com/gofrs/flock/flock_others.go +++ b/vendor/github.com/gofrs/flock/flock_others.go @@ -1,5 +1,5 @@ // Copyright 2015 Tim Heckman. All rights reserved. -// Copyright 2018-2025 The Gofrs. All rights reserved. +// Copyright 2018-2026 The Gofrs. All rights reserved. // Use of this source code is governed by the BSD 3-Clause // license that can be found in the LICENSE file. diff --git a/vendor/github.com/gofrs/flock/flock_unix.go b/vendor/github.com/gofrs/flock/flock_unix.go index 77de7a88..c486c5e6 100644 --- a/vendor/github.com/gofrs/flock/flock_unix.go +++ b/vendor/github.com/gofrs/flock/flock_unix.go @@ -1,5 +1,5 @@ // Copyright 2015 Tim Heckman. All rights reserved. -// Copyright 2018-2025 The Gofrs. All rights reserved. +// Copyright 2018-2026 The Gofrs. All rights reserved. // Use of this source code is governed by the BSD 3-Clause // license that can be found in the LICENSE file. diff --git a/vendor/github.com/gofrs/flock/flock_unix_fcntl.go b/vendor/github.com/gofrs/flock/flock_unix_fcntl.go index 05c2f88c..76a29fc0 100644 --- a/vendor/github.com/gofrs/flock/flock_unix_fcntl.go +++ b/vendor/github.com/gofrs/flock/flock_unix_fcntl.go @@ -1,5 +1,5 @@ // Copyright 2015 Tim Heckman. All rights reserved. -// Copyright 2018-2025 The Gofrs. All rights reserved. +// Copyright 2018-2026 The Gofrs. All rights reserved. // Use of this source code is governed by the BSD 3-Clause // license that can be found in the LICENSE file. diff --git a/vendor/github.com/gofrs/flock/flock_windows.go b/vendor/github.com/gofrs/flock/flock_windows.go index aa144f15..d9f9f883 100644 --- a/vendor/github.com/gofrs/flock/flock_windows.go +++ b/vendor/github.com/gofrs/flock/flock_windows.go @@ -1,5 +1,5 @@ // Copyright 2015 Tim Heckman. All rights reserved. -// Copyright 2018-2025 The Gofrs. All rights reserved. +// Copyright 2018-2026 The Gofrs. All rights reserved. // Use of this source code is governed by the BSD 3-Clause // license that can be found in the LICENSE file. diff --git a/vendor/github.com/gofrs/flock/zizmor.yml b/vendor/github.com/gofrs/flock/zizmor.yml new file mode 100644 index 00000000..39d1b180 --- /dev/null +++ b/vendor/github.com/gofrs/flock/zizmor.yml @@ -0,0 +1,3 @@ +rules: + secrets-outside-env: + disable: true diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md index 0e9f170d..bf31b905 100644 --- a/vendor/github.com/klauspost/compress/README.md +++ b/vendor/github.com/klauspost/compress/README.md @@ -6,7 +6,9 @@ This package provides various compression algorithms. * [S2](https://github.com/klauspost/compress/tree/master/s2#s2-compression) is a high performance replacement for Snappy. * Optimized [deflate](https://godoc.org/github.com/klauspost/compress/flate) packages which can be used as a dropin replacement for [gzip](https://godoc.org/github.com/klauspost/compress/gzip), [zip](https://godoc.org/github.com/klauspost/compress/zip) and [zlib](https://godoc.org/github.com/klauspost/compress/zlib). * [snappy](https://github.com/klauspost/compress/tree/master/snappy) is a drop-in replacement for `github.com/golang/snappy` offering better compression and concurrent streams. +* [lzw](https://github.com/klauspost/compress/tree/master/lzw) is a drop-in replacement for `compress/lzw` with 1.4-4x faster decompression and 1.1-2.7x faster compression, depending on the data. * [huff0](https://github.com/klauspost/compress/tree/master/huff0) and [FSE](https://github.com/klauspost/compress/tree/master/fse) implementations for raw entropy encoding. +* [Xpress](https://github.com/klauspost/compress/tree/master/xpress) decompression of the Microsoft XPRESS (MS-XCA) plain LZ77 and LZ77+Huffman formats (the LZ77+Huffman variant is the one used in WIM images and Windows Compact OS / WOF data). * [gzhttp](https://github.com/klauspost/compress/tree/master/gzhttp) Provides client and server wrappers for handling gzipped/zstd HTTP requests efficiently. * [pgzip](https://github.com/klauspost/pgzip) is a separate package that provides a very fast parallel gzip implementation. diff --git a/vendor/github.com/klauspost/compress/huff0/bitreader.go b/vendor/github.com/klauspost/compress/huff0/bitreader.go index bfc7a523..faaa418a 100644 --- a/vendor/github.com/klauspost/compress/huff0/bitreader.go +++ b/vendor/github.com/klauspost/compress/huff0/bitreader.go @@ -9,6 +9,7 @@ import ( "errors" "fmt" "io" + "math/bits" "github.com/klauspost/compress/internal/le" ) @@ -210,6 +211,68 @@ func (b *bitReaderShifted) remaining() uint { return b.off*8 + uint(64-b.bitsRead) } +// canUseAsm reports whether the reader has a full 8-byte window ahead of +// its read pointer, which the Decompress4X asm loops need to take over. +func (b *bitReaderShifted) canUseAsm() bool { + return b.off >= 8 +} + +// prepareForAsm establishes the invariant the Decompress4X asm loops rely +// on: value == load64(in[off:off+8]) << bitsRead with bitsRead <= 7, so +// that a full group of symbols can never shift their sentinel bit out of +// the container. init leaves bitsRead == 8 when the final byte of the +// stream is exactly 0x01; that whole byte is consumed, so the same position +// is the window one byte lower with nothing consumed. Requires canUseAsm. +func (b *bitReaderShifted) prepareForAsm() { + if b.bitsRead >= 8 { + b.off-- + b.value = le.Load64(b.in, b.off) + b.bitsRead -= 8 + } +} + +// restoreFromAsm converts the state left behind by the Decompress4X asm +// loops back to the invariant the Go code relies on: value holds the 8 +// bytes at in[off:off+8] shifted left by bitsRead, with the low bitsRead +// bits zero. +// +// The asm keeps a sentinel bit in value just below the unread bits, so its +// trailing zero count is the number of consumed bits. The sentinel is ORed +// over the lowest bit of the window, which the loop never consumes before +// re-reading memory, so the window is re-read here too rather than taken +// from value. The asm reports off as the signed distance from the start of +// the stream, and it can be negative: a reload always reads a whole 8-byte +// window, so a stream that is nearly drained ends with up to 7 bytes of the +// previous stream (or the jump table) below its start inside the window. +// Those bytes sit below the stream's own bits and count as consumed. +// Anything further below, or more bits consumed than the stream holds, is +// corruption. +func (b *bitReaderShifted) restoreFromAsm() error { + off := int(b.off) + consumed := uint(bits.TrailingZeros64(b.value)) + if off < 0 { + if off < -7 { + return errors.New("corruption detected: stream underrun") + } + consumed += uint(-off) * 8 + if consumed > 64 { + return errors.New("corruption detected: stream underrun") + } + off = 0 + } + if off+8 > len(b.in) { + return errors.New("corruption detected: stream overrun") + } + b.off = uint(off) + b.bitsRead = uint8(consumed) + if consumed >= 64 { + b.value = 0 + } else { + b.value = le.Load64(b.in, b.off) << consumed + } + return nil +} + // close the bitstream and returns an error if out-of-buffer reads occurred. func (b *bitReaderShifted) close() error { // Release reference. diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go index 7035d656..e651f30e 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go +++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go @@ -8,36 +8,99 @@ import ( ) // decompress4x_main_loop_amd64 is an x86 assembler implementation -// of Decompress4X when tablelog > 8. +// of Decompress4X when tablelog > 8, decoding fastSymbols symbols per +// stream between bit container reloads. // //go:noescape func decompress4x_main_loop_amd64(ctx *decompress4xContext) // decompress4x_8b_main_loop_amd64 is an x86 assembler implementation -// of Decompress4X when tablelog <= 8 which decodes 4 entries -// per loop. +// of Decompress4X when tablelog <= 8, decoding fast8bSymbols symbols +// per stream between bit container reloads. // //go:noescape func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext) +// decompress4x_4b_main_loop_amd64 is an x86 assembler implementation +// of Decompress4X when tablelog <= 4, decoding fast4bSymbols symbols +// per stream between bit container reloads. +// +//go:noescape +func decompress4x_4b_main_loop_amd64(ctx *decompress4xContext) + +// decompress4x_4b_main_loop_bmi2 is the BMI2 twin of decompress4x_4b_main_loop_amd64. +// +//go:noescape +func decompress4x_4b_main_loop_bmi2(ctx *decompress4xContext) + +// decompress4x_main_loop_bmi2 is the BMI2 twin of decompress4x_main_loop_amd64. +// +//go:noescape +func decompress4x_main_loop_bmi2(ctx *decompress4xContext) + +// decompress4x_8b_main_loop_bmi2 is the BMI2 twin of decompress4x_8b_main_loop_amd64. +// +//go:noescape +func decompress4x_8b_main_loop_bmi2(ctx *decompress4xContext) + // decompress1x_main_loop_amd64 is an x86 assembler implementation -// of Decompress1X when tablelog > 8. +// of Decompress1X when tablelog > 8, decoding fastSymbols symbols +// between bit container reloads. // //go:noescape func decompress1x_main_loop_amd64(ctx *decompress1xContext) -// decompress1x_main_loop_bmi2 is an x86 with BMI2 assembler implementation -// of Decompress1X when tablelog > 8. +// decompress1x_8b_main_loop_amd64 is an x86 assembler implementation +// of Decompress1X when tablelog <= 8, decoding fast8bSymbols symbols +// between bit container reloads. +// +//go:noescape +func decompress1x_8b_main_loop_amd64(ctx *decompress1xContext) + +// decompress1x_4b_main_loop_amd64 is an x86 assembler implementation +// of Decompress1X when tablelog <= 4, decoding fast4bSymbols symbols +// between bit container reloads. +// +//go:noescape +func decompress1x_4b_main_loop_amd64(ctx *decompress1xContext) + +// decompress1x_main_loop_bmi2 is the BMI2 twin of decompress1x_main_loop_amd64. // //go:noescape func decompress1x_main_loop_bmi2(ctx *decompress1xContext) +// decompress1x_8b_main_loop_bmi2 is the BMI2 twin of decompress1x_8b_main_loop_amd64. +// +//go:noescape +func decompress1x_8b_main_loop_bmi2(ctx *decompress1xContext) + +// decompress1x_4b_main_loop_bmi2 is the BMI2 twin of decompress1x_4b_main_loop_amd64. +// +//go:noescape +func decompress1x_4b_main_loop_bmi2(ctx *decompress1xContext) + func decompress4x_main_loop_asm(ctx *decompress4xContext) { - decompress4x_main_loop_amd64(ctx) + if cpuinfo.HasBMI2() { + decompress4x_main_loop_bmi2(ctx) + } else { + decompress4x_main_loop_amd64(ctx) + } } func decompress4x_8b_main_loop_asm(ctx *decompress4xContext) { - decompress4x_8b_main_loop_amd64(ctx) + if cpuinfo.HasBMI2() { + decompress4x_8b_main_loop_bmi2(ctx) + } else { + decompress4x_8b_main_loop_amd64(ctx) + } +} + +func decompress4x_4b_main_loop_asm(ctx *decompress4xContext) { + if cpuinfo.HasBMI2() { + decompress4x_4b_main_loop_bmi2(ctx) + } else { + decompress4x_4b_main_loop_amd64(ctx) + } } func decompress1x_main_loop_asm(ctx *decompress1xContext) { @@ -47,3 +110,19 @@ func decompress1x_main_loop_asm(ctx *decompress1xContext) { decompress1x_main_loop_amd64(ctx) } } + +func decompress1x_8b_main_loop_asm(ctx *decompress1xContext) { + if cpuinfo.HasBMI2() { + decompress1x_8b_main_loop_bmi2(ctx) + } else { + decompress1x_8b_main_loop_amd64(ctx) + } +} + +func decompress1x_4b_main_loop_asm(ctx *decompress1xContext) { + if cpuinfo.HasBMI2() { + decompress1x_4b_main_loop_bmi2(ctx) + } else { + decompress1x_4b_main_loop_amd64(ctx) + } +} diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s index c5d4a710..f072c18f 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s +++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s @@ -3,828 +3,3384 @@ //go:build !appengine && !noasm && gc // func decompress4x_main_loop_amd64(ctx *decompress4xContext) +// Requires: BMI, CMOV TEXT ·decompress4x_main_loop_amd64(SB), $0-8 - // Preload values - MOVQ ctx+0(FP), AX - MOVBQZX 8(AX), DI - MOVQ 16(AX), BX - MOVQ 48(AX), SI - MOVQ 24(AX), R8 - MOVQ 32(AX), R9 - MOVQ (AX), R10 - - // Main loop -main_loop: - XORL DX, DX - CMPQ BX, SI - SETGE DL - - // br0.fillFast32() - MOVQ 32(R10), R11 - MOVBQZX 40(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill0 - MOVQ 24(R10), AX - SUBQ $0x20, R12 - SUBQ $0x04, AX - MOVQ (R10), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (AX)(R13*1), R13 - MOVQ R12, CX - SHLQ CL, R13 - MOVQ AX, 24(R10) - ORQ R13, R11 - - // exhausted += (br0.off < 4) - CMPQ AX, $0x04 - ADCB $+0, DL - -skip_fill0: - // val0 := br0.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v0 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br0.advance(uint8(v0.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - - // val1 := br0.peekTopBits(peekBits) - MOVQ DI, CX - MOVQ R11, R13 - SHRQ CL, R13 - - // v1 := table[val1&mask] - MOVW (R9)(R13*2), CX - - // br0.advance(uint8(v1.entry)) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - MOVW AX, (BX) - - // update the bitreader structure - MOVQ R11, 32(R10) - MOVB R12, 40(R10) - - // br1.fillFast32() - MOVQ 80(R10), R11 - MOVBQZX 88(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill1 - MOVQ 72(R10), AX - SUBQ $0x20, R12 - SUBQ $0x04, AX - MOVQ 48(R10), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (AX)(R13*1), R13 - MOVQ R12, CX - SHLQ CL, R13 - MOVQ AX, 72(R10) - ORQ R13, R11 - - // exhausted += (br1.off < 4) - CMPQ AX, $0x04 - ADCB $+0, DL - -skip_fill1: - // val0 := br1.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v0 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br1.advance(uint8(v0.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - - // val1 := br1.peekTopBits(peekBits) - MOVQ DI, CX - MOVQ R11, R13 - SHRQ CL, R13 - - // v1 := table[val1&mask] - MOVW (R9)(R13*2), CX - - // br1.advance(uint8(v1.entry)) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - MOVW AX, (BX)(R8*1) - - // update the bitreader structure - MOVQ R11, 80(R10) - MOVB R12, 88(R10) - - // br2.fillFast32() - MOVQ 128(R10), R11 - MOVBQZX 136(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill2 - MOVQ 120(R10), AX - SUBQ $0x20, R12 - SUBQ $0x04, AX - MOVQ 96(R10), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (AX)(R13*1), R13 - MOVQ R12, CX - SHLQ CL, R13 - MOVQ AX, 120(R10) - ORQ R13, R11 - - // exhausted += (br2.off < 4) - CMPQ AX, $0x04 - ADCB $+0, DL - -skip_fill2: - // val0 := br2.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v0 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br2.advance(uint8(v0.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - - // val1 := br2.peekTopBits(peekBits) - MOVQ DI, CX - MOVQ R11, R13 - SHRQ CL, R13 - - // v1 := table[val1&mask] - MOVW (R9)(R13*2), CX - - // br2.advance(uint8(v1.entry)) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - MOVW AX, (BX)(R8*2) - - // update the bitreader structure - MOVQ R11, 128(R10) - MOVB R12, 136(R10) - - // br3.fillFast32() - MOVQ 176(R10), R11 - MOVBQZX 184(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill3 - MOVQ 168(R10), AX - SUBQ $0x20, R12 - SUBQ $0x04, AX - MOVQ 144(R10), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (AX)(R13*1), R13 - MOVQ R12, CX - SHLQ CL, R13 - MOVQ AX, 168(R10) - ORQ R13, R11 - - // exhausted += (br3.off < 4) - CMPQ AX, $0x04 - ADCB $+0, DL - -skip_fill3: - // val0 := br3.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v0 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br3.advance(uint8(v0.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 + MOVQ ctx+0(FP), AX - // val1 := br3.peekTopBits(peekBits) - MOVQ DI, CX - MOVQ R11, R13 - SHRQ CL, R13 - - // v1 := table[val1&mask] - MOVW (R9)(R13*2), CX - - // br3.advance(uint8(v1.entry)) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - LEAQ (R8)(R8*2), CX - MOVW AX, (BX)(CX*1) - - // update the bitreader structure - MOVQ R11, 176(R10) - MOVB R12, 184(R10) - ADDQ $0x02, BX - TESTB DL, DL - JZ main_loop - MOVQ ctx+0(FP), AX - SUBQ 16(AX), BX - SHLQ $0x02, BX - MOVQ BX, 40(AX) + // Preload values + MOVBQZX 8(AX), DX + MOVQ 32(AX), BX + MOVQ 16(AX), SI + MOVQ 24(AX), CX + LEAQ (SI)(CX*1), R8 + LEAQ (SI)(CX*2), R10 + LEAQ (CX)(CX*2), R12 + ADDQ SI, R12 + + // Convert each bit reader to sentinel form: bits = value | 1<> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - MOVL AX, (BX) - - // update the bitreader structure - MOVQ R11, 32(R10) - MOVB R12, 40(R10) - - // br1.fillFast32() - MOVQ 80(R10), R11 - MOVBQZX 88(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill1 - MOVQ 72(R10), R13 - SUBQ $0x20, R12 - SUBQ $0x04, R13 - MOVQ 48(R10), R14 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (R13)(R14*1), R14 - MOVQ R12, CX - SHLQ CL, R14 - MOVQ R13, 72(R10) - ORQ R14, R11 + TZCNTQ R13, R14 + MOVQ R14, CX + ANDQ $0x07, CX + SHRQ $0x03, R14 + MOVQ 88(AX), R13 + SUBQ R14, R13 + MOVQ R13, 88(AX) + MOVQ (R13), R13 + ORQ $0x01, R13 + SHLQ CL, R13 + ADDQ $0x0e, SI + ADDQ $0x0e, R8 + ADDQ $0x0e, R10 + ADDQ $0x0e, R12 + CMPQ SI, 96(AX) + JB inner_loop + JMP outer_loop + +done: + // Hand the state back: off = ip - in (negative when the window reached below the stream start), + // value = the sentinel-form container. bitReaderShifted.restoreFromAsm normalizes both. + MOVQ (AX), CX + MOVQ 64(AX), DX + SUBQ (CX), DX + MOVQ DX, 24(CX) + MOVQ DI, 32(CX) + MOVQ 72(AX), DX + SUBQ 48(CX), DX + MOVQ DX, 72(CX) + MOVQ R9, 80(CX) + MOVQ 80(AX), DX + SUBQ 96(CX), DX + MOVQ DX, 120(CX) + MOVQ R11, 128(CX) + MOVQ 88(AX), DX + SUBQ 144(CX), DX + MOVQ DX, 168(CX) + MOVQ R13, 176(CX) + SUBQ 16(AX), SI + SHLQ $0x02, SI + MOVQ SI, 40(AX) + RET - // exhausted += (br1.off < 4) - CMPQ R13, $0x04 - ADCB $+0, DL +// func decompress4x_main_loop_bmi2(ctx *decompress4xContext) +// Requires: BMI, BMI2, CMOV +TEXT ·decompress4x_main_loop_bmi2(SB), $0-8 + MOVQ ctx+0(FP), AX -skip_fill1: - // val0 := br1.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 + // Preload values + MOVBQZX 8(AX), CX + MOVQ 32(AX), DX + MOVQ 16(AX), BX + MOVQ 24(AX), SI + LEAQ (BX)(SI*1), DI + LEAQ (BX)(SI*2), R9 + LEAQ (SI)(SI*2), R11 + ADDQ BX, R11 + + // Convert each bit reader to sentinel form: bits = value | 1<> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - MOVL AX, (BX)(R8*1) - - // update the bitreader structure - MOVQ R11, 80(R10) - MOVB R12, 88(R10) - - // br2.fillFast32() - MOVQ 128(R10), R11 - MOVBQZX 136(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill2 - MOVQ 120(R10), R13 - SUBQ $0x20, R12 - SUBQ $0x04, R13 - MOVQ 96(R10), R14 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (R13)(R14*1), R14 - MOVQ R12, CX + ANDQ $0x38, R13 + MOVQ -8(R8), R14 + SHRQ $0x01, R14 + ANDQ $0x07, R11 + MOVQ R13, CX + XORQ $0x3f, CX + SHRQ CL, R14 + MOVQ R11, CX SHLQ CL, R14 - MOVQ R13, 120(R10) - ORQ R14, R11 - - // exhausted += (br2.off < 4) - CMPQ R13, $0x04 - ADCB $+0, DL - -skip_fill2: - // val0 := br2.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v0 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br2.advance(uint8(v0.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - - // val1 := br2.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v1 := table[val0&mask] - MOVW (R9)(R13*2), CX + ORQ R14, R10 + SHRQ $0x03, R13 + SUBQ R13, R8 + ADDQ $0x05, SI + CMPQ SI, R12 + JB inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVQ (AX), CX + SUBQ (CX), R8 + MOVQ R8, 24(CX) + MOVQ R10, 32(CX) + MOVB R11, 40(CX) + SUBQ 16(AX), SI + MOVQ SI, 40(AX) + RET - // br2.advance(uint8(v1.entry) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 - BSWAPL AX +// func decompress1x_8b_main_loop_amd64(ctx *decompress1xContext) +// Requires: CMOV +TEXT ·decompress1x_8b_main_loop_amd64(SB), $0-8 + MOVQ ctx+0(FP), AX - // val2 := br2.peekTopBits(peekBits) - MOVQ R11, R13 + // Preload values + MOVBQZX 8(AX), DX + MOVQ 32(AX), BX + MOVQ 16(AX), SI + MOVQ 24(AX), DI + ADDQ SI, DI + MOVQ 56(AX), R8 + MOVQ 48(AX), R9 + MOVQ (AX), CX + MOVQ 32(CX), R10 + MOVBQZX 40(CX), R11 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 8 MOVQ DI, CX - SHRQ CL, R13 - - // v2 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br2.advance(uint8(v2.entry) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 + SUBQ SI, CX + JLE done + SHRQ $0x03, CX + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVQ R8, R12 + SUBQ R9, R12 + SHRQ $0x03, R12 + CMPQ R12, CX + CMOVQCS R12, CX + TESTQ CX, CX + JZ done + IMUL3Q $0x07, CX, R12 + ADDQ SI, R12 + +inner_loop: + // symbol 0 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, (SI) + + // symbol 1 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 1(SI) + + // symbol 2 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 2(SI) + + // symbol 3 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 3(SI) + + // symbol 4 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 4(SI) + + // symbol 5 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 5(SI) + + // symbol 6 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 6(SI) - // val3 := br2.peekTopBits(peekBits) + // Refill the whole bytes consumed from below the window MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v3 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br2.advance(uint8(v3.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - BSWAPL AX - - // these four writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - MOVL AX, (BX)(R8*2) - - // update the bitreader structure - MOVQ R11, 128(R10) - MOVB R12, 136(R10) - - // br3.fillFast32() - MOVQ 176(R10), R11 - MOVBQZX 184(R10), R12 - CMPQ R12, $0x20 - JBE skip_fill3 - MOVQ 168(R10), R13 - SUBQ $0x20, R12 - SUBQ $0x04, R13 - MOVQ 144(R10), R14 - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVL (R13)(R14*1), R14 - MOVQ R12, CX + ANDQ $0x38, R13 + MOVQ -8(R8), R14 + SHRQ $0x01, R14 + ANDQ $0x07, R11 + MOVQ R13, CX + XORQ $0x3f, CX + SHRQ CL, R14 + MOVQ R11, CX SHLQ CL, R14 - MOVQ R13, 168(R10) - ORQ R14, R11 - - // exhausted += (br3.off < 4) - CMPQ R13, $0x04 - ADCB $+0, DL - -skip_fill3: - // val0 := br3.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v0 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br3.advance(uint8(v0.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - - // val1 := br3.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v1 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br3.advance(uint8(v1.entry) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 - BSWAPL AX - - // val2 := br3.peekTopBits(peekBits) - MOVQ R11, R13 - MOVQ DI, CX - SHRQ CL, R13 - - // v2 := table[val0&mask] - MOVW (R9)(R13*2), CX + ORQ R14, R10 + SHRQ $0x03, R13 + SUBQ R13, R8 + ADDQ $0x07, SI + CMPQ SI, R12 + JB inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVQ (AX), CX + SUBQ (CX), R8 + MOVQ R8, 24(CX) + MOVQ R10, 32(CX) + MOVB R11, 40(CX) + SUBQ 16(AX), SI + MOVQ SI, 40(AX) + RET - // br3.advance(uint8(v2.entry) - MOVB CH, AH - SHLQ CL, R11 - ADDB CL, R12 +// func decompress1x_4b_main_loop_amd64(ctx *decompress1xContext) +// Requires: CMOV +TEXT ·decompress1x_4b_main_loop_amd64(SB), $0-8 + MOVQ ctx+0(FP), AX - // val3 := br3.peekTopBits(peekBits) - MOVQ R11, R13 + // Preload values + MOVBQZX 8(AX), DX + MOVQ 32(AX), BX + MOVQ 16(AX), SI + MOVQ 24(AX), DI + ADDQ SI, DI + MOVQ 56(AX), R8 + MOVQ 48(AX), R9 + MOVQ (AX), CX + MOVQ 32(CX), R10 + MOVBQZX 40(CX), R11 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 16 MOVQ DI, CX - SHRQ CL, R13 - - // v3 := table[val0&mask] - MOVW (R9)(R13*2), CX - - // br3.advance(uint8(v3.entry) - MOVB CH, AL - SHLQ CL, R11 - ADDB CL, R12 - BSWAPL AX - - // these four writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - LEAQ (R8)(R8*2), CX - MOVL AX, (BX)(CX*1) - - // update the bitreader structure - MOVQ R11, 176(R10) - MOVB R12, 184(R10) - ADDQ $0x04, BX - TESTB DL, DL - JZ main_loop - MOVQ ctx+0(FP), AX - SUBQ 16(AX), BX - SHLQ $0x02, BX - MOVQ BX, 40(AX) - RET - -// func decompress1x_main_loop_amd64(ctx *decompress1xContext) -TEXT ·decompress1x_main_loop_amd64(SB), $0-8 - MOVQ ctx+0(FP), CX - MOVQ 16(CX), DX - MOVQ 24(CX), BX - CMPQ BX, $0x04 - JB error_max_decoded_size_exceeded - LEAQ (DX)(BX*1), BX - MOVQ (CX), SI - MOVQ (SI), R8 - MOVQ 24(SI), R9 - MOVQ 32(SI), R10 - MOVBQZX 40(SI), R11 - MOVQ 32(CX), SI - MOVBQZX 8(CX), DI - JMP loop_condition - -main_loop: - // Check if we have room for 4 bytes in the output buffer - LEAQ 4(DX), CX - CMPQ CX, BX - JGE error_max_decoded_size_exceeded - - // Decode 4 values - CMPQ R11, $0x20 - JL bitReader_fillFast_1_end - SUBQ $0x20, R11 - SUBQ $0x04, R9 - MOVL (R8)(R9*1), R12 - MOVQ R11, CX - SHLQ CL, R12 - ORQ R12, R10 - -bitReader_fillFast_1_end: - MOVQ DI, CX - MOVQ R10, R12 - SHRQ CL, R12 - MOVW (SI)(R12*2), CX - MOVB CH, AL - MOVBQZX CL, CX + SUBQ SI, CX + JLE done + SHRQ $0x04, CX + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVQ R8, R12 + SUBQ R9, R12 + SHRQ $0x03, R12 + CMPQ R12, CX + CMOVQCS R12, CX + TESTQ CX, CX + JZ done + IMUL3Q $0x0e, CX, R12 + ADDQ SI, R12 + +inner_loop: + // symbol 0 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, (SI) + + // symbol 1 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX SHLQ CL, R10 - MOVQ DI, CX - MOVQ R10, R12 - SHRQ CL, R12 - MOVW (SI)(R12*2), CX - MOVB CH, AH - MOVBQZX CL, CX ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 1(SI) + + // symbol 2 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX SHLQ CL, R10 - BSWAPL AX - CMPQ R11, $0x20 - JL bitReader_fillFast_2_end - SUBQ $0x20, R11 - SUBQ $0x04, R9 - MOVL (R8)(R9*1), R12 - MOVQ R11, CX - SHLQ CL, R12 - ORQ R12, R10 - -bitReader_fillFast_2_end: - MOVQ DI, CX - MOVQ R10, R12 - SHRQ CL, R12 - MOVW (SI)(R12*2), CX - MOVB CH, AH - MOVBQZX CL, CX ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 2(SI) + + // symbol 3 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX SHLQ CL, R10 - MOVQ DI, CX - MOVQ R10, R12 - SHRQ CL, R12 - MOVW (SI)(R12*2), CX - MOVB CH, AL - MOVBQZX CL, CX ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 3(SI) + + // symbol 4 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 4(SI) + + // symbol 5 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 5(SI) + + // symbol 6 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 6(SI) + + // symbol 7 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 7(SI) + + // symbol 8 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 8(SI) + + // symbol 9 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX SHLQ CL, R10 - BSWAPL AX - - // Store the decoded values - MOVL AX, (DX) - ADDQ $0x04, DX - -loop_condition: - CMPQ R9, $0x08 - JGE main_loop - - // Update ctx structure - MOVQ ctx+0(FP), AX - SUBQ 16(AX), DX - MOVQ DX, 40(AX) - MOVQ (AX), AX - MOVQ R9, 24(AX) - MOVQ R10, 32(AX) - MOVB R11, 40(AX) - RET - - // Report error -error_max_decoded_size_exceeded: - MOVQ ctx+0(FP), AX - MOVQ $-1, CX - MOVQ CX, 40(AX) - RET - -// func decompress1x_main_loop_bmi2(ctx *decompress1xContext) -// Requires: BMI2 -TEXT ·decompress1x_main_loop_bmi2(SB), $0-8 - MOVQ ctx+0(FP), CX - MOVQ 16(CX), DX - MOVQ 24(CX), BX - CMPQ BX, $0x04 - JB error_max_decoded_size_exceeded - LEAQ (DX)(BX*1), BX - MOVQ (CX), SI - MOVQ (SI), R8 - MOVQ 24(SI), R9 - MOVQ 32(SI), R10 - MOVBQZX 40(SI), R11 - MOVQ 32(CX), SI - MOVBQZX 8(CX), DI - JMP loop_condition - -main_loop: - // Check if we have room for 4 bytes in the output buffer - LEAQ 4(DX), CX - CMPQ CX, BX - JGE error_max_decoded_size_exceeded - - // Decode 4 values - CMPQ R11, $0x20 - JL bitReader_fillFast_1_end - SUBQ $0x20, R11 - SUBQ $0x04, R9 - MOVL (R8)(R9*1), CX - SHLXQ R11, CX, CX - ORQ CX, R10 - -bitReader_fillFast_1_end: - SHRXQ DI, R10, CX - MOVW (SI)(CX*2), CX - MOVB CH, AL - MOVBQZX CL, CX ADDQ CX, R11 - SHLXQ CX, R10, R10 - SHRXQ DI, R10, CX - MOVW (SI)(CX*2), CX - MOVB CH, AH - MOVBQZX CL, CX + SHRQ $0x08, CX + MOVB CL, 9(SI) + + // symbol 10 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 ADDQ CX, R11 - SHLXQ CX, R10, R10 - BSWAPL AX - CMPQ R11, $0x20 - JL bitReader_fillFast_2_end - SUBQ $0x20, R11 - SUBQ $0x04, R9 - MOVL (R8)(R9*1), CX - SHLXQ R11, CX, CX - ORQ CX, R10 - -bitReader_fillFast_2_end: - SHRXQ DI, R10, CX - MOVW (SI)(CX*2), CX - MOVB CH, AH - MOVBQZX CL, CX + SHRQ $0x08, CX + MOVB CL, 10(SI) + + // symbol 11 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 ADDQ CX, R11 - SHLXQ CX, R10, R10 - SHRXQ DI, R10, CX - MOVW (SI)(CX*2), CX - MOVB CH, AL - MOVBQZX CL, CX + SHRQ $0x08, CX + MOVB CL, 11(SI) + + // symbol 12 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 ADDQ CX, R11 - SHLXQ CX, R10, R10 - BSWAPL AX + SHRQ $0x08, CX + MOVB CL, 12(SI) + + // symbol 13 + MOVQ DX, CX + MOVQ R10, R13 + SHRQ CL, R13 + MOVWQZX (BX)(R13*2), CX + SHLQ CL, R10 + ADDQ CX, R11 + SHRQ $0x08, CX + MOVB CL, 13(SI) - // Store the decoded values - MOVL AX, (DX) - ADDQ $0x04, DX + // Refill the whole bytes consumed from below the window + MOVQ R11, R13 + ANDQ $0x38, R13 + MOVQ -8(R8), R14 + SHRQ $0x01, R14 + ANDQ $0x07, R11 + MOVQ R13, CX + XORQ $0x3f, CX + SHRQ CL, R14 + MOVQ R11, CX + SHLQ CL, R14 + ORQ R14, R10 + SHRQ $0x03, R13 + SUBQ R13, R8 + ADDQ $0x0e, SI + CMPQ SI, R12 + JB inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVQ (AX), CX + SUBQ (CX), R8 + MOVQ R8, 24(CX) + MOVQ R10, 32(CX) + MOVB R11, 40(CX) + SUBQ 16(AX), SI + MOVQ SI, 40(AX) + RET + +// func decompress1x_main_loop_bmi2(ctx *decompress1xContext) +// Requires: BMI2, CMOV +TEXT ·decompress1x_main_loop_bmi2(SB), $0-8 + MOVQ ctx+0(FP), AX -loop_condition: - CMPQ R9, $0x08 - JGE main_loop + // Preload values + MOVBQZX 8(AX), CX + MOVQ 32(AX), DX + MOVQ 16(AX), BX + MOVQ 24(AX), SI + ADDQ BX, SI + MOVQ 56(AX), DI + MOVQ 48(AX), R8 + MOVQ (AX), R10 + MOVQ 32(R10), R9 + MOVBQZX 40(R10), R10 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 8 + MOVQ SI, R11 + SUBQ BX, R11 + JLE done + SHRQ $0x03, R11 + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVQ DI, R12 + SUBQ R8, R12 + SHRQ $0x03, R12 + CMPQ R12, R11 + CMOVQCS R12, R11 + TESTQ R11, R11 + JZ done + IMUL3Q $0x05, R11, R11 + ADDQ BX, R11 + +inner_loop: + // symbol 0 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, (BX) + + // symbol 1 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 1(BX) + + // symbol 2 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 2(BX) + + // symbol 3 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 3(BX) + + // symbol 4 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 4(BX) + + // Refill the whole bytes consumed from below the window + MOVQ R10, R12 + ANDQ $0x38, R12 + MOVQ -8(DI), R13 + SHRQ $0x01, R13 + ANDQ $0x07, R10 + MOVQ R12, R14 + XORQ $0x3f, R14 + SHRXQ R14, R13, R13 + SHLXQ R10, R13, R13 + ORQ R13, R9 + SHRQ $0x03, R12 + SUBQ R12, DI + ADDQ $0x05, BX + CMPQ BX, R11 + JB inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVQ (AX), CX + SUBQ (CX), DI + MOVQ DI, 24(CX) + MOVQ R9, 32(CX) + MOVB R10, 40(CX) + SUBQ 16(AX), BX + MOVQ BX, 40(AX) + RET - // Update ctx structure +// func decompress1x_8b_main_loop_bmi2(ctx *decompress1xContext) +// Requires: BMI2, CMOV +TEXT ·decompress1x_8b_main_loop_bmi2(SB), $0-8 MOVQ ctx+0(FP), AX - SUBQ 16(AX), DX - MOVQ DX, 40(AX) - MOVQ (AX), AX - MOVQ R9, 24(AX) - MOVQ R10, 32(AX) - MOVB R11, 40(AX) + + // Preload values + MOVBQZX 8(AX), CX + MOVQ 32(AX), DX + MOVQ 16(AX), BX + MOVQ 24(AX), SI + ADDQ BX, SI + MOVQ 56(AX), DI + MOVQ 48(AX), R8 + MOVQ (AX), R10 + MOVQ 32(R10), R9 + MOVBQZX 40(R10), R10 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 8 + MOVQ SI, R11 + SUBQ BX, R11 + JLE done + SHRQ $0x03, R11 + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVQ DI, R12 + SUBQ R8, R12 + SHRQ $0x03, R12 + CMPQ R12, R11 + CMOVQCS R12, R11 + TESTQ R11, R11 + JZ done + IMUL3Q $0x07, R11, R11 + ADDQ BX, R11 + +inner_loop: + // symbol 0 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, (BX) + + // symbol 1 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 1(BX) + + // symbol 2 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 2(BX) + + // symbol 3 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 3(BX) + + // symbol 4 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 4(BX) + + // symbol 5 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 5(BX) + + // symbol 6 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 6(BX) + + // Refill the whole bytes consumed from below the window + MOVQ R10, R12 + ANDQ $0x38, R12 + MOVQ -8(DI), R13 + SHRQ $0x01, R13 + ANDQ $0x07, R10 + MOVQ R12, R14 + XORQ $0x3f, R14 + SHRXQ R14, R13, R13 + SHLXQ R10, R13, R13 + ORQ R13, R9 + SHRQ $0x03, R12 + SUBQ R12, DI + ADDQ $0x07, BX + CMPQ BX, R11 + JB inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVQ (AX), CX + SUBQ (CX), DI + MOVQ DI, 24(CX) + MOVQ R9, 32(CX) + MOVB R10, 40(CX) + SUBQ 16(AX), BX + MOVQ BX, 40(AX) RET - // Report error -error_max_decoded_size_exceeded: +// func decompress1x_4b_main_loop_bmi2(ctx *decompress1xContext) +// Requires: BMI2, CMOV +TEXT ·decompress1x_4b_main_loop_bmi2(SB), $0-8 MOVQ ctx+0(FP), AX - MOVQ $-1, CX - MOVQ CX, 40(AX) + + // Preload values + MOVBQZX 8(AX), CX + MOVQ 32(AX), DX + MOVQ 16(AX), BX + MOVQ 24(AX), SI + ADDQ BX, SI + MOVQ 56(AX), DI + MOVQ 48(AX), R8 + MOVQ (AX), R10 + MOVQ 32(R10), R9 + MOVBQZX 40(R10), R10 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 16 + MOVQ SI, R11 + SUBQ BX, R11 + JLE done + SHRQ $0x04, R11 + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVQ DI, R12 + SUBQ R8, R12 + SHRQ $0x03, R12 + CMPQ R12, R11 + CMOVQCS R12, R11 + TESTQ R11, R11 + JZ done + IMUL3Q $0x0e, R11, R11 + ADDQ BX, R11 + +inner_loop: + // symbol 0 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, (BX) + + // symbol 1 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 1(BX) + + // symbol 2 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 2(BX) + + // symbol 3 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 3(BX) + + // symbol 4 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 4(BX) + + // symbol 5 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 5(BX) + + // symbol 6 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 6(BX) + + // symbol 7 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 7(BX) + + // symbol 8 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 8(BX) + + // symbol 9 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 9(BX) + + // symbol 10 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 10(BX) + + // symbol 11 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 11(BX) + + // symbol 12 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 12(BX) + + // symbol 13 + SHRXQ CX, R9, R12 + MOVWQZX (DX)(R12*2), R12 + SHLXQ R12, R9, R9 + ADDQ R12, R10 + SHRQ $0x08, R12 + MOVB R12, 13(BX) + + // Refill the whole bytes consumed from below the window + MOVQ R10, R12 + ANDQ $0x38, R12 + MOVQ -8(DI), R13 + SHRQ $0x01, R13 + ANDQ $0x07, R10 + MOVQ R12, R14 + XORQ $0x3f, R14 + SHRXQ R14, R13, R13 + SHLXQ R10, R13, R13 + ORQ R13, R9 + SHRQ $0x03, R12 + SUBQ R12, DI + ADDQ $0x0e, BX + CMPQ BX, R11 + JB inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVQ (AX), CX + SUBQ (CX), DI + MOVQ DI, 24(CX) + MOVQ R9, 32(CX) + MOVB R10, 40(CX) + SUBQ 16(AX), BX + MOVQ BX, 40(AX) RET diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_arm64.go b/vendor/github.com/klauspost/compress/huff0/decompress_arm64.go index 8ba3c810..d1988ad5 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_arm64.go +++ b/vendor/github.com/klauspost/compress/huff0/decompress_arm64.go @@ -6,24 +6,47 @@ package huff0 // decompress4x_main_loop_arm64 is an arm64 assembler implementation -// of Decompress4X when tablelog > 8. +// of Decompress4X when tablelog > 8, decoding fastSymbols symbols per +// stream between bit container reloads. // //go:noescape func decompress4x_main_loop_arm64(ctx *decompress4xContext) // decompress4x_8b_main_loop_arm64 is an arm64 assembler implementation -// of Decompress4X when tablelog <= 8 which decodes 4 entries -// per loop. +// of Decompress4X when tablelog <= 8, decoding fast8bSymbols symbols +// per stream between bit container reloads. // //go:noescape func decompress4x_8b_main_loop_arm64(ctx *decompress4xContext) +// decompress4x_4b_main_loop_arm64 is an arm64 assembler implementation +// of Decompress4X when tablelog <= 4, decoding fast4bSymbols symbols +// per stream between bit container reloads. +// +//go:noescape +func decompress4x_4b_main_loop_arm64(ctx *decompress4xContext) + // decompress1x_main_loop_arm64 is an arm64 assembler implementation -// of Decompress1X when tablelog > 8. +// of Decompress1X when tablelog > 8, decoding fastSymbols symbols +// between bit container reloads. // //go:noescape func decompress1x_main_loop_arm64(ctx *decompress1xContext) +// decompress1x_8b_main_loop_arm64 is an arm64 assembler implementation +// of Decompress1X when tablelog <= 8, decoding fast8bSymbols symbols +// between bit container reloads. +// +//go:noescape +func decompress1x_8b_main_loop_arm64(ctx *decompress1xContext) + +// decompress1x_4b_main_loop_arm64 is an arm64 assembler implementation +// of Decompress1X when tablelog <= 4, decoding fast4bSymbols symbols +// between bit container reloads. +// +//go:noescape +func decompress1x_4b_main_loop_arm64(ctx *decompress1xContext) + func decompress4x_main_loop_asm(ctx *decompress4xContext) { decompress4x_main_loop_arm64(ctx) } @@ -32,6 +55,18 @@ func decompress4x_8b_main_loop_asm(ctx *decompress4xContext) { decompress4x_8b_main_loop_arm64(ctx) } +func decompress4x_4b_main_loop_asm(ctx *decompress4xContext) { + decompress4x_4b_main_loop_arm64(ctx) +} + func decompress1x_main_loop_asm(ctx *decompress1xContext) { decompress1x_main_loop_arm64(ctx) } + +func decompress1x_8b_main_loop_asm(ctx *decompress1xContext) { + decompress1x_8b_main_loop_arm64(ctx) +} + +func decompress1x_4b_main_loop_asm(ctx *decompress1xContext) { + decompress1x_4b_main_loop_arm64(ctx) +} diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_arm64.s b/vendor/github.com/klauspost/compress/huff0/decompress_arm64.s index e1601272..971b8eb8 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_arm64.s +++ b/vendor/github.com/klauspost/compress/huff0/decompress_arm64.s @@ -1,851 +1,1657 @@ // Code generated by command: go run gen.go -out ../decompress.s -arch amd64,arm64 -pkg=huff0. DO NOT EDIT. // EXPERIMENTAL arm64 output lowered from an amd64 avo program. -//go:build arm64 && !appengine && !noasm && gc +//go:build arm64 && (!appengine && !noasm && gc) // func decompress4x_main_loop_amd64(ctx *decompress4xContext) +// Requires: BMI, CMOV TEXT ·decompress4x_main_loop_arm64(SB), $0-8 + MOVD ctx+0(FP), R0 + // Preload values - MOVD ctx+0(FP), R0 - MOVBU 8(R0), R6 - MOVD 16(R0), R3 - MOVD 48(R0), R5 - MOVD 24(R0), R7 - MOVD 32(R0), R8 - MOVD (R0), R9 - - // Main loop -main_loop: - MOVD $0, R2 - CMP R5, R3 - CSET GE, R16 - BFI $0, R16, $8, R2 - - // br0.fillFast32() - MOVD 32(R9), R10 - MOVBU 40(R9), R11 - CMP $0x20, R11 - BLS skip_fill0 - MOVD 24(R9), R0 - SUB $0x20, R11, R11 - SUB $0x04, R0, R0 - MOVD (R9), R12 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R12, R0, R15 - MOVWU (R15), R12 - MOVD R11, R1 + MOVBU 8(R0), R2 + MOVD 32(R0), R3 + MOVD 16(R0), R5 + MOVD 24(R0), R1 + ADD R1, R5, R7 + ADD R1<<1, R5, R9 + ADD R1<<1, R1, R11 + ADD R5, R11, R11 + + // Convert each bit reader to sentinel form: bits = value | 1<> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - MOVH R0, (R3) - - // update the bitreader structure - MOVD R10, 32(R9) - MOVB R11, 40(R9) - - // br1.fillFast32() - MOVD 80(R9), R10 - MOVBU 88(R9), R11 - CMP $0x20, R11 - BLS skip_fill1 - MOVD 72(R9), R0 - SUB $0x20, R11, R11 - SUB $0x04, R0, R0 - MOVD 48(R9), R12 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R12, R0, R15 - MOVWU (R15), R12 - MOVD R11, R1 + LSR $0x08, R1, R1 + MOVB R1, (R11) + + // stream 0, symbol 1 + LSR R2, R6, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R6, R6 + LSR $0x08, R1, R1 + MOVB R1, 1(R5) + + // stream 1, symbol 1 + LSR R2, R8, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R8, R8 + LSR $0x08, R1, R1 + MOVB R1, 1(R7) + + // stream 2, symbol 1 + LSR R2, R10, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 1(R9) + + // stream 3, symbol 1 + LSR R2, R12, R13 + MOVHU (R3)(R13<<1), R1 LSL R1, R12, R12 - MOVD R0, 72(R9) - ORR R12, R10, R10 - - // exhausted += (br1.off < 4) - CMP $0x04, R0 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill1: - // val0 := br1.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br1.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // val1 := br1.peekTopBits(peekBits) - MOVD R6, R1 - MOVD R10, R12 - LSR R1, R12, R12 - - // v1 := table[val1&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br1.advance(uint8(v1.entry)) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - ADD R7, R3, R15 - MOVH R0, (R15) - - // update the bitreader structure - MOVD R10, 80(R9) - MOVB R11, 88(R9) - - // br2.fillFast32() - MOVD 128(R9), R10 - MOVBU 136(R9), R11 - CMP $0x20, R11 - BLS skip_fill2 - MOVD 120(R9), R0 - SUB $0x20, R11, R11 - SUB $0x04, R0, R0 - MOVD 96(R9), R12 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R12, R0, R15 - MOVWU (R15), R12 - MOVD R11, R1 + LSR $0x08, R1, R1 + MOVB R1, 1(R11) + + // stream 0, symbol 2 + LSR R2, R6, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R6, R6 + LSR $0x08, R1, R1 + MOVB R1, 2(R5) + + // stream 1, symbol 2 + LSR R2, R8, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R8, R8 + LSR $0x08, R1, R1 + MOVB R1, 2(R7) + + // stream 2, symbol 2 + LSR R2, R10, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 2(R9) + + // stream 3, symbol 2 + LSR R2, R12, R13 + MOVHU (R3)(R13<<1), R1 LSL R1, R12, R12 - MOVD R0, 120(R9) - ORR R12, R10, R10 - - // exhausted += (br2.off < 4) - CMP $0x04, R0 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill2: - // val0 := br2.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br2.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // val1 := br2.peekTopBits(peekBits) - MOVD R6, R1 - MOVD R10, R12 - LSR R1, R12, R12 - - // v1 := table[val1&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br2.advance(uint8(v1.entry)) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - ADD R7<<1, R3, R15 - MOVH R0, (R15) - - // update the bitreader structure - MOVD R10, 128(R9) - MOVB R11, 136(R9) - - // br3.fillFast32() - MOVD 176(R9), R10 - MOVBU 184(R9), R11 - CMP $0x20, R11 - BLS skip_fill3 - MOVD 168(R9), R0 - SUB $0x20, R11, R11 - SUB $0x04, R0, R0 - MOVD 144(R9), R12 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R12, R0, R15 - MOVWU (R15), R12 - MOVD R11, R1 + LSR $0x08, R1, R1 + MOVB R1, 2(R11) + + // stream 0, symbol 3 + LSR R2, R6, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R6, R6 + LSR $0x08, R1, R1 + MOVB R1, 3(R5) + + // stream 1, symbol 3 + LSR R2, R8, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R8, R8 + LSR $0x08, R1, R1 + MOVB R1, 3(R7) + + // stream 2, symbol 3 + LSR R2, R10, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 3(R9) + + // stream 3, symbol 3 + LSR R2, R12, R13 + MOVHU (R3)(R13<<1), R1 LSL R1, R12, R12 - MOVD R0, 168(R9) - ORR R12, R10, R10 - - // exhausted += (br3.off < 4) - CMP $0x04, R0 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill3: - // val0 := br3.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br3.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // val1 := br3.peekTopBits(peekBits) - MOVD R6, R1 - MOVD R10, R12 - LSR R1, R12, R12 - - // v1 := table[val1&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br3.advance(uint8(v1.entry)) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 + LSR $0x08, R1, R1 + MOVB R1, 3(R11) + + // stream 0, symbol 4 + LSR R2, R6, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R6, R6 + LSR $0x08, R1, R1 + MOVB R1, 4(R5) + + // stream 1, symbol 4 + LSR R2, R8, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R8, R8 + LSR $0x08, R1, R1 + MOVB R1, 4(R7) + + // stream 2, symbol 4 + LSR R2, R10, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 4(R9) + + // stream 3, symbol 4 + LSR R2, R12, R13 + MOVHU (R3)(R13<<1), R1 + LSL R1, R12, R12 + LSR $0x08, R1, R1 + MOVB R1, 4(R11) + + // Reload the four bit containers + RBIT R6, R13 + CLZ R13, R13 + MOVD R13, R1 + AND $0x07, R1, R1 + LSR $0x03, R13, R13 + MOVD 64(R0), R6 + SUB R13, R6, R6 + MOVD R6, 64(R0) + MOVD (R6), R6 + ORR $0x01, R6, R6 + LSL R1, R6, R6 + RBIT R8, R13 + CLZ R13, R13 + MOVD R13, R1 + AND $0x07, R1, R1 + LSR $0x03, R13, R13 + MOVD 72(R0), R8 + SUB R13, R8, R8 + MOVD R8, 72(R0) + MOVD (R8), R8 + ORR $0x01, R8, R8 + LSL R1, R8, R8 + RBIT R10, R13 + CLZ R13, R13 + MOVD R13, R1 + AND $0x07, R1, R1 + LSR $0x03, R13, R13 + MOVD 80(R0), R10 + SUB R13, R10, R10 + MOVD R10, 80(R0) + MOVD (R10), R10 + ORR $0x01, R10, R10 LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // these two writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - ADD R7<<1, R7, R1 - ADD R1, R3, R15 - MOVH R0, (R15) - - // update the bitreader structure - MOVD R10, 176(R9) - MOVB R11, 184(R9) - ADD $0x02, R3, R3 - AND $0xff, R2, R15 - AND $0xff, R2, R16 - TST R16, R15 - BEQ main_loop - MOVD ctx+0(FP), R0 + RBIT R12, R13 + CLZ R13, R13 + MOVD R13, R1 + AND $0x07, R1, R1 + LSR $0x03, R13, R13 + MOVD 88(R0), R12 + SUB R13, R12, R12 + MOVD R12, 88(R0) + MOVD (R12), R12 + ORR $0x01, R12, R12 + LSL R1, R12, R12 + ADD $0x05, R5, R5 + ADD $0x05, R7, R7 + ADD $0x05, R9, R9 + ADD $0x05, R11, R11 + MOVD 96(R0), R16 + CMP R16, R5 + BLO inner_loop + JMP outer_loop + +done: + // Hand the state back: off = ip - in (negative when the window reached below the stream start), + // value = the sentinel-form container. bitReaderShifted.restoreFromAsm normalizes both. + MOVD (R0), R1 + MOVD 64(R0), R2 + MOVD (R1), R16 + SUB R16, R2, R2 + MOVD R2, 24(R1) + MOVD R6, 32(R1) + MOVD 72(R0), R2 + MOVD 48(R1), R16 + SUB R16, R2, R2 + MOVD R2, 72(R1) + MOVD R8, 80(R1) + MOVD 80(R0), R2 + MOVD 96(R1), R16 + SUB R16, R2, R2 + MOVD R2, 120(R1) + MOVD R10, 128(R1) + MOVD 88(R0), R2 + MOVD 144(R1), R16 + SUB R16, R2, R2 + MOVD R2, 168(R1) + MOVD R12, 176(R1) MOVD 16(R0), R16 - SUB R16, R3, R3 - LSL $0x02, R3, R3 - MOVD R3, 40(R0) + SUB R16, R5, R5 + LSL $0x02, R5, R5 + MOVD R5, 40(R0) RET // func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext) +// Requires: BMI, CMOV TEXT ·decompress4x_8b_main_loop_arm64(SB), $0-8 - // Preload values - MOVD ctx+0(FP), R1 - MOVBU 8(R1), R6 - MOVD 16(R1), R3 - MOVD 48(R1), R5 - MOVD 24(R1), R7 - MOVD 32(R1), R8 - MOVD (R1), R9 - - // Main loop -main_loop: - MOVD $0, R2 - CMP R5, R3 - CSET GE, R16 - BFI $0, R16, $8, R2 - - // br0.fillFast32() - MOVD 32(R9), R10 - MOVBU 40(R9), R11 - CMP $0x20, R11 - BLS skip_fill0 - MOVD 24(R9), R12 - SUB $0x20, R11, R11 - SUB $0x04, R12, R12 - MOVD (R9), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R13, R12, R15 - MOVWU (R15), R13 - MOVD R11, R1 - LSL R1, R13, R13 - MOVD R12, 24(R9) - ORR R13, R10, R10 - - // exhausted += (br0.off < 4) - CMP $0x04, R12 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill0: - // val0 := br0.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br0.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - - // val1 := br0.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v1 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br0.advance(uint8(v1.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 - - // val2 := br0.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v2 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + MOVD ctx+0(FP), R0 - // br0.advance(uint8(v2.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 + // Preload values + MOVBU 8(R0), R2 + MOVD 32(R0), R3 + MOVD 16(R0), R5 + MOVD 24(R0), R1 + ADD R1, R5, R7 + ADD R1<<1, R5, R9 + ADD R1<<1, R1, R11 + ADD R5, R11, R11 + + // Convert each bit reader to sentinel form: bits = value | 1<> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - MOVW R0, (R3) - - // update the bitreader structure - MOVD R10, 32(R9) - MOVB R11, 40(R9) - - // br1.fillFast32() - MOVD 80(R9), R10 - MOVBU 88(R9), R11 - CMP $0x20, R11 - BLS skip_fill1 - MOVD 72(R9), R12 - SUB $0x20, R11, R11 - SUB $0x04, R12, R12 - MOVD 48(R9), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R13, R12, R15 - MOVWU (R15), R13 - MOVD R11, R1 - LSL R1, R13, R13 - MOVD R12, 72(R9) - ORR R13, R10, R10 - - // exhausted += (br1.off < 4) - CMP $0x04, R12 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill1: - // val0 := br1.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + RBIT R12, R13 + CLZ R13, R13 + MOVD R13, R1 + AND $0x07, R1, R1 + LSR $0x03, R13, R13 + MOVD 88(R0), R12 + SUB R13, R12, R12 + MOVD R12, 88(R0) + MOVD (R12), R12 + ORR $0x01, R12, R12 + LSL R1, R12, R12 + ADD $0x0e, R5, R5 + ADD $0x0e, R7, R7 + ADD $0x0e, R9, R9 + ADD $0x0e, R11, R11 + MOVD 96(R0), R16 + CMP R16, R5 + BLO inner_loop + JMP outer_loop + +done: + // Hand the state back: off = ip - in (negative when the window reached below the stream start), + // value = the sentinel-form container. bitReaderShifted.restoreFromAsm normalizes both. + MOVD (R0), R1 + MOVD 64(R0), R2 + MOVD (R1), R16 + SUB R16, R2, R2 + MOVD R2, 24(R1) + MOVD R6, 32(R1) + MOVD 72(R0), R2 + MOVD 48(R1), R16 + SUB R16, R2, R2 + MOVD R2, 72(R1) + MOVD R8, 80(R1) + MOVD 80(R0), R2 + MOVD 96(R1), R16 + SUB R16, R2, R2 + MOVD R2, 120(R1) + MOVD R10, 128(R1) + MOVD 88(R0), R2 + MOVD 144(R1), R16 + SUB R16, R2, R2 + MOVD R2, 168(R1) + MOVD R12, 176(R1) + MOVD 16(R0), R16 + SUB R16, R5, R5 + LSL $0x02, R5, R5 + MOVD R5, 40(R0) + RET - // br1.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 +// skipped decompress4x_main_loop_bmi2 (generic twin preferred on arm64) - // val1 := br1.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 +// skipped decompress4x_8b_main_loop_bmi2 (generic twin preferred on arm64) - // v1 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 +// skipped decompress4x_4b_main_loop_bmi2 (generic twin preferred on arm64) - // br1.advance(uint8(v1.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 +// func decompress1x_main_loop_amd64(ctx *decompress1xContext) +// Requires: CMOV +TEXT ·decompress1x_main_loop_arm64(SB), $0-8 + MOVD ctx+0(FP), R0 - // val2 := br1.peekTopBits(peekBits) - MOVD R10, R12 + // Preload values + MOVBU 8(R0), R2 + MOVD 32(R0), R3 + MOVD 16(R0), R5 + MOVD 24(R0), R6 + ADD R5, R6, R6 + MOVD 56(R0), R7 + MOVD 48(R0), R8 + MOVD (R0), R1 + MOVD 32(R1), R9 + MOVBU 40(R1), R10 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 8 MOVD R6, R1 - LSR R1, R12, R12 + SUBS R5, R1, R1 + BLE done + LSR $0x03, R1, R1 + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVD R7, R11 + SUB R8, R11, R11 + LSR $0x03, R11, R11 + CMP R1, R11 + CSEL LO, R11, R1, R1 + TST R1, R1 + BEQ done + MOVD $5, R16 + MUL R16, R1, R11 + ADD R5, R11, R11 + +inner_loop: + // symbol 0 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, (R5) - // v2 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + // symbol 1 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 1(R5) - // br1.advance(uint8(v2.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 + // symbol 2 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 2(R5) - // val3 := br1.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 + // symbol 3 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 3(R5) - // v3 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + // symbol 4 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 4(R5) - // br1.advance(uint8(v3.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 - - // these four writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - ADD R7, R3, R15 - MOVW R0, (R15) - - // update the bitreader structure - MOVD R10, 80(R9) - MOVB R11, 88(R9) - - // br2.fillFast32() - MOVD 128(R9), R10 - MOVBU 136(R9), R11 - CMP $0x20, R11 - BLS skip_fill2 - MOVD 120(R9), R12 - SUB $0x20, R11, R11 - SUB $0x04, R12, R12 - MOVD 96(R9), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R13, R12, R15 - MOVWU (R15), R13 - MOVD R11, R1 - LSL R1, R13, R13 - MOVD R12, 120(R9) - ORR R13, R10, R10 - - // exhausted += (br2.off < 4) - CMP $0x04, R12 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill2: - // val0 := br2.peekTopBits(peekBits) + // Refill the whole bytes consumed from below the window MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + AND $0x38, R12, R12 + MOVD -8(R7), R13 + LSR $0x01, R13, R13 + AND $0x07, R10, R10 + MOVD R12, R1 + EOR $0x3f, R1, R1 + LSR R1, R13, R13 + MOVD R10, R1 + LSL R1, R13, R13 + ORR R13, R9, R9 + LSR $0x03, R12, R12 + SUB R12, R7, R7 + ADD $0x05, R5, R5 + CMP R11, R5 + BLO inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVD (R0), R1 + MOVD (R1), R16 + SUB R16, R7, R7 + MOVD R7, 24(R1) + MOVD R9, 32(R1) + MOVB R10, 40(R1) + MOVD 16(R0), R16 + SUB R16, R5, R5 + MOVD R5, 40(R0) + RET - // br2.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 +// func decompress1x_8b_main_loop_amd64(ctx *decompress1xContext) +// Requires: CMOV +TEXT ·decompress1x_8b_main_loop_arm64(SB), $0-8 + MOVD ctx+0(FP), R0 - // val1 := br2.peekTopBits(peekBits) - MOVD R10, R12 + // Preload values + MOVBU 8(R0), R2 + MOVD 32(R0), R3 + MOVD 16(R0), R5 + MOVD 24(R0), R6 + ADD R5, R6, R6 + MOVD 56(R0), R7 + MOVD 48(R0), R8 + MOVD (R0), R1 + MOVD 32(R1), R9 + MOVBU 40(R1), R10 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 8 MOVD R6, R1 - LSR R1, R12, R12 - - // v1 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + SUBS R5, R1, R1 + BLE done + LSR $0x03, R1, R1 + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVD R7, R11 + SUB R8, R11, R11 + LSR $0x03, R11, R11 + CMP R1, R11 + CSEL LO, R11, R1, R1 + TST R1, R1 + BEQ done + MOVD $7, R16 + MUL R16, R1, R11 + ADD R5, R11, R11 + +inner_loop: + // symbol 0 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, (R5) - // br2.advance(uint8(v1.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 + // symbol 1 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 1(R5) - // val2 := br2.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 + // symbol 2 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 2(R5) - // v2 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + // symbol 3 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 3(R5) - // br2.advance(uint8(v2.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 + // symbol 4 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 4(R5) - // val3 := br2.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 + // symbol 5 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 5(R5) - // v3 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + // symbol 6 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 6(R5) - // br2.advance(uint8(v3.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 - - // these four writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - ADD R7<<1, R3, R15 - MOVW R0, (R15) - - // update the bitreader structure - MOVD R10, 128(R9) - MOVB R11, 136(R9) - - // br3.fillFast32() - MOVD 176(R9), R10 - MOVBU 184(R9), R11 - CMP $0x20, R11 - BLS skip_fill3 - MOVD 168(R9), R12 - SUB $0x20, R11, R11 - SUB $0x04, R12, R12 - MOVD 144(R9), R13 - - // b.value |= uint64(low) << (b.bitsRead & 63) - ADD R13, R12, R15 - MOVWU (R15), R13 - MOVD R11, R1 - LSL R1, R13, R13 - MOVD R12, 168(R9) - ORR R13, R10, R10 - - // exhausted += (br3.off < 4) - CMP $0x04, R12 - CSINC HS, R2, R2, R16 - BFI $0, R16, $8, R2 - -skip_fill3: - // val0 := br3.peekTopBits(peekBits) + // Refill the whole bytes consumed from below the window MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 - - // v0 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + AND $0x38, R12, R12 + MOVD -8(R7), R13 + LSR $0x01, R13, R13 + AND $0x07, R10, R10 + MOVD R12, R1 + EOR $0x3f, R1, R1 + LSR R1, R13, R13 + MOVD R10, R1 + LSL R1, R13, R13 + ORR R13, R9, R9 + LSR $0x03, R12, R12 + SUB R12, R7, R7 + ADD $0x07, R5, R5 + CMP R11, R5 + BLO inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVD (R0), R1 + MOVD (R1), R16 + SUB R16, R7, R7 + MOVD R7, 24(R1) + MOVD R9, 32(R1) + MOVB R10, 40(R1) + MOVD 16(R0), R16 + SUB R16, R5, R5 + MOVD R5, 40(R0) + RET - // br3.advance(uint8(v0.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 +// func decompress1x_4b_main_loop_amd64(ctx *decompress1xContext) +// Requires: CMOV +TEXT ·decompress1x_4b_main_loop_arm64(SB), $0-8 + MOVD ctx+0(FP), R0 - // val1 := br3.peekTopBits(peekBits) - MOVD R10, R12 + // Preload values + MOVBU 8(R0), R2 + MOVD 32(R0), R3 + MOVD 16(R0), R5 + MOVD 24(R0), R6 + ADD R5, R6, R6 + MOVD 56(R0), R7 + MOVD 48(R0), R8 + MOVD (R0), R1 + MOVD 32(R1), R9 + MOVBU 40(R1), R10 + +outer_loop: + // Iterations allowed by the output: (limit - op) / 16 MOVD R6, R1 - LSR R1, R12, R12 - - // v1 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 - - // br3.advance(uint8(v1.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 + SUBS R5, R1, R1 + BLE done + LSR $0x04, R1, R1 + + // Iterations allowed by the input: a refill reads the 8 bytes below the window and + // moves it down by at most 7, so every read stays inside the stream while ip stays + // at least 8 above ilowest. + MOVD R7, R11 + SUB R8, R11, R11 + LSR $0x03, R11, R11 + CMP R1, R11 + CSEL LO, R11, R1, R1 + TST R1, R1 + BEQ done + MOVD $14, R16 + MUL R16, R1, R11 + ADD R5, R11, R11 + +inner_loop: + // symbol 0 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, (R5) - // val2 := br3.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 + // symbol 1 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 1(R5) - // v2 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + // symbol 2 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 2(R5) - // br3.advance(uint8(v2.entry) - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 + // symbol 3 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 3(R5) - // val3 := br3.peekTopBits(peekBits) - MOVD R10, R12 - MOVD R6, R1 - LSR R1, R12, R12 + // symbol 4 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 4(R5) - // v3 := table[val0&mask] - ADD R12<<1, R8, R15 - MOVHU (R15), R1 + // symbol 5 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 5(R5) - // br3.advance(uint8(v3.entry) - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - LSL R1, R10, R10 - ADD R1, R11, R15 - BFI $0, R15, $8, R11 - REVW R0, R0 - - // these four writes get coalesced - // out[id * dstEvery + 0] = uint8(v0.entry >> 8) - // out[id * dstEvery + 1] = uint8(v1.entry >> 8) - // out[id * dstEvery + 3] = uint8(v2.entry >> 8) - // out[id * dstEvery + 4] = uint8(v3.entry >> 8) - ADD R7<<1, R7, R1 - ADD R1, R3, R15 - MOVW R0, (R15) - - // update the bitreader structure - MOVD R10, 176(R9) - MOVB R11, 184(R9) - ADD $0x04, R3, R3 - AND $0xff, R2, R15 - AND $0xff, R2, R16 - TST R16, R15 - BEQ main_loop - MOVD ctx+0(FP), R0 - MOVD 16(R0), R16 - SUB R16, R3, R3 - LSL $0x02, R3, R3 - MOVD R3, 40(R0) - RET + // symbol 6 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 6(R5) -// func decompress1x_main_loop_amd64(ctx *decompress1xContext) -TEXT ·decompress1x_main_loop_arm64(SB), $0-8 - MOVD ctx+0(FP), R1 - MOVD 16(R1), R2 - MOVD 24(R1), R3 - CMP $0x04, R3 - BLO error_max_decoded_size_exceeded - ADD R3, R2, R3 - MOVD (R1), R5 - MOVD (R5), R7 - MOVD 24(R5), R8 - MOVD 32(R5), R9 - MOVBU 40(R5), R10 - MOVD 32(R1), R5 - MOVBU 8(R1), R6 - JMP loop_condition - -main_loop: - // Check if we have room for 4 bytes in the output buffer - ADD $4, R2, R1 - CMP R3, R1 - BGE error_max_decoded_size_exceeded - - // Decode 4 values - CMP $0x20, R10 - BLT bitReader_fillFast_1_end - SUB $0x20, R10, R10 - SUB $0x04, R8, R8 - ADD R8, R7, R15 - MOVWU (R15), R11 - MOVD R10, R1 - LSL R1, R11, R11 - ORR R11, R9, R9 - -bitReader_fillFast_1_end: - MOVD R6, R1 - MOVD R9, R11 - LSR R1, R11, R11 - ADD R11<<1, R5, R15 - MOVHU (R15), R1 - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - MOVBU R1, R1 + // symbol 7 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 7(R5) + + // symbol 8 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 LSL R1, R9, R9 - MOVD R6, R1 - MOVD R9, R11 - LSR R1, R11, R11 - ADD R11<<1, R5, R15 - MOVHU (R15), R1 - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - MOVBU R1, R1 ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 8(R5) + + // symbol 9 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 LSL R1, R9, R9 - REVW R0, R0 - CMP $0x20, R10 - BLT bitReader_fillFast_2_end - SUB $0x20, R10, R10 - SUB $0x04, R8, R8 - ADD R8, R7, R15 - MOVWU (R15), R11 - MOVD R10, R1 - LSL R1, R11, R11 - ORR R11, R9, R9 - -bitReader_fillFast_2_end: - MOVD R6, R1 - MOVD R9, R11 - LSR R1, R11, R11 - ADD R11<<1, R5, R15 - MOVHU (R15), R1 - UBFX $8, R1, $8, R16 - BFI $8, R16, $8, R0 - MOVBU R1, R1 ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 9(R5) + + // symbol 10 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 LSL R1, R9, R9 - MOVD R6, R1 - MOVD R9, R11 - LSR R1, R11, R11 - ADD R11<<1, R5, R15 - MOVHU (R15), R1 - UBFX $8, R1, $8, R16 - BFI $0, R16, $8, R0 - MOVBU R1, R1 ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 10(R5) + + // symbol 11 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 LSL R1, R9, R9 - REVW R0, R0 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 11(R5) - // Store the decoded values - MOVW R0, (R2) - ADD $0x04, R2, R2 + // symbol 12 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 12(R5) -loop_condition: - CMP $0x08, R8 - BGE main_loop + // symbol 13 + LSR R2, R9, R12 + MOVHU (R3)(R12<<1), R1 + LSL R1, R9, R9 + ADD R1, R10, R10 + LSR $0x08, R1, R1 + MOVB R1, 13(R5) - // Update ctx structure - MOVD ctx+0(FP), R0 + // Refill the whole bytes consumed from below the window + MOVD R10, R12 + AND $0x38, R12, R12 + MOVD -8(R7), R13 + LSR $0x01, R13, R13 + AND $0x07, R10, R10 + MOVD R12, R1 + EOR $0x3f, R1, R1 + LSR R1, R13, R13 + MOVD R10, R1 + LSL R1, R13, R13 + ORR R13, R9, R9 + LSR $0x03, R12, R12 + SUB R12, R7, R7 + ADD $0x0e, R5, R5 + CMP R11, R5 + BLO inner_loop + JMP outer_loop + +done: + // Hand the state back in the Go bit reader's own form: off = ip - in, value, bitsRead. + MOVD (R0), R1 + MOVD (R1), R16 + SUB R16, R7, R7 + MOVD R7, 24(R1) + MOVD R9, 32(R1) + MOVB R10, 40(R1) MOVD 16(R0), R16 - SUB R16, R2, R2 - MOVD R2, 40(R0) - MOVD (R0), R0 - MOVD R8, 24(R0) - MOVD R9, 32(R0) - MOVB R10, 40(R0) - RET - - // Report error -error_max_decoded_size_exceeded: - MOVD ctx+0(FP), R0 - MOVD $-1, R1 - MOVD R1, 40(R0) + SUB R16, R5, R5 + MOVD R5, 40(R0) RET // skipped decompress1x_main_loop_bmi2 (generic twin preferred on arm64) + +// skipped decompress1x_8b_main_loop_bmi2 (generic twin preferred on arm64) + +// skipped decompress1x_4b_main_loop_bmi2 (generic twin preferred on arm64) diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_asm.go b/vendor/github.com/klauspost/compress/huff0/decompress_asm.go index 4854dd43..71a80bbd 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_asm.go +++ b/vendor/github.com/klauspost/compress/huff0/decompress_asm.go @@ -14,6 +14,10 @@ import ( // fallback8BitSize is the size where using Go version is faster. const fallback8BitSize = 800 +// decompress4xContext is the argument block of the Decompress4X asm loops. +// Go fills every field but decoded and inner; the asm advances ip, and on +// return leaves each bit reader in the form bitReaderShifted.restoreFromAsm +// expects. type decompress4xContext struct { pbr *[4]bitReaderShifted peekBits uint8 @@ -21,9 +25,20 @@ type decompress4xContext struct { dstEvery int tbl *dEntrySingle decoded int - limit *byte + limit *byte // stream 0's output pointer must stay below this + ilowest *byte // start of the input block; no read goes below it + ip [4]*byte // each stream's 8-byte input window, advanced by the asm + inner *byte // scratch for the asm: the current inner-loop limit } +// Symbols decoded per stream between reloads by the 4X asm loops; must +// match the constants of the same names in _generate/gen.go. +const ( + fastSymbols = 5 // tablelog 9..11 + fast8bSymbols = 7 // tablelog 5..8 + fast4bSymbols = 14 // tablelog <= 4 +) + // Decompress4X will decompress a 4X encoded stream. // The length of the supplied input must match the end of a block exactly. // The *capacity* of the dst slice must match the destination size of @@ -72,23 +87,55 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { var decoded int - if len(out) > 4*4 && !(br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4) { + nSyms := fastSymbols + if d.actualTableLog <= 4 { + nSyms = fast4bSymbols + } else if use8BitTables { + nSyms = fast8bSymbols + } + // The asm writes nSyms bytes per stream per iteration and only re-checks + // its bounds between batches of iterations (the batch size is derived + // from limit in _generate/gen.go), so stream 0 must stop early enough + // that stream 3 (which may be up to 3 bytes shorter than dstEvery) + // never writes past the end of out. Every stream needs a full 8-byte + // window ahead of its read pointer to enter the loop. + if limit := dstEvery - nSyms - 2; limit > 0 && br[0].canUseAsm() && br[1].canUseAsm() && br[2].canUseAsm() && br[3].canUseAsm() { + for i := range br { + br[i].prepareForAsm() + } ctx := decompress4xContext{ pbr: &br, peekBits: uint8((64 - d.actualTableLog) & 63), // see: bitReaderShifted.peekBitsFast() out: &out[0], dstEvery: dstEvery, tbl: &single[0], - limit: &out[dstEvery-4], // Always stop decoding when first buffer gets here to avoid writing OOB on last. + limit: &out[limit], + // The 6-byte jump table sits below stream 0 inside src, so the + // lowest window may reach into it; restoreFromAsm accounts for + // bytes below a stream's start. Bounding by src rather than by + // stream 0 keeps the asm running about six bytes longer, which + // matters for streams with very short codes. + ilowest: &src[0], } - if use8BitTables { + for i := range br { + ctx.ip[i] = &br[i].in[br[i].off] + } + switch nSyms { + case fast4bSymbols: + decompress4x_4b_main_loop_asm(&ctx) + case fast8bSymbols: decompress4x_8b_main_loop_asm(&ctx) - } else { + default: decompress4x_main_loop_asm(&ctx) } decoded = ctx.decoded out = out[decoded/4:] + for i := range br { + if err := br[i].restoreFromAsm(); err != nil { + return nil, err + } + } } // Decode remaining. @@ -128,18 +175,20 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { return dst, nil } +// decompress1xContext is the argument block of the Decompress1X asm loops. +// Go fills every field but decoded; the asm advances ip, and on return +// leaves the bit reader in the form bitReaderShifted.restoreFromAsm expects. type decompress1xContext struct { pbr *bitReaderShifted peekBits uint8 out *byte - outCap int + outCap int // no write reaches out[outCap] tbl *dEntrySingle decoded int + ilowest *byte // start of the stream; no read goes below it + ip *byte // the 8-byte input window, advanced by the asm } -// Error reported by asm implementations -const error_max_decoded_size_exeeded = -1 - // Decompress1X will decompress a 1X encoded stream. // The cap of the output buffer will be the maximum decompressed size. // The length of the supplied input must match the end of a block exactly. @@ -158,25 +207,36 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) { const tlSize = 1 << tableLogMax const tlMask = tlSize - 1 - if maxDecodedSize >= 4 { + // The asm decodes whole batches of symbols and only re-checks its + // bounds between them, so it needs at least one batch of room (the + // output bound rounds nSyms up to 16, see _generate/gen.go) and a full + // 8-byte window ahead of the read pointer to enter the loop. It also + // needs at most 7 bits consumed on entry so that a batch cannot run + // the container dry, which prepareForAsm establishes. + decoded := 0 + if maxDecodedSize >= 16 && br.canUseAsm() { + br.prepareForAsm() ctx := decompress1xContext{ pbr: &br, out: &dst[0], outCap: maxDecodedSize, peekBits: uint8((64 - d.actualTableLog) & 63), // see: bitReaderShifted.peekBitsFast() tbl: &d.dt.single[0], + ilowest: &src[0], + ip: &br.in[br.off], } - - decompress1x_main_loop_asm(&ctx) - if ctx.decoded == error_max_decoded_size_exeeded { - return nil, ErrMaxDecodedSizeExceeded + if d.actualTableLog <= 4 { + decompress1x_4b_main_loop_asm(&ctx) + } else if d.actualTableLog <= 8 { + decompress1x_8b_main_loop_asm(&ctx) + } else { + decompress1x_main_loop_asm(&ctx) } - - dst = dst[:ctx.decoded] + decoded = ctx.decoded } + dst = dst[:decoded] - // br < 8, so uint8 is fine - bitsLeft := uint8(br.off)*8 + 64 - br.bitsRead + bitsLeft := br.remaining() for bitsLeft > 0 { br.fill() if len(dst) >= maxDecodedSize { @@ -186,7 +246,7 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) { v := d.dt.single[br.peekBitsFast(d.actualTableLog)&tlMask] nBits := uint8(v.entry) br.advance(nBits) - bitsLeft -= nBits + bitsLeft -= uint(nBits) dst = append(dst, uint8(v.entry>>8)) } return dst, br.close() diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go index 51f9da03..89b20d6a 100644 --- a/vendor/github.com/klauspost/compress/zstd/blockdec.go +++ b/vendor/github.com/klauspost/compress/zstd/blockdec.go @@ -240,9 +240,11 @@ func (b *blockDec) decodeBuf(hist *history) error { b.dst[i] = v } hist.appendKeep(b.dst) + hist.decoders.consumeSyncLen(len(b.dst)) return nil case blockTypeRaw: hist.appendKeep(b.data) + hist.decoders.consumeSyncLen(len(b.data)) return nil case blockTypeCompressed: saved := b.dst @@ -487,6 +489,7 @@ func (b *blockDec) decodeCompressed(hist *history) error { } if hist.decoders.nSeqs == 0 { b.dst = append(b.dst, hist.decoders.literals...) + hist.decoders.consumeSyncLen(len(hist.decoders.literals)) return nil } before := len(hist.decoders.out) diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go index c7e500f0..90ef3bb0 100644 --- a/vendor/github.com/klauspost/compress/zstd/decoder.go +++ b/vendor/github.com/klauspost/compress/zstd/decoder.go @@ -7,8 +7,11 @@ package zstd import ( "context" "encoding/binary" + "errors" "io" + "maps" "sync" + "sync/atomic" "github.com/klauspost/compress/zstd/internal/xxhash" ) @@ -20,7 +23,8 @@ import ( // A decoder can safely be re-used even if the previous stream failed. // To release the resources, you must call the Close() function on a decoder. type Decoder struct { - o decoderOptions + // publishedOptions contains the current immutable decoder options. + publishedOptions atomic.Pointer[decoderOptions] // Unreferenced decoders, ready for use. decoders chan *blockDec @@ -84,9 +88,10 @@ var ( func NewReader(r io.Reader, opts ...DOption) (*Decoder, error) { initPredefined() var d Decoder - d.o.setDefault() - for _, o := range opts { - err := o(&d.o) + var o decoderOptions + o.setDefault() + for _, opt := range opts { + err := opt(&o) if err != nil { return nil, err } @@ -99,17 +104,19 @@ func NewReader(r io.Reader, opts ...DOption) (*Decoder, error) { } // Initialize dict map if needed. - if d.o.dicts == nil { - d.o.dicts = make(map[uint32]*dict) + if o.dicts == nil { + o.dicts = make(map[uint32]*dict) } // Create decoders - d.decoders = make(chan *blockDec, d.o.concurrent) - for i := 0; i < d.o.concurrent; i++ { - dec := newBlockDec(d.o.lowMem) - dec.localFrame = newFrameDec(d.o) + d.decoders = make(chan *blockDec, o.concurrent) + for i := 0; i < o.concurrent; i++ { + dec := newBlockDec(o.lowMem) + dec.localFrame = newFrameDec(o) + dec.localFrame.o.dicts = nil d.decoders <- dec } + d.publishedOptions.Store(&o) if r == nil { return &d, nil @@ -171,6 +178,9 @@ func (d *Decoder) Reset(r io.Reader) error { d.drainOutput() d.syncStream.br.r = nil + if d.frame != nil { + d.frame.o.dicts = nil + } if r == nil { d.current.err = ErrDecoderNilInput if len(d.current.b) > 0 { @@ -180,8 +190,10 @@ func (d *Decoder) Reset(r io.Reader) error { return nil } + o := *d.publishedOptions.Load() + // If bytes buffer and < 5MB, do sync decoding anyway. - if bb, ok := r.(byter); ok && bb.Len() < d.o.decodeBufsBelow && !d.o.limitToCap { + if bb, ok := r.(byter); ok && bb.Len() < o.decodeBufsBelow && !o.limitToCap { bb2 := bb if debugDecoder { println("*bytes.Buffer detected, doing sync decode, len:", bb.Len()) @@ -193,18 +205,30 @@ func (d *Decoder) Reset(r io.Reader) error { } dst, err := d.DecodeAll(b, dst) - if err == nil { - err = io.EOF + if !errors.Is(err, ErrDecoderSizeExceeded) { + if err == nil { + err = io.EOF + } + // Save output buffer + d.syncStream.dstBuf = dst + d.current.b = dst + d.current.err = err + d.current.flushed = true + if debugDecoder { + println("sync decode to", len(dst), "bytes, err:", err) + } + return nil } - // Save output buffer - d.syncStream.dstBuf = dst - d.current.b = dst - d.current.err = err - d.current.flushed = true + // The output does not fit WithDecoderMaxMemory, which caps the total + // decoded size when decoding in memory. A Reader follows the + // streaming contract, where the option caps the window instead, so + // decode this input as a stream after all; the shortcut has not + // consumed the reader. Drop the oversized buffer rather than keep it + // for reuse. if debugDecoder { - println("sync decode to", len(dst), "bytes, err:", err) + println("sync decode exceeded max memory after", len(dst), "bytes; streaming instead") } - return nil + d.syncStream.dstBuf = nil } // Remove current block. d.stashDecoder() @@ -217,14 +241,16 @@ func (d *Decoder) Reset(r io.Reader) error { // Ensure no-one else is still running... d.streamWg.Wait() if d.frame == nil { - d.frame = newFrameDec(d.o) + d.frame = newFrameDec(o) + } else { + d.frame.setOptions(o) } - if d.o.concurrent == 1 { + if o.concurrent == 1 { return d.startSyncDecoder(r) } - d.current.output = make(chan decodeOutput, d.o.concurrent) + d.current.output = make(chan decodeOutput, o.concurrent) ctx, cancel := context.WithCancel(context.Background()) d.current.cancel = cancel d.streamWg.Add(1) @@ -238,13 +264,21 @@ func (d *Decoder) Reset(r io.Reader) error { // Options are applied on top of the existing options. // Some options cannot be changed on reset and will return an error. func (d *Decoder) ResetWithOptions(r io.Reader, opts ...DOption) error { - d.o.resetOpt = true - defer func() { d.o.resetOpt = false }() + if d.current.err == ErrDecoderClosed { + return d.current.err + } + next := *d.publishedOptions.Load() + next.dicts = maps.Clone(next.dicts) + next.resetOpt = true for _, o := range opts { - if err := o(&d.o); err != nil { + if err := o(&next); err != nil { + next.resetOpt = false + d.publishedOptions.Store(&next) return err } } + next.resetOpt = false + d.publishedOptions.Store(&next) return d.Reset(r) } @@ -324,6 +358,8 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { // Grab a block decoder and frame decoder. block := <-d.decoders frame := block.localFrame + o := *d.publishedOptions.Load() + frame.setOptions(o) initialSize := len(dst) defer func() { if debugDecoder { @@ -335,6 +371,7 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { frame.history.decoders.br.in = nil frame.history.decoders.br.cursor = 0 } + frame.o.dicts = nil d.decoders <- block }() frame.bBuf = input @@ -354,20 +391,20 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { if err = d.setDict(frame); err != nil { return nil, err } - if frame.WindowSize > d.o.maxWindowSize { + if frame.WindowSize > frame.o.maxWindowSize { if debugDecoder { - println("window size exceeded:", frame.WindowSize, ">", d.o.maxWindowSize) + println("window size exceeded:", frame.WindowSize, ">", frame.o.maxWindowSize) } return dst, ErrWindowSizeExceeded } if frame.FrameContentSize != fcsUnknown { - if frame.FrameContentSize > d.o.maxDecodedSize-uint64(len(dst)-initialSize) { + if frame.FrameContentSize > frame.o.maxDecodedSize-uint64(len(dst)-initialSize) { if debugDecoder { - println("decoder size exceeded; fcs:", frame.FrameContentSize, "> mcs:", d.o.maxDecodedSize-uint64(len(dst)-initialSize), "len:", len(dst)) + println("decoder size exceeded; fcs:", frame.FrameContentSize, "> mcs:", frame.o.maxDecodedSize-uint64(len(dst)-initialSize), "len:", len(dst)) } return dst, ErrDecoderSizeExceeded } - if d.o.limitToCap && frame.FrameContentSize > uint64(cap(dst)-len(dst)) { + if frame.o.limitToCap && frame.FrameContentSize > uint64(cap(dst)-len(dst)) { if debugDecoder { println("decoder size exceeded; fcs:", frame.FrameContentSize, "> (cap-len)", cap(dst)-len(dst)) } @@ -380,14 +417,14 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { } } - if cap(dst) == 0 && !d.o.limitToCap { + if cap(dst) == 0 && !frame.o.limitToCap { // Allocate len(input) * 2 by default if nothing is provided // and we didn't get frame content size. size := min( // Cap to 1 MB. len(input)*2, 1<<20) - if uint64(size) > d.o.maxDecodedSize { - size = int(d.o.maxDecodedSize) + if uint64(size) > frame.o.maxDecodedSize { + size = int(frame.o.maxDecodedSize) } dst = make([]byte, 0, size) } @@ -396,7 +433,7 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) { if err != nil { return dst, err } - if uint64(len(dst)-initialSize) > d.o.maxDecodedSize { + if uint64(len(dst)-initialSize) > frame.o.maxDecodedSize { return dst, ErrDecoderSizeExceeded } if len(frame.bBuf) == 0 { @@ -459,7 +496,7 @@ func (d *Decoder) nextBlock(blocking bool) (ok bool) { println("got", len(d.current.b), "bytes, error:", d.current.err, "data crc:", tmp) } - if d.o.ignoreChecksum { + if d.frame.o.ignoreChecksum { return true } @@ -497,7 +534,7 @@ func (d *Decoder) nextBlockSync() (ok bool) { if d.current.err != nil { return false } - if d.frame.WindowSize > d.o.maxDecodedSize || d.frame.WindowSize > d.o.maxWindowSize { + if d.frame.WindowSize > d.frame.o.maxDecodedSize || d.frame.WindowSize > d.frame.o.maxWindowSize { d.current.err = ErrDecoderSizeExceeded return false } @@ -546,11 +583,11 @@ func (d *Decoder) nextBlockSync() (ok bool) { // Update/Check CRC if d.frame.HasCheckSum { - if !d.o.ignoreChecksum { + if !d.frame.o.ignoreChecksum { d.frame.crc.Write(d.current.b) } if d.current.d.Last { - if !d.o.ignoreChecksum { + if !d.frame.o.ignoreChecksum { d.current.err = d.frame.checkCRC() } else { d.current.err = d.frame.consumeCRC() @@ -656,8 +693,8 @@ func (d *Decoder) startStreamDecoder(ctx context.Context, r io.Reader, output ch defer d.streamWg.Done() br := readerWrapper{r: r} - var seqDecode = make(chan *blockDec, d.o.concurrent) - var seqExecute = make(chan *blockDec, d.o.concurrent) + var seqDecode = make(chan *blockDec, d.frame.o.concurrent) + var seqExecute = make(chan *blockDec, d.frame.o.concurrent) // Async 1: Decode sequences... go func() { @@ -858,9 +895,9 @@ decodeStream: if err == nil { err = d.setDict(frame) } - if err == nil && d.frame.WindowSize > d.o.maxWindowSize { + if err == nil && d.frame.WindowSize > d.frame.o.maxWindowSize { if debugDecoder { - println("decoder size exceeded, fws:", d.frame.WindowSize, "> mws:", d.o.maxWindowSize) + println("decoder size exceeded, fws:", d.frame.WindowSize, "> mws:", d.frame.o.maxWindowSize) } err = ErrDecoderSizeExceeded @@ -940,7 +977,7 @@ decodeStream: } func (d *Decoder) setDict(frame *frameDec) (err error) { - dict, ok := d.o.dicts[frame.DictionaryID] + dict, ok := frame.o.dicts[frame.DictionaryID] if ok { if debugDecoder { println("setting dict", frame.DictionaryID) diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go index d88f067e..81d8b9c9 100644 --- a/vendor/github.com/klauspost/compress/zstd/framedec.go +++ b/vendor/github.com/klauspost/compress/zstd/framedec.go @@ -49,13 +49,16 @@ const ( ) func newFrameDec(o decoderOptions) *frameDec { + d := frameDec{} + d.setOptions(o) + return &d +} + +func (d *frameDec) setOptions(o decoderOptions) { if o.maxWindowSize > o.maxDecodedSize { o.maxWindowSize = o.maxDecodedSize } - d := frameDec{ - o: o, - } - return &d + d.o = o } // reset will read the frame header and prepare for block decoding. diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder_arm64.s b/vendor/github.com/klauspost/compress/zstd/fse_decoder_arm64.s index 77ee3913..8ca913ea 100644 --- a/vendor/github.com/klauspost/compress/zstd/fse_decoder_arm64.s +++ b/vendor/github.com/klauspost/compress/zstd/fse_decoder_arm64.s @@ -1,7 +1,7 @@ // Code generated by command: go run gen_fse.go -out ../fse_decoder.s -arch amd64,arm64 -pkg=zstd. DO NOT EDIT. // EXPERIMENTAL arm64 output lowered from an amd64 avo program. -//go:build arm64 && !appengine && !noasm && gc && !noasm +//go:build arm64 && (!appengine && !noasm && gc && !noasm) // func buildDtable_asm(s *fseDecoder, ctx *buildDtableAsmContext) int TEXT ·buildDtable_asm(SB), $0-24 @@ -26,11 +26,10 @@ TEXT ·buildDtable_asm(SB), $0-24 JMP init_main_loop_condition init_main_loop: - ADD R8<<1, R1, R15 - MOVH (R15), R9 - AND $0xffff, R9, R15 + MOVH (R1)(R8<<1), R9 MOVD $-1, R16 AND $0xffff, R16, R16 + AND $0xffff, R9, R15 CMP R16, R15 BNE do_not_update_high_threshold ADD R7<<3, R5, R15 @@ -39,8 +38,7 @@ init_main_loop: MOVD $0x0000000000000001, R9 do_not_update_high_threshold: - ADD R8<<1, R3, R15 - MOVH R9, (R15) + MOVH R9, (R3)(R8<<1) ADD $1, R8, R8 init_main_loop_condition: @@ -49,12 +47,10 @@ init_main_loop_condition: // Spread symbols // Calculate table step - MOVD R0, R8 - LSR $0x01, R8, R8 - MOVD R0, R9 - LSR $0x03, R9, R9 - ADD R9, R8, R8 - ADD $3, R8, R8 + LSR $0x01, R0, R8 + LSR $0x03, R0, R9 + ADD R9, R8, R8 + ADD $3, R8, R8 // Fill add bits values SUB $1, R0, R9 @@ -64,8 +60,7 @@ init_main_loop_condition: spread_main_loop: MOVD $0, R12 - ADD R11<<1, R1, R15 - MOVH (R15), R13 + MOVH (R1)(R11<<1), R13 JMP spread_inner_loop_condition spread_inner_loop: @@ -102,11 +97,9 @@ spread_check_ok: build_table_main_table: ADD R6<<3, R5, R15 MOVBU 1(R15), R1 - ADD R1<<1, R3, R15 - MOVHU (R15), R7 + MOVHU (R3)(R1<<1), R7 ADD $1, R7, R8 - ADD R1<<1, R3, R15 - MOVH R8, (R15) + MOVH R8, (R3)(R1<<1) MOVD R7, R8 CLZ R8, R16 MOVD $63, R8 @@ -129,12 +122,10 @@ build_table_main_table: RET build_table_check1_ok: - AND $0xff, R1, R15 - AND $0xff, R1, R16 - TST R16, R15 + TST $0xff, R1 BNE build_table_check2_ok - AND $0xffff, R7, R15 AND $0xffff, R6, R16 + AND $0xffff, R7, R15 CMP R16, R15 BNE build_table_check2_ok MOVD ctx+8(FP), R0 diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go index fc40c820..9c0cbc16 100644 --- a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go +++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go @@ -52,6 +52,11 @@ func (d *Digest) Reset() { d.n = 0 } +// maxAsmSize bounds the input handed to a single writeBlocks call. Assembly is +// never preemptible, so an unbounded call holds every P in stop-the-world for +// its duration. Whole 32-byte blocks, so Write can feed it in pieces. +const maxAsmSize = 128 << 10 // 4096 whole 32-byte blocks + // Size always returns 8 bytes. func (d *Digest) Size() int { return 8 } @@ -83,6 +88,13 @@ func (d *Digest) Write(b []byte) (n int, err error) { d.n = 0 } + for len(b) >= maxAsmSize { + // Assembly is not preemptible, so hashing a large buffer in one call + // blocks every stop-the-world for the whole call. Feed it in chunks. + writeBlocks(d, b[:maxAsmSize]) + b = b[maxAsmSize:] + } + if len(b) >= 32 { // One or more full blocks left. nw := writeBlocks(d, b) diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s index ddb63aa9..e4c688ef 100644 --- a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s +++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s @@ -175,7 +175,11 @@ finalize: RET // func writeBlocks(d *Digest, b []byte) int -TEXT ·writeBlocks(SB), NOSPLIT|NOFRAME, $0-40 +// +// Deliberately not NOSPLIT: the stack check is the preemption point that lets a +// stop-the-world proceed between chunks. The frame must be >= abi.StackSmall +// (128), or the assembler marks this leaf NOSPLIT anyway and drops that check. +TEXT ·writeBlocks(SB), $128-40 // Load fixed primes needed for round. MOVQ ·primes+0(SB), prime1 MOVQ ·primes+8(SB), prime2 diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s index ae7d4d32..e88cc2fc 100644 --- a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s +++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s @@ -163,7 +163,11 @@ finalize: RET // func writeBlocks(s *Digest, b []byte) int -TEXT ·writeBlocks(SB), NOSPLIT|NOFRAME, $0-40 +// +// Deliberately not NOSPLIT: the stack check is the preemption point that lets a +// stop-the-world proceed between chunks. The frame must be >= abi.StackSmall +// (128), or the assembler marks this leaf NOSPLIT anyway and drops that check. +TEXT ·writeBlocks(SB), $128-40 LDP ·primes+0(SB), (prime1, prime2) // Load state. Assume v[1-4] are stored contiguously. diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec.go b/vendor/github.com/klauspost/compress/zstd/seqdec.go index 0bfb0e43..d1a7732f 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec.go +++ b/vendor/github.com/klauspost/compress/zstd/seqdec.go @@ -99,6 +99,29 @@ func (s *sequenceDecs) initialize(br *bitReader, hist *history, out []byte) erro return nil } +// consumeSyncLen accounts for n bytes of frame output produced outside +// decodeSync. maxSyncLen bounds how much the frame may still produce and +// decodeSyncSimple compares it with the output buffer's slack to decide +// whether the extended 16-byte copies are safe. Blocks with sequences +// subtracted their output; raw blocks, RLE blocks and compressed blocks +// holding only literals did not, so a frame that opened with a raw block +// overstated its remaining size for every block after it and ran the +// bounds-exact copies for the rest of the frame. +// +// Zero means "no bound" and selects the conservative paths, so a block that +// meets or exceeds the bound lands there; the frame-size checks in +// runDecoder reject the excess afterwards. +func (s *sequenceDecs) consumeSyncLen(n int) { + if s.maxSyncLen == 0 { + return + } + if uint64(n) >= s.maxSyncLen { + s.maxSyncLen = 0 + return + } + s.maxSyncLen -= uint64(n) +} + func (s *sequenceDecs) freeDecoders() { if f := s.litLengths.fse; f != nil && !f.preDefined { fseDecoderPool.Put(f) diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s index 4d3188ff..798d9402 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s +++ b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s @@ -4,7 +4,7 @@ // func sequenceDecs_decode_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: CMOV -TEXT ·sequenceDecs_decode_amd64(SB), $8-32 +TEXT ·sequenceDecs_decode_amd64(SB), $40-32 MOVQ br+8(FP), CX MOVQ 24(CX), DX MOVBQZX 40(CX), BX @@ -16,6 +16,14 @@ TEXT ·sequenceDecs_decode_amd64(SB), $8-32 MOVQ 72(AX), DI MOVQ 80(AX), R8 MOVQ 88(AX), R9 + MOVQ (AX), CX + MOVQ CX, 8(SP) + MOVQ 24(AX), CX + MOVQ CX, 16(SP) + MOVQ 48(AX), CX + MOVQ CX, 24(SP) + MOVQ 96(AX), CX + MOVQ CX, 32(SP) MOVQ 104(AX), R10 MOVQ s+0(FP), AX MOVQ 144(AX), R11 @@ -55,46 +63,32 @@ sequenceDecs_decode_amd64_fill_check_overread: sequenceDecs_decode_amd64_fill_end: // Update offset - MOVQ R9, AX - MOVQ BX, CX - MOVQ DX, R15 - SHLQ CL, R15 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decode_amd64_of_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decode_amd64_of_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decode_amd64_of_update_zero - NEGQ CX - SHRQ CL, R15 - ADDQ R15, AX - -sequenceDecs_decode_amd64_of_update_zero: - MOVQ AX, 16(R10) + MOVQ R9, AX + MOVQ BX, CX + MOVQ DX, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R15 + ADDQ R15, AX + MOVQ AX, 16(R10) // Update match length - MOVQ R8, AX - MOVQ BX, CX - MOVQ DX, R15 - SHLQ CL, R15 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decode_amd64_ml_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decode_amd64_ml_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decode_amd64_ml_update_zero - NEGQ CX - SHRQ CL, R15 - ADDQ R15, AX - -sequenceDecs_decode_amd64_ml_update_zero: - MOVQ AX, 8(R10) + MOVQ R8, AX + MOVQ BX, CX + MOVQ DX, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R15 + ADDQ R15, AX + MOVQ AX, 8(R10) // Fill bitreader to have enough for the remaining CMPQ SI, $0x08 @@ -126,90 +120,76 @@ sequenceDecs_decode_amd64_fill_2_check_overread: sequenceDecs_decode_amd64_fill_2_end: // Update literal length - MOVQ DI, AX - MOVQ BX, CX - MOVQ DX, R15 - SHLQ CL, R15 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decode_amd64_ll_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decode_amd64_ll_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decode_amd64_ll_update_zero - NEGQ CX - SHRQ CL, R15 - ADDQ R15, AX - -sequenceDecs_decode_amd64_ll_update_zero: - MOVQ AX, (R10) + MOVQ DI, AX + MOVQ BX, CX + MOVQ DX, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R15 + ADDQ R15, AX + MOVQ AX, (R10) // Fill bitreader for state updates MOVQ R14, (SP) MOVQ R9, AX SHRQ $0x08, AX MOVBQZX AL, AX - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decode_amd64_skip_update // Update Literal Length State MOVBQZX DI, R14 SHRL $0x10, DI - LEAQ (BX)(R14*1), CX + MOVQ BX, CX MOVQ DX, R15 - MOVQ CX, BX - ROLQ CL, R15 - MOVL $0x00000001, BP - MOVB R14, CL - SHLL CL, BP - DECL BP - ANDQ BP, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + ADDQ R14, BX + XORQ $0x3f, R14 + MOVQ R14, CX + SHRQ CL, R15 ADDQ R15, DI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(DI*8), DI // Update Match Length State MOVBQZX R8, R14 SHRL $0x10, R8 - LEAQ (BX)(R14*1), CX + MOVQ BX, CX MOVQ DX, R15 - MOVQ CX, BX - ROLQ CL, R15 - MOVL $0x00000001, BP - MOVB R14, CL - SHLL CL, BP - DECL BP - ANDQ BP, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + ADDQ R14, BX + XORQ $0x3f, R14 + MOVQ R14, CX + SHRQ CL, R15 ADDQ R15, R8 // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(R8*8), R8 // Update Offset State MOVBQZX R9, R14 SHRL $0x10, R9 - LEAQ (BX)(R14*1), CX + MOVQ BX, CX MOVQ DX, R15 - MOVQ CX, BX - ROLQ CL, R15 - MOVL $0x00000001, BP - MOVB R14, CL - SHLL CL, BP - DECL BP - ANDQ BP, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + ADDQ R14, BX + XORQ $0x3f, R14 + MOVQ R14, CX + SHRQ CL, R15 ADDQ R15, R9 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R9*8), R9 sequenceDecs_decode_amd64_skip_update: @@ -290,8 +270,7 @@ sequenceDecs_decode_amd64_after_adjust: sequenceDecs_decode_amd64_match_len_ofs_ok: ADDQ $0x18, R10 - MOVQ ctx+16(FP), AX - DECQ 96(AX) + DECQ 32(SP) JNS sequenceDecs_decode_amd64_main_loop MOVQ s+0(FP), AX MOVQ R11, 144(AX) @@ -303,36 +282,54 @@ sequenceDecs_decode_amd64_match_len_ofs_ok: MOVQ SI, 32(AX) // Return success + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000000, ret+24(FP) RET // Return with match length error sequenceDecs_decode_amd64_error_match_len_ofs_mismatch: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000001, ret+24(FP) RET // Return with match too long error sequenceDecs_decode_amd64_error_match_len_too_big: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000002, ret+24(FP) RET // Return with match offset too long error + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000003, ret+24(FP) RET // Return with not enough literals error error_not_enough_literals: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000004, ret+24(FP) RET // Return with overread error error_overread: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000006, ret+24(FP) RET // func sequenceDecs_decode_56_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: CMOV -TEXT ·sequenceDecs_decode_56_amd64(SB), $8-32 +TEXT ·sequenceDecs_decode_56_amd64(SB), $40-32 MOVQ br+8(FP), CX MOVQ 24(CX), DX MOVBQZX 40(CX), BX @@ -344,6 +341,14 @@ TEXT ·sequenceDecs_decode_56_amd64(SB), $8-32 MOVQ 72(AX), DI MOVQ 80(AX), R8 MOVQ 88(AX), R9 + MOVQ (AX), CX + MOVQ CX, 8(SP) + MOVQ 24(AX), CX + MOVQ CX, 16(SP) + MOVQ 48(AX), CX + MOVQ CX, 24(SP) + MOVQ 96(AX), CX + MOVQ CX, 32(SP) MOVQ 104(AX), R10 MOVQ s+0(FP), AX MOVQ 144(AX), R11 @@ -383,132 +388,104 @@ sequenceDecs_decode_56_amd64_fill_check_overread: sequenceDecs_decode_56_amd64_fill_end: // Update offset - MOVQ R9, AX - MOVQ BX, CX - MOVQ DX, R15 - SHLQ CL, R15 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decode_56_amd64_of_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decode_56_amd64_of_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decode_56_amd64_of_update_zero - NEGQ CX - SHRQ CL, R15 - ADDQ R15, AX - -sequenceDecs_decode_56_amd64_of_update_zero: - MOVQ AX, 16(R10) + MOVQ R9, AX + MOVQ BX, CX + MOVQ DX, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R15 + ADDQ R15, AX + MOVQ AX, 16(R10) // Update match length - MOVQ R8, AX - MOVQ BX, CX - MOVQ DX, R15 - SHLQ CL, R15 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decode_56_amd64_ml_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decode_56_amd64_ml_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decode_56_amd64_ml_update_zero - NEGQ CX - SHRQ CL, R15 - ADDQ R15, AX - -sequenceDecs_decode_56_amd64_ml_update_zero: - MOVQ AX, 8(R10) + MOVQ R8, AX + MOVQ BX, CX + MOVQ DX, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R15 + ADDQ R15, AX + MOVQ AX, 8(R10) // Update literal length - MOVQ DI, AX - MOVQ BX, CX - MOVQ DX, R15 - SHLQ CL, R15 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decode_56_amd64_ll_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decode_56_amd64_ll_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decode_56_amd64_ll_update_zero - NEGQ CX - SHRQ CL, R15 - ADDQ R15, AX - -sequenceDecs_decode_56_amd64_ll_update_zero: - MOVQ AX, (R10) + MOVQ DI, AX + MOVQ BX, CX + MOVQ DX, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R15 + ADDQ R15, AX + MOVQ AX, (R10) // Fill bitreader for state updates MOVQ R14, (SP) MOVQ R9, AX SHRQ $0x08, AX MOVBQZX AL, AX - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decode_56_amd64_skip_update // Update Literal Length State MOVBQZX DI, R14 SHRL $0x10, DI - LEAQ (BX)(R14*1), CX + MOVQ BX, CX MOVQ DX, R15 - MOVQ CX, BX - ROLQ CL, R15 - MOVL $0x00000001, BP - MOVB R14, CL - SHLL CL, BP - DECL BP - ANDQ BP, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + ADDQ R14, BX + XORQ $0x3f, R14 + MOVQ R14, CX + SHRQ CL, R15 ADDQ R15, DI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(DI*8), DI // Update Match Length State MOVBQZX R8, R14 SHRL $0x10, R8 - LEAQ (BX)(R14*1), CX + MOVQ BX, CX MOVQ DX, R15 - MOVQ CX, BX - ROLQ CL, R15 - MOVL $0x00000001, BP - MOVB R14, CL - SHLL CL, BP - DECL BP - ANDQ BP, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + ADDQ R14, BX + XORQ $0x3f, R14 + MOVQ R14, CX + SHRQ CL, R15 ADDQ R15, R8 // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(R8*8), R8 // Update Offset State MOVBQZX R9, R14 SHRL $0x10, R9 - LEAQ (BX)(R14*1), CX + MOVQ BX, CX MOVQ DX, R15 - MOVQ CX, BX - ROLQ CL, R15 - MOVL $0x00000001, BP - MOVB R14, CL - SHLL CL, BP - DECL BP - ANDQ BP, R15 + SHLQ CL, R15 + SHRQ $0x01, R15 + ADDQ R14, BX + XORQ $0x3f, R14 + MOVQ R14, CX + SHRQ CL, R15 ADDQ R15, R9 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R9*8), R9 sequenceDecs_decode_56_amd64_skip_update: @@ -589,8 +566,7 @@ sequenceDecs_decode_56_amd64_after_adjust: sequenceDecs_decode_56_amd64_match_len_ofs_ok: ADDQ $0x18, R10 - MOVQ ctx+16(FP), AX - DECQ 96(AX) + DECQ 32(SP) JNS sequenceDecs_decode_56_amd64_main_loop MOVQ s+0(FP), AX MOVQ R11, 144(AX) @@ -602,36 +578,54 @@ sequenceDecs_decode_56_amd64_match_len_ofs_ok: MOVQ SI, 32(AX) // Return success + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000000, ret+24(FP) RET // Return with match length error sequenceDecs_decode_56_amd64_error_match_len_ofs_mismatch: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000001, ret+24(FP) RET // Return with match too long error sequenceDecs_decode_56_amd64_error_match_len_too_big: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000002, ret+24(FP) RET // Return with match offset too long error + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000003, ret+24(FP) RET // Return with not enough literals error error_not_enough_literals: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000004, ret+24(FP) RET // Return with overread error error_overread: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000006, ret+24(FP) RET // func sequenceDecs_decode_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: BMI, BMI2, CMOV -TEXT ·sequenceDecs_decode_bmi2(SB), $8-32 +TEXT ·sequenceDecs_decode_bmi2(SB), $40-32 MOVQ br+8(FP), BX MOVQ 24(BX), AX MOVBQZX 40(BX), DX @@ -643,6 +637,14 @@ TEXT ·sequenceDecs_decode_bmi2(SB), $8-32 MOVQ 72(CX), SI MOVQ 80(CX), DI MOVQ 88(CX), R8 + MOVQ (CX), R9 + MOVQ R9, 8(SP) + MOVQ 24(CX), R9 + MOVQ R9, 16(SP) + MOVQ 48(CX), R9 + MOVQ R9, 24(SP) + MOVQ 96(CX), R9 + MOVQ R9, 32(SP) MOVQ 104(CX), R9 MOVQ s+0(FP), CX MOVQ 144(CX), R10 @@ -753,8 +755,7 @@ sequenceDecs_decode_bmi2_fill_2_end: MOVQ R13, (SP) MOVQ $0x00000808, CX BEXTRQ CX, R8, R13 - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decode_bmi2_skip_update LEAQ (SI)(DI*1), R14 ADDQ R8, R14 @@ -772,8 +773,7 @@ sequenceDecs_decode_bmi2_fill_2_end: ADDQ CX, R8 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R8*8), R8 // Update Match Length State @@ -783,8 +783,7 @@ sequenceDecs_decode_bmi2_fill_2_end: ADDQ CX, DI // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(DI*8), DI // Update Literal Length State @@ -793,8 +792,7 @@ sequenceDecs_decode_bmi2_fill_2_end: ADDQ CX, SI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(SI*8), SI sequenceDecs_decode_bmi2_skip_update: @@ -875,8 +873,7 @@ sequenceDecs_decode_bmi2_after_adjust: sequenceDecs_decode_bmi2_match_len_ofs_ok: ADDQ $0x18, R9 - MOVQ ctx+16(FP), CX - DECQ 96(CX) + DECQ 32(SP) JNS sequenceDecs_decode_bmi2_main_loop MOVQ s+0(FP), CX MOVQ R10, 144(CX) @@ -888,36 +885,54 @@ sequenceDecs_decode_bmi2_match_len_ofs_ok: MOVQ BX, 32(CX) // Return success + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000000, ret+24(FP) RET // Return with match length error sequenceDecs_decode_bmi2_error_match_len_ofs_mismatch: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000001, ret+24(FP) RET // Return with match too long error sequenceDecs_decode_bmi2_error_match_len_too_big: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000002, ret+24(FP) RET // Return with match offset too long error + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000003, ret+24(FP) RET // Return with not enough literals error error_not_enough_literals: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000004, ret+24(FP) RET // Return with overread error error_overread: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000006, ret+24(FP) RET // func sequenceDecs_decode_56_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: BMI, BMI2, CMOV -TEXT ·sequenceDecs_decode_56_bmi2(SB), $8-32 +TEXT ·sequenceDecs_decode_56_bmi2(SB), $40-32 MOVQ br+8(FP), BX MOVQ 24(BX), AX MOVBQZX 40(BX), DX @@ -929,6 +944,14 @@ TEXT ·sequenceDecs_decode_56_bmi2(SB), $8-32 MOVQ 72(CX), SI MOVQ 80(CX), DI MOVQ 88(CX), R8 + MOVQ (CX), R9 + MOVQ R9, 8(SP) + MOVQ 24(CX), R9 + MOVQ R9, 16(SP) + MOVQ 48(CX), R9 + MOVQ R9, 24(SP) + MOVQ 96(CX), R9 + MOVQ R9, 32(SP) MOVQ 104(CX), R9 MOVQ s+0(FP), CX MOVQ 144(CX), R10 @@ -1010,8 +1033,7 @@ sequenceDecs_decode_56_bmi2_fill_end: MOVQ R13, (SP) MOVQ $0x00000808, CX BEXTRQ CX, R8, R13 - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decode_56_bmi2_skip_update LEAQ (SI)(DI*1), R14 ADDQ R8, R14 @@ -1029,8 +1051,7 @@ sequenceDecs_decode_56_bmi2_fill_end: ADDQ CX, R8 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R8*8), R8 // Update Match Length State @@ -1040,8 +1061,7 @@ sequenceDecs_decode_56_bmi2_fill_end: ADDQ CX, DI // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(DI*8), DI // Update Literal Length State @@ -1050,8 +1070,7 @@ sequenceDecs_decode_56_bmi2_fill_end: ADDQ CX, SI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(SI*8), SI sequenceDecs_decode_56_bmi2_skip_update: @@ -1132,8 +1151,7 @@ sequenceDecs_decode_56_bmi2_after_adjust: sequenceDecs_decode_56_bmi2_match_len_ofs_ok: ADDQ $0x18, R9 - MOVQ ctx+16(FP), CX - DECQ 96(CX) + DECQ 32(SP) JNS sequenceDecs_decode_56_bmi2_main_loop MOVQ s+0(FP), CX MOVQ R10, 144(CX) @@ -1145,30 +1163,48 @@ sequenceDecs_decode_56_bmi2_match_len_ofs_ok: MOVQ BX, 32(CX) // Return success + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000000, ret+24(FP) RET // Return with match length error sequenceDecs_decode_56_bmi2_error_match_len_ofs_mismatch: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000001, ret+24(FP) RET // Return with match too long error sequenceDecs_decode_56_bmi2_error_match_len_too_big: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000002, ret+24(FP) RET // Return with match offset too long error + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000003, ret+24(FP) RET // Return with not enough literals error error_not_enough_literals: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000004, ret+24(FP) RET // Return with overread error error_overread: + MOVQ 32(SP), AX + MOVQ ctx+16(FP), CX + MOVQ AX, 96(CX) MOVQ $0x00000006, ret+24(FP) RET @@ -1203,9 +1239,11 @@ main_loop: MOVQ 8(AX), R13 // Copy literals - TESTQ R11, R11 - JZ check_offset - XORQ R14, R14 + MOVUPS (SI), X0 + MOVUPS X0, (BX) + CMPQ R11, $0x10 + JBE copy_1_end + MOVQ $0x00000010, R14 copy_1: MOVUPS (SI)(R14*1), X0 @@ -1213,12 +1251,13 @@ copy_1: ADDQ $0x10, R14 CMPQ R14, R11 JB copy_1 - ADDQ R11, SI - ADDQ R11, BX - ADDQ R11, DI + +copy_1_end: + ADDQ R11, SI + ADDQ R11, BX + ADDQ R11, DI // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) -check_offset: LEAQ (DI)(R10*1), R11 CMPQ R12, R11 JG error_match_off_too_big @@ -1258,13 +1297,13 @@ copy_4_small: JMP copy_4_move_8through16 copy_4_move_3: - MOVW (R14), R11 - MOVB 2(R14), R12 - MOVW R11, (BX) - MOVB R12, 2(BX) - ADDQ R13, R14 - ADDQ R13, BX - JMP copy_4_end + MOVWQZX (R14), R11 + MOVB 2(R14), R12 + MOVW R11, (BX) + MOVB R12, 2(BX) + ADDQ R13, R14 + ADDQ R13, BX + JMP copy_4_end copy_4_move_4through7: MOVL (R14), R11 @@ -1327,13 +1366,13 @@ copy_5_move_1or2: JMP copy_5_end copy_5_move_3: - MOVW (R14), R15 - MOVB 2(R14), BP - MOVW R15, (BX) - MOVB BP, 2(BX) - ADDQ R11, R14 - ADDQ R11, BX - JMP copy_5_end + MOVWQZX (R14), R15 + MOVB 2(R14), BP + MOVW R15, (BX) + MOVB BP, 2(BX) + ADDQ R11, R14 + ADDQ R11, BX + JMP copy_5_end copy_5_move_4through7: MOVL (R14), R15 @@ -1366,9 +1405,19 @@ copy_match: JA copy_overlapping_match // Copy non-overlapping match - ADDQ R13, DI - MOVQ BX, R12 + ADDQ R13, DI + MOVUPS (R11), X0 + MOVUPS X0, (BX) + CMPQ R13, $0x10 + JA copy_2_long + ADDQ R13, BX + JMP handle_loop + +copy_2_long: + LEAQ 16(BX), R12 ADDQ R13, BX + ADDQ $0x10, R11 + SUBQ $0x10, R13 copy_2: MOVUPS (R11), X0 @@ -1384,12 +1433,12 @@ copy_overlapping_match: ADDQ R13, DI copy_slow_3: - MOVB (R11), R12 - MOVB R12, (BX) - INCQ R11 - INCQ BX - DECQ R13 - JNZ copy_slow_3 + MOVBQZX (R11), R12 + MOVB R12, (BX) + INCQ R11 + INCQ BX + DECQ R13 + JNZ copy_slow_3 handle_loop: ADDQ $0x18, AX @@ -1494,13 +1543,13 @@ copy_1_move_1or2: JMP copy_1_end copy_1_move_3: - MOVW (SI), R14 - MOVB 2(SI), R15 - MOVW R14, (BX) - MOVB R15, 2(BX) - ADDQ R11, SI - ADDQ R11, BX - JMP copy_1_end + MOVWQZX (SI), R14 + MOVB 2(SI), R15 + MOVW R14, (BX) + MOVB R15, 2(BX) + ADDQ R11, SI + ADDQ R11, BX + JMP copy_1_end copy_1_move_4through7: MOVL (SI), R14 @@ -1563,13 +1612,13 @@ copy_4_small: JMP copy_4_move_8through16 copy_4_move_3: - MOVW (R14), R11 - MOVB 2(R14), R12 - MOVW R11, (BX) - MOVB R12, 2(BX) - ADDQ R13, R14 - ADDQ R13, BX - JMP copy_4_end + MOVWQZX (R14), R11 + MOVB 2(R14), R12 + MOVW R11, (BX) + MOVB R12, 2(BX) + ADDQ R13, R14 + ADDQ R13, BX + JMP copy_4_end copy_4_move_4through7: MOVL (R14), R11 @@ -1632,13 +1681,13 @@ copy_5_move_1or2: JMP copy_5_end copy_5_move_3: - MOVW (R14), R15 - MOVB 2(R14), BP - MOVW R15, (BX) - MOVB BP, 2(BX) - ADDQ R11, R14 - ADDQ R11, BX - JMP copy_5_end + MOVWQZX (R14), R15 + MOVB 2(R14), BP + MOVW R15, (BX) + MOVB BP, 2(BX) + ADDQ R11, R14 + ADDQ R11, BX + JMP copy_5_end copy_5_move_4through7: MOVL (R14), R15 @@ -1707,13 +1756,13 @@ copy_2_move_1or2: JMP copy_2_end copy_2_move_3: - MOVW (R11), R12 - MOVB 2(R11), R14 - MOVW R12, (BX) - MOVB R14, 2(BX) - ADDQ R13, R11 - ADDQ R13, BX - JMP copy_2_end + MOVWQZX (R11), R12 + MOVB 2(R11), R14 + MOVW R12, (BX) + MOVB R14, 2(BX) + ADDQ R13, R11 + ADDQ R13, BX + JMP copy_2_end copy_2_move_4through7: MOVL (R11), R12 @@ -1740,12 +1789,12 @@ copy_overlapping_match: ADDQ R13, DI copy_slow_3: - MOVB (R11), R12 - MOVB R12, (BX) - INCQ R11 - INCQ BX - DECQ R13 - JNZ copy_slow_3 + MOVBQZX (R11), R12 + MOVB R12, (BX) + INCQ R11 + INCQ BX + DECQ R13 + JNZ copy_slow_3 handle_loop: ADDQ $0x18, AX @@ -1784,7 +1833,7 @@ empty_seqs: // func sequenceDecs_decodeSync_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int // Requires: CMOV, SSE -TEXT ·sequenceDecs_decodeSync_amd64(SB), $64-32 +TEXT ·sequenceDecs_decodeSync_amd64(SB), $96-32 MOVQ br+8(FP), CX MOVQ 24(CX), DX MOVBQZX 40(CX), BX @@ -1796,26 +1845,34 @@ TEXT ·sequenceDecs_decodeSync_amd64(SB), $64-32 MOVQ 72(AX), DI MOVQ 80(AX), R8 MOVQ 88(AX), R9 - XORQ CX, CX + MOVQ (AX), CX MOVQ CX, 8(SP) + MOVQ 24(AX), CX MOVQ CX, 16(SP) + MOVQ 48(AX), CX MOVQ CX, 24(SP) + MOVQ 96(AX), CX + MOVQ CX, 32(SP) + XORQ CX, CX + MOVQ CX, 40(SP) + MOVQ CX, 48(SP) + MOVQ CX, 56(SP) MOVQ 112(AX), R10 MOVQ 128(AX), CX - MOVQ CX, 32(SP) + MOVQ CX, 64(SP) MOVQ 144(AX), R11 MOVQ 136(AX), R12 MOVQ 200(AX), CX - MOVQ CX, 56(SP) + MOVQ CX, 88(SP) MOVQ 176(AX), CX - MOVQ CX, 48(SP) + MOVQ CX, 80(SP) MOVQ 184(AX), AX - MOVQ AX, 40(SP) - MOVQ 40(SP), AX - ADDQ AX, 48(SP) + MOVQ AX, 72(SP) + MOVQ 72(SP), AX + ADDQ AX, 80(SP) // Calculate pointer to s.out[cap(s.out)] (a past-end pointer) - ADDQ R10, 32(SP) + ADDQ R10, 64(SP) // outBase += outPosition ADDQ R12, R10 @@ -1853,46 +1910,32 @@ sequenceDecs_decodeSync_amd64_fill_check_overread: sequenceDecs_decodeSync_amd64_fill_end: // Update offset - MOVQ R9, AX - MOVQ BX, CX - MOVQ DX, R14 - SHLQ CL, R14 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decodeSync_amd64_of_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decodeSync_amd64_of_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decodeSync_amd64_of_update_zero - NEGQ CX - SHRQ CL, R14 - ADDQ R14, AX - -sequenceDecs_decodeSync_amd64_of_update_zero: - MOVQ AX, 8(SP) + MOVQ R9, AX + MOVQ BX, CX + MOVQ DX, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R14 + ADDQ R14, AX + MOVQ AX, 40(SP) // Update match length - MOVQ R8, AX - MOVQ BX, CX - MOVQ DX, R14 - SHLQ CL, R14 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decodeSync_amd64_ml_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decodeSync_amd64_ml_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decodeSync_amd64_ml_update_zero - NEGQ CX - SHRQ CL, R14 - ADDQ R14, AX - -sequenceDecs_decodeSync_amd64_ml_update_zero: - MOVQ AX, 16(SP) + MOVQ R8, AX + MOVQ BX, CX + MOVQ DX, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R14 + ADDQ R14, AX + MOVQ AX, 48(SP) // Fill bitreader to have enough for the remaining CMPQ SI, $0x08 @@ -1924,96 +1967,82 @@ sequenceDecs_decodeSync_amd64_fill_2_check_overread: sequenceDecs_decodeSync_amd64_fill_2_end: // Update literal length - MOVQ DI, AX - MOVQ BX, CX - MOVQ DX, R14 - SHLQ CL, R14 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decodeSync_amd64_ll_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decodeSync_amd64_ll_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decodeSync_amd64_ll_update_zero - NEGQ CX - SHRQ CL, R14 - ADDQ R14, AX - -sequenceDecs_decodeSync_amd64_ll_update_zero: - MOVQ AX, 24(SP) + MOVQ DI, AX + MOVQ BX, CX + MOVQ DX, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R14 + ADDQ R14, AX + MOVQ AX, 56(SP) // Fill bitreader for state updates MOVQ R13, (SP) MOVQ R9, AX SHRQ $0x08, AX MOVBQZX AL, AX - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decodeSync_amd64_skip_update // Update Literal Length State MOVBQZX DI, R13 SHRL $0x10, DI - LEAQ (BX)(R13*1), CX + MOVQ BX, CX MOVQ DX, R14 - MOVQ CX, BX - ROLQ CL, R14 - MOVL $0x00000001, R15 - MOVB R13, CL - SHLL CL, R15 - DECL R15 - ANDQ R15, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + ADDQ R13, BX + XORQ $0x3f, R13 + MOVQ R13, CX + SHRQ CL, R14 ADDQ R14, DI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(DI*8), DI // Update Match Length State MOVBQZX R8, R13 SHRL $0x10, R8 - LEAQ (BX)(R13*1), CX + MOVQ BX, CX MOVQ DX, R14 - MOVQ CX, BX - ROLQ CL, R14 - MOVL $0x00000001, R15 - MOVB R13, CL - SHLL CL, R15 - DECL R15 - ANDQ R15, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + ADDQ R13, BX + XORQ $0x3f, R13 + MOVQ R13, CX + SHRQ CL, R14 ADDQ R14, R8 // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(R8*8), R8 // Update Offset State MOVBQZX R9, R13 SHRL $0x10, R9 - LEAQ (BX)(R13*1), CX + MOVQ BX, CX MOVQ DX, R14 - MOVQ CX, BX - ROLQ CL, R14 - MOVL $0x00000001, R15 - MOVB R13, CL - SHLL CL, R15 - DECL R15 - ANDQ R15, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + ADDQ R13, BX + XORQ $0x3f, R13 + MOVQ R13, CX + SHRQ CL, R14 ADDQ R14, R9 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R9*8), R9 sequenceDecs_decodeSync_amd64_skip_update: // Adjust offset MOVQ s+0(FP), CX - MOVQ 8(SP), R13 + MOVQ 40(SP), R13 CMPQ AX, $0x01 JBE sequenceDecs_decodeSync_amd64_adjust_offsetB_1_or_0 MOVUPS 144(CX), X0 @@ -2022,7 +2051,7 @@ sequenceDecs_decodeSync_amd64_skip_update: JMP sequenceDecs_decodeSync_amd64_after_adjust sequenceDecs_decodeSync_amd64_adjust_offsetB_1_or_0: - CMPQ 24(SP), $0x00000000 + CMPQ 56(SP), $0x00000000 JNE sequenceDecs_decodeSync_amd64_adjust_offset_maybezero INCQ R13 JMP sequenceDecs_decodeSync_amd64_adjust_offset_nonzero @@ -2057,14 +2086,11 @@ sequenceDecs_decodeSync_amd64_adjust_skip: MOVQ R14, R13 sequenceDecs_decodeSync_amd64_after_adjust: - MOVQ R13, 8(SP) + MOVQ R13, 40(SP) // Check values - MOVQ 16(SP), AX - MOVQ 24(SP), CX - LEAQ (AX)(CX*1), R14 - MOVQ s+0(FP), R15 - ADDQ R14, 256(R15) + MOVQ 48(SP), AX + MOVQ 56(SP), CX MOVQ ctx+16(FP), R14 SUBQ CX, 104(R14) JS error_not_enough_literals @@ -2076,50 +2102,49 @@ sequenceDecs_decodeSync_amd64_after_adjust: JNZ sequenceDecs_decodeSync_amd64_error_match_len_ofs_mismatch sequenceDecs_decodeSync_amd64_match_len_ofs_ok: - MOVQ 24(SP), AX - MOVQ 8(SP), CX - MOVQ 16(SP), R13 - // Check if we have enough space in s.out - LEAQ 16(AX)(R13*1), R14 + LEAQ 16(CX)(AX*1), R14 ADDQ R10, R14 - CMPQ R14, 32(SP) + CMPQ R14, 64(SP) JA error_not_enough_space // Copy literals - TESTQ AX, AX - JZ check_offset - XORQ R14, R14 + MOVUPS (R11), X0 + MOVUPS X0, (R10) + CMPQ CX, $0x10 + JBE copy_1_end + MOVQ $0x00000010, R14 copy_1: MOVUPS (R11)(R14*1), X0 MOVUPS X0, (R10)(R14*1) ADDQ $0x10, R14 - CMPQ R14, AX + CMPQ R14, CX JB copy_1 - ADDQ AX, R11 - ADDQ AX, R10 - ADDQ AX, R12 + +copy_1_end: + ADDQ CX, R11 + ADDQ CX, R10 + ADDQ CX, R12 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) -check_offset: - MOVQ R12, AX - ADDQ 40(SP), AX - CMPQ CX, AX + MOVQ R12, CX + ADDQ 72(SP), CX + CMPQ R13, CX JG error_match_off_too_big - CMPQ CX, 56(SP) + CMPQ R13, 88(SP) JG error_match_off_too_big // Copy match from history - MOVQ CX, AX - SUBQ R12, AX + MOVQ R13, CX + SUBQ R12, CX JLS copy_match - MOVQ 48(SP), R14 - SUBQ AX, R14 - CMPQ R13, AX + MOVQ 80(SP), R14 + SUBQ CX, R14 + CMPQ AX, CX JG copy_all_from_history - MOVQ R13, AX - SUBQ $0x10, AX + MOVQ AX, CX + SUBQ $0x10, CX JB copy_4_small copy_4_loop: @@ -2127,54 +2152,54 @@ copy_4_loop: MOVUPS X0, (R10) ADDQ $0x10, R14 ADDQ $0x10, R10 - SUBQ $0x10, AX + SUBQ $0x10, CX JAE copy_4_loop - LEAQ 16(R14)(AX*1), R14 - LEAQ 16(R10)(AX*1), R10 + LEAQ 16(R14)(CX*1), R14 + LEAQ 16(R10)(CX*1), R10 MOVUPS -16(R14), X0 MOVUPS X0, -16(R10) JMP copy_4_end copy_4_small: - CMPQ R13, $0x03 + CMPQ AX, $0x03 JE copy_4_move_3 - CMPQ R13, $0x08 + CMPQ AX, $0x08 JB copy_4_move_4through7 JMP copy_4_move_8through16 copy_4_move_3: - MOVW (R14), AX - MOVB 2(R14), CL - MOVW AX, (R10) - MOVB CL, 2(R10) - ADDQ R13, R14 - ADDQ R13, R10 - JMP copy_4_end + MOVWQZX (R14), CX + MOVB 2(R14), R13 + MOVW CX, (R10) + MOVB R13, 2(R10) + ADDQ AX, R14 + ADDQ AX, R10 + JMP copy_4_end copy_4_move_4through7: - MOVL (R14), AX - MOVL -4(R14)(R13*1), CX - MOVL AX, (R10) - MOVL CX, -4(R10)(R13*1) - ADDQ R13, R14 - ADDQ R13, R10 + MOVL (R14), CX + MOVL -4(R14)(AX*1), R13 + MOVL CX, (R10) + MOVL R13, -4(R10)(AX*1) + ADDQ AX, R14 + ADDQ AX, R10 JMP copy_4_end copy_4_move_8through16: - MOVQ (R14), AX - MOVQ -8(R14)(R13*1), CX - MOVQ AX, (R10) - MOVQ CX, -8(R10)(R13*1) - ADDQ R13, R14 - ADDQ R13, R10 + MOVQ (R14), CX + MOVQ -8(R14)(AX*1), R13 + MOVQ CX, (R10) + MOVQ R13, -8(R10)(AX*1) + ADDQ AX, R14 + ADDQ AX, R10 copy_4_end: - ADDQ R13, R12 + ADDQ AX, R12 JMP handle_loop JMP loop_finished copy_all_from_history: - MOVQ AX, R15 + MOVQ CX, R15 SUBQ $0x10, R15 JB copy_5_small @@ -2192,90 +2217,99 @@ copy_5_loop: JMP copy_5_end copy_5_small: - CMPQ AX, $0x03 + CMPQ CX, $0x03 JE copy_5_move_3 JB copy_5_move_1or2 - CMPQ AX, $0x08 + CMPQ CX, $0x08 JB copy_5_move_4through7 JMP copy_5_move_8through16 copy_5_move_1or2: MOVB (R14), R15 - MOVB -1(R14)(AX*1), BP + MOVB -1(R14)(CX*1), BP MOVB R15, (R10) - MOVB BP, -1(R10)(AX*1) - ADDQ AX, R14 - ADDQ AX, R10 + MOVB BP, -1(R10)(CX*1) + ADDQ CX, R14 + ADDQ CX, R10 JMP copy_5_end copy_5_move_3: - MOVW (R14), R15 - MOVB 2(R14), BP - MOVW R15, (R10) - MOVB BP, 2(R10) - ADDQ AX, R14 - ADDQ AX, R10 - JMP copy_5_end + MOVWQZX (R14), R15 + MOVB 2(R14), BP + MOVW R15, (R10) + MOVB BP, 2(R10) + ADDQ CX, R14 + ADDQ CX, R10 + JMP copy_5_end copy_5_move_4through7: MOVL (R14), R15 - MOVL -4(R14)(AX*1), BP + MOVL -4(R14)(CX*1), BP MOVL R15, (R10) - MOVL BP, -4(R10)(AX*1) - ADDQ AX, R14 - ADDQ AX, R10 + MOVL BP, -4(R10)(CX*1) + ADDQ CX, R14 + ADDQ CX, R10 JMP copy_5_end copy_5_move_8through16: MOVQ (R14), R15 - MOVQ -8(R14)(AX*1), BP + MOVQ -8(R14)(CX*1), BP MOVQ R15, (R10) - MOVQ BP, -8(R10)(AX*1) - ADDQ AX, R14 - ADDQ AX, R10 + MOVQ BP, -8(R10)(CX*1) + ADDQ CX, R14 + ADDQ CX, R10 copy_5_end: - ADDQ AX, R12 - SUBQ AX, R13 + ADDQ CX, R12 + SUBQ CX, AX // Copy match from the current buffer copy_match: - MOVQ R10, AX - SUBQ CX, AX + MOVQ R10, CX + SUBQ R13, CX // ml <= mo - CMPQ R13, CX + CMPQ AX, R13 JA copy_overlapping_match // Copy non-overlapping match - ADDQ R13, R12 - MOVQ R10, CX - ADDQ R13, R10 + ADDQ AX, R12 + MOVUPS (CX), X0 + MOVUPS X0, (R10) + CMPQ AX, $0x10 + JA copy_2_long + ADDQ AX, R10 + JMP handle_loop + +copy_2_long: + LEAQ 16(R10), R13 + ADDQ AX, R10 + ADDQ $0x10, CX + SUBQ $0x10, AX copy_2: - MOVUPS (AX), X0 - MOVUPS X0, (CX) - ADDQ $0x10, AX + MOVUPS (CX), X0 + MOVUPS X0, (R13) ADDQ $0x10, CX - SUBQ $0x10, R13 + ADDQ $0x10, R13 + SUBQ $0x10, AX JHI copy_2 JMP handle_loop // Copy overlapping match copy_overlapping_match: - ADDQ R13, R12 + ADDQ AX, R12 copy_slow_3: - MOVB (AX), CL - MOVB CL, (R10) - INCQ AX - INCQ R10 - DECQ R13 - JNZ copy_slow_3 + MOVBQZX (CX), R13 + MOVB R13, (R10) + INCQ CX + INCQ R10 + DECQ AX + JNZ copy_slow_3 handle_loop: - MOVQ ctx+16(FP), AX - DECQ 96(AX) + DECQ 32(SP) JNS sequenceDecs_decodeSync_amd64_main_loop loop_finished: @@ -2284,6 +2318,13 @@ loop_finished: MOVB BL, 40(AX) MOVQ SI, 32(AX) + // s.seqSize += outPosition - ctx.outPosition + MOVQ ctx+16(FP), AX + MOVQ s+0(FP), CX + MOVQ R12, DX + SUBQ 136(AX), DX + ADDQ DX, 256(CX) + // Update the context MOVQ ctx+16(FP), AX MOVQ R12, 136(AX) @@ -2297,7 +2338,7 @@ loop_finished: // Return with match length error sequenceDecs_decodeSync_amd64_error_match_len_ofs_mismatch: - MOVQ 16(SP), AX + MOVQ 48(SP), AX MOVQ ctx+16(FP), CX MOVQ AX, 216(CX) MOVQ $0x00000001, ret+24(FP) @@ -2306,7 +2347,7 @@ sequenceDecs_decodeSync_amd64_error_match_len_ofs_mismatch: // Return with match too long error sequenceDecs_decodeSync_amd64_error_match_len_too_big: MOVQ ctx+16(FP), AX - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ $0x00000002, ret+24(FP) RET @@ -2314,7 +2355,7 @@ sequenceDecs_decodeSync_amd64_error_match_len_too_big: // Return with match offset too long error error_match_off_too_big: MOVQ ctx+16(FP), AX - MOVQ 8(SP), CX + MOVQ 40(SP), CX MOVQ CX, 224(AX) MOVQ R12, 136(AX) MOVQ $0x00000003, ret+24(FP) @@ -2323,7 +2364,7 @@ error_match_off_too_big: // Return with not enough literals error error_not_enough_literals: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) MOVQ $0x00000004, ret+24(FP) RET @@ -2336,9 +2377,9 @@ error_overread: // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ R12, 136(AX) MOVQ $0x00000005, ret+24(FP) @@ -2346,7 +2387,7 @@ error_not_enough_space: // func sequenceDecs_decodeSync_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int // Requires: BMI, BMI2, CMOV, SSE -TEXT ·sequenceDecs_decodeSync_bmi2(SB), $64-32 +TEXT ·sequenceDecs_decodeSync_bmi2(SB), $96-32 MOVQ br+8(FP), BX MOVQ 24(BX), AX MOVBQZX 40(BX), DX @@ -2358,26 +2399,34 @@ TEXT ·sequenceDecs_decodeSync_bmi2(SB), $64-32 MOVQ 72(CX), SI MOVQ 80(CX), DI MOVQ 88(CX), R8 - XORQ R9, R9 + MOVQ (CX), R9 MOVQ R9, 8(SP) + MOVQ 24(CX), R9 MOVQ R9, 16(SP) + MOVQ 48(CX), R9 MOVQ R9, 24(SP) + MOVQ 96(CX), R9 + MOVQ R9, 32(SP) + XORQ R9, R9 + MOVQ R9, 40(SP) + MOVQ R9, 48(SP) + MOVQ R9, 56(SP) MOVQ 112(CX), R9 MOVQ 128(CX), R10 - MOVQ R10, 32(SP) + MOVQ R10, 64(SP) MOVQ 144(CX), R10 MOVQ 136(CX), R11 MOVQ 200(CX), R12 - MOVQ R12, 56(SP) + MOVQ R12, 88(SP) MOVQ 176(CX), R12 - MOVQ R12, 48(SP) + MOVQ R12, 80(SP) MOVQ 184(CX), CX - MOVQ CX, 40(SP) - MOVQ 40(SP), CX - ADDQ CX, 48(SP) + MOVQ CX, 72(SP) + MOVQ 72(SP), CX + ADDQ CX, 80(SP) // Calculate pointer to s.out[cap(s.out)] (a past-end pointer) - ADDQ R9, 32(SP) + ADDQ R9, 64(SP) // outBase += outPosition ADDQ R11, R9 @@ -2425,7 +2474,7 @@ sequenceDecs_decodeSync_bmi2_fill_end: MOVQ R8, CX SHRQ $0x20, CX ADDQ R14, CX - MOVQ CX, 8(SP) + MOVQ CX, 40(SP) // Update match length MOVQ $0x00000808, CX @@ -2438,7 +2487,7 @@ sequenceDecs_decodeSync_bmi2_fill_end: MOVQ DI, CX SHRQ $0x20, CX ADDQ R14, CX - MOVQ CX, 16(SP) + MOVQ CX, 48(SP) // Fill bitreader to have enough for the remaining CMPQ BX, $0x08 @@ -2480,14 +2529,13 @@ sequenceDecs_decodeSync_bmi2_fill_2_end: MOVQ SI, CX SHRQ $0x20, CX ADDQ R14, CX - MOVQ CX, 24(SP) + MOVQ CX, 56(SP) // Fill bitreader for state updates MOVQ R12, (SP) MOVQ $0x00000808, CX BEXTRQ CX, R8, R12 - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decodeSync_bmi2_skip_update LEAQ (SI)(DI*1), R13 ADDQ R8, R13 @@ -2505,8 +2553,7 @@ sequenceDecs_decodeSync_bmi2_fill_2_end: ADDQ CX, R8 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R8*8), R8 // Update Match Length State @@ -2516,8 +2563,7 @@ sequenceDecs_decodeSync_bmi2_fill_2_end: ADDQ CX, DI // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(DI*8), DI // Update Literal Length State @@ -2526,14 +2572,13 @@ sequenceDecs_decodeSync_bmi2_fill_2_end: ADDQ CX, SI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(SI*8), SI sequenceDecs_decodeSync_bmi2_skip_update: // Adjust offset MOVQ s+0(FP), CX - MOVQ 8(SP), R13 + MOVQ 40(SP), R13 CMPQ R12, $0x01 JBE sequenceDecs_decodeSync_bmi2_adjust_offsetB_1_or_0 MOVUPS 144(CX), X0 @@ -2542,7 +2587,7 @@ sequenceDecs_decodeSync_bmi2_skip_update: JMP sequenceDecs_decodeSync_bmi2_after_adjust sequenceDecs_decodeSync_bmi2_adjust_offsetB_1_or_0: - CMPQ 24(SP), $0x00000000 + CMPQ 56(SP), $0x00000000 JNE sequenceDecs_decodeSync_bmi2_adjust_offset_maybezero INCQ R13 JMP sequenceDecs_decodeSync_bmi2_adjust_offset_nonzero @@ -2577,14 +2622,11 @@ sequenceDecs_decodeSync_bmi2_adjust_skip: MOVQ R14, R13 sequenceDecs_decodeSync_bmi2_after_adjust: - MOVQ R13, 8(SP) + MOVQ R13, 40(SP) // Check values - MOVQ 16(SP), CX - MOVQ 24(SP), R12 - LEAQ (CX)(R12*1), R14 - MOVQ s+0(FP), R15 - ADDQ R14, 256(R15) + MOVQ 48(SP), CX + MOVQ 56(SP), R12 MOVQ ctx+16(FP), R14 SUBQ R12, 104(R14) JS error_not_enough_literals @@ -2596,50 +2638,49 @@ sequenceDecs_decodeSync_bmi2_after_adjust: JNZ sequenceDecs_decodeSync_bmi2_error_match_len_ofs_mismatch sequenceDecs_decodeSync_bmi2_match_len_ofs_ok: - MOVQ 24(SP), CX - MOVQ 8(SP), R12 - MOVQ 16(SP), R13 - // Check if we have enough space in s.out - LEAQ 16(CX)(R13*1), R14 + LEAQ 16(R12)(CX*1), R14 ADDQ R9, R14 - CMPQ R14, 32(SP) + CMPQ R14, 64(SP) JA error_not_enough_space // Copy literals - TESTQ CX, CX - JZ check_offset - XORQ R14, R14 + MOVUPS (R10), X0 + MOVUPS X0, (R9) + CMPQ R12, $0x10 + JBE copy_1_end + MOVQ $0x00000010, R14 copy_1: MOVUPS (R10)(R14*1), X0 MOVUPS X0, (R9)(R14*1) ADDQ $0x10, R14 - CMPQ R14, CX + CMPQ R14, R12 JB copy_1 - ADDQ CX, R10 - ADDQ CX, R9 - ADDQ CX, R11 + +copy_1_end: + ADDQ R12, R10 + ADDQ R12, R9 + ADDQ R12, R11 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) -check_offset: - MOVQ R11, CX - ADDQ 40(SP), CX - CMPQ R12, CX + MOVQ R11, R12 + ADDQ 72(SP), R12 + CMPQ R13, R12 JG error_match_off_too_big - CMPQ R12, 56(SP) + CMPQ R13, 88(SP) JG error_match_off_too_big // Copy match from history - MOVQ R12, CX - SUBQ R11, CX + MOVQ R13, R12 + SUBQ R11, R12 JLS copy_match - MOVQ 48(SP), R14 - SUBQ CX, R14 - CMPQ R13, CX + MOVQ 80(SP), R14 + SUBQ R12, R14 + CMPQ CX, R12 JG copy_all_from_history - MOVQ R13, CX - SUBQ $0x10, CX + MOVQ CX, R12 + SUBQ $0x10, R12 JB copy_4_small copy_4_loop: @@ -2647,54 +2688,54 @@ copy_4_loop: MOVUPS X0, (R9) ADDQ $0x10, R14 ADDQ $0x10, R9 - SUBQ $0x10, CX + SUBQ $0x10, R12 JAE copy_4_loop - LEAQ 16(R14)(CX*1), R14 - LEAQ 16(R9)(CX*1), R9 + LEAQ 16(R14)(R12*1), R14 + LEAQ 16(R9)(R12*1), R9 MOVUPS -16(R14), X0 MOVUPS X0, -16(R9) JMP copy_4_end copy_4_small: - CMPQ R13, $0x03 + CMPQ CX, $0x03 JE copy_4_move_3 - CMPQ R13, $0x08 + CMPQ CX, $0x08 JB copy_4_move_4through7 JMP copy_4_move_8through16 copy_4_move_3: - MOVW (R14), CX - MOVB 2(R14), R12 - MOVW CX, (R9) - MOVB R12, 2(R9) - ADDQ R13, R14 - ADDQ R13, R9 - JMP copy_4_end + MOVWQZX (R14), R12 + MOVB 2(R14), R13 + MOVW R12, (R9) + MOVB R13, 2(R9) + ADDQ CX, R14 + ADDQ CX, R9 + JMP copy_4_end copy_4_move_4through7: - MOVL (R14), CX - MOVL -4(R14)(R13*1), R12 - MOVL CX, (R9) - MOVL R12, -4(R9)(R13*1) - ADDQ R13, R14 - ADDQ R13, R9 + MOVL (R14), R12 + MOVL -4(R14)(CX*1), R13 + MOVL R12, (R9) + MOVL R13, -4(R9)(CX*1) + ADDQ CX, R14 + ADDQ CX, R9 JMP copy_4_end copy_4_move_8through16: - MOVQ (R14), CX - MOVQ -8(R14)(R13*1), R12 - MOVQ CX, (R9) - MOVQ R12, -8(R9)(R13*1) - ADDQ R13, R14 - ADDQ R13, R9 + MOVQ (R14), R12 + MOVQ -8(R14)(CX*1), R13 + MOVQ R12, (R9) + MOVQ R13, -8(R9)(CX*1) + ADDQ CX, R14 + ADDQ CX, R9 copy_4_end: - ADDQ R13, R11 + ADDQ CX, R11 JMP handle_loop JMP loop_finished copy_all_from_history: - MOVQ CX, R15 + MOVQ R12, R15 SUBQ $0x10, R15 JB copy_5_small @@ -2712,90 +2753,99 @@ copy_5_loop: JMP copy_5_end copy_5_small: - CMPQ CX, $0x03 + CMPQ R12, $0x03 JE copy_5_move_3 JB copy_5_move_1or2 - CMPQ CX, $0x08 + CMPQ R12, $0x08 JB copy_5_move_4through7 JMP copy_5_move_8through16 copy_5_move_1or2: MOVB (R14), R15 - MOVB -1(R14)(CX*1), BP + MOVB -1(R14)(R12*1), BP MOVB R15, (R9) - MOVB BP, -1(R9)(CX*1) - ADDQ CX, R14 - ADDQ CX, R9 + MOVB BP, -1(R9)(R12*1) + ADDQ R12, R14 + ADDQ R12, R9 JMP copy_5_end copy_5_move_3: - MOVW (R14), R15 - MOVB 2(R14), BP - MOVW R15, (R9) - MOVB BP, 2(R9) - ADDQ CX, R14 - ADDQ CX, R9 - JMP copy_5_end + MOVWQZX (R14), R15 + MOVB 2(R14), BP + MOVW R15, (R9) + MOVB BP, 2(R9) + ADDQ R12, R14 + ADDQ R12, R9 + JMP copy_5_end copy_5_move_4through7: MOVL (R14), R15 - MOVL -4(R14)(CX*1), BP + MOVL -4(R14)(R12*1), BP MOVL R15, (R9) - MOVL BP, -4(R9)(CX*1) - ADDQ CX, R14 - ADDQ CX, R9 + MOVL BP, -4(R9)(R12*1) + ADDQ R12, R14 + ADDQ R12, R9 JMP copy_5_end copy_5_move_8through16: MOVQ (R14), R15 - MOVQ -8(R14)(CX*1), BP + MOVQ -8(R14)(R12*1), BP MOVQ R15, (R9) - MOVQ BP, -8(R9)(CX*1) - ADDQ CX, R14 - ADDQ CX, R9 + MOVQ BP, -8(R9)(R12*1) + ADDQ R12, R14 + ADDQ R12, R9 copy_5_end: - ADDQ CX, R11 - SUBQ CX, R13 + ADDQ R12, R11 + SUBQ R12, CX // Copy match from the current buffer copy_match: - MOVQ R9, CX - SUBQ R12, CX + MOVQ R9, R12 + SUBQ R13, R12 // ml <= mo - CMPQ R13, R12 + CMPQ CX, R13 JA copy_overlapping_match // Copy non-overlapping match - ADDQ R13, R11 - MOVQ R9, R12 - ADDQ R13, R9 + ADDQ CX, R11 + MOVUPS (R12), X0 + MOVUPS X0, (R9) + CMPQ CX, $0x10 + JA copy_2_long + ADDQ CX, R9 + JMP handle_loop + +copy_2_long: + LEAQ 16(R9), R13 + ADDQ CX, R9 + ADDQ $0x10, R12 + SUBQ $0x10, CX copy_2: - MOVUPS (CX), X0 - MOVUPS X0, (R12) - ADDQ $0x10, CX + MOVUPS (R12), X0 + MOVUPS X0, (R13) ADDQ $0x10, R12 - SUBQ $0x10, R13 + ADDQ $0x10, R13 + SUBQ $0x10, CX JHI copy_2 JMP handle_loop // Copy overlapping match copy_overlapping_match: - ADDQ R13, R11 + ADDQ CX, R11 copy_slow_3: - MOVB (CX), R12 - MOVB R12, (R9) - INCQ CX - INCQ R9 - DECQ R13 - JNZ copy_slow_3 + MOVBQZX (R12), R13 + MOVB R13, (R9) + INCQ R12 + INCQ R9 + DECQ CX + JNZ copy_slow_3 handle_loop: - MOVQ ctx+16(FP), CX - DECQ 96(CX) + DECQ 32(SP) JNS sequenceDecs_decodeSync_bmi2_main_loop loop_finished: @@ -2804,6 +2854,13 @@ loop_finished: MOVB DL, 40(CX) MOVQ BX, 32(CX) + // s.seqSize += outPosition - ctx.outPosition + MOVQ ctx+16(FP), AX + MOVQ s+0(FP), CX + MOVQ R11, DX + SUBQ 136(AX), DX + ADDQ DX, 256(CX) + // Update the context MOVQ ctx+16(FP), AX MOVQ R11, 136(AX) @@ -2817,7 +2874,7 @@ loop_finished: // Return with match length error sequenceDecs_decodeSync_bmi2_error_match_len_ofs_mismatch: - MOVQ 16(SP), AX + MOVQ 48(SP), AX MOVQ ctx+16(FP), CX MOVQ AX, 216(CX) MOVQ $0x00000001, ret+24(FP) @@ -2826,7 +2883,7 @@ sequenceDecs_decodeSync_bmi2_error_match_len_ofs_mismatch: // Return with match too long error sequenceDecs_decodeSync_bmi2_error_match_len_too_big: MOVQ ctx+16(FP), AX - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ $0x00000002, ret+24(FP) RET @@ -2834,7 +2891,7 @@ sequenceDecs_decodeSync_bmi2_error_match_len_too_big: // Return with match offset too long error error_match_off_too_big: MOVQ ctx+16(FP), AX - MOVQ 8(SP), CX + MOVQ 40(SP), CX MOVQ CX, 224(AX) MOVQ R11, 136(AX) MOVQ $0x00000003, ret+24(FP) @@ -2843,7 +2900,7 @@ error_match_off_too_big: // Return with not enough literals error error_not_enough_literals: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) MOVQ $0x00000004, ret+24(FP) RET @@ -2856,9 +2913,9 @@ error_overread: // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ R11, 136(AX) MOVQ $0x00000005, ret+24(FP) @@ -2866,7 +2923,7 @@ error_not_enough_space: // func sequenceDecs_decodeSync_safe_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int // Requires: CMOV, SSE -TEXT ·sequenceDecs_decodeSync_safe_amd64(SB), $64-32 +TEXT ·sequenceDecs_decodeSync_safe_amd64(SB), $96-32 MOVQ br+8(FP), CX MOVQ 24(CX), DX MOVBQZX 40(CX), BX @@ -2878,26 +2935,34 @@ TEXT ·sequenceDecs_decodeSync_safe_amd64(SB), $64-32 MOVQ 72(AX), DI MOVQ 80(AX), R8 MOVQ 88(AX), R9 - XORQ CX, CX + MOVQ (AX), CX MOVQ CX, 8(SP) + MOVQ 24(AX), CX MOVQ CX, 16(SP) + MOVQ 48(AX), CX MOVQ CX, 24(SP) + MOVQ 96(AX), CX + MOVQ CX, 32(SP) + XORQ CX, CX + MOVQ CX, 40(SP) + MOVQ CX, 48(SP) + MOVQ CX, 56(SP) MOVQ 112(AX), R10 MOVQ 128(AX), CX - MOVQ CX, 32(SP) + MOVQ CX, 64(SP) MOVQ 144(AX), R11 MOVQ 136(AX), R12 MOVQ 200(AX), CX - MOVQ CX, 56(SP) + MOVQ CX, 88(SP) MOVQ 176(AX), CX - MOVQ CX, 48(SP) + MOVQ CX, 80(SP) MOVQ 184(AX), AX - MOVQ AX, 40(SP) - MOVQ 40(SP), AX - ADDQ AX, 48(SP) + MOVQ AX, 72(SP) + MOVQ 72(SP), AX + ADDQ AX, 80(SP) // Calculate pointer to s.out[cap(s.out)] (a past-end pointer) - ADDQ R10, 32(SP) + ADDQ R10, 64(SP) // outBase += outPosition ADDQ R12, R10 @@ -2935,46 +3000,32 @@ sequenceDecs_decodeSync_safe_amd64_fill_check_overread: sequenceDecs_decodeSync_safe_amd64_fill_end: // Update offset - MOVQ R9, AX - MOVQ BX, CX - MOVQ DX, R14 - SHLQ CL, R14 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decodeSync_safe_amd64_of_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decodeSync_safe_amd64_of_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decodeSync_safe_amd64_of_update_zero - NEGQ CX - SHRQ CL, R14 - ADDQ R14, AX - -sequenceDecs_decodeSync_safe_amd64_of_update_zero: - MOVQ AX, 8(SP) + MOVQ R9, AX + MOVQ BX, CX + MOVQ DX, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R14 + ADDQ R14, AX + MOVQ AX, 40(SP) // Update match length - MOVQ R8, AX - MOVQ BX, CX - MOVQ DX, R14 - SHLQ CL, R14 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decodeSync_safe_amd64_ml_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decodeSync_safe_amd64_ml_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decodeSync_safe_amd64_ml_update_zero - NEGQ CX - SHRQ CL, R14 - ADDQ R14, AX - -sequenceDecs_decodeSync_safe_amd64_ml_update_zero: - MOVQ AX, 16(SP) + MOVQ R8, AX + MOVQ BX, CX + MOVQ DX, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R14 + ADDQ R14, AX + MOVQ AX, 48(SP) // Fill bitreader to have enough for the remaining CMPQ SI, $0x08 @@ -3006,96 +3057,82 @@ sequenceDecs_decodeSync_safe_amd64_fill_2_check_overread: sequenceDecs_decodeSync_safe_amd64_fill_2_end: // Update literal length - MOVQ DI, AX - MOVQ BX, CX - MOVQ DX, R14 - SHLQ CL, R14 - MOVB AH, CL - SHRQ $0x20, AX - TESTQ CX, CX - JZ sequenceDecs_decodeSync_safe_amd64_ll_update_zero - ADDQ CX, BX - CMPQ BX, $0x40 - JA sequenceDecs_decodeSync_safe_amd64_ll_update_zero - CMPQ CX, $0x40 - JAE sequenceDecs_decodeSync_safe_amd64_ll_update_zero - NEGQ CX - SHRQ CL, R14 - ADDQ R14, AX - -sequenceDecs_decodeSync_safe_amd64_ll_update_zero: - MOVQ AX, 24(SP) + MOVQ DI, AX + MOVQ BX, CX + MOVQ DX, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + MOVBLZX AH, CX + SHRQ $0x20, AX + ADDQ CX, BX + XORQ $0x3f, CX + SHRQ CL, R14 + ADDQ R14, AX + MOVQ AX, 56(SP) // Fill bitreader for state updates MOVQ R13, (SP) MOVQ R9, AX SHRQ $0x08, AX MOVBQZX AL, AX - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decodeSync_safe_amd64_skip_update // Update Literal Length State MOVBQZX DI, R13 SHRL $0x10, DI - LEAQ (BX)(R13*1), CX + MOVQ BX, CX MOVQ DX, R14 - MOVQ CX, BX - ROLQ CL, R14 - MOVL $0x00000001, R15 - MOVB R13, CL - SHLL CL, R15 - DECL R15 - ANDQ R15, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + ADDQ R13, BX + XORQ $0x3f, R13 + MOVQ R13, CX + SHRQ CL, R14 ADDQ R14, DI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(DI*8), DI // Update Match Length State MOVBQZX R8, R13 SHRL $0x10, R8 - LEAQ (BX)(R13*1), CX + MOVQ BX, CX MOVQ DX, R14 - MOVQ CX, BX - ROLQ CL, R14 - MOVL $0x00000001, R15 - MOVB R13, CL - SHLL CL, R15 - DECL R15 - ANDQ R15, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + ADDQ R13, BX + XORQ $0x3f, R13 + MOVQ R13, CX + SHRQ CL, R14 ADDQ R14, R8 // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(R8*8), R8 // Update Offset State MOVBQZX R9, R13 SHRL $0x10, R9 - LEAQ (BX)(R13*1), CX + MOVQ BX, CX MOVQ DX, R14 - MOVQ CX, BX - ROLQ CL, R14 - MOVL $0x00000001, R15 - MOVB R13, CL - SHLL CL, R15 - DECL R15 - ANDQ R15, R14 + SHLQ CL, R14 + SHRQ $0x01, R14 + ADDQ R13, BX + XORQ $0x3f, R13 + MOVQ R13, CX + SHRQ CL, R14 ADDQ R14, R9 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R9*8), R9 sequenceDecs_decodeSync_safe_amd64_skip_update: // Adjust offset MOVQ s+0(FP), CX - MOVQ 8(SP), R13 + MOVQ 40(SP), R13 CMPQ AX, $0x01 JBE sequenceDecs_decodeSync_safe_amd64_adjust_offsetB_1_or_0 MOVUPS 144(CX), X0 @@ -3104,7 +3141,7 @@ sequenceDecs_decodeSync_safe_amd64_skip_update: JMP sequenceDecs_decodeSync_safe_amd64_after_adjust sequenceDecs_decodeSync_safe_amd64_adjust_offsetB_1_or_0: - CMPQ 24(SP), $0x00000000 + CMPQ 56(SP), $0x00000000 JNE sequenceDecs_decodeSync_safe_amd64_adjust_offset_maybezero INCQ R13 JMP sequenceDecs_decodeSync_safe_amd64_adjust_offset_nonzero @@ -3139,14 +3176,11 @@ sequenceDecs_decodeSync_safe_amd64_adjust_skip: MOVQ R14, R13 sequenceDecs_decodeSync_safe_amd64_after_adjust: - MOVQ R13, 8(SP) + MOVQ R13, 40(SP) // Check values - MOVQ 16(SP), AX - MOVQ 24(SP), CX - LEAQ (AX)(CX*1), R14 - MOVQ s+0(FP), R15 - ADDQ R14, 256(R15) + MOVQ 48(SP), AX + MOVQ 56(SP), CX MOVQ ctx+16(FP), R14 SUBQ CX, 104(R14) JS error_not_enough_literals @@ -3158,20 +3192,16 @@ sequenceDecs_decodeSync_safe_amd64_after_adjust: JNZ sequenceDecs_decodeSync_safe_amd64_error_match_len_ofs_mismatch sequenceDecs_decodeSync_safe_amd64_match_len_ofs_ok: - MOVQ 24(SP), AX - MOVQ 8(SP), CX - MOVQ 16(SP), R13 - // Check if we have enough space in s.out - LEAQ (AX)(R13*1), R14 + LEAQ (CX)(AX*1), R14 ADDQ R10, R14 - CMPQ R14, 32(SP) + CMPQ R14, 64(SP) JA error_not_enough_space // Copy literals - TESTQ AX, AX + TESTQ CX, CX JZ check_offset - MOVQ AX, R14 + MOVQ CX, R14 SUBQ $0x10, R14 JB copy_1_small @@ -3189,70 +3219,70 @@ copy_1_loop: JMP copy_1_end copy_1_small: - CMPQ AX, $0x03 + CMPQ CX, $0x03 JE copy_1_move_3 JB copy_1_move_1or2 - CMPQ AX, $0x08 + CMPQ CX, $0x08 JB copy_1_move_4through7 JMP copy_1_move_8through16 copy_1_move_1or2: MOVB (R11), R14 - MOVB -1(R11)(AX*1), R15 + MOVB -1(R11)(CX*1), R15 MOVB R14, (R10) - MOVB R15, -1(R10)(AX*1) - ADDQ AX, R11 - ADDQ AX, R10 + MOVB R15, -1(R10)(CX*1) + ADDQ CX, R11 + ADDQ CX, R10 JMP copy_1_end copy_1_move_3: - MOVW (R11), R14 - MOVB 2(R11), R15 - MOVW R14, (R10) - MOVB R15, 2(R10) - ADDQ AX, R11 - ADDQ AX, R10 - JMP copy_1_end + MOVWQZX (R11), R14 + MOVB 2(R11), R15 + MOVW R14, (R10) + MOVB R15, 2(R10) + ADDQ CX, R11 + ADDQ CX, R10 + JMP copy_1_end copy_1_move_4through7: MOVL (R11), R14 - MOVL -4(R11)(AX*1), R15 + MOVL -4(R11)(CX*1), R15 MOVL R14, (R10) - MOVL R15, -4(R10)(AX*1) - ADDQ AX, R11 - ADDQ AX, R10 + MOVL R15, -4(R10)(CX*1) + ADDQ CX, R11 + ADDQ CX, R10 JMP copy_1_end copy_1_move_8through16: MOVQ (R11), R14 - MOVQ -8(R11)(AX*1), R15 + MOVQ -8(R11)(CX*1), R15 MOVQ R14, (R10) - MOVQ R15, -8(R10)(AX*1) - ADDQ AX, R11 - ADDQ AX, R10 + MOVQ R15, -8(R10)(CX*1) + ADDQ CX, R11 + ADDQ CX, R10 copy_1_end: - ADDQ AX, R12 + ADDQ CX, R12 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) check_offset: - MOVQ R12, AX - ADDQ 40(SP), AX - CMPQ CX, AX + MOVQ R12, CX + ADDQ 72(SP), CX + CMPQ R13, CX JG error_match_off_too_big - CMPQ CX, 56(SP) + CMPQ R13, 88(SP) JG error_match_off_too_big // Copy match from history - MOVQ CX, AX - SUBQ R12, AX + MOVQ R13, CX + SUBQ R12, CX JLS copy_match - MOVQ 48(SP), R14 - SUBQ AX, R14 - CMPQ R13, AX + MOVQ 80(SP), R14 + SUBQ CX, R14 + CMPQ AX, CX JG copy_all_from_history - MOVQ R13, AX - SUBQ $0x10, AX + MOVQ AX, CX + SUBQ $0x10, CX JB copy_4_small copy_4_loop: @@ -3260,54 +3290,54 @@ copy_4_loop: MOVUPS X0, (R10) ADDQ $0x10, R14 ADDQ $0x10, R10 - SUBQ $0x10, AX + SUBQ $0x10, CX JAE copy_4_loop - LEAQ 16(R14)(AX*1), R14 - LEAQ 16(R10)(AX*1), R10 + LEAQ 16(R14)(CX*1), R14 + LEAQ 16(R10)(CX*1), R10 MOVUPS -16(R14), X0 MOVUPS X0, -16(R10) JMP copy_4_end copy_4_small: - CMPQ R13, $0x03 + CMPQ AX, $0x03 JE copy_4_move_3 - CMPQ R13, $0x08 + CMPQ AX, $0x08 JB copy_4_move_4through7 JMP copy_4_move_8through16 copy_4_move_3: - MOVW (R14), AX - MOVB 2(R14), CL - MOVW AX, (R10) - MOVB CL, 2(R10) - ADDQ R13, R14 - ADDQ R13, R10 - JMP copy_4_end + MOVWQZX (R14), CX + MOVB 2(R14), R13 + MOVW CX, (R10) + MOVB R13, 2(R10) + ADDQ AX, R14 + ADDQ AX, R10 + JMP copy_4_end copy_4_move_4through7: - MOVL (R14), AX - MOVL -4(R14)(R13*1), CX - MOVL AX, (R10) - MOVL CX, -4(R10)(R13*1) - ADDQ R13, R14 - ADDQ R13, R10 + MOVL (R14), CX + MOVL -4(R14)(AX*1), R13 + MOVL CX, (R10) + MOVL R13, -4(R10)(AX*1) + ADDQ AX, R14 + ADDQ AX, R10 JMP copy_4_end copy_4_move_8through16: - MOVQ (R14), AX - MOVQ -8(R14)(R13*1), CX - MOVQ AX, (R10) - MOVQ CX, -8(R10)(R13*1) - ADDQ R13, R14 - ADDQ R13, R10 + MOVQ (R14), CX + MOVQ -8(R14)(AX*1), R13 + MOVQ CX, (R10) + MOVQ R13, -8(R10)(AX*1) + ADDQ AX, R14 + ADDQ AX, R10 copy_4_end: - ADDQ R13, R12 + ADDQ AX, R12 JMP handle_loop JMP loop_finished copy_all_from_history: - MOVQ AX, R15 + MOVQ CX, R15 SUBQ $0x10, R15 JB copy_5_small @@ -3325,141 +3355,140 @@ copy_5_loop: JMP copy_5_end copy_5_small: - CMPQ AX, $0x03 + CMPQ CX, $0x03 JE copy_5_move_3 JB copy_5_move_1or2 - CMPQ AX, $0x08 + CMPQ CX, $0x08 JB copy_5_move_4through7 JMP copy_5_move_8through16 copy_5_move_1or2: MOVB (R14), R15 - MOVB -1(R14)(AX*1), BP + MOVB -1(R14)(CX*1), BP MOVB R15, (R10) - MOVB BP, -1(R10)(AX*1) - ADDQ AX, R14 - ADDQ AX, R10 + MOVB BP, -1(R10)(CX*1) + ADDQ CX, R14 + ADDQ CX, R10 JMP copy_5_end copy_5_move_3: - MOVW (R14), R15 - MOVB 2(R14), BP - MOVW R15, (R10) - MOVB BP, 2(R10) - ADDQ AX, R14 - ADDQ AX, R10 - JMP copy_5_end + MOVWQZX (R14), R15 + MOVB 2(R14), BP + MOVW R15, (R10) + MOVB BP, 2(R10) + ADDQ CX, R14 + ADDQ CX, R10 + JMP copy_5_end copy_5_move_4through7: MOVL (R14), R15 - MOVL -4(R14)(AX*1), BP + MOVL -4(R14)(CX*1), BP MOVL R15, (R10) - MOVL BP, -4(R10)(AX*1) - ADDQ AX, R14 - ADDQ AX, R10 + MOVL BP, -4(R10)(CX*1) + ADDQ CX, R14 + ADDQ CX, R10 JMP copy_5_end copy_5_move_8through16: MOVQ (R14), R15 - MOVQ -8(R14)(AX*1), BP + MOVQ -8(R14)(CX*1), BP MOVQ R15, (R10) - MOVQ BP, -8(R10)(AX*1) - ADDQ AX, R14 - ADDQ AX, R10 + MOVQ BP, -8(R10)(CX*1) + ADDQ CX, R14 + ADDQ CX, R10 copy_5_end: - ADDQ AX, R12 - SUBQ AX, R13 + ADDQ CX, R12 + SUBQ CX, AX // Copy match from the current buffer copy_match: - MOVQ R10, AX - SUBQ CX, AX + MOVQ R10, CX + SUBQ R13, CX // ml <= mo - CMPQ R13, CX + CMPQ AX, R13 JA copy_overlapping_match // Copy non-overlapping match - ADDQ R13, R12 - MOVQ R13, CX - SUBQ $0x10, CX + ADDQ AX, R12 + MOVQ AX, R13 + SUBQ $0x10, R13 JB copy_2_small copy_2_loop: - MOVUPS (AX), X0 + MOVUPS (CX), X0 MOVUPS X0, (R10) - ADDQ $0x10, AX + ADDQ $0x10, CX ADDQ $0x10, R10 - SUBQ $0x10, CX + SUBQ $0x10, R13 JAE copy_2_loop - LEAQ 16(AX)(CX*1), AX - LEAQ 16(R10)(CX*1), R10 - MOVUPS -16(AX), X0 + LEAQ 16(CX)(R13*1), CX + LEAQ 16(R10)(R13*1), R10 + MOVUPS -16(CX), X0 MOVUPS X0, -16(R10) JMP copy_2_end copy_2_small: - CMPQ R13, $0x03 + CMPQ AX, $0x03 JE copy_2_move_3 JB copy_2_move_1or2 - CMPQ R13, $0x08 + CMPQ AX, $0x08 JB copy_2_move_4through7 JMP copy_2_move_8through16 copy_2_move_1or2: - MOVB (AX), CL - MOVB -1(AX)(R13*1), R14 - MOVB CL, (R10) - MOVB R14, -1(R10)(R13*1) - ADDQ R13, AX - ADDQ R13, R10 + MOVB (CX), R13 + MOVB -1(CX)(AX*1), R14 + MOVB R13, (R10) + MOVB R14, -1(R10)(AX*1) + ADDQ AX, CX + ADDQ AX, R10 JMP copy_2_end copy_2_move_3: - MOVW (AX), CX - MOVB 2(AX), R14 - MOVW CX, (R10) - MOVB R14, 2(R10) - ADDQ R13, AX - ADDQ R13, R10 - JMP copy_2_end + MOVWQZX (CX), R13 + MOVB 2(CX), R14 + MOVW R13, (R10) + MOVB R14, 2(R10) + ADDQ AX, CX + ADDQ AX, R10 + JMP copy_2_end copy_2_move_4through7: - MOVL (AX), CX - MOVL -4(AX)(R13*1), R14 - MOVL CX, (R10) - MOVL R14, -4(R10)(R13*1) - ADDQ R13, AX - ADDQ R13, R10 + MOVL (CX), R13 + MOVL -4(CX)(AX*1), R14 + MOVL R13, (R10) + MOVL R14, -4(R10)(AX*1) + ADDQ AX, CX + ADDQ AX, R10 JMP copy_2_end copy_2_move_8through16: - MOVQ (AX), CX - MOVQ -8(AX)(R13*1), R14 - MOVQ CX, (R10) - MOVQ R14, -8(R10)(R13*1) - ADDQ R13, AX - ADDQ R13, R10 + MOVQ (CX), R13 + MOVQ -8(CX)(AX*1), R14 + MOVQ R13, (R10) + MOVQ R14, -8(R10)(AX*1) + ADDQ AX, CX + ADDQ AX, R10 copy_2_end: JMP handle_loop // Copy overlapping match copy_overlapping_match: - ADDQ R13, R12 + ADDQ AX, R12 copy_slow_3: - MOVB (AX), CL - MOVB CL, (R10) - INCQ AX - INCQ R10 - DECQ R13 - JNZ copy_slow_3 + MOVBQZX (CX), R13 + MOVB R13, (R10) + INCQ CX + INCQ R10 + DECQ AX + JNZ copy_slow_3 handle_loop: - MOVQ ctx+16(FP), AX - DECQ 96(AX) + DECQ 32(SP) JNS sequenceDecs_decodeSync_safe_amd64_main_loop loop_finished: @@ -3468,6 +3497,13 @@ loop_finished: MOVB BL, 40(AX) MOVQ SI, 32(AX) + // s.seqSize += outPosition - ctx.outPosition + MOVQ ctx+16(FP), AX + MOVQ s+0(FP), CX + MOVQ R12, DX + SUBQ 136(AX), DX + ADDQ DX, 256(CX) + // Update the context MOVQ ctx+16(FP), AX MOVQ R12, 136(AX) @@ -3481,7 +3517,7 @@ loop_finished: // Return with match length error sequenceDecs_decodeSync_safe_amd64_error_match_len_ofs_mismatch: - MOVQ 16(SP), AX + MOVQ 48(SP), AX MOVQ ctx+16(FP), CX MOVQ AX, 216(CX) MOVQ $0x00000001, ret+24(FP) @@ -3490,7 +3526,7 @@ sequenceDecs_decodeSync_safe_amd64_error_match_len_ofs_mismatch: // Return with match too long error sequenceDecs_decodeSync_safe_amd64_error_match_len_too_big: MOVQ ctx+16(FP), AX - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ $0x00000002, ret+24(FP) RET @@ -3498,7 +3534,7 @@ sequenceDecs_decodeSync_safe_amd64_error_match_len_too_big: // Return with match offset too long error error_match_off_too_big: MOVQ ctx+16(FP), AX - MOVQ 8(SP), CX + MOVQ 40(SP), CX MOVQ CX, 224(AX) MOVQ R12, 136(AX) MOVQ $0x00000003, ret+24(FP) @@ -3507,7 +3543,7 @@ error_match_off_too_big: // Return with not enough literals error error_not_enough_literals: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) MOVQ $0x00000004, ret+24(FP) RET @@ -3520,9 +3556,9 @@ error_overread: // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ R12, 136(AX) MOVQ $0x00000005, ret+24(FP) @@ -3530,7 +3566,7 @@ error_not_enough_space: // func sequenceDecs_decodeSync_safe_bmi2(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int // Requires: BMI, BMI2, CMOV, SSE -TEXT ·sequenceDecs_decodeSync_safe_bmi2(SB), $64-32 +TEXT ·sequenceDecs_decodeSync_safe_bmi2(SB), $96-32 MOVQ br+8(FP), BX MOVQ 24(BX), AX MOVBQZX 40(BX), DX @@ -3542,26 +3578,34 @@ TEXT ·sequenceDecs_decodeSync_safe_bmi2(SB), $64-32 MOVQ 72(CX), SI MOVQ 80(CX), DI MOVQ 88(CX), R8 - XORQ R9, R9 + MOVQ (CX), R9 MOVQ R9, 8(SP) + MOVQ 24(CX), R9 MOVQ R9, 16(SP) + MOVQ 48(CX), R9 MOVQ R9, 24(SP) + MOVQ 96(CX), R9 + MOVQ R9, 32(SP) + XORQ R9, R9 + MOVQ R9, 40(SP) + MOVQ R9, 48(SP) + MOVQ R9, 56(SP) MOVQ 112(CX), R9 MOVQ 128(CX), R10 - MOVQ R10, 32(SP) + MOVQ R10, 64(SP) MOVQ 144(CX), R10 MOVQ 136(CX), R11 MOVQ 200(CX), R12 - MOVQ R12, 56(SP) + MOVQ R12, 88(SP) MOVQ 176(CX), R12 - MOVQ R12, 48(SP) + MOVQ R12, 80(SP) MOVQ 184(CX), CX - MOVQ CX, 40(SP) - MOVQ 40(SP), CX - ADDQ CX, 48(SP) + MOVQ CX, 72(SP) + MOVQ 72(SP), CX + ADDQ CX, 80(SP) // Calculate pointer to s.out[cap(s.out)] (a past-end pointer) - ADDQ R9, 32(SP) + ADDQ R9, 64(SP) // outBase += outPosition ADDQ R11, R9 @@ -3609,7 +3653,7 @@ sequenceDecs_decodeSync_safe_bmi2_fill_end: MOVQ R8, CX SHRQ $0x20, CX ADDQ R14, CX - MOVQ CX, 8(SP) + MOVQ CX, 40(SP) // Update match length MOVQ $0x00000808, CX @@ -3622,7 +3666,7 @@ sequenceDecs_decodeSync_safe_bmi2_fill_end: MOVQ DI, CX SHRQ $0x20, CX ADDQ R14, CX - MOVQ CX, 16(SP) + MOVQ CX, 48(SP) // Fill bitreader to have enough for the remaining CMPQ BX, $0x08 @@ -3664,14 +3708,13 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end: MOVQ SI, CX SHRQ $0x20, CX ADDQ R14, CX - MOVQ CX, 24(SP) + MOVQ CX, 56(SP) // Fill bitreader for state updates MOVQ R12, (SP) MOVQ $0x00000808, CX BEXTRQ CX, R8, R12 - MOVQ ctx+16(FP), CX - CMPQ 96(CX), $0x00 + CMPQ 32(SP), $0x00 JZ sequenceDecs_decodeSync_safe_bmi2_skip_update LEAQ (SI)(DI*1), R13 ADDQ R8, R13 @@ -3689,8 +3732,7 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end: ADDQ CX, R8 // Load ctx.ofTable - MOVQ ctx+16(FP), CX - MOVQ 48(CX), CX + MOVQ 24(SP), CX MOVQ (CX)(R8*8), R8 // Update Match Length State @@ -3700,8 +3742,7 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end: ADDQ CX, DI // Load ctx.mlTable - MOVQ ctx+16(FP), CX - MOVQ 24(CX), CX + MOVQ 16(SP), CX MOVQ (CX)(DI*8), DI // Update Literal Length State @@ -3710,14 +3751,13 @@ sequenceDecs_decodeSync_safe_bmi2_fill_2_end: ADDQ CX, SI // Load ctx.llTable - MOVQ ctx+16(FP), CX - MOVQ (CX), CX + MOVQ 8(SP), CX MOVQ (CX)(SI*8), SI sequenceDecs_decodeSync_safe_bmi2_skip_update: // Adjust offset MOVQ s+0(FP), CX - MOVQ 8(SP), R13 + MOVQ 40(SP), R13 CMPQ R12, $0x01 JBE sequenceDecs_decodeSync_safe_bmi2_adjust_offsetB_1_or_0 MOVUPS 144(CX), X0 @@ -3726,7 +3766,7 @@ sequenceDecs_decodeSync_safe_bmi2_skip_update: JMP sequenceDecs_decodeSync_safe_bmi2_after_adjust sequenceDecs_decodeSync_safe_bmi2_adjust_offsetB_1_or_0: - CMPQ 24(SP), $0x00000000 + CMPQ 56(SP), $0x00000000 JNE sequenceDecs_decodeSync_safe_bmi2_adjust_offset_maybezero INCQ R13 JMP sequenceDecs_decodeSync_safe_bmi2_adjust_offset_nonzero @@ -3761,14 +3801,11 @@ sequenceDecs_decodeSync_safe_bmi2_adjust_skip: MOVQ R14, R13 sequenceDecs_decodeSync_safe_bmi2_after_adjust: - MOVQ R13, 8(SP) + MOVQ R13, 40(SP) // Check values - MOVQ 16(SP), CX - MOVQ 24(SP), R12 - LEAQ (CX)(R12*1), R14 - MOVQ s+0(FP), R15 - ADDQ R14, 256(R15) + MOVQ 48(SP), CX + MOVQ 56(SP), R12 MOVQ ctx+16(FP), R14 SUBQ R12, 104(R14) JS error_not_enough_literals @@ -3780,20 +3817,16 @@ sequenceDecs_decodeSync_safe_bmi2_after_adjust: JNZ sequenceDecs_decodeSync_safe_bmi2_error_match_len_ofs_mismatch sequenceDecs_decodeSync_safe_bmi2_match_len_ofs_ok: - MOVQ 24(SP), CX - MOVQ 8(SP), R12 - MOVQ 16(SP), R13 - // Check if we have enough space in s.out - LEAQ (CX)(R13*1), R14 + LEAQ (R12)(CX*1), R14 ADDQ R9, R14 - CMPQ R14, 32(SP) + CMPQ R14, 64(SP) JA error_not_enough_space // Copy literals - TESTQ CX, CX + TESTQ R12, R12 JZ check_offset - MOVQ CX, R14 + MOVQ R12, R14 SUBQ $0x10, R14 JB copy_1_small @@ -3811,70 +3844,70 @@ copy_1_loop: JMP copy_1_end copy_1_small: - CMPQ CX, $0x03 + CMPQ R12, $0x03 JE copy_1_move_3 JB copy_1_move_1or2 - CMPQ CX, $0x08 + CMPQ R12, $0x08 JB copy_1_move_4through7 JMP copy_1_move_8through16 copy_1_move_1or2: MOVB (R10), R14 - MOVB -1(R10)(CX*1), R15 + MOVB -1(R10)(R12*1), R15 MOVB R14, (R9) - MOVB R15, -1(R9)(CX*1) - ADDQ CX, R10 - ADDQ CX, R9 + MOVB R15, -1(R9)(R12*1) + ADDQ R12, R10 + ADDQ R12, R9 JMP copy_1_end copy_1_move_3: - MOVW (R10), R14 - MOVB 2(R10), R15 - MOVW R14, (R9) - MOVB R15, 2(R9) - ADDQ CX, R10 - ADDQ CX, R9 - JMP copy_1_end + MOVWQZX (R10), R14 + MOVB 2(R10), R15 + MOVW R14, (R9) + MOVB R15, 2(R9) + ADDQ R12, R10 + ADDQ R12, R9 + JMP copy_1_end copy_1_move_4through7: MOVL (R10), R14 - MOVL -4(R10)(CX*1), R15 + MOVL -4(R10)(R12*1), R15 MOVL R14, (R9) - MOVL R15, -4(R9)(CX*1) - ADDQ CX, R10 - ADDQ CX, R9 + MOVL R15, -4(R9)(R12*1) + ADDQ R12, R10 + ADDQ R12, R9 JMP copy_1_end copy_1_move_8through16: MOVQ (R10), R14 - MOVQ -8(R10)(CX*1), R15 + MOVQ -8(R10)(R12*1), R15 MOVQ R14, (R9) - MOVQ R15, -8(R9)(CX*1) - ADDQ CX, R10 - ADDQ CX, R9 + MOVQ R15, -8(R9)(R12*1) + ADDQ R12, R10 + ADDQ R12, R9 copy_1_end: - ADDQ CX, R11 + ADDQ R12, R11 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) check_offset: - MOVQ R11, CX - ADDQ 40(SP), CX - CMPQ R12, CX + MOVQ R11, R12 + ADDQ 72(SP), R12 + CMPQ R13, R12 JG error_match_off_too_big - CMPQ R12, 56(SP) + CMPQ R13, 88(SP) JG error_match_off_too_big // Copy match from history - MOVQ R12, CX - SUBQ R11, CX + MOVQ R13, R12 + SUBQ R11, R12 JLS copy_match - MOVQ 48(SP), R14 - SUBQ CX, R14 - CMPQ R13, CX + MOVQ 80(SP), R14 + SUBQ R12, R14 + CMPQ CX, R12 JG copy_all_from_history - MOVQ R13, CX - SUBQ $0x10, CX + MOVQ CX, R12 + SUBQ $0x10, R12 JB copy_4_small copy_4_loop: @@ -3882,54 +3915,54 @@ copy_4_loop: MOVUPS X0, (R9) ADDQ $0x10, R14 ADDQ $0x10, R9 - SUBQ $0x10, CX + SUBQ $0x10, R12 JAE copy_4_loop - LEAQ 16(R14)(CX*1), R14 - LEAQ 16(R9)(CX*1), R9 + LEAQ 16(R14)(R12*1), R14 + LEAQ 16(R9)(R12*1), R9 MOVUPS -16(R14), X0 MOVUPS X0, -16(R9) JMP copy_4_end copy_4_small: - CMPQ R13, $0x03 + CMPQ CX, $0x03 JE copy_4_move_3 - CMPQ R13, $0x08 + CMPQ CX, $0x08 JB copy_4_move_4through7 JMP copy_4_move_8through16 copy_4_move_3: - MOVW (R14), CX - MOVB 2(R14), R12 - MOVW CX, (R9) - MOVB R12, 2(R9) - ADDQ R13, R14 - ADDQ R13, R9 - JMP copy_4_end + MOVWQZX (R14), R12 + MOVB 2(R14), R13 + MOVW R12, (R9) + MOVB R13, 2(R9) + ADDQ CX, R14 + ADDQ CX, R9 + JMP copy_4_end copy_4_move_4through7: - MOVL (R14), CX - MOVL -4(R14)(R13*1), R12 - MOVL CX, (R9) - MOVL R12, -4(R9)(R13*1) - ADDQ R13, R14 - ADDQ R13, R9 + MOVL (R14), R12 + MOVL -4(R14)(CX*1), R13 + MOVL R12, (R9) + MOVL R13, -4(R9)(CX*1) + ADDQ CX, R14 + ADDQ CX, R9 JMP copy_4_end copy_4_move_8through16: - MOVQ (R14), CX - MOVQ -8(R14)(R13*1), R12 - MOVQ CX, (R9) - MOVQ R12, -8(R9)(R13*1) - ADDQ R13, R14 - ADDQ R13, R9 + MOVQ (R14), R12 + MOVQ -8(R14)(CX*1), R13 + MOVQ R12, (R9) + MOVQ R13, -8(R9)(CX*1) + ADDQ CX, R14 + ADDQ CX, R9 copy_4_end: - ADDQ R13, R11 + ADDQ CX, R11 JMP handle_loop JMP loop_finished copy_all_from_history: - MOVQ CX, R15 + MOVQ R12, R15 SUBQ $0x10, R15 JB copy_5_small @@ -3947,141 +3980,140 @@ copy_5_loop: JMP copy_5_end copy_5_small: - CMPQ CX, $0x03 + CMPQ R12, $0x03 JE copy_5_move_3 JB copy_5_move_1or2 - CMPQ CX, $0x08 + CMPQ R12, $0x08 JB copy_5_move_4through7 JMP copy_5_move_8through16 copy_5_move_1or2: MOVB (R14), R15 - MOVB -1(R14)(CX*1), BP + MOVB -1(R14)(R12*1), BP MOVB R15, (R9) - MOVB BP, -1(R9)(CX*1) - ADDQ CX, R14 - ADDQ CX, R9 + MOVB BP, -1(R9)(R12*1) + ADDQ R12, R14 + ADDQ R12, R9 JMP copy_5_end copy_5_move_3: - MOVW (R14), R15 - MOVB 2(R14), BP - MOVW R15, (R9) - MOVB BP, 2(R9) - ADDQ CX, R14 - ADDQ CX, R9 - JMP copy_5_end + MOVWQZX (R14), R15 + MOVB 2(R14), BP + MOVW R15, (R9) + MOVB BP, 2(R9) + ADDQ R12, R14 + ADDQ R12, R9 + JMP copy_5_end copy_5_move_4through7: MOVL (R14), R15 - MOVL -4(R14)(CX*1), BP + MOVL -4(R14)(R12*1), BP MOVL R15, (R9) - MOVL BP, -4(R9)(CX*1) - ADDQ CX, R14 - ADDQ CX, R9 + MOVL BP, -4(R9)(R12*1) + ADDQ R12, R14 + ADDQ R12, R9 JMP copy_5_end copy_5_move_8through16: MOVQ (R14), R15 - MOVQ -8(R14)(CX*1), BP + MOVQ -8(R14)(R12*1), BP MOVQ R15, (R9) - MOVQ BP, -8(R9)(CX*1) - ADDQ CX, R14 - ADDQ CX, R9 + MOVQ BP, -8(R9)(R12*1) + ADDQ R12, R14 + ADDQ R12, R9 copy_5_end: - ADDQ CX, R11 - SUBQ CX, R13 + ADDQ R12, R11 + SUBQ R12, CX // Copy match from the current buffer copy_match: - MOVQ R9, CX - SUBQ R12, CX + MOVQ R9, R12 + SUBQ R13, R12 // ml <= mo - CMPQ R13, R12 + CMPQ CX, R13 JA copy_overlapping_match // Copy non-overlapping match - ADDQ R13, R11 - MOVQ R13, R12 - SUBQ $0x10, R12 + ADDQ CX, R11 + MOVQ CX, R13 + SUBQ $0x10, R13 JB copy_2_small copy_2_loop: - MOVUPS (CX), X0 + MOVUPS (R12), X0 MOVUPS X0, (R9) - ADDQ $0x10, CX + ADDQ $0x10, R12 ADDQ $0x10, R9 - SUBQ $0x10, R12 + SUBQ $0x10, R13 JAE copy_2_loop - LEAQ 16(CX)(R12*1), CX - LEAQ 16(R9)(R12*1), R9 - MOVUPS -16(CX), X0 + LEAQ 16(R12)(R13*1), R12 + LEAQ 16(R9)(R13*1), R9 + MOVUPS -16(R12), X0 MOVUPS X0, -16(R9) JMP copy_2_end copy_2_small: - CMPQ R13, $0x03 + CMPQ CX, $0x03 JE copy_2_move_3 JB copy_2_move_1or2 - CMPQ R13, $0x08 + CMPQ CX, $0x08 JB copy_2_move_4through7 JMP copy_2_move_8through16 copy_2_move_1or2: - MOVB (CX), R12 - MOVB -1(CX)(R13*1), R14 - MOVB R12, (R9) - MOVB R14, -1(R9)(R13*1) - ADDQ R13, CX - ADDQ R13, R9 + MOVB (R12), R13 + MOVB -1(R12)(CX*1), R14 + MOVB R13, (R9) + MOVB R14, -1(R9)(CX*1) + ADDQ CX, R12 + ADDQ CX, R9 JMP copy_2_end copy_2_move_3: - MOVW (CX), R12 - MOVB 2(CX), R14 - MOVW R12, (R9) - MOVB R14, 2(R9) - ADDQ R13, CX - ADDQ R13, R9 - JMP copy_2_end + MOVWQZX (R12), R13 + MOVB 2(R12), R14 + MOVW R13, (R9) + MOVB R14, 2(R9) + ADDQ CX, R12 + ADDQ CX, R9 + JMP copy_2_end copy_2_move_4through7: - MOVL (CX), R12 - MOVL -4(CX)(R13*1), R14 - MOVL R12, (R9) - MOVL R14, -4(R9)(R13*1) - ADDQ R13, CX - ADDQ R13, R9 + MOVL (R12), R13 + MOVL -4(R12)(CX*1), R14 + MOVL R13, (R9) + MOVL R14, -4(R9)(CX*1) + ADDQ CX, R12 + ADDQ CX, R9 JMP copy_2_end copy_2_move_8through16: - MOVQ (CX), R12 - MOVQ -8(CX)(R13*1), R14 - MOVQ R12, (R9) - MOVQ R14, -8(R9)(R13*1) - ADDQ R13, CX - ADDQ R13, R9 + MOVQ (R12), R13 + MOVQ -8(R12)(CX*1), R14 + MOVQ R13, (R9) + MOVQ R14, -8(R9)(CX*1) + ADDQ CX, R12 + ADDQ CX, R9 copy_2_end: JMP handle_loop // Copy overlapping match copy_overlapping_match: - ADDQ R13, R11 + ADDQ CX, R11 copy_slow_3: - MOVB (CX), R12 - MOVB R12, (R9) - INCQ CX - INCQ R9 - DECQ R13 - JNZ copy_slow_3 + MOVBQZX (R12), R13 + MOVB R13, (R9) + INCQ R12 + INCQ R9 + DECQ CX + JNZ copy_slow_3 handle_loop: - MOVQ ctx+16(FP), CX - DECQ 96(CX) + DECQ 32(SP) JNS sequenceDecs_decodeSync_safe_bmi2_main_loop loop_finished: @@ -4090,6 +4122,13 @@ loop_finished: MOVB DL, 40(CX) MOVQ BX, 32(CX) + // s.seqSize += outPosition - ctx.outPosition + MOVQ ctx+16(FP), AX + MOVQ s+0(FP), CX + MOVQ R11, DX + SUBQ 136(AX), DX + ADDQ DX, 256(CX) + // Update the context MOVQ ctx+16(FP), AX MOVQ R11, 136(AX) @@ -4103,7 +4142,7 @@ loop_finished: // Return with match length error sequenceDecs_decodeSync_safe_bmi2_error_match_len_ofs_mismatch: - MOVQ 16(SP), AX + MOVQ 48(SP), AX MOVQ ctx+16(FP), CX MOVQ AX, 216(CX) MOVQ $0x00000001, ret+24(FP) @@ -4112,7 +4151,7 @@ sequenceDecs_decodeSync_safe_bmi2_error_match_len_ofs_mismatch: // Return with match too long error sequenceDecs_decodeSync_safe_bmi2_error_match_len_too_big: MOVQ ctx+16(FP), AX - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ $0x00000002, ret+24(FP) RET @@ -4120,7 +4159,7 @@ sequenceDecs_decodeSync_safe_bmi2_error_match_len_too_big: // Return with match offset too long error error_match_off_too_big: MOVQ ctx+16(FP), AX - MOVQ 8(SP), CX + MOVQ 40(SP), CX MOVQ CX, 224(AX) MOVQ R11, 136(AX) MOVQ $0x00000003, ret+24(FP) @@ -4129,7 +4168,7 @@ error_match_off_too_big: // Return with not enough literals error error_not_enough_literals: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) MOVQ $0x00000004, ret+24(FP) RET @@ -4142,9 +4181,9 @@ error_overread: // Return with not enough output space error error_not_enough_space: MOVQ ctx+16(FP), AX - MOVQ 24(SP), CX + MOVQ 56(SP), CX MOVQ CX, 208(AX) - MOVQ 16(SP), CX + MOVQ 48(SP), CX MOVQ CX, 216(AX) MOVQ R11, 136(AX) MOVQ $0x00000005, ret+24(FP) diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_arm64.s b/vendor/github.com/klauspost/compress/zstd/seqdec_arm64.s index 6f54ef21..56391bfc 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec_arm64.s +++ b/vendor/github.com/klauspost/compress/zstd/seqdec_arm64.s @@ -1,11 +1,11 @@ // Code generated by command: go run gen.go -out ../seqdec.s -arch amd64,arm64 -pkg=zstd. DO NOT EDIT. // EXPERIMENTAL arm64 output lowered from an amd64 avo program. -//go:build arm64 && !appengine && !noasm && gc && !noasm +//go:build arm64 && (!appengine && !noasm && gc && !noasm) // func sequenceDecs_decode_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: CMOV -TEXT ·sequenceDecs_decode_arm64(SB), $8-32 +TEXT ·sequenceDecs_decode_arm64(SB), $40-32 MOVD br+8(FP), R1 MOVD 24(R1), R2 MOVBU 40(R1), R3 @@ -17,6 +17,14 @@ TEXT ·sequenceDecs_decode_arm64(SB), $8-32 MOVD 72(R0), R6 MOVD 80(R0), R7 MOVD 88(R0), R8 + MOVD (R0), R1 + MOVD R1, 16(RSP) + MOVD 24(R0), R1 + MOVD R1, 24(RSP) + MOVD 48(R0), R1 + MOVD R1, 32(RSP) + MOVD 96(R0), R1 + MOVD R1, 40(RSP) MOVD 104(R0), R9 MOVD s+0(FP), R0 MOVD 144(R0), R10 @@ -29,8 +37,7 @@ sequenceDecs_decode_amd64_main_loop: // Fill bitreader to have enough for the offset and match length. CMP $0x08, R5 BLT sequenceDecs_decode_amd64_fill_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R13, R13 MOVD (R13), R2 SUB R0, R5, R5 @@ -57,53 +64,32 @@ sequenceDecs_decode_amd64_fill_check_overread: sequenceDecs_decode_amd64_fill_end: // Update offset MOVD R8, R0 - MOVD R3, R1 - MOVD R2, R14 - LSL R1, R14, R14 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decode_amd64_of_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decode_amd64_of_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decode_amd64_of_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R14, R14 ADD R14, R0, R0 - -sequenceDecs_decode_amd64_of_update_zero: MOVD R0, 16(R9) // Update match length MOVD R7, R0 - MOVD R3, R1 - MOVD R2, R14 - LSL R1, R14, R14 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decode_amd64_ml_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decode_amd64_ml_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decode_amd64_ml_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R14, R14 ADD R14, R0, R0 - -sequenceDecs_decode_amd64_ml_update_zero: MOVD R0, 8(R9) // Fill bitreader to have enough for the remaining CMP $0x08, R5 BLT sequenceDecs_decode_amd64_fill_2_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R13, R13 MOVD (R13), R2 SUB R0, R5, R5 @@ -130,98 +116,64 @@ sequenceDecs_decode_amd64_fill_2_check_overread: sequenceDecs_decode_amd64_fill_2_end: // Update literal length MOVD R6, R0 - MOVD R3, R1 - MOVD R2, R14 - LSL R1, R14, R14 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decode_amd64_ll_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decode_amd64_ll_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decode_amd64_ll_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R14, R14 ADD R14, R0, R0 - -sequenceDecs_decode_amd64_ll_update_zero: MOVD R0, (R9) // Fill bitreader for state updates - MOVD R13, 8(RSP) - MOVD R8, R0 - LSR $0x08, R0, R0 - MOVBU R0, R0 - MOVD ctx+16(FP), R1 - MOVD 96(R1), R16 - CMP $0x00, R16 - BEQ sequenceDecs_decode_amd64_skip_update + MOVD R13, 8(RSP) + UBFX $8, R8, $8, R0 + MOVD 40(RSP), R16 + CMP $0x00, R16 + BEQ sequenceDecs_decode_amd64_skip_update // Update Literal Length State MOVBU R6, R13 LSRW $0x10, R6, R6 - ADD R13, R3, R1 - MOVD R2, R14 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R14, R14 - MOVD $0x00000001, R4 - BFI $0, R13, $8, R1 - LSLW R1, R4, R4 - SUBW $1, R4, R4 - AND R4, R14, R14 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + ADD R13, R3, R3 + EOR $0x3f, R13, R13 + LSR R13, R14, R14 ADD R14, R6, R6 // Load ctx.llTable - MOVD ctx+16(FP), R1 - MOVD (R1), R1 - ADD R6<<3, R1, R15 - MOVD (R15), R6 + MOVD 16(RSP), R1 + MOVD (R1)(R6<<3), R6 // Update Match Length State MOVBU R7, R13 LSRW $0x10, R7, R7 - ADD R13, R3, R1 - MOVD R2, R14 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R14, R14 - MOVD $0x00000001, R4 - BFI $0, R13, $8, R1 - LSLW R1, R4, R4 - SUBW $1, R4, R4 - AND R4, R14, R14 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + ADD R13, R3, R3 + EOR $0x3f, R13, R13 + LSR R13, R14, R14 ADD R14, R7, R7 // Load ctx.mlTable - MOVD ctx+16(FP), R1 - MOVD 24(R1), R1 - ADD R7<<3, R1, R15 - MOVD (R15), R7 + MOVD 24(RSP), R1 + MOVD (R1)(R7<<3), R7 // Update Offset State MOVBU R8, R13 LSRW $0x10, R8, R8 - ADD R13, R3, R1 - MOVD R2, R14 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R14, R14 - MOVD $0x00000001, R4 - BFI $0, R13, $8, R1 - LSLW R1, R4, R4 - SUBW $1, R4, R4 - AND R4, R14, R14 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + ADD R13, R3, R3 + EOR $0x3f, R13, R13 + LSR R13, R14, R14 ADD R14, R8, R8 // Load ctx.ofTable - MOVD ctx+16(FP), R1 - MOVD 48(R1), R1 - ADD R8<<3, R1, R15 - MOVD (R15), R8 + MOVD 32(RSP), R1 + MOVD (R1)(R8<<3), R8 sequenceDecs_decode_amd64_skip_update: // Adjust offset @@ -306,10 +258,9 @@ sequenceDecs_decode_amd64_after_adjust: sequenceDecs_decode_amd64_match_len_ofs_ok: ADD $0x18, R9, R9 - MOVD ctx+16(FP), R0 - MOVD 96(R0), R16 + MOVD 40(RSP), R16 SUBS $1, R16, R16 - MOVD R16, 96(R0) + MOVD R16, 40(RSP) BPL sequenceDecs_decode_amd64_main_loop MOVD s+0(FP), R0 MOVD R10, 144(R0) @@ -321,42 +272,60 @@ sequenceDecs_decode_amd64_match_len_ofs_ok: MOVD R5, 32(R0) // Return success + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000000, R16 MOVD R16, ret+24(FP) RET // Return with match length error sequenceDecs_decode_amd64_error_match_len_ofs_mismatch: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000001, R16 MOVD R16, ret+24(FP) RET // Return with match too long error sequenceDecs_decode_amd64_error_match_len_too_big: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000002, R16 MOVD R16, ret+24(FP) RET // Return with match offset too long error + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000003, R16 MOVD R16, ret+24(FP) RET // Return with not enough literals error error_not_enough_literals: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000004, R16 MOVD R16, ret+24(FP) RET // Return with overread error error_overread: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000006, R16 MOVD R16, ret+24(FP) RET // func sequenceDecs_decode_56_amd64(s *sequenceDecs, br *bitReader, ctx *decodeAsmContext) int // Requires: CMOV -TEXT ·sequenceDecs_decode_56_arm64(SB), $8-32 +TEXT ·sequenceDecs_decode_56_arm64(SB), $40-32 MOVD br+8(FP), R1 MOVD 24(R1), R2 MOVBU 40(R1), R3 @@ -368,6 +337,14 @@ TEXT ·sequenceDecs_decode_56_arm64(SB), $8-32 MOVD 72(R0), R6 MOVD 80(R0), R7 MOVD 88(R0), R8 + MOVD (R0), R1 + MOVD R1, 16(RSP) + MOVD 24(R0), R1 + MOVD R1, 24(RSP) + MOVD 48(R0), R1 + MOVD R1, 32(RSP) + MOVD 96(R0), R1 + MOVD R1, 40(RSP) MOVD 104(R0), R9 MOVD s+0(FP), R0 MOVD 144(R0), R10 @@ -380,8 +357,7 @@ sequenceDecs_decode_56_amd64_main_loop: // Fill bitreader to have enough for the offset and match length. CMP $0x08, R5 BLT sequenceDecs_decode_56_amd64_fill_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R13, R13 MOVD (R13), R2 SUB R0, R5, R5 @@ -408,142 +384,88 @@ sequenceDecs_decode_56_amd64_fill_check_overread: sequenceDecs_decode_56_amd64_fill_end: // Update offset MOVD R8, R0 - MOVD R3, R1 - MOVD R2, R14 - LSL R1, R14, R14 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decode_56_amd64_of_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decode_56_amd64_of_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decode_56_amd64_of_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R14, R14 ADD R14, R0, R0 - -sequenceDecs_decode_56_amd64_of_update_zero: MOVD R0, 16(R9) // Update match length MOVD R7, R0 - MOVD R3, R1 - MOVD R2, R14 - LSL R1, R14, R14 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decode_56_amd64_ml_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decode_56_amd64_ml_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decode_56_amd64_ml_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R14, R14 ADD R14, R0, R0 - -sequenceDecs_decode_56_amd64_ml_update_zero: MOVD R0, 8(R9) // Update literal length MOVD R6, R0 - MOVD R3, R1 - MOVD R2, R14 - LSL R1, R14, R14 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decode_56_amd64_ll_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decode_56_amd64_ll_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decode_56_amd64_ll_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R14, R14 ADD R14, R0, R0 - -sequenceDecs_decode_56_amd64_ll_update_zero: MOVD R0, (R9) // Fill bitreader for state updates - MOVD R13, 8(RSP) - MOVD R8, R0 - LSR $0x08, R0, R0 - MOVBU R0, R0 - MOVD ctx+16(FP), R1 - MOVD 96(R1), R16 - CMP $0x00, R16 - BEQ sequenceDecs_decode_56_amd64_skip_update + MOVD R13, 8(RSP) + UBFX $8, R8, $8, R0 + MOVD 40(RSP), R16 + CMP $0x00, R16 + BEQ sequenceDecs_decode_56_amd64_skip_update // Update Literal Length State MOVBU R6, R13 LSRW $0x10, R6, R6 - ADD R13, R3, R1 - MOVD R2, R14 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R14, R14 - MOVD $0x00000001, R4 - BFI $0, R13, $8, R1 - LSLW R1, R4, R4 - SUBW $1, R4, R4 - AND R4, R14, R14 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + ADD R13, R3, R3 + EOR $0x3f, R13, R13 + LSR R13, R14, R14 ADD R14, R6, R6 // Load ctx.llTable - MOVD ctx+16(FP), R1 - MOVD (R1), R1 - ADD R6<<3, R1, R15 - MOVD (R15), R6 + MOVD 16(RSP), R1 + MOVD (R1)(R6<<3), R6 // Update Match Length State MOVBU R7, R13 LSRW $0x10, R7, R7 - ADD R13, R3, R1 - MOVD R2, R14 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R14, R14 - MOVD $0x00000001, R4 - BFI $0, R13, $8, R1 - LSLW R1, R4, R4 - SUBW $1, R4, R4 - AND R4, R14, R14 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + ADD R13, R3, R3 + EOR $0x3f, R13, R13 + LSR R13, R14, R14 ADD R14, R7, R7 // Load ctx.mlTable - MOVD ctx+16(FP), R1 - MOVD 24(R1), R1 - ADD R7<<3, R1, R15 - MOVD (R15), R7 + MOVD 24(RSP), R1 + MOVD (R1)(R7<<3), R7 // Update Offset State MOVBU R8, R13 LSRW $0x10, R8, R8 - ADD R13, R3, R1 - MOVD R2, R14 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R14, R14 - MOVD $0x00000001, R4 - BFI $0, R13, $8, R1 - LSLW R1, R4, R4 - SUBW $1, R4, R4 - AND R4, R14, R14 + LSL R3, R2, R14 + LSR $0x01, R14, R14 + ADD R13, R3, R3 + EOR $0x3f, R13, R13 + LSR R13, R14, R14 ADD R14, R8, R8 // Load ctx.ofTable - MOVD ctx+16(FP), R1 - MOVD 48(R1), R1 - ADD R8<<3, R1, R15 - MOVD (R15), R8 + MOVD 32(RSP), R1 + MOVD (R1)(R8<<3), R8 sequenceDecs_decode_56_amd64_skip_update: // Adjust offset @@ -628,10 +550,9 @@ sequenceDecs_decode_56_amd64_after_adjust: sequenceDecs_decode_56_amd64_match_len_ofs_ok: ADD $0x18, R9, R9 - MOVD ctx+16(FP), R0 - MOVD 96(R0), R16 + MOVD 40(RSP), R16 SUBS $1, R16, R16 - MOVD R16, 96(R0) + MOVD R16, 40(RSP) BPL sequenceDecs_decode_56_amd64_main_loop MOVD s+0(FP), R0 MOVD R10, 144(R0) @@ -643,35 +564,53 @@ sequenceDecs_decode_56_amd64_match_len_ofs_ok: MOVD R5, 32(R0) // Return success + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000000, R16 MOVD R16, ret+24(FP) RET // Return with match length error sequenceDecs_decode_56_amd64_error_match_len_ofs_mismatch: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000001, R16 MOVD R16, ret+24(FP) RET // Return with match too long error sequenceDecs_decode_56_amd64_error_match_len_too_big: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000002, R16 MOVD R16, ret+24(FP) RET // Return with match offset too long error + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000003, R16 MOVD R16, ret+24(FP) RET // Return with not enough literals error error_not_enough_literals: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000004, R16 MOVD R16, ret+24(FP) RET // Return with overread error error_overread: + MOVD 40(RSP), R0 + MOVD ctx+16(FP), R1 + MOVD R0, 96(R1) MOVD $0x00000006, R16 MOVD R16, ret+24(FP) RET @@ -711,24 +650,27 @@ main_loop: MOVD 8(R0), R12 // Copy literals - TST R10, R10 - BEQ check_offset - MOVD $0, R13 + FMOVQ (R5), F0 + FMOVQ F0, (R3) + CMP $0x10, R10 + BLS copy_1_end + MOVD $0x00000010, R13 copy_1: - ADD R13, R5, R15 - VLD1 (R15), [V0.B16] - ADD R13, R3, R15 - VST1 [V0.B16], (R15) - ADD $0x10, R13, R13 - CMP R10, R13 - BLO copy_1 - ADD R10, R5, R5 - ADD R10, R3, R3 - ADD R10, R6, R6 + ADD R13, R5, R15 + FMOVQ (R15), F0 + ADD R13, R3, R15 + FMOVQ F0, (R15) + ADD $0x10, R13, R13 + CMP R10, R13 + BLO copy_1 + +copy_1_end: + ADD R10, R5, R5 + ADD R10, R3, R3 + ADD R10, R6, R6 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) -check_offset: ADD R9, R6, R10 CMP R10, R11 BGT error_match_off_too_big @@ -748,21 +690,19 @@ check_offset: BLO copy_4_small copy_4_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R3) - ADD $0x10, R13, R13 - ADD $0x10, R3, R3 - SUBS $0x10, R10, R10 - BHS copy_4_loop - ADD R10, R13, R13 - ADD $16, R13, R13 - ADD R10, R3, R3 - ADD $16, R3, R3 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R3, R15 - VST1 [V0.B16], (R15) - JMP copy_4_end + FMOVQ (R13), F0 + FMOVQ F0, (R3) + ADD $0x10, R13, R13 + ADD $0x10, R3, R3 + SUBS $0x10, R10, R10 + BHS copy_4_loop + ADD R10, R13, R13 + ADD $16, R13, R13 + ADD R10, R3, R3 + ADD $16, R3, R3 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R3) + JMP copy_4_end copy_4_small: CMP $0x03, R12 @@ -816,21 +756,19 @@ copy_all_from_history: BLO copy_5_small copy_5_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R3) - ADD $0x10, R13, R13 - ADD $0x10, R3, R3 - SUBS $0x10, R14, R14 - BHS copy_5_loop - ADD R14, R13, R13 - ADD $16, R13, R13 - ADD R14, R3, R3 - ADD $16, R3, R3 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R3, R15 - VST1 [V0.B16], (R15) - JMP copy_5_end + FMOVQ (R13), F0 + FMOVQ F0, (R3) + ADD $0x10, R13, R13 + ADD $0x10, R3, R3 + SUBS $0x10, R14, R14 + BHS copy_5_loop + ADD R14, R13, R13 + ADD $16, R13, R13 + ADD R14, R3, R3 + ADD $16, R3, R3 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R3) + JMP copy_5_end copy_5_small: CMP $0x03, R10 @@ -898,26 +836,35 @@ copy_match: BHI copy_overlapping_match // Copy non-overlapping match - ADD R12, R6, R6 - MOVD R3, R11 - ADD R12, R3, R3 + ADD R12, R6, R6 + FMOVQ (R10), F0 + FMOVQ F0, (R3) + CMP $0x10, R12 + BHI copy_2_long + ADD R12, R3, R3 + JMP handle_loop + +copy_2_long: + ADD $16, R3, R11 + ADD R12, R3, R3 + ADD $0x10, R10, R10 + SUB $0x10, R12, R12 copy_2: - VLD1 (R10), [V0.B16] - VST1 [V0.B16], (R11) - ADD $0x10, R10, R10 - ADD $0x10, R11, R11 - SUBS $0x10, R12, R12 - BHI copy_2 - JMP handle_loop + FMOVQ (R10), F0 + FMOVQ F0, (R11) + ADD $0x10, R10, R10 + ADD $0x10, R11, R11 + SUBS $0x10, R12, R12 + BHI copy_2 + JMP handle_loop // Copy overlapping match copy_overlapping_match: ADD R12, R6, R6 copy_slow_3: - MOVBU (R10), R16 - BFI $0, R16, $8, R11 + MOVBU (R10), R11 MOVB R11, (R3) ADD $1, R10, R10 ADD $1, R3, R3 @@ -1002,21 +949,19 @@ main_loop: BLO copy_1_small copy_1_loop: - VLD1 (R5), [V0.B16] - VST1 [V0.B16], (R3) - ADD $0x10, R5, R5 - ADD $0x10, R3, R3 - SUBS $0x10, R13, R13 - BHS copy_1_loop - ADD R13, R5, R5 - ADD $16, R5, R5 - ADD R13, R3, R3 - ADD $16, R3, R3 - ADD $-16, R5, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R3, R15 - VST1 [V0.B16], (R15) - JMP copy_1_end + FMOVQ (R5), F0 + FMOVQ F0, (R3) + ADD $0x10, R5, R5 + ADD $0x10, R3, R3 + SUBS $0x10, R13, R13 + BHS copy_1_loop + ADD R13, R5, R5 + ADD $16, R5, R5 + ADD R13, R3, R3 + ADD $16, R3, R3 + FMOVQ -16(R5), F0 + FMOVQ F0, -16(R3) + JMP copy_1_end copy_1_small: CMP $0x03, R10 @@ -1094,21 +1039,19 @@ check_offset: BLO copy_4_small copy_4_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R3) - ADD $0x10, R13, R13 - ADD $0x10, R3, R3 - SUBS $0x10, R10, R10 - BHS copy_4_loop - ADD R10, R13, R13 - ADD $16, R13, R13 - ADD R10, R3, R3 - ADD $16, R3, R3 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R3, R15 - VST1 [V0.B16], (R15) - JMP copy_4_end + FMOVQ (R13), F0 + FMOVQ F0, (R3) + ADD $0x10, R13, R13 + ADD $0x10, R3, R3 + SUBS $0x10, R10, R10 + BHS copy_4_loop + ADD R10, R13, R13 + ADD $16, R13, R13 + ADD R10, R3, R3 + ADD $16, R3, R3 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R3) + JMP copy_4_end copy_4_small: CMP $0x03, R12 @@ -1162,21 +1105,19 @@ copy_all_from_history: BLO copy_5_small copy_5_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R3) - ADD $0x10, R13, R13 - ADD $0x10, R3, R3 - SUBS $0x10, R14, R14 - BHS copy_5_loop - ADD R14, R13, R13 - ADD $16, R13, R13 - ADD R14, R3, R3 - ADD $16, R3, R3 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R3, R15 - VST1 [V0.B16], (R15) - JMP copy_5_end + FMOVQ (R13), F0 + FMOVQ F0, (R3) + ADD $0x10, R13, R13 + ADD $0x10, R3, R3 + SUBS $0x10, R14, R14 + BHS copy_5_loop + ADD R14, R13, R13 + ADD $16, R13, R13 + ADD R14, R3, R3 + ADD $16, R3, R3 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R3) + JMP copy_5_end copy_5_small: CMP $0x03, R10 @@ -1250,21 +1191,19 @@ copy_match: BLO copy_2_small copy_2_loop: - VLD1 (R10), [V0.B16] - VST1 [V0.B16], (R3) - ADD $0x10, R10, R10 - ADD $0x10, R3, R3 - SUBS $0x10, R11, R11 - BHS copy_2_loop - ADD R11, R10, R10 - ADD $16, R10, R10 - ADD R11, R3, R3 - ADD $16, R3, R3 - ADD $-16, R10, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R3, R15 - VST1 [V0.B16], (R15) - JMP copy_2_end + FMOVQ (R10), F0 + FMOVQ F0, (R3) + ADD $0x10, R10, R10 + ADD $0x10, R3, R3 + SUBS $0x10, R11, R11 + BHS copy_2_loop + ADD R11, R10, R10 + ADD $16, R10, R10 + ADD R11, R3, R3 + ADD $16, R3, R3 + FMOVQ -16(R10), F0 + FMOVQ F0, -16(R3) + JMP copy_2_end copy_2_small: CMP $0x03, R12 @@ -1326,8 +1265,7 @@ copy_overlapping_match: ADD R12, R6, R6 copy_slow_3: - MOVBU (R10), R16 - BFI $0, R16, $8, R11 + MOVBU (R10), R11 MOVB R11, (R3) ADD $1, R10, R10 ADD $1, R3, R3 @@ -1376,7 +1314,7 @@ empty_seqs: // func sequenceDecs_decodeSync_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int // Requires: CMOV, SSE -TEXT ·sequenceDecs_decodeSync_arm64(SB), $64-32 +TEXT ·sequenceDecs_decodeSync_arm64(SB), $96-32 MOVD br+8(FP), R1 MOVD 24(R1), R2 MOVBU 40(R1), R3 @@ -1388,30 +1326,38 @@ TEXT ·sequenceDecs_decodeSync_arm64(SB), $64-32 MOVD 72(R0), R6 MOVD 80(R0), R7 MOVD 88(R0), R8 - MOVD $0, R1 + MOVD (R0), R1 MOVD R1, 16(RSP) + MOVD 24(R0), R1 MOVD R1, 24(RSP) + MOVD 48(R0), R1 MOVD R1, 32(RSP) + MOVD 96(R0), R1 + MOVD R1, 40(RSP) + MOVD $0, R1 + MOVD R1, 48(RSP) + MOVD R1, 56(RSP) + MOVD R1, 64(RSP) MOVD 112(R0), R9 MOVD 128(R0), R1 - MOVD R1, 40(RSP) + MOVD R1, 72(RSP) MOVD 144(R0), R10 MOVD 136(R0), R11 MOVD 200(R0), R1 - MOVD R1, 64(RSP) + MOVD R1, 96(RSP) MOVD 176(R0), R1 - MOVD R1, 56(RSP) + MOVD R1, 88(RSP) MOVD 184(R0), R0 - MOVD R0, 48(RSP) - MOVD 48(RSP), R0 - MOVD 56(RSP), R16 + MOVD R0, 80(RSP) + MOVD 80(RSP), R0 + MOVD 88(RSP), R16 ADD R0, R16, R16 - MOVD R16, 56(RSP) + MOVD R16, 88(RSP) // Calculate pointer to s.out[cap(s.out)] (a past-end pointer) - MOVD 40(RSP), R16 + MOVD 72(RSP), R16 ADD R9, R16, R16 - MOVD R16, 40(RSP) + MOVD R16, 72(RSP) // outBase += outPosition ADD R11, R9, R9 @@ -1422,8 +1368,7 @@ sequenceDecs_decodeSync_amd64_main_loop: // Fill bitreader to have enough for the offset and match length. CMP $0x08, R5 BLT sequenceDecs_decodeSync_amd64_fill_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R12, R12 MOVD (R12), R2 SUB R0, R5, R5 @@ -1450,53 +1395,32 @@ sequenceDecs_decodeSync_amd64_fill_check_overread: sequenceDecs_decodeSync_amd64_fill_end: // Update offset MOVD R8, R0 - MOVD R3, R1 - MOVD R2, R13 - LSL R1, R13, R13 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decodeSync_amd64_of_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decodeSync_amd64_of_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decodeSync_amd64_of_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R13, R13 ADD R13, R0, R0 - -sequenceDecs_decodeSync_amd64_of_update_zero: - MOVD R0, 16(RSP) + MOVD R0, 48(RSP) // Update match length MOVD R7, R0 - MOVD R3, R1 - MOVD R2, R13 - LSL R1, R13, R13 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decodeSync_amd64_ml_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decodeSync_amd64_ml_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decodeSync_amd64_ml_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R13, R13 ADD R13, R0, R0 - -sequenceDecs_decodeSync_amd64_ml_update_zero: - MOVD R0, 24(RSP) + MOVD R0, 56(RSP) // Fill bitreader to have enough for the remaining CMP $0x08, R5 BLT sequenceDecs_decodeSync_amd64_fill_2_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R12, R12 MOVD (R12), R2 SUB R0, R5, R5 @@ -1523,114 +1447,78 @@ sequenceDecs_decodeSync_amd64_fill_2_check_overread: sequenceDecs_decodeSync_amd64_fill_2_end: // Update literal length MOVD R6, R0 - MOVD R3, R1 - MOVD R2, R13 - LSL R1, R13, R13 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decodeSync_amd64_ll_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decodeSync_amd64_ll_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decodeSync_amd64_ll_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R13, R13 ADD R13, R0, R0 - -sequenceDecs_decodeSync_amd64_ll_update_zero: - MOVD R0, 32(RSP) + MOVD R0, 64(RSP) // Fill bitreader for state updates - MOVD R12, 8(RSP) - MOVD R8, R0 - LSR $0x08, R0, R0 - MOVBU R0, R0 - MOVD ctx+16(FP), R1 - MOVD 96(R1), R16 - CMP $0x00, R16 - BEQ sequenceDecs_decodeSync_amd64_skip_update + MOVD R12, 8(RSP) + UBFX $8, R8, $8, R0 + MOVD 40(RSP), R16 + CMP $0x00, R16 + BEQ sequenceDecs_decodeSync_amd64_skip_update // Update Literal Length State MOVBU R6, R12 LSRW $0x10, R6, R6 - ADD R12, R3, R1 - MOVD R2, R13 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R13, R13 - MOVD $0x00000001, R14 - BFI $0, R12, $8, R1 - LSLW R1, R14, R14 - SUBW $1, R14, R14 - AND R14, R13, R13 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + ADD R12, R3, R3 + EOR $0x3f, R12, R12 + LSR R12, R13, R13 ADD R13, R6, R6 // Load ctx.llTable - MOVD ctx+16(FP), R1 - MOVD (R1), R1 - ADD R6<<3, R1, R15 - MOVD (R15), R6 + MOVD 16(RSP), R1 + MOVD (R1)(R6<<3), R6 // Update Match Length State MOVBU R7, R12 LSRW $0x10, R7, R7 - ADD R12, R3, R1 - MOVD R2, R13 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R13, R13 - MOVD $0x00000001, R14 - BFI $0, R12, $8, R1 - LSLW R1, R14, R14 - SUBW $1, R14, R14 - AND R14, R13, R13 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + ADD R12, R3, R3 + EOR $0x3f, R12, R12 + LSR R12, R13, R13 ADD R13, R7, R7 // Load ctx.mlTable - MOVD ctx+16(FP), R1 - MOVD 24(R1), R1 - ADD R7<<3, R1, R15 - MOVD (R15), R7 + MOVD 24(RSP), R1 + MOVD (R1)(R7<<3), R7 // Update Offset State MOVBU R8, R12 LSRW $0x10, R8, R8 - ADD R12, R3, R1 - MOVD R2, R13 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R13, R13 - MOVD $0x00000001, R14 - BFI $0, R12, $8, R1 - LSLW R1, R14, R14 - SUBW $1, R14, R14 - AND R14, R13, R13 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + ADD R12, R3, R3 + EOR $0x3f, R12, R12 + LSR R12, R13, R13 ADD R13, R8, R8 // Load ctx.ofTable - MOVD ctx+16(FP), R1 - MOVD 48(R1), R1 - ADD R8<<3, R1, R15 - MOVD (R15), R8 + MOVD 32(RSP), R1 + MOVD (R1)(R8<<3), R8 sequenceDecs_decodeSync_amd64_skip_update: // Adjust offset - MOVD s+0(FP), R1 - MOVD 16(RSP), R12 - CMP $0x01, R0 - BLS sequenceDecs_decodeSync_amd64_adjust_offsetB_1_or_0 - ADD $144, R1, R15 - VLD1 (R15), [V0.B16] - MOVD R12, 144(R1) - ADD $152, R1, R15 - VST1 [V0.B16], (R15) - JMP sequenceDecs_decodeSync_amd64_after_adjust + MOVD s+0(FP), R1 + MOVD 48(RSP), R12 + CMP $0x01, R0 + BLS sequenceDecs_decodeSync_amd64_adjust_offsetB_1_or_0 + FMOVQ 144(R1), F0 + MOVD R12, 144(R1) + FMOVQ F0, 152(R1) + JMP sequenceDecs_decodeSync_amd64_after_adjust sequenceDecs_decodeSync_amd64_adjust_offsetB_1_or_0: - MOVD 32(RSP), R16 + MOVD 64(RSP), R16 CMP $0x00000000, R16 BNE sequenceDecs_decodeSync_amd64_adjust_offset_maybezero ADD $1, R12, R12 @@ -1668,16 +1556,11 @@ sequenceDecs_decodeSync_amd64_adjust_skip: MOVD R13, R12 sequenceDecs_decodeSync_amd64_after_adjust: - MOVD R12, 16(RSP) + MOVD R12, 48(RSP) // Check values - MOVD 24(RSP), R0 - MOVD 32(RSP), R1 - ADD R1, R0, R13 - MOVD s+0(FP), R14 - MOVD 256(R14), R16 - ADD R13, R16, R16 - MOVD R16, 256(R14) + MOVD 56(RSP), R0 + MOVD 64(RSP), R1 MOVD ctx+16(FP), R13 MOVD 104(R13), R16 SUBS R1, R16, R16 @@ -1691,159 +1574,154 @@ sequenceDecs_decodeSync_amd64_after_adjust: BNE sequenceDecs_decodeSync_amd64_error_match_len_ofs_mismatch sequenceDecs_decodeSync_amd64_match_len_ofs_ok: - MOVD 32(RSP), R0 - MOVD 16(RSP), R1 - MOVD 24(RSP), R12 - // Check if we have enough space in s.out - ADD R12, R0, R13 + ADD R0, R1, R13 ADD $16, R13, R13 ADD R9, R13, R13 - MOVD 40(RSP), R16 + MOVD 72(RSP), R16 CMP R16, R13 BHI error_not_enough_space // Copy literals - TST R0, R0 - BEQ check_offset - MOVD $0, R13 + FMOVQ (R10), F0 + FMOVQ F0, (R9) + CMP $0x10, R1 + BLS copy_1_end + MOVD $0x00000010, R13 copy_1: - ADD R13, R10, R15 - VLD1 (R15), [V0.B16] - ADD R13, R9, R15 - VST1 [V0.B16], (R15) - ADD $0x10, R13, R13 - CMP R0, R13 - BLO copy_1 - ADD R0, R10, R10 - ADD R0, R9, R9 - ADD R0, R11, R11 + ADD R13, R10, R15 + FMOVQ (R15), F0 + ADD R13, R9, R15 + FMOVQ F0, (R15) + ADD $0x10, R13, R13 + CMP R1, R13 + BLO copy_1 + +copy_1_end: + ADD R1, R10, R10 + ADD R1, R9, R9 + ADD R1, R11, R11 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) -check_offset: - MOVD R11, R0 - MOVD 48(RSP), R16 - ADD R16, R0, R0 - CMP R0, R1 + MOVD R11, R1 + MOVD 80(RSP), R16 + ADD R16, R1, R1 + CMP R1, R12 BGT error_match_off_too_big - MOVD 64(RSP), R16 - CMP R16, R1 + MOVD 96(RSP), R16 + CMP R16, R12 BGT error_match_off_too_big // Copy match from history - MOVD R1, R0 - SUBS R11, R0, R0 + MOVD R12, R1 + SUBS R11, R1, R1 BLS copy_match - MOVD 56(RSP), R13 - SUB R0, R13, R13 - CMP R0, R12 + MOVD 88(RSP), R13 + SUB R1, R13, R13 + CMP R1, R0 BGT copy_all_from_history - MOVD R12, R0 - SUBS $0x10, R0, R0 + MOVD R0, R1 + SUBS $0x10, R1, R1 BLO copy_4_small copy_4_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R9) - ADD $0x10, R13, R13 - ADD $0x10, R9, R9 - SUBS $0x10, R0, R0 - BHS copy_4_loop - ADD R0, R13, R13 - ADD $16, R13, R13 - ADD R0, R9, R9 - ADD $16, R9, R9 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R9, R15 - VST1 [V0.B16], (R15) - JMP copy_4_end + FMOVQ (R13), F0 + FMOVQ F0, (R9) + ADD $0x10, R13, R13 + ADD $0x10, R9, R9 + SUBS $0x10, R1, R1 + BHS copy_4_loop + ADD R1, R13, R13 + ADD $16, R13, R13 + ADD R1, R9, R9 + ADD $16, R9, R9 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R9) + JMP copy_4_end copy_4_small: - CMP $0x03, R12 + CMP $0x03, R0 BEQ copy_4_move_3 - CMP $0x08, R12 + CMP $0x08, R0 BLO copy_4_move_4through7 JMP copy_4_move_8through16 copy_4_move_3: - MOVHU (R13), R0 + MOVHU (R13), R1 MOVBU 2(R13), R16 - BFI $0, R16, $8, R1 - MOVH R0, (R9) - MOVB R1, 2(R9) - ADD R12, R13, R13 - ADD R12, R9, R9 + BFI $0, R16, $8, R12 + MOVH R1, (R9) + MOVB R12, 2(R9) + ADD R0, R13, R13 + ADD R0, R9, R9 JMP copy_4_end copy_4_move_4through7: - MOVWU (R13), R0 - ADD R12, R13, R15 - MOVWU -4(R15), R1 - MOVW R0, (R9) - ADD R12, R9, R15 - MOVW R1, -4(R15) - ADD R12, R13, R13 - ADD R12, R9, R9 + MOVWU (R13), R1 + ADD R0, R13, R15 + MOVWU -4(R15), R12 + MOVW R1, (R9) + ADD R0, R9, R15 + MOVW R12, -4(R15) + ADD R0, R13, R13 + ADD R0, R9, R9 JMP copy_4_end copy_4_move_8through16: - MOVD (R13), R0 - ADD R12, R13, R15 - MOVD -8(R15), R1 - MOVD R0, (R9) - ADD R12, R9, R15 - MOVD R1, -8(R15) - ADD R12, R13, R13 - ADD R12, R9, R9 + MOVD (R13), R1 + ADD R0, R13, R15 + MOVD -8(R15), R12 + MOVD R1, (R9) + ADD R0, R9, R15 + MOVD R12, -8(R15) + ADD R0, R13, R13 + ADD R0, R9, R9 copy_4_end: - ADD R12, R11, R11 + ADD R0, R11, R11 JMP handle_loop JMP loop_finished copy_all_from_history: - MOVD R0, R14 + MOVD R1, R14 SUBS $0x10, R14, R14 BLO copy_5_small copy_5_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R9) - ADD $0x10, R13, R13 - ADD $0x10, R9, R9 - SUBS $0x10, R14, R14 - BHS copy_5_loop - ADD R14, R13, R13 - ADD $16, R13, R13 - ADD R14, R9, R9 - ADD $16, R9, R9 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R9, R15 - VST1 [V0.B16], (R15) - JMP copy_5_end + FMOVQ (R13), F0 + FMOVQ F0, (R9) + ADD $0x10, R13, R13 + ADD $0x10, R9, R9 + SUBS $0x10, R14, R14 + BHS copy_5_loop + ADD R14, R13, R13 + ADD $16, R13, R13 + ADD R14, R9, R9 + ADD $16, R9, R9 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R9) + JMP copy_5_end copy_5_small: - CMP $0x03, R0 + CMP $0x03, R1 BEQ copy_5_move_3 BLO copy_5_move_1or2 - CMP $0x08, R0 + CMP $0x08, R1 BLO copy_5_move_4through7 JMP copy_5_move_8through16 copy_5_move_1or2: MOVBU (R13), R16 BFI $0, R16, $8, R14 - ADD R0, R13, R15 + ADD R1, R13, R15 MOVBU -1(R15), R16 BFI $0, R16, $8, R4 MOVB R14, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVB R4, -1(R15) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 JMP copy_5_end copy_5_move_3: @@ -1852,76 +1730,84 @@ copy_5_move_3: BFI $0, R16, $8, R4 MOVH R14, (R9) MOVB R4, 2(R9) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 JMP copy_5_end copy_5_move_4through7: MOVWU (R13), R14 - ADD R0, R13, R15 + ADD R1, R13, R15 MOVWU -4(R15), R4 MOVW R14, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVW R4, -4(R15) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 JMP copy_5_end copy_5_move_8through16: MOVD (R13), R14 - ADD R0, R13, R15 + ADD R1, R13, R15 MOVD -8(R15), R4 MOVD R14, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVD R4, -8(R15) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 copy_5_end: - ADD R0, R11, R11 - SUB R0, R12, R12 + ADD R1, R11, R11 + SUB R1, R0, R0 // Copy match from the current buffer copy_match: - MOVD R9, R0 - SUB R1, R0, R0 + MOVD R9, R1 + SUB R12, R1, R1 // ml <= mo - CMP R1, R12 + CMP R12, R0 BHI copy_overlapping_match // Copy non-overlapping match - ADD R12, R11, R11 - MOVD R9, R1 - ADD R12, R9, R9 + ADD R0, R11, R11 + FMOVQ (R1), F0 + FMOVQ F0, (R9) + CMP $0x10, R0 + BHI copy_2_long + ADD R0, R9, R9 + JMP handle_loop + +copy_2_long: + ADD $16, R9, R12 + ADD R0, R9, R9 + ADD $0x10, R1, R1 + SUB $0x10, R0, R0 copy_2: - VLD1 (R0), [V0.B16] - VST1 [V0.B16], (R1) - ADD $0x10, R0, R0 - ADD $0x10, R1, R1 - SUBS $0x10, R12, R12 - BHI copy_2 - JMP handle_loop + FMOVQ (R1), F0 + FMOVQ F0, (R12) + ADD $0x10, R1, R1 + ADD $0x10, R12, R12 + SUBS $0x10, R0, R0 + BHI copy_2 + JMP handle_loop // Copy overlapping match copy_overlapping_match: - ADD R12, R11, R11 + ADD R0, R11, R11 copy_slow_3: - MOVBU (R0), R16 - BFI $0, R16, $8, R1 - MOVB R1, (R9) - ADD $1, R0, R0 + MOVBU (R1), R12 + MOVB R12, (R9) + ADD $1, R1, R1 ADD $1, R9, R9 - SUBS $1, R12, R12 + SUBS $1, R0, R0 BNE copy_slow_3 handle_loop: - MOVD ctx+16(FP), R0 - MOVD 96(R0), R16 + MOVD 40(RSP), R16 SUBS $1, R16, R16 - MOVD R16, 96(R0) + MOVD R16, 40(RSP) BPL sequenceDecs_decodeSync_amd64_main_loop loop_finished: @@ -1930,6 +1816,16 @@ loop_finished: MOVB R3, 40(R0) MOVD R5, 32(R0) + // s.seqSize += outPosition - ctx.outPosition + MOVD ctx+16(FP), R0 + MOVD s+0(FP), R1 + MOVD R11, R2 + MOVD 136(R0), R16 + SUB R16, R2, R2 + MOVD 256(R1), R16 + ADD R2, R16, R16 + MOVD R16, 256(R1) + // Update the context MOVD ctx+16(FP), R0 MOVD R11, 136(R0) @@ -1944,7 +1840,7 @@ loop_finished: // Return with match length error sequenceDecs_decodeSync_amd64_error_match_len_ofs_mismatch: - MOVD 24(RSP), R0 + MOVD 56(RSP), R0 MOVD ctx+16(FP), R1 MOVD R0, 216(R1) MOVD $0x00000001, R16 @@ -1954,7 +1850,7 @@ sequenceDecs_decodeSync_amd64_error_match_len_ofs_mismatch: // Return with match too long error sequenceDecs_decodeSync_amd64_error_match_len_too_big: MOVD ctx+16(FP), R0 - MOVD 24(RSP), R1 + MOVD 56(RSP), R1 MOVD R1, 216(R0) MOVD $0x00000002, R16 MOVD R16, ret+24(FP) @@ -1963,7 +1859,7 @@ sequenceDecs_decodeSync_amd64_error_match_len_too_big: // Return with match offset too long error error_match_off_too_big: MOVD ctx+16(FP), R0 - MOVD 16(RSP), R1 + MOVD 48(RSP), R1 MOVD R1, 224(R0) MOVD R11, 136(R0) MOVD $0x00000003, R16 @@ -1973,7 +1869,7 @@ error_match_off_too_big: // Return with not enough literals error error_not_enough_literals: MOVD ctx+16(FP), R0 - MOVD 32(RSP), R1 + MOVD 64(RSP), R1 MOVD R1, 208(R0) MOVD $0x00000004, R16 MOVD R16, ret+24(FP) @@ -1988,9 +1884,9 @@ error_overread: // Return with not enough output space error error_not_enough_space: MOVD ctx+16(FP), R0 - MOVD 32(RSP), R1 + MOVD 64(RSP), R1 MOVD R1, 208(R0) - MOVD 24(RSP), R1 + MOVD 56(RSP), R1 MOVD R1, 216(R0) MOVD R11, 136(R0) MOVD $0x00000005, R16 @@ -2001,7 +1897,7 @@ error_not_enough_space: // func sequenceDecs_decodeSync_safe_amd64(s *sequenceDecs, br *bitReader, ctx *decodeSyncAsmContext) int // Requires: CMOV, SSE -TEXT ·sequenceDecs_decodeSync_safe_arm64(SB), $64-32 +TEXT ·sequenceDecs_decodeSync_safe_arm64(SB), $96-32 MOVD br+8(FP), R1 MOVD 24(R1), R2 MOVBU 40(R1), R3 @@ -2013,30 +1909,38 @@ TEXT ·sequenceDecs_decodeSync_safe_arm64(SB), $64-32 MOVD 72(R0), R6 MOVD 80(R0), R7 MOVD 88(R0), R8 - MOVD $0, R1 + MOVD (R0), R1 MOVD R1, 16(RSP) + MOVD 24(R0), R1 MOVD R1, 24(RSP) + MOVD 48(R0), R1 MOVD R1, 32(RSP) + MOVD 96(R0), R1 + MOVD R1, 40(RSP) + MOVD $0, R1 + MOVD R1, 48(RSP) + MOVD R1, 56(RSP) + MOVD R1, 64(RSP) MOVD 112(R0), R9 MOVD 128(R0), R1 - MOVD R1, 40(RSP) + MOVD R1, 72(RSP) MOVD 144(R0), R10 MOVD 136(R0), R11 MOVD 200(R0), R1 - MOVD R1, 64(RSP) + MOVD R1, 96(RSP) MOVD 176(R0), R1 - MOVD R1, 56(RSP) + MOVD R1, 88(RSP) MOVD 184(R0), R0 - MOVD R0, 48(RSP) - MOVD 48(RSP), R0 - MOVD 56(RSP), R16 + MOVD R0, 80(RSP) + MOVD 80(RSP), R0 + MOVD 88(RSP), R16 ADD R0, R16, R16 - MOVD R16, 56(RSP) + MOVD R16, 88(RSP) // Calculate pointer to s.out[cap(s.out)] (a past-end pointer) - MOVD 40(RSP), R16 + MOVD 72(RSP), R16 ADD R9, R16, R16 - MOVD R16, 40(RSP) + MOVD R16, 72(RSP) // outBase += outPosition ADD R11, R9, R9 @@ -2047,8 +1951,7 @@ sequenceDecs_decodeSync_safe_amd64_main_loop: // Fill bitreader to have enough for the offset and match length. CMP $0x08, R5 BLT sequenceDecs_decodeSync_safe_amd64_fill_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R12, R12 MOVD (R12), R2 SUB R0, R5, R5 @@ -2075,53 +1978,32 @@ sequenceDecs_decodeSync_safe_amd64_fill_check_overread: sequenceDecs_decodeSync_safe_amd64_fill_end: // Update offset MOVD R8, R0 - MOVD R3, R1 - MOVD R2, R13 - LSL R1, R13, R13 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decodeSync_safe_amd64_of_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decodeSync_safe_amd64_of_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decodeSync_safe_amd64_of_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R13, R13 ADD R13, R0, R0 - -sequenceDecs_decodeSync_safe_amd64_of_update_zero: - MOVD R0, 16(RSP) + MOVD R0, 48(RSP) // Update match length MOVD R7, R0 - MOVD R3, R1 - MOVD R2, R13 - LSL R1, R13, R13 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decodeSync_safe_amd64_ml_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decodeSync_safe_amd64_ml_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decodeSync_safe_amd64_ml_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R13, R13 ADD R13, R0, R0 - -sequenceDecs_decodeSync_safe_amd64_ml_update_zero: - MOVD R0, 24(RSP) + MOVD R0, 56(RSP) // Fill bitreader to have enough for the remaining CMP $0x08, R5 BLT sequenceDecs_decodeSync_safe_amd64_fill_2_byte_by_byte - MOVD R3, R0 - LSR $0x03, R0, R0 + LSR $0x03, R3, R0 SUB R0, R12, R12 MOVD (R12), R2 SUB R0, R5, R5 @@ -2148,114 +2030,78 @@ sequenceDecs_decodeSync_safe_amd64_fill_2_check_overread: sequenceDecs_decodeSync_safe_amd64_fill_2_end: // Update literal length MOVD R6, R0 - MOVD R3, R1 - MOVD R2, R13 - LSL R1, R13, R13 - UBFX $8, R0, $8, R16 - BFI $0, R16, $8, R1 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + UBFX $8, R0, $8, R1 LSR $0x20, R0, R0 - TST R1, R1 - BEQ sequenceDecs_decodeSync_safe_amd64_ll_update_zero ADD R1, R3, R3 - CMP $0x40, R3 - BHI sequenceDecs_decodeSync_safe_amd64_ll_update_zero - CMP $0x40, R1 - BHS sequenceDecs_decodeSync_safe_amd64_ll_update_zero - NEG R1, R1 + EOR $0x3f, R1, R1 LSR R1, R13, R13 ADD R13, R0, R0 - -sequenceDecs_decodeSync_safe_amd64_ll_update_zero: - MOVD R0, 32(RSP) + MOVD R0, 64(RSP) // Fill bitreader for state updates - MOVD R12, 8(RSP) - MOVD R8, R0 - LSR $0x08, R0, R0 - MOVBU R0, R0 - MOVD ctx+16(FP), R1 - MOVD 96(R1), R16 - CMP $0x00, R16 - BEQ sequenceDecs_decodeSync_safe_amd64_skip_update + MOVD R12, 8(RSP) + UBFX $8, R8, $8, R0 + MOVD 40(RSP), R16 + CMP $0x00, R16 + BEQ sequenceDecs_decodeSync_safe_amd64_skip_update // Update Literal Length State MOVBU R6, R12 LSRW $0x10, R6, R6 - ADD R12, R3, R1 - MOVD R2, R13 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R13, R13 - MOVD $0x00000001, R14 - BFI $0, R12, $8, R1 - LSLW R1, R14, R14 - SUBW $1, R14, R14 - AND R14, R13, R13 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + ADD R12, R3, R3 + EOR $0x3f, R12, R12 + LSR R12, R13, R13 ADD R13, R6, R6 // Load ctx.llTable - MOVD ctx+16(FP), R1 - MOVD (R1), R1 - ADD R6<<3, R1, R15 - MOVD (R15), R6 + MOVD 16(RSP), R1 + MOVD (R1)(R6<<3), R6 // Update Match Length State MOVBU R7, R12 LSRW $0x10, R7, R7 - ADD R12, R3, R1 - MOVD R2, R13 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R13, R13 - MOVD $0x00000001, R14 - BFI $0, R12, $8, R1 - LSLW R1, R14, R14 - SUBW $1, R14, R14 - AND R14, R13, R13 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + ADD R12, R3, R3 + EOR $0x3f, R12, R12 + LSR R12, R13, R13 ADD R13, R7, R7 // Load ctx.mlTable - MOVD ctx+16(FP), R1 - MOVD 24(R1), R1 - ADD R7<<3, R1, R15 - MOVD (R15), R7 + MOVD 24(RSP), R1 + MOVD (R1)(R7<<3), R7 // Update Offset State MOVBU R8, R12 LSRW $0x10, R8, R8 - ADD R12, R3, R1 - MOVD R2, R13 - MOVD R1, R3 - NEG R1, R16 - ROR R16, R13, R13 - MOVD $0x00000001, R14 - BFI $0, R12, $8, R1 - LSLW R1, R14, R14 - SUBW $1, R14, R14 - AND R14, R13, R13 + LSL R3, R2, R13 + LSR $0x01, R13, R13 + ADD R12, R3, R3 + EOR $0x3f, R12, R12 + LSR R12, R13, R13 ADD R13, R8, R8 // Load ctx.ofTable - MOVD ctx+16(FP), R1 - MOVD 48(R1), R1 - ADD R8<<3, R1, R15 - MOVD (R15), R8 + MOVD 32(RSP), R1 + MOVD (R1)(R8<<3), R8 sequenceDecs_decodeSync_safe_amd64_skip_update: // Adjust offset - MOVD s+0(FP), R1 - MOVD 16(RSP), R12 - CMP $0x01, R0 - BLS sequenceDecs_decodeSync_safe_amd64_adjust_offsetB_1_or_0 - ADD $144, R1, R15 - VLD1 (R15), [V0.B16] - MOVD R12, 144(R1) - ADD $152, R1, R15 - VST1 [V0.B16], (R15) - JMP sequenceDecs_decodeSync_safe_amd64_after_adjust + MOVD s+0(FP), R1 + MOVD 48(RSP), R12 + CMP $0x01, R0 + BLS sequenceDecs_decodeSync_safe_amd64_adjust_offsetB_1_or_0 + FMOVQ 144(R1), F0 + MOVD R12, 144(R1) + FMOVQ F0, 152(R1) + JMP sequenceDecs_decodeSync_safe_amd64_after_adjust sequenceDecs_decodeSync_safe_amd64_adjust_offsetB_1_or_0: - MOVD 32(RSP), R16 + MOVD 64(RSP), R16 CMP $0x00000000, R16 BNE sequenceDecs_decodeSync_safe_amd64_adjust_offset_maybezero ADD $1, R12, R12 @@ -2293,16 +2139,11 @@ sequenceDecs_decodeSync_safe_amd64_adjust_skip: MOVD R13, R12 sequenceDecs_decodeSync_safe_amd64_after_adjust: - MOVD R12, 16(RSP) + MOVD R12, 48(RSP) // Check values - MOVD 24(RSP), R0 - MOVD 32(RSP), R1 - ADD R1, R0, R13 - MOVD s+0(FP), R14 - MOVD 256(R14), R16 - ADD R13, R16, R16 - MOVD R16, 256(R14) + MOVD 56(RSP), R0 + MOVD 64(RSP), R1 MOVD ctx+16(FP), R13 MOVD 104(R13), R16 SUBS R1, R16, R16 @@ -2316,60 +2157,54 @@ sequenceDecs_decodeSync_safe_amd64_after_adjust: BNE sequenceDecs_decodeSync_safe_amd64_error_match_len_ofs_mismatch sequenceDecs_decodeSync_safe_amd64_match_len_ofs_ok: - MOVD 32(RSP), R0 - MOVD 16(RSP), R1 - MOVD 24(RSP), R12 - // Check if we have enough space in s.out - ADD R12, R0, R13 + ADD R0, R1, R13 ADD R9, R13, R13 - MOVD 40(RSP), R16 + MOVD 72(RSP), R16 CMP R16, R13 BHI error_not_enough_space // Copy literals - TST R0, R0 + TST R1, R1 BEQ check_offset - MOVD R0, R13 + MOVD R1, R13 SUBS $0x10, R13, R13 BLO copy_1_small copy_1_loop: - VLD1 (R10), [V0.B16] - VST1 [V0.B16], (R9) - ADD $0x10, R10, R10 - ADD $0x10, R9, R9 - SUBS $0x10, R13, R13 - BHS copy_1_loop - ADD R13, R10, R10 - ADD $16, R10, R10 - ADD R13, R9, R9 - ADD $16, R9, R9 - ADD $-16, R10, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R9, R15 - VST1 [V0.B16], (R15) - JMP copy_1_end + FMOVQ (R10), F0 + FMOVQ F0, (R9) + ADD $0x10, R10, R10 + ADD $0x10, R9, R9 + SUBS $0x10, R13, R13 + BHS copy_1_loop + ADD R13, R10, R10 + ADD $16, R10, R10 + ADD R13, R9, R9 + ADD $16, R9, R9 + FMOVQ -16(R10), F0 + FMOVQ F0, -16(R9) + JMP copy_1_end copy_1_small: - CMP $0x03, R0 + CMP $0x03, R1 BEQ copy_1_move_3 BLO copy_1_move_1or2 - CMP $0x08, R0 + CMP $0x08, R1 BLO copy_1_move_4through7 JMP copy_1_move_8through16 copy_1_move_1or2: MOVBU (R10), R16 BFI $0, R16, $8, R13 - ADD R0, R10, R15 + ADD R1, R10, R15 MOVBU -1(R15), R16 BFI $0, R16, $8, R14 MOVB R13, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVB R14, -1(R15) - ADD R0, R10, R10 - ADD R0, R9, R9 + ADD R1, R10, R10 + ADD R1, R9, R9 JMP copy_1_end copy_1_move_3: @@ -2378,158 +2213,154 @@ copy_1_move_3: BFI $0, R16, $8, R14 MOVH R13, (R9) MOVB R14, 2(R9) - ADD R0, R10, R10 - ADD R0, R9, R9 + ADD R1, R10, R10 + ADD R1, R9, R9 JMP copy_1_end copy_1_move_4through7: MOVWU (R10), R13 - ADD R0, R10, R15 + ADD R1, R10, R15 MOVWU -4(R15), R14 MOVW R13, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVW R14, -4(R15) - ADD R0, R10, R10 - ADD R0, R9, R9 + ADD R1, R10, R10 + ADD R1, R9, R9 JMP copy_1_end copy_1_move_8through16: MOVD (R10), R13 - ADD R0, R10, R15 + ADD R1, R10, R15 MOVD -8(R15), R14 MOVD R13, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVD R14, -8(R15) - ADD R0, R10, R10 - ADD R0, R9, R9 + ADD R1, R10, R10 + ADD R1, R9, R9 copy_1_end: - ADD R0, R11, R11 + ADD R1, R11, R11 // Malformed input if seq.mo > t+len(hist) || seq.mo > s.windowSize) check_offset: - MOVD R11, R0 - MOVD 48(RSP), R16 - ADD R16, R0, R0 - CMP R0, R1 + MOVD R11, R1 + MOVD 80(RSP), R16 + ADD R16, R1, R1 + CMP R1, R12 BGT error_match_off_too_big - MOVD 64(RSP), R16 - CMP R16, R1 + MOVD 96(RSP), R16 + CMP R16, R12 BGT error_match_off_too_big // Copy match from history - MOVD R1, R0 - SUBS R11, R0, R0 + MOVD R12, R1 + SUBS R11, R1, R1 BLS copy_match - MOVD 56(RSP), R13 - SUB R0, R13, R13 - CMP R0, R12 + MOVD 88(RSP), R13 + SUB R1, R13, R13 + CMP R1, R0 BGT copy_all_from_history - MOVD R12, R0 - SUBS $0x10, R0, R0 + MOVD R0, R1 + SUBS $0x10, R1, R1 BLO copy_4_small copy_4_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R9) - ADD $0x10, R13, R13 - ADD $0x10, R9, R9 - SUBS $0x10, R0, R0 - BHS copy_4_loop - ADD R0, R13, R13 - ADD $16, R13, R13 - ADD R0, R9, R9 - ADD $16, R9, R9 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R9, R15 - VST1 [V0.B16], (R15) - JMP copy_4_end + FMOVQ (R13), F0 + FMOVQ F0, (R9) + ADD $0x10, R13, R13 + ADD $0x10, R9, R9 + SUBS $0x10, R1, R1 + BHS copy_4_loop + ADD R1, R13, R13 + ADD $16, R13, R13 + ADD R1, R9, R9 + ADD $16, R9, R9 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R9) + JMP copy_4_end copy_4_small: - CMP $0x03, R12 + CMP $0x03, R0 BEQ copy_4_move_3 - CMP $0x08, R12 + CMP $0x08, R0 BLO copy_4_move_4through7 JMP copy_4_move_8through16 copy_4_move_3: - MOVHU (R13), R0 + MOVHU (R13), R1 MOVBU 2(R13), R16 - BFI $0, R16, $8, R1 - MOVH R0, (R9) - MOVB R1, 2(R9) - ADD R12, R13, R13 - ADD R12, R9, R9 + BFI $0, R16, $8, R12 + MOVH R1, (R9) + MOVB R12, 2(R9) + ADD R0, R13, R13 + ADD R0, R9, R9 JMP copy_4_end copy_4_move_4through7: - MOVWU (R13), R0 - ADD R12, R13, R15 - MOVWU -4(R15), R1 - MOVW R0, (R9) - ADD R12, R9, R15 - MOVW R1, -4(R15) - ADD R12, R13, R13 - ADD R12, R9, R9 + MOVWU (R13), R1 + ADD R0, R13, R15 + MOVWU -4(R15), R12 + MOVW R1, (R9) + ADD R0, R9, R15 + MOVW R12, -4(R15) + ADD R0, R13, R13 + ADD R0, R9, R9 JMP copy_4_end copy_4_move_8through16: - MOVD (R13), R0 - ADD R12, R13, R15 - MOVD -8(R15), R1 - MOVD R0, (R9) - ADD R12, R9, R15 - MOVD R1, -8(R15) - ADD R12, R13, R13 - ADD R12, R9, R9 + MOVD (R13), R1 + ADD R0, R13, R15 + MOVD -8(R15), R12 + MOVD R1, (R9) + ADD R0, R9, R15 + MOVD R12, -8(R15) + ADD R0, R13, R13 + ADD R0, R9, R9 copy_4_end: - ADD R12, R11, R11 + ADD R0, R11, R11 JMP handle_loop JMP loop_finished copy_all_from_history: - MOVD R0, R14 + MOVD R1, R14 SUBS $0x10, R14, R14 BLO copy_5_small copy_5_loop: - VLD1 (R13), [V0.B16] - VST1 [V0.B16], (R9) - ADD $0x10, R13, R13 - ADD $0x10, R9, R9 - SUBS $0x10, R14, R14 - BHS copy_5_loop - ADD R14, R13, R13 - ADD $16, R13, R13 - ADD R14, R9, R9 - ADD $16, R9, R9 - ADD $-16, R13, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R9, R15 - VST1 [V0.B16], (R15) - JMP copy_5_end + FMOVQ (R13), F0 + FMOVQ F0, (R9) + ADD $0x10, R13, R13 + ADD $0x10, R9, R9 + SUBS $0x10, R14, R14 + BHS copy_5_loop + ADD R14, R13, R13 + ADD $16, R13, R13 + ADD R14, R9, R9 + ADD $16, R9, R9 + FMOVQ -16(R13), F0 + FMOVQ F0, -16(R9) + JMP copy_5_end copy_5_small: - CMP $0x03, R0 + CMP $0x03, R1 BEQ copy_5_move_3 BLO copy_5_move_1or2 - CMP $0x08, R0 + CMP $0x08, R1 BLO copy_5_move_4through7 JMP copy_5_move_8through16 copy_5_move_1or2: MOVBU (R13), R16 BFI $0, R16, $8, R14 - ADD R0, R13, R15 + ADD R1, R13, R15 MOVBU -1(R15), R16 BFI $0, R16, $8, R4 MOVB R14, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVB R4, -1(R15) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 JMP copy_5_end copy_5_move_3: @@ -2538,140 +2369,136 @@ copy_5_move_3: BFI $0, R16, $8, R4 MOVH R14, (R9) MOVB R4, 2(R9) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 JMP copy_5_end copy_5_move_4through7: MOVWU (R13), R14 - ADD R0, R13, R15 + ADD R1, R13, R15 MOVWU -4(R15), R4 MOVW R14, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVW R4, -4(R15) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 JMP copy_5_end copy_5_move_8through16: MOVD (R13), R14 - ADD R0, R13, R15 + ADD R1, R13, R15 MOVD -8(R15), R4 MOVD R14, (R9) - ADD R0, R9, R15 + ADD R1, R9, R15 MOVD R4, -8(R15) - ADD R0, R13, R13 - ADD R0, R9, R9 + ADD R1, R13, R13 + ADD R1, R9, R9 copy_5_end: - ADD R0, R11, R11 - SUB R0, R12, R12 + ADD R1, R11, R11 + SUB R1, R0, R0 // Copy match from the current buffer copy_match: - MOVD R9, R0 - SUB R1, R0, R0 + MOVD R9, R1 + SUB R12, R1, R1 // ml <= mo - CMP R1, R12 + CMP R12, R0 BHI copy_overlapping_match // Copy non-overlapping match - ADD R12, R11, R11 - MOVD R12, R1 - SUBS $0x10, R1, R1 + ADD R0, R11, R11 + MOVD R0, R12 + SUBS $0x10, R12, R12 BLO copy_2_small copy_2_loop: - VLD1 (R0), [V0.B16] - VST1 [V0.B16], (R9) - ADD $0x10, R0, R0 - ADD $0x10, R9, R9 - SUBS $0x10, R1, R1 - BHS copy_2_loop - ADD R1, R0, R0 - ADD $16, R0, R0 - ADD R1, R9, R9 - ADD $16, R9, R9 - ADD $-16, R0, R15 - VLD1 (R15), [V0.B16] - ADD $-16, R9, R15 - VST1 [V0.B16], (R15) - JMP copy_2_end + FMOVQ (R1), F0 + FMOVQ F0, (R9) + ADD $0x10, R1, R1 + ADD $0x10, R9, R9 + SUBS $0x10, R12, R12 + BHS copy_2_loop + ADD R12, R1, R1 + ADD $16, R1, R1 + ADD R12, R9, R9 + ADD $16, R9, R9 + FMOVQ -16(R1), F0 + FMOVQ F0, -16(R9) + JMP copy_2_end copy_2_small: - CMP $0x03, R12 + CMP $0x03, R0 BEQ copy_2_move_3 BLO copy_2_move_1or2 - CMP $0x08, R12 + CMP $0x08, R0 BLO copy_2_move_4through7 JMP copy_2_move_8through16 copy_2_move_1or2: - MOVBU (R0), R16 - BFI $0, R16, $8, R1 - ADD R12, R0, R15 + MOVBU (R1), R16 + BFI $0, R16, $8, R12 + ADD R0, R1, R15 MOVBU -1(R15), R16 BFI $0, R16, $8, R13 - MOVB R1, (R9) - ADD R12, R9, R15 + MOVB R12, (R9) + ADD R0, R9, R15 MOVB R13, -1(R15) - ADD R12, R0, R0 - ADD R12, R9, R9 + ADD R0, R1, R1 + ADD R0, R9, R9 JMP copy_2_end copy_2_move_3: - MOVHU (R0), R1 - MOVBU 2(R0), R16 + MOVHU (R1), R12 + MOVBU 2(R1), R16 BFI $0, R16, $8, R13 - MOVH R1, (R9) + MOVH R12, (R9) MOVB R13, 2(R9) - ADD R12, R0, R0 - ADD R12, R9, R9 + ADD R0, R1, R1 + ADD R0, R9, R9 JMP copy_2_end copy_2_move_4through7: - MOVWU (R0), R1 - ADD R12, R0, R15 + MOVWU (R1), R12 + ADD R0, R1, R15 MOVWU -4(R15), R13 - MOVW R1, (R9) - ADD R12, R9, R15 + MOVW R12, (R9) + ADD R0, R9, R15 MOVW R13, -4(R15) - ADD R12, R0, R0 - ADD R12, R9, R9 + ADD R0, R1, R1 + ADD R0, R9, R9 JMP copy_2_end copy_2_move_8through16: - MOVD (R0), R1 - ADD R12, R0, R15 + MOVD (R1), R12 + ADD R0, R1, R15 MOVD -8(R15), R13 - MOVD R1, (R9) - ADD R12, R9, R15 + MOVD R12, (R9) + ADD R0, R9, R15 MOVD R13, -8(R15) - ADD R12, R0, R0 - ADD R12, R9, R9 + ADD R0, R1, R1 + ADD R0, R9, R9 copy_2_end: JMP handle_loop // Copy overlapping match copy_overlapping_match: - ADD R12, R11, R11 + ADD R0, R11, R11 copy_slow_3: - MOVBU (R0), R16 - BFI $0, R16, $8, R1 - MOVB R1, (R9) - ADD $1, R0, R0 + MOVBU (R1), R12 + MOVB R12, (R9) + ADD $1, R1, R1 ADD $1, R9, R9 - SUBS $1, R12, R12 + SUBS $1, R0, R0 BNE copy_slow_3 handle_loop: - MOVD ctx+16(FP), R0 - MOVD 96(R0), R16 + MOVD 40(RSP), R16 SUBS $1, R16, R16 - MOVD R16, 96(R0) + MOVD R16, 40(RSP) BPL sequenceDecs_decodeSync_safe_amd64_main_loop loop_finished: @@ -2680,6 +2507,16 @@ loop_finished: MOVB R3, 40(R0) MOVD R5, 32(R0) + // s.seqSize += outPosition - ctx.outPosition + MOVD ctx+16(FP), R0 + MOVD s+0(FP), R1 + MOVD R11, R2 + MOVD 136(R0), R16 + SUB R16, R2, R2 + MOVD 256(R1), R16 + ADD R2, R16, R16 + MOVD R16, 256(R1) + // Update the context MOVD ctx+16(FP), R0 MOVD R11, 136(R0) @@ -2694,7 +2531,7 @@ loop_finished: // Return with match length error sequenceDecs_decodeSync_safe_amd64_error_match_len_ofs_mismatch: - MOVD 24(RSP), R0 + MOVD 56(RSP), R0 MOVD ctx+16(FP), R1 MOVD R0, 216(R1) MOVD $0x00000001, R16 @@ -2704,7 +2541,7 @@ sequenceDecs_decodeSync_safe_amd64_error_match_len_ofs_mismatch: // Return with match too long error sequenceDecs_decodeSync_safe_amd64_error_match_len_too_big: MOVD ctx+16(FP), R0 - MOVD 24(RSP), R1 + MOVD 56(RSP), R1 MOVD R1, 216(R0) MOVD $0x00000002, R16 MOVD R16, ret+24(FP) @@ -2713,7 +2550,7 @@ sequenceDecs_decodeSync_safe_amd64_error_match_len_too_big: // Return with match offset too long error error_match_off_too_big: MOVD ctx+16(FP), R0 - MOVD 16(RSP), R1 + MOVD 48(RSP), R1 MOVD R1, 224(R0) MOVD R11, 136(R0) MOVD $0x00000003, R16 @@ -2723,7 +2560,7 @@ error_match_off_too_big: // Return with not enough literals error error_not_enough_literals: MOVD ctx+16(FP), R0 - MOVD 32(RSP), R1 + MOVD 64(RSP), R1 MOVD R1, 208(R0) MOVD $0x00000004, R16 MOVD R16, ret+24(FP) @@ -2738,9 +2575,9 @@ error_overread: // Return with not enough output space error error_not_enough_space: MOVD ctx+16(FP), R0 - MOVD 32(RSP), R1 + MOVD 64(RSP), R1 MOVD R1, 208(R0) - MOVD 24(RSP), R1 + MOVD 56(RSP), R1 MOVD R1, 216(R0) MOVD R11, 136(R0) MOVD $0x00000005, R16 diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_asm.go b/vendor/github.com/klauspost/compress/zstd/seqdec_asm.go index 42ce5de7..94559c45 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec_asm.go +++ b/vendor/github.com/klauspost/compress/zstd/seqdec_asm.go @@ -83,9 +83,10 @@ const errorOverread = 6 // When the output and literal buffers have compressedBlockOverAlloc (16) // bytes of slack past their logical use, the assembly may use extended // memory copies that read and write in 16-byte blocks, overrunning the end -// of a literal run or match by up to 15 bytes. Otherwise it must use the -// bounds-exact ("safe") copies. This mirrors the analogous, always-dynamic -// selection in executeSimple below. +// of a literal run or match by up to 15 bytes; an empty literal run still +// copies one block, reading and writing the full 16 bytes of slack past +// its position. Otherwise it must use the bounds-exact ("safe") copies. +// This mirrors the analogous, always-dynamic selection in executeSimple below. // // The unsafe copies were disabled in #644 (2022) as a mitigation for a // crash, but that crash's root cause — an unguarded bitReader overread that diff --git a/vendor/github.com/moby/buildkit/frontend/dockerfile/shell/lex.go b/vendor/github.com/moby/buildkit/frontend/dockerfile/shell/lex.go index b8a307a0..a5f9c597 100644 --- a/vendor/github.com/moby/buildkit/frontend/dockerfile/shell/lex.go +++ b/vendor/github.com/moby/buildkit/frontend/dockerfile/shell/lex.go @@ -112,7 +112,7 @@ type shellWord struct { } func (sw *shellWord) process(source string) (string, []string, error) { - word, words, err := sw.processStopOn(scanner.EOF, sw.rawEscapes) + word, words, err := sw.processStopOn(scanner.EOF, sw.rawEscapes, false) if err != nil { err = errors.Wrapf(err, "failed to process %q", source) } @@ -164,9 +164,12 @@ func (w *wordsStruct) getWords() []string { return w.words } -// Process the word, starting at 'pos', and stop when we get to the -// end of the word or the 'stopChar' character -func (sw *shellWord) processStopOn(stopChar rune, rawEscapes bool) (string, []string, error) { +// processStopOn processes input until stopChar or EOF. rawEscapes retains +// escape syntax in the result. preservePatternEscapes doubles literal escape +// tokens inside quoted patterns so the pattern can be parsed again by +// convertShellPatternToRegex. Pattern operands are the word in ${var#word} and +// ${var%word}, and the pattern in ${var/pattern/replacement}. +func (sw *shellWord) processStopOn(stopChar rune, rawEscapes, preservePatternEscapes bool) (string, []string, error) { // result buffer can't be currently shared for shellWord as it is called internally // by processDollar var result strings.Builder @@ -180,8 +183,12 @@ func (sw *shellWord) processStopOn(stopChar rune, rawEscapes bool) (string, []st '<': sw.processPossibleHeredoc, } if !sw.SkipProcessQuotes { - charFuncMapping['\''] = sw.processSingleQuote - charFuncMapping['"'] = sw.processDoubleQuote + charFuncMapping['\''] = func() (string, error) { + return sw.processSingleQuote(preservePatternEscapes) + } + charFuncMapping['"'] = func() (string, error) { + return sw.processDoubleQuote(preservePatternEscapes) + } } // temporarily set sw.rawEscapes if needed @@ -243,7 +250,7 @@ func (sw *shellWord) processStopOn(stopChar rune, rawEscapes bool) (string, []st return result.String(), words.getWords(), nil } -func (sw *shellWord) processSingleQuote() (string, error) { +func (sw *shellWord) processSingleQuote(preservePatternEscapes bool) (string, error) { // All chars between single quotes are taken as-is // Note, you can't escape ' // @@ -271,11 +278,14 @@ func (sw *shellWord) processSingleQuote() (string, error) { } return result.String(), nil } + if preservePatternEscapes && ch == sw.escapeToken { + result.WriteRune(ch) + } result.WriteRune(ch) } } -func (sw *shellWord) processDoubleQuote() (string, error) { +func (sw *shellWord) processDoubleQuote(preservePatternEscapes bool) (string, error) { // All chars up to the next " are taken as-is, even ', except any $ chars // But you can escape " with a \ (or ` if escape token set accordingly) // @@ -314,10 +324,6 @@ func (sw *shellWord) processDoubleQuote() (string, error) { default: ch := sw.scanner.Next() if ch == sw.escapeToken { - if sw.rawEscapes { - result.WriteRune(ch) - } - switch sw.scanner.Peek() { case scanner.EOF: // Ignore \ at end of word @@ -327,7 +333,16 @@ func (sw *shellWord) processDoubleQuote() (string, error) { // Note: for now don't do anything special with ` chars. // Not sure what to do with them anyway since we're not going // to execute the text in there (not now anyway). + if sw.rawEscapes { + result.WriteRune(ch) + } ch = sw.scanner.Next() + default: + // Shell patterns need a doubled escape for + // convertShellPatternToRegex even when quotes are kept. + if sw.rawEscapes && (!sw.RawQuotes || preservePatternEscapes) { + result.WriteRune(ch) + } } } result.WriteRune(ch) @@ -382,7 +397,7 @@ func (sw *shellWord) processDollar() (string, error) { if nullIsUnset && rawEscapes { return "", errors.Errorf("unsupported modifier (%s) in substitution", chs) } - word, _, err := sw.processStopOn('}', rawEscapes) + word, _, err := sw.processStopOn('}', rawEscapes, rawEscapes) if err != nil { if sw.scanner.Peek() == scanner.EOF { return "", errors.New("syntax error: missing '}'") @@ -446,7 +461,7 @@ func (sw *shellWord) processDollar() (string, error) { sw.scanner.Next() } - pattern, _, err := sw.processStopOn('/', true) + pattern, _, err := sw.processStopOn('/', true, true) if err != nil { if sw.scanner.Peek() == scanner.EOF { return "", errors.New("syntax error: missing '/' in ${}") @@ -454,7 +469,7 @@ func (sw *shellWord) processDollar() (string, error) { return "", err } - replacement, _, err := sw.processStopOn('}', true) + replacement, _, err := sw.processStopOn('}', true, false) if err != nil { if sw.scanner.Peek() == scanner.EOF { return "", errors.New("syntax error: missing '}'") diff --git a/vendor/github.com/moby/moby/client/hijack.go b/vendor/github.com/moby/moby/client/hijack.go index fb3a2326..fbb04027 100644 --- a/vendor/github.com/moby/moby/client/hijack.go +++ b/vendor/github.com/moby/moby/client/hijack.go @@ -42,7 +42,7 @@ func (cli *Client) DialHijack(ctx context.Context, url, proto string, meta map[s return conn, err } -func (cli *Client) setupHijackConn(req *http.Request, proto string) (_ net.Conn, _ string, retErr error) { +func (cli *Client) setupHijackConn(req *http.Request, proto string) (retConn net.Conn, mediaType string, retErr error) { ctx := req.Context() req.Header.Set("Connection", "Upgrade") req.Header.Set("Upgrade", proto) @@ -70,6 +70,20 @@ func (cli *Client) setupHijackConn(req *http.Request, proto string) (_ net.Conn, hc := &hijackedConn{conn, bufio.NewReader(conn)} + // Cancel the handshake without tying the returned connection to ctx. + cancelled := make(chan struct{}) + stop := context.AfterFunc(ctx, func() { + _ = hc.Conn.Close() + close(cancelled) + }) + defer func() { + if !stop() { + // Cancellation won the race; don't return a connection being closed. + <-cancelled + retConn, mediaType, retErr = nil, "", ctx.Err() + } + }() + cfg := &cli.clientConfig var rt http.RoundTripper = otelhttp.NewTransport(hc, cli.traceOpts...) diff --git a/vendor/github.com/moby/sys/userns/userns_linux.go b/vendor/github.com/moby/sys/userns/userns_linux.go index b4288edc..8a2e3532 100644 --- a/vendor/github.com/moby/sys/userns/userns_linux.go +++ b/vendor/github.com/moby/sys/userns/userns_linux.go @@ -2,6 +2,7 @@ package userns import ( "bufio" + "errors" "fmt" "os" "sync" @@ -23,7 +24,16 @@ var inUserNS = sync.OnceValue(runningInUserNS) func runningInUserNS() bool { var st syscall.Stat_t if err := syscall.Stat("/proc/self/ns/user", &st); err == nil { - return st.Ino != procUserInitIno + // The kernel's initial user namespace inode is definitive when it + // matches. OpenVZ virtualizes namespace inode numbers, so a mismatch + // must fall back to uid_map-based detection there. + if st.Ino == procUserInitIno { + return false + } + if runningInOpenVZ() { + return runningInUserNSFromUIDMap() + } + return true } else if !os.IsNotExist(err) { // As long as /proc/self/ns/user exists, we are on a modern kernel. // Other errors indicate an unexpected procfs state, where assuming the @@ -35,6 +45,10 @@ func runningInUserNS() bool { // through procfs at /proc/self/ns/user. // TODO: Remove this fallback once Linux kernels older than 3.8 are no // longer supported. + return runningInUserNSFromUIDMap() +} + +func runningInUserNSFromUIDMap() bool { file, err := os.Open("/proc/self/uid_map") if err != nil { // This kernel-provided file only exists if user namespaces are supported. @@ -69,3 +83,19 @@ func uidMapInUserNS(uidMap string) bool { initNS := a == 0 && b == 0 && c == 4294967295 return !initNS } + +// runningInOpenVZ reports whether the process is running inside an OpenVZ +// container. +// +// OpenVZ exposes /proc/vz both on the host and inside containers, while +// /proc/bc is only exposed on the host. This follows systemd's OpenVZ +// detection: +// https://github.com/systemd/systemd/blob/v261.2/src/basic/virt.c#L642-L653 +func runningInOpenVZ() bool { + var st syscall.Stat_t + if err := syscall.Stat("/proc/vz", &st); err != nil { + return false + } + err := syscall.Stat("/proc/bc", &st) + return errors.Is(err, syscall.ENOENT) +} diff --git a/vendor/github.com/prometheus/common/expfmt/decode.go b/vendor/github.com/prometheus/common/expfmt/decode.go index 8f8dc65d..0339d8c1 100644 --- a/vendor/github.com/prometheus/common/expfmt/decode.go +++ b/vendor/github.com/prometheus/common/expfmt/decode.go @@ -72,13 +72,15 @@ func ResponseFormat(h http.Header) Format { // NewDecoder returns a new decoder based on the given input format. Metric // names are validated based on the provided Format -- if the format requires -// escaping, raditional Prometheues validity checking is used. Otherwise, names +// escaping, traditional Prometheus validity checking is used. Otherwise, names // are checked for UTF-8 validity. Supported formats include delimited protobuf -// and Prometheus text format. For historical reasons, this decoder fallbacks -// to classic text decoding for any other format. This decoder does not fully -// support OpenMetrics although it may often succeed due to the similarities -// between the formats. This decoder may not support the latest features of -// Prometheus text format and is not intended for high-performance applications. +// and Prometheus text format. For historical reasons, this decoder falls back +// to classic text decoding for other legacy formats, but returns an error for +// unsupported formats such as OpenMetrics 2.0. This decoder does not fully +// support OpenMetrics although it may often succeed for OpenMetrics 1.0 due to +// the similarities between the formats. This decoder may not support the latest +// features of Prometheus text format and is not intended for high-performance +// applications. // See: https://github.com/prometheus/common/issues/812 func NewDecoder(r io.Reader, format Format) Decoder { scheme := model.LegacyValidation @@ -90,6 +92,11 @@ func NewDecoder(r io.Reader, format Format) Decoder { return &protoDecoder{r: bufio.NewReader(r), s: scheme} case TypeProtoText, TypeProtoCompact: return &errDecoder{err: fmt.Errorf("format %s not supported for decoding", format)} + case TypeOpenMetrics: + _, params, err := mime.ParseMediaType(string(format)) + if err == nil && params["version"] == OpenMetricsVersion_2_0_0 { + return &errDecoder{err: fmt.Errorf("format %s not supported for decoding", format)} + } } return &textDecoder{r: r, s: scheme} } diff --git a/vendor/github.com/prometheus/common/expfmt/encode.go b/vendor/github.com/prometheus/common/expfmt/encode.go index 73c24dfb..6945356c 100644 --- a/vendor/github.com/prometheus/common/expfmt/encode.go +++ b/vendor/github.com/prometheus/common/expfmt/encode.go @@ -16,6 +16,7 @@ package expfmt import ( "fmt" "io" + "mime" "net/http" "github.com/munnerz/goautoneg" @@ -26,6 +27,24 @@ import ( "github.com/prometheus/common/model" ) +var formatToAccept = map[Format]goautoneg.Accept{} + +func init() { + for _, f := range []Format{ + FmtText, + FmtProtoDelim, + FmtProtoText, + FmtProtoCompact, + FmtOpenMetrics_1_0_0, + fmtOpenMetrics_2_0_0, + FmtOpenMetrics_0_0_1, + } { + if parsed := goautoneg.ParseAccept(string(f)); len(parsed) > 0 { + formatToAccept[f] = parsed[0] + } + } +} + // Encoder types encode metric families into an underlying wire protocol. type Encoder interface { Encode(*dto.MetricFamily) error @@ -57,11 +76,30 @@ func (ec encoderCloser) Close() error { // Negotiate returns the Content-Type based on the given Accept header. If no // appropriate accepted type is found, FmtText is returned (which is the -// Prometheus text format). This function will never negotiate FmtOpenMetrics, -// as the support is still experimental. To include the option to negotiate -// FmtOpenMetrics, use NegotiateIncludingOpenMetrics. +// Prometheus text format). +// +// Deprecated: Use NegotiateAccept(h, FmtProtoDelim, FmtProtoText, FmtProtoCompact, FmtText) +// or specify only the formats supported by your server. func Negotiate(h http.Header) Format { - escapingScheme := Format(fmt.Sprintf("; escaping=%s", Format(model.NameEscapingScheme.String()))) + return NegotiateAccept(h, FmtProtoDelim, FmtProtoText, FmtProtoCompact, FmtText) +} + +// NegotiateIncludingOpenMetrics works like Negotiate but includes +// FmtOpenMetrics as an option for the result. +// +// Deprecated: Use NegotiateAccept(h, FmtOpenMetrics_1_0_0, FmtOpenMetrics_0_0_1, FmtProtoDelim, FmtProtoText, FmtProtoCompact, FmtText) +// or specify only the formats supported by your server. +func NegotiateIncludingOpenMetrics(h http.Header) Format { + return NegotiateAccept(h, FmtOpenMetrics_1_0_0, FmtOpenMetrics_0_0_1, FmtProtoDelim, FmtProtoText, FmtProtoCompact, FmtText) +} + +// NegotiateAccept returns the Content-Type based on the given Accept header +// and the list of accepted Formats provided by the caller, in order of preference. +// If no accepted format matches the Accept header, it falls back to the text +// format if present in the accepted list, or the first accepted format (or FmtText +// if accepted is empty). +func NegotiateAccept(h http.Header, accepted ...Format) Format { + escapingScheme := Format("; escaping=" + model.NameEscapingScheme.String()) for _, ac := range goautoneg.ParseAccept(h.Get(hdrAccept)) { if escapeParam := ac.Params[model.EscapingKey]; escapeParam != "" { switch Format(escapeParam) { @@ -71,63 +109,66 @@ func Negotiate(h http.Header) Format { // If the escaping parameter is unknown, ignore it. } } - ver := ac.Params["version"] - if ac.Type+"/"+ac.SubType == ProtoType && ac.Params["proto"] == ProtoProtocol { - switch ac.Params["encoding"] { - case "delimited": - return FmtProtoDelim + escapingScheme - case "text": - return FmtProtoText + escapingScheme - case "compact-text": - return FmtProtoCompact + escapingScheme + + for _, f := range accepted { + if matchFormat(ac, f) { + return f + escapingScheme } } - if ac.Type == "text" && ac.SubType == "plain" && (ver == TextVersion || ver == "") { - return FmtText + escapingScheme + } + for _, f := range accepted { + if f.FormatType() == TypeTextPlain { + return f + escapingScheme } } + if len(accepted) > 0 { + return accepted[0] + escapingScheme + } return FmtText + escapingScheme } -// NegotiateIncludingOpenMetrics works like Negotiate but includes -// FmtOpenMetrics as an option for the result. Note that this function is -// temporary and will disappear once FmtOpenMetrics is fully supported and as -// such may be negotiated by the normal Negotiate function. -func NegotiateIncludingOpenMetrics(h http.Header) Format { - escapingScheme := Format(fmt.Sprintf("; escaping=%s", Format(model.NameEscapingScheme.String()))) - for _, ac := range goautoneg.ParseAccept(h.Get(hdrAccept)) { - if escapeParam := ac.Params[model.EscapingKey]; escapeParam != "" { - switch Format(escapeParam) { - case model.AllowUTF8, model.EscapeUnderscores, model.EscapeDots, model.EscapeValues: - escapingScheme = Format("; escaping=" + escapeParam) - default: - // If the escaping parameter is unknown, ignore it. - } +// matchFormat checks if a parsed accept clause matches a given Format. +func matchFormat(ac goautoneg.Accept, f Format) bool { + target, ok := formatToAccept[f] + if !ok { + parsed := goautoneg.ParseAccept(string(f)) + if len(parsed) == 0 { + return false } - ver := ac.Params["version"] - if ac.Type+"/"+ac.SubType == ProtoType && ac.Params["proto"] == ProtoProtocol { - switch ac.Params["encoding"] { - case "delimited": - return FmtProtoDelim + escapingScheme - case "text": - return FmtProtoText + escapingScheme - case "compact-text": - return FmtProtoCompact + escapingScheme - } + target = parsed[0] + } + + if ac.Type != "*" && ac.Type != target.Type { + return false + } + if ac.SubType != "*" && ac.SubType != target.SubType { + return false + } + + // Default OpenMetrics version to OpenMetricsVersion_0_0_1. + acVersion := ac.Params["version"] + if acVersion == "" && ac.Type+"/"+ac.SubType == OpenMetricsType { + acVersion = OpenMetricsVersion_0_0_1 + } + if acVersion == "" && ac.Type == "text" && ac.SubType == "plain" { + acVersion = TextVersion + } + + // General param matching. + for k, v := range target.Params { + if k == "charset" { + continue } - if ac.Type == "text" && ac.SubType == "plain" && (ver == TextVersion || ver == "") { - return FmtText + escapingScheme + acVal := ac.Params[k] + if k == "version" { + acVal = acVersion } - if ac.Type+"/"+ac.SubType == OpenMetricsType && (ver == OpenMetricsVersion_0_0_1 || ver == OpenMetricsVersion_1_0_0 || ver == "") { - switch ver { - case OpenMetricsVersion_1_0_0: - return FmtOpenMetrics_1_0_0 + escapingScheme - default: - return FmtOpenMetrics_0_0_1 + escapingScheme - } + if acVal != v { + return false } } - return FmtText + escapingScheme + + return true } // NewEncoder returns a new encoder based on content type negotiation. All @@ -181,6 +222,19 @@ func NewEncoder(w io.Writer, format Format, options ...EncoderOption) Encoder { close: func() error { return nil }, } case TypeOpenMetrics: + _, params, err := mime.ParseMediaType(string(format)) + if err == nil && params["version"] == OpenMetricsVersion_2_0_0 { + return encoderCloser{ + encode: func(v *dto.MetricFamily) error { + _, err := MetricFamilyToOpenMetrics20(w, model.EscapeMetricFamily(v, escapingScheme), options...) + return err + }, + close: func() error { + _, err := FinalizeOpenMetrics(w) + return err + }, + } + } return encoderCloser{ encode: func(v *dto.MetricFamily) error { _, err := MetricFamilyToOpenMetrics(w, model.EscapeMetricFamily(v, escapingScheme), options...) diff --git a/vendor/github.com/prometheus/common/expfmt/expfmt.go b/vendor/github.com/prometheus/common/expfmt/expfmt.go index 10bf3570..40035f20 100644 --- a/vendor/github.com/prometheus/common/expfmt/expfmt.go +++ b/vendor/github.com/prometheus/common/expfmt/expfmt.go @@ -42,6 +42,8 @@ const ( OpenMetricsVersion_0_0_1 = "0.0.1" //nolint:revive // Allow for underscores. OpenMetricsVersion_1_0_0 = "1.0.0" + //nolint:revive // Allow for underscores. + OpenMetricsVersion_2_0_0 = "2.0.0" // The Content-Type values for the different wire protocols. Do not do direct // comparisons to these constants, instead use the comparison functions. @@ -59,6 +61,8 @@ const ( // Deprecated: Use expfmt.NewFormat(expfmt.TypeOpenMetrics) instead. //nolint:revive // Allow for underscores. FmtOpenMetrics_1_0_0 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_1_0_0 + `; charset=utf-8` + //nolint:revive // Allow for underscores. + fmtOpenMetrics_2_0_0 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_2_0_0 + `; charset=utf-8` // Deprecated: Use expfmt.NewFormat(expfmt.TypeOpenMetrics) instead. //nolint:revive // Allow for underscores. FmtOpenMetrics_0_0_1 Format = OpenMetricsType + `; version=` + OpenMetricsVersion_0_0_1 + `; charset=utf-8` @@ -107,6 +111,9 @@ func NewFormat(t FormatType) Format { // NewOpenMetricsFormat generates a new OpenMetrics format matching the // specified version number. +// +// Note: OpenMetrics version 2.0.0 is experimental and encode-only (currently +// supporting counter, gauge, and untyped metric types). func NewOpenMetricsFormat(version string) (Format, error) { if version == OpenMetricsVersion_0_0_1 { return FmtOpenMetrics_0_0_1, nil @@ -114,6 +121,10 @@ func NewOpenMetricsFormat(version string) (Format, error) { if version == OpenMetricsVersion_1_0_0 { return FmtOpenMetrics_1_0_0, nil } + if version == OpenMetricsVersion_2_0_0 { + // OpenMetrics 2.0.0 is experimental and encode-only (counter/gauge/untyped). + return fmtOpenMetrics_2_0_0, nil + } return FmtUnknown, errors.New("unknown open metrics version string") } diff --git a/vendor/github.com/prometheus/common/expfmt/openmetrics_2_0_create.go b/vendor/github.com/prometheus/common/expfmt/openmetrics_2_0_create.go new file mode 100644 index 00000000..8ca9b6be --- /dev/null +++ b/vendor/github.com/prometheus/common/expfmt/openmetrics_2_0_create.go @@ -0,0 +1,425 @@ +// Copyright The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package expfmt + +import ( + "bufio" + "errors" + "fmt" + "io" + "math" + "strconv" + "strings" + + dto "github.com/prometheus/client_model/go" + "google.golang.org/protobuf/types/known/timestamppb" +) + +// MetricFamilyToOpenMetrics20 converts a MetricFamily proto message into the +// OpenMetrics text format version 2.0.0 and writes the resulting lines to 'out'. +// It returns the number of bytes written and any error encountered. +// +// NOTE: This method targets OpenMetrics 2.0.0 (currently aligned with 2.0-rc.0) which is experimental and +// encode-only (currently supporting counter, gauge, and untyped metric types). +// Breaking changes might happen in the future. This implementation is still a +// work-in-progress, and does not yet support all features of the format. +// EncoderOptions are accepted for signature compatibility with +// MetricFamilyToOpenMetrics and are currently ignored. +func MetricFamilyToOpenMetrics20(out io.Writer, in *dto.MetricFamily, options ...EncoderOption) (written int, err error) { + // Options are accepted for signature compatibility and ignored. + _ = options + name := in.GetName() + if name == "" { + return 0, fmt.Errorf("MetricFamily has no name: %s", in) + } + if containsRawNewline(name) { + return 0, fmt.Errorf("MetricFamily name %q contains raw newlines", name) + } + if in.Unit != nil && containsRawNewline(*in.Unit) { + return 0, fmt.Errorf("MetricFamily unit %q contains raw newlines", *in.Unit) + } + + // Try the interface upgrade. If it doesn't work, we'll use a + // bufio.Writer from the sync.Pool. + w, ok := out.(enhancedWriter) + if !ok { + b := bufPool.Get().(*bufio.Writer) + b.Reset(out) + w = b + defer func() { + bErr := b.Flush() + if err == nil { + err = bErr + } + bufPool.Put(b) + }() + } + + var ( + n int + metricType = in.GetType() + ) + + // Comments, first HELP, then TYPE. + if in.Help != nil { + n, err = w.WriteString("# HELP ") + written += n + if err != nil { + return written, err + } + n, err = writeName(w, name) + written += n + if err != nil { + return written, err + } + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + n, err = writeEscapedString(w, *in.Help, true) + written += n + if err != nil { + return written, err + } + err = w.WriteByte('\n') + written++ + if err != nil { + return written, err + } + } + n, err = w.WriteString("# TYPE ") + written += n + if err != nil { + return written, err + } + n, err = writeName(w, name) + written += n + if err != nil { + return written, err + } + switch metricType { + case dto.MetricType_COUNTER: + n, err = w.WriteString(" counter\n") + case dto.MetricType_GAUGE: + n, err = w.WriteString(" gauge\n") + case dto.MetricType_SUMMARY: + n, err = w.WriteString(" summary\n") + case dto.MetricType_UNTYPED: + n, err = w.WriteString(" unknown\n") + case dto.MetricType_HISTOGRAM: + n, err = w.WriteString(" histogram\n") + case dto.MetricType_GAUGE_HISTOGRAM: + n, err = w.WriteString(" gaugehistogram\n") + default: + // TODO: Support Info and StateSet once they are supported in the + // Prometheus protobuf format. + return written, fmt.Errorf("unknown metric type %s", metricType.String()) + } + written += n + if err != nil { + return written, err + } + if in.Unit != nil { + n, err = w.WriteString("# UNIT ") + written += n + if err != nil { + return written, err + } + n, err = writeName(w, name) + written += n + if err != nil { + return written, err + } + + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + n, err = writeEscapedString(w, *in.Unit, true) + written += n + if err != nil { + return written, err + } + err = w.WriteByte('\n') + written++ + if err != nil { + return written, err + } + } + + // Finally the samples, one line for each. + for _, metric := range in.Metric { + if metric == nil { + return written, fmt.Errorf("expected non-nil metric in MetricFamily %s", name) + } + switch metricType { + case dto.MetricType_COUNTER: + if metric.Counter == nil { + return written, fmt.Errorf("expected counter in metric %s %s", name, metric) + } + val := metric.Counter.GetValue() + if math.IsNaN(val) { + return written, fmt.Errorf("counter value cannot be NaN in metric %s", name) + } + if val < 0 { + return written, fmt.Errorf("counter value cannot be negative (%g) in metric %s", val, name) + } + n, err = writeOpenMetrics20Sample(w, name, metric, val, 0, false, metric.Counter.CreatedTimestamp, metric.Counter.Exemplar) + case dto.MetricType_GAUGE: + if metric.Gauge == nil { + return written, fmt.Errorf("expected gauge in metric %s %s", name, metric) + } + n, err = writeOpenMetrics20Sample(w, name, metric, metric.Gauge.GetValue(), 0, false, nil, nil) + case dto.MetricType_UNTYPED: + if metric.Untyped == nil { + return written, fmt.Errorf("expected untyped in metric %s %s", name, metric) + } + n, err = writeOpenMetrics20Sample(w, name, metric, metric.Untyped.GetValue(), 0, false, nil, nil) + case dto.MetricType_SUMMARY: + if metric.Summary == nil { + return written, fmt.Errorf("expected summary in metric %s %s", name, metric) + } + n, err = writeCompositeSummary(w, name, metric) + case dto.MetricType_HISTOGRAM, dto.MetricType_GAUGE_HISTOGRAM: + if metric.Histogram == nil { + return written, fmt.Errorf("expected histogram in metric %s %s", name, metric) + } + n, err = writeCompositeHistogram(w, name, metric, metricType == dto.MetricType_GAUGE_HISTOGRAM) + default: + return written, fmt.Errorf("unexpected type in metric %s %s", name, metric) + } + written += n + if err != nil { + return written, err + } + } + return written, nil +} + +// writeOpenMetrics20Sample writes a single sample for simple types (Counter, Gauge, Untyped). +func writeOpenMetrics20Sample(w enhancedWriter, name string, metric *dto.Metric, floatValue float64, intValue uint64, useIntValue bool, startTimestamp *timestamppb.Timestamp, exemplar *dto.Exemplar) (int, error) { + if err := validateLabels20(metric.Label); err != nil { + return 0, err + } + written := 0 + n, err := writeOpenMetricsNameAndLabelPairs(w, name, metric.Label, "", 0) + written += n + if err != nil { + return written, err + } + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + + if useIntValue { + n, err = writeUint(w, intValue) + } else { + n, err = writeOpenMetricsFloat(w, floatValue) + } + written += n + if err != nil { + return written, err + } + + if metric.TimestampMs != nil { + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + n, err = writeOpenMetrics20Timestamp(w, float64(*metric.TimestampMs)/1000) + written += n + if err != nil { + return written, err + } + } + + // Start Timestamp + if startTimestamp != nil { + if err := startTimestamp.CheckValid(); err != nil { + return written, fmt.Errorf("invalid created timestamp in metric %s: %w", name, err) + } + n, err = w.WriteString(" st@") + written += n + if err != nil { + return written, err + } + n, err = writeProtoTimestamp(w, startTimestamp) + written += n + if err != nil { + return written, err + } + } + + if exemplar != nil { + n, err = writeExemplar20(w, exemplar) + written += n + if err != nil { + return written, err + } + } + + err = w.WriteByte('\n') + written++ + if err != nil { + return written, err + } + return written, nil +} + +// writeExemplar20 writes the provided exemplar in OpenMetrics 2.0 format to w. +// In OpenMetrics 2.0, invalid exemplars or exemplars without a timestamp are dropped. +func writeExemplar20(w enhancedWriter, e *dto.Exemplar) (int, error) { + if e == nil { + return 0, nil + } + // In OpenMetrics 2.0, invalid exemplars are dropped rather than failing the entire exposition. + if err := validateExemplar20(e); err != nil { + return 0, nil + } + written := 0 + n, err := w.WriteString(" # ") + written += n + if err != nil { + return written, err + } + if len(e.Label) == 0 { + n, err = w.WriteString("{}") + } else { + n, err = writeOpenMetricsNameAndLabelPairs(w, "", e.Label, "", 0) + } + written += n + if err != nil { + return written, err + } + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + n, err = writeOpenMetricsFloat(w, e.GetValue()) + written += n + if err != nil { + return written, err + } + err = w.WriteByte(' ') + written++ + if err != nil { + return written, err + } + ts := e.Timestamp + n, err = writeProtoTimestamp(w, ts) + written += n + if err != nil { + return written, err + } + return written, nil +} + +// writeOpenMetrics20Timestamp writes a float64 as a timestamp without scientific notation. +func writeOpenMetrics20Timestamp(w enhancedWriter, f float64) (int, error) { + bp := numBufPool.Get().(*[]byte) + *bp = strconv.AppendFloat((*bp)[:0], f, 'f', -1, 64) + written, err := w.Write(*bp) + numBufPool.Put(bp) + return written, err +} + +// Stubs for Summary and Histogram + +func writeCompositeSummary(w enhancedWriter, name string, metric *dto.Metric) (int, error) { + _ = w + _ = name + _ = metric + return 0, errors.New("summary not implemented yet") +} + +func writeCompositeHistogram(w enhancedWriter, name string, metric *dto.Metric, isGauge bool) (int, error) { + _ = w + _ = name + _ = metric + _ = isGauge + return 0, errors.New("histogram not implemented yet") +} + +func validateLabels20(labels []*dto.LabelPair) error { + for _, lp := range labels { + if lp == nil { + return errors.New("expected non-nil label pair") + } + lname := lp.GetName() + if lname == "" { + return errors.New("label name cannot be empty") + } + if containsRawNewline(lname) { + return fmt.Errorf("label name %q contains raw newlines", lname) + } + } + return nil +} + +func containsRawNewline(s string) bool { + return strings.IndexByte(s, '\n') >= 0 || strings.IndexByte(s, '\r') >= 0 +} + +func validateExemplar20(e *dto.Exemplar) error { + if e.Timestamp == nil { + return errors.New("exemplar timestamp is required") + } + if err := e.Timestamp.CheckValid(); err != nil { + return err + } + return validateLabels20(e.Label) +} + +func writeProtoTimestamp(w enhancedWriter, ts *timestamppb.Timestamp) (int, error) { + if err := ts.CheckValid(); err != nil { + return 0, err + } + n, err := writeInt(w, ts.Seconds) + if err != nil { + return n, err + } + if ts.Nanos == 0 { + return n, nil + } + err = w.WriteByte('.') + written := n + 1 + if err != nil { + return written, err + } + bp := numBufPool.Get().(*[]byte) + *bp = strconv.AppendInt((*bp)[:0], int64(ts.Nanos), 10) + pad := 9 - len(*bp) + for range pad { + err = w.WriteByte('0') + written++ + if err != nil { + numBufPool.Put(bp) + return written, err + } + } + val := *bp + for len(val) > 0 && val[len(val)-1] == '0' { + val = val[:len(val)-1] + } + n2, err := w.Write(val) + written += n2 + numBufPool.Put(bp) + return written, err +} diff --git a/vendor/github.com/prometheus/common/model/signature.go b/vendor/github.com/prometheus/common/model/signature.go index dc8a0026..b723e3bb 100644 --- a/vendor/github.com/prometheus/common/model/signature.go +++ b/vendor/github.com/prometheus/common/model/signature.go @@ -14,7 +14,7 @@ package model import ( - "sort" + "slices" ) // SeparatorByte is a byte that cannot occur in valid UTF-8 sequences and is @@ -37,7 +37,7 @@ func LabelsToSignature(labels map[string]string) uint64 { for labelName := range labels { labelNames = append(labelNames, labelName) } - sort.Strings(labelNames) + slices.Sort(labelNames) sum := hashNew() for _, labelName := range labelNames { @@ -60,7 +60,7 @@ func labelSetToFingerprint(ls LabelSet) Fingerprint { for labelName := range ls { labelNames = append(labelNames, labelName) } - sort.Sort(labelNames) + slices.Sort(labelNames) sum := hashNew() for _, labelName := range labelNames { @@ -100,7 +100,7 @@ func SignatureForLabels(m Metric, labels ...LabelName) uint64 { return emptyLabelSignature } - sort.Sort(LabelNames(labels)) + slices.Sort(labels) sum := hashNew() for _, label := range labels { @@ -129,7 +129,7 @@ func SignatureWithoutLabels(m Metric, labels map[LabelName]struct{}) uint64 { if len(labelNames) == 0 { return emptyLabelSignature } - sort.Sort(labelNames) + slices.Sort(labelNames) sum := hashNew() for _, labelName := range labelNames { diff --git a/vendor/github.com/prometheus/common/model/time.go b/vendor/github.com/prometheus/common/model/time.go index 0854753f..98607174 100644 --- a/vendor/github.com/prometheus/common/model/time.go +++ b/vendor/github.com/prometheus/common/model/time.go @@ -164,6 +164,34 @@ func (t *Time) UnmarshalJSON(b []byte) error { // This type should not propagate beyond the scope of input/output processing. type Duration time.Duration +// Common durations. Day and Week are included because ParseDuration supports +// those units (unlike the standard time package). +// +// To count the number of units in a Duration, divide: +// +// second := model.Second +// fmt.Print(int64(second/model.Millisecond)) // prints 1000 +// +// To convert an integer number of units to a Duration, multiply: +// +// seconds := 10 +// fmt.Print(model.Duration(seconds)*model.Second) // prints 10s +const ( + Nanosecond Duration = 1 + Microsecond = 1000 * Nanosecond + Millisecond = 1000 * Microsecond + Second = 1000 * Millisecond + Minute = 60 * Second + Hour = 60 * Minute + Day = 24 * Hour + Week = 7 * Day +) + +// Milliseconds returns the duration as an integer millisecond count. +// Prometheus stores timestamps in milliseconds; time.Duration already +// covers the other units. +func (d Duration) Milliseconds() int64 { return time.Duration(d).Milliseconds() } + // Set implements pflag/flag.Value. func (d *Duration) Set(s string) error { var err error diff --git a/vendor/github.com/sirupsen/logrus/hooks/slog/handler.go b/vendor/github.com/sirupsen/logrus/hooks/slog/handler.go new file mode 100644 index 00000000..1b846c3c --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/hooks/slog/handler.go @@ -0,0 +1,201 @@ +package slog + +import ( + "context" + "log/slog" + "maps" + "runtime" + "slices" + "strings" + + "github.com/sirupsen/logrus" +) + +// HandlerOptions are options for a [Handler]. +// A zero HandlerOptions consists entirely of default values. +type HandlerOptions struct { + // AddSource causes the handler to include the source code position + // of the log statement in the Logrus entry. + AddSource bool + + // LevelMapper maps slog levels to Logrus levels. If nil, the default + // mapping is used. Set it to customize level mapping, for example to map + // custom slog levels to specific Logrus levels. + LevelMapper func(slog.Level) logrus.Level +} + +// Handler is a [slog.Handler] that writes records to a [logrus.Logger]. +// +// It is intended for bridging libraries or application code that log via slog +// into an existing Logrus logger, for example during a gradual migration. +// +// By default, slog levels are mapped using [SlogLevel]. +// Set [HandlerOptions.LevelMapper] to customize the mapping. +// +// Mapping to [logrus.FatalLevel] or [logrus.PanicLevel] preserves the level +// only; handling a record does not exit or panic. +type Handler struct { + logger *logrus.Logger + opts HandlerOptions + + // fields holds attributes from prior WithAttrs calls, already resolved + // under the group prefix that applied when they were added. + fields logrus.Fields + + // groups is the current group name stack for attributes added later. + groups []string +} + +var _ slog.Handler = (*Handler)(nil) + +// NewHandler creates a [slog.Handler] that writes to the provided +// [logrus.Logger]. +// +// The provided logger must not be nil. NewHandler panics if logger is nil. +// If opts is nil, the default options are used. +func NewHandler(logger *logrus.Logger, opts *HandlerOptions) *Handler { + if logger == nil { + panic("cannot create handler from nil logger") + } + if opts == nil { + opts = &HandlerOptions{} + } + return &Handler{ + logger: logger, + opts: *opts, + } +} + +// toLogrusLevel maps a slog level using LevelMapper or the default mapping. +func (h *Handler) toLogrusLevel(level slog.Level) logrus.Level { + if h.opts.LevelMapper != nil { + return h.opts.LevelMapper(level) + } + return SlogLevel(level).Level() +} + +// Enabled reports whether the handler handles records at the given level. +// It maps the slog level to a logrus level and consults the underlying logger. +func (h *Handler) Enabled(_ context.Context, level slog.Level) bool { + return h.logger.IsLevelEnabled(h.toLogrusLevel(level)) +} + +// Handle converts the slog record into a logrus entry and logs it. +// Record time, context, message, and attributes (including those from +// [Handler.WithAttrs]/[Handler.WithGroup]) are preserved. Attributes are +// attached as logrus fields; group names are joined with "." as a key prefix +// (similar to [slog.TextHandler]). +func (h *Handler) Handle(ctx context.Context, record slog.Record) error { + // Stop recursive forwarding before it can cycle back through this logger. + if hasLogrusLogger(ctx, h.logger) { + return nil + } + level := h.toLogrusLevel(record.Level) + if !h.logger.IsLevelEnabled(level) { + return nil + } + + entry := &logrus.Entry{ + Logger: h.logger, + Data: h.fields, + Time: record.Time, + Context: ctx, + } + + if h.opts.AddSource && record.PC != 0 { + // Preserve the caller selected by slog instead of rediscovering it + // through Logrus's caller stack filtering. + // + // Record.PC is a return PC; resolve it with CallersFrames. + frame, _ := runtime.CallersFrames([]uintptr{record.PC}).Next() + entry.Caller = &frame + } + + if n := record.NumAttrs(); n > 0 { + // Clone before mutating the handler's fields. + entry.Data = maps.Clone(h.fields) + if entry.Data == nil { + entry.Data = make(logrus.Fields, n) + } + record.Attrs(func(a slog.Attr) bool { + appendAttr(entry.Data, h.groups, a) + return true + }) + } + + entry.Log(level, record.Message) + return nil +} + +// WithAttrs returns a new Handler whose attributes consist of h's attributes +// followed by attrs. +func (h *Handler) WithAttrs(attrs []slog.Attr) slog.Handler { + if len(attrs) == 0 { + return h + } + h2 := h.clone() + h2.fields = maps.Clone(h.fields) + if h2.fields == nil { + h2.fields = make(logrus.Fields, len(attrs)) + } + for _, a := range attrs { + appendAttr(h2.fields, h.groups, a) + } + return h2 +} + +// WithGroup returns a new Handler with a group appended to the receiver's +// existing groups. All attributes added to the returned handler (via WithAttrs +// or Handle) are nested under the combined group names. +// If name is empty, WithGroup returns h unchanged. +func (h *Handler) WithGroup(name string) slog.Handler { + if name == "" { + return h + } + h2 := h.clone() + h2.groups = append(slices.Clip(h.groups), name) + return h2 +} + +// clone returns a shallow copy of h. Callers must clone fields or groups +// before modifying them. +func (h *Handler) clone() *Handler { + return &Handler{ + logger: h.logger, + opts: h.opts, + fields: h.fields, + groups: h.groups, + } +} + +// appendAttr adds attr to fields, resolving it and applying group prefixes. +// Group attributes are flattened with "."-separated keys. +func appendAttr(fields logrus.Fields, groups []string, attr slog.Attr) { + attr.Value = attr.Value.Resolve() + if attr.Equal(slog.Attr{}) { + return + } + if attr.Value.Kind() == slog.KindGroup { + gs := attr.Value.Group() + if len(gs) == 0 { + return + } + g := groups + if attr.Key != "" { + g = append(slices.Clip(groups), attr.Key) + } + for _, a := range gs { + appendAttr(fields, g, a) + } + return + } + + key := attr.Key + if len(groups) > 0 { + key = strings.Join(groups, ".") + if attr.Key != "" { + key += "." + attr.Key + } + } + fields[key] = attr.Value.Any() +} diff --git a/vendor/github.com/sirupsen/logrus/hooks/slog/level.go b/vendor/github.com/sirupsen/logrus/hooks/slog/level.go new file mode 100644 index 00000000..737f5e06 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/hooks/slog/level.go @@ -0,0 +1,119 @@ +package slog + +import ( + "log/slog" + + "github.com/sirupsen/logrus" +) + +// slog levels corresponding to Logrus levels. +const ( + slogLevelTrace = slog.LevelDebug - 4 + slogLevelDebug = slog.LevelDebug + slogLevelInfo = slog.LevelInfo + slogLevelWarn = slog.LevelWarn + slogLevelError = slog.LevelError + slogLevelFatal = slog.LevelError + 2 + slogLevelPanic = slog.LevelError + 4 +) + +// A Leveler provides a [logrus.Level] value. +// +// It is the Logrus counterpart of [slog.Leveler]. +// +// As [SlogLevel] itself implements Leveler, clients typically supply +// a SlogLevel value wherever a Leveler is needed. +// Clients who need to vary the level dynamically can provide a more complex +// Leveler implementation. +type Leveler interface { + Level() logrus.Level +} + +// Level adapts a [logrus.Level] to a [slog.Leveler] using the default +// Logrus-to-slog level mapping: +// +// - [logrus.TraceLevel] -> [slog.LevelDebug] - 4 +// - [logrus.DebugLevel] -> [slog.LevelDebug] +// - [logrus.InfoLevel] -> [slog.LevelInfo] +// - [logrus.WarnLevel] -> [slog.LevelWarn] +// - [logrus.ErrorLevel] -> [slog.LevelError] +// - [logrus.FatalLevel] -> [slog.LevelError] + 2 +// - [logrus.PanicLevel] -> [slog.LevelError] + 4 +// +// Unknown Logrus levels map to [slog.LevelError]. +type Level logrus.Level + +// Level returns l mapped to the corresponding slog level. +func (l Level) Level() slog.Level { + return toSlogLevel(logrus.Level(l)) +} + +var _ slog.Leveler = Level(0) + +// SlogLevel adapts a [slog.Level] to a [Leveler] using the default +// slog-to-Logrus level mapping: +// +// - [slog.LevelDebug] - 4 -> [logrus.TraceLevel] +// - [slog.LevelDebug] -> [logrus.DebugLevel] +// - [slog.LevelInfo] -> [logrus.InfoLevel] +// - [slog.LevelWarn] -> [logrus.WarnLevel] +// - [slog.LevelError] -> [logrus.ErrorLevel] +// - [slog.LevelError] + 2 -> [logrus.FatalLevel] +// - [slog.LevelError] + 4 -> [logrus.PanicLevel] +// +// Levels between these boundaries map to the next lower Logrus severity. +// Levels below [slog.LevelDebug] map to [logrus.TraceLevel], and levels at or +// above the Panic boundary map to [logrus.PanicLevel]. +type SlogLevel slog.Level + +// Level returns l mapped to the corresponding Logrus level. +func (l SlogLevel) Level() logrus.Level { + return toLogrusLevel(slog.Level(l)) +} + +var _ Leveler = SlogLevel(0) + +// toLogrusLevel maps a slog level using the default mapping. +func toLogrusLevel(level slog.Level) logrus.Level { + switch { + case level >= slogLevelPanic: + return logrus.PanicLevel + case level >= slogLevelFatal: + return logrus.FatalLevel + case level >= slogLevelError: + return logrus.ErrorLevel + case level >= slogLevelWarn: + return logrus.WarnLevel + case level >= slogLevelInfo: + return logrus.InfoLevel + case level >= slogLevelDebug: + return logrus.DebugLevel + case level >= slogLevelTrace: + return logrus.TraceLevel + default: + return logrus.TraceLevel + } +} + +// toSlogLevel maps a Logrus level using the default mapping. +func toSlogLevel(level logrus.Level) slog.Level { + switch level { + case logrus.PanicLevel: + return slogLevelPanic + case logrus.FatalLevel: + return slogLevelFatal + case logrus.ErrorLevel: + return slogLevelError + case logrus.WarnLevel: + return slogLevelWarn + case logrus.InfoLevel: + return slogLevelInfo + case logrus.DebugLevel: + return slogLevelDebug + case logrus.TraceLevel: + return slogLevelTrace + default: + // Treat all unknown levels as errors + return slogLevelError + } +} diff --git a/vendor/github.com/sirupsen/logrus/hooks/slog/slog.go b/vendor/github.com/sirupsen/logrus/hooks/slog/slog.go new file mode 100644 index 00000000..d5609ee5 --- /dev/null +++ b/vendor/github.com/sirupsen/logrus/hooks/slog/slog.go @@ -0,0 +1,126 @@ +// Package slog provides adapters between Logrus and log/slog. +// +// [Handler] forwards slog records to a Logrus logger, while [Hook] forwards +// Logrus entries to a slog logger. They can be used independently to support +// incremental migration between the two logging APIs. +package slog + +import ( + "context" + "log/slog" + "maps" + + "github.com/sirupsen/logrus" +) + +// logrusLoggerContextKey is the context key used to track Logrus loggers a +// record has already traversed while being forwarded through slog adapters. +type logrusLoggerContextKey struct{} + +// withLogrusLogger returns a context that records logger as having already +// handled the current log record. +func withLogrusLogger(ctx context.Context, logger *logrus.Logger) context.Context { + seen, _ := ctx.Value(logrusLoggerContextKey{}).(map[*logrus.Logger]struct{}) + seen = maps.Clone(seen) + if seen == nil { + seen = make(map[*logrus.Logger]struct{}, 1) + } + seen[logger] = struct{}{} + return context.WithValue(ctx, logrusLoggerContextKey{}, seen) +} + +// hasLogrusLogger reports whether logger has already handled the current log +// record while it was forwarded through slog adapters. +func hasLogrusLogger(ctx context.Context, logger *logrus.Logger) bool { + seen, _ := ctx.Value(logrusLoggerContextKey{}).(map[*logrus.Logger]struct{}) + _, ok := seen[logger] + return ok +} + +// HookOptions are options for a [Hook]. +// A zero HookOptions consists entirely of default values. +type HookOptions struct { + // LevelMapper maps Logrus levels to slog levels. If nil, the default + // mapping is used. Set it to customize level mapping, for example to map + // custom Logrus levels to specific slog levels. + LevelMapper func(logrus.Level) slog.Level +} + +// Hook sends Logrus entries to slog. +// +// It is intended for bridging libraries or application code that log via +// Logrus into an existing slog logger, for example during a gradual migration. +// +// By default, Logrus levels are mapped using [Level]. Set +// [HookOptions.LevelMapper] to customize the mapping. +type Hook struct { + logger *slog.Logger + opts HookOptions +} + +var _ logrus.Hook = (*Hook)(nil) + +// NewHook creates a [logrus.Hook] that sends logs to the provided [slog.Logger]. +// +// This hook is intended to be used during transition from Logrus to slog, +// or as a shim between different parts of your application or different +// libraries that depend on different loggers. +// +// The provided logger must not be nil. NewHook panics if logger is nil. +// If opts is nil, the default options are used. +func NewHook(logger *slog.Logger, opts *HookOptions) *Hook { + if logger == nil { + panic("cannot create hook from nil logger") + } + if opts == nil { + opts = &HookOptions{} + } + return &Hook{ + logger: logger, + opts: *opts, + } +} + +// toSlogLevel maps a Logrus level using LevelMapper or the default mapping. +func (h *Hook) toSlogLevel(level logrus.Level) slog.Level { + if h.opts.LevelMapper != nil { + return h.opts.LevelMapper(level) + } + return Level(level).Level() +} + +// Levels always returns all levels, since slog allows controlling level +// enabling based on context. +func (h *Hook) Levels() []logrus.Level { + return logrus.AllLevels +} + +// Fire forwards the provided logrus Entry to the underlying slog.Logger's +// Handler, mapping it to a slog.Record. Time and caller information are +// preserved when available, and Entry.Data is converted to attributes. +// If Entry.Context is nil, context.Background() is used. +func (h *Hook) Fire(entry *logrus.Entry) error { + ctx := entry.Context + if ctx == nil { + ctx = context.Background() + } + // Track this logger to guard against recursive forwarding. + ctx = withLogrusLogger(ctx, entry.Logger) + + level := h.toSlogLevel(entry.Level) + handler := h.logger.Handler() + if !handler.Enabled(ctx, level) { + return nil + } + attrs := make([]slog.Attr, 0, len(entry.Data)) + for k, v := range entry.Data { + attrs = append(attrs, slog.Any(k, v)) + } + var pc uintptr + if entry.Caller != nil { + pc = entry.Caller.PC + } + r := slog.NewRecord(entry.Time, level, entry.Message, pc) + r.AddAttrs(attrs...) + return handler.Handle(ctx, r) +} diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go index 733b75dc..b32f99a9 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go @@ -10,12 +10,31 @@ import ( "go.opentelemetry.io/otel/trace" ) -// Attribute keys that can be added to a span. +// Legacy HTTP attribute keys retained for compatibility. const ( - ReadBytesKey = attribute.Key("http.read_bytes") // if anything was read from the request body, the total number of bytes read - ReadErrorKey = attribute.Key("http.read_error") // If an error occurred while reading a request, the string of the error (io.EOF is not recorded) - WroteBytesKey = attribute.Key("http.wrote_bytes") // if anything was written to the response writer, the total number of bytes written - WriteErrorKey = attribute.Key("http.write_error") // if an error occurred while writing a reply, the string of the error (io.EOF is not recorded) + // ReadBytesKey is the attribute key for the number of bytes returned by an + // individual read from an HTTP request body. + // + // Deprecated: there is no direct semantic-convention replacement. + ReadBytesKey = attribute.Key("http.read_bytes") + + // ReadErrorKey is the attribute key for the string form of a non-EOF error + // returned while reading an HTTP request body. + // + // Deprecated: there is no direct semantic-convention replacement. + ReadErrorKey = attribute.Key("http.read_error") + + // WroteBytesKey is the attribute key for the number of bytes returned by an + // individual write to an HTTP response body. + // + // Deprecated: there is no direct semantic-convention replacement. + WroteBytesKey = attribute.Key("http.wrote_bytes") + + // WriteErrorKey is the attribute key for the string form of a non-EOF error + // returned while writing an HTTP response body. + // + // Deprecated: there is no direct semantic-convention replacement. + WriteErrorKey = attribute.Key("http.write_error") ) // Filter is a predicate used to determine whether a given http.request should diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go index 08ba0778..45d4ee16 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go @@ -143,14 +143,15 @@ const ( ) // WithMessageEvents configures the Handler to record the specified events -// (span.AddEvent) on spans. By default only summary attributes are added at the -// end of the request. +// (span.AddEvent) on spans. By default, no read or write events are recorded. // // Valid events are: -// - ReadEvents: Record the number of bytes read after every http.Request.Body.Read -// using the ReadBytesKey -// - WriteEvents: Record the number of bytes written after every http.ResponeWriter.Write -// using the WriteBytesKey +// - ReadEvents: Record a "read" span event after every http.Request.Body.Read. +// - WriteEvents: Record a "write" span event after every http.ResponseWriter.Write. +// +// The events do not include per-call byte-count attributes. Total request and +// response body sizes are recorded on the span according to HTTP semantic +// conventions. func WithMessageEvents(events ...Event) Option { return optionFunc(func(c *config) { for _, e := range events { diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go index 844363a0..d42f4f87 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go @@ -129,8 +129,8 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http readRecordFunc := func(int64) {} if h.readEvent { - readRecordFunc = func(n int64) { - span.AddEvent("read", trace.WithAttributes(ReadBytesKey.Int64(n))) + readRecordFunc = func(int64) { + span.AddEvent("read") } } @@ -150,8 +150,8 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http writeRecordFunc := func(int64) {} if h.writeEvent { - writeRecordFunc = func(n int64) { - span.AddEvent("write", trace.WithAttributes(WroteBytesKey.Int64(n))) + writeRecordFunc = func(int64) { + span.AddEvent("write") } } @@ -180,12 +180,21 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http if !found { ctx = ContextWithLabeler(ctx, labeler) } + rCtx := r.WithContext(ctx) + defer func() { + // Copy MultipartForm back to the original request so net/http can + // find and remove any temp files ParseMultipartForm created on the + // copy. Deferred so the copy-back also runs during panic unwinding, + // letting net/http cleanup paths that still run (HTTP/2 handler + // recovery, outer recovery middleware) find the form. + if rCtx.MultipartForm != nil { + r.MultipartForm = rCtx.MultipartForm + } + }() + next.ServeHTTP(w, rCtx) - r = r.WithContext(ctx) - next.ServeHTTP(w, r) - - if r.Pattern != "" { - span.SetName(h.spanNameFormatter(h.operation, r)) + if rCtx.Pattern != "" { + span.SetName(h.spanNameFormatter(h.operation, rCtx)) } statusCode := rww.StatusCode() @@ -204,9 +213,9 @@ func (h *middleware) serveHTTP(w http.ResponseWriter, r *http.Request, next http ServerName: h.server, ResponseSize: bytesWritten, MetricAttributes: semconv.MetricAttributes{ - Req: r, + Req: rCtx, StatusCode: statusCode, - AdditionalAttributes: append(labeler.Get(), h.metricAttributesFromRequest(r)...), + AdditionalAttributes: append(labeler.Get(), h.metricAttributesFromRequest(rCtx)...), }, MetricData: semconv.MetricData{ RequestSize: bytesRead, diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go index 0de0bd83..1ec064b1 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go @@ -38,11 +38,9 @@ func SplitHostPort(hostport string) (host string, port int) { host = hostport[1:addrEnd] return host, port } - } else { - if i := strings.LastIndexByte(hostport, ':'); i < 0 { - host = hostport - return host, port - } + } else if !strings.Contains(hostport, ":") { + host = hostport + return host, port } host, pStr, err := net.SplitHostPort(hostport) diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go index 8362b824..3c0fa99a 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/labeler.go @@ -56,3 +56,27 @@ func LabelerFromContext(ctx context.Context) (*Labeler, bool) { } return l, ok } + +// clientLabelerContextKey is a separate context key for the client-side Labeler. +// This prevents server-side Labeler attributes (e.g., http.route) from leaking +// into client-side metrics when a server handler propagates its request context +// into an outbound HTTP client request. +const clientLabelerContextKey labelerContextKeyType = 1 + +// ContextWithClientLabeler returns a new context with the provided Labeler instance +// for use with client-side HTTP instrumentation (otelhttp.Transport). +// Attributes added to this labeler will be attached to client-side metrics. +func ContextWithClientLabeler(parent context.Context, l *Labeler) context.Context { + return context.WithValue(parent, clientLabelerContextKey, l) +} + +// ClientLabelerFromContext retrieves a Labeler instance from the provided context +// for use with client-side HTTP instrumentation. If no Labeler was found, a new, +// empty Labeler is returned and the second return value is false. +func ClientLabelerFromContext(ctx context.Context) (*Labeler, bool) { + l, ok := ctx.Value(clientLabelerContextKey).(*Labeler) + if !ok { + l = &Labeler{} + } + return l, ok +} diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go index 82501eab..22bbcc73 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go @@ -9,6 +9,7 @@ import ( "io" "net/http" "net/http/httptrace" + "sync" "sync/atomic" "time" @@ -19,7 +20,6 @@ import ( otelsemconv "go.opentelemetry.io/otel/semconv/v1.43.0" "go.opentelemetry.io/otel/trace" - "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv" ) @@ -82,6 +82,142 @@ func defaultTransportFormatter(_ string, r *http.Request) string { return "HTTP " + r.Method } +// requestTracker tracks the request body lifecycle of a single RoundTrip and +// records the client metrics exactly once, after the request body reaches a +// final state. +// +// A single tracker is allocated per request with a body, replacing the +// body-wrapper allocation of the untracked implementation: the first request +// body is wrapped by the embedded first field, and the lifecycle state is +// held in explicit fields with methods instead of escaping closures. Only +// GetBody retries allocate an additional trackedRequestBody. +type requestTracker struct { + transport *Transport + first trackedRequestBody + + originalGetBody func() (io.ReadCloser, error) + + // mu protects body, published, and recorded. Body close callbacks may + // fire on a different goroutine (e.g. during transport retries or + // asynchronous closes) while the main goroutine publishes the metric + // data after RoundTrip returns. + mu sync.Mutex + body *trackedRequestBody // Last wrapped request body; nil records no data. + published bool + recorded bool + + // Metric data published when RoundTrip returns; immutable afterwards. + ctx context.Context + duration time.Duration + opts semconv.MetricOpts +} + +func newRequestTracker(t *Transport, r *http.Request) *requestTracker { + rt := &requestTracker{transport: t} + rt.first = trackedRequestBody{body: r.Body, tracker: rt} + rt.body = &rt.first + r.Body = &rt.first + if r.GetBody != nil { + rt.originalGetBody = r.GetBody + r.GetBody = rt.getBody + } + return rt +} + +func (rt *requestTracker) getBody() (io.ReadCloser, error) { + b, err := rt.originalGetBody() + if err != nil { + // The underlying transport will fail to make a retry request, + // hence, record no data. + rt.setBody(nil) + return nil, err + } + if b == nil || b == http.NoBody { + return b, nil + } + tb := &trackedRequestBody{body: b, tracker: rt} + rt.setBody(tb) + return tb, nil +} + +func (rt *requestTracker) setBody(b *trackedRequestBody) { + rt.mu.Lock() + rt.body = b + rt.mu.Unlock() +} + +// publish stores the metric data gathered when RoundTrip returns and records +// the metrics if the request body already reached a final state. +func (rt *requestTracker) publish(ctx context.Context, d time.Duration, opts semconv.MetricOpts) { + rt.mu.Lock() + rt.ctx = ctx + rt.duration = d + rt.opts = opts + rt.published = true + rt.mu.Unlock() + rt.maybeRecord() +} + +// maybeRecord records the client metrics once the metric data has been +// published and the request body has reached a final state. Close is the +// only authoritative completion signal for a non-nil body: a body may yield +// more bytes than its declared ContentLength, so a read count is never proof +// of completion. +func (rt *requestTracker) maybeRecord() { + rt.mu.Lock() + body := rt.body + record := rt.published && !rt.recorded && (body == nil || body.closed.Load()) + if record { + rt.recorded = true + } + rt.mu.Unlock() + if !record { + return + } + + // The winning caller evaluates the request size here so the recorded + // value reflects the latest byte count. + var requestSize int64 + if body != nil { + requestSize = body.read.Load() + } + rt.transport.semconv.RecordMetrics( + rt.ctx, + semconv.MetricData{ + RequestSize: requestSize, + RequestDuration: rt.duration, + }, + rt.opts, + ) +} + +// trackedRequestBody wraps a request body to count read bytes and signal the +// tracker when the body is closed. +type trackedRequestBody struct { + body io.ReadCloser + tracker *requestTracker + + read atomic.Int64 + closed atomic.Bool +} + +var _ io.ReadCloser = (*trackedRequestBody)(nil) + +func (b *trackedRequestBody) Read(p []byte) (int, error) { + n, err := b.body.Read(p) + b.read.Add(int64(n)) + return n, err +} + +func (b *trackedRequestBody) Close() error { + // Finalize telemetry before delegating to the underlying Close, which + // may block (mirroring wrappedBody.Close). Otherwise a blocking close + // could suppress client metrics indefinitely. + b.closed.Store(true) + b.tracker.maybeRecord() + return b.body.Close() +} + // RoundTrip creates a Span and propagates its context via the provided request's headers // before handing the request to the configured base RoundTripper. The created span will // end when the response body is closed or when a read from the body returns io.EOF. @@ -110,33 +246,20 @@ func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) { ctx = httptrace.WithClientTrace(ctx, t.clientTrace(ctx)) } - labeler, found := LabelerFromContext(ctx) + labeler, found := ClientLabelerFromContext(ctx) if !found { - ctx = ContextWithLabeler(ctx, labeler) + ctx = ContextWithClientLabeler(ctx, labeler) } r = r.Clone(ctx) // According to RoundTripper spec, we shouldn't modify the origin request. - var lastBW *request.BodyWrapper // Records the last body wrapper. Can be nil. - maybeWrapBody := func(body io.ReadCloser) io.ReadCloser { - if body == nil || body == http.NoBody { - return body - } - bw := request.NewBodyWrapper(body, func(int64) {}) - lastBW = bw - return bw - } - r.Body = maybeWrapBody(r.Body) - if r.GetBody != nil { - originalGetBody := r.GetBody - r.GetBody = func() (io.ReadCloser, error) { - b, err := originalGetBody() - if err != nil { - lastBW = nil // The underlying transport will fail to make a retry request, hence, record no data. - return nil, err - } - return maybeWrapBody(b), nil - } + // Track the request body lifecycle so metrics report the final read + // size even when the transport keeps reading the body after RoundTrip + // returns. Bodyless requests allocate no tracker and record + // synchronously below. + var tracker *requestTracker + if r.Body != nil && r.Body != http.NoBody { + tracker = newRequestTracker(t, r) } span.SetAttributes(t.semconv.RequestTraceAttrs(r)...) @@ -147,29 +270,32 @@ func (t *Transport) RoundTrip(r *http.Request) (*http.Response, error) { res, err = ensureResponseBody(t.rt, r, res) } - // Record the metrics on error or no error. + requestDuration := time.Since(requestStartTime) statusCode := 0 if err == nil { statusCode = res.StatusCode } - var requestSize int64 - if lastBW != nil { - requestSize = lastBW.BytesRead() + metricOpts := t.semconv.MetricOptions(semconv.MetricAttributes{ + Req: r, + Resp: res, + StatusCode: statusCode, + Err: err, + AdditionalAttributes: append(labeler.Get(), t.metricAttributesFromRequest(r)...), + }) + + if tracker != nil { + // Delay metric recording until the request body reaches a final + // state. The transport can continue reading the body after + // RoundTrip returns, including on errors, since RoundTrippers may + // close the request body asynchronously. + tracker.publish(ctx, requestDuration, metricOpts) + } else { + t.semconv.RecordMetrics( + ctx, + semconv.MetricData{RequestDuration: requestDuration}, + metricOpts, + ) } - t.semconv.RecordMetrics( - ctx, - semconv.MetricData{ - RequestSize: requestSize, - RequestDuration: time.Since(requestStartTime), - }, - t.semconv.MetricOptions(semconv.MetricAttributes{ - Req: r, - Resp: res, - StatusCode: statusCode, - Err: err, - AdditionalAttributes: append(labeler.Get(), t.metricAttributesFromRequest(r)...), - }), - ) if err != nil { span.SetAttributes(otelsemconv.ErrorType(err)) @@ -263,8 +389,7 @@ func (wb *wrappedBody) Read(b []byte) (int, error) { case nil: // nothing to do here but fall through to the return case io.EOF: - wb.recordBytesRead() - wb.span.End() + wb.recordMetricsOnce() default: wb.span.SetAttributes(otelsemconv.ErrorType(err)) wb.span.SetStatus(codes.Error, err.Error()) @@ -272,21 +397,24 @@ func (wb *wrappedBody) Read(b []byte) (int, error) { return n, err } -// recordBytesRead is a function that ensures the number of bytes read is recorded once and only once. -func (wb *wrappedBody) recordBytesRead() { - // note: it is more performant (and equally correct) to use atomic.Bool over sync.Once here. In the event that - // two goroutines are racing to call this method, the number of bytes read will no longer increase. Using - // CompareAndSwap allows later goroutines to return quickly and not block waiting for the race winner to finish - // calling wb.record(wb.read.Load()). +// recordMetricsOnce ensures the final number of bytes read is recorded once. +func (wb *wrappedBody) recordMetricsOnce() { + // note: it is more performant (and equally correct) to use atomic.Bool + // over sync.Once here. In the event that two goroutines are racing to + // call this method, the number of bytes read will no longer increase. + // Using CompareAndSwap allows later goroutines to return quickly and not + // block waiting for the race winner to finish calling + // wb.record(wb.read.Load()). if wb.recorded.CompareAndSwap(false, true) { - // Record the total number of bytes read wb.record(wb.read.Load()) + wb.span.End() } } func (wb *wrappedBody) Close() error { - wb.recordBytesRead() - wb.span.End() + // Finalize telemetry before delegating to the underlying Close, which + // may block (e.g. upgraded streams or custom RoundTripper bodies). + wb.recordMetricsOnce() if wb.body != nil { return wb.body.Close() } diff --git a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go index b757d6e9..05267f2f 100644 --- a/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go +++ b/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go @@ -4,4 +4,4 @@ package otelhttp // Version is the current release version of the otelhttp instrumentation. -const Version = "0.70.0" +const Version = "0.72.0" diff --git a/vendor/go.opentelemetry.io/otel/.golangci.yml b/vendor/go.opentelemetry.io/otel/.golangci.yml index a0ba7080..1fef8520 100644 --- a/vendor/go.opentelemetry.io/otel/.golangci.yml +++ b/vendor/go.opentelemetry.io/otel/.golangci.yml @@ -230,13 +230,6 @@ linters: - revive path: schema/v.*/types/.* text: avoid meaningless package names - # TODO: Having appropriate comments for exported objects helps development, - # even for objects in internal packages. Appropriate comments for all - # exported objects should be added and this exclusion removed. - - linters: - - revive - path: .*internal/.* - text: exported (method|function|type|const) (.+) should have comment or be unexported # Yes, they are, but it's okay in a test. - linters: - revive @@ -272,7 +265,10 @@ formatters: - golines settings: gofumpt: - extra-rules: true + extra: + group-params: true + clothe-returns: true + balance-calls: true goimports: local-prefixes: - go.opentelemetry.io/otel diff --git a/vendor/go.opentelemetry.io/otel/CHANGELOG.md b/vendor/go.opentelemetry.io/otel/CHANGELOG.md index 4d473a1e..18903c88 100644 --- a/vendor/go.opentelemetry.io/otel/CHANGELOG.md +++ b/vendor/go.opentelemetry.io/otel/CHANGELOG.md @@ -11,6 +11,93 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm +## [1.47.0/0.69.0/0.23.0/0.1.0] - 2026-10-02 + +This release contains the first stable release of the OpenTelemetry Go Logs API and SDK. +Our project stability guarantees now apply to the following modules: + +- `go.opentelemetry.io/otel/log` +- `go.opentelemetry.io/otel/sdk/log` + +See our [versioning policy](VERSIONING.md) for more information about these stability guarantees. + +### Added + +- Add `String` method for `KeyValue` type in `go.opentelemetry.io/otel/attribute`. (#8205) +- Add `String` method for `Set` type in `go.opentelemetry.io/otel/attribute`. (#8347) +- Add `WithMaxExportBatchSize` to `go.opentelemetry.io/otel/sdk/metric` to configure the maximum export batch size for `PeriodicReader`. (#8960) +- Add `WithAttributeValueDepthLimit`, `DefaultAttributeValueDepthLimit`, and `SpanLimits.AttributeValueDepthLimit` in `go.opentelemetry.io/otel/sdk/trace` to configure the maximum depth of span, event, link, and instrumentation scope attribute values. (#8938) +- Add `WithAttributeValueDepthLimit` in `go.opentelemetry.io/otel/sdk/log` to configure the maximum depth of log record and instrumentation scope attribute values. (#8938) +- Add `WithMaxResponseSize` to `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`, + `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`, and + `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8941) +- Add experimental `ProbabilitySampler` in `go.opentelemetry.io/otel/sdk/trace/x` that conforms to the [OpenTelemetry specification's threshold-based sampling algorithm](https://opentelemetry.io/docs/specs/otel/trace/sdk/#probabilitysampler). (#8123) +- Add experimental `*Binder` extension interfaces in `go.opentelemetry.io/otel/metric/x` for instruments that support binding attributes ahead of time. (#8760) +- Add the experimental `Finisher` synchronous metric instrument extension interface to `go.opentelemetry.io/otel/metric/x`. (#8906) + +### Changed + +- Use the [OpenTelemetry Attribute Collection representation for non-OTLP protocols](https://opentelemetry.io/docs/specs/otel/common/#attribute-collection-representation-for-non-otlp) for metric data diffs in `go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest`. (#8993) +- Apply a maximum depth of 64 by default to span, event, link, log record, and instrumentation scope attribute values in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log`. (#8938) +- Reduce allocations when applying attribute value length limits in `go.opentelemetry.io/otel/sdk/trace` and `go.opentelemetry.io/otel/sdk/log` by rebuilding composite values only when truncation is needed. (#8912) +- Decode `traceparent` using a hex lookup table in `go.opentelemetry.io/otel/propagation`, which rejects the specification-disallowed upper-case characters without a separate scan of the header. (#8739) +- Decode all characters at constant indices in `TraceIDFromHex` and `SpanIDFromHex` in `go.opentelemetry.io/otel/trace` to eliminate bounds checks. (#8740) + +### Fixed + +- Count valid U+FFFD replacement characters toward attribute value length limits in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/sdk/trace`, and `go.opentelemetry.io/otel/sdk/log`. +- Truncate string attribute values to empty strings when the configured length limit is zero, including malformed UTF-8, in `go.opentelemetry.io/otel/trace`, `go.opentelemetry.io/otel/sdk/trace`, and `go.opentelemetry.io/otel/sdk/log`. (#9054) +- Fix a data race in `NewPeriodicReader` where `r.inst` was assigned after the background goroutine was launched in `go.opentelemetry.io/otel/sdk/metric`. (#9028) +- Prevent precision loss for large `int64` values in `Sum`, `Histogram`, and `ExponentialHistogram` aggregations in `go.opentelemetry.io/otel/sdk/metric`. (#8981) +- Ensure `grpc.DialOption` values passed via `WithDialOption` take precedence over conflicting internally-computed defaults in + `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`, + `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`, and + `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#8805, #8834, #8836) +- Treat overflowing `OTEL_METRIC_EXPORT_INTERVAL` and `OTEL_METRIC_EXPORT_TIMEOUT` values as invalid in `go.opentelemetry.io/otel/sdk/metric`. (#8800) +- Prevent a panic in `NewFixedSizeReservoir` and `FixedSizeReservoirProvider` when given a negative size in `go.opentelemetry.io/otel/sdk/metric/exemplar`; negative sizes are now clamped to zero, consistent with a size of zero. (#8832) +- Preserve exponential histogram `ZeroThreshold` during OTLP metric export in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric`. (#8801) +- Ensure metric helpers in `go.opentelemetry.io/otel/semconv/v1.32.0`, `go.opentelemetry.io/otel/semconv/v1.33.0`, and `go.opentelemetry.io/otel/semconv/v1.34.0` record measurements only once when no attributes are provided. (#8849) +- Treat empty `OTEL_TRACES_SAMPLER` and `OTEL_TRACES_SAMPLER_ARG` values as unset in `go.opentelemetry.io/otel/sdk/trace`. (#8873) +- Normalize global `OTEL_EXPORTER_OTLP_ENDPOINT` path joining in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` so trailing-slash base URLs do not produce double-slash log export paths. (#8864) +- Prevent a deadlock when formatting an error passed to `RecordError` calls back into the span in `go.opentelemetry.io/otel/sdk/trace`. (#8815) +- Prevent `SimpleSpanProcessor.Shutdown` from panicking when constructed with a nil exporter in `go.opentelemetry.io/otel/sdk/trace`. (#8844) +- Propagate invalid exponential histogram scale errors to Prometheus exporter self-observability metrics in `go.opentelemetry.io/otel/exporters/prometheus`. (#8839) +- Retain instrument advisory attributes configured with `go.opentelemetry.io/otel/metric/x.WithDefaultAttributes` when a matching View in `go.opentelemetry.io/otel/sdk/metric` does not specify an attribute filter. (#8859) +- Ignore HTTP URL paths when building OTLP/gRPC metric exporter targets from `OTEL_EXPORTER_OTLP_ENDPOINT` and `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`, while preserving `unix://` and `unix-abstract://` targets; treat `unix-abstract://` endpoints as insecure in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#8862) +- Ignore HTTP(S) paths when deriving gRPC trace exporter endpoints from `OTEL_EXPORTER_OTLP_ENDPOINT` and `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. (#8852) +- Bound memory used while parsing dense W3C property metadata by storing it compactly and materializing `Property` values on demand in `go.opentelemetry.io/otel/baggage` and `go.opentelemetry.io/otel/propagation`. + +### Removed + +- Remove the experimental `OTEL_GO_X_METRIC_EXPORT_BATCH_SIZE` environment variable in `go.opentelemetry.io/otel/sdk/metric`. + Use the `WithMaxExportBatchSize` option instead. (#8960) + +## [1.47.0-rc.1] - 2026-08-28 + +This is a release candidate for the v1.47.0 release. +That release is expected to include the `v1` release of the OpenTelemetry Go Logs API and SDK and will provide stability guarantees for the following modules: + +- `go.opentelemetry.io/otel/log` +- `go.opentelemetry.io/otel/sdk/log` + +See our [versioning policy](VERSIONING.md) for more information about these stability guarantees. + +### Added + +- Add `Logger`, `GetLoggerProvider`, and `SetLoggerProvider` to `go.opentelemetry.io/otel`. (#8874) + +### Deprecated + +- Deprecate `go.opentelemetry.io/otel/log/global`; use the equivalent APIs in `go.opentelemetry.io/otel`. (#8874) + +### Fixed + +- Ignore attempts to unregister unknown span processors in `go.opentelemetry.io/otel/sdk/trace`. (#8840) + +### Removed + +- Drop support for [Go 1.25]. (#8876) + ## [1.46.0/0.68.0/0.22.0/0.0.19] - 2026-08-25 This release is the last to support [Go 1.25]. @@ -3810,7 +3897,9 @@ It contains api and sdk for trace and meter. - CircleCI build CI manifest files. - CODEOWNERS file to track owners of this project. -[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.46.0...HEAD +[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.47.0...HEAD +[1.47.0/0.69.0/0.23.0/0.1.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.47.0 +[1.47.0-rc.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.47.0-rc.1 [1.46.0/0.68.0/0.22.0/0.0.19]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.46.0 [1.45.0/0.67.0/0.21.0/0.0.18]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.45.0 [1.44.0/0.66.0/0.20.0/0.0.17]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.44.0 diff --git a/vendor/go.opentelemetry.io/otel/CLAUDE.md b/vendor/go.opentelemetry.io/otel/CLAUDE.md deleted file mode 100644 index dd3c4594..00000000 --- a/vendor/go.opentelemetry.io/otel/CLAUDE.md +++ /dev/null @@ -1,3 +0,0 @@ -# Instructions for Claude Code - -@AGENTS.md diff --git a/vendor/go.opentelemetry.io/otel/CODEOWNERS b/vendor/go.opentelemetry.io/otel/CODEOWNERS index 26a03aed..41937a38 100644 --- a/vendor/go.opentelemetry.io/otel/CODEOWNERS +++ b/vendor/go.opentelemetry.io/otel/CODEOWNERS @@ -12,6 +12,6 @@ # https://help.github.com/en/articles/about-code-owners # -* @MrAlias @XSAM @dashpole @pellared @dmathieu @flc1125 +* @MrAlias @XSAM @dashpole @pellared @dmathieu @flc1125 @ps-mir CODEOWNERS @MrAlias @pellared @dashpole @XSAM @dmathieu diff --git a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md index 2aba71e1..958a698d 100644 --- a/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md +++ b/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md @@ -779,7 +779,7 @@ func newInstrumentation() (*instrumentation, error) { if !x.Observability.Enabled() { return nil, nil } - + meter := otel.GetMeterProvider().Meter( "", metric.WithInstrumentationVersion(sdk.Version()), @@ -949,7 +949,7 @@ func BenchmarkExportSpans(b *testing.B) { {"ObsDisabled", false}, {"ObsEnabled", true}, } - + for _, scenario := range scenarios { b.Run(scenario.name, func(b *testing.B) { b.Setenv( @@ -980,7 +980,7 @@ func newInstrumentation() (*instrumentation, error) { if !x.Observability.Enabled() { return nil, nil } - + m := otel.GetMeterProvider().Meter(/* initialize meter */) counter, err := otelconv.NewSDKComponentCounter(m) // Use the partially initialized counter if available. @@ -996,7 +996,7 @@ func newInstrumentation() *instrumentation { if !x.Observability.Enabled() { return nil, nil } - + m := otel.GetMeterProvider().Meter(/* initialize meter */) counter, err := otelconv.NewSDKComponentCounter(m) if err != nil { @@ -1023,7 +1023,7 @@ func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) if e.inst.Enabled(ctx) { e.inst.recordSpanExportStarted(ctx, len(spans)) } - + err := e.doExport(ctx, spans) if e.inst.Enabled(ctx) { @@ -1043,11 +1043,11 @@ func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) func (e *Exporter) ExportSpans(ctx context.Context, spans []trace.ReadOnlySpan) error { // ❌ Do not break the context propagation. e.inst.recordSpanExportStarted(context.Background(), len(spans)) - + err := e.doExport(ctx, spans) /* ... */ - + return err } ``` @@ -1118,7 +1118,7 @@ func TestObservability(t *testing.T) { // Reset component ID counter to ensure deterministic component names. componentIDCounter.Store(0) - + /* ... test code ... */ } ``` @@ -1203,18 +1203,20 @@ For more information about the maintainer role, see the [community repository](h ### Approvers - [Flc](https://github.com/flc1125), Independent +- [Puneet Singh](https://github.com/ps-mir), Independent For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver). ### Triagers -- [Alex Kats](https://github.com/akats7), Capital One +- [Marc Schäfer](https://github.com/marcschaeferger), T&A SYSTEME GmbH For more information about the triager role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager). ### Emeritus - [Aaron Clawson](https://github.com/MadVikingGod) +- [Alex Kats](https://github.com/akats7) - [Anthony Mirabella](https://github.com/Aneurysm9) - [Cheng-Zhen Yang](https://github.com/scorpionknifes) - [Chester Cheung](https://github.com/hanyuancheung) diff --git a/vendor/go.opentelemetry.io/otel/README.md b/vendor/go.opentelemetry.io/otel/README.md index 9291d147..bcdb73e0 100644 --- a/vendor/go.opentelemetry.io/otel/README.md +++ b/vendor/go.opentelemetry.io/otel/README.md @@ -3,12 +3,11 @@ [![ci](https://github.com/open-telemetry/opentelemetry-go/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/open-telemetry/opentelemetry-go/actions/workflows/ci.yml) [![codecov.io](https://codecov.io/gh/open-telemetry/opentelemetry-go/coverage.svg?branch=main)](https://app.codecov.io/gh/open-telemetry/opentelemetry-go?branch=main) [![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel)](https://pkg.go.dev/go.opentelemetry.io/otel) -[![Go Report Card](https://goreportcard.com/badge/go.opentelemetry.io/otel)](https://goreportcard.com/report/go.opentelemetry.io/otel) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/open-telemetry/opentelemetry-go/badge)](https://scorecard.dev/viewer/?uri=github.com/open-telemetry/opentelemetry-go) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/9996/badge)](https://www.bestpractices.dev/projects/9996) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/opentelemetry-go.svg)](https://issues.oss-fuzz.com/issues?q=project:opentelemetry-go) [![FOSSA Status](https://app.fossa.com/api/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-go.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B162%2Fgithub.com%2Fopen-telemetry%2Fopentelemetry-go?ref=badge_shield&issueType=license) -[![Slack](https://img.shields.io/badge/slack-@cncf/otel--go-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C01NPAXACKT) +[![Slack](https://img.shields.io/badge/slack-@cncf/otel--go-brightgreen.svg?logo=slack)](https://slack.cncf.io/) OpenTelemetry-Go is the [Go](https://golang.org/) implementation of [OpenTelemetry](https://opentelemetry.io/). It provides a set of APIs to directly measure performance and behavior of your software and send this data to observability platforms. @@ -19,7 +18,7 @@ It provides a set of APIs to directly measure performance and behavior of your s |---------|--------------------| | Traces | Stable | | Metrics | Stable | -| Logs | Beta[^1] | +| Logs | Stable | Progress and status specific to this repository is tracked in our [project boards](https://github.com/open-telemetry/opentelemetry-go/projects) @@ -29,8 +28,6 @@ and Project versioning information and stability guarantees can be found in the [versioning documentation](VERSIONING.md). -[^1]: https://github.com/orgs/open-telemetry/projects/43 - ### Compatibility OpenTelemetry-Go ensures compatibility with the current supported versions of @@ -55,25 +52,18 @@ Currently, this project supports the following environments. |----------|------------|--------------| | Ubuntu | 1.27 | amd64 | | Ubuntu | 1.26 | amd64 | -| Ubuntu | 1.25 | amd64 | | Ubuntu | 1.27 | 386 | | Ubuntu | 1.26 | 386 | -| Ubuntu | 1.25 | 386 | | Ubuntu | 1.27 | arm64 | | Ubuntu | 1.26 | arm64 | -| Ubuntu | 1.25 | arm64 | | macOS | 1.27 | amd64 | | macOS | 1.26 | amd64 | -| macOS | 1.25 | amd64 | | macOS | 1.27 | arm64 | | macOS | 1.26 | arm64 | -| macOS | 1.25 | arm64 | | Windows | 1.27 | amd64 | | Windows | 1.26 | amd64 | -| Windows | 1.25 | amd64 | | Windows | 1.27 | 386 | | Windows | 1.26 | 386 | -| Windows | 1.25 | 386 | While this project should work for other systems, no compatibility guarantees are made for those systems currently. @@ -120,10 +110,3 @@ All officially supported exporters for the OpenTelemetry project are contained i ## Contributing See the [contributing documentation](CONTRIBUTING.md). - -### Emeritus - -- [Alex Kats](https://github.com/akats7), Triager - -For more information about the emeritus role, see the -[community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager). diff --git a/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go b/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go index 4fcdd2db..499aa331 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go +++ b/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go @@ -21,6 +21,7 @@ func New() Hash { return Hash{d: xxhash.New()} } +// Uint64 hashes val into h, returning the updated Hash. func (h Hash) Uint64(val uint64) Hash { var buf [8]byte binary.LittleEndian.PutUint64(buf[:], val) @@ -40,10 +41,12 @@ func (h Hash) Bool(val bool) Hash { // nolint:revive // This is a hashing functi return h.Uint64(0) } +// Float64 hashes val into h, returning the updated Hash. func (h Hash) Float64(val float64) Hash { return h.Uint64(math.Float64bits(val)) } +// Int64 hashes val into h, returning the updated Hash. func (h Hash) Int64(val int64) Hash { return h.Uint64(uint64(val)) // nolint:gosec // Overflow doesn't matter since we are hashing. } diff --git a/vendor/go.opentelemetry.io/otel/attribute/kv.go b/vendor/go.opentelemetry.io/otel/attribute/kv.go index c4f0dd92..60d49739 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/kv.go +++ b/vendor/go.opentelemetry.io/otel/attribute/kv.go @@ -13,6 +13,16 @@ type KeyValue struct { Value Value } +// String returns a string representation of KeyValue using the +// [OpenTelemetry Attribute representation for non-OTLP protocols] rules. +// +// The KeyValue is encoded as a JSON object containing a single key-value pair. +// +// [OpenTelemetry Attribute representation for non-OTLP protocols]: https://opentelemetry.io/docs/specs/otel/common/#attribute-representation-for-non-otlp +func (kv KeyValue) String() string { + return formatMap([]KeyValue{kv}) +} + // Valid reports whether kv is a valid OpenTelemetry attribute. func (kv KeyValue) Valid() bool { return kv.Key.Defined() diff --git a/vendor/go.opentelemetry.io/otel/attribute/set.go b/vendor/go.opentelemetry.io/otel/attribute/set.go index 56a70a9f..d3b2e240 100644 --- a/vendor/go.opentelemetry.io/otel/attribute/set.go +++ b/vendor/go.opentelemetry.io/otel/attribute/set.go @@ -409,6 +409,21 @@ func computeDataReflect(kvs []KeyValue) any { return at.Interface() } +// String returns a string representation of the Set using the +// [OpenTelemetry Attribute Collection representation for non-OTLP protocols] +// rules. +// +// The Set is encoded as a JSON object. A nil or empty Set is encoded as an +// empty JSON object. +// +// [OpenTelemetry Attribute Collection representation for non-OTLP protocols]: https://opentelemetry.io/docs/specs/otel/common/#attribute-collection-representation-for-non-otlp +func (l *Set) String() string { + if l == nil || l.hash == 0 { + return "{}" + } + return formatMapValue(l.data) +} + // MarshalJSON returns the JSON encoding of the Set. func (l *Set) MarshalJSON() ([]byte, error) { return json.Marshal(l.data) diff --git a/vendor/go.opentelemetry.io/otel/baggage/baggage.go b/vendor/go.opentelemetry.io/otel/baggage/baggage.go index 25c739d0..72a58c1b 100644 --- a/vendor/go.opentelemetry.io/otel/baggage/baggage.go +++ b/vendor/go.opentelemetry.io/otel/baggage/baggage.go @@ -247,10 +247,78 @@ func (p properties) String() string { return strings.Join(props, propertyDelimiter) } +// validateMetadata validates non-empty W3C property elements without decoding +// or materializing Property values. Empty elements are accepted to preserve +// existing parsing behavior. +func validateMetadata(raw string) (string, bool) { + start := 0 + for end := 0; end <= len(raw); end++ { + if end != len(raw) && raw[end] != propertyDelimiter[0] { + continue + } + + if start != end { + if _, ok := parsePropertyFields(raw[start:end]); !ok { + return raw[start:end], false + } + } + start = end + 1 + } + return "", true +} + +// normalizeMetadata removes empty property elements while preserving the raw +// representation of all non-empty elements. +func normalizeMetadata(metadata string) string { + if metadata == "" || + (metadata[0] != propertyDelimiter[0] && + metadata[len(metadata)-1] != propertyDelimiter[0] && + !strings.Contains(metadata, propertyDelimiter+propertyDelimiter)) { + return metadata + } + + var normalized strings.Builder + normalized.Grow(len(metadata)) + for property := range strings.SplitSeq(metadata, propertyDelimiter) { + if property == "" { + continue + } + if normalized.Len() > 0 { + _, _ = normalized.WriteString(propertyDelimiter) + } + _, _ = normalized.WriteString(property) + } + return normalized.String() +} + +func propertiesFromMetadata(metadata string) properties { + if metadata == "" { + return nil + } + + props := make(properties, 0, strings.Count(metadata, propertyDelimiter)+1) + for pStr := range strings.SplitSeq(metadata, propertyDelimiter) { + if pStr == "" { + continue + } + p, err := parseProperty(pStr) + if err != nil { + return nil + } + props = append(props, p) + } + return props +} + // Member is a list-member of a baggage-string as defined by the W3C Baggage // specification. type Member struct { key, value string + + // metadata contains the opaque W3C property suffix extracted from the wire + // without the leading semicolon. properties contains API-created + // properties. The fields are mutually exclusive. + metadata string properties properties // hasData indicates whether the created property contains data or not. @@ -307,21 +375,16 @@ func newInvalidMember() Member { return Member{} } -// parseMember attempts to decode a Member from the passed string. It returns -// an error if the input is invalid according to the W3C Baggage -// specification. +// parseMember attempts to decode a Member from the passed string. Property +// metadata grammar is validated without decoding or materializing properties. func parseMember(member string) (Member, error) { - var props properties - keyValue, properties, found := strings.Cut(member, propertyDelimiter) + var metadata string + keyValue, rawMetadata, found := strings.Cut(member, propertyDelimiter) if found { - // Parse the member properties. - for pStr := range strings.SplitSeq(properties, propertyDelimiter) { - p, err := parseProperty(pStr) - if err != nil { - return newInvalidMember(), err - } - props = append(props, p) + if invalid, ok := validateMetadata(rawMetadata); !ok { + return newInvalidMember(), fmt.Errorf("%w: %q", errInvalidProperty, invalid) } + metadata = normalizeMetadata(rawMetadata) } // Parse the member key/value pair. @@ -349,7 +412,7 @@ func parseMember(member string) (Member, error) { } value := replaceInvalidUTF8Sequences(len(rawVal), unescapeVal) - return Member{key: key, value: value, properties: props, hasData: true}, nil + return Member{key: key, value: value, metadata: metadata, hasData: true}, nil } // replaceInvalidUTF8Sequences replaces invalid UTF-8 sequences with '�'. @@ -399,10 +462,14 @@ func (m Member) Key() string { return m.key } func (m Member) Value() string { return m.value } // Properties returns a copy of the Member properties. -func (m Member) Properties() []Property { return m.properties.Copy() } +func (m Member) Properties() []Property { + if m.metadata != "" { + return propertiesFromMetadata(m.metadata) + } + return m.properties.Copy() +} -// String encodes Member into a header string compliant with the W3C Baggage -// specification. +// String encodes Member into a baggage header string. // It would return empty string if the key is invalid with the W3C Baggage // specification. This could happen for a UTF-8 key, as it may contain // invalid characters. @@ -413,12 +480,31 @@ func (m Member) String() string { } s := m.key + keyValueDelimiter + valueEscape(m.value) - if len(m.properties) > 0 { + if m.metadata != "" { + s += propertyDelimiter + m.metadata + } else if len(m.properties) > 0 { s += propertyDelimiter + m.properties.String() } return s } +func memberFromItem(key string, item baggage.Item) Member { + return Member{ + key: key, + value: item.Value(), + metadata: item.Metadata(), + properties: fromInternalProperties(item.Properties()), + hasData: true, + } +} + +func itemFromMember(member Member) baggage.Item { + if member.metadata != "" { + return baggage.NewItemWithMetadata(member.value, member.metadata) + } + return baggage.NewItemWithProperties(member.value, member.properties.asInternal()) +} + // Baggage is a list of baggage members representing the baggage-string as // defined by the W3C Baggage specification. type Baggage struct { //nolint:golint @@ -444,10 +530,7 @@ func New(members ...Member) (Baggage, error) { return Baggage{}, errInvalidMember } // OpenTelemetry resolves duplicates by last-one-wins. - b[m.key] = baggage.Item{ - Value: m.value, - Properties: m.properties.asInternal(), - } + b[m.key] = itemFromMember(m) } var truncateErr error @@ -467,11 +550,7 @@ func New(members ...Member) (Baggage, error) { totalBytes := 0 first := true for k := range b { - m := Member{ - key: k, - value: b[k].Value, - properties: fromInternalProperties(b[k].Properties), - } + m := memberFromItem(k, b[k]) memberSize := len(m.String()) if !first { memberSize++ // comma separator @@ -563,10 +642,7 @@ func Parse(bStr string) (Baggage, error) { } // OpenTelemetry resolves duplicates by last-one-wins. - b[m.key] = baggage.Item{ - Value: m.value, - Properties: m.properties.asInternal(), - } + b[m.key] = itemFromMember(m) sizes[m.key] = memberBytes totalBytes = newTotalBytes } @@ -597,12 +673,7 @@ func (b Baggage) Member(key string) Member { return newInvalidMember() } - return Member{ - key: key, - value: v.Value, - properties: fromInternalProperties(v.Properties), - hasData: true, - } + return memberFromItem(key, v) } // Members returns all the baggage list-members. @@ -617,12 +688,7 @@ func (b Baggage) Members() []Member { members := make([]Member, 0, len(b.list)) for k, v := range b.list { - members = append(members, Member{ - key: k, - value: v.Value, - properties: fromInternalProperties(v.Properties), - hasData: true, - }) + members = append(members, memberFromItem(k, v)) } return members } @@ -652,10 +718,7 @@ func (b Baggage) SetMember(member Member) (Baggage, error) { list[k] = v } - list[member.key] = baggage.Item{ - Value: member.value, - Properties: member.properties.asInternal(), - } + list[member.key] = itemFromMember(member) return Baggage{list: list}, nil } @@ -692,11 +755,7 @@ func (b Baggage) Len() int { func (b Baggage) String() string { members := make([]string, 0, len(b.list)) for k, v := range b.list { - s := Member{ - key: k, - value: v.Value, - properties: fromInternalProperties(v.Properties), - }.String() + s := memberFromItem(k, v).String() // Ignored empty members. if s != "" { @@ -706,9 +765,14 @@ func (b Baggage) String() string { return strings.Join(members, listDelimiter) } -// parsePropertyInternal attempts to decode a Property from the passed string. -// It follows the spec at https://www.w3.org/TR/baggage/#definition. -func parsePropertyInternal(s string) (p Property, ok bool) { +type propertyFields struct { + key, rawValue string + hasValue bool +} + +// parsePropertyFields validates and locates a property's fields without +// decoding or allocating them. +func parsePropertyFields(s string) (fields propertyFields, ok bool) { // For the entire function we will use " key = value " as an example. // Attempting to parse the key. // First skip spaces at the beginning "< >key = value " (they could be empty). @@ -727,7 +791,7 @@ func parsePropertyInternal(s string) (p Property, ok bool) { // If we couldn't find any valid key character, // it means the key is either empty or invalid. if keyStart == keyEnd { - return p, ok + return fields, ok } // Skip spaces after the key: " key< >= value ". @@ -735,15 +799,14 @@ func parsePropertyInternal(s string) (p Property, ok bool) { if index == len(s) { // A key can have no value, like: " key ". - ok = true - p.key = s[keyStart:keyEnd] - return p, ok + fields.key = s[keyStart:keyEnd] + return fields, true } // If we have not reached the end and we can't find the '=' delimiter, // it means the property is invalid. if s[index] != keyValueDelimiter[0] { - return p, ok + return fields, ok } // Attempting to parse the value. @@ -769,23 +832,59 @@ func parsePropertyInternal(s string) (p Property, ok bool) { // we have not reached the end, it means the property is // invalid, something like: " key = value value1". if index != len(s) { - return p, ok + return fields, ok + } + rawVal := s[valueStart:valueEnd] + if !validPercentEncoding(rawVal) { + return fields, ok + } + + fields.key = s[keyStart:keyEnd] + fields.rawValue = rawVal + fields.hasValue = true + return fields, true +} + +func validPercentEncoding(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] != '%' { + continue + } + if i+2 >= len(s) || !isHex(s[i+1]) || !isHex(s[i+2]) { + return false + } + i += 2 + } + return true +} + +func isHex(c byte) bool { + return '0' <= c && c <= '9' || 'a' <= c && c <= 'f' || 'A' <= c && c <= 'F' +} + +// parsePropertyInternal attempts to decode a Property from the passed string. +// It follows the spec at https://www.w3.org/TR/baggage/#definition. +func parsePropertyInternal(s string) (p Property, ok bool) { + fields, ok := parsePropertyFields(s) + if !ok { + return p, false + } + if !fields.hasValue { + p.key = fields.key + return p, true } // Decode a percent-encoded value. - rawVal := s[valueStart:valueEnd] - unescapeVal, err := url.PathUnescape(rawVal) + unescapeVal, err := url.PathUnescape(fields.rawValue) if err != nil { - return p, ok + return p, false } - value := replaceInvalidUTF8Sequences(len(rawVal), unescapeVal) + value := replaceInvalidUTF8Sequences(len(fields.rawValue), unescapeVal) - ok = true - p.key = s[keyStart:keyEnd] + p.key = fields.key p.hasValue = true - p.value = value - return p, ok + return p, true } func skipSpace(s string, offset int) int { diff --git a/vendor/go.opentelemetry.io/otel/codes/codes.go b/vendor/go.opentelemetry.io/otel/codes/codes.go index 9355545a..1502de35 100644 --- a/vendor/go.opentelemetry.io/otel/codes/codes.go +++ b/vendor/go.opentelemetry.io/otel/codes/codes.go @@ -32,7 +32,7 @@ const ( maxCode = 3 ) -// Code is an 32-bit representation of a status state. +// Code is a 32-bit representation of a status state. type Code uint32 var codeToStr = map[Code]string{ diff --git a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile index 20eecba4..82653bca 100644 --- a/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile +++ b/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile @@ -1,4 +1,4 @@ # This is a renovate-friendly source of Docker images. FROM python:3.13.6-slim-bullseye@sha256:e98b521460ee75bca92175c16247bdf7275637a8faaeb2bcfa19d879ae5c4b9a AS python -FROM otel/weaver:v0.25.1@sha256:9ad46ca9cd4fa5974b121f886aa3e9946a8ef8ea905001a96c018d21f9db87ca AS weaver +FROM otel/weaver:v0.26.1@sha256:9094862c0ab261bdbcb079bb981f9a573b3659b130a6d2ab8616eca6ba37aaec AS weaver FROM avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee AS markdown diff --git a/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go b/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go index cbeb14fc..d682f8c8 100644 --- a/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go +++ b/vendor/go.opentelemetry.io/otel/internal/baggage/baggage.go @@ -16,12 +16,35 @@ package baggage // but OpenTelemetry does not, therefore, this is represented as a map. type List map[string]Item -// Item is the value and metadata properties part of a list-member. +// Item is the value and metadata or properties part of a list-member. +// Metadata and properties are mutually exclusive representations. type Item struct { - Value string - Properties []Property + value string + metadata string + properties []Property } +// NewItemWithMetadata returns an Item with opaque W3C metadata. +func NewItemWithMetadata(value, metadata string) Item { + return Item{value: value, metadata: metadata} +} + +// NewItemWithProperties returns an Item with materialized properties. +func NewItemWithProperties(value string, properties []Property) Item { + return Item{value: value, properties: properties} +} + +// Value returns the value of i. +func (i Item) Value() string { return i.value } + +// Metadata returns the opaque W3C metadata of i. It is empty for an Item +// created with properties. +func (i Item) Metadata() string { return i.metadata } + +// Properties returns the materialized properties of i. It is nil for an Item +// created with metadata. +func (i Item) Properties() []Property { return i.properties } + // Property is a metadata entry for a list-member. type Property struct { Key, Value string diff --git a/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go b/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go index de294461..1234ead6 100644 --- a/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go +++ b/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go @@ -21,6 +21,9 @@ type ErrorHandler interface { Handle(error) } +// ErrDelegator is an ErrorHandler that forwards errors to a delegate +// ErrorHandler set with setDelegate. Before a delegate is set, it logs +// errors to STDERR. type ErrDelegator struct { delegate atomic.Pointer[ErrorHandler] } @@ -28,6 +31,8 @@ type ErrDelegator struct { // Compile-time check that delegator implements ErrorHandler. var _ ErrorHandler = (*ErrDelegator)(nil) +// Handle handles err by forwarding it to the configured delegate, or +// logging it to STDERR if no delegate is set. func (d *ErrDelegator) Handle(err error) { if eh := d.delegate.Load(); eh != nil { (*eh).Handle(err) diff --git a/vendor/go.opentelemetry.io/otel/internal/global/logger.go b/vendor/go.opentelemetry.io/otel/internal/global/logger.go new file mode 100644 index 00000000..e4328daa --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/internal/global/logger.go @@ -0,0 +1,96 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package global + +import ( + "context" + "sync" + "sync/atomic" + + "go.opentelemetry.io/otel/log" + "go.opentelemetry.io/otel/log/embedded" +) + +type loggerProvider struct { + embedded.LoggerProvider + + mu sync.Mutex + loggers map[il]*logger + delegate log.LoggerProvider +} + +// This is a compile-time guarantee that loggerProvider implements LoggerProvider. +var _ log.LoggerProvider = (*loggerProvider)(nil) + +func (p *loggerProvider) Logger(name string, options ...log.LoggerOption) log.Logger { + p.mu.Lock() + defer p.mu.Unlock() + + if p.delegate != nil { + return p.delegate.Logger(name, options...) + } + + cfg := log.NewLoggerConfig(options...) + key := il{ + name: name, + version: cfg.InstrumentationVersion(), + schema: cfg.SchemaURL(), + attrs: cfg.InstrumentationAttributes(), + } + + if p.loggers == nil { + l := &logger{name: name, options: options} + p.loggers = map[il]*logger{key: l} + return l + } + + if l, ok := p.loggers[key]; ok { + return l + } + + l := &logger{name: name, options: options} + p.loggers[key] = l + return l +} + +func (p *loggerProvider) setDelegate(provider log.LoggerProvider) { + p.mu.Lock() + defer p.mu.Unlock() + + p.delegate = provider + for _, l := range p.loggers { + l.setDelegate(provider) + } + p.loggers = nil // Only set logger delegates once. +} + +type logger struct { + embedded.Logger + + name string + options []log.LoggerOption + + delegate atomic.Value // log.Logger +} + +// This is a compile-time guarantee that logger implements Logger. +var _ log.Logger = (*logger)(nil) + +func (l *logger) Emit(ctx context.Context, r log.Record) { + if del, ok := l.delegate.Load().(log.Logger); ok { + del.Emit(ctx, r) + } +} + +func (l *logger) Enabled(ctx context.Context, param log.EnabledParameters) bool { + var enabled bool + if del, ok := l.delegate.Load().(log.Logger); ok { + enabled = del.Enabled(ctx, param) + } + return enabled +} + +func (l *logger) setDelegate(provider log.LoggerProvider) { + l.delegate.Store(provider.Logger(l.name, l.options...)) +} diff --git a/vendor/go.opentelemetry.io/otel/internal/global/state.go b/vendor/go.opentelemetry.io/otel/internal/global/state.go index f8fcb82b..bd388d83 100644 --- a/vendor/go.opentelemetry.io/otel/internal/global/state.go +++ b/vendor/go.opentelemetry.io/otel/internal/global/state.go @@ -9,6 +9,7 @@ import ( "sync/atomic" "go.opentelemetry.io/otel/internal/errorhandler" + "go.opentelemetry.io/otel/log" "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/propagation" "go.opentelemetry.io/otel/trace" @@ -26,16 +27,22 @@ type ( meterProviderHolder struct { mp metric.MeterProvider } + + loggerProviderHolder struct { + provider log.LoggerProvider + } ) var ( - globalTracer = defaultTracerValue() - globalPropagators = defaultPropagatorsValue() - globalMeterProvider = defaultMeterProvider() + globalTracer = defaultTracerValue() + globalPropagators = defaultPropagatorsValue() + globalMeterProvider = defaultMeterProvider() + globalLoggerProvider = defaultLoggerProvider() delegateTraceOnce sync.Once delegateTextMapPropagatorOnce sync.Once delegateMeterOnce sync.Once + delegateLoggerOnce sync.Once ) // GetErrorHandler returns the global ErrorHandler instance. @@ -150,6 +157,32 @@ func SetMeterProvider(mp metric.MeterProvider) { globalMeterProvider.Store(meterProviderHolder{mp: mp}) } +// LoggerProvider is the internal implementation for global.LoggerProvider. +func LoggerProvider() log.LoggerProvider { + return globalLoggerProvider.Load().(loggerProviderHolder).provider +} + +// SetLoggerProvider is the internal implementation for global.SetLoggerProvider. +func SetLoggerProvider(provider log.LoggerProvider) { + current := LoggerProvider() + if _, cOk := current.(*loggerProvider); cOk { + if _, lpOk := provider.(*loggerProvider); lpOk && current == provider { + Error( + errors.New("no delegate configured in logger provider"), + "Setting logger provider to its current value. No delegate will be configured", + ) + return + } + } + + delegateLoggerOnce.Do(func() { + if def, ok := current.(*loggerProvider); ok { + def.setDelegate(provider) + } + }) + globalLoggerProvider.Store(loggerProviderHolder{provider: provider}) +} + func defaultTracerValue() *atomic.Value { v := &atomic.Value{} v.Store(tracerProviderHolder{tp: &tracerProvider{}}) @@ -167,3 +200,9 @@ func defaultMeterProvider() *atomic.Value { v.Store(meterProviderHolder{mp: &meterProvider{}}) return v } + +func defaultLoggerProvider() *atomic.Value { + v := &atomic.Value{} + v.Store(loggerProviderHolder{provider: &loggerProvider{}}) + return v +} diff --git a/vendor/go.opentelemetry.io/otel/log.go b/vendor/go.opentelemetry.io/otel/log.go new file mode 100644 index 00000000..1758913f --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log.go @@ -0,0 +1,41 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package otel + +import ( + "go.opentelemetry.io/otel/internal/global" + "go.opentelemetry.io/otel/log" +) + +// Logger returns a [log.Logger] configured with the provided name and options +// from the globally configured [log.LoggerProvider]. +// +// If this is called before a global LoggerProvider is configured, the returned +// Logger will be a No-Op implementation of a Logger. When a global +// LoggerProvider is registered for the first time, the returned Logger is +// updated in place to report to this new LoggerProvider. There is no need to +// call this function again for an updated instance. +// +// This is a convenience function. It is equivalent to: +// +// GetLoggerProvider().Logger(name, options...) +func Logger(name string, options ...log.LoggerOption) log.Logger { + return GetLoggerProvider().Logger(name, options...) +} + +// GetLoggerProvider returns the globally configured [log.LoggerProvider]. +// +// If a global LoggerProvider has not been configured with [SetLoggerProvider], +// the returned LoggerProvider will be a No-Op implementation. When +// a global LoggerProvider is registered for the first time, the returned +// LoggerProvider and all Loggers it has created are updated in place. There is +// no need to call this function again for an updated instance. +func GetLoggerProvider() log.LoggerProvider { + return global.LoggerProvider() +} + +// SetLoggerProvider configures provider as the global [log.LoggerProvider]. +func SetLoggerProvider(provider log.LoggerProvider) { + global.SetLoggerProvider(provider) +} diff --git a/vendor/go.opentelemetry.io/otel/log/DESIGN.md b/vendor/go.opentelemetry.io/otel/log/DESIGN.md new file mode 100644 index 00000000..d36c9677 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/DESIGN.md @@ -0,0 +1,566 @@ +# Logs API + +## Abstract + +`go.opentelemetry.io/otel/log` provides +[Logs API](https://opentelemetry.io/docs/specs/otel/logs/api/). + +The prototype was created in +[#4725](https://github.com/open-telemetry/opentelemetry-go/pull/4725). + +## Background + +The key challenge is to create a performant API compliant with the [specification](https://opentelemetry.io/docs/specs/otel/logs/api/) +with an intuitive and user friendly design. +Performance is seen as one of the most important characteristics of logging libraries in Go. + +## Design + +This proposed design aims to: + +- be specification compliant, +- be similar to Trace and Metrics API, +- take advantage of both OpenTelemetry and `slog` experience to achieve acceptable performance. + +### Module structure + +The API is published as a single `go.opentelemetry.io/otel/log` Go module. + +The package structure is similar to Trace API and Metrics API. +The Go module consists of the following packages: + +- `go.opentelemetry.io/otel/log` +- `go.opentelemetry.io/otel/log/embedded` +- `go.opentelemetry.io/otel/log/logtest` +- `go.opentelemetry.io/otel/log/noop` + +Rejected alternative: + +- [Reuse slog](#reuse-slog) + +### LoggerProvider + +The [`LoggerProvider` abstraction](https://opentelemetry.io/docs/specs/otel/logs/api/#loggerprovider) +is defined as `LoggerProvider` interface in [provider.go](provider.go). + +The specification may add new operations to `LoggerProvider`. +The interface may have methods added without a package major version bump. +This embeds `embedded.LoggerProvider` to help inform an API implementation +author about this non-standard API evolution. +This approach is already used in Trace API and Metrics API. + +#### LoggerProvider.Logger + +The `Logger` method implements the [`Get a Logger` operation](https://opentelemetry.io/docs/specs/otel/logs/api/#get-a-logger). + +The required `name` parameter is accepted as a `string` method argument. + +The `LoggerOption` options are defined to support optional parameters. + +Implementation requirements: + +- The [specification requires](https://opentelemetry.io/docs/specs/otel/logs/api/#concurrency-requirements) + the method to be safe to be called concurrently. + +- If the passed name is empty, this should be reported as invalid as specified + by the [Logs SDK specification](https://opentelemetry.io/docs/specs/otel/logs/sdk/#logger-creation). + The method should still use it as the instrumentation scope name and return + a working logger. + +`Logger` can be extended by adding new `LoggerOption` options +and adding new exported fields to the `LoggerConfig` struct. +This design is already used in Trace API for getting tracers +and in Metrics API for getting meters. + +Rejected alternative: + +- [Passing struct as parameter to LoggerProvider.Logger](#passing-struct-as-parameter-to-loggerproviderlogger). + +### Logger + +The [`Logger` abstraction](https://opentelemetry.io/docs/specs/otel/logs/api/#logger) +is defined as `Logger` interface in [logger.go](logger.go). + +The specification may add new operations to `Logger`. +The interface may have methods added without a package major version bump. +This embeds `embedded.Logger` to help inform an API implementation +author about this non-standard API evolution. +This approach is already used in Trace API and Metrics API. + +### Logger.Emit + +The `Emit` method implements the [`Emit a LogRecord` operation](https://opentelemetry.io/docs/specs/otel/logs/api/#emit-a-logrecord). + +[`Context` associated with the `LogRecord`](https://opentelemetry.io/docs/specs/otel/context/) +is accepted as a `context.Context` method argument. + +Calls to `Emit` are supposed to be on the hot path. +Therefore, in order to reduce the number of heap allocations, +the [`LogRecord` abstraction](https://opentelemetry.io/docs/specs/otel/logs/api/#emit-a-logrecord), +is defined as `Record` struct in [record.go](record.go). + +[`Timestamp`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-timestamp) +is accessed using following methods: + +```go +func (r *Record) Timestamp() time.Time +func (r *Record) SetTimestamp(t time.Time) +``` + +[`ObservedTimestamp`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-observedtimestamp) +is accessed using following methods: + +```go +func (r *Record) ObservedTimestamp() time.Time +func (r *Record) SetObservedTimestamp(t time.Time) +``` + +[`EventName`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-eventname) +is accessed using following methods: + +```go +func (r *Record) EventName() string +func (r *Record) SetEventName(s string) +``` + +[`SeverityNumber`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitynumber) +is accessed using following methods: + +```go +func (r *Record) Severity() Severity +func (r *Record) SetSeverity(s Severity) +``` + +`Severity` type is defined in [severity.go](severity.go). +The constants are are based on +[Displaying Severity recommendation](https://opentelemetry.io/docs/specs/otel/logs/data-model/#displaying-severity). +Additionally, `Severity[Level]` constants are defined to make the API more readable and user friendly. + +[`SeverityText`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-severitytext) +is accessed using following methods: + +```go +func (r *Record) SeverityText() string +func (r *Record) SetSeverityText(s string) +``` + +[`Body`](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-body) +is accessed using following methods: + +```go +func (r *Record) Body() attribute.Value +func (r *Record) SetBody(v attribute.Value) +``` + +[Log record attributes](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-attributes) +are accessed using following methods: + +```go +func (r *Record) WalkAttributes(f func(attribute.KeyValue) bool) +func (r *Record) AddAttributes(attrs ...attribute.KeyValue) +``` + +`Record` has a `AttributesLen` method that returns +the number of attributes to allow slice preallocation +when converting records to a different representation: + +```go +func (r *Record) AttributesLen() int +``` + +The records attributes design and implementation is based on +[`slog.Record`](https://pkg.go.dev/log/slog#Record). +It allows achieving high-performance access and manipulation of the attributes +while keeping the API user friendly. +It relieves the user from making his own improvements +for reducing the number of allocations when passing attributes. + +Log body and attributes use the common +[`attribute.Value`](https://pkg.go.dev/go.opentelemetry.io/otel/attribute#Value) +and +[`attribute.KeyValue`](https://pkg.go.dev/go.opentelemetry.io/otel/attribute#KeyValue) +types. +These types cover the Logs Data Model `any` value shape, including empty +values, byte slices, generic slices, and maps. +Reusing the attribute package keeps the API consistent across signals and +avoids maintaining a second value model with conversion helpers. + +The zero value of `attribute.Value` represents an empty body. +Log maps use `attribute.MAP`, which may contain duplicate keys when callers +construct one that way. Duplicate-key normalization is an SDK policy, not an +API behavior. + +The caller must not subsequently mutate the record passed to `Emit`. +This would allow the implementation to not clone the record, +but simply retain, modify or discard it. +The implementation may still choose to clone the record or copy its attributes +if it needs to retain or modify it, +e.g. in case of asynchronous processing to eliminate the possibility of data races, +because the user can technically reuse the record and add new attributes +after the call (even when the documentation says that the caller must not do it). + +Implementation requirements: + +- The [specification requires](https://opentelemetry.io/docs/specs/otel/logs/api/#concurrency-requirements) + the method to be safe to be called concurrently. + +- The method must not interrupt the record processing if the context is canceled + per ["ignoring context cancellation" guideline](../CONTRIBUTING.md#ignoring-context-cancellation). + +- The [specification requires](https://opentelemetry.io/docs/specs/otel/logs/api/#emit-a-logrecord) + use the current time as observed timestamp if the passed is empty. + +- The method should handle the trace context passed via `ctx` argument in order to meet the + [specification's SDK requirement](https://opentelemetry.io/docs/specs/otel/logs/sdk/#readablelogrecord) + to populate the trace context fields from the resolved context. + +`Emit` can be extended by adding new exported fields to the `Record` struct. + +Rejected alternatives: + +- [Record as interface](#record-as-interface) +- [Options as parameter to Logger.Emit](#options-as-parameter-to-loggeremit) +- [Passing record as pointer to Logger.Emit](#passing-record-as-pointer-to-loggeremit) +- [Logger.WithAttributes](#loggerwithattributes) +- [Record attributes as slice](#record-attributes-as-slice) +- [Use any instead of attribute.Value](#use-any-instead-of-attributevalue) +- [Severity type encapsulating number and text](#severity-type-encapsulating-number-and-text) +- [Define log-specific value types](#define-log-specific-value-types) +- [Mix receiver types for Record](#mix-receiver-types-for-record) +- [Add XYZ method to Logger](#add-xyz-method-to-logger) + +### Logger.Enabled + +The `Enabled` method implements the [`Enabled` operation](https://opentelemetry.io/docs/specs/otel/logs/api/#enabled). + +[`Context` associated with the `LogRecord`](https://opentelemetry.io/docs/specs/otel/context/) +is accepted as a `context.Context` method argument. + +Calls to `Enabled` are supposed to be on the hot path and the list of arguments +can be extendend in future. Therefore, in order to reduce the number of heap +allocations and make it possible to handle new arguments, `Enabled` accepts +a `EnabledParameters` struct, defined in [logger.go](logger.go), as the second +method argument. + +The `EnabledParameters` uses fields, instead of getters and setters, to allow +simpler usage which allows configuring the `EnabledParameters` in the same line +where `Enabled` is called. + +### noop package + +The `go.opentelemetry.io/otel/log/noop` package provides +[Logs API No-Op Implementation](https://opentelemetry.io/docs/specs/otel/logs/noop/). + +### Trace context correlation + +The bridge implementation should do its best to pass +the `ctx` containing the trace context from the caller +so it can later be passed via `Logger.Emit`. + +It is not expected that users (caller or bridge implementation) reconstruct +a `context.Context`. Reconstructing a `context.Context` with +[`trace.ContextWithSpanContext`](https://pkg.go.dev/go.opentelemetry.io/otel/trace#ContextWithSpanContext) +and [`trace.NewSpanContext`](https://pkg.go.dev/go.opentelemetry.io/otel/trace#NewSpanContext) +would usually involve more memory allocations. + +The logging libraries which have recording methods that accepts `context.Context`, +such us [`slog`](https://pkg.go.dev/log/slog), +[`logrus`](https://pkg.go.dev/github.com/sirupsen/logrus), +[`zerolog`](https://pkg.go.dev/github.com/rs/zerolog), +makes passing the trace context trivial. + +However, some libraries do not accept a `context.Context` in their recording methods. +Structured logging libraries, +such as [`logr`](https://pkg.go.dev/github.com/go-logr/logr) +and [`zap`](https://pkg.go.dev/go.uber.org/zap), +offer passing `any` type as a log attribute/field. +Therefore, their bridge implementations can define a "special" log attributes/field +that will be used to capture the trace context. + +[The prototype](https://github.com/open-telemetry/opentelemetry-go/pull/4725) +has bridge implementations that handle trace context correlation efficiently. + +## Benchmarking + +The benchmarks take inspiration from [`slog`](https://pkg.go.dev/log/slog), +because for the Go team it was also critical to create API that would be fast +and interoperable with existing logging packages.[^2][^3] + +The benchmark results can be found in [the prototype](https://github.com/open-telemetry/opentelemetry-go/pull/4725). + +## Rejected alternatives + +### Reuse slog + +The API must not be coupled to [`slog`](https://pkg.go.dev/log/slog), +nor any other logging library. + +The API needs to evolve orthogonally to `slog`. + +`slog` is not compliant with the [Logs API](https://opentelemetry.io/docs/specs/otel/logs/api/). +and we cannot expect the Go team to make `slog` compliant with it. + +The interoperability can be achieved using [a log bridge](https://opentelemetry.io/docs/specs/otel/glossary/#log-appender--bridge). + +You can read more about OpenTelemetry Logs design on [opentelemetry.io](https://opentelemetry.io/docs/concepts/signals/logs/). + +### Record as interface + +`Record` is defined as a `struct` because of the following reasons. + +Log record is a value object without any behavior. +It is used as data input for Logger methods. + +The log record resembles the instrument config structs like [metric.Float64CounterConfig](https://pkg.go.dev/go.opentelemetry.io/otel/metric#Float64CounterConfig). + +Using `struct` instead of `interface` improves the performance as e.g. +indirect calls are less optimized, +usage of interfaces tend to increase heap allocations.[^3] + +### Options as parameter to Logger.Emit + +One of the initial ideas was to have: + +```go +type Logger interface{ + embedded.Logger + Emit(ctx context.Context, options ...RecordOption) +} +``` + +The main reason was that design would be similar +to the [Meter API](https://pkg.go.dev/go.opentelemetry.io/otel/metric#Meter) +for creating instruments. + +However, passing `Record` directly, instead of using options, +is more performant as it reduces heap allocations.[^4] + +Another advantage of passing `Record` is that API would not have functions like `NewRecord(options...)`, +which would be used by the SDK and not by the users. + +Finally, the definition would be similar to [`slog.Handler.Handle`](https://pkg.go.dev/log/slog#Handler) +that was designed to provide optimization opportunities.[^2] + +### Passing record as pointer to Logger.Emit + +So far the benchmarks do not show differences that would +favor passing the record via pointer (and vice versa). + +Passing via value feels safer because of the following reasons. + +The user would not be able to pass `nil`. +Therefore, it reduces the possibility to have a nil pointer dereference. + +It should reduce the possibility of a heap allocation. + +It follows the design of [`slog.Handler`](https://pkg.go.dev/log/slog#Handler). + +If follows one of Google's Go Style Decisions +to prefer [passing values](https://google.github.io/styleguide/go/decisions#pass-values). + +### Passing struct as parameter to LoggerProvider.Logger + +Similarly to `Logger.Emit`, we could have something like: + +```go +type LoggerProvider interface{ + embedded.LoggerProvider + Logger(name string, config LoggerConfig) +} +``` + +The drawback of this idea would be that this would be +a different design from Trace and Metrics API. + +The performance of acquiring a logger is not as critical +as the performance of emitting a log record. While a single +HTTP/RPC handler could write hundreds of logs, it should not +create a new logger for each log entry. +The bridge implementation should reuse loggers whenever possible. + +### Logger.WithAttributes + +We could add `WithAttributes` to the `Logger` interface. +Then `Record` could be a simple struct with only exported fields. +The idea was that the SDK would implement the performance improvements +instead of doing it in the API. +This would allow having different optimization strategies. + +During the analysis[^5], it occurred that the main problem of this proposal +is that the variadic slice passed to an interface method is always heap allocated. + +Moreover, the logger returned by `WithAttribute` was allocated on the heap. + +Lastly, the proposal was not specification compliant. + +### Record attributes as slice + +One of the proposals[^6] was to have `Record` as a simple struct: + +```go +type Record struct { + Timestamp time.Time + ObservedTimestamp time.Time + EventName string + Severity Severity + SeverityText string + Body Value + Attributes []KeyValue +} +``` + +The bridge implementations could use [`sync.Pool`](https://pkg.go.dev/sync#Pool) +for reducing the number of allocations when passing attributes. + +The benchmarks results were better. + +In such a design, most bridges would have a `sync.Pool` +to reduce the number of heap allocations. +However, the `sync.Pool` will not work correctly with API implementations +that would take ownership of the record +(e.g. implementations that do not copy records for asynchronous processing). +The current design, even in case of improper API implementation, +has lower chances of encountering a bug as most bridges would +create a record, pass it, and forget about it. + +For reference, here is the reason why `slog` does not use `sync.Pool`[^3] +as well: + +> We can use a sync pool for records though we decided not to. +You can but it's a bad idea for us. Why? +Because users have control of Records. +Handler writers can get their hands on a record +and we'd have to ask them to free it +or try to free it magically at some some point. +But either way, they could get themselves in trouble by freeing it twice +or holding on to one after they free it. +That's a use after free bug and that's why `zerolog` was problematic for us. +`zerolog` as as part of its speed exposes a pool allocated value to users +if you use `zerolog` the normal way, that you'll see in all the examples, +you will never encounter a problem. +But if you do something a little out of the ordinary you can get +use after free bugs and we just didn't want to put that in the standard library. + +Therefore, we decided to not follow the proposal as it is +less user friendly (users and bridges would use e.g. a `sync.Pool` to reduce +the number of heap allocation), less safe (more prone to use after free bugs +and race conditions), and the benchmark differences were not significant. + +### Use any instead of attribute.Value + +[Logs Data Model](https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-body) +defines Body to be `any`. +One could propose to define `Body` (and attribute values) as `any` +instead of using `attribute.Value`. + +First of all, [`any` type defined in the specification](https://opentelemetry.io/docs/specs/otel/logs/data-model/#type-any) +is not the same as `any` (`interface{}`) in Go. + +Moreover, using `any` as a field would decrease the performance.[^7] + +Using `attribute.Value` preserves a typed, allocation-conscious representation +of the Logs Data Model `any` values while avoiding unconstrained `interface{}` +handling in bridge implementations. + +### Severity type encapsulating number and text + +We could combine severity into a single field defining a type: + +```go +type Severity struct { + Number SeverityNumber + Text string +} +``` + +However, the [Logs Data Model](https://opentelemetry.io/docs/specs/otel/logs/data-model/#log-and-event-record-definition) +define it as independent fields. +It should be more user friendly to have them separated. +Especially when having getter and setter methods, setting one value +when the other is already set would be unpleasant. + +### Define log-specific value types + +The original design defined `Kind`, `Value`, and `KeyValue` in +`go.opentelemetry.io/otel/log`. +That avoided coupling log bodies to the common attribute package while logs were +still exploring structured value support. + +The Logs Data Model and common attribute value model now share the structured +`any` shapes needed by Go: empty, bool, int64, float64, string, byte slice, +homogeneous slices, generic slices, and maps. +The specification direction is to reuse these value shapes across signals. +Keeping log-specific types would duplicate API surface, require conversion +helpers, and make bridge code choose between two equivalent value models. + +Therefore log records now use `attribute.Value` for body values and +`attribute.KeyValue` for attributes and map entries. + +### Mix receiver types for Record + +Methods of [`slog.Record`](https://pkg.go.dev/log/slog#Record) +have different receiver types. + +In `log/slog` GitHub issue we can only find that the reason is:[^8] + +>> some receiver of Record struct is by value +> Passing Records by value means they incur no heap allocation. +> That improves performance overall, even though they are copied. + +However, the benchmarks do not show any noticeable differences.[^9] + +The compiler is smart-enough to not make a heap allocation for any of these methods. +The use of a pointer receiver does not cause any heap allocation. +From Go FAQ:[^10] + +> In the current compilers, if a variable has its address taken, +> that variable is a candidate for allocation on the heap. +> However, a basic escape analysis recognizes some cases +> when such variables will not live past the return from the function +> and can reside on the stack. + +The [Understanding Allocations: the Stack and the Heap](https://www.youtube.com/watch?v=ZMZpH4yT7M0) +presentation by Jacob Walker describes the escape analysis with details. + +Moreover, also from Go FAQ:[^10] + +> Also, if a local variable is very large, +> it might make more sense to store it on the heap rather than the stack. + +Therefore, even if we use a value receiver and the value is very large +it may be heap allocated. + +Both [Go Code Review Comments](https://go.dev/wiki/CodeReviewComments#receiver-type) +and [Google's Go Style Decisions](https://google.github.io/styleguide/go/decisions#receiver-type) +highly recommend making the methods for a type either all pointer methods +or all value methods. Google's Go Style Decisions even goes further and says: + +> There is a lot of misinformation about whether passing a value or a pointer +> to a function can affect performance. +> The compiler can choose to pass pointers to values on the stack +> as well as copying values on the stack, +> but these considerations should not outweigh the readability +> and correctness of the code in most circumstances. +> When the performance does matter, it is important to profile both approaches +> with a realistic benchmark before deciding that one approach outperforms the other. + +Because, the benchmarks[^9] do not proof any performance difference +and the general recommendation is to not mix receiver types, +we decided to use pointer receivers for all `Record` methods. + +### Add XYZ method to Logger + +The `Logger` does not have methods like `SetSeverity`, etc. +as the Logs API needs to follow (be compliant with) +the [specification](https://opentelemetry.io/docs/specs/otel/logs/api/) + +[^1]: [Handle structured body and attributes](https://github.com/pellared/opentelemetry-go/pull/7) +[^2]: Jonathan Amsterdam, [The Go Blog: Structured Logging with slog](https://go.dev/blog/slog) +[^3]: Jonathan Amsterdam, [GopherCon Europe 2023: A Fast Structured Logging Package](https://www.youtube.com/watch?v=tC4Jt3i62ns) +[^4]: [Emit definition discussion with benchmarks](https://github.com/open-telemetry/opentelemetry-go/pull/4725#discussion_r1400869566) +[^5]: [Logger.WithAttributes analysis](https://github.com/pellared/opentelemetry-go/pull/3) +[^6]: [Record attributes as field and use sync.Pool for reducing allocations](https://github.com/pellared/opentelemetry-go/pull/4) and [Record attributes based on slog.Record](https://github.com/pellared/opentelemetry-go/pull/6) +[^7]: [Record.Body as any](https://github.com/pellared/opentelemetry-go/pull/5) +[^8]: [log/slog: structured, leveled logging](https://github.com/golang/go/issues/56345#issuecomment-1302563756) +[^9]: [Record with pointer receivers only](https://github.com/pellared/opentelemetry-go/pull/8) +[^10]: [Go FAQ: Stack or heap](https://go.dev/doc/faq#stack_or_heap) diff --git a/vendor/go.opentelemetry.io/otel/log/LICENSE b/vendor/go.opentelemetry.io/otel/log/LICENSE new file mode 100644 index 00000000..f1aee0f1 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/LICENSE @@ -0,0 +1,231 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/vendor/go.opentelemetry.io/otel/log/README.md b/vendor/go.opentelemetry.io/otel/log/README.md new file mode 100644 index 00000000..3f714271 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/README.md @@ -0,0 +1,3 @@ +# Log API + +[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/log)](https://pkg.go.dev/go.opentelemetry.io/otel/log) diff --git a/vendor/go.opentelemetry.io/otel/log/doc.go b/vendor/go.opentelemetry.io/otel/log/doc.go new file mode 100644 index 00000000..211de35f --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/doc.go @@ -0,0 +1,85 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +/* +Package log provides the OpenTelemetry Logs API. + +This API is separate from its implementation, so the instrumentation built +from it is reusable. See [go.opentelemetry.io/otel/sdk/log] for the official +OpenTelemetry implementation of this API. + +The log package provides the OpenTelemetry Logs API, which serves as a standard +interface for generating and managing log records within the OpenTelemetry ecosystem. +This package allows users to emit LogRecords, enabling structured, context-rich logging +that can be easily integrated with observability tools. It ensures that log data is captured +in a way that is consistent with OpenTelemetry's data model. + +This package can be used to create bridges between existing logging libraries and OpenTelemetry. +Log bridges allow existing logging setups to be integrated with OpenTelemetry. +Log bridges can be found in the [registry]. + +# API Implementations + +This package does not conform to the standard Go versioning policy; all of its +interfaces may have methods added to them without a package major version bump. +This non-standard API evolution could surprise an uninformed implementation +author. They could unknowingly build their implementation in a way that would +result in a runtime panic for their users who update to the new API. + +The API is designed to help inform an instrumentation author about this +non-standard API evolution. It requires them to choose a default behavior for +unimplemented interface methods. There are three behavior choices they can +make: + + - Compilation failure + - Panic + - Default to another implementation + +All interfaces in this API embed a corresponding interface from +[go.opentelemetry.io/otel/log/embedded]. If an author wants the default +behavior of their implementations to be a compilation failure, signaling to +their users that they need to update to the latest version of that implementation, +they need to embed the corresponding interface from +[go.opentelemetry.io/otel/log/embedded] in their implementation. For example, + + import "go.opentelemetry.io/otel/log/embedded" + + type LoggerProvider struct { + embedded.LoggerProvider + // ... + } + +If an author wants the default behavior of their implementations to panic, +they need to embed the API interface directly. + + import "go.opentelemetry.io/otel/log" + + type LoggerProvider struct { + log.LoggerProvider + // ... + } + +This is not a recommended behavior as it could lead to publishing packages that +contain runtime panics when users update other packages that use newer versions +of [go.opentelemetry.io/otel/log]. + +Finally, an author can embed another implementation in theirs. The embedded +implementation will be used for methods not defined by the author. For example, +an author who wants to default to silently dropping the call can use +[go.opentelemetry.io/otel/log/noop]: + + import "go.opentelemetry.io/otel/log/noop" + + type LoggerProvider struct { + noop.LoggerProvider + // ... + } + +It is strongly recommended that authors only embed +go.opentelemetry.io/otel/log/noop if they choose this default behavior. That +implementation is the only one OpenTelemetry authors can guarantee will fully +implement all the API interfaces when a user updates their API. + +[registry]: https://opentelemetry.io/ecosystem/registry/?language=go&component=log-bridge +*/ +package log diff --git a/vendor/go.opentelemetry.io/otel/log/embedded/README.md b/vendor/go.opentelemetry.io/otel/log/embedded/README.md new file mode 100644 index 00000000..bae4ac68 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/embedded/README.md @@ -0,0 +1,3 @@ +# Log Embedded + +[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/log/embedded)](https://pkg.go.dev/go.opentelemetry.io/otel/log/embedded) diff --git a/vendor/go.opentelemetry.io/otel/log/embedded/embedded.go b/vendor/go.opentelemetry.io/otel/log/embedded/embedded.go new file mode 100644 index 00000000..3b97fcdd --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/embedded/embedded.go @@ -0,0 +1,36 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package embedded provides interfaces embedded within the [OpenTelemetry Logs +// Bridge API]. +// +// Implementers of the [OpenTelemetry Logs API] can embed the relevant +// type from this package into their implementation directly. Doing so will +// result in a compilation error for users when the [OpenTelemetry Logs Bridge +// API] is extended (which is something that can happen without a major version +// bump of the API package). +// +// [OpenTelemetry Logs API]: https://pkg.go.dev/go.opentelemetry.io/otel/log +package embedded + +// LoggerProvider is embedded in the [Logs API LoggerProvider]. +// +// Embed this interface in your implementation of the [Logs API +// LoggerProvider] if you want users to experience a compilation error when the +// [Logs Bridge API LoggerProvider] interface is extended (which is something +// that can happen without a major version bump of the API package). This error +// signals that they need to update to your latest implementation. +// +// [Logs API LoggerProvider]: https://pkg.go.dev/go.opentelemetry.io/otel/log#LoggerProvider +type LoggerProvider interface{ loggerProvider() } + +// Logger is embedded in the [Logs API Logger]. +// +// Embed this interface in your implementation of the [Logs API Logger] +// if you want users to experience a compilation error when the [Logs API +// Logger] interface is extended (which is something that can happen without a +// major version bump of the API package). This error signals that they need to +// update to your latest implementation. +// +// [Logs API Logger]: https://pkg.go.dev/go.opentelemetry.io/otel/log#Logger +type Logger interface{ logger() } diff --git a/vendor/go.opentelemetry.io/otel/log/logger.go b/vendor/go.opentelemetry.io/otel/log/logger.go new file mode 100644 index 00000000..c0e4ca7a --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/logger.go @@ -0,0 +1,197 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package log + +import ( + "context" + "slices" + + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/log/embedded" +) + +// Logger emits log records. +// +// Warning: Methods may be added to this interface in minor releases. See +// package documentation on API implementation for information on how to set +// the default behavior for unimplemented methods. +type Logger interface { + // Users of the interface can ignore this. This embedded type is only used + // by implementations of this interface. See the "API Implementations" + // section of the package documentation for more information. + embedded.Logger + + // Emit emits a log record. + // + // The record may be held by the implementation. Callers should not mutate + // the record after it is passed. + // + // Implementations of this method need to be safe for a user to call + // concurrently. + Emit(ctx context.Context, record Record) + + // Enabled reports whether the Logger emits for the given context and + // param. + // + // Calling Enabled is optional. It is not required before calling + // [Logger.Emit]. + // + // Enabled is useful when constructing a [Record] is expensive. A caller can + // call Enabled first and skip record construction when it returns false. + // When constructing the Record is inexpensive, a caller can emit it + // directly. + // + // The returned value is not static and may change over time. A cached value + // can become stale. + // + // The passed param is likely to contain only partial information about a + // record (e.g., a param with only the Severity set). + // If a Logger needs more information than is provided, it + // is said to be in an indeterminate state (see below). + // + // The returned value is true if the Logger emits for the provided context + // and param, and false if the Logger does not emit. The returned value may be + // true or false in an indeterminate state. + // An implementation should default to returning true for an indeterminate + // state, but may return false if there are valid reasons to do so in + // particular circumstances (e.g., performance or correctness). + // + // The param should not be held by the implementation. A copy should be + // made if the param needs to be held after the call returns. + // + // Implementations of this method need to be safe for a user to call + // concurrently. + Enabled(ctx context.Context, param EnabledParameters) bool +} + +// LoggerOption applies configuration options to a [Logger]. +type LoggerOption interface { + // applyLogger applies a LoggerOption to a LoggerConfig. + applyLogger(LoggerConfig) LoggerConfig +} + +// LoggerConfig contains options for a [Logger]. +type LoggerConfig struct { + // Ensure forward compatibility by explicitly making this not comparable. + noCmp [0]func() //nolint: unused // This is indeed used. + + version string + schemaURL string + attrs attribute.Set +} + +type experimentalOption interface { + Experimental() +} + +// NewLoggerConfig returns a new [LoggerConfig] with all the options applied. +func NewLoggerConfig(options ...LoggerOption) LoggerConfig { + var c LoggerConfig + for _, opt := range options { + if _, ok := opt.(experimentalOption); ok { + continue + } + c = opt.applyLogger(c) + } + return c +} + +// InstrumentationVersion returns the version of the library providing +// instrumentation. +func (cfg LoggerConfig) InstrumentationVersion() string { + return cfg.version +} + +// InstrumentationAttributes returns the attributes associated with the library +// providing instrumentation. +func (cfg LoggerConfig) InstrumentationAttributes() attribute.Set { + return cfg.attrs +} + +// SchemaURL returns the schema URL of the library providing instrumentation. +func (cfg LoggerConfig) SchemaURL() string { + return cfg.schemaURL +} + +type loggerOptionFunc func(LoggerConfig) LoggerConfig + +func (fn loggerOptionFunc) applyLogger(cfg LoggerConfig) LoggerConfig { + return fn(cfg) +} + +// WithInstrumentationVersion returns a [LoggerOption] that sets the +// instrumentation version of a [Logger]. +func WithInstrumentationVersion(version string) LoggerOption { + return loggerOptionFunc(func(config LoggerConfig) LoggerConfig { + config.version = version + return config + }) +} + +// mergeSets returns the union of the keys in a and b. For duplicate keys, the +// value associated with b is used. +func mergeSets(a, b attribute.Set) attribute.Set { + // NewMergeIterator uses the first value for any duplicates. + iter := attribute.NewMergeIterator(&b, &a) + merged := make([]attribute.KeyValue, 0, a.Len()+b.Len()) + for iter.Next() { + merged = append(merged, iter.Attribute()) + } + return attribute.NewSet(merged...) +} + +// WithInstrumentationAttributes returns a [LoggerOption] that sets the +// instrumentation attributes of a [Logger]. +// +// This is equivalent to calling WithInstrumentationAttributeSet with an +// [attribute.Set] created from a clone of the passed attributes. +// [WithInstrumentationAttributeSet] is recommended for more control. +// +// If multiple [WithInstrumentationAttributes] or [WithInstrumentationAttributeSet] +// options are passed, the attributes will be merged together in the order +// they are passed. For attributes with duplicate keys, the last value passed +// will be used. +func WithInstrumentationAttributes(attr ...attribute.KeyValue) LoggerOption { + set := attribute.NewSet(slices.Clone(attr)...) + return WithInstrumentationAttributeSet(set) +} + +// WithInstrumentationAttributeSet returns a [LoggerOption] that adds +// instrumentation attributes to a [Logger]. +// +// If multiple [WithInstrumentationAttributes] or [WithInstrumentationAttributeSet] +// options are passed, the attributes will be merged together in the order +// they are passed. For attributes with duplicate keys, the last value passed +// will be used. +func WithInstrumentationAttributeSet(set attribute.Set) LoggerOption { + if set.Len() == 0 { + return loggerOptionFunc(func(config LoggerConfig) LoggerConfig { + return config + }) + } + + return loggerOptionFunc(func(config LoggerConfig) LoggerConfig { + if config.attrs.Len() == 0 { + config.attrs = set + } else { + config.attrs = mergeSets(config.attrs, set) + } + return config + }) +} + +// WithSchemaURL returns a [LoggerOption] that sets the schema URL for a +// [Logger]. +func WithSchemaURL(schemaURL string) LoggerOption { + return loggerOptionFunc(func(config LoggerConfig) LoggerConfig { + config.schemaURL = schemaURL + return config + }) +} + +// EnabledParameters represents the payload for [Logger.Enabled]. +type EnabledParameters struct { + Severity Severity + EventName string +} diff --git a/vendor/go.opentelemetry.io/otel/log/provider.go b/vendor/go.opentelemetry.io/otel/log/provider.go new file mode 100644 index 00000000..10969b41 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/provider.go @@ -0,0 +1,38 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package log + +import "go.opentelemetry.io/otel/log/embedded" + +// LoggerProvider provides access to [Logger]. +// +// Warning: Methods may be added to this interface in minor releases. See +// package documentation on API implementation for information on how to set +// the default behavior for unimplemented methods. +type LoggerProvider interface { + // Users of the interface can ignore this. This embedded type is only used + // by implementations of this interface. See the "API Implementations" + // section of the package documentation for more information. + embedded.LoggerProvider + + // Logger returns a new [Logger] with the provided name and configuration. + // + // The name needs to uniquely identify the source of logged code. It is + // recommended that name be the Go package name of the library using a log + // bridge (note: this is not the name of the bridge package). Most + // commonly, this means a bridge will need to accept this value from its + // users. + // + // An empty name is invalid. Implementations should retain the empty value as the + // instrumentation scope name, return a working Logger, and report the invalid value. + // + // The version of the package using a bridge can be critical information + // to include when logging. The bridge should accept this version + // information and use the [WithInstrumentationVersion] option to configure + // the Logger appropriately. + // + // Implementations of this method need to be safe for a user to call + // concurrently. + Logger(name string, options ...LoggerOption) Logger +} diff --git a/vendor/go.opentelemetry.io/otel/log/record.go b/vendor/go.opentelemetry.io/otel/log/record.go new file mode 100644 index 00000000..351657e9 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/record.go @@ -0,0 +1,168 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package log + +import ( + "slices" + "time" + + "go.opentelemetry.io/otel/attribute" +) + +// attributesInlineCount is the number of attributes that are efficiently +// stored in an array within a Record. This value is borrowed from slog, which +// performed a quantitative survey of log library use and found that this value +// covers 95% of all use cases (https://go.dev/blog/slog#performance). +const attributesInlineCount = 5 + +// Record represents a log record. +// A log record with a non-empty event name is interpreted as an event record. +type Record struct { + // Ensure forward compatibility by explicitly making this not comparable. + noCmp [0]func() //nolint: unused // This is indeed used. + + eventName string + timestamp time.Time + observedTimestamp time.Time + severity Severity + severityText string + body attribute.Value + err error + + // The fields below are for optimizing the implementation of Attributes and + // AddAttributes. This design is borrowed from the slog Record type: + // https://cs.opensource.google/go/go/+/refs/tags/go1.22.0:src/log/slog/record.go;l=20 + + // Allocation optimization: an inline array sized to hold + // the majority of log calls (based on examination of open-source + // code). It holds the start of the list of attributes. + front [attributesInlineCount]attribute.KeyValue + + // The number of attributes in front. + nFront int + + // The list of attributes except for those in front. + // Invariants: + // - len(back) > 0 if nFront == len(front) + // - Unused array elements are zeroed to detect mistakes. + back []attribute.KeyValue +} + +// EventName returns the event name. +// A log record with a non-empty event name is interpreted as an event record. +func (r *Record) EventName() string { + return r.eventName +} + +// SetEventName sets the event name. +// A log record with a non-empty event name is interpreted as an event record. +// Event names should uniquely identify the structure of the event's attributes +// and body. +func (r *Record) SetEventName(s string) { + r.eventName = s +} + +// Timestamp returns the time when the log record occurred. +func (r *Record) Timestamp() time.Time { + return r.timestamp +} + +// SetTimestamp sets the time when the log record occurred. +func (r *Record) SetTimestamp(t time.Time) { + r.timestamp = t +} + +// ObservedTimestamp returns the time when the log record was observed. +func (r *Record) ObservedTimestamp() time.Time { + return r.observedTimestamp +} + +// SetObservedTimestamp sets the time when the log record was observed. +func (r *Record) SetObservedTimestamp(t time.Time) { + r.observedTimestamp = t +} + +// Severity returns the [Severity] of the log record. +func (r *Record) Severity() Severity { + return r.severity +} + +// SetSeverity sets the [Severity] level of the log record. +func (r *Record) SetSeverity(level Severity) { + r.severity = level +} + +// SeverityText returns the text of the severity (also known as the log level) +// as originally known at the source. +func (r *Record) SeverityText() string { + return r.severityText +} + +// SetSeverityText sets the text of the severity (also known as the log level) +// as originally known at the source. +func (r *Record) SetSeverityText(text string) { + r.severityText = text +} + +// Body returns the body of the log record. +func (r *Record) Body() attribute.Value { + return r.body +} + +// SetBody sets the body of the log record. +func (r *Record) SetBody(v attribute.Value) { + r.body = v +} + +// Err returns the associated error if one has been set. +func (r *Record) Err() error { + return r.err +} + +// SetErr sets the associated error. Passing nil clears the error. +func (r *Record) SetErr(err error) { + r.err = err +} + +// WalkAttributes walks all attributes in the log record by calling f for each +// [attribute.KeyValue] in the [Record]. Iteration stops if f returns false. +func (r *Record) WalkAttributes(f func(attribute.KeyValue) bool) { + for i := 0; i < r.nFront; i++ { + if !f(r.front[i]) { + return + } + } + for _, a := range r.back { + if !f(a) { + return + } + } +} + +// AddAttributes adds attributes to the log record. +func (r *Record) AddAttributes(attrs ...attribute.KeyValue) { + var i int + for i = 0; i < len(attrs) && r.nFront < len(r.front); i++ { + a := attrs[i] + r.front[r.nFront] = a + r.nFront++ + } + + r.back = slices.Grow(r.back, len(attrs[i:])) + r.back = append(r.back, attrs[i:]...) +} + +// AttributesLen returns the number of attributes in the log record. +func (r *Record) AttributesLen() int { + return r.nFront + len(r.back) +} + +// Clone returns a copy of the record with no shared state. +// The original record and the clone can both be modified without interfering +// with each other. +func (r *Record) Clone() Record { + res := *r + res.back = slices.Clone(r.back) + return res +} diff --git a/vendor/go.opentelemetry.io/otel/log/severity.go b/vendor/go.opentelemetry.io/otel/log/severity.go new file mode 100644 index 00000000..4f305be3 --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/severity.go @@ -0,0 +1,69 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +//go:generate stringer -type=Severity -linecomment + +package log + +// Severity represents a log record's severity (also known as its log level). +// Smaller numerical values correspond to less severe log records (such as +// debug events); larger numerical values correspond to more severe log records +// (such as errors and critical events). +type Severity int + +// The following Severity values are defined by OpenTelemetry. +const ( + // SeverityUndefined represents an unset Severity. + SeverityUndefined Severity = 0 // UNDEFINED + + // The following are severity values for fine-grained debugging log records. + // They are typically disabled in default configurations. + SeverityTrace1 Severity = 1 // TRACE + SeverityTrace2 Severity = 2 // TRACE2 + SeverityTrace3 Severity = 3 // TRACE3 + SeverityTrace4 Severity = 4 // TRACE4 + + // The following are severity values for debugging log records. + SeverityDebug1 Severity = 5 // DEBUG + SeverityDebug2 Severity = 6 // DEBUG2 + SeverityDebug3 Severity = 7 // DEBUG3 + SeverityDebug4 Severity = 8 // DEBUG4 + + // The following are severity values for informational log records indicating + // that an event happened. + SeverityInfo1 Severity = 9 // INFO + SeverityInfo2 Severity = 10 // INFO2 + SeverityInfo3 Severity = 11 // INFO3 + SeverityInfo4 Severity = 12 // INFO4 + + // The following are severity values for warning log records. These records + // are not errors, but they are likely more important than informational + // events. + SeverityWarn1 Severity = 13 // WARN + SeverityWarn2 Severity = 14 // WARN2 + SeverityWarn3 Severity = 15 // WARN3 + SeverityWarn4 Severity = 16 // WARN4 + + // The following are severity values for error log records indicating that + // something went wrong. + SeverityError1 Severity = 17 // ERROR + SeverityError2 Severity = 18 // ERROR2 + SeverityError3 Severity = 19 // ERROR3 + SeverityError4 Severity = 20 // ERROR4 + + // The following are severity values for fatal log records, such as those + // associated with an application or system crash. + SeverityFatal1 Severity = 21 // FATAL + SeverityFatal2 Severity = 22 // FATAL2 + SeverityFatal3 Severity = 23 // FATAL3 + SeverityFatal4 Severity = 24 // FATAL4 + + // The following are convenience definitions for the base severity of each + // level. + SeverityTrace = SeverityTrace1 + SeverityDebug = SeverityDebug1 + SeverityInfo = SeverityInfo1 + SeverityWarn = SeverityWarn1 + SeverityError = SeverityError1 + SeverityFatal = SeverityFatal1 +) diff --git a/vendor/go.opentelemetry.io/otel/log/severity_string.go b/vendor/go.opentelemetry.io/otel/log/severity_string.go new file mode 100644 index 00000000..fb94caea --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/log/severity_string.go @@ -0,0 +1,48 @@ +// Code generated by "stringer -type=Severity -linecomment"; DO NOT EDIT. + +package log + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[SeverityUndefined-0] + _ = x[SeverityTrace1-1] + _ = x[SeverityTrace2-2] + _ = x[SeverityTrace3-3] + _ = x[SeverityTrace4-4] + _ = x[SeverityDebug1-5] + _ = x[SeverityDebug2-6] + _ = x[SeverityDebug3-7] + _ = x[SeverityDebug4-8] + _ = x[SeverityInfo1-9] + _ = x[SeverityInfo2-10] + _ = x[SeverityInfo3-11] + _ = x[SeverityInfo4-12] + _ = x[SeverityWarn1-13] + _ = x[SeverityWarn2-14] + _ = x[SeverityWarn3-15] + _ = x[SeverityWarn4-16] + _ = x[SeverityError1-17] + _ = x[SeverityError2-18] + _ = x[SeverityError3-19] + _ = x[SeverityError4-20] + _ = x[SeverityFatal1-21] + _ = x[SeverityFatal2-22] + _ = x[SeverityFatal3-23] + _ = x[SeverityFatal4-24] +} + +const _Severity_name = "UNDEFINEDTRACETRACE2TRACE3TRACE4DEBUGDEBUG2DEBUG3DEBUG4INFOINFO2INFO3INFO4WARNWARN2WARN3WARN4ERRORERROR2ERROR3ERROR4FATALFATAL2FATAL3FATAL4" + +var _Severity_index = [...]uint8{0, 9, 14, 20, 26, 32, 37, 43, 49, 55, 59, 64, 69, 74, 78, 83, 88, 93, 98, 104, 110, 116, 121, 127, 133, 139} + +func (i Severity) String() string { + idx := int(i) - 0 + if i < 0 || idx >= len(_Severity_index)-1 { + return "Severity(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _Severity_name[_Severity_index[idx]:_Severity_index[idx+1]] +} diff --git a/vendor/go.opentelemetry.io/otel/metric/meter.go b/vendor/go.opentelemetry.io/otel/metric/meter.go index 70ff4c73..97124157 100644 --- a/vendor/go.opentelemetry.io/otel/metric/meter.go +++ b/vendor/go.opentelemetry.io/otel/metric/meter.go @@ -320,7 +320,7 @@ type Observer interface { ObserveInt64(obsrv Int64Observable, value int64, opts ...ObserveOption) } -// Registration is an token representing the unique registration of a callback +// Registration is a token representing the unique registration of a callback // for a set of instruments with a Meter. // // Warning: Methods may be added to this interface in minor releases. See diff --git a/vendor/go.opentelemetry.io/otel/propagation/internal/hextable/hextable.go b/vendor/go.opentelemetry.io/otel/propagation/internal/hextable/hextable.go new file mode 100644 index 00000000..3d63244c --- /dev/null +++ b/vendor/go.opentelemetry.io/otel/propagation/internal/hextable/hextable.go @@ -0,0 +1,32 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package hextable provides a lookup table for decoding lowercase +// hexadecimal. +package hextable + +// Rev is a reverse hex lookup table for lowercase hex digits. Valid +// hexadecimal characters are indexed at their respective values. All other +// characters, including the upper-case A-F disallowed by the W3C trace +// context specification, are represented with '\xff'. +// +// The '\xff' character is used as invalid because no valid character has the +// upper 4 bits set. Meaning, an efficient validation can be performed over +// multiple character parsing by checking these bits remain zero. +const Rev = "" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" diff --git a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go index ffaa9030..1eb36b88 100644 --- a/vendor/go.opentelemetry.io/otel/propagation/trace_context.go +++ b/vendor/go.opentelemetry.io/otel/propagation/trace_context.go @@ -9,6 +9,7 @@ import ( "fmt" "strings" + "go.opentelemetry.io/otel/propagation/internal/hextable" "go.opentelemetry.io/otel/trace" ) @@ -126,27 +127,23 @@ func (TraceContext) extract(carrier TextMapCarrier) trace.SpanContext { return sc } -// upperHex detect hex is upper case Unicode characters. -func upperHex(v string) bool { - for _, c := range v { - if c >= 'A' && c <= 'F' { - return true - } - } - return false -} - func extractPart(dst []byte, h *string, n int) bool { part, left, _ := strings.Cut(*h, delimiter) *h = left - // hex.Decode decodes unsupported upper-case characters, so exclude explicitly. - if len(part) != n || upperHex(part) { + if len(part) != n { return false } - if p, err := hex.Decode(dst, []byte(part)); err != nil || p != n/2 { - return false + // hextable.Rev maps every invalid character to 0xff, including the + // upper-case A-F the specification disallows. OR-ing every looked-up value + // together lets a single check detect any invalid character, because no + // valid value has the upper 4 bits set. + invalidMark := byte(0) + for i := 0; i < n; i += 2 { + hi, lo := hextable.Rev[part[i]], hextable.Rev[part[i+1]] + dst[i/2] = (hi << 4) | lo + invalidMark |= hi | lo } - return true + return invalidMark&0xf0 == 0 } // Fields returns the keys who's values are set with Inject. diff --git a/vendor/go.opentelemetry.io/otel/trace/auto.go b/vendor/go.opentelemetry.io/otel/trace/auto.go index 17cf898c..be4a9644 100644 --- a/vendor/go.opentelemetry.io/otel/trace/auto.go +++ b/vendor/go.opentelemetry.io/otel/trace/auto.go @@ -372,7 +372,7 @@ func convAttrValue(value attribute.Value) telemetry.Value { return telemetry.Value{} } -// truncate returns a truncated version of s such that it contains less than +// truncate returns a truncated version of s such that it contains at most // the limit number of characters. Truncation is applied by returning the limit // number of valid characters contained in s. // @@ -381,7 +381,7 @@ func convAttrValue(value attribute.Value) telemetry.Value { // UTF-8 is supported. When truncating, all invalid characters are dropped // before applying truncation. // -// If s already contains less than the limit number of bytes, it is returned +// If s already contains at most the limit number of bytes, it is returned // unchanged. No invalid characters are removed. func truncate(limit int, s string) string { // This prioritize performance in the following order based on the most @@ -407,6 +407,10 @@ func truncate(limit int, s string) string { continue } + // A zero limit also truncates a leading invalid byte or U+FFFD. + if limit == 0 { + return "" + } _, size := utf8.DecodeRuneInString(s[i:]) if size == 1 { // Invalid encoding. @@ -415,6 +419,12 @@ func truncate(limit int, s string) string { s = s[i:] break } + + // A valid U+FFFD still consumes one character of the limit. + count++ + if count > limit { + return s[:i] + } } // Fast-path, no invalid input. diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go index 29e629d6..5bb3b16c 100644 --- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go +++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/number.go @@ -41,7 +41,7 @@ func (i *protoInt64) UnmarshalJSON(data []byte) error { // strings or integers. type protoUint64 uint64 -// Int64 returns the protoUint64 as a uint64. +// Uint64 returns the protoUint64 as a uint64. func (i *protoUint64) Uint64() uint64 { return uint64(*i) } // UnmarshalJSON decodes both strings and integers. diff --git a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go index 9d2d6806..b7b0e8b5 100644 --- a/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go +++ b/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go @@ -327,7 +327,7 @@ func (v Value) String() string { // Try to handle this as gracefully as possible. // // Don't panic here. The goal here is to have developers find this - // first if a slog.Kind is is not handled. It is + // first if a slog.Kind is not handled. It is // preferable to have user's open issue asking why their attributes // have a "unhandled: " prefix than say that their code is panicking. return fmt.Sprintf("", v.Kind()) diff --git a/vendor/go.opentelemetry.io/otel/trace/trace.go b/vendor/go.opentelemetry.io/otel/trace/trace.go index c4c38381..66b967e7 100644 --- a/vendor/go.opentelemetry.io/otel/trace/trace.go +++ b/vendor/go.opentelemetry.io/otel/trace/trace.go @@ -134,13 +134,49 @@ func TraceIDFromHex(h string) (TraceID, error) { if len(h) != 32 { return [16]byte{}, errInvalidTraceIDLength } - var b [16]byte - invalidMark := byte(0) - for i := 0; i < len(h); i += 4 { - b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]] - b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]] - invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]] + // Decoding every character at a constant index allows the compiler to + // eliminate the bounds checks a loop over h would retain. + n0, n1 := hexRev[h[0]], hexRev[h[1]] + n2, n3 := hexRev[h[2]], hexRev[h[3]] + n4, n5 := hexRev[h[4]], hexRev[h[5]] + n6, n7 := hexRev[h[6]], hexRev[h[7]] + n8, n9 := hexRev[h[8]], hexRev[h[9]] + n10, n11 := hexRev[h[10]], hexRev[h[11]] + n12, n13 := hexRev[h[12]], hexRev[h[13]] + n14, n15 := hexRev[h[14]], hexRev[h[15]] + n16, n17 := hexRev[h[16]], hexRev[h[17]] + n18, n19 := hexRev[h[18]], hexRev[h[19]] + n20, n21 := hexRev[h[20]], hexRev[h[21]] + n22, n23 := hexRev[h[22]], hexRev[h[23]] + n24, n25 := hexRev[h[24]], hexRev[h[25]] + n26, n27 := hexRev[h[26]], hexRev[h[27]] + n28, n29 := hexRev[h[28]], hexRev[h[29]] + n30, n31 := hexRev[h[30]], hexRev[h[31]] + + b := [16]byte{ + (n0 << 4) | n1, + (n2 << 4) | n3, + (n4 << 4) | n5, + (n6 << 4) | n7, + (n8 << 4) | n9, + (n10 << 4) | n11, + (n12 << 4) | n13, + (n14 << 4) | n15, + (n16 << 4) | n17, + (n18 << 4) | n19, + (n20 << 4) | n21, + (n22 << 4) | n23, + (n24 << 4) | n25, + (n26 << 4) | n27, + (n28 << 4) | n29, + (n30 << 4) | n31, } + + invalidMark := n0 | n1 | n2 | n3 | n4 | n5 | n6 | n7 | + n8 | n9 | n10 | n11 | n12 | n13 | n14 | n15 | + n16 | n17 | n18 | n19 | n20 | n21 | n22 | n23 | + n24 | n25 | n26 | n27 | n28 | n29 | n30 | n31 + // If the upper 4 bits of any byte are not zero, there was an invalid hex // character since invalid hex characters are 0xff in hexRev. if invalidMark&0xf0 != 0 { @@ -160,13 +196,31 @@ func SpanIDFromHex(h string) (SpanID, error) { if len(h) != 16 { return [8]byte{}, errInvalidSpanIDLength } - var b [8]byte - invalidMark := byte(0) - for i := 0; i < len(h); i += 4 { - b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]] - b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]] - invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]] + // Decoding every character at a constant index allows the compiler to + // eliminate the bounds checks a loop over h would retain. + n0, n1 := hexRev[h[0]], hexRev[h[1]] + n2, n3 := hexRev[h[2]], hexRev[h[3]] + n4, n5 := hexRev[h[4]], hexRev[h[5]] + n6, n7 := hexRev[h[6]], hexRev[h[7]] + n8, n9 := hexRev[h[8]], hexRev[h[9]] + n10, n11 := hexRev[h[10]], hexRev[h[11]] + n12, n13 := hexRev[h[12]], hexRev[h[13]] + n14, n15 := hexRev[h[14]], hexRev[h[15]] + + b := [8]byte{ + (n0 << 4) | n1, + (n2 << 4) | n3, + (n4 << 4) | n5, + (n6 << 4) | n7, + (n8 << 4) | n9, + (n10 << 4) | n11, + (n12 << 4) | n13, + (n14 << 4) | n15, } + + invalidMark := n0 | n1 | n2 | n3 | n4 | n5 | n6 | n7 | + n8 | n9 | n10 | n11 | n12 | n13 | n14 | n15 + // If the upper 4 bits of any byte are not zero, there was an invalid hex // character since invalid hex characters are 0xff in hexRev. if invalidMark&0xf0 != 0 { diff --git a/vendor/go.opentelemetry.io/otel/trace/tracestate.go b/vendor/go.opentelemetry.io/otel/trace/tracestate.go index 9ac78fa0..062ceb2a 100644 --- a/vendor/go.opentelemetry.io/otel/trace/tracestate.go +++ b/vendor/go.opentelemetry.io/otel/trace/tracestate.go @@ -283,7 +283,7 @@ func (ts TraceState) Walk(f func(key, value string) bool) { // specification an error is returned with the original TraceState. // // If adding a new list-member means the TraceState would have more members -// then is allowed, the new list-member will be inserted and the right-most +// than is allowed, the new list-member will be inserted and the right-most // list-member will be dropped in the returned TraceState. func (ts TraceState) Insert(key, value string) (TraceState, error) { m, err := newMember(key, value) diff --git a/vendor/go.opentelemetry.io/otel/version.go b/vendor/go.opentelemetry.io/otel/version.go index f599bf28..29ff1801 100644 --- a/vendor/go.opentelemetry.io/otel/version.go +++ b/vendor/go.opentelemetry.io/otel/version.go @@ -5,5 +5,5 @@ package otel // Version is the current release version of OpenTelemetry in use. func Version() string { - return "1.46.0" + return "1.47.0" } diff --git a/vendor/go.opentelemetry.io/otel/versions.yaml b/vendor/go.opentelemetry.io/otel/versions.yaml index f329d171..a0cb35f4 100644 --- a/vendor/go.opentelemetry.io/otel/versions.yaml +++ b/vendor/go.opentelemetry.io/otel/versions.yaml @@ -3,7 +3,7 @@ module-sets: stable-v1: - version: v1.46.0 + version: v1.47.0 modules: - go.opentelemetry.io/otel - go.opentelemetry.io/otel/bridge/opencensus @@ -17,25 +17,29 @@ module-sets: - go.opentelemetry.io/otel/exporters/stdout/stdoutmetric - go.opentelemetry.io/otel/exporters/stdout/stdouttrace - go.opentelemetry.io/otel/exporters/zipkin + - go.opentelemetry.io/otel/log - go.opentelemetry.io/otel/metric - go.opentelemetry.io/otel/sdk + - go.opentelemetry.io/otel/sdk/log - go.opentelemetry.io/otel/sdk/metric - go.opentelemetry.io/otel/trace experimental-metrics: - version: v0.68.0 + version: v0.69.0 modules: - go.opentelemetry.io/otel/exporters/prometheus - go.opentelemetry.io/otel/metric/x experimental-logs: - version: v0.22.0 + version: v0.23.0 modules: - - go.opentelemetry.io/otel/log - go.opentelemetry.io/otel/log/logtest - - go.opentelemetry.io/otel/sdk/log - go.opentelemetry.io/otel/sdk/log/logtest - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp - go.opentelemetry.io/otel/exporters/stdout/stdoutlog + experimental-traces: + version: v0.1.0 + modules: + - go.opentelemetry.io/otel/sdk/trace/x experimental-schema: version: v0.0.19 modules: diff --git a/vendor/modules.txt b/vendor/modules.txt index 761988cc..b1579ad9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -75,8 +75,8 @@ github.com/Antonboom/testifylint/internal/testify ## explicit github.com/Azure/azure-sdk-for-go/services/preview/containerregistry/runtime/2019-08-15-preview/containerregistry github.com/Azure/azure-sdk-for-go/version -# github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c -## explicit; go 1.16 +# github.com/Azure/go-ansiterm v0.0.0-20261006220739-8c912ac31dd4 +## explicit; go 1.17 github.com/Azure/go-ansiterm github.com/Azure/go-ansiterm/winterm # github.com/Azure/go-autorest v14.2.0+incompatible @@ -119,8 +119,8 @@ github.com/Djarvur/go-err113 # github.com/Masterminds/semver/v3 v3.5.0 ## explicit; go 1.21 github.com/Masterminds/semver/v3 -# github.com/Microsoft/go-winio v0.6.3-0.20251027160822-ad3df93bed29 -## explicit; go 1.23.0 +# github.com/Microsoft/go-winio v0.6.3 +## explicit; go 1.26.0 github.com/Microsoft/go-winio github.com/Microsoft/go-winio/internal/fs github.com/Microsoft/go-winio/internal/socket @@ -177,7 +177,7 @@ github.com/ashanbrown/forbidigo/v2/forbidigo # github.com/ashanbrown/makezero/v2 v2.2.1 ## explicit; go 1.24.0 github.com/ashanbrown/makezero/v2/makezero -# github.com/aws/aws-sdk-go-v2 v1.47.0 +# github.com/aws/aws-sdk-go-v2 v1.47.3 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/aws github.com/aws/aws-sdk-go-v2/aws/defaults @@ -195,7 +195,6 @@ github.com/aws/aws-sdk-go-v2/internal/auth/smithy github.com/aws/aws-sdk-go-v2/internal/context github.com/aws/aws-sdk-go-v2/internal/endpoints github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn -github.com/aws/aws-sdk-go-v2/internal/middleware github.com/aws/aws-sdk-go-v2/internal/rand github.com/aws/aws-sdk-go-v2/internal/sdk github.com/aws/aws-sdk-go-v2/internal/sdkio @@ -204,11 +203,11 @@ github.com/aws/aws-sdk-go-v2/internal/strings github.com/aws/aws-sdk-go-v2/internal/sync/singleflight github.com/aws/aws-sdk-go-v2/internal/timeconv github.com/aws/aws-sdk-go-v2/internal/timeouts -# github.com/aws/aws-sdk-go-v2/config v1.33.5 +# github.com/aws/aws-sdk-go-v2/config v1.33.9 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/config github.com/aws/aws-sdk-go-v2/config/internal/ini -# github.com/aws/aws-sdk-go-v2/credentials v1.20.5 +# github.com/aws/aws-sdk-go-v2/credentials v1.20.9 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/credentials github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds @@ -218,64 +217,68 @@ github.com/aws/aws-sdk-go-v2/credentials/logincreds github.com/aws/aws-sdk-go-v2/credentials/processcreds github.com/aws/aws-sdk-go-v2/credentials/ssocreds github.com/aws/aws-sdk-go-v2/credentials/stscreds -# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.0 +# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.20.3 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/feature/ec2/imds github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config -# github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.3 +# github.com/aws/aws-sdk-go-v2/internal/configsources v1.5.6 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/internal/configsources -# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.3 +# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.8.6 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 -# github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.3 +# github.com/aws/aws-sdk-go-v2/internal/v4a v1.5.6 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/internal/v4a github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4 -# github.com/aws/aws-sdk-go-v2/service/ecr v1.55.3 -## explicit; go 1.23 +# github.com/aws/aws-sdk-go-v2/service/ecr v1.66.3 +## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/ecr github.com/aws/aws-sdk-go-v2/service/ecr/internal/endpoints +github.com/aws/aws-sdk-go-v2/service/ecr/schemas github.com/aws/aws-sdk-go-v2/service/ecr/types -# github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.10 -## explicit; go 1.23 +# github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.47.3 +## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/ecrpublic github.com/aws/aws-sdk-go-v2/service/ecrpublic/internal/endpoints +github.com/aws/aws-sdk-go-v2/service/ecrpublic/schemas github.com/aws/aws-sdk-go-v2/service/ecrpublic/types -# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.19 +# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.21 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding -# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.3 +# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.14.6 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url -# github.com/aws/aws-sdk-go-v2/service/signin v1.10.0 +# github.com/aws/aws-sdk-go-v2/service/signin v1.10.4 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/signin github.com/aws/aws-sdk-go-v2/service/signin/internal/endpoints github.com/aws/aws-sdk-go-v2/service/signin/types -# github.com/aws/aws-sdk-go-v2/service/sso v1.38.0 +# github.com/aws/aws-sdk-go-v2/service/sso v1.38.4 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/sso github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints github.com/aws/aws-sdk-go-v2/service/sso/types -# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.0 +# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.43.4 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/ssooidc github.com/aws/aws-sdk-go-v2/service/ssooidc/internal/endpoints github.com/aws/aws-sdk-go-v2/service/ssooidc/types -# github.com/aws/aws-sdk-go-v2/service/sts v1.51.0 +# github.com/aws/aws-sdk-go-v2/service/sts v1.51.4 ## explicit; go 1.24 github.com/aws/aws-sdk-go-v2/service/sts github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints github.com/aws/aws-sdk-go-v2/service/sts/types -# github.com/aws/smithy-go v1.28.1 +# github.com/aws/smithy-go v1.28.5 ## explicit; go 1.24 github.com/aws/smithy-go github.com/aws/smithy-go/auth github.com/aws/smithy-go/auth/bearer github.com/aws/smithy-go/context github.com/aws/smithy-go/document +github.com/aws/smithy-go/document/internal/serde +github.com/aws/smithy-go/document/json github.com/aws/smithy-go/encoding github.com/aws/smithy-go/encoding/httpbinding github.com/aws/smithy-go/encoding/json @@ -284,11 +287,16 @@ github.com/aws/smithy-go/endpoints github.com/aws/smithy-go/endpoints/private/bdd github.com/aws/smithy-go/endpoints/private/rulesfn github.com/aws/smithy-go/eventstream +github.com/aws/smithy-go/internal/errors +github.com/aws/smithy-go/internal/eventstream +github.com/aws/smithy-go/internal/serde +github.com/aws/smithy-go/internal/sync github.com/aws/smithy-go/internal/sync/singleflight github.com/aws/smithy-go/io github.com/aws/smithy-go/logging github.com/aws/smithy-go/metrics github.com/aws/smithy-go/middleware +github.com/aws/smithy-go/prelude github.com/aws/smithy-go/private/requestcompression github.com/aws/smithy-go/ptr github.com/aws/smithy-go/rand @@ -298,6 +306,9 @@ github.com/aws/smithy-go/tracing github.com/aws/smithy-go/traits github.com/aws/smithy-go/transport/http github.com/aws/smithy-go/transport/http/internal/io +github.com/aws/smithy-go/transport/http/protocol/awsjson +github.com/aws/smithy-go/transport/http/protocol/internal/json +github.com/aws/smithy-go/transport/http/protocol/internal/json/internal/stdlib github.com/aws/smithy-go/waiter # github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.12.0 ## explicit; go 1.24 @@ -327,7 +338,7 @@ github.com/breml/bidichk/pkg/bidichk # github.com/breml/errchkjson v0.4.1 ## explicit; go 1.23.0 github.com/breml/errchkjson -# github.com/buildpacks/imgutil v0.0.0-20260821195038-6047007ed8ea +# github.com/buildpacks/imgutil v0.0.0-20261021214501-195bdfd62620 ## explicit; go 1.24.0 github.com/buildpacks/imgutil github.com/buildpacks/imgutil/layer @@ -335,8 +346,8 @@ github.com/buildpacks/imgutil/layout github.com/buildpacks/imgutil/layout/sparse github.com/buildpacks/imgutil/local github.com/buildpacks/imgutil/remote -# github.com/buildpacks/lifecycle v0.21.23 -## explicit; go 1.26.8 +# github.com/buildpacks/lifecycle v0.21.26 +## explicit; go 1.26.10 github.com/buildpacks/lifecycle/api github.com/buildpacks/lifecycle/archive github.com/buildpacks/lifecycle/auth @@ -455,8 +466,8 @@ github.com/containerd/errdefs ## explicit; go 1.22 github.com/containerd/errdefs/pkg/errhttp github.com/containerd/errdefs/pkg/internal/cause -# github.com/containerd/log v0.1.0 -## explicit; go 1.20 +# github.com/containerd/log v0.2.0 +## explicit; go 1.23 github.com/containerd/log # github.com/containerd/platforms v1.0.0-rc.5 ## explicit; go 1.24 @@ -504,18 +515,18 @@ github.com/distribution/reference github.com/dlclark/regexp2/v2 github.com/dlclark/regexp2/v2/helpers github.com/dlclark/regexp2/v2/syntax -# github.com/docker/cli v29.8.1+incompatible +# github.com/docker/cli v29.9.0+incompatible ## explicit github.com/docker/cli/cli/config github.com/docker/cli/cli/config/configfile github.com/docker/cli/cli/config/credentials github.com/docker/cli/cli/config/memorystore github.com/docker/cli/cli/config/types -# github.com/docker/docker-credential-helpers v0.9.9 +# github.com/docker/docker-credential-helpers v0.9.10 ## explicit; go 1.21 github.com/docker/docker-credential-helpers/client github.com/docker/docker-credential-helpers/credentials -# github.com/docker/go-connections v0.8.1 +# github.com/docker/go-connections v0.8.2 ## explicit; go 1.23 github.com/docker/go-connections/sockets github.com/docker/go-connections/tlsconfig @@ -544,8 +555,8 @@ github.com/felixge/httpsnoop # github.com/firefart/nonamedreturns v1.0.8 ## explicit; go 1.25.0 github.com/firefart/nonamedreturns/analyzer -# github.com/fsnotify/fsnotify v1.9.0 -## explicit; go 1.17 +# github.com/fsnotify/fsnotify v1.10.1 +## explicit; go 1.23 github.com/fsnotify/fsnotify github.com/fsnotify/fsnotify/internal # github.com/fzipp/gocyclo v0.6.0 @@ -631,8 +642,8 @@ github.com/godoc-lint/godoc-lint/pkg/config github.com/godoc-lint/godoc-lint/pkg/inspect github.com/godoc-lint/godoc-lint/pkg/model github.com/godoc-lint/godoc-lint/pkg/util -# github.com/gofrs/flock v0.13.0 -## explicit; go 1.24.0 +# github.com/gofrs/flock v0.13.1 +## explicit; go 1.25.0 github.com/gofrs/flock # github.com/golang-jwt/jwt/v4 v4.5.2 ## explicit; go 1.16 @@ -969,8 +980,8 @@ github.com/kisielk/errcheck/errcheck # github.com/kkHAIKE/contextcheck v1.1.6 ## explicit; go 1.23.0 github.com/kkHAIKE/contextcheck -# github.com/klauspost/compress v1.19.2 -## explicit; go 1.24 +# github.com/klauspost/compress v1.20.1 +## explicit; go 1.25 github.com/klauspost/compress github.com/klauspost/compress/fse github.com/klauspost/compress/huff0 @@ -1071,7 +1082,7 @@ github.com/mitchellh/ioprogress # github.com/mitchellh/mapstructure v1.5.0 ## explicit; go 1.14 github.com/mitchellh/mapstructure -# github.com/moby/buildkit v0.33.1 +# github.com/moby/buildkit v0.34.1 ## explicit; go 1.26.8 github.com/moby/buildkit/frontend/dockerfile/command github.com/moby/buildkit/frontend/dockerfile/instructions @@ -1110,7 +1121,7 @@ github.com/moby/moby/api/types/storage github.com/moby/moby/api/types/swarm github.com/moby/moby/api/types/system github.com/moby/moby/api/types/volume -# github.com/moby/moby/client v0.6.1 +# github.com/moby/moby/client v0.6.2 ## explicit; go 1.24 github.com/moby/moby/client github.com/moby/moby/client/internal @@ -1128,7 +1139,7 @@ github.com/moby/sys/sequential # github.com/moby/sys/user v0.4.1 ## explicit; go 1.18 github.com/moby/sys/user -# github.com/moby/sys/userns v0.2.0 +# github.com/moby/sys/userns v0.2.1 ## explicit; go 1.21 github.com/moby/sys/userns # github.com/moby/term v0.5.2 @@ -1241,10 +1252,10 @@ github.com/prometheus/client_golang/prometheus github.com/prometheus/client_golang/prometheus/internal github.com/prometheus/client_golang/prometheus/testutil/promlint github.com/prometheus/client_golang/prometheus/testutil/promlint/validations -# github.com/prometheus/client_model v0.6.2 -## explicit; go 1.22.0 +# github.com/prometheus/client_model v0.6.3 +## explicit; go 1.23 github.com/prometheus/client_model/go -# github.com/prometheus/common v0.70.1 +# github.com/prometheus/common v0.71.0 ## explicit; go 1.25.0 github.com/prometheus/common/expfmt github.com/prometheus/common/model @@ -1348,6 +1359,7 @@ github.com/shirou/gopsutil/v4/process # github.com/sirupsen/logrus v1.10.2 ## explicit; go 1.23 github.com/sirupsen/logrus +github.com/sirupsen/logrus/hooks/slog # github.com/sivchari/containedctx v1.0.3 ## explicit; go 1.17 github.com/sivchari/containedctx @@ -1507,13 +1519,13 @@ go.augendre.info/fatcontext/pkg/analyzer ## explicit; go 1.24.0 go.opentelemetry.io/auto/sdk go.opentelemetry.io/auto/sdk/internal/telemetry -# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 -## explicit; go 1.25.0 +# go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.72.0 +## explicit; go 1.26.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv -# go.opentelemetry.io/otel v1.46.0 -## explicit; go 1.25.0 +# go.opentelemetry.io/otel v1.47.0 +## explicit; go 1.26.0 go.opentelemetry.io/otel go.opentelemetry.io/otel/attribute go.opentelemetry.io/otel/attribute/internal @@ -1524,17 +1536,22 @@ go.opentelemetry.io/otel/internal/baggage go.opentelemetry.io/otel/internal/errorhandler go.opentelemetry.io/otel/internal/global go.opentelemetry.io/otel/propagation +go.opentelemetry.io/otel/propagation/internal/hextable go.opentelemetry.io/otel/semconv/internal/metricpool go.opentelemetry.io/otel/semconv/v1.37.0 go.opentelemetry.io/otel/semconv/v1.43.0 go.opentelemetry.io/otel/semconv/v1.43.0/httpconv -# go.opentelemetry.io/otel/metric v1.46.0 -## explicit; go 1.25.0 +# go.opentelemetry.io/otel/log v1.47.0 +## explicit; go 1.26.0 +go.opentelemetry.io/otel/log +go.opentelemetry.io/otel/log/embedded +# go.opentelemetry.io/otel/metric v1.47.0 +## explicit; go 1.26.0 go.opentelemetry.io/otel/metric go.opentelemetry.io/otel/metric/embedded go.opentelemetry.io/otel/metric/noop -# go.opentelemetry.io/otel/trace v1.46.0 -## explicit; go 1.25.0 +# go.opentelemetry.io/otel/trace v1.47.0 +## explicit; go 1.26.0 go.opentelemetry.io/otel/trace go.opentelemetry.io/otel/trace/embedded go.opentelemetry.io/otel/trace/internal/telemetry @@ -1569,8 +1586,8 @@ golang.org/x/crypto/pkcs12 golang.org/x/crypto/pkcs12/internal/rc2 golang.org/x/crypto/ssh golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -# golang.org/x/exp v0.0.0-20260603202125-055de637280b -## explicit; go 1.25.0 +# golang.org/x/exp v0.0.0-20260908205506-85c1c2202aba +## explicit; go 1.26.0 golang.org/x/exp/slices golang.org/x/exp/slog golang.org/x/exp/slog/internal