@kensio/yulin 0.32.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
- package/dist/serve/http/local-server/sim-aws-local-server.js +4 -2
- package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
- package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-http.js +2 -1
- package/dist/serve/http/sim-aws-http.js.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.js +2 -2
- package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
- package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.d.ts.map +1 -1
- package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.js +2 -2
- package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.js.map +1 -1
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.d.ts +31 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js +41 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js.map +1 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.d.ts +13 -1
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.d.ts.map +1 -1
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.js +12 -2
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.js.map +1 -1
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.d.ts +31 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js +41 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.d.ts +82 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.d.ts.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.js +128 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.js.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates.handler.d.ts +21 -7
- package/dist/service/acm/command/list-certificates/list-certificates.handler.d.ts.map +1 -1
- package/dist/service/acm/command/list-certificates/list-certificates.handler.js +22 -50
- package/dist/service/acm/command/list-certificates/list-certificates.handler.js.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.d.ts +28 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js +38 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.d.ts +25 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.d.ts.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.js +32 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.js.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts +15 -2
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js +19 -10
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
- package/dist/service/acm/sim-acm.d.ts +10 -3
- package/dist/service/acm/sim-acm.d.ts.map +1 -1
- package/dist/service/acm/sim-acm.js +13 -7
- package/dist/service/acm/sim-acm.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-account-root-principal.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-account-root-principal.js +1 -3
- package/dist/service/aws/caller/sim-aws-account-root-principal.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +40 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +62 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -0
- package/dist/service/aws/caller/sim-aws-caller.d.ts +23 -25
- package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller.js +1 -6
- package/dist/service/aws/caller/sim-aws-caller.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +10 -5
- package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -4
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +20 -4
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +7 -2
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +8 -2
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +6 -1
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +7 -1
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +1 -1
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +1 -1
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +5 -0
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +6 -0
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +9 -6
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +4 -1
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.d.ts.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +5 -2
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cff-cfn.factory.js +3 -3
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cff-cfn.factory.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +3 -2
- package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
- package/dist/service/cloudformation/sim-cloudformation.d.ts +2 -2
- package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
- package/dist/service/cloudformation/sim-cloudformation.js +12 -12
- package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js +3 -2
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +5 -5
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +8 -7
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.js +3 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-variable-resolver.js +4 -2
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-variable-resolver.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js +2 -2
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.js +2 -1
- package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.js.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.js +4 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.js.map +1 -1
- package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.d.ts.map +1 -1
- package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.js +2 -1
- package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.js.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js +2 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +2 -2
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js +1 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js +3 -2
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +3 -2
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js.map +1 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +3 -2
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.d.ts +27 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js +37 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +8 -8
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +8 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +10 -2
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.d.ts +26 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.js +35 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.js.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts +2 -2
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +8 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +12 -3
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.d.ts +27 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.d.ts.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js +36 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts +2 -2
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +10 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +10 -2
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +2 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js +19 -16
- package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +2 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +3 -3
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +3 -2
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +6 -3
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -1
- package/dist/service/cloudfront/router/alternate-domain/sim-cf-alternate-domain-router.js +3 -1
- package/dist/service/cloudfront/router/alternate-domain/sim-cf-alternate-domain-router.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts +10 -3
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +14 -7
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js +10 -7
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts +3 -6
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.js +12 -12
- package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.d.ts +38 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js +41 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.d.ts +54 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.js +52 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.js.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.d.ts +51 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.js +74 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.js.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +9 -27
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +12 -39
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +30 -10
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +30 -9
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +11 -4
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts +2 -2
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +12 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.d.ts +34 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.js +52 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.d.ts +14 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +46 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.js +2 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +27 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +52 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +13 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +21 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +10 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +13 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +13 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +21 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +10 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +13 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +10 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +13 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +16 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +20 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.js +17 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.js.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +59 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +119 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +14 -31
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +25 -80
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +5 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.d.ts +19 -0
- package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.js +27 -0
- package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +53 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts.map +1 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js +38 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js.map +1 -0
- package/dist/service/iam/authorize/sim-iam-wildcard.d.ts +1 -1
- package/dist/service/iam/authorize/sim-iam-wildcard.js +7 -5
- package/dist/service/iam/authorize/sim-iam-wildcard.js.map +1 -1
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.d.ts +2 -2
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.d.ts.map +1 -1
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.js +10 -10
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.js.map +1 -1
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.d.ts.map +1 -1
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +2 -2
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js.map +1 -1
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.d.ts +12 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.d.ts.map +1 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.js +2 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.js.map +1 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.d.ts +28 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.d.ts.map +1 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +43 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js.map +1 -0
- package/dist/service/iam/command/role/create-role/create-role.handler.d.ts +2 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.js +6 -3
- package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
- package/dist/service/iam/command/role/get-role/get-role.cmd.d.ts +2 -1
- package/dist/service/iam/command/role/get-role/get-role.cmd.d.ts.map +1 -1
- package/dist/service/iam/command/role/list-roles/list-roles.handler.d.ts +2 -2
- package/dist/service/iam/command/role/list-roles/list-roles.handler.d.ts.map +1 -1
- package/dist/service/iam/command/role/list-roles/list-roles.handler.js +11 -11
- package/dist/service/iam/command/role/list-roles/list-roles.handler.js.map +1 -1
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.d.ts +17 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.js +2 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.js.map +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts +28 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +59 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +25 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js +39 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.d.ts +18 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.js +2 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.d.ts +26 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.js +47 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.d.ts +36 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.d.ts.map +1 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.js +66 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.d.ts +35 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.js +46 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.d.ts +21 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.js +17 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts +44 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.js +62 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session.d.ts +33 -0
- package/dist/service/iam/credential/session/sim-iam-session.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session.js +40 -0
- package/dist/service/iam/credential/session/sim-iam-session.js.map +1 -0
- package/dist/service/iam/credential/sim-aws-credentials.d.ts +21 -0
- package/dist/service/iam/credential/sim-aws-credentials.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-aws-credentials.js +2 -0
- package/dist/service/iam/credential/sim-aws-credentials.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key.d.ts +44 -0
- package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key.js +57 -0
- package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +21 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.js +75 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.d.ts +20 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.d.ts.map +1 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.js +16 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.js.map +1 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.d.ts +25 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.d.ts.map +1 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.js +32 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.js.map +1 -0
- package/dist/service/iam/error/sim-iam.error.d.ts +26 -0
- package/dist/service/iam/error/sim-iam.error.d.ts.map +1 -1
- package/dist/service/iam/error/sim-iam.error.js +25 -0
- package/dist/service/iam/error/sim-iam.error.js.map +1 -1
- package/dist/service/iam/policy/sim-iam-policy.d.ts +4 -2
- package/dist/service/iam/policy/sim-iam-policy.d.ts.map +1 -1
- package/dist/service/iam/registry/sim-iam-account-resolver.d.ts +16 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.js +2 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.js.map +1 -0
- package/dist/service/iam/registry/sim-iam-registry.d.ts +19 -73
- package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
- package/dist/service/iam/registry/sim-iam-registry.js +25 -85
- package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.d.ts +16 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.d.ts.map +1 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.js +41 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.js.map +1 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.d.ts +14 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.d.ts.map +1 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.js +9 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.js.map +1 -0
- package/dist/service/iam/role/sim-iam-role.factory.js +1 -1
- package/dist/service/iam/role/sim-iam-role.factory.js.map +1 -1
- package/dist/service/iam/sim-iam.d.ts +38 -5
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +69 -14
- package/dist/service/iam/sim-iam.js.map +1 -1
- package/dist/service/iam/user/arn/sim-iam-user-arn.d.ts +14 -0
- package/dist/service/iam/user/arn/sim-iam-user-arn.d.ts.map +1 -0
- package/dist/service/iam/user/arn/sim-iam-user-arn.js +8 -0
- package/dist/service/iam/user/arn/sim-iam-user-arn.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user-id.d.ts +6 -0
- package/dist/service/iam/user/sim-iam-user-id.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user-id.js +10 -0
- package/dist/service/iam/user/sim-iam-user-id.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user-path.d.ts +5 -0
- package/dist/service/iam/user/sim-iam-user-path.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user-path.js +13 -0
- package/dist/service/iam/user/sim-iam-user-path.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user.d.ts +31 -0
- package/dist/service/iam/user/sim-iam-user.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user.js +2 -0
- package/dist/service/iam/user/sim-iam-user.js.map +1 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.d.ts +22 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.d.ts.map +1 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.js +85 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.js.map +1 -0
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +2 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
- package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.js +3 -2
- package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.js.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +3 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +3 -1
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
- package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name.js +1 -1
- package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +6 -6
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.d.ts.map +1 -1
- package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.js +5 -4
- package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +15 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.d.ts.map +1 -1
- package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js +6 -3
- package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js.map +1 -1
- package/dist/service/s3/bucket/website/sim-s3-bucket-website.js +1 -1
- package/dist/service/s3/bucket/website/sim-s3-bucket-website.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +8 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +23 -5
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +24 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.js +44 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.js.map +1 -0
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +26 -0
- package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -0
- package/dist/service/s3/command/get-object/get-object-loader.js +36 -0
- package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -0
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +18 -2
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +21 -15
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts +34 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +44 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts +65 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js +94 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +16 -4
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js +18 -34
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts +35 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.js +53 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.js.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +30 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +43 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +14 -2
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +26 -27
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts +20 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +30 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.js +2 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.js.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +30 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +43 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts +37 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +47 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +13 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +12 -2
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object-authorizer.d.ts +24 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.js +44 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +45 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -0
- package/dist/service/s3/command/put-object/put-object-builder.js +70 -0
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +19 -4
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +19 -28
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-get-obj-controller.js +1 -1
- package/dist/service/s3/serve/sim-s3-get-obj-controller.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +18 -6
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +34 -13
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/s3-memory-storage.js +1 -1
- package/dist/service/s3/storage/s3-memory-storage.js.map +1 -1
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts +57 -0
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts.map +1 -0
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js +79 -0
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js.map +1 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +52 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +64 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +57 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +68 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.d.ts +45 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.js +48 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +48 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.js +50 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.d.ts +57 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.js +85 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +45 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +64 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js.map +1 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.d.ts +44 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.d.ts.map +1 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.js +62 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.js.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.d.ts +45 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.d.ts.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.js +2 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.js.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +40 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js +69 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -0
- package/dist/service/sts/sim-sts.d.ts +31 -0
- package/dist/service/sts/sim-sts.d.ts.map +1 -0
- package/dist/service/sts/sim-sts.js +34 -0
- package/dist/service/sts/sim-sts.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/background/background.d.ts.map +1 -1
- package/dist/util/background/background.js +2 -0
- package/dist/util/background/background.js.map +1 -1
- package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
- package/dist/util/background/non-deterministic-background.js +1 -0
- package/dist/util/background/non-deterministic-background.js.map +1 -1
- package/package.json +23 -22
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { SimS3Object, SimS3ObjectMetadata } from "../../object/s3-object.js";
|
|
2
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
|
+
/**
|
|
4
|
+
* Converts the supported PutObject request fields into a stored sim S3 Object.
|
|
5
|
+
*
|
|
6
|
+
* The command handler coordinates validation, Bucket lookup, authorization, and
|
|
7
|
+
* storage. This builder owns the separate translation between the AWS SDK request
|
|
8
|
+
* representation and the simulation's storage representation. Keeping that
|
|
9
|
+
* translation here prevents body-format and metadata-normalization rules from
|
|
10
|
+
* increasing the command handler's control-flow complexity.
|
|
11
|
+
*
|
|
12
|
+
* The simulation currently supports the request body forms used by its S3
|
|
13
|
+
* boundary: strings and Uint8Array values. Node.js Buffer values are also covered
|
|
14
|
+
* because Buffer extends Uint8Array. Other SDK streaming body forms should be
|
|
15
|
+
* added here when the simulation gains support for them.
|
|
16
|
+
*/
|
|
17
|
+
export class PutObjectBuilder {
|
|
18
|
+
/**
|
|
19
|
+
* Build the Object that will be written to Bucket storage.
|
|
20
|
+
*
|
|
21
|
+
* This method performs conversion only. Callers must complete request
|
|
22
|
+
* validation and authorization before invoking it so failed authorization
|
|
23
|
+
* cannot trigger body processing or lead to storage mutation.
|
|
24
|
+
*/
|
|
25
|
+
build(cmd) {
|
|
26
|
+
assertDefined(cmd.input.Key, "PutObjectCommand.input.Key");
|
|
27
|
+
return new SimS3Object({
|
|
28
|
+
key: cmd.input.Key,
|
|
29
|
+
body: this.toBuffer(cmd.input.Body),
|
|
30
|
+
metadata: new SimS3ObjectMetadata(this.toMetadata(cmd)),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Convert SDK metadata fields to the string map stored by SimS3ObjectMetadata.
|
|
35
|
+
*
|
|
36
|
+
* User-defined metadata is retained as supplied. ContentType is represented by
|
|
37
|
+
* the standard lowercase metadata key used by the existing GetObject response
|
|
38
|
+
* path. Omitting ContentType leaves that key absent rather than assigning an
|
|
39
|
+
* undefined value.
|
|
40
|
+
*/
|
|
41
|
+
toMetadata(cmd) {
|
|
42
|
+
return {
|
|
43
|
+
...cmd.input.Metadata,
|
|
44
|
+
...(cmd.input.ContentType !== undefined && {
|
|
45
|
+
"content-type": cmd.input.ContentType,
|
|
46
|
+
}),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Materialize a supported SDK request body as a Buffer for Bucket storage.
|
|
51
|
+
*
|
|
52
|
+
* An omitted body represents an empty S3 Object. Strings use Node.js's default
|
|
53
|
+
* UTF-8 encoding. Uint8Array input is copied into a Buffer so storage receives
|
|
54
|
+
* one consistent binary representation and does not depend on the caller's
|
|
55
|
+
* mutable typed-array instance.
|
|
56
|
+
*/
|
|
57
|
+
toBuffer(body) {
|
|
58
|
+
if (body === undefined) {
|
|
59
|
+
return Buffer.alloc(0);
|
|
60
|
+
}
|
|
61
|
+
if (typeof body === "string") {
|
|
62
|
+
return Buffer.from(body);
|
|
63
|
+
}
|
|
64
|
+
if (body instanceof Uint8Array) {
|
|
65
|
+
return Buffer.from(body);
|
|
66
|
+
}
|
|
67
|
+
throw new Error("PutObjectCommand.input.Body must be a string or Uint8Array");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=put-object-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put-object-builder.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;;;;OAMG;IACH,KAAK,CAAC,GAAwB;QAC5B,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAC3D,OAAO,IAAI,WAAW,CAAC;YACrB,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG;YAClB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACnC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACK,UAAU,CAAC,GAAwB;QACzC,OAAO;YACL,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ;YACrB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI;gBACzC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW;aACtC,CAAC;SACH,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,QAAQ,CAAC,IAA0C;QACzD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimPutObjectCommand, SimPutObjectCommandOutput } from "./put-object.cmd.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
|
|
4
4
|
import { type BackgroundScheduler } from "../../../../util/background/background.js";
|
|
5
|
+
import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
6
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
5
7
|
interface PutObjectCommandHandlerProps {
|
|
6
8
|
readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
|
|
9
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
7
10
|
readonly background?: BackgroundScheduler;
|
|
8
11
|
}
|
|
12
|
+
interface PutObjectCommandHandlerOptions {
|
|
13
|
+
readonly caller?: SimAwsCaller;
|
|
14
|
+
}
|
|
9
15
|
/**
|
|
10
16
|
* Simulated S3 PutObjectCommand handler.
|
|
11
17
|
*
|
|
@@ -13,14 +19,23 @@ interface PutObjectCommandHandlerProps {
|
|
|
13
19
|
*/
|
|
14
20
|
export declare class PutObjectCommandHandler implements CommandHandler<SimPutObjectCommand, SimPutObjectCommandOutput> {
|
|
15
21
|
private readonly buckets;
|
|
22
|
+
private readonly authorizer;
|
|
23
|
+
private readonly objectBuilder;
|
|
16
24
|
private readonly background;
|
|
17
25
|
constructor(props: PutObjectCommandHandlerProps);
|
|
18
26
|
/**
|
|
19
27
|
* Simulate putting an Object into an S3 Bucket.
|
|
28
|
+
*
|
|
29
|
+
* Required-input validation and Bucket lookup happen before authorization so
|
|
30
|
+
* malformed requests and missing Buckets retain their S3 error behavior.
|
|
31
|
+
* Authorization happens before request conversion and storage mutation so a
|
|
32
|
+
* denied request cannot process, create, or replace an Object.
|
|
33
|
+
*
|
|
34
|
+
* Once authorization succeeds, PutObjectBuilder translates the SDK request
|
|
35
|
+
* into the storage model. This handler remains responsible for request-level
|
|
36
|
+
* sequencing while body and metadata conversion stay isolated from it.
|
|
20
37
|
*/
|
|
21
|
-
handle(cmd: SimPutObjectCommand): Promise<SimPutObjectCommandOutput>;
|
|
22
|
-
private static toMetadata;
|
|
23
|
-
private static toBuffer;
|
|
38
|
+
handle(cmd: SimPutObjectCommand, opts?: PutObjectCommandHandlerOptions): Promise<SimPutObjectCommandOutput>;
|
|
24
39
|
}
|
|
25
40
|
export {};
|
|
26
41
|
//# sourceMappingURL=put-object.handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"put-object.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAI1E,UAAU,4BAA4B;IACpC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,cAAc,CAC5D,mBAAmB,EACnB,yBAAyB,CAC1B;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,KAAK,EAAE,4BAA4B,EAS9C;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CACV,GAAG,EAAE,mBAAmB,EACxB,IAAI,CAAC,EAAE,8BAA8B,GACpC,OAAO,CAAC,yBAAyB,CAAC,CAqBpC;CACF"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { SimS3Object, SimS3ObjectMetadata } from "../../object/s3-object.js";
|
|
2
1
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
3
2
|
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
4
3
|
import { SimS3NoSuchBucket } from "../../error/sim-s3.error.js";
|
|
4
|
+
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
import { PutObjectAuthorizer } from "./put-object-authorizer.js";
|
|
6
|
+
import { PutObjectBuilder } from "./put-object-builder.js";
|
|
5
7
|
/**
|
|
6
8
|
* Simulated S3 PutObjectCommand handler.
|
|
7
9
|
*
|
|
@@ -9,16 +11,28 @@ import { SimS3NoSuchBucket } from "../../error/sim-s3.error.js";
|
|
|
9
11
|
*/
|
|
10
12
|
export class PutObjectCommandHandler {
|
|
11
13
|
buckets;
|
|
14
|
+
authorizer;
|
|
15
|
+
objectBuilder = new PutObjectBuilder();
|
|
12
16
|
background;
|
|
13
17
|
constructor(props) {
|
|
14
|
-
const { buckets, background = new BackgroundTasks() } = props;
|
|
18
|
+
const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = props;
|
|
15
19
|
this.buckets = buckets;
|
|
20
|
+
this.authorizer = new PutObjectAuthorizer({ iam });
|
|
16
21
|
this.background = background;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
24
|
* Simulate putting an Object into an S3 Bucket.
|
|
25
|
+
*
|
|
26
|
+
* Required-input validation and Bucket lookup happen before authorization so
|
|
27
|
+
* malformed requests and missing Buckets retain their S3 error behavior.
|
|
28
|
+
* Authorization happens before request conversion and storage mutation so a
|
|
29
|
+
* denied request cannot process, create, or replace an Object.
|
|
30
|
+
*
|
|
31
|
+
* Once authorization succeeds, PutObjectBuilder translates the SDK request
|
|
32
|
+
* into the storage model. This handler remains responsible for request-level
|
|
33
|
+
* sequencing while body and metadata conversion stay isolated from it.
|
|
20
34
|
*/
|
|
21
|
-
async handle(cmd) {
|
|
35
|
+
async handle(cmd, opts) {
|
|
22
36
|
assertDefined(cmd.input.Bucket, "PutObjectCommand.input.Bucket");
|
|
23
37
|
assertDefined(cmd.input.Key, "PutObjectCommand.input.Key");
|
|
24
38
|
const bucketName = cmd.input.Bucket;
|
|
@@ -28,35 +42,12 @@ export class PutObjectCommandHandler {
|
|
|
28
42
|
}
|
|
29
43
|
// Allow for potential non-deterministic sequencing of async events.
|
|
30
44
|
await this.background.sequence();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
body: PutObjectCommandHandler.toBuffer(cmd.input.Body),
|
|
34
|
-
metadata: new SimS3ObjectMetadata(PutObjectCommandHandler.toMetadata(cmd)),
|
|
35
|
-
});
|
|
45
|
+
this.authorizer.authorize(bucket, cmd.input.Key, opts?.caller);
|
|
46
|
+
const object = this.objectBuilder.build(cmd);
|
|
36
47
|
await bucket.putObject(object);
|
|
37
48
|
return {
|
|
38
49
|
$metadata: {},
|
|
39
50
|
};
|
|
40
51
|
}
|
|
41
|
-
static toMetadata(cmd) {
|
|
42
|
-
return {
|
|
43
|
-
...cmd.input.Metadata,
|
|
44
|
-
...(cmd.input.ContentType === undefined
|
|
45
|
-
? {}
|
|
46
|
-
: { "content-type": cmd.input.ContentType }),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
static toBuffer(body) {
|
|
50
|
-
if (body === undefined) {
|
|
51
|
-
return Buffer.alloc(0);
|
|
52
|
-
}
|
|
53
|
-
if (typeof body === "string") {
|
|
54
|
-
return Buffer.from(body);
|
|
55
|
-
}
|
|
56
|
-
if (body instanceof Uint8Array) {
|
|
57
|
-
return Buffer.from(body);
|
|
58
|
-
}
|
|
59
|
-
throw new Error("PutObjectCommand.input.Body must be a string or Uint8Array");
|
|
60
|
-
}
|
|
61
52
|
}
|
|
62
53
|
//# sourceMappingURL=put-object.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"put-object.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/put-object/put-object.handler.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,kBAAkB,GAEnB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAY3D;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAIjB,OAAO,CAAoC;IAC3C,UAAU,CAAsB;IAChC,aAAa,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACvC,UAAU,CAAsB;IAEjD,YAAY,KAAmC;QAC7C,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,KAAK,CAAC;QACV,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CACV,GAAwB,EACxB,IAAqC;QAErC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;QACjE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAyB,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,iBAAiB,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO;YACL,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -48,7 +48,7 @@ export class SimS3GetObjectController {
|
|
|
48
48
|
const contentType = object.metadata.values["content-type"];
|
|
49
49
|
const headers = {
|
|
50
50
|
"content-length": String(object.body.length),
|
|
51
|
-
...(contentType
|
|
51
|
+
...(contentType !== undefined && { "content-type": contentType }),
|
|
52
52
|
};
|
|
53
53
|
if (request.method === "HEAD") {
|
|
54
54
|
return new Response(undefined, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3-get-obj-controller.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-get-obj-controller.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,wBAAwB;IACnC;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,MAAmB,EACnB,SAAiB,EACjB,OAAgB;QAEhB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC9B,OAAO,IAAI,QAAQ,CACjB,oDAAoD,MAAM,CAAC,UAAU,IAAI,EACzE;gBACE,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE;oBACP,cAAc,EAAE,2BAA2B;iBAC5C;aACF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,0BAA0B,CACvC,OAAO,EACP,IAAI,QAAQ,CAAC,SAAS,CAAC,CACxB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,MAAmB,EACnB,SAAiB,EACjB,OAAgB;QAEhB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAExD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,sBAAsB,GAC1B,OAAO,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,yBAAyB,GAAG,MAAM,MAAM,CAAC,SAAS,CACtD,sBAAsB,CACvB,CAAC;YAEF,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAEpD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAErE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAEO,mBAAmB,CACzB,MAAmB,EACnB,OAAgB,EAChB,MAAM,GAAG,GAAG;QAEZ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE3D,MAAM,OAAO,GAAG;YACd,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAC5C,GAAG,CAAC,WAAW,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"sim-s3-get-obj-controller.js","sourceRoot":"","sources":["../../../../src/service/s3/serve/sim-s3-get-obj-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,16 @@ import type { SimGetObjectCommand, SimGetObjectCommandOutput } from "./command/g
|
|
|
9
9
|
import type { SimCreateBucketCommand, SimCreateBucketCommandOutput } from "./command/create-bucket/create-bucket.cmd.js";
|
|
10
10
|
import { type BackgroundScheduler } from "../../util/background/background.js";
|
|
11
11
|
import type { SimCfnServiceResourceFactory } from "../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
|
|
12
|
+
import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
|
|
13
|
+
import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
14
|
+
import type { SimPutBucketPolicyCommand, SimPutBucketPolicyCommandOutput } from "./command/put-bucket-policy/put-bucket-policy.cmd.js";
|
|
15
|
+
export interface SimS3RequestOptions {
|
|
16
|
+
readonly caller?: SimAwsCaller;
|
|
17
|
+
}
|
|
12
18
|
interface SimS3Props {
|
|
13
19
|
readonly accountRegionScope?: SimAwsAccountRegionScope;
|
|
14
20
|
readonly s3GlobalRegistry?: SimS3GlobalRegistry;
|
|
21
|
+
readonly iam?: SimIamInterServiceAuthZ;
|
|
15
22
|
readonly background?: BackgroundScheduler;
|
|
16
23
|
}
|
|
17
24
|
/**
|
|
@@ -23,33 +30,38 @@ export declare class SimS3 {
|
|
|
23
30
|
private readonly buckets;
|
|
24
31
|
private readonly accountRegionScope;
|
|
25
32
|
private readonly s3GlobalRegistry;
|
|
33
|
+
private readonly iam;
|
|
26
34
|
private readonly background;
|
|
27
35
|
private readonly cfnFactory;
|
|
28
36
|
constructor(props?: SimS3Props);
|
|
29
37
|
/**
|
|
30
38
|
* Handle a Create Bucket Command from the SDK.
|
|
31
39
|
*/
|
|
32
|
-
createBucket(cmd: SimCreateBucketCommand): Promise<SimCreateBucketCommandOutput>;
|
|
40
|
+
createBucket(cmd: SimCreateBucketCommand, opts?: SimS3RequestOptions): Promise<SimCreateBucketCommandOutput>;
|
|
41
|
+
/**
|
|
42
|
+
* Handle a Put Bucket Policy Command from the SDK.
|
|
43
|
+
*/
|
|
44
|
+
putBucketPolicy(cmd: SimPutBucketPolicyCommand, opts?: SimS3RequestOptions): Promise<SimPutBucketPolicyCommandOutput>;
|
|
33
45
|
/**
|
|
34
46
|
* Handle a Put Bucket Website Command from the SDK.
|
|
35
47
|
*/
|
|
36
|
-
putBucketWebsite(cmd: SimPutBucketWebsiteCommand): Promise<SimPutBucketWebsiteCommandOutput>;
|
|
48
|
+
putBucketWebsite(cmd: SimPutBucketWebsiteCommand, opts?: SimS3RequestOptions): Promise<SimPutBucketWebsiteCommandOutput>;
|
|
37
49
|
/**
|
|
38
50
|
* Handle a List Buckets Command from the SDK.
|
|
39
51
|
*/
|
|
40
|
-
listBuckets(cmd: SimListBucketsCommand): Promise<SimListBucketsCommandOutput>;
|
|
52
|
+
listBuckets(cmd: SimListBucketsCommand, opts?: SimS3RequestOptions): Promise<SimListBucketsCommandOutput>;
|
|
41
53
|
/**
|
|
42
54
|
* Handle a Put Object Command from the SDK.
|
|
43
55
|
*/
|
|
44
|
-
putObject(cmd: SimPutObjectCommand): Promise<SimPutObjectCommandOutput>;
|
|
56
|
+
putObject(cmd: SimPutObjectCommand, opts?: SimS3RequestOptions): Promise<SimPutObjectCommandOutput>;
|
|
45
57
|
/**
|
|
46
58
|
* Handle a Get Object Command from the SDK.
|
|
47
59
|
*/
|
|
48
|
-
getObject(cmd: SimGetObjectCommand): Promise<SimGetObjectCommandOutput>;
|
|
60
|
+
getObject(cmd: SimGetObjectCommand, opts?: SimS3RequestOptions): Promise<SimGetObjectCommandOutput>;
|
|
49
61
|
/**
|
|
50
62
|
* Handle a List Objects Command from the SDK.
|
|
51
63
|
*/
|
|
52
|
-
listObjects(cmd: SimListObjectsCommand): Promise<SimListObjectsCommandOutput>;
|
|
64
|
+
listObjects(cmd: SimListObjectsCommand, opts?: SimS3RequestOptions): Promise<SimListObjectsCommandOutput>;
|
|
53
65
|
/**
|
|
54
66
|
* Get a simulated S3 Bucket instance by name.
|
|
55
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAIvF,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,wDAAwD,CAAC;AAChE,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qEAAqE,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3.d.ts","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ import { FilesystemS3BucketStorage } from "./storage/filesystem/s3-filesystem-st
|
|
|
10
10
|
import { BackgroundTasks, } from "../../util/background/background.js";
|
|
11
11
|
import { SimS3CloudFormationResourceFactory } from "./cfn/sim-cfn-s3-resource-factory.js";
|
|
12
12
|
import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
|
|
13
|
+
import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
14
|
+
import { PutBucketPolicyCommandHandler } from "./command/put-bucket-policy/put-bucket-policy.handler.js";
|
|
13
15
|
/**
|
|
14
16
|
* Simulated S3. Handles SDK commands. Emulates AWS behaviour and state.
|
|
15
17
|
* Scoped to an Account and Region, but has access to a global (as in
|
|
@@ -19,75 +21,94 @@ export class SimS3 {
|
|
|
19
21
|
buckets = new Map();
|
|
20
22
|
accountRegionScope;
|
|
21
23
|
s3GlobalRegistry;
|
|
24
|
+
iam;
|
|
22
25
|
background;
|
|
23
26
|
cfnFactory = new SimS3CloudFormationResourceFactory(this);
|
|
24
27
|
constructor(props = {}) {
|
|
25
|
-
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), s3GlobalRegistry = new SimS3GlobalRegistry(), background = new BackgroundTasks(), } = props;
|
|
28
|
+
const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), s3GlobalRegistry = new SimS3GlobalRegistry(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = props;
|
|
26
29
|
this.accountRegionScope = accountRegionScope;
|
|
27
30
|
this.s3GlobalRegistry = s3GlobalRegistry;
|
|
31
|
+
this.iam = iam;
|
|
28
32
|
this.background = background;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* Handle a Create Bucket Command from the SDK.
|
|
32
36
|
*/
|
|
33
|
-
async createBucket(cmd) {
|
|
37
|
+
async createBucket(cmd, opts) {
|
|
34
38
|
const handler = new CreateBucketCommandHandler({
|
|
35
39
|
accountRegionScope: this.accountRegionScope,
|
|
36
40
|
buckets: this.buckets,
|
|
37
41
|
s3GlobalRegistry: this.s3GlobalRegistry,
|
|
42
|
+
iam: this.iam,
|
|
38
43
|
background: this.background,
|
|
39
44
|
});
|
|
40
|
-
return await handler.handle(cmd);
|
|
45
|
+
return await handler.handle(cmd, opts);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Handle a Put Bucket Policy Command from the SDK.
|
|
49
|
+
*/
|
|
50
|
+
async putBucketPolicy(cmd, opts) {
|
|
51
|
+
const handler = new PutBucketPolicyCommandHandler({
|
|
52
|
+
buckets: this.buckets,
|
|
53
|
+
iam: this.iam,
|
|
54
|
+
background: this.background,
|
|
55
|
+
});
|
|
56
|
+
return await handler.handle(cmd, opts);
|
|
41
57
|
}
|
|
42
58
|
/**
|
|
43
59
|
* Handle a Put Bucket Website Command from the SDK.
|
|
44
60
|
*/
|
|
45
|
-
async putBucketWebsite(cmd) {
|
|
61
|
+
async putBucketWebsite(cmd, opts) {
|
|
46
62
|
const handler = new PutBucketWebsiteCommandHandler({
|
|
47
63
|
buckets: this.buckets,
|
|
64
|
+
iam: this.iam,
|
|
48
65
|
background: this.background,
|
|
49
66
|
});
|
|
50
|
-
return await handler.handle(cmd);
|
|
67
|
+
return await handler.handle(cmd, opts);
|
|
51
68
|
}
|
|
52
69
|
/**
|
|
53
70
|
* Handle a List Buckets Command from the SDK.
|
|
54
71
|
*/
|
|
55
|
-
async listBuckets(cmd) {
|
|
72
|
+
async listBuckets(cmd, opts) {
|
|
56
73
|
const handler = new ListBucketsCommandHandler({
|
|
57
74
|
buckets: this.buckets,
|
|
75
|
+
iam: this.iam,
|
|
58
76
|
background: this.background,
|
|
59
77
|
});
|
|
60
|
-
return await handler.handle(cmd);
|
|
78
|
+
return await handler.handle(cmd, opts);
|
|
61
79
|
}
|
|
62
80
|
/**
|
|
63
81
|
* Handle a Put Object Command from the SDK.
|
|
64
82
|
*/
|
|
65
|
-
async putObject(cmd) {
|
|
83
|
+
async putObject(cmd, opts) {
|
|
66
84
|
const handler = new PutObjectCommandHandler({
|
|
67
85
|
buckets: this.buckets,
|
|
86
|
+
iam: this.iam,
|
|
68
87
|
background: this.background,
|
|
69
88
|
});
|
|
70
|
-
return await handler.handle(cmd);
|
|
89
|
+
return await handler.handle(cmd, opts);
|
|
71
90
|
}
|
|
72
91
|
/**
|
|
73
92
|
* Handle a Get Object Command from the SDK.
|
|
74
93
|
*/
|
|
75
|
-
async getObject(cmd) {
|
|
94
|
+
async getObject(cmd, opts) {
|
|
76
95
|
const handler = new GetObjectCommandHandler({
|
|
77
96
|
buckets: this.buckets,
|
|
97
|
+
iam: this.iam,
|
|
78
98
|
background: this.background,
|
|
79
99
|
});
|
|
80
|
-
return await handler.handle(cmd);
|
|
100
|
+
return await handler.handle(cmd, opts);
|
|
81
101
|
}
|
|
82
102
|
/**
|
|
83
103
|
* Handle a List Objects Command from the SDK.
|
|
84
104
|
*/
|
|
85
|
-
async listObjects(cmd) {
|
|
105
|
+
async listObjects(cmd, opts) {
|
|
86
106
|
const handler = new ListObjectsCommandHandler({
|
|
87
107
|
buckets: this.buckets,
|
|
108
|
+
iam: this.iam,
|
|
88
109
|
background: this.background,
|
|
89
110
|
});
|
|
90
|
-
return await handler.handle(cmd);
|
|
111
|
+
return await handler.handle(cmd, opts);
|
|
91
112
|
}
|
|
92
113
|
/**
|
|
93
114
|
* Get a simulated S3 Bucket instance by name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAyB1F,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAE1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"sim-s3.js","sourceRoot":"","sources":["../../../src/service/s3/sim-s3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAyB1F,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAE1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AAEjG,OAAO,EACL,kBAAkB,GAEnB,MAAM,kDAAkD,CAAC;AAK1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0DAA0D,CAAC;AAazG;;;;GAIG;AACH,MAAM,OAAO,KAAK;IACC,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IAElD,kBAAkB,CAA2B;IAC7C,gBAAgB,CAAsB;IACtC,GAAG,CAA0B;IAC7B,UAAU,CAAsB;IAChC,UAAU,GAAG,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAE3E,YAAY,KAAK,GAAe,EAAE;QAChC,MAAM,EACJ,kBAAkB,GAAG,+BAA+B,CAAC,IAAI,EAAE,EAC3D,gBAAgB,GAAG,IAAI,mBAAmB,EAAE,EAC5C,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,KAAK,CAAC;QAEV,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,GAA2B,EAC3B,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,GAA8B,EAC9B,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,6BAA6B,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,GAA+B,EAC/B,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,8BAA8B,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,GAA0B,EAC1B,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,GAAwB,EACxB,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,GAAwB,EACxB,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,GAA0B,EAC1B,IAA0B;QAE1B,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,kBAAkB,CAChB,UAAoC;QAEpC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAA6B,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,UAAoC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,aAAa,CAAC,MAAM,EAAE,uBAAuB,UAAU,EAAE,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,eAAe,CACb,UAAoC;QAEpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAA6B,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,UAAoC,EACpC,aAAqB;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,aAAa,CAAC,MAAM,EAAE,uBAAuB,UAAU,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,mBAAmB,CACxB,IAAI,yBAAyB,CAAC,EAAE,aAAa,EAAE,CAAC,CACjD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -13,7 +13,7 @@ export class MemoryS3BucketStorage {
|
|
|
13
13
|
* List simulated Objects in in-memory storage.
|
|
14
14
|
*/
|
|
15
15
|
listObjects(prefix) {
|
|
16
|
-
const objects = [...this.objects
|
|
16
|
+
const objects = [...this.objects]
|
|
17
17
|
.filter(([key]) => prefix === undefined || key.startsWith(prefix))
|
|
18
18
|
.map(([, object]) => object);
|
|
19
19
|
return Promise.resolve(objects);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-memory-storage.js","sourceRoot":"","sources":["../../../../src/service/s3/storage/s3-memory-storage.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE1D;;OAEG;IACH,SAAS,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAe;QACzB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"s3-memory-storage.js","sourceRoot":"","sources":["../../../../src/service/s3/storage/s3-memory-storage.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACf,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE1D;;OAEG;IACH,SAAS,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAe;QACzB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAE/B,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
import { IamRoleArnParser, type IamRoleArnParts } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
3
|
+
import type { SimAssumeRoleCommand } from "../command/assume-role/assume-role.cmd.js";
|
|
4
|
+
export interface ParsedAssumeRoleRequest {
|
|
5
|
+
readonly roleArn: string;
|
|
6
|
+
readonly roleArnParts: IamRoleArnParts;
|
|
7
|
+
readonly roleSessionName: string;
|
|
8
|
+
readonly durationSeconds: number;
|
|
9
|
+
readonly conditionContext: Readonly<Record<string, SimIamConditionValue>> | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Validates and normalizes an STS AssumeRole command.
|
|
13
|
+
*
|
|
14
|
+
* SDK command fields are optional at the TypeScript boundary because the AWS
|
|
15
|
+
* SDK validates required values at runtime. The rest of the simulated STS flow
|
|
16
|
+
* should not need to repeat those checks or work with optional values.
|
|
17
|
+
*
|
|
18
|
+
* This parser converts the command into a request with:
|
|
19
|
+
*
|
|
20
|
+
* - required Role ARN and session name values;
|
|
21
|
+
* - parsed Role ARN parts used for target-account lookup;
|
|
22
|
+
* - a positive duration with the STS default applied when omitted;
|
|
23
|
+
* - IAM condition context derived from AssumeRole-specific command fields.
|
|
24
|
+
*
|
|
25
|
+
* Authorization and session creation consume the normalized request and remain
|
|
26
|
+
* independent of SDK input validation details.
|
|
27
|
+
*/
|
|
28
|
+
export declare class SimStsAssumeRoleRequestParser {
|
|
29
|
+
private readonly roleArnParser;
|
|
30
|
+
constructor(roleArnParser?: IamRoleArnParser);
|
|
31
|
+
/**
|
|
32
|
+
* Parse one AssumeRole command into the values used by authorization and
|
|
33
|
+
* temporary session creation.
|
|
34
|
+
*
|
|
35
|
+
* Parsing fails before any authorization or session state changes occur. This
|
|
36
|
+
* keeps malformed requests from reaching policy evaluation or IAM registries.
|
|
37
|
+
*/
|
|
38
|
+
parse(cmd: SimAssumeRoleCommand): ParsedAssumeRoleRequest;
|
|
39
|
+
/**
|
|
40
|
+
* Apply the default session duration and reject invalid explicit values.
|
|
41
|
+
*
|
|
42
|
+
* Session duration is represented in whole seconds. Zero, negative numbers,
|
|
43
|
+
* fractional values, NaN, and infinities are rejected because they cannot
|
|
44
|
+
* describe a valid credential lifetime.
|
|
45
|
+
*/
|
|
46
|
+
private durationSeconds;
|
|
47
|
+
/**
|
|
48
|
+
* Convert AssumeRole-specific request fields into IAM condition values.
|
|
49
|
+
*
|
|
50
|
+
* ExternalId participates in trust-policy authorization through the
|
|
51
|
+
* `sts:ExternalId` condition key. An omitted ExternalId produces no condition
|
|
52
|
+
* entry, allowing the IAM matcher to treat policies requiring that key as
|
|
53
|
+
* non-matching.
|
|
54
|
+
*/
|
|
55
|
+
private conditionContext;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=sim-sts-assume-role-request-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sts-assume-role-request-parser.d.ts","sourceRoot":"","sources":["../../../../src/service/sts/assume/sim-sts-assume-role-request-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAItF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EACvB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,6BAA6B;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAA1C,YAA6B,aAAa,mBAAyB,EAAI;IAEvE;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,EAAE,oBAAoB,GAAG,uBAAuB,CAmBxD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;CAWzB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
2
|
+
import { IamRoleArnParser, } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
3
|
+
const defaultRoleSessionDurationSeconds = 3600;
|
|
4
|
+
/**
|
|
5
|
+
* Validates and normalizes an STS AssumeRole command.
|
|
6
|
+
*
|
|
7
|
+
* SDK command fields are optional at the TypeScript boundary because the AWS
|
|
8
|
+
* SDK validates required values at runtime. The rest of the simulated STS flow
|
|
9
|
+
* should not need to repeat those checks or work with optional values.
|
|
10
|
+
*
|
|
11
|
+
* This parser converts the command into a request with:
|
|
12
|
+
*
|
|
13
|
+
* - required Role ARN and session name values;
|
|
14
|
+
* - parsed Role ARN parts used for target-account lookup;
|
|
15
|
+
* - a positive duration with the STS default applied when omitted;
|
|
16
|
+
* - IAM condition context derived from AssumeRole-specific command fields.
|
|
17
|
+
*
|
|
18
|
+
* Authorization and session creation consume the normalized request and remain
|
|
19
|
+
* independent of SDK input validation details.
|
|
20
|
+
*/
|
|
21
|
+
export class SimStsAssumeRoleRequestParser {
|
|
22
|
+
roleArnParser;
|
|
23
|
+
constructor(roleArnParser = new IamRoleArnParser()) {
|
|
24
|
+
this.roleArnParser = roleArnParser;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse one AssumeRole command into the values used by authorization and
|
|
28
|
+
* temporary session creation.
|
|
29
|
+
*
|
|
30
|
+
* Parsing fails before any authorization or session state changes occur. This
|
|
31
|
+
* keeps malformed requests from reaching policy evaluation or IAM registries.
|
|
32
|
+
*/
|
|
33
|
+
parse(cmd) {
|
|
34
|
+
const roleArn = cmd.input.RoleArn;
|
|
35
|
+
assertDefined(roleArn, "STS AssumeRole RoleArn is required");
|
|
36
|
+
const roleSessionName = cmd.input.RoleSessionName;
|
|
37
|
+
assertDefined(roleSessionName, "STS AssumeRole RoleSessionName is required");
|
|
38
|
+
const durationSeconds = this.durationSeconds(cmd.input.DurationSeconds);
|
|
39
|
+
return {
|
|
40
|
+
roleArn,
|
|
41
|
+
roleArnParts: this.roleArnParser.parse(roleArn),
|
|
42
|
+
roleSessionName,
|
|
43
|
+
durationSeconds,
|
|
44
|
+
conditionContext: this.conditionContext(cmd.input.ExternalId),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Apply the default session duration and reject invalid explicit values.
|
|
49
|
+
*
|
|
50
|
+
* Session duration is represented in whole seconds. Zero, negative numbers,
|
|
51
|
+
* fractional values, NaN, and infinities are rejected because they cannot
|
|
52
|
+
* describe a valid credential lifetime.
|
|
53
|
+
*/
|
|
54
|
+
durationSeconds(value) {
|
|
55
|
+
const durationSeconds = value ?? defaultRoleSessionDurationSeconds;
|
|
56
|
+
/* v8 ignore if */
|
|
57
|
+
if (!Number.isSafeInteger(durationSeconds) || durationSeconds <= 0) {
|
|
58
|
+
throw new Error("DurationSeconds must be a positive integer");
|
|
59
|
+
}
|
|
60
|
+
return durationSeconds;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Convert AssumeRole-specific request fields into IAM condition values.
|
|
64
|
+
*
|
|
65
|
+
* ExternalId participates in trust-policy authorization through the
|
|
66
|
+
* `sts:ExternalId` condition key. An omitted ExternalId produces no condition
|
|
67
|
+
* entry, allowing the IAM matcher to treat policies requiring that key as
|
|
68
|
+
* non-matching.
|
|
69
|
+
*/
|
|
70
|
+
conditionContext(externalId) {
|
|
71
|
+
if (externalId === undefined) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
"sts:ExternalId": externalId,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=sim-sts-assume-role-request-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sts-assume-role-request-parser.js","sourceRoot":"","sources":["../../../../src/service/sts/assume/sim-sts-assume-role-request-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EACL,gBAAgB,GAEjB,MAAM,+CAA+C,CAAC;AAGvD,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAW/C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,6BAA6B;IACX,aAAa;IAA1C,YAA6B,aAAa,GAAG,IAAI,gBAAgB,EAAE;6BAAtC,aAAa;IAA4B,CAAC;IAEvE;;;;;;OAMG;IACH,KAAK,CAAC,GAAyB;QAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,aAAa,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;QAE7D,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;QAClD,aAAa,CACX,eAAe,EACf,4CAA4C,CAC7C,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAExE,OAAO;YACL,OAAO;YACP,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/C,eAAe;YACf,eAAe;YACf,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CAAC,KAAyB;QAC/C,MAAM,eAAe,GAAG,KAAK,IAAI,iCAAiC,CAAC;QAEnE,kBAAkB;QAClB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CACtB,UAA8B;QAE9B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,gBAAgB,EAAE,UAAU;SAC7B,CAAC;IACJ,CAAC;CACF"}
|