diff --git a/.circleci/config.yml b/.circleci/config.yml
index ac54d75ec06..28b9d04f19d 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -193,18 +193,6 @@ jobs:
command: build bb.js
aztec_manifest_key: bb.js
- bb-js-tests:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build and test"
- command: cond_spot_run_test bb.js 32 ./scripts/run_tests
- aztec_manifest_key: bb.js
-
# Noir
noir-x86_64:
docker:
@@ -242,18 +230,6 @@ jobs:
command: create_ecr_manifest noir x86_64,arm64
aztec_manifest_key: noir
- noir-tests:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build"
- command: cond_spot_run_build noir-tests 32
- aztec_manifest_key: noir-tests
-
noir-packages:
docker:
- image: aztecprotocol/alpine-build-image
@@ -266,30 +242,6 @@ jobs:
command: cond_spot_run_build noir-packages 32
aztec_manifest_key: noir-packages
- noir-packages-tests:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build"
- command: cond_spot_run_build noir-packages-tests 32
- aztec_manifest_key: noir-packages-tests
-
- noir-compile-acir-tests:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build"
- command: cond_spot_run_build noir-compile-acir-tests 32
- aztec_manifest_key: noir-compile-acir-tests
-
avm-transpiler:
docker:
- image: aztecprotocol/alpine-build-image
@@ -302,42 +254,6 @@ jobs:
command: cond_spot_run_build avm-transpiler 32
aztec_manifest_key: avm-transpiler
- barretenberg-acir-tests-bb:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build and test"
- command: cond_spot_run_build barretenberg-acir-tests-bb 32
- aztec_manifest_key: barretenberg-acir-tests-bb
-
- barretenberg-acir-tests-bb-sol:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build and test"
- command: cond_spot_run_build barretenberg-acir-tests-bb-sol 32
- aztec_manifest_key: barretenberg-acir-tests-bb-sol
-
- bb-js-acir-tests:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build and test"
- command: cond_spot_run_build barretenberg-acir-tests-bb.js 32
- aztec_manifest_key: barretenberg-acir-tests-bb.js
-
l1-contracts:
machine:
image: default
@@ -407,18 +323,6 @@ jobs:
command: create_ecr_manifest yarn-project x86_64,arm64
aztec_manifest_key: yarn-project
- prover-client-test:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build and test"
- command: cond_spot_run_build prover-client-test 128
- aztec_manifest_key: prover-client-test
-
aztec-package:
machine:
image: default
@@ -431,41 +335,17 @@ jobs:
command: build aztec
aztec_manifest_key: aztec
- boxes:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build"
- command: cond_spot_run_build boxes 4
- aztec_manifest_key: boxes
-
- boxes-vanilla:
- docker:
- - image: aztecprotocol/alpine-build-image
- resource_class: small
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Test"
- command: cond_spot_run_compose boxes 4 ./docker-compose.yml BOX=vanilla
- aztec_manifest_key: boxes
-
- boxes-react:
- docker:
- - image: aztecprotocol/alpine-build-image
+ aztec-builder:
+ machine:
+ image: default
resource_class: small
steps:
- *checkout
- *setup_env
- run:
- name: "Test"
- command: cond_spot_run_compose boxes 4 ./docker-compose.yml BOX=react
- aztec_manifest_key: boxes
+ name: "Build image"
+ command: build aztec-builder
+ aztec_manifest_key: aztec-builder
end-to-end:
machine:
@@ -482,55 +362,6 @@ jobs:
# For old e2e tests see yarn-project/end-to-end/Earthfile
# Semantics are similar to Dockerfile
- # NOTE: Unlike other e2e, these will be re-enabled here as currently the logs functionality is not in the new earthfile setup
- bench-publish-rollup:
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Benchmark"
- command: cond_spot_run_compose end-to-end 4 ./scripts/docker-compose-no-sandbox.yml TEST=benchmarks/bench_publish_rollup.test.ts DEBUG=aztec:benchmarks:*,aztec:sequencer,aztec:sequencer:*,aztec:world_state,aztec:merkle_trees
- aztec_manifest_key: end-to-end
- <<: *defaults_e2e_test
-
- bench-process-history:
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Benchmark"
- command: cond_spot_run_compose end-to-end 4 ./scripts/docker-compose-no-sandbox.yml TEST=benchmarks/bench_process_history.test.ts DEBUG=aztec:benchmarks:*,aztec:sequencer,aztec:sequencer:*,aztec:world_state,aztec:merkle_trees
- aztec_manifest_key: end-to-end
- <<: *defaults_e2e_test
-
- bench-tx-size:
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Benchmark"
- command: cond_spot_run_compose end-to-end 4 ./scripts/docker-compose-no-sandbox.yml TEST=benchmarks/bench_tx_size_fees.test.ts ENABLE_GAS=1 DEBUG=aztec:benchmarks:*,aztec:sequencer,aztec:sequencer:*,aztec:world_state,aztec:merkle_trees
- aztec_manifest_key: end-to-end
- <<: *defaults_e2e_test
-
- build-docs:
- machine:
- image: default
- resource_class: large
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Build docs"
- command: |
- echo "Building docs"
- build docs
- - run:
- name: "Deploy docs"
- command: |
- echo "Deploying docs"
- docs/deploy_netlify.sh $BRANCH $PULL_REQUEST
-
e2e-join:
docker:
- image: cimg/base:2023.09
@@ -549,16 +380,6 @@ jobs:
name: "Noop"
command: echo Noop
- bench-summary:
- machine:
- image: default
- steps:
- - *checkout
- - *setup_env
- - run:
- name: "Assemble benchmark summary from uploaded logs"
- command: ./scripts/ci/assemble_e2e_benchmark.sh
-
# Deploy & release jobs.
deploy-and-release:
machine:
@@ -573,6 +394,7 @@ jobs:
should_release || exit 0
deploy_dockerhub noir
deploy_dockerhub aztec
+ deploy_dockerhub aztec-builder
- run:
name: "Release canary to NPM: bb.js"
command: |
@@ -626,12 +448,6 @@ defaults: &defaults
event: fail
branch_pattern: "master"
-bb_acir_tests: &bb_acir_tests
- requires:
- - barretenberg-x86_64-linux-clang-assert
- - noir-compile-acir-tests
- <<: *defaults
-
defaults_yarn_project_pre_join: &defaults_yarn_project_pre_join
requires:
- yarn-project-pre-join
@@ -676,21 +492,10 @@ workflows:
- noir-x86_64
- noir-arm64
<<: *defaults
- - noir-tests: *defaults
- noir-packages:
requires:
- bb-js
<<: *defaults
- - noir-packages-tests:
- requires:
- - bb-js
- - noir-ecr-manifest
- - noir-packages
- <<: *defaults
- - noir-compile-acir-tests:
- requires:
- - noir-ecr-manifest
- <<: *defaults
# Transpiler
- avm-transpiler: *defaults
@@ -701,28 +506,11 @@ workflows:
- barretenberg-x86_64-linux-clang-assert: *defaults
- barretenberg-x86_64-linux-clang-fuzzing: *defaults
- barretenberg-wasm-linux-clang: *defaults
- - barretenberg-x86_64-linux-clang-sol: *defaults
- - barretenberg-acir-tests-bb: *bb_acir_tests
- - barretenberg-acir-tests-bb-sol:
- requires:
- - barretenberg-x86_64-linux-clang-assert
- - barretenberg-x86_64-linux-clang-sol
- - noir-compile-acir-tests
- <<: *bb_acir_tests
- barretenberg-docs: *defaults
- bb-js:
requires:
- barretenberg-wasm-linux-clang
<<: *defaults
- - bb-js-tests:
- requires:
- - bb-js
- <<: *defaults
- - bb-js-acir-tests:
- requires:
- - bb-js
- - noir-compile-acir-tests
- <<: *defaults
- l1-contracts: *defaults
@@ -741,8 +529,6 @@ workflows:
- noir-projects
<<: *defaults
- end-to-end: *defaults_yarn_project
- - build-docs: *defaults_yarn_project_pre_join
- - prover-client-test: *defaults_yarn_project
- yarn-project-x86_64: *defaults_yarn_project_pre_join
- yarn-project-arm64: *defaults_yarn_project_pre_join
- yarn-project-ecr-manifest:
@@ -753,20 +539,7 @@ workflows:
# Artifacts
- aztec-package: *defaults_yarn_project
-
- # Boxes.
- - boxes:
- requires:
- - aztec-package
- <<: *defaults
- - boxes-vanilla:
- requires:
- - boxes
- <<: *defaults
- - boxes-react:
- requires:
- - boxes
- <<: *defaults
+ - aztec-builder: *defaults_yarn_project
# End to end tests.
- e2e-join:
@@ -783,27 +556,9 @@ workflows:
- barretenberg-x86_64-linux-clang-assert
- barretenberg-x86_64-linux-clang-fuzzing
- barretenberg-wasm-linux-clang
- - barretenberg-x86_64-linux-clang-sol
- - barretenberg-acir-tests-bb
- - barretenberg-acir-tests-bb-sol
- barretenberg-docs
- - build-docs
- - boxes-vanilla
- - boxes-react
- - noir-packages-tests
- - prover-client-test
- e2e-join
- <<: *defaults
-
- # Benchmark jobs.
- - bench-publish-rollup: *e2e_test
- - bench-process-history: *e2e_test
- - bench-tx-size: *e2e_test
- - bench-summary:
- requires:
- - bench-publish-rollup
- - bench-process-history
- - bench-tx-size
+ - aztec-builder
<<: *defaults
# Production releases.
diff --git a/.devcontainer/assets/react_cta_badge.svg b/.devcontainer/assets/react_cta_badge.svg
new file mode 100644
index 00000000000..c8c3d1738d4
--- /dev/null
+++ b/.devcontainer/assets/react_cta_badge.svg
@@ -0,0 +1,19 @@
+
diff --git a/.devcontainer/assets/token_cta_badge.svg b/.devcontainer/assets/token_cta_badge.svg
new file mode 100644
index 00000000000..9d536be120b
--- /dev/null
+++ b/.devcontainer/assets/token_cta_badge.svg
@@ -0,0 +1,19 @@
+
diff --git a/.devcontainer/assets/vanilla_cta_badge.svg b/.devcontainer/assets/vanilla_cta_badge.svg
new file mode 100644
index 00000000000..a717e72561a
--- /dev/null
+++ b/.devcontainer/assets/vanilla_cta_badge.svg
@@ -0,0 +1,19 @@
+
diff --git a/.devcontainer/dev/devcontainer.json b/.devcontainer/dev/devcontainer.json
index 50354b2b570..792ffdbc010 100644
--- a/.devcontainer/dev/devcontainer.json
+++ b/.devcontainer/dev/devcontainer.json
@@ -1,17 +1,22 @@
{
- "image": "node:lts-bookworm-slim",
- "features": {
- "ghcr.io/devcontainers/features/docker-in-docker:2": {}
+ "name": "Development",
+ "build": {
+ "dockerfile": "../../build-images/Dockerfile",
+ "context": "../../build-images",
+ "target": "devbox"
},
- "postCreateCommand": "curl -s install.aztec.network | VERSION=master NON_INTERACTIVE=1 BIN_PATH=/usr/local/bin bash -s",
- "customizations": {
- "vscode": {
- "settings": {},
- "extensions": [
- "noir-lang.vscode-noir"
- ]
- }
- },
- "workspaceMount": "source=${localWorkspaceFolder},target=/root/workspace,type=bind",
- "workspaceFolder": "/root/workspace"
+ "containerUser": "aztec-dev",
+ // ubuntu:noble is currently not supported.
+ // Can possibly workaround cherry-picking from here:
+ // https://github.com/devcontainers/features/blob/main/src/docker-in-docker/install.sh
+ //
+ // "image": "aztecprotocol/codespace",
+ // "features": {
+ // "docker-in-docker": {
+ // "version": "latest",
+ // "moby": true,
+ // "dockerDashComposeVersion": "v1"
+ // }
+ // },
+ "mounts": ["source=devbox-home,target=/home/aztec-dev,type=volume"]
}
diff --git a/.devcontainer/react/devcontainer.json b/.devcontainer/react/devcontainer.json
index a403239429b..0933a0c859e 100644
--- a/.devcontainer/react/devcontainer.json
+++ b/.devcontainer/react/devcontainer.json
@@ -12,11 +12,6 @@
"extensions": ["noir-lang.vscode-noir"]
}
},
- "hostRequirements": {
- "cpus": 8,
- "memory": "8gb",
- "storage": "32gb"
- },
"workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/scripts,target=/root/workspace,type=bind",
"workspaceFolder": "/root/workspace",
"forwardPorts": [8080]
diff --git a/.devcontainer/scripts/onCreateCommand.sh b/.devcontainer/scripts/onCreateCommand.sh
index 74e240cdb3c..0f2f25affee 100755
--- a/.devcontainer/scripts/onCreateCommand.sh
+++ b/.devcontainer/scripts/onCreateCommand.sh
@@ -3,7 +3,6 @@
TYPE=$1
NAME=$2
-
curl -s install.aztec.network | NON_INTERACTIVE=1 BIN_PATH=/usr/local/bin bash -s
docker compose -f $HOME/.aztec/docker-compose.yml pull
@@ -11,11 +10,17 @@ if ! grep -q "PXE_URL" ~/.bashrc; then
echo "export PXE_URL=https://\$CODESPACE_NAME-8080.preview.\$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN" >> ~/.bashrc
fi
+if ! grep -q "alias sandbox" ~/.bashrc; then
+ echo "alias sandbox=\"npx create-aztec-app sandbox\"" >> ~/.bashrc
+fi
+
+source ~/.bashrc
yes | npx create-aztec-app -t $TYPE -n $NAME -s
-mv react/* react/.* .
-rm -rf react
+mv $NAME/* $NAME/.* .
+rm -rf $NAME
yarn
npx -y playwright install --with-deps
+yarn add @aztec/builder
yarn prep
diff --git a/.devcontainer/scripts/postAttachCommand.sh b/.devcontainer/scripts/postAttachCommand.sh
index 4b092522be6..2ff4a39973b 100755
--- a/.devcontainer/scripts/postAttachCommand.sh
+++ b/.devcontainer/scripts/postAttachCommand.sh
@@ -5,7 +5,7 @@ NAME=$2
apt install gh
gh codespace ports visibility 8080:public -c $CODESPACE_NAME
-(nohup /usr/local/bin/aztec sandbox &)
+npx create-aztec-app sandbox start
r=$(tput sgr0) # Reset color
bold=$(tput bold) # Bold text
@@ -52,14 +52,16 @@ echo "${bold}${b}██╔══██║ ███╔╝ ██║ ██
echo "${bold}${p}██║ ██║███████╗ ██║ ███████╗╚██████╗${r}"
echo "${bold}${y}╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═════╝${r}"
echo
-print_colored "${bold}Sandbox Codespace" "cyan"
print_colored "${bold}Your codespace is ready with your chosen box! 🎉" "cyan"
+print_colored "You can now yarn dev or any other package.json script." "cyan"
echo
-print_colored "All the packages are already installed, and you can now run yarn dev or any other package.json script." "magenta"
-print_colored "You can also use this codespace for its running sandbox, by connecting your local environment to it." "magenta"
+print_colored "Manage the running development network by running:" "magenta"
+print_colored "sandbox [start, stop, logs, etc]" "green"
+print_colored "example: \"sandbox logs\""
echo
-print_colored "To do so, set the PXE_URL to this codespace's sandbox URL:" "magenta"
+print_colored "You can also connect your local environment to it." "magenta"
+print_colored "To do so, prepend your commands with this codespace's sandbox URL:" "magenta"
print_colored "${PXE_URL}" "green"
-print_colored "ex. PXE_URL=\"${PXE_URL}\" yarn dev"
+print_colored "example: PXE_URL=\"${PXE_URL}\" yarn dev"
echo
print_colored "${bold}Enjoy your sandbox! 🏖️" "orange"
diff --git a/.devcontainer/token/devcontainer.json b/.devcontainer/token/devcontainer.json
index ebb1cef6f52..76e4eb255ec 100644
--- a/.devcontainer/token/devcontainer.json
+++ b/.devcontainer/token/devcontainer.json
@@ -4,27 +4,15 @@
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},
- "onCreateCommand": ".devcontainer/scripts/onCreateCommand.sh contract token_contract",
- "postAttachCommand": ".devcontainer/scripts/postAttachCommand.sh contract token_contract",
+ "onCreateCommand": "cp -R /root/workspace /root/scripts && rm -rf /root/workspace/* && sh /root/scripts/onCreateCommand.sh contract token_contract",
+ "postAttachCommand": "sh /root/scripts/postAttachCommand.sh contract token_contract",
"customizations": {
"vscode": {
"settings": {},
"extensions": ["noir-lang.vscode-noir"]
}
},
- "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/token_contract,target=/root/workspace,type=bind",
+ "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/scripts,target=/root/workspace,type=bind",
"workspaceFolder": "/root/workspace",
- "hostRequirements": {
- "cpus": 8,
- "memory": "8gb",
- "storage": "32gb"
- },
- "mounts": [
- {
- "source": "${localWorkspaceFolder}/.devcontainer/scripts",
- "target": "/root/workspace/.devcontainer/scripts",
- "type": "bind"
- }
- ],
"forwardPorts": [8080]
}
diff --git a/.devcontainer/vanilla/devcontainer.json b/.devcontainer/vanilla/devcontainer.json
index 340a8a41703..d34ef216747 100644
--- a/.devcontainer/vanilla/devcontainer.json
+++ b/.devcontainer/vanilla/devcontainer.json
@@ -1,30 +1,18 @@
{
- "name": "Vanilla Typescript App",
- "image": "node:lts-bookworm",
- "features": {
- "ghcr.io/devcontainers/features/docker-in-docker:2": {}
- },
- "onCreateCommand": ".devcontainer/scripts/onCreateCommand.sh app vanilla",
- "postAttachCommand": ".devcontainer/scripts/postAttachCommand.sh app vanilla",
- "customizations": {
- "vscode": {
- "settings": {},
- "extensions": ["noir-lang.vscode-noir"]
- }
- },
- "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/vanilla,target=/root/workspace,type=bind",
- "workspaceFolder": "/root/workspace",
- "hostRequirements": {
- "cpus": 8,
- "memory": "8gb",
- "storage": "32gb"
- },
- "mounts": [
- {
- "source": "${localWorkspaceFolder}/.devcontainer/scripts",
- "target": "/root/workspace/.devcontainer/scripts",
- "type": "bind"
- }
- ],
- "forwardPorts": [8080]
+ "name": "Vanilla Typescript App",
+ "image": "node:lts-bookworm",
+ "features": {
+ "ghcr.io/devcontainers/features/docker-in-docker:2": {}
+ },
+ "onCreateCommand": "cp -R /root/workspace /root/scripts && rm -rf /root/workspace/* && sh /root/scripts/onCreateCommand.sh app vanilla",
+ "postAttachCommand": "sh /root/scripts/postAttachCommand.sh app vanilla",
+ "customizations": {
+ "vscode": {
+ "settings": {},
+ "extensions": ["noir-lang.vscode-noir"]
+ }
+ },
+ "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/scripts,target=/root/workspace,type=bind",
+ "workspaceFolder": "/root/workspace",
+ "forwardPorts": [8080]
}
diff --git a/.github/ci-setup-action/action.yml b/.github/ci-setup-action/action.yml
index 4b1d7da6dbb..f5d8029f656 100644
--- a/.github/ci-setup-action/action.yml
+++ b/.github/ci-setup-action/action.yml
@@ -1,14 +1,14 @@
# Reusable setup workflow for CI tasks
name: Setup Workflow
-description: 'Reusable setup steps'
+description: "Reusable setup steps"
inputs:
dockerhub_password:
required: true
- description: 'DockerHub Password'
+ description: "DockerHub Password"
concurrency_key:
required: false
- description: 'Concurrency key for locking jobs'
+ description: "Concurrency key for locking jobs"
runs:
# define an action, runs in OS of caller
using: composite
@@ -43,11 +43,14 @@ runs:
with:
# permission issue with spot runners, simpler to leave out
use-cache: false
- version: 'v0.8.5'
+ version: "v0.8.5"
- name: Setup Env
shell: bash
run: ./scripts/setup_env.sh ${{ inputs.dockerhub_password }}
+ env:
+ PULL_REQUEST: "${{ github.event.pull_request.number }}"
+ BRANCH: "${{ github.ref_name }}"
# As detailed in https://github.com/ben-z/gh-action-mutex
# things do not become 'pending' in github actions, and instead just cancel one another
diff --git a/.github/spot-runner-action/.gitignore b/.github/spot-runner-action/.gitignore
new file mode 100644
index 00000000000..486c2c13a8d
--- /dev/null
+++ b/.github/spot-runner-action/.gitignore
@@ -0,0 +1,134 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Optional stylelint cache
+.stylelintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+lib
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# vuepress v2.x temp and cache directory
+.temp
+.cache
+
+# Docusaurus cache and generated files
+.docusaurus
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+mockConfig.ts
+
+# intellij
+.idea
\ No newline at end of file
diff --git a/.github/spot-runner-action/LICENSE b/.github/spot-runner-action/LICENSE
new file mode 100644
index 00000000000..261eeb9e9f8
--- /dev/null
+++ b/.github/spot-runner-action/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/.github/spot-runner-action/README.md b/.github/spot-runner-action/README.md
new file mode 100644
index 00000000000..b43b3b00a81
--- /dev/null
+++ b/.github/spot-runner-action/README.md
@@ -0,0 +1,193 @@
+# EC2 Github Action Builder
+
+## TL;DR
+Jump to [examples](#example-usage)
+
+## Overview
+
+This is a custom GitHub action to provision and manage self-hosted runners using AWS EC2 On-Demand and/or Spot instances.
+
+It offers multiple spot instance provisioning modes:
+
+- **None:** (default) Strictly On-Demand instances only
+- **SpotOnly**: Strictly Spot instances only
+- **BestEffort**: Use a Spot instance of same class and size when price is <= On-Demand
+ - (Automatic fallback to On-Demand)
+
+Supported operating system AMIs:
+- Amazon Linux
+- Ubuntu
+- Debian
+
+## Why?
+
+### Cost Savings
+Operating system vCPUs Per-minute rate (USD)
+```text
+OS vCPU GH Price/Minute EC2 Price/Minute
+Linux 2 $0.008 $0.001284 (c5a.large)
+Linux 4 $0.016 $0.00257 (c5a.xlarge)
+Linux 8 $0.032 $0.00514 (c5a.2xlarge)
+Linux 16 $0.064 $0.0114 (c5.4xlarge)
+Linux 32 $0.128 $0.02054 (c5a.8xlarge)
+Linux 64 $0.256 $0.041067 (c5a.16xlarge)
+```
+
+Sources:
+- [EC2 On-Demand Pricing](https://aws.amazon.com/ec2/pricing/on-demand/)
+- [GH Action Runner Pricing](https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#per-minute-rates)
+
+### Customizable Machine Image
+Users can provide their own custom AMI image pre-loaded with all the necessary tooling of their choice saving time and cost.
+
+### Enhance Security
+- EC2 instances run within your infrastructure
+- Easier to harden runner instances using custom AMIs, Security Groups etc
+- Easier monitoring and vulnerability scanning using existing tools (e.g CloudWatch, GuardDuty, AWS Inspector etc)
+- Secure networking setup by eliminating any need to expose ports to external service or using Bastion hosts!
+- Lower data transfer costs (e.g ECR images, S3 objects etc)
+
+## Setup
+
+### 1. Create GitHub Personal Access Token
+1. Create a [fine-grained personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)
+2. Edit the token permissions and select `Only select repositories` for `Repository access`
+3. Select any repositories you wish to use with this action
+4. Grant `Read and Write access` for `Administration` access level under Repository permissions
+5. Add the token to GitHub Action secrets and note the secret name
+
+### 2. Setup GitHub Secrets for IAM credentials
+
+1. Add your `IAM Access Key ID` and `Secret Access Key` to GitHub Secrets and note the secret names!
+2. Modify `${{ secrets.DEPLOY_AWS_ACCESS_KEY_ID }}` and `${{ secrets.DEPLOY_AWS_SECRET_ACCESS_KEY }}` in examples below to match the names of your GH secrets
+
+*Note*: For information about required IAM permissions check **IAM role policy** [here](./docs/CrossAccountIAM.md)
+
+### 3. Collect EC2 information:
+
+- `AWS Region` (e.g `us-west-2`)
+- `EC2 AMI ID` for your desired instance type in the region ([Ubuntu AMI Locator](https://cloud-images.ubuntu.com/locator/ec2/))
+ - **Important Note:** Only Ubuntu, Amazon Linux and Debian AMIs have been tested
+ - To find AMIs **_for other operating systems follow instructions_** [here](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)
+- `EC2 Subnet ID` for any subnet with internet access (Can be private with NAT)
+- `EC2 Security Group ID` for any security group which allows all outbound traffic (Default configuration for an empty Security Group)
+
+Note: The security group does not require any in-bound rules. You can add in-bound rules based on your needs (e.g open SSH port 22)
+
+
+Examples
+
+
+### Standard
+
+- Modify `ec2_spot_instance_strategy` for other deployment strategies. List of all values can be found [here](action.yaml)
+- Modify `github_token` value to match the name for your Personal Access Token secret name
+
+```yaml
+jobs:
+ start-runner:
+ timeout-minutes: 5 # normally it only takes 1-2 minutes
+ name: Start self-hosted EC2 runner
+ runs-on: ubuntu-latest
+ permissions:
+ actions: write
+ steps:
+ - name: Start EC2 runner
+ id: start-ec2-runner
+ uses: NextChapterSoftware/ec2-action-builder@v1
+ with:
+ github_token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
+ aws_access_key_id: ${{ secrets.DEPLOY_AWS_ACCESS_KEY_ID }}
+ aws_secret_access_key: ${{ secrets.DEPLOY_AWS_SECRET_ACCESS_KEY }}
+ aws_region: "us-west-2"
+ ec2_instance_type: c5.4xlarge
+ ec2_ami_id: ami-008fe2fc65df48dac
+ ec2_subnet_id: "SUBNET_ID_REDACTED"
+ ec2_security_group_id: "SECURITY_GROUP_ID_REDACTED"
+ ec2_instance_ttl: 40 # Optional (default is 60 minutes)
+ ec2_spot_instance_strategy: None # Other options are: SpotOnly, BestEffort
+
+ # Job that runs on the self-hosted runner
+ run-build:
+ timeout-minutes: 1
+ needs:
+ - start-runner
+ runs-on: ${{ github.run_id }}
+ steps:
+ - run: env
+```
+
+
+### Advanced
+
+- IAM policy and role setup instructions can be found [here](docs/CrossAccountIAM.md)
+- Modify `ec2_spot_instance_strategy` for other deployment strategies. List of all values can be found [here](action.yaml)
+
+```yaml
+jobs:
+ start-runner:
+ timeout-minutes: 5 # normally it only takes 1-2 minutes
+ name: Start self-hosted EC2 runner
+ runs-on: ubuntu-latest
+ permissions:
+ actions: write
+ steps:
+ - name: Start EC2 runner
+ id: start-ec2-runner
+ uses: NextChapterSoftware/ec2-action-builder@v1
+ with:
+ aws_access_key_id: ${{ secrets.DEPLOY_AWS_ACCESS_KEY_ID }}
+ aws_secret_access_key: ${{ secrets.DEPLOY_AWS_SECRET_ACCESS_KEY }}
+ aws_iam_role_arn: "arn:aws:iam::REDACTED:role/REDACTED"
+ aws_region: "us-west-2"
+ github_token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
+ github_action_runner_version: v2.300.2 # Optional (default is latest release)
+ ec2_instance_type: c5.4xlarge
+ ec2_ami_id: ami-008fe2fc65df48dac
+ ec2_subnet_id: "SUBNET_ID_REDACTED"
+ ec2_security_group_id: "SECURITY_GROUP_ID_REDACTED"
+ ec2_instance_ttl: 40 # Optional (default is 60 minutes)
+ ec2_spot_instance_strategy: BestEffort # Other options are: None, BestEffort
+ ec2_instance_tags: > # Required for IAM role resource permission scoping
+ [
+ {"Key": "Owner", "Value": "deploybot"}
+ ]
+
+ # Job that runs on the self-hosted runner
+ run-build:
+ timeout-minutes: 1
+ needs:
+ - start-runner
+ runs-on: ${{ github.run_id }}
+ steps:
+ - run: env
+```
+## How it all works under the hood
+
+### General instance launch flow
+- Your GitHub personal token is used to obtain a Runner Registration token
+- If no explicit runner version has been provided, it will retrieve the latest version number
+- It then uses all the provided info to compile an EC2 user-data script which does the following:
+ - Set a max TTL on the EC2 instance on startup
+ - Create a shutdown script which is executed when jobs end
+ - Downloads GitHub Action Runner bundle
+ - Unpack Action Runner bundle
+ - Configure Runner agent as an **ephemeral** agent
+- EC2 instance is launched with the user-data script from previous step
+- Once EC2 boot has completed, user-data script is executed
+- Runner binary registers itself with GitHub API using the current job ID
+- Once the Runner is registered, control is transferred to the next job (this is your build job)
+- Upon a job completion (failure/success), Shutdown script is triggered to kill the instance with a 1 minute delay
+
+### Spot instance provisioning
+- Script looks up On-Demand price for the supplied instance type
+- It will then look up EC2 Spot instance prices using AWS API
+- Depending on the mode
+ - SpotOnly: It will try to launch a spot instance with On-Demand price as the max price cut-off
+ - BestEffort: It will try to launch a spot instance but falls back to On-Demand if prices are too high!
+
+## Other EC2 Considerations
+- Each instance is named as "{repo}-{jobID}"
+- Default EC2 TTL is 60 minutes
+- Other EC2 tags are `github_job_id` and `github_ref`
+- Spot instances might be taken away by AWS without any prior notice
\ No newline at end of file
diff --git a/.github/spot-runner-action/action.yaml b/.github/spot-runner-action/action.yaml
new file mode 100644
index 00000000000..4b33c7d344f
--- /dev/null
+++ b/.github/spot-runner-action/action.yaml
@@ -0,0 +1,71 @@
+name: 'Deploy self-hosted runners to EC2 (Spot/On-Demand)'
+description: 'Automatically deploy self-hosted runners to AWS EC2 using Spot/On-Demand instances and optimize for best performance/cost.'
+branding:
+ icon: 'server'
+ color: 'orange'
+inputs:
+ aws_access_key_id:
+ description: 'AWS access key ID'
+ required: true
+ aws_secret_access_key:
+ description: 'AWS secret access key'
+ required: true
+ aws_region:
+ description: 'AWS Region'
+ required: true
+ aws_iam_role_arn:
+ description: 'ARN of IAM role to assume'
+ required: false
+ default: ''
+ github_token:
+ description: 'GitHub token'
+ required: true
+ runner_label:
+ description: 'Key for when to recreate spot, use as runs-on'
+ required: true
+ runner_concurrency:
+ description: 'How many runners to create'
+ type: number
+ required: true
+ subaction:
+ description: 'One of: start (default), stop, restart'
+ required: false
+ default: 'start'
+ github_action_runner_version:
+ description: 'GitHub action runner version'
+ required: false
+ ec2_instance_type:
+ description: 'Ec2 instance type'
+ required: true
+ ec2_ami_id:
+ description: 'Ec2 ami ID'
+ required: true
+ ec2_instance_tags:
+ description: 'List of extra aws resource tags for ec2 instance'
+ required: false
+ default: '{}'
+ ec2_instance_ttl:
+ description: 'Maximum duration an EC2 instance is allowed to live in minute'
+ required: false
+ default: '60'
+ ec2_security_group_id:
+ description: 'Security group id'
+ required: true
+ ec2_subnet_id:
+ description: 'Subnet id'
+ required: true
+ ec2_key_name:
+ description: 'EC2 keypair name'
+ required: true
+ ec2_spot_instance_strategy:
+ description: >
+ Spot instance scheduling modes:
+ None -> (default) no spot instances, use on-demand
+ SpotOnly -> Strictly spot instances only
+ BestEffort -> Use spot instances whenever they are cheaper than on-demand
+
+ required: false
+ default: "none"
+runs:
+ using: 'node20'
+ main: 'dist/index.js'
\ No newline at end of file
diff --git a/.github/spot-runner-action/dist/index.js b/.github/spot-runner-action/dist/index.js
new file mode 100644
index 00000000000..11ef8b6dde7
--- /dev/null
+++ b/.github/spot-runner-action/dist/index.js
@@ -0,0 +1,95014 @@
+/******/ (() => { // webpackBootstrap
+/******/ var __webpack_modules__ = ({
+
+/***/ 20088:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ActionConfig = void 0;
+const core = __importStar(__nccwpck_require__(42186));
+const github = __importStar(__nccwpck_require__(95438));
+class ActionConfig {
+ constructor() {
+ // AWS account and credentials params
+ this.awsAccessKeyId = core.getInput("aws_access_key_id");
+ this.awsSecretAccessKey = core.getInput("aws_secret_access_key");
+ this.awsRegion = core.getInput("aws_region");
+ this.awsIamRoleArn = core.getInput("aws_iam_role_arn");
+ this.awsAssumeRole = this.awsIamRoleArn ? true : false;
+ // Github params
+ this.githubToken = core.getInput("github_token");
+ this.githubJobId = core.getInput("runner_label");
+ this.githubRef = github.context.ref;
+ this.githubRepo = github.context.repo.repo;
+ this.githubActionRunnerVersion = core.getInput("github_action_runner_version");
+ this.githubActionRunnerLabel = this.githubJobId;
+ this.subaction = core.getInput("subaction");
+ this.githubActionRunnerConcurrency = +core.getInput("runner_concurrency");
+ // Ec2 params
+ this.ec2InstanceType = core.getInput("ec2_instance_type").split(" ");
+ this.ec2AmiId = core.getInput("ec2_ami_id");
+ this.ec2InstanceTags = core.getInput("ec2_instance_tags");
+ this.ec2InstanceTtl = core.getInput("ec2_instance_ttl");
+ this.ec2SubnetId = core.getInput("ec2_subnet_id");
+ this.ec2KeyName = core.getInput("ec2_key_name");
+ this.ec2SecurityGroupId = core.getInput("ec2_security_group_id");
+ this.ec2SpotInstanceStrategy = core
+ .getInput("ec2_spot_instance_strategy")
+ .toLowerCase();
+ }
+}
+exports.ActionConfig = ActionConfig;
+
+
+/***/ }),
+
+/***/ 32695:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Ec2Instance = void 0;
+const aws_sdk_1 = __importDefault(__nccwpck_require__(71786));
+const crypto = __importStar(__nccwpck_require__(6113));
+const core = __importStar(__nccwpck_require__(42186));
+const userdata_1 = __nccwpck_require__(77519);
+class Ec2Instance {
+ constructor(config) {
+ this.assumedRole = false;
+ this.config = config;
+ this.credentials = new aws_sdk_1.default.Credentials({
+ accessKeyId: this.config.awsAccessKeyId,
+ secretAccessKey: this.config.awsSecretAccessKey,
+ });
+ this.client = new aws_sdk_1.default.EC2({
+ credentials: this.credentials,
+ region: this.config.awsRegion,
+ });
+ this.tags = this.getTags();
+ }
+ getEc2Client() {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!this.assumedRole && this.config.awsAssumeRole) {
+ this.assumedRole = !this.assumedRole;
+ const credentials = yield this.getCrossAccountCredentials();
+ this.client = new aws_sdk_1.default.EC2({
+ credentials: credentials,
+ region: this.config.awsRegion,
+ });
+ }
+ return this.client;
+ });
+ }
+ getTags() {
+ // Parse custom tags
+ let customTags = [];
+ if (this.config.ec2InstanceTags) {
+ customTags = JSON.parse(this.config.ec2InstanceTags);
+ }
+ return [
+ {
+ Key: "Name",
+ Value: `${this.config.githubRepo}-${this.config.githubJobId}`,
+ },
+ {
+ Key: "github_ref",
+ Value: this.config.githubRef,
+ },
+ {
+ Key: "owner",
+ Value: "EC2_ACTION_BUILDER",
+ },
+ {
+ Key: "github_job_id",
+ Value: this.config.githubJobId,
+ },
+ {
+ Key: "github_repo",
+ Value: this.config.githubRepo,
+ },
+ ...customTags,
+ ];
+ }
+ getCrossAccountCredentials() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const stsClient = new aws_sdk_1.default.STS({
+ credentials: this.credentials,
+ region: this.config.awsRegion,
+ });
+ const timestamp = new Date().getTime();
+ const params = {
+ RoleArn: this.config.awsIamRoleArn,
+ RoleSessionName: `ec2-action-builder-${this.config.githubJobId}-${timestamp}`,
+ };
+ try {
+ const data = yield stsClient.assumeRole(params).promise();
+ if (data.Credentials)
+ return {
+ accessKeyId: data.Credentials.AccessKeyId,
+ secretAccessKey: data.Credentials.SecretAccessKey,
+ sessionToken: data.Credentials.SessionToken,
+ };
+ core.error(`STS returned empty response`);
+ throw Error("STS returned empty response");
+ }
+ catch (error) {
+ core.error(`STS assume role failed`);
+ throw error;
+ }
+ });
+ }
+ getSubnetAzId() {
+ var _a;
+ return __awaiter(this, void 0, void 0, function* () {
+ const client = yield this.getEc2Client();
+ try {
+ const subnets = (yield client
+ .describeSubnets({
+ SubnetIds: [this.config.ec2SubnetId],
+ })
+ .promise()).Subnets;
+ return (_a = subnets === null || subnets === void 0 ? void 0 : subnets.at(0)) === null || _a === void 0 ? void 0 : _a.AvailabilityZoneId;
+ }
+ catch (error) {
+ core.error(`Failed to lookup subnet az`);
+ throw error;
+ }
+ });
+ }
+ getSubnetAz() {
+ var _a;
+ return __awaiter(this, void 0, void 0, function* () {
+ const client = yield this.getEc2Client();
+ try {
+ const subnets = (yield client
+ .describeSubnets({
+ SubnetIds: [this.config.ec2SubnetId],
+ })
+ .promise()).Subnets;
+ return (_a = subnets === null || subnets === void 0 ? void 0 : subnets.at(0)) === null || _a === void 0 ? void 0 : _a.AvailabilityZone;
+ }
+ catch (error) {
+ core.error(`Failed to lookup subnet az`);
+ throw error;
+ }
+ });
+ }
+ getHashOfStringArray(strings) {
+ const hash = crypto.createHash("sha256");
+ hash.update(strings.join("")); // Concatenate all strings in the array
+ return hash.digest("hex");
+ }
+ getLaunchTemplate() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const client = yield this.getEc2Client();
+ const userData = yield new userdata_1.UserData(this.config).getUserData();
+ const ec2InstanceTypeHash = this.getHashOfStringArray(this.config.ec2InstanceType.concat([userData, JSON.stringify(this.tags), this.config.ec2KeyName]));
+ const launchTemplateName = "aztec-packages-spot-" + this.config.ec2AmiId + "-" + ec2InstanceTypeHash;
+ const launchTemplateParams = {
+ LaunchTemplateName: launchTemplateName,
+ LaunchTemplateData: {
+ ImageId: this.config.ec2AmiId,
+ InstanceInitiatedShutdownBehavior: "terminate",
+ InstanceRequirements: {
+ // We do not know what the instance types correspond to
+ // just let the user send a list of allowed instance types
+ VCpuCount: { Min: 0 },
+ MemoryMiB: { Min: 0 },
+ AllowedInstanceTypes: this.config.ec2InstanceType,
+ },
+ SecurityGroupIds: [this.config.ec2SecurityGroupId],
+ KeyName: this.config.ec2KeyName,
+ UserData: userData,
+ TagSpecifications: [
+ {
+ ResourceType: "instance",
+ Tags: this.tags,
+ },
+ ],
+ BlockDeviceMappings: [
+ {
+ DeviceName: "/dev/sda1",
+ Ebs: {
+ VolumeSize: 32,
+ },
+ },
+ ],
+ },
+ };
+ core.info("Creating launch template: " + launchTemplateName);
+ yield client.createLaunchTemplate(launchTemplateParams).promise();
+ return launchTemplateName;
+ });
+ }
+ requestMachine(useOnDemand) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // Note advice re max bid: "If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter."
+ const launchTemplateName = yield this.getLaunchTemplate();
+ const availabilityZone = yield this.getSubnetAz();
+ const fleetLaunchConfig = {
+ LaunchTemplateSpecification: {
+ Version: "$Latest",
+ LaunchTemplateName: launchTemplateName,
+ },
+ Overrides: this.config.ec2InstanceType.map((instanceType) => ({
+ InstanceType: instanceType,
+ AvailabilityZone: availabilityZone,
+ SubnetId: this.config.ec2SubnetId,
+ })),
+ };
+ const createFleetRequest = {
+ Type: "instant",
+ LaunchTemplateConfigs: [fleetLaunchConfig],
+ TargetCapacitySpecification: {
+ TotalTargetCapacity: 1,
+ OnDemandTargetCapacity: useOnDemand ? 1 : 0,
+ SpotTargetCapacity: useOnDemand ? 0 : 1,
+ DefaultTargetCapacityType: useOnDemand ? "on-demand" : "spot",
+ },
+ };
+ const client = yield this.getEc2Client();
+ const fleet = yield client.createFleet(createFleetRequest).promise();
+ const instances = ((fleet === null || fleet === void 0 ? void 0 : fleet.Instances) || [])[0] || {};
+ // cleanup
+ yield client.deleteLaunchTemplate({
+ LaunchTemplateName: launchTemplateName,
+ });
+ return (instances.InstanceIds || [])[0];
+ });
+ }
+ getInstanceStatus(instanceId) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const client = yield this.getEc2Client();
+ try {
+ const instanceList = (yield client
+ .describeInstanceStatus({ InstanceIds: [instanceId] })
+ .promise()).InstanceStatuses;
+ return instanceList === null || instanceList === void 0 ? void 0 : instanceList.at(0);
+ }
+ catch (error) {
+ core.error(`Failed to lookup status for instance ${instanceId}`);
+ throw error;
+ }
+ });
+ }
+ getInstancesForTags(instanceStatus) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const client = yield this.getEc2Client();
+ const filters = [
+ {
+ Name: "tag:Name",
+ Values: [`${this.config.githubRepo}-${this.config.githubJobId}`],
+ },
+ ];
+ try {
+ var params = {
+ Filters: filters,
+ MaxResults: 99,
+ };
+ let instances = [];
+ for (const reservation of (yield client.describeInstances(params).promise()).Reservations || []) {
+ instances = instances.concat(reservation.Instances || []);
+ }
+ if (instanceStatus) {
+ // Filter instances that are stopped
+ instances = instances.filter((instance) => { var _a; return ((_a = instance === null || instance === void 0 ? void 0 : instance.State) === null || _a === void 0 ? void 0 : _a.Name) === instanceStatus; });
+ }
+ return instances;
+ }
+ catch (error) {
+ core.error(`Failed to lookup status for instance for tags ${JSON.stringify(filters, null, 2)}`);
+ throw error;
+ }
+ });
+ }
+ waitForInstanceRunningStatus(instanceId) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const client = yield this.getEc2Client();
+ try {
+ yield client
+ .waitFor("instanceRunning", { InstanceIds: [instanceId] })
+ .promise();
+ core.info(`AWS EC2 instance ${instanceId} is up and running`);
+ return;
+ }
+ catch (error) {
+ core.error(`AWS EC2 instance ${instanceId} init error`);
+ throw error;
+ }
+ });
+ }
+ terminateInstances(instanceIds) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (instanceIds.length === 0) {
+ return;
+ }
+ const client = yield this.getEc2Client();
+ try {
+ yield client.terminateInstances({ InstanceIds: instanceIds }).promise();
+ core.info(`AWS EC2 instances ${instanceIds.join(", ")} are terminated`);
+ return;
+ }
+ catch (error) {
+ core.info(`Failed to terminate instances ${instanceIds.join(", ")}`);
+ throw error;
+ }
+ });
+ }
+}
+exports.Ec2Instance = Ec2Instance;
+
+
+/***/ }),
+
+/***/ 85928:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.GithubClient = void 0;
+const github = __importStar(__nccwpck_require__(95438));
+const http_client_1 = __nccwpck_require__(96255);
+const _ = __importStar(__nccwpck_require__(90250));
+const core = __importStar(__nccwpck_require__(42186));
+class GithubClient {
+ constructor(config) {
+ this.config = config;
+ }
+ getRunnerVersion() {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (this.config.githubActionRunnerVersion)
+ return this.config.githubActionRunnerVersion.replace("v", "");
+ const httpClient = new http_client_1.HttpClient("http-client");
+ const res = yield httpClient.get("https://api.github.com/repos/actions/runner/releases/latest");
+ const body = yield res.readBody();
+ const obj = JSON.parse(body);
+ // aztec: workaround random flake in this api seem in ci
+ return (obj["tag_name"] || "v2.315.0").replace("v", "");
+ });
+ }
+ getAllRunners() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const octokit = github.getOctokit(this.config.githubToken);
+ try {
+ let page = 1;
+ const per_page = 100;
+ let response = yield octokit.rest.actions.listSelfHostedRunnersForRepo({
+ owner: github.context.repo.owner,
+ repo: github.context.repo.repo,
+ per_page,
+ page,
+ });
+ let allRunners = response.data.runners;
+ let totalCount = response.data.total_count;
+ while (allRunners.length < totalCount) {
+ page++;
+ response = yield octokit.rest.actions.listSelfHostedRunnersForRepo({
+ owner: github.context.repo.owner,
+ repo: github.context.repo.repo,
+ per_page,
+ page,
+ });
+ totalCount = response.data.total_count;
+ allRunners = allRunners.concat(response.data.runners);
+ }
+ return allRunners;
+ }
+ catch (error) {
+ core.error(`Failed to list github runners: ${error}`);
+ throw error;
+ }
+ });
+ }
+ getRunnersWithLabels(labels) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const searchLabels = {
+ labels: labels.map(function (label) {
+ return { name: label };
+ }),
+ };
+ return _.filter(yield this.getAllRunners(), searchLabels);
+ });
+ }
+ getRunnerRegistrationToken() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const octokit = github.getOctokit(this.config.githubToken);
+ try {
+ const response = yield octokit.rest.actions.createRegistrationTokenForRepo({
+ owner: github.context.repo.owner,
+ repo: github.context.repo.repo,
+ });
+ return response.data;
+ }
+ catch (error) {
+ core.error(`Failed to get Runner registration token: ${error}`);
+ throw error;
+ }
+ });
+ }
+ removeRunnersWithLabels(labels) {
+ return __awaiter(this, void 0, void 0, function* () {
+ let deletedAll = true;
+ try {
+ const runners = yield this.getRunnersWithLabels(labels);
+ console.log("Found existing runners:", runners.map((r) => r.name));
+ const octokit = github.getOctokit(this.config.githubToken);
+ for (const runner of runners) {
+ const response = yield octokit.rest.actions.deleteSelfHostedRunnerFromRepo({
+ owner: github.context.repo.owner,
+ repo: github.context.repo.repo,
+ runner_id: runner.id,
+ });
+ deletedAll = deletedAll && response.status == 204;
+ }
+ }
+ catch (error) {
+ core.error(`Failed to delete runner: ${error}`);
+ }
+ return deletedAll;
+ });
+ }
+ hasRunner(labels) {
+ return __awaiter(this, void 0, void 0, function* () {
+ for (const runner of yield this.getRunnersWithLabels(labels)) {
+ if (runner.status === "online") {
+ core.info(`GitHub self-hosted runner ${runner.name} with label ${labels} is ready to use. Continuing assuming other runners are online.`);
+ return true;
+ }
+ }
+ return false;
+ });
+ }
+ // Borrowed from https://github.com/machulav/ec2-github-runner/blob/main/src/aws.js
+ pollForRunnerCreation(labels) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const timeoutMinutes = 5;
+ const retryIntervalSeconds = 10;
+ const quietPeriodSeconds = 30;
+ let waitSeconds = 0;
+ core.info(`Waiting ${quietPeriodSeconds}s before polling for runners`);
+ yield new Promise((r) => setTimeout(r, quietPeriodSeconds * 1000));
+ core.info(`Polling for runners every ${retryIntervalSeconds}s`);
+ return new Promise((resolve, reject) => {
+ const interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
+ if (waitSeconds > timeoutMinutes * 60) {
+ core.error("GitHub self-hosted runner creation error");
+ clearInterval(interval);
+ reject(`A timeout of ${timeoutMinutes} minutes is exceeded. Please ensure your EC2 instance has access to the Internet.`);
+ }
+ if (yield this.hasRunner(labels)) {
+ clearInterval(interval);
+ return;
+ }
+ waitSeconds += retryIntervalSeconds;
+ core.info("Waiting for runners...");
+ }), retryIntervalSeconds * 1000);
+ });
+ });
+ }
+}
+exports.GithubClient = GithubClient;
+
+
+/***/ }),
+
+/***/ 3109:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(42186));
+const config_1 = __nccwpck_require__(20088);
+const ec2_1 = __nccwpck_require__(32695);
+const github_1 = __nccwpck_require__(85928);
+const utils_1 = __nccwpck_require__(50918);
+function pollSpotStatus(config, ec2Client, ghClient) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // 12 iters x 10000 ms = 2 minutes
+ for (let iter = 0; iter < 12; iter++) {
+ const instances = yield ec2Client.getInstancesForTags("running");
+ if (instances.length <= 0) {
+ // we need to start an instance
+ return "none";
+ }
+ try {
+ core.info("Found ec2 instance, looking for runners.");
+ if (yield ghClient.hasRunner([config.githubJobId])) {
+ // we have runners
+ return "usable";
+ }
+ }
+ catch (err) { }
+ // wait 10 seconds
+ yield new Promise((r) => setTimeout(r, 10000));
+ }
+ // we have a bad state for a while, error
+ core.warning("Looped for 2 minutes and could only find spot with no runners!");
+ return "unusable";
+ });
+}
+function start() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const config = new config_1.ActionConfig();
+ if (config.subaction === "stop") {
+ yield terminate();
+ return;
+ }
+ else if (config.subaction === "restart") {
+ yield terminate();
+ // then we make a fresh instance
+ }
+ else if (config.subaction === "start") {
+ // We need to terminate
+ yield terminate("stopped", false);
+ }
+ else {
+ throw new Error("Unexpected subaction: " + config.subaction);
+ }
+ // subaction is 'start' or 'restart'estart'
+ const ec2Client = new ec2_1.Ec2Instance(config);
+ const ghClient = new github_1.GithubClient(config);
+ const spotStatus = yield pollSpotStatus(config, ec2Client, ghClient);
+ if (spotStatus === "usable") {
+ core.info(`Runner already running. Continuing as we can target it with jobs.`);
+ return;
+ }
+ if (spotStatus === "unusable") {
+ core.warning("Taking down spot as it has no runners! If we were mistaken, this could impact existing jobs.");
+ if (config.subaction === "restart") {
+ throw new Error("Taking down spot we just started. This seems wrong, erroring out.");
+ }
+ yield terminate();
+ }
+ var ec2SpotStrategies;
+ switch (config.ec2SpotInstanceStrategy) {
+ case "besteffort": {
+ ec2SpotStrategies = ["BestEffort", "none"];
+ core.info("Ec2 spot instance strategy is set to 'BestEffort' with 'None' as fallback");
+ break;
+ }
+ default: {
+ ec2SpotStrategies = [config.ec2SpotInstanceStrategy];
+ core.info(`Ec2 spot instance strategy is set to ${config.ec2SpotInstanceStrategy}`);
+ }
+ }
+ var instanceId = "";
+ for (const ec2Strategy of ec2SpotStrategies) {
+ core.info(`Starting instance with ${ec2Strategy} strategy`);
+ // 6 * 10000ms = 1 minute per strategy
+ // TODO make longer lived spot request?
+ for (let i = 0; i < 6; i++) {
+ try {
+ // Start instance
+ instanceId = (yield ec2Client.requestMachine(
+ // we fallback to on-demand
+ ec2Strategy.toLocaleLowerCase() === "none")) || "";
+ if (instanceId) {
+ break;
+ }
+ // let's exit, only loop on InsufficientInstanceCapacity
+ break;
+ }
+ catch (error) {
+ // TODO is this still the relevant error?
+ if ((error === null || error === void 0 ? void 0 : error.code) &&
+ error.code === "InsufficientInstanceCapacity" &&
+ ec2SpotStrategies.length > 0 &&
+ ec2Strategy.toLocaleLowerCase() != "none") {
+ core.info("Failed to create instance due to 'InsufficientInstanceCapacity', waiting 10 seconds and trying again.");
+ // we loop after 10 seconds
+ }
+ else {
+ throw error;
+ }
+ }
+ // wait 10 seconds
+ yield new Promise((r) => setTimeout(r, 10000));
+ }
+ if (instanceId) {
+ core.info("Successfully requested instance with ID " + instanceId);
+ break;
+ }
+ }
+ if (instanceId)
+ yield ec2Client.waitForInstanceRunningStatus(instanceId);
+ else {
+ core.error("Failed to get ID of running instance");
+ throw Error("Failed to get ID of running instance");
+ }
+ if (instanceId)
+ yield ghClient.pollForRunnerCreation([config.githubJobId]);
+ else {
+ core.error("Instance failed to register with Github Actions");
+ throw Error("Instance failed to register with Github Actions");
+ }
+ });
+}
+function terminate(instanceStatus, cleanupRunners = true) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ core.info("Starting instance cleanup");
+ const config = new config_1.ActionConfig();
+ const ec2Client = new ec2_1.Ec2Instance(config);
+ const ghClient = new github_1.GithubClient(config);
+ const instances = yield ec2Client.getInstancesForTags(instanceStatus);
+ yield ec2Client.terminateInstances(instances.map((i) => i.InstanceId));
+ if (cleanupRunners) {
+ core.info("Clearing previously installed runners");
+ const result = yield ghClient.removeRunnersWithLabels([
+ config.githubJobId,
+ ]);
+ if (result) {
+ core.info("Finished runner cleanup");
+ }
+ else {
+ throw Error("Failed to cleanup runners. Continuing, but failure expected!");
+ }
+ }
+ }
+ catch (error) {
+ core.info(error);
+ }
+ });
+}
+(function () {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ start();
+ }
+ catch (error) {
+ terminate();
+ (0, utils_1.assertIsError)(error);
+ core.error(error);
+ core.setFailed(error.message);
+ }
+ });
+})();
+
+
+/***/ }),
+
+/***/ 77519:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.UserData = void 0;
+const github = __importStar(__nccwpck_require__(95438));
+const github_1 = __nccwpck_require__(85928);
+class UserData {
+ constructor(config) {
+ this.config = config;
+ }
+ getUserData() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const ghClient = new github_1.GithubClient(this.config);
+ const githubActionRunnerVersion = yield ghClient.getRunnerVersion();
+ // Retrieve runner registration tokens in parallel
+ const tokens = yield Promise.all(Array.from({ length: this.config.githubActionRunnerConcurrency }, () => ghClient.getRunnerRegistrationToken()));
+ if (!this.config.githubActionRunnerLabel)
+ throw Error("failed to object job ID for label");
+ const runnerNameBase = `${this.config.githubJobId}-ec2`;
+ // space-separated registration tokens
+ const tokensSpaceSep = tokens.map((t) => t.token).join(" ");
+ const bumpShutdown = `shutdown -c ; shutdown -P +${this.config.ec2InstanceTtl}`;
+ // Note, we dont make the runner ephemeral as we start fresh runners as needed
+ // and delay shutdowns whenever jobs start
+ // TODO could deregister runners right before shutdown starts
+ const cmds = [
+ "#!/bin/bash",
+ `exec 1>/run/log.out 2>&1`,
+ `shutdown -P +${this.config.ec2InstanceTtl}`,
+ "cd /run",
+ `mkdir -p shutdown-refcount`,
+ // Shutdown rules:
+ // - github actions job starts and ends always bump +ec2InstanceTtl minutes
+ // - when the amount of started jobs (start_run_* files) equal the amount of finished jobs (end_run_* files), we shutdown in 5 minutes (with a reaper script installed later)
+ `echo "${bumpShutdown}" > /run/delay_shutdown.sh`,
+ "chmod +x /run/delay_shutdown.sh",
+ "export ACTIONS_RUNNER_HOOK_JOB_STARTED=/run/delay_shutdown.sh",
+ "export ACTIONS_RUNNER_HOOK_JOB_COMPLETED=/run/delay_shutdown.sh",
+ "mkdir -p actions-runner && cd actions-runner",
+ 'echo "ACTIONS_RUNNER_HOOK_JOB_STARTED=/run/delay_shutdown.sh" > .env',
+ 'echo "ACTIONS_RUNNER_HOOK_JOB_COMPLETED=/run/delay_shutdown.sh" > .env',
+ `GH_RUNNER_VERSION=${githubActionRunnerVersion}`,
+ 'case $(uname -m) in aarch64) ARCH="arm64" ;; amd64|x86_64) ARCH="x64" ;; esac && export RUNNER_ARCH=${ARCH}',
+ "curl -O -L https://github.com/actions/runner/releases/download/v${GH_RUNNER_VERSION}/actions-runner-linux-${RUNNER_ARCH}-${GH_RUNNER_VERSION}.tar.gz",
+ "tar xzf ./actions-runner-linux-${RUNNER_ARCH}-${GH_RUNNER_VERSION}.tar.gz",
+ "export RUNNER_ALLOW_RUNASROOT=1",
+ "mv externals ..",
+ // Note sharing bin doesn't work due to using it as a folder, and we don't bother splitting up sharing bin
+ "rm ./actions-runner-linux-${RUNNER_ARCH}-${GH_RUNNER_VERSION}.tar.gz",
+ '[ -n "$(command -v yum)" ] && yum install libicu -y',
+ `TOKENS=(${tokensSpaceSep}) ; echo ${tokensSpaceSep} > /run/github-runner-tokens`,
+ `for i in {0..${this.config.githubActionRunnerConcurrency - 1}}; do`,
+ ` ( cp -r . ../${runnerNameBase}-$i && ln -s $(pwd)/../externals ../${runnerNameBase}-$i && cd ../${runnerNameBase}-$i && echo \${TOKENS[i]} > .runner-token && ./config.sh --unattended --url https://github.com/${github.context.repo.owner}/${github.context.repo.repo} --token \${TOKENS[i]} --labels ${this.config.githubActionRunnerLabel} --replace --name ${runnerNameBase}-$i ; ./run.sh ) &`,
+ "done",
+ "wait", // Wait for all background processes to finish
+ ];
+ console.log("Sending: ", cmds.filter((x) => !x.startsWith("TOKENS")).join("\n"));
+ return Buffer.from(cmds.join("\n")).toString("base64");
+ });
+ }
+}
+exports.UserData = UserData;
+
+
+/***/ }),
+
+/***/ 50918:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.assertIsError = exports.findValuesHelper = void 0;
+function findValuesHelper(obj, key) {
+ let list = [];
+ if (!obj)
+ return list;
+ if (obj instanceof Array) {
+ for (var i in obj) {
+ list = list.concat(findValuesHelper(obj[i], key));
+ }
+ return list;
+ }
+ if (obj[key])
+ list.push(obj[key]);
+ if (typeof obj == "object" && obj !== null) {
+ let children = Object.keys(obj);
+ if (children.length > 0) {
+ for (let i = 0; i < children.length; i++) {
+ list = list.concat(findValuesHelper(obj[children[i]], key));
+ }
+ }
+ }
+ return list;
+}
+exports.findValuesHelper = findValuesHelper;
+function assertIsError(error) {
+ if (!(error instanceof Error)) {
+ throw error;
+ }
+}
+exports.assertIsError = assertIsError;
+
+
+/***/ }),
+
+/***/ 87351:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.issue = exports.issueCommand = void 0;
+const os = __importStar(__nccwpck_require__(22037));
+const utils_1 = __nccwpck_require__(5278);
+/**
+ * Commands
+ *
+ * Command Format:
+ * ::name key=value,key=value::message
+ *
+ * Examples:
+ * ::warning::This is the message
+ * ::set-env name=MY_VAR::some value
+ */
+function issueCommand(command, properties, message) {
+ const cmd = new Command(command, properties, message);
+ process.stdout.write(cmd.toString() + os.EOL);
+}
+exports.issueCommand = issueCommand;
+function issue(name, message = '') {
+ issueCommand(name, {}, message);
+}
+exports.issue = issue;
+const CMD_STRING = '::';
+class Command {
+ constructor(command, properties, message) {
+ if (!command) {
+ command = 'missing.command';
+ }
+ this.command = command;
+ this.properties = properties;
+ this.message = message;
+ }
+ toString() {
+ let cmdStr = CMD_STRING + this.command;
+ if (this.properties && Object.keys(this.properties).length > 0) {
+ cmdStr += ' ';
+ let first = true;
+ for (const key in this.properties) {
+ if (this.properties.hasOwnProperty(key)) {
+ const val = this.properties[key];
+ if (val) {
+ if (first) {
+ first = false;
+ }
+ else {
+ cmdStr += ',';
+ }
+ cmdStr += `${key}=${escapeProperty(val)}`;
+ }
+ }
+ }
+ }
+ cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
+ return cmdStr;
+ }
+}
+function escapeData(s) {
+ return utils_1.toCommandValue(s)
+ .replace(/%/g, '%25')
+ .replace(/\r/g, '%0D')
+ .replace(/\n/g, '%0A');
+}
+function escapeProperty(s) {
+ return utils_1.toCommandValue(s)
+ .replace(/%/g, '%25')
+ .replace(/\r/g, '%0D')
+ .replace(/\n/g, '%0A')
+ .replace(/:/g, '%3A')
+ .replace(/,/g, '%2C');
+}
+//# sourceMappingURL=command.js.map
+
+/***/ }),
+
+/***/ 42186:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
+const command_1 = __nccwpck_require__(87351);
+const file_command_1 = __nccwpck_require__(717);
+const utils_1 = __nccwpck_require__(5278);
+const os = __importStar(__nccwpck_require__(22037));
+const path = __importStar(__nccwpck_require__(71017));
+const oidc_utils_1 = __nccwpck_require__(98041);
+/**
+ * The code to exit an action
+ */
+var ExitCode;
+(function (ExitCode) {
+ /**
+ * A code indicating that the action was successful
+ */
+ ExitCode[ExitCode["Success"] = 0] = "Success";
+ /**
+ * A code indicating that the action was a failure
+ */
+ ExitCode[ExitCode["Failure"] = 1] = "Failure";
+})(ExitCode = exports.ExitCode || (exports.ExitCode = {}));
+//-----------------------------------------------------------------------
+// Variables
+//-----------------------------------------------------------------------
+/**
+ * Sets env variable for this action and future actions in the job
+ * @param name the name of the variable to set
+ * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
+ */
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function exportVariable(name, val) {
+ const convertedVal = utils_1.toCommandValue(val);
+ process.env[name] = convertedVal;
+ const filePath = process.env['GITHUB_ENV'] || '';
+ if (filePath) {
+ return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
+ }
+ command_1.issueCommand('set-env', { name }, convertedVal);
+}
+exports.exportVariable = exportVariable;
+/**
+ * Registers a secret which will get masked from logs
+ * @param secret value of the secret
+ */
+function setSecret(secret) {
+ command_1.issueCommand('add-mask', {}, secret);
+}
+exports.setSecret = setSecret;
+/**
+ * Prepends inputPath to the PATH (for this action and future actions)
+ * @param inputPath
+ */
+function addPath(inputPath) {
+ const filePath = process.env['GITHUB_PATH'] || '';
+ if (filePath) {
+ file_command_1.issueFileCommand('PATH', inputPath);
+ }
+ else {
+ command_1.issueCommand('add-path', {}, inputPath);
+ }
+ process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
+}
+exports.addPath = addPath;
+/**
+ * Gets the value of an input.
+ * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
+ * Returns an empty string if the value is not defined.
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns string
+ */
+function getInput(name, options) {
+ const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
+ if (options && options.required && !val) {
+ throw new Error(`Input required and not supplied: ${name}`);
+ }
+ if (options && options.trimWhitespace === false) {
+ return val;
+ }
+ return val.trim();
+}
+exports.getInput = getInput;
+/**
+ * Gets the values of an multiline input. Each value is also trimmed.
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns string[]
+ *
+ */
+function getMultilineInput(name, options) {
+ const inputs = getInput(name, options)
+ .split('\n')
+ .filter(x => x !== '');
+ if (options && options.trimWhitespace === false) {
+ return inputs;
+ }
+ return inputs.map(input => input.trim());
+}
+exports.getMultilineInput = getMultilineInput;
+/**
+ * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
+ * Support boolean input list: `true | True | TRUE | false | False | FALSE` .
+ * The return value is also in boolean type.
+ * ref: https://yaml.org/spec/1.2/spec.html#id2804923
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns boolean
+ */
+function getBooleanInput(name, options) {
+ const trueValue = ['true', 'True', 'TRUE'];
+ const falseValue = ['false', 'False', 'FALSE'];
+ const val = getInput(name, options);
+ if (trueValue.includes(val))
+ return true;
+ if (falseValue.includes(val))
+ return false;
+ throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
+ `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
+}
+exports.getBooleanInput = getBooleanInput;
+/**
+ * Sets the value of an output.
+ *
+ * @param name name of the output to set
+ * @param value value to store. Non-string values will be converted to a string via JSON.stringify
+ */
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function setOutput(name, value) {
+ const filePath = process.env['GITHUB_OUTPUT'] || '';
+ if (filePath) {
+ return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
+ }
+ process.stdout.write(os.EOL);
+ command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
+}
+exports.setOutput = setOutput;
+/**
+ * Enables or disables the echoing of commands into stdout for the rest of the step.
+ * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
+ *
+ */
+function setCommandEcho(enabled) {
+ command_1.issue('echo', enabled ? 'on' : 'off');
+}
+exports.setCommandEcho = setCommandEcho;
+//-----------------------------------------------------------------------
+// Results
+//-----------------------------------------------------------------------
+/**
+ * Sets the action status to failed.
+ * When the action exits it will be with an exit code of 1
+ * @param message add error issue message
+ */
+function setFailed(message) {
+ process.exitCode = ExitCode.Failure;
+ error(message);
+}
+exports.setFailed = setFailed;
+//-----------------------------------------------------------------------
+// Logging Commands
+//-----------------------------------------------------------------------
+/**
+ * Gets whether Actions Step Debug is on or not
+ */
+function isDebug() {
+ return process.env['RUNNER_DEBUG'] === '1';
+}
+exports.isDebug = isDebug;
+/**
+ * Writes debug message to user log
+ * @param message debug message
+ */
+function debug(message) {
+ command_1.issueCommand('debug', {}, message);
+}
+exports.debug = debug;
+/**
+ * Adds an error issue
+ * @param message error issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function error(message, properties = {}) {
+ command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.error = error;
+/**
+ * Adds a warning issue
+ * @param message warning issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function warning(message, properties = {}) {
+ command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.warning = warning;
+/**
+ * Adds a notice issue
+ * @param message notice issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function notice(message, properties = {}) {
+ command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.notice = notice;
+/**
+ * Writes info to log with console.log.
+ * @param message info message
+ */
+function info(message) {
+ process.stdout.write(message + os.EOL);
+}
+exports.info = info;
+/**
+ * Begin an output group.
+ *
+ * Output until the next `groupEnd` will be foldable in this group
+ *
+ * @param name The name of the output group
+ */
+function startGroup(name) {
+ command_1.issue('group', name);
+}
+exports.startGroup = startGroup;
+/**
+ * End an output group.
+ */
+function endGroup() {
+ command_1.issue('endgroup');
+}
+exports.endGroup = endGroup;
+/**
+ * Wrap an asynchronous function call in a group.
+ *
+ * Returns the same type as the function itself.
+ *
+ * @param name The name of the group
+ * @param fn The function to wrap in the group
+ */
+function group(name, fn) {
+ return __awaiter(this, void 0, void 0, function* () {
+ startGroup(name);
+ let result;
+ try {
+ result = yield fn();
+ }
+ finally {
+ endGroup();
+ }
+ return result;
+ });
+}
+exports.group = group;
+//-----------------------------------------------------------------------
+// Wrapper action state
+//-----------------------------------------------------------------------
+/**
+ * Saves state for current action, the state can only be retrieved by this action's post job execution.
+ *
+ * @param name name of the state to store
+ * @param value value to store. Non-string values will be converted to a string via JSON.stringify
+ */
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function saveState(name, value) {
+ const filePath = process.env['GITHUB_STATE'] || '';
+ if (filePath) {
+ return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
+ }
+ command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
+}
+exports.saveState = saveState;
+/**
+ * Gets the value of an state set by this action's main execution.
+ *
+ * @param name name of the state to get
+ * @returns string
+ */
+function getState(name) {
+ return process.env[`STATE_${name}`] || '';
+}
+exports.getState = getState;
+function getIDToken(aud) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return yield oidc_utils_1.OidcClient.getIDToken(aud);
+ });
+}
+exports.getIDToken = getIDToken;
+/**
+ * Summary exports
+ */
+var summary_1 = __nccwpck_require__(81327);
+Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } }));
+/**
+ * @deprecated use core.summary
+ */
+var summary_2 = __nccwpck_require__(81327);
+Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } }));
+/**
+ * Path exports
+ */
+var path_utils_1 = __nccwpck_require__(2981);
+Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } }));
+Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } }));
+Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }));
+//# sourceMappingURL=core.js.map
+
+/***/ }),
+
+/***/ 717:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+// For internal use, subject to change.
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
+// We use any as a valid input type
+/* eslint-disable @typescript-eslint/no-explicit-any */
+const fs = __importStar(__nccwpck_require__(57147));
+const os = __importStar(__nccwpck_require__(22037));
+const uuid_1 = __nccwpck_require__(75840);
+const utils_1 = __nccwpck_require__(5278);
+function issueFileCommand(command, message) {
+ const filePath = process.env[`GITHUB_${command}`];
+ if (!filePath) {
+ throw new Error(`Unable to find environment variable for file command ${command}`);
+ }
+ if (!fs.existsSync(filePath)) {
+ throw new Error(`Missing file at path: ${filePath}`);
+ }
+ fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, {
+ encoding: 'utf8'
+ });
+}
+exports.issueFileCommand = issueFileCommand;
+function prepareKeyValueMessage(key, value) {
+ const delimiter = `ghadelimiter_${uuid_1.v4()}`;
+ const convertedValue = utils_1.toCommandValue(value);
+ // These should realistically never happen, but just in case someone finds a
+ // way to exploit uuid generation let's not allow keys or values that contain
+ // the delimiter.
+ if (key.includes(delimiter)) {
+ throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
+ }
+ if (convertedValue.includes(delimiter)) {
+ throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
+ }
+ return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
+}
+exports.prepareKeyValueMessage = prepareKeyValueMessage;
+//# sourceMappingURL=file-command.js.map
+
+/***/ }),
+
+/***/ 98041:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.OidcClient = void 0;
+const http_client_1 = __nccwpck_require__(96255);
+const auth_1 = __nccwpck_require__(35526);
+const core_1 = __nccwpck_require__(42186);
+class OidcClient {
+ static createHttpClient(allowRetry = true, maxRetry = 10) {
+ const requestOptions = {
+ allowRetries: allowRetry,
+ maxRetries: maxRetry
+ };
+ return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);
+ }
+ static getRequestToken() {
+ const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];
+ if (!token) {
+ throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');
+ }
+ return token;
+ }
+ static getIDTokenUrl() {
+ const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];
+ if (!runtimeUrl) {
+ throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');
+ }
+ return runtimeUrl;
+ }
+ static getCall(id_token_url) {
+ var _a;
+ return __awaiter(this, void 0, void 0, function* () {
+ const httpclient = OidcClient.createHttpClient();
+ const res = yield httpclient
+ .getJson(id_token_url)
+ .catch(error => {
+ throw new Error(`Failed to get ID Token. \n
+ Error Code : ${error.statusCode}\n
+ Error Message: ${error.message}`);
+ });
+ const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;
+ if (!id_token) {
+ throw new Error('Response json body do not have ID Token field');
+ }
+ return id_token;
+ });
+ }
+ static getIDToken(audience) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ // New ID Token is requested from action service
+ let id_token_url = OidcClient.getIDTokenUrl();
+ if (audience) {
+ const encodedAudience = encodeURIComponent(audience);
+ id_token_url = `${id_token_url}&audience=${encodedAudience}`;
+ }
+ core_1.debug(`ID token url is ${id_token_url}`);
+ const id_token = yield OidcClient.getCall(id_token_url);
+ core_1.setSecret(id_token);
+ return id_token;
+ }
+ catch (error) {
+ throw new Error(`Error message: ${error.message}`);
+ }
+ });
+ }
+}
+exports.OidcClient = OidcClient;
+//# sourceMappingURL=oidc-utils.js.map
+
+/***/ }),
+
+/***/ 2981:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;
+const path = __importStar(__nccwpck_require__(71017));
+/**
+ * toPosixPath converts the given path to the posix form. On Windows, \\ will be
+ * replaced with /.
+ *
+ * @param pth. Path to transform.
+ * @return string Posix path.
+ */
+function toPosixPath(pth) {
+ return pth.replace(/[\\]/g, '/');
+}
+exports.toPosixPath = toPosixPath;
+/**
+ * toWin32Path converts the given path to the win32 form. On Linux, / will be
+ * replaced with \\.
+ *
+ * @param pth. Path to transform.
+ * @return string Win32 path.
+ */
+function toWin32Path(pth) {
+ return pth.replace(/[/]/g, '\\');
+}
+exports.toWin32Path = toWin32Path;
+/**
+ * toPlatformPath converts the given path to a platform-specific path. It does
+ * this by replacing instances of / and \ with the platform-specific path
+ * separator.
+ *
+ * @param pth The path to platformize.
+ * @return string The platform-specific path.
+ */
+function toPlatformPath(pth) {
+ return pth.replace(/[/\\]/g, path.sep);
+}
+exports.toPlatformPath = toPlatformPath;
+//# sourceMappingURL=path-utils.js.map
+
+/***/ }),
+
+/***/ 81327:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;
+const os_1 = __nccwpck_require__(22037);
+const fs_1 = __nccwpck_require__(57147);
+const { access, appendFile, writeFile } = fs_1.promises;
+exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';
+exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';
+class Summary {
+ constructor() {
+ this._buffer = '';
+ }
+ /**
+ * Finds the summary file path from the environment, rejects if env var is not found or file does not exist
+ * Also checks r/w permissions.
+ *
+ * @returns step summary file path
+ */
+ filePath() {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (this._filePath) {
+ return this._filePath;
+ }
+ const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];
+ if (!pathFromEnv) {
+ throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);
+ }
+ try {
+ yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);
+ }
+ catch (_a) {
+ throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);
+ }
+ this._filePath = pathFromEnv;
+ return this._filePath;
+ });
+ }
+ /**
+ * Wraps content in an HTML tag, adding any HTML attributes
+ *
+ * @param {string} tag HTML tag to wrap
+ * @param {string | null} content content within the tag
+ * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add
+ *
+ * @returns {string} content wrapped in HTML element
+ */
+ wrap(tag, content, attrs = {}) {
+ const htmlAttrs = Object.entries(attrs)
+ .map(([key, value]) => ` ${key}="${value}"`)
+ .join('');
+ if (!content) {
+ return `<${tag}${htmlAttrs}>`;
+ }
+ return `<${tag}${htmlAttrs}>${content}${tag}>`;
+ }
+ /**
+ * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.
+ *
+ * @param {SummaryWriteOptions} [options] (optional) options for write operation
+ *
+ * @returns {Promise} summary instance
+ */
+ write(options) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);
+ const filePath = yield this.filePath();
+ const writeFunc = overwrite ? writeFile : appendFile;
+ yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });
+ return this.emptyBuffer();
+ });
+ }
+ /**
+ * Clears the summary buffer and wipes the summary file
+ *
+ * @returns {Summary} summary instance
+ */
+ clear() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.emptyBuffer().write({ overwrite: true });
+ });
+ }
+ /**
+ * Returns the current summary buffer as a string
+ *
+ * @returns {string} string of summary buffer
+ */
+ stringify() {
+ return this._buffer;
+ }
+ /**
+ * If the summary buffer is empty
+ *
+ * @returns {boolen} true if the buffer is empty
+ */
+ isEmptyBuffer() {
+ return this._buffer.length === 0;
+ }
+ /**
+ * Resets the summary buffer without writing to summary file
+ *
+ * @returns {Summary} summary instance
+ */
+ emptyBuffer() {
+ this._buffer = '';
+ return this;
+ }
+ /**
+ * Adds raw text to the summary buffer
+ *
+ * @param {string} text content to add
+ * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)
+ *
+ * @returns {Summary} summary instance
+ */
+ addRaw(text, addEOL = false) {
+ this._buffer += text;
+ return addEOL ? this.addEOL() : this;
+ }
+ /**
+ * Adds the operating system-specific end-of-line marker to the buffer
+ *
+ * @returns {Summary} summary instance
+ */
+ addEOL() {
+ return this.addRaw(os_1.EOL);
+ }
+ /**
+ * Adds an HTML codeblock to the summary buffer
+ *
+ * @param {string} code content to render within fenced code block
+ * @param {string} lang (optional) language to syntax highlight code
+ *
+ * @returns {Summary} summary instance
+ */
+ addCodeBlock(code, lang) {
+ const attrs = Object.assign({}, (lang && { lang }));
+ const element = this.wrap('pre', this.wrap('code', code), attrs);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML list to the summary buffer
+ *
+ * @param {string[]} items list of items to render
+ * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)
+ *
+ * @returns {Summary} summary instance
+ */
+ addList(items, ordered = false) {
+ const tag = ordered ? 'ol' : 'ul';
+ const listItems = items.map(item => this.wrap('li', item)).join('');
+ const element = this.wrap(tag, listItems);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML table to the summary buffer
+ *
+ * @param {SummaryTableCell[]} rows table rows
+ *
+ * @returns {Summary} summary instance
+ */
+ addTable(rows) {
+ const tableBody = rows
+ .map(row => {
+ const cells = row
+ .map(cell => {
+ if (typeof cell === 'string') {
+ return this.wrap('td', cell);
+ }
+ const { header, data, colspan, rowspan } = cell;
+ const tag = header ? 'th' : 'td';
+ const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));
+ return this.wrap(tag, data, attrs);
+ })
+ .join('');
+ return this.wrap('tr', cells);
+ })
+ .join('');
+ const element = this.wrap('table', tableBody);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds a collapsable HTML details element to the summary buffer
+ *
+ * @param {string} label text for the closed state
+ * @param {string} content collapsable content
+ *
+ * @returns {Summary} summary instance
+ */
+ addDetails(label, content) {
+ const element = this.wrap('details', this.wrap('summary', label) + content);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML image tag to the summary buffer
+ *
+ * @param {string} src path to the image you to embed
+ * @param {string} alt text description of the image
+ * @param {SummaryImageOptions} options (optional) addition image attributes
+ *
+ * @returns {Summary} summary instance
+ */
+ addImage(src, alt, options) {
+ const { width, height } = options || {};
+ const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));
+ const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML section heading element
+ *
+ * @param {string} text heading text
+ * @param {number | string} [level=1] (optional) the heading level, default: 1
+ *
+ * @returns {Summary} summary instance
+ */
+ addHeading(text, level) {
+ const tag = `h${level}`;
+ const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)
+ ? tag
+ : 'h1';
+ const element = this.wrap(allowedTag, text);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML thematic break () to the summary buffer
+ *
+ * @returns {Summary} summary instance
+ */
+ addSeparator() {
+ const element = this.wrap('hr', null);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML line break ( ) to the summary buffer
+ *
+ * @returns {Summary} summary instance
+ */
+ addBreak() {
+ const element = this.wrap('br', null);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML blockquote to the summary buffer
+ *
+ * @param {string} text quote text
+ * @param {string} cite (optional) citation url
+ *
+ * @returns {Summary} summary instance
+ */
+ addQuote(text, cite) {
+ const attrs = Object.assign({}, (cite && { cite }));
+ const element = this.wrap('blockquote', text, attrs);
+ return this.addRaw(element).addEOL();
+ }
+ /**
+ * Adds an HTML anchor tag to the summary buffer
+ *
+ * @param {string} text link text/content
+ * @param {string} href hyperlink
+ *
+ * @returns {Summary} summary instance
+ */
+ addLink(text, href) {
+ const element = this.wrap('a', text, { href });
+ return this.addRaw(element).addEOL();
+ }
+}
+const _summary = new Summary();
+/**
+ * @deprecated use `core.summary`
+ */
+exports.markdownSummary = _summary;
+exports.summary = _summary;
+//# sourceMappingURL=summary.js.map
+
+/***/ }),
+
+/***/ 5278:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+// We use any as a valid input type
+/* eslint-disable @typescript-eslint/no-explicit-any */
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.toCommandProperties = exports.toCommandValue = void 0;
+/**
+ * Sanitizes an input into a string so it can be passed into issueCommand safely
+ * @param input input to sanitize into a string
+ */
+function toCommandValue(input) {
+ if (input === null || input === undefined) {
+ return '';
+ }
+ else if (typeof input === 'string' || input instanceof String) {
+ return input;
+ }
+ return JSON.stringify(input);
+}
+exports.toCommandValue = toCommandValue;
+/**
+ *
+ * @param annotationProperties
+ * @returns The command properties to send with the actual annotation command
+ * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646
+ */
+function toCommandProperties(annotationProperties) {
+ if (!Object.keys(annotationProperties).length) {
+ return {};
+ }
+ return {
+ title: annotationProperties.title,
+ file: annotationProperties.file,
+ line: annotationProperties.startLine,
+ endLine: annotationProperties.endLine,
+ col: annotationProperties.startColumn,
+ endColumn: annotationProperties.endColumn
+ };
+}
+exports.toCommandProperties = toCommandProperties;
+//# sourceMappingURL=utils.js.map
+
+/***/ }),
+
+/***/ 74087:
+/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Context = void 0;
+const fs_1 = __nccwpck_require__(57147);
+const os_1 = __nccwpck_require__(22037);
+class Context {
+ /**
+ * Hydrate the context from the environment
+ */
+ constructor() {
+ var _a, _b, _c;
+ this.payload = {};
+ if (process.env.GITHUB_EVENT_PATH) {
+ if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
+ this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));
+ }
+ else {
+ const path = process.env.GITHUB_EVENT_PATH;
+ process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`);
+ }
+ }
+ this.eventName = process.env.GITHUB_EVENT_NAME;
+ this.sha = process.env.GITHUB_SHA;
+ this.ref = process.env.GITHUB_REF;
+ this.workflow = process.env.GITHUB_WORKFLOW;
+ this.action = process.env.GITHUB_ACTION;
+ this.actor = process.env.GITHUB_ACTOR;
+ this.job = process.env.GITHUB_JOB;
+ this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
+ this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
+ this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+ this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
+ this.graphqlUrl =
+ (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
+ }
+ get issue() {
+ const payload = this.payload;
+ return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
+ }
+ get repo() {
+ if (process.env.GITHUB_REPOSITORY) {
+ const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
+ return { owner, repo };
+ }
+ if (this.payload.repository) {
+ return {
+ owner: this.payload.repository.owner.login,
+ repo: this.payload.repository.name
+ };
+ }
+ throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'");
+ }
+}
+exports.Context = Context;
+//# sourceMappingURL=context.js.map
+
+/***/ }),
+
+/***/ 95438:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getOctokit = exports.context = void 0;
+const Context = __importStar(__nccwpck_require__(74087));
+const utils_1 = __nccwpck_require__(73030);
+exports.context = new Context.Context();
+/**
+ * Returns a hydrated octokit ready to use for GitHub Actions
+ *
+ * @param token the repo PAT or GITHUB_TOKEN
+ * @param options other options to set
+ */
+function getOctokit(token, options, ...additionalPlugins) {
+ const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+ return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
+}
+exports.getOctokit = getOctokit;
+//# sourceMappingURL=github.js.map
+
+/***/ }),
+
+/***/ 47914:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getApiBaseUrl = exports.getProxyFetch = exports.getProxyAgentDispatcher = exports.getProxyAgent = exports.getAuthString = void 0;
+const httpClient = __importStar(__nccwpck_require__(96255));
+const undici_1 = __nccwpck_require__(41773);
+function getAuthString(token, options) {
+ if (!token && !options.auth) {
+ throw new Error('Parameter token or opts.auth is required');
+ }
+ else if (token && options.auth) {
+ throw new Error('Parameters token and opts.auth may not both be specified');
+ }
+ return typeof options.auth === 'string' ? options.auth : `token ${token}`;
+}
+exports.getAuthString = getAuthString;
+function getProxyAgent(destinationUrl) {
+ const hc = new httpClient.HttpClient();
+ return hc.getAgent(destinationUrl);
+}
+exports.getProxyAgent = getProxyAgent;
+function getProxyAgentDispatcher(destinationUrl) {
+ const hc = new httpClient.HttpClient();
+ return hc.getAgentDispatcher(destinationUrl);
+}
+exports.getProxyAgentDispatcher = getProxyAgentDispatcher;
+function getProxyFetch(destinationUrl) {
+ const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
+ const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () {
+ return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
+ });
+ return proxyFetch;
+}
+exports.getProxyFetch = getProxyFetch;
+function getApiBaseUrl() {
+ return process.env['GITHUB_API_URL'] || 'https://api.github.com';
+}
+exports.getApiBaseUrl = getApiBaseUrl;
+//# sourceMappingURL=utils.js.map
+
+/***/ }),
+
+/***/ 73030:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;
+const Context = __importStar(__nccwpck_require__(74087));
+const Utils = __importStar(__nccwpck_require__(47914));
+// octokit + plugins
+const core_1 = __nccwpck_require__(76762);
+const plugin_rest_endpoint_methods_1 = __nccwpck_require__(83044);
+const plugin_paginate_rest_1 = __nccwpck_require__(64193);
+exports.context = new Context.Context();
+const baseUrl = Utils.getApiBaseUrl();
+exports.defaults = {
+ baseUrl,
+ request: {
+ agent: Utils.getProxyAgent(baseUrl),
+ fetch: Utils.getProxyFetch(baseUrl)
+ }
+};
+exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);
+/**
+ * Convience function to correctly format Octokit Options to pass into the constructor.
+ *
+ * @param token the repo PAT or GITHUB_TOKEN
+ * @param options other options to set
+ */
+function getOctokitOptions(token, options) {
+ const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller
+ // Auth
+ const auth = Utils.getAuthString(token, opts);
+ if (auth) {
+ opts.auth = auth;
+ }
+ return opts;
+}
+exports.getOctokitOptions = getOctokitOptions;
+//# sourceMappingURL=utils.js.map
+
+/***/ }),
+
+/***/ 35526:
+/***/ (function(__unused_webpack_module, exports) {
+
+"use strict";
+
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;
+class BasicCredentialHandler {
+ constructor(username, password) {
+ this.username = username;
+ this.password = password;
+ }
+ prepareRequest(options) {
+ if (!options.headers) {
+ throw Error('The request has no headers');
+ }
+ options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;
+ }
+ // This handler cannot handle 401
+ canHandleAuthentication() {
+ return false;
+ }
+ handleAuthentication() {
+ return __awaiter(this, void 0, void 0, function* () {
+ throw new Error('not implemented');
+ });
+ }
+}
+exports.BasicCredentialHandler = BasicCredentialHandler;
+class BearerCredentialHandler {
+ constructor(token) {
+ this.token = token;
+ }
+ // currently implements pre-authorization
+ // TODO: support preAuth = false where it hooks on 401
+ prepareRequest(options) {
+ if (!options.headers) {
+ throw Error('The request has no headers');
+ }
+ options.headers['Authorization'] = `Bearer ${this.token}`;
+ }
+ // This handler cannot handle 401
+ canHandleAuthentication() {
+ return false;
+ }
+ handleAuthentication() {
+ return __awaiter(this, void 0, void 0, function* () {
+ throw new Error('not implemented');
+ });
+ }
+}
+exports.BearerCredentialHandler = BearerCredentialHandler;
+class PersonalAccessTokenCredentialHandler {
+ constructor(token) {
+ this.token = token;
+ }
+ // currently implements pre-authorization
+ // TODO: support preAuth = false where it hooks on 401
+ prepareRequest(options) {
+ if (!options.headers) {
+ throw Error('The request has no headers');
+ }
+ options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;
+ }
+ // This handler cannot handle 401
+ canHandleAuthentication() {
+ return false;
+ }
+ handleAuthentication() {
+ return __awaiter(this, void 0, void 0, function* () {
+ throw new Error('not implemented');
+ });
+ }
+}
+exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;
+//# sourceMappingURL=auth.js.map
+
+/***/ }),
+
+/***/ 96255:
+/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
+
+"use strict";
+
+/* eslint-disable @typescript-eslint/no-explicit-any */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;
+const http = __importStar(__nccwpck_require__(13685));
+const https = __importStar(__nccwpck_require__(95687));
+const pm = __importStar(__nccwpck_require__(19835));
+const tunnel = __importStar(__nccwpck_require__(74294));
+const undici_1 = __nccwpck_require__(41773);
+var HttpCodes;
+(function (HttpCodes) {
+ HttpCodes[HttpCodes["OK"] = 200] = "OK";
+ HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices";
+ HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently";
+ HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved";
+ HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther";
+ HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified";
+ HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy";
+ HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy";
+ HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect";
+ HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect";
+ HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest";
+ HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized";
+ HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired";
+ HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden";
+ HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound";
+ HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed";
+ HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable";
+ HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
+ HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout";
+ HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict";
+ HttpCodes[HttpCodes["Gone"] = 410] = "Gone";
+ HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests";
+ HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError";
+ HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented";
+ HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway";
+ HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable";
+ HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout";
+})(HttpCodes || (exports.HttpCodes = HttpCodes = {}));
+var Headers;
+(function (Headers) {
+ Headers["Accept"] = "accept";
+ Headers["ContentType"] = "content-type";
+})(Headers || (exports.Headers = Headers = {}));
+var MediaTypes;
+(function (MediaTypes) {
+ MediaTypes["ApplicationJson"] = "application/json";
+})(MediaTypes || (exports.MediaTypes = MediaTypes = {}));
+/**
+ * Returns the proxy URL, depending upon the supplied url and proxy environment variables.
+ * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
+ */
+function getProxyUrl(serverUrl) {
+ const proxyUrl = pm.getProxyUrl(new URL(serverUrl));
+ return proxyUrl ? proxyUrl.href : '';
+}
+exports.getProxyUrl = getProxyUrl;
+const HttpRedirectCodes = [
+ HttpCodes.MovedPermanently,
+ HttpCodes.ResourceMoved,
+ HttpCodes.SeeOther,
+ HttpCodes.TemporaryRedirect,
+ HttpCodes.PermanentRedirect
+];
+const HttpResponseRetryCodes = [
+ HttpCodes.BadGateway,
+ HttpCodes.ServiceUnavailable,
+ HttpCodes.GatewayTimeout
+];
+const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
+const ExponentialBackoffCeiling = 10;
+const ExponentialBackoffTimeSlice = 5;
+class HttpClientError extends Error {
+ constructor(message, statusCode) {
+ super(message);
+ this.name = 'HttpClientError';
+ this.statusCode = statusCode;
+ Object.setPrototypeOf(this, HttpClientError.prototype);
+ }
+}
+exports.HttpClientError = HttpClientError;
+class HttpClientResponse {
+ constructor(message) {
+ this.message = message;
+ }
+ readBody() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
+ let output = Buffer.alloc(0);
+ this.message.on('data', (chunk) => {
+ output = Buffer.concat([output, chunk]);
+ });
+ this.message.on('end', () => {
+ resolve(output.toString());
+ });
+ }));
+ });
+ }
+ readBodyBuffer() {
+ return __awaiter(this, void 0, void 0, function* () {
+ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
+ const chunks = [];
+ this.message.on('data', (chunk) => {
+ chunks.push(chunk);
+ });
+ this.message.on('end', () => {
+ resolve(Buffer.concat(chunks));
+ });
+ }));
+ });
+ }
+}
+exports.HttpClientResponse = HttpClientResponse;
+function isHttps(requestUrl) {
+ const parsedUrl = new URL(requestUrl);
+ return parsedUrl.protocol === 'https:';
+}
+exports.isHttps = isHttps;
+class HttpClient {
+ constructor(userAgent, handlers, requestOptions) {
+ this._ignoreSslError = false;
+ this._allowRedirects = true;
+ this._allowRedirectDowngrade = false;
+ this._maxRedirects = 50;
+ this._allowRetries = false;
+ this._maxRetries = 1;
+ this._keepAlive = false;
+ this._disposed = false;
+ this.userAgent = userAgent;
+ this.handlers = handlers || [];
+ this.requestOptions = requestOptions;
+ if (requestOptions) {
+ if (requestOptions.ignoreSslError != null) {
+ this._ignoreSslError = requestOptions.ignoreSslError;
+ }
+ this._socketTimeout = requestOptions.socketTimeout;
+ if (requestOptions.allowRedirects != null) {
+ this._allowRedirects = requestOptions.allowRedirects;
+ }
+ if (requestOptions.allowRedirectDowngrade != null) {
+ this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;
+ }
+ if (requestOptions.maxRedirects != null) {
+ this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);
+ }
+ if (requestOptions.keepAlive != null) {
+ this._keepAlive = requestOptions.keepAlive;
+ }
+ if (requestOptions.allowRetries != null) {
+ this._allowRetries = requestOptions.allowRetries;
+ }
+ if (requestOptions.maxRetries != null) {
+ this._maxRetries = requestOptions.maxRetries;
+ }
+ }
+ }
+ options(requestUrl, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});
+ });
+ }
+ get(requestUrl, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('GET', requestUrl, null, additionalHeaders || {});
+ });
+ }
+ del(requestUrl, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('DELETE', requestUrl, null, additionalHeaders || {});
+ });
+ }
+ post(requestUrl, data, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('POST', requestUrl, data, additionalHeaders || {});
+ });
+ }
+ patch(requestUrl, data, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('PATCH', requestUrl, data, additionalHeaders || {});
+ });
+ }
+ put(requestUrl, data, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('PUT', requestUrl, data, additionalHeaders || {});
+ });
+ }
+ head(requestUrl, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request('HEAD', requestUrl, null, additionalHeaders || {});
+ });
+ }
+ sendStream(verb, requestUrl, stream, additionalHeaders) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return this.request(verb, requestUrl, stream, additionalHeaders);
+ });
+ }
+ /**
+ * Gets a typed object from an endpoint
+ * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise
+ */
+ getJson(requestUrl, additionalHeaders = {}) {
+ return __awaiter(this, void 0, void 0, function* () {
+ additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
+ const res = yield this.get(requestUrl, additionalHeaders);
+ return this._processResponse(res, this.requestOptions);
+ });
+ }
+ postJson(requestUrl, obj, additionalHeaders = {}) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const data = JSON.stringify(obj, null, 2);
+ additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
+ additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
+ const res = yield this.post(requestUrl, data, additionalHeaders);
+ return this._processResponse(res, this.requestOptions);
+ });
+ }
+ putJson(requestUrl, obj, additionalHeaders = {}) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const data = JSON.stringify(obj, null, 2);
+ additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
+ additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
+ const res = yield this.put(requestUrl, data, additionalHeaders);
+ return this._processResponse(res, this.requestOptions);
+ });
+ }
+ patchJson(requestUrl, obj, additionalHeaders = {}) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const data = JSON.stringify(obj, null, 2);
+ additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
+ additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
+ const res = yield this.patch(requestUrl, data, additionalHeaders);
+ return this._processResponse(res, this.requestOptions);
+ });
+ }
+ /**
+ * Makes a raw http request.
+ * All other methods such as get, post, patch, and request ultimately call this.
+ * Prefer get, del, post and patch
+ */
+ request(verb, requestUrl, data, headers) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (this._disposed) {
+ throw new Error('Client has already been disposed.');
+ }
+ const parsedUrl = new URL(requestUrl);
+ let info = this._prepareRequest(verb, parsedUrl, headers);
+ // Only perform retries on reads since writes may not be idempotent.
+ const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)
+ ? this._maxRetries + 1
+ : 1;
+ let numTries = 0;
+ let response;
+ do {
+ response = yield this.requestRaw(info, data);
+ // Check if it's an authentication challenge
+ if (response &&
+ response.message &&
+ response.message.statusCode === HttpCodes.Unauthorized) {
+ let authenticationHandler;
+ for (const handler of this.handlers) {
+ if (handler.canHandleAuthentication(response)) {
+ authenticationHandler = handler;
+ break;
+ }
+ }
+ if (authenticationHandler) {
+ return authenticationHandler.handleAuthentication(this, info, data);
+ }
+ else {
+ // We have received an unauthorized response but have no handlers to handle it.
+ // Let the response return to the caller.
+ return response;
+ }
+ }
+ let redirectsRemaining = this._maxRedirects;
+ while (response.message.statusCode &&
+ HttpRedirectCodes.includes(response.message.statusCode) &&
+ this._allowRedirects &&
+ redirectsRemaining > 0) {
+ const redirectUrl = response.message.headers['location'];
+ if (!redirectUrl) {
+ // if there's no location to redirect to, we won't
+ break;
+ }
+ const parsedRedirectUrl = new URL(redirectUrl);
+ if (parsedUrl.protocol === 'https:' &&
+ parsedUrl.protocol !== parsedRedirectUrl.protocol &&
+ !this._allowRedirectDowngrade) {
+ throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.');
+ }
+ // we need to finish reading the response before reassigning response
+ // which will leak the open socket.
+ yield response.readBody();
+ // strip authorization header if redirected to a different hostname
+ if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {
+ for (const header in headers) {
+ // header names are case insensitive
+ if (header.toLowerCase() === 'authorization') {
+ delete headers[header];
+ }
+ }
+ }
+ // let's make the request with the new redirectUrl
+ info = this._prepareRequest(verb, parsedRedirectUrl, headers);
+ response = yield this.requestRaw(info, data);
+ redirectsRemaining--;
+ }
+ if (!response.message.statusCode ||
+ !HttpResponseRetryCodes.includes(response.message.statusCode)) {
+ // If not a retry code, return immediately instead of retrying
+ return response;
+ }
+ numTries += 1;
+ if (numTries < maxTries) {
+ yield response.readBody();
+ yield this._performExponentialBackoff(numTries);
+ }
+ } while (numTries < maxTries);
+ return response;
+ });
+ }
+ /**
+ * Needs to be called if keepAlive is set to true in request options.
+ */
+ dispose() {
+ if (this._agent) {
+ this._agent.destroy();
+ }
+ this._disposed = true;
+ }
+ /**
+ * Raw request.
+ * @param info
+ * @param data
+ */
+ requestRaw(info, data) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return new Promise((resolve, reject) => {
+ function callbackForResult(err, res) {
+ if (err) {
+ reject(err);
+ }
+ else if (!res) {
+ // If `err` is not passed, then `res` must be passed.
+ reject(new Error('Unknown error'));
+ }
+ else {
+ resolve(res);
+ }
+ }
+ this.requestRawWithCallback(info, data, callbackForResult);
+ });
+ });
+ }
+ /**
+ * Raw request with callback.
+ * @param info
+ * @param data
+ * @param onResult
+ */
+ requestRawWithCallback(info, data, onResult) {
+ if (typeof data === 'string') {
+ if (!info.options.headers) {
+ info.options.headers = {};
+ }
+ info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');
+ }
+ let callbackCalled = false;
+ function handleResult(err, res) {
+ if (!callbackCalled) {
+ callbackCalled = true;
+ onResult(err, res);
+ }
+ }
+ const req = info.httpModule.request(info.options, (msg) => {
+ const res = new HttpClientResponse(msg);
+ handleResult(undefined, res);
+ });
+ let socket;
+ req.on('socket', sock => {
+ socket = sock;
+ });
+ // If we ever get disconnected, we want the socket to timeout eventually
+ req.setTimeout(this._socketTimeout || 3 * 60000, () => {
+ if (socket) {
+ socket.end();
+ }
+ handleResult(new Error(`Request timeout: ${info.options.path}`));
+ });
+ req.on('error', function (err) {
+ // err has statusCode property
+ // res should have headers
+ handleResult(err);
+ });
+ if (data && typeof data === 'string') {
+ req.write(data, 'utf8');
+ }
+ if (data && typeof data !== 'string') {
+ data.on('close', function () {
+ req.end();
+ });
+ data.pipe(req);
+ }
+ else {
+ req.end();
+ }
+ }
+ /**
+ * Gets an http agent. This function is useful when you need an http agent that handles
+ * routing through a proxy server - depending upon the url and proxy environment variables.
+ * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com
+ */
+ getAgent(serverUrl) {
+ const parsedUrl = new URL(serverUrl);
+ return this._getAgent(parsedUrl);
+ }
+ getAgentDispatcher(serverUrl) {
+ const parsedUrl = new URL(serverUrl);
+ const proxyUrl = pm.getProxyUrl(parsedUrl);
+ const useProxy = proxyUrl && proxyUrl.hostname;
+ if (!useProxy) {
+ return;
+ }
+ return this._getProxyAgentDispatcher(parsedUrl, proxyUrl);
+ }
+ _prepareRequest(method, requestUrl, headers) {
+ const info = {};
+ info.parsedUrl = requestUrl;
+ const usingSsl = info.parsedUrl.protocol === 'https:';
+ info.httpModule = usingSsl ? https : http;
+ const defaultPort = usingSsl ? 443 : 80;
+ info.options = {};
+ info.options.host = info.parsedUrl.hostname;
+ info.options.port = info.parsedUrl.port
+ ? parseInt(info.parsedUrl.port)
+ : defaultPort;
+ info.options.path =
+ (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');
+ info.options.method = method;
+ info.options.headers = this._mergeHeaders(headers);
+ if (this.userAgent != null) {
+ info.options.headers['user-agent'] = this.userAgent;
+ }
+ info.options.agent = this._getAgent(info.parsedUrl);
+ // gives handlers an opportunity to participate
+ if (this.handlers) {
+ for (const handler of this.handlers) {
+ handler.prepareRequest(info.options);
+ }
+ }
+ return info;
+ }
+ _mergeHeaders(headers) {
+ if (this.requestOptions && this.requestOptions.headers) {
+ return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));
+ }
+ return lowercaseKeys(headers || {});
+ }
+ _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
+ let clientHeader;
+ if (this.requestOptions && this.requestOptions.headers) {
+ clientHeader = lowercaseKeys(this.requestOptions.headers)[header];
+ }
+ return additionalHeaders[header] || clientHeader || _default;
+ }
+ _getAgent(parsedUrl) {
+ let agent;
+ const proxyUrl = pm.getProxyUrl(parsedUrl);
+ const useProxy = proxyUrl && proxyUrl.hostname;
+ if (this._keepAlive && useProxy) {
+ agent = this._proxyAgent;
+ }
+ if (this._keepAlive && !useProxy) {
+ agent = this._agent;
+ }
+ // if agent is already assigned use that agent.
+ if (agent) {
+ return agent;
+ }
+ const usingSsl = parsedUrl.protocol === 'https:';
+ let maxSockets = 100;
+ if (this.requestOptions) {
+ maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;
+ }
+ // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
+ if (proxyUrl && proxyUrl.hostname) {
+ const agentOptions = {
+ maxSockets,
+ keepAlive: this._keepAlive,
+ proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {
+ proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`
+ })), { host: proxyUrl.hostname, port: proxyUrl.port })
+ };
+ let tunnelAgent;
+ const overHttps = proxyUrl.protocol === 'https:';
+ if (usingSsl) {
+ tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;
+ }
+ else {
+ tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;
+ }
+ agent = tunnelAgent(agentOptions);
+ this._proxyAgent = agent;
+ }
+ // if reusing agent across request and tunneling agent isn't assigned create a new agent
+ if (this._keepAlive && !agent) {
+ const options = { keepAlive: this._keepAlive, maxSockets };
+ agent = usingSsl ? new https.Agent(options) : new http.Agent(options);
+ this._agent = agent;
+ }
+ // if not using private agent and tunnel agent isn't setup then use global agent
+ if (!agent) {
+ agent = usingSsl ? https.globalAgent : http.globalAgent;
+ }
+ if (usingSsl && this._ignoreSslError) {
+ // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
+ // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
+ // we have to cast it to any and change it directly
+ agent.options = Object.assign(agent.options || {}, {
+ rejectUnauthorized: false
+ });
+ }
+ return agent;
+ }
+ _getProxyAgentDispatcher(parsedUrl, proxyUrl) {
+ let proxyAgent;
+ if (this._keepAlive) {
+ proxyAgent = this._proxyAgentDispatcher;
+ }
+ // if agent is already assigned use that agent.
+ if (proxyAgent) {
+ return proxyAgent;
+ }
+ const usingSsl = parsedUrl.protocol === 'https:';
+ proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && {
+ token: `${proxyUrl.username}:${proxyUrl.password}`
+ })));
+ this._proxyAgentDispatcher = proxyAgent;
+ if (usingSsl && this._ignoreSslError) {
+ // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
+ // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
+ // we have to cast it to any and change it directly
+ proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, {
+ rejectUnauthorized: false
+ });
+ }
+ return proxyAgent;
+ }
+ _performExponentialBackoff(retryNumber) {
+ return __awaiter(this, void 0, void 0, function* () {
+ retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
+ const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
+ return new Promise(resolve => setTimeout(() => resolve(), ms));
+ });
+ }
+ _processResponse(res, options) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
+ const statusCode = res.message.statusCode || 0;
+ const response = {
+ statusCode,
+ result: null,
+ headers: {}
+ };
+ // not found leads to null obj returned
+ if (statusCode === HttpCodes.NotFound) {
+ resolve(response);
+ }
+ // get the result from the body
+ function dateTimeDeserializer(key, value) {
+ if (typeof value === 'string') {
+ const a = new Date(value);
+ if (!isNaN(a.valueOf())) {
+ return a;
+ }
+ }
+ return value;
+ }
+ let obj;
+ let contents;
+ try {
+ contents = yield res.readBody();
+ if (contents && contents.length > 0) {
+ if (options && options.deserializeDates) {
+ obj = JSON.parse(contents, dateTimeDeserializer);
+ }
+ else {
+ obj = JSON.parse(contents);
+ }
+ response.result = obj;
+ }
+ response.headers = res.message.headers;
+ }
+ catch (err) {
+ // Invalid resource (contents not json); leaving result obj null
+ }
+ // note that 3xx redirects are handled by the http layer.
+ if (statusCode > 299) {
+ let msg;
+ // if exception/error in body, attempt to get better error
+ if (obj && obj.message) {
+ msg = obj.message;
+ }
+ else if (contents && contents.length > 0) {
+ // it may be the case that the exception is in the body message as string
+ msg = contents;
+ }
+ else {
+ msg = `Failed request: (${statusCode})`;
+ }
+ const err = new HttpClientError(msg, statusCode);
+ err.result = response.result;
+ reject(err);
+ }
+ else {
+ resolve(response);
+ }
+ }));
+ });
+ }
+}
+exports.HttpClient = HttpClient;
+const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
+//# sourceMappingURL=index.js.map
+
+/***/ }),
+
+/***/ 19835:
+/***/ ((__unused_webpack_module, exports) => {
+
+"use strict";
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.checkBypass = exports.getProxyUrl = void 0;
+function getProxyUrl(reqUrl) {
+ const usingSsl = reqUrl.protocol === 'https:';
+ if (checkBypass(reqUrl)) {
+ return undefined;
+ }
+ const proxyVar = (() => {
+ if (usingSsl) {
+ return process.env['https_proxy'] || process.env['HTTPS_PROXY'];
+ }
+ else {
+ return process.env['http_proxy'] || process.env['HTTP_PROXY'];
+ }
+ })();
+ if (proxyVar) {
+ try {
+ return new URL(proxyVar);
+ }
+ catch (_a) {
+ if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://'))
+ return new URL(`http://${proxyVar}`);
+ }
+ }
+ else {
+ return undefined;
+ }
+}
+exports.getProxyUrl = getProxyUrl;
+function checkBypass(reqUrl) {
+ if (!reqUrl.hostname) {
+ return false;
+ }
+ const reqHost = reqUrl.hostname;
+ if (isLoopbackAddress(reqHost)) {
+ return true;
+ }
+ const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';
+ if (!noProxy) {
+ return false;
+ }
+ // Determine the request port
+ let reqPort;
+ if (reqUrl.port) {
+ reqPort = Number(reqUrl.port);
+ }
+ else if (reqUrl.protocol === 'http:') {
+ reqPort = 80;
+ }
+ else if (reqUrl.protocol === 'https:') {
+ reqPort = 443;
+ }
+ // Format the request hostname and hostname with port
+ const upperReqHosts = [reqUrl.hostname.toUpperCase()];
+ if (typeof reqPort === 'number') {
+ upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
+ }
+ // Compare request host against noproxy
+ for (const upperNoProxyItem of noProxy
+ .split(',')
+ .map(x => x.trim().toUpperCase())
+ .filter(x => x)) {
+ if (upperNoProxyItem === '*' ||
+ upperReqHosts.some(x => x === upperNoProxyItem ||
+ x.endsWith(`.${upperNoProxyItem}`) ||
+ (upperNoProxyItem.startsWith('.') &&
+ x.endsWith(`${upperNoProxyItem}`)))) {
+ return true;
+ }
+ }
+ return false;
+}
+exports.checkBypass = checkBypass;
+function isLoopbackAddress(host) {
+ const hostLower = host.toLowerCase();
+ return (hostLower === 'localhost' ||
+ hostLower.startsWith('127.') ||
+ hostLower.startsWith('[::1]') ||
+ hostLower.startsWith('[0:0:0:0:0:0:0:1]'));
+}
+//# sourceMappingURL=proxy.js.map
+
+/***/ }),
+
+/***/ 40334:
+/***/ ((module) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ createTokenAuth: () => createTokenAuth
+});
+module.exports = __toCommonJS(dist_src_exports);
+
+// pkg/dist-src/auth.js
+var REGEX_IS_INSTALLATION_LEGACY = /^v1\./;
+var REGEX_IS_INSTALLATION = /^ghs_/;
+var REGEX_IS_USER_TO_SERVER = /^ghu_/;
+async function auth(token) {
+ const isApp = token.split(/\./).length === 3;
+ const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token);
+ const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token);
+ const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
+ return {
+ type: "token",
+ token,
+ tokenType
+ };
+}
+
+// pkg/dist-src/with-authorization-prefix.js
+function withAuthorizationPrefix(token) {
+ if (token.split(/\./).length === 3) {
+ return `bearer ${token}`;
+ }
+ return `token ${token}`;
+}
+
+// pkg/dist-src/hook.js
+async function hook(token, request, route, parameters) {
+ const endpoint = request.endpoint.merge(
+ route,
+ parameters
+ );
+ endpoint.headers.authorization = withAuthorizationPrefix(token);
+ return request(endpoint);
+}
+
+// pkg/dist-src/index.js
+var createTokenAuth = function createTokenAuth2(token) {
+ if (!token) {
+ throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+ }
+ if (typeof token !== "string") {
+ throw new Error(
+ "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
+ );
+ }
+ token = token.replace(/^(token|bearer) +/i, "");
+ return Object.assign(auth.bind(null, token), {
+ hook: hook.bind(null, token)
+ });
+};
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 76762:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ Octokit: () => Octokit
+});
+module.exports = __toCommonJS(dist_src_exports);
+var import_universal_user_agent = __nccwpck_require__(45030);
+var import_before_after_hook = __nccwpck_require__(83682);
+var import_request = __nccwpck_require__(36234);
+var import_graphql = __nccwpck_require__(88467);
+var import_auth_token = __nccwpck_require__(40334);
+
+// pkg/dist-src/version.js
+var VERSION = "5.0.2";
+
+// pkg/dist-src/index.js
+var noop = () => {
+};
+var consoleWarn = console.warn.bind(console);
+var consoleError = console.error.bind(console);
+var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
+var Octokit = class {
+ static {
+ this.VERSION = VERSION;
+ }
+ static defaults(defaults) {
+ const OctokitWithDefaults = class extends this {
+ constructor(...args) {
+ const options = args[0] || {};
+ if (typeof defaults === "function") {
+ super(defaults(options));
+ return;
+ }
+ super(
+ Object.assign(
+ {},
+ defaults,
+ options,
+ options.userAgent && defaults.userAgent ? {
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
+ } : null
+ )
+ );
+ }
+ };
+ return OctokitWithDefaults;
+ }
+ static {
+ this.plugins = [];
+ }
+ /**
+ * Attach a plugin (or many) to your Octokit instance.
+ *
+ * @example
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+ */
+ static plugin(...newPlugins) {
+ const currentPlugins = this.plugins;
+ const NewOctokit = class extends this {
+ static {
+ this.plugins = currentPlugins.concat(
+ newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+ );
+ }
+ };
+ return NewOctokit;
+ }
+ constructor(options = {}) {
+ const hook = new import_before_after_hook.Collection();
+ const requestDefaults = {
+ baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl,
+ headers: {},
+ request: Object.assign({}, options.request, {
+ // @ts-ignore internal usage only, no need to type
+ hook: hook.bind(null, "request")
+ }),
+ mediaType: {
+ previews: [],
+ format: ""
+ }
+ };
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+ if (options.baseUrl) {
+ requestDefaults.baseUrl = options.baseUrl;
+ }
+ if (options.previews) {
+ requestDefaults.mediaType.previews = options.previews;
+ }
+ if (options.timeZone) {
+ requestDefaults.headers["time-zone"] = options.timeZone;
+ }
+ this.request = import_request.request.defaults(requestDefaults);
+ this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults);
+ this.log = Object.assign(
+ {
+ debug: noop,
+ info: noop,
+ warn: consoleWarn,
+ error: consoleError
+ },
+ options.log
+ );
+ this.hook = hook;
+ if (!options.authStrategy) {
+ if (!options.auth) {
+ this.auth = async () => ({
+ type: "unauthenticated"
+ });
+ } else {
+ const auth = (0, import_auth_token.createTokenAuth)(options.auth);
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ } else {
+ const { authStrategy, ...otherOptions } = options;
+ const auth = authStrategy(
+ Object.assign(
+ {
+ request: this.request,
+ log: this.log,
+ // we pass the current octokit instance as well as its constructor options
+ // to allow for authentication strategies that return a new octokit instance
+ // that shares the same internal state as the current one. The original
+ // requirement for this was the "event-octokit" authentication strategy
+ // of https://github.com/probot/octokit-auth-probot.
+ octokit: this,
+ octokitOptions: otherOptions
+ },
+ options.auth
+ )
+ );
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ const classConstructor = this.constructor;
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
+ Object.assign(this, classConstructor.plugins[i](this, options));
+ }
+ }
+};
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 59440:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ endpoint: () => endpoint
+});
+module.exports = __toCommonJS(dist_src_exports);
+
+// pkg/dist-src/defaults.js
+var import_universal_user_agent = __nccwpck_require__(45030);
+
+// pkg/dist-src/version.js
+var VERSION = "9.0.4";
+
+// pkg/dist-src/defaults.js
+var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
+var DEFAULTS = {
+ method: "GET",
+ baseUrl: "https://api.github.com",
+ headers: {
+ accept: "application/vnd.github.v3+json",
+ "user-agent": userAgent
+ },
+ mediaType: {
+ format: ""
+ }
+};
+
+// pkg/dist-src/util/lowercase-keys.js
+function lowercaseKeys(object) {
+ if (!object) {
+ return {};
+ }
+ return Object.keys(object).reduce((newObj, key) => {
+ newObj[key.toLowerCase()] = object[key];
+ return newObj;
+ }, {});
+}
+
+// pkg/dist-src/util/is-plain-object.js
+function isPlainObject(value) {
+ if (typeof value !== "object" || value === null)
+ return false;
+ if (Object.prototype.toString.call(value) !== "[object Object]")
+ return false;
+ const proto = Object.getPrototypeOf(value);
+ if (proto === null)
+ return true;
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+
+// pkg/dist-src/util/merge-deep.js
+function mergeDeep(defaults, options) {
+ const result = Object.assign({}, defaults);
+ Object.keys(options).forEach((key) => {
+ if (isPlainObject(options[key])) {
+ if (!(key in defaults))
+ Object.assign(result, { [key]: options[key] });
+ else
+ result[key] = mergeDeep(defaults[key], options[key]);
+ } else {
+ Object.assign(result, { [key]: options[key] });
+ }
+ });
+ return result;
+}
+
+// pkg/dist-src/util/remove-undefined-properties.js
+function removeUndefinedProperties(obj) {
+ for (const key in obj) {
+ if (obj[key] === void 0) {
+ delete obj[key];
+ }
+ }
+ return obj;
+}
+
+// pkg/dist-src/merge.js
+function merge(defaults, route, options) {
+ if (typeof route === "string") {
+ let [method, url] = route.split(" ");
+ options = Object.assign(url ? { method, url } : { url: method }, options);
+ } else {
+ options = Object.assign({}, route);
+ }
+ options.headers = lowercaseKeys(options.headers);
+ removeUndefinedProperties(options);
+ removeUndefinedProperties(options.headers);
+ const mergedOptions = mergeDeep(defaults || {}, options);
+ if (options.url === "/graphql") {
+ if (defaults && defaults.mediaType.previews?.length) {
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
+ ).concat(mergedOptions.mediaType.previews);
+ }
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+ }
+ return mergedOptions;
+}
+
+// pkg/dist-src/util/add-query-parameters.js
+function addQueryParameters(url, parameters) {
+ const separator = /\?/.test(url) ? "&" : "?";
+ const names = Object.keys(parameters);
+ if (names.length === 0) {
+ return url;
+ }
+ return url + separator + names.map((name) => {
+ if (name === "q") {
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
+ }
+ return `${name}=${encodeURIComponent(parameters[name])}`;
+ }).join("&");
+}
+
+// pkg/dist-src/util/extract-url-variable-names.js
+var urlVariableRegex = /\{[^}]+\}/g;
+function removeNonChars(variableName) {
+ return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
+}
+function extractUrlVariableNames(url) {
+ const matches = url.match(urlVariableRegex);
+ if (!matches) {
+ return [];
+ }
+ return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
+}
+
+// pkg/dist-src/util/omit.js
+function omit(object, keysToOmit) {
+ const result = { __proto__: null };
+ for (const key of Object.keys(object)) {
+ if (keysToOmit.indexOf(key) === -1) {
+ result[key] = object[key];
+ }
+ }
+ return result;
+}
+
+// pkg/dist-src/util/url-template.js
+function encodeReserved(str) {
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+ if (!/%[0-9A-Fa-f]/.test(part)) {
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+ }
+ return part;
+ }).join("");
+}
+function encodeUnreserved(str) {
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
+ });
+}
+function encodeValue(operator, value, key) {
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+ if (key) {
+ return encodeUnreserved(key) + "=" + value;
+ } else {
+ return value;
+ }
+}
+function isDefined(value) {
+ return value !== void 0 && value !== null;
+}
+function isKeyOperator(operator) {
+ return operator === ";" || operator === "&" || operator === "?";
+}
+function getValues(context, operator, key, modifier) {
+ var value = context[key], result = [];
+ if (isDefined(value) && value !== "") {
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+ value = value.toString();
+ if (modifier && modifier !== "*") {
+ value = value.substring(0, parseInt(modifier, 10));
+ }
+ result.push(
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+ );
+ } else {
+ if (modifier === "*") {
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ result.push(
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+ );
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ result.push(encodeValue(operator, value[k], k));
+ }
+ });
+ }
+ } else {
+ const tmp = [];
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ tmp.push(encodeValue(operator, value2));
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ tmp.push(encodeUnreserved(k));
+ tmp.push(encodeValue(operator, value[k].toString()));
+ }
+ });
+ }
+ if (isKeyOperator(operator)) {
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+ } else if (tmp.length !== 0) {
+ result.push(tmp.join(","));
+ }
+ }
+ }
+ } else {
+ if (operator === ";") {
+ if (isDefined(value)) {
+ result.push(encodeUnreserved(key));
+ }
+ } else if (value === "" && (operator === "&" || operator === "?")) {
+ result.push(encodeUnreserved(key) + "=");
+ } else if (value === "") {
+ result.push("");
+ }
+ }
+ return result;
+}
+function parseUrl(template) {
+ return {
+ expand: expand.bind(null, template)
+ };
+}
+function expand(template, context) {
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
+ template = template.replace(
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
+ function(_, expression, literal) {
+ if (expression) {
+ let operator = "";
+ const values = [];
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
+ operator = expression.charAt(0);
+ expression = expression.substr(1);
+ }
+ expression.split(/,/g).forEach(function(variable) {
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
+ });
+ if (operator && operator !== "+") {
+ var separator = ",";
+ if (operator === "?") {
+ separator = "&";
+ } else if (operator !== "#") {
+ separator = operator;
+ }
+ return (values.length !== 0 ? operator : "") + values.join(separator);
+ } else {
+ return values.join(",");
+ }
+ } else {
+ return encodeReserved(literal);
+ }
+ }
+ );
+ if (template === "/") {
+ return template;
+ } else {
+ return template.replace(/\/$/, "");
+ }
+}
+
+// pkg/dist-src/parse.js
+function parse(options) {
+ let method = options.method.toUpperCase();
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+ let headers = Object.assign({}, options.headers);
+ let body;
+ let parameters = omit(options, [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "mediaType"
+ ]);
+ const urlVariableNames = extractUrlVariableNames(url);
+ url = parseUrl(url).expand(parameters);
+ if (!/^http/.test(url)) {
+ url = options.baseUrl + url;
+ }
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+ const remainingParameters = omit(parameters, omittedParameters);
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+ if (!isBinaryRequest) {
+ if (options.mediaType.format) {
+ headers.accept = headers.accept.split(/,/).map(
+ (format) => format.replace(
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+ `application/vnd$1$2.${options.mediaType.format}`
+ )
+ ).join(",");
+ }
+ if (url.endsWith("/graphql")) {
+ if (options.mediaType.previews?.length) {
+ const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+ return `application/vnd.github.${preview}-preview${format}`;
+ }).join(",");
+ }
+ }
+ }
+ if (["GET", "HEAD"].includes(method)) {
+ url = addQueryParameters(url, remainingParameters);
+ } else {
+ if ("data" in remainingParameters) {
+ body = remainingParameters.data;
+ } else {
+ if (Object.keys(remainingParameters).length) {
+ body = remainingParameters;
+ }
+ }
+ }
+ if (!headers["content-type"] && typeof body !== "undefined") {
+ headers["content-type"] = "application/json; charset=utf-8";
+ }
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+ body = "";
+ }
+ return Object.assign(
+ { method, url, headers },
+ typeof body !== "undefined" ? { body } : null,
+ options.request ? { request: options.request } : null
+ );
+}
+
+// pkg/dist-src/endpoint-with-defaults.js
+function endpointWithDefaults(defaults, route, options) {
+ return parse(merge(defaults, route, options));
+}
+
+// pkg/dist-src/with-defaults.js
+function withDefaults(oldDefaults, newDefaults) {
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+ return Object.assign(endpoint2, {
+ DEFAULTS: DEFAULTS2,
+ defaults: withDefaults.bind(null, DEFAULTS2),
+ merge: merge.bind(null, DEFAULTS2),
+ parse
+ });
+}
+
+// pkg/dist-src/index.js
+var endpoint = withDefaults(null, DEFAULTS);
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 88467:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ GraphqlResponseError: () => GraphqlResponseError,
+ graphql: () => graphql2,
+ withCustomRequest: () => withCustomRequest
+});
+module.exports = __toCommonJS(dist_src_exports);
+var import_request3 = __nccwpck_require__(36234);
+var import_universal_user_agent = __nccwpck_require__(45030);
+
+// pkg/dist-src/version.js
+var VERSION = "7.0.2";
+
+// pkg/dist-src/with-defaults.js
+var import_request2 = __nccwpck_require__(36234);
+
+// pkg/dist-src/graphql.js
+var import_request = __nccwpck_require__(36234);
+
+// pkg/dist-src/error.js
+function _buildMessageForResponseErrors(data) {
+ return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
+}
+var GraphqlResponseError = class extends Error {
+ constructor(request2, headers, response) {
+ super(_buildMessageForResponseErrors(response));
+ this.request = request2;
+ this.headers = headers;
+ this.response = response;
+ this.name = "GraphqlResponseError";
+ this.errors = response.errors;
+ this.data = response.data;
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
+ }
+ }
+};
+
+// pkg/dist-src/graphql.js
+var NON_VARIABLE_OPTIONS = [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "query",
+ "mediaType"
+];
+var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+function graphql(request2, query, options) {
+ if (options) {
+ if (typeof query === "string" && "query" in options) {
+ return Promise.reject(
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+ );
+ }
+ for (const key in options) {
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
+ continue;
+ return Promise.reject(
+ new Error(
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
+ )
+ );
+ }
+ }
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+ const requestOptions = Object.keys(
+ parsedOptions
+ ).reduce((result, key) => {
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
+ result[key] = parsedOptions[key];
+ return result;
+ }
+ if (!result.variables) {
+ result.variables = {};
+ }
+ result.variables[key] = parsedOptions[key];
+ return result;
+ }, {});
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+ }
+ return request2(requestOptions).then((response) => {
+ if (response.data.errors) {
+ const headers = {};
+ for (const key of Object.keys(response.headers)) {
+ headers[key] = response.headers[key];
+ }
+ throw new GraphqlResponseError(
+ requestOptions,
+ headers,
+ response.data
+ );
+ }
+ return response.data.data;
+ });
+}
+
+// pkg/dist-src/with-defaults.js
+function withDefaults(request2, newDefaults) {
+ const newRequest = request2.defaults(newDefaults);
+ const newApi = (query, options) => {
+ return graphql(newRequest, query, options);
+ };
+ return Object.assign(newApi, {
+ defaults: withDefaults.bind(null, newRequest),
+ endpoint: newRequest.endpoint
+ });
+}
+
+// pkg/dist-src/index.js
+var graphql2 = withDefaults(import_request3.request, {
+ headers: {
+ "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`
+ },
+ method: "POST",
+ url: "/graphql"
+});
+function withCustomRequest(customRequest) {
+ return withDefaults(customRequest, {
+ method: "POST",
+ url: "/graphql"
+ });
+}
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 64193:
+/***/ ((module) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ composePaginateRest: () => composePaginateRest,
+ isPaginatingEndpoint: () => isPaginatingEndpoint,
+ paginateRest: () => paginateRest,
+ paginatingEndpoints: () => paginatingEndpoints
+});
+module.exports = __toCommonJS(dist_src_exports);
+
+// pkg/dist-src/version.js
+var VERSION = "9.1.5";
+
+// pkg/dist-src/normalize-paginated-list-response.js
+function normalizePaginatedListResponse(response) {
+ if (!response.data) {
+ return {
+ ...response,
+ data: []
+ };
+ }
+ const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data);
+ if (!responseNeedsNormalization)
+ return response;
+ const incompleteResults = response.data.incomplete_results;
+ const repositorySelection = response.data.repository_selection;
+ const totalCount = response.data.total_count;
+ delete response.data.incomplete_results;
+ delete response.data.repository_selection;
+ delete response.data.total_count;
+ const namespaceKey = Object.keys(response.data)[0];
+ const data = response.data[namespaceKey];
+ response.data = data;
+ if (typeof incompleteResults !== "undefined") {
+ response.data.incomplete_results = incompleteResults;
+ }
+ if (typeof repositorySelection !== "undefined") {
+ response.data.repository_selection = repositorySelection;
+ }
+ response.data.total_count = totalCount;
+ return response;
+}
+
+// pkg/dist-src/iterator.js
+function iterator(octokit, route, parameters) {
+ const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
+ const requestMethod = typeof route === "function" ? route : octokit.request;
+ const method = options.method;
+ const headers = options.headers;
+ let url = options.url;
+ return {
+ [Symbol.asyncIterator]: () => ({
+ async next() {
+ if (!url)
+ return { done: true };
+ try {
+ const response = await requestMethod({ method, url, headers });
+ const normalizedResponse = normalizePaginatedListResponse(response);
+ url = ((normalizedResponse.headers.link || "").match(
+ /<([^>]+)>;\s*rel="next"/
+ ) || [])[1];
+ return { value: normalizedResponse };
+ } catch (error) {
+ if (error.status !== 409)
+ throw error;
+ url = "";
+ return {
+ value: {
+ status: 200,
+ headers: {},
+ data: []
+ }
+ };
+ }
+ }
+ })
+ };
+}
+
+// pkg/dist-src/paginate.js
+function paginate(octokit, route, parameters, mapFn) {
+ if (typeof parameters === "function") {
+ mapFn = parameters;
+ parameters = void 0;
+ }
+ return gather(
+ octokit,
+ [],
+ iterator(octokit, route, parameters)[Symbol.asyncIterator](),
+ mapFn
+ );
+}
+function gather(octokit, results, iterator2, mapFn) {
+ return iterator2.next().then((result) => {
+ if (result.done) {
+ return results;
+ }
+ let earlyExit = false;
+ function done() {
+ earlyExit = true;
+ }
+ results = results.concat(
+ mapFn ? mapFn(result.value, done) : result.value.data
+ );
+ if (earlyExit) {
+ return results;
+ }
+ return gather(octokit, results, iterator2, mapFn);
+ });
+}
+
+// pkg/dist-src/compose-paginate.js
+var composePaginateRest = Object.assign(paginate, {
+ iterator
+});
+
+// pkg/dist-src/generated/paginating-endpoints.js
+var paginatingEndpoints = [
+ "GET /advisories",
+ "GET /app/hook/deliveries",
+ "GET /app/installation-requests",
+ "GET /app/installations",
+ "GET /assignments/{assignment_id}/accepted_assignments",
+ "GET /classrooms",
+ "GET /classrooms/{classroom_id}/assignments",
+ "GET /enterprises/{enterprise}/dependabot/alerts",
+ "GET /enterprises/{enterprise}/secret-scanning/alerts",
+ "GET /events",
+ "GET /gists",
+ "GET /gists/public",
+ "GET /gists/starred",
+ "GET /gists/{gist_id}/comments",
+ "GET /gists/{gist_id}/commits",
+ "GET /gists/{gist_id}/forks",
+ "GET /installation/repositories",
+ "GET /issues",
+ "GET /licenses",
+ "GET /marketplace_listing/plans",
+ "GET /marketplace_listing/plans/{plan_id}/accounts",
+ "GET /marketplace_listing/stubbed/plans",
+ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts",
+ "GET /networks/{owner}/{repo}/events",
+ "GET /notifications",
+ "GET /organizations",
+ "GET /orgs/{org}/actions/cache/usage-by-repository",
+ "GET /orgs/{org}/actions/permissions/repositories",
+ "GET /orgs/{org}/actions/runners",
+ "GET /orgs/{org}/actions/secrets",
+ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories",
+ "GET /orgs/{org}/actions/variables",
+ "GET /orgs/{org}/actions/variables/{name}/repositories",
+ "GET /orgs/{org}/blocks",
+ "GET /orgs/{org}/code-scanning/alerts",
+ "GET /orgs/{org}/codespaces",
+ "GET /orgs/{org}/codespaces/secrets",
+ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
+ "GET /orgs/{org}/copilot/billing/seats",
+ "GET /orgs/{org}/dependabot/alerts",
+ "GET /orgs/{org}/dependabot/secrets",
+ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
+ "GET /orgs/{org}/events",
+ "GET /orgs/{org}/failed_invitations",
+ "GET /orgs/{org}/hooks",
+ "GET /orgs/{org}/hooks/{hook_id}/deliveries",
+ "GET /orgs/{org}/installations",
+ "GET /orgs/{org}/invitations",
+ "GET /orgs/{org}/invitations/{invitation_id}/teams",
+ "GET /orgs/{org}/issues",
+ "GET /orgs/{org}/members",
+ "GET /orgs/{org}/members/{username}/codespaces",
+ "GET /orgs/{org}/migrations",
+ "GET /orgs/{org}/migrations/{migration_id}/repositories",
+ "GET /orgs/{org}/outside_collaborators",
+ "GET /orgs/{org}/packages",
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
+ "GET /orgs/{org}/personal-access-token-requests",
+ "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories",
+ "GET /orgs/{org}/personal-access-tokens",
+ "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories",
+ "GET /orgs/{org}/projects",
+ "GET /orgs/{org}/properties/values",
+ "GET /orgs/{org}/public_members",
+ "GET /orgs/{org}/repos",
+ "GET /orgs/{org}/rulesets",
+ "GET /orgs/{org}/rulesets/rule-suites",
+ "GET /orgs/{org}/secret-scanning/alerts",
+ "GET /orgs/{org}/security-advisories",
+ "GET /orgs/{org}/teams",
+ "GET /orgs/{org}/teams/{team_slug}/discussions",
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions",
+ "GET /orgs/{org}/teams/{team_slug}/invitations",
+ "GET /orgs/{org}/teams/{team_slug}/members",
+ "GET /orgs/{org}/teams/{team_slug}/projects",
+ "GET /orgs/{org}/teams/{team_slug}/repos",
+ "GET /orgs/{org}/teams/{team_slug}/teams",
+ "GET /projects/columns/{column_id}/cards",
+ "GET /projects/{project_id}/collaborators",
+ "GET /projects/{project_id}/columns",
+ "GET /repos/{owner}/{repo}/actions/artifacts",
+ "GET /repos/{owner}/{repo}/actions/caches",
+ "GET /repos/{owner}/{repo}/actions/organization-secrets",
+ "GET /repos/{owner}/{repo}/actions/organization-variables",
+ "GET /repos/{owner}/{repo}/actions/runners",
+ "GET /repos/{owner}/{repo}/actions/runs",
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts",
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs",
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs",
+ "GET /repos/{owner}/{repo}/actions/secrets",
+ "GET /repos/{owner}/{repo}/actions/variables",
+ "GET /repos/{owner}/{repo}/actions/workflows",
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs",
+ "GET /repos/{owner}/{repo}/activity",
+ "GET /repos/{owner}/{repo}/assignees",
+ "GET /repos/{owner}/{repo}/branches",
+ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations",
+ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs",
+ "GET /repos/{owner}/{repo}/code-scanning/alerts",
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+ "GET /repos/{owner}/{repo}/code-scanning/analyses",
+ "GET /repos/{owner}/{repo}/codespaces",
+ "GET /repos/{owner}/{repo}/codespaces/devcontainers",
+ "GET /repos/{owner}/{repo}/codespaces/secrets",
+ "GET /repos/{owner}/{repo}/collaborators",
+ "GET /repos/{owner}/{repo}/comments",
+ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions",
+ "GET /repos/{owner}/{repo}/commits",
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments",
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls",
+ "GET /repos/{owner}/{repo}/commits/{ref}/check-runs",
+ "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
+ "GET /repos/{owner}/{repo}/commits/{ref}/status",
+ "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
+ "GET /repos/{owner}/{repo}/contributors",
+ "GET /repos/{owner}/{repo}/dependabot/alerts",
+ "GET /repos/{owner}/{repo}/dependabot/secrets",
+ "GET /repos/{owner}/{repo}/deployments",
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses",
+ "GET /repos/{owner}/{repo}/environments",
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies",
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps",
+ "GET /repos/{owner}/{repo}/events",
+ "GET /repos/{owner}/{repo}/forks",
+ "GET /repos/{owner}/{repo}/hooks",
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries",
+ "GET /repos/{owner}/{repo}/invitations",
+ "GET /repos/{owner}/{repo}/issues",
+ "GET /repos/{owner}/{repo}/issues/comments",
+ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions",
+ "GET /repos/{owner}/{repo}/issues/events",
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/comments",
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/events",
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels",
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/reactions",
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline",
+ "GET /repos/{owner}/{repo}/keys",
+ "GET /repos/{owner}/{repo}/labels",
+ "GET /repos/{owner}/{repo}/milestones",
+ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels",
+ "GET /repos/{owner}/{repo}/notifications",
+ "GET /repos/{owner}/{repo}/pages/builds",
+ "GET /repos/{owner}/{repo}/projects",
+ "GET /repos/{owner}/{repo}/pulls",
+ "GET /repos/{owner}/{repo}/pulls/comments",
+ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions",
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments",
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/commits",
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/files",
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews",
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments",
+ "GET /repos/{owner}/{repo}/releases",
+ "GET /repos/{owner}/{repo}/releases/{release_id}/assets",
+ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions",
+ "GET /repos/{owner}/{repo}/rules/branches/{branch}",
+ "GET /repos/{owner}/{repo}/rulesets",
+ "GET /repos/{owner}/{repo}/rulesets/rule-suites",
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts",
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
+ "GET /repos/{owner}/{repo}/security-advisories",
+ "GET /repos/{owner}/{repo}/stargazers",
+ "GET /repos/{owner}/{repo}/subscribers",
+ "GET /repos/{owner}/{repo}/tags",
+ "GET /repos/{owner}/{repo}/teams",
+ "GET /repos/{owner}/{repo}/topics",
+ "GET /repositories",
+ "GET /repositories/{repository_id}/environments/{environment_name}/secrets",
+ "GET /repositories/{repository_id}/environments/{environment_name}/variables",
+ "GET /search/code",
+ "GET /search/commits",
+ "GET /search/issues",
+ "GET /search/labels",
+ "GET /search/repositories",
+ "GET /search/topics",
+ "GET /search/users",
+ "GET /teams/{team_id}/discussions",
+ "GET /teams/{team_id}/discussions/{discussion_number}/comments",
+ "GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",
+ "GET /teams/{team_id}/discussions/{discussion_number}/reactions",
+ "GET /teams/{team_id}/invitations",
+ "GET /teams/{team_id}/members",
+ "GET /teams/{team_id}/projects",
+ "GET /teams/{team_id}/repos",
+ "GET /teams/{team_id}/teams",
+ "GET /user/blocks",
+ "GET /user/codespaces",
+ "GET /user/codespaces/secrets",
+ "GET /user/emails",
+ "GET /user/followers",
+ "GET /user/following",
+ "GET /user/gpg_keys",
+ "GET /user/installations",
+ "GET /user/installations/{installation_id}/repositories",
+ "GET /user/issues",
+ "GET /user/keys",
+ "GET /user/marketplace_purchases",
+ "GET /user/marketplace_purchases/stubbed",
+ "GET /user/memberships/orgs",
+ "GET /user/migrations",
+ "GET /user/migrations/{migration_id}/repositories",
+ "GET /user/orgs",
+ "GET /user/packages",
+ "GET /user/packages/{package_type}/{package_name}/versions",
+ "GET /user/public_emails",
+ "GET /user/repos",
+ "GET /user/repository_invitations",
+ "GET /user/social_accounts",
+ "GET /user/ssh_signing_keys",
+ "GET /user/starred",
+ "GET /user/subscriptions",
+ "GET /user/teams",
+ "GET /users",
+ "GET /users/{username}/events",
+ "GET /users/{username}/events/orgs/{org}",
+ "GET /users/{username}/events/public",
+ "GET /users/{username}/followers",
+ "GET /users/{username}/following",
+ "GET /users/{username}/gists",
+ "GET /users/{username}/gpg_keys",
+ "GET /users/{username}/keys",
+ "GET /users/{username}/orgs",
+ "GET /users/{username}/packages",
+ "GET /users/{username}/projects",
+ "GET /users/{username}/received_events",
+ "GET /users/{username}/received_events/public",
+ "GET /users/{username}/repos",
+ "GET /users/{username}/social_accounts",
+ "GET /users/{username}/ssh_signing_keys",
+ "GET /users/{username}/starred",
+ "GET /users/{username}/subscriptions"
+];
+
+// pkg/dist-src/paginating-endpoints.js
+function isPaginatingEndpoint(arg) {
+ if (typeof arg === "string") {
+ return paginatingEndpoints.includes(arg);
+ } else {
+ return false;
+ }
+}
+
+// pkg/dist-src/index.js
+function paginateRest(octokit) {
+ return {
+ paginate: Object.assign(paginate.bind(null, octokit), {
+ iterator: iterator.bind(null, octokit)
+ })
+ };
+}
+paginateRest.VERSION = VERSION;
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 83044:
+/***/ ((module) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ legacyRestEndpointMethods: () => legacyRestEndpointMethods,
+ restEndpointMethods: () => restEndpointMethods
+});
+module.exports = __toCommonJS(dist_src_exports);
+
+// pkg/dist-src/version.js
+var VERSION = "10.2.0";
+
+// pkg/dist-src/generated/endpoints.js
+var Endpoints = {
+ actions: {
+ addCustomLabelsToSelfHostedRunnerForOrg: [
+ "POST /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ addCustomLabelsToSelfHostedRunnerForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ addSelectedRepoToOrgSecret: [
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ addSelectedRepoToOrgVariable: [
+ "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+ ],
+ approveWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
+ ],
+ cancelWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
+ ],
+ createEnvironmentVariable: [
+ "POST /repositories/{repository_id}/environments/{environment_name}/variables"
+ ],
+ createOrUpdateEnvironmentSecret: [
+ "PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"
+ ],
+ createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
+ createOrUpdateRepoSecret: [
+ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
+ ],
+ createOrgVariable: ["POST /orgs/{org}/actions/variables"],
+ createRegistrationTokenForOrg: [
+ "POST /orgs/{org}/actions/runners/registration-token"
+ ],
+ createRegistrationTokenForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/registration-token"
+ ],
+ createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
+ createRemoveTokenForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/remove-token"
+ ],
+ createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
+ createWorkflowDispatch: [
+ "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
+ ],
+ deleteActionsCacheById: [
+ "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
+ ],
+ deleteActionsCacheByKey: [
+ "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
+ ],
+ deleteArtifact: [
+ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
+ ],
+ deleteEnvironmentSecret: [
+ "DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"
+ ],
+ deleteEnvironmentVariable: [
+ "DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"
+ ],
+ deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
+ deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
+ deleteRepoSecret: [
+ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
+ ],
+ deleteRepoVariable: [
+ "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
+ ],
+ deleteSelfHostedRunnerFromOrg: [
+ "DELETE /orgs/{org}/actions/runners/{runner_id}"
+ ],
+ deleteSelfHostedRunnerFromRepo: [
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
+ ],
+ deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
+ deleteWorkflowRunLogs: [
+ "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
+ ],
+ disableSelectedRepositoryGithubActionsOrganization: [
+ "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
+ ],
+ disableWorkflow: [
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
+ ],
+ downloadArtifact: [
+ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
+ ],
+ downloadJobLogsForWorkflowRun: [
+ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
+ ],
+ downloadWorkflowRunAttemptLogs: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
+ ],
+ downloadWorkflowRunLogs: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
+ ],
+ enableSelectedRepositoryGithubActionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
+ ],
+ enableWorkflow: [
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
+ ],
+ forceCancelWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
+ ],
+ generateRunnerJitconfigForOrg: [
+ "POST /orgs/{org}/actions/runners/generate-jitconfig"
+ ],
+ generateRunnerJitconfigForRepo: [
+ "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
+ ],
+ getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
+ getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
+ getActionsCacheUsageByRepoForOrg: [
+ "GET /orgs/{org}/actions/cache/usage-by-repository"
+ ],
+ getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
+ getAllowedActionsOrganization: [
+ "GET /orgs/{org}/actions/permissions/selected-actions"
+ ],
+ getAllowedActionsRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
+ ],
+ getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
+ getEnvironmentPublicKey: [
+ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"
+ ],
+ getEnvironmentSecret: [
+ "GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"
+ ],
+ getEnvironmentVariable: [
+ "GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"
+ ],
+ getGithubActionsDefaultWorkflowPermissionsOrganization: [
+ "GET /orgs/{org}/actions/permissions/workflow"
+ ],
+ getGithubActionsDefaultWorkflowPermissionsRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions/workflow"
+ ],
+ getGithubActionsPermissionsOrganization: [
+ "GET /orgs/{org}/actions/permissions"
+ ],
+ getGithubActionsPermissionsRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions"
+ ],
+ getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
+ getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
+ getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
+ getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
+ getPendingDeploymentsForRun: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
+ ],
+ getRepoPermissions: [
+ "GET /repos/{owner}/{repo}/actions/permissions",
+ {},
+ { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
+ ],
+ getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
+ getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
+ getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
+ getReviewsForRun: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
+ ],
+ getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
+ getSelfHostedRunnerForRepo: [
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
+ ],
+ getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
+ getWorkflowAccessToRepository: [
+ "GET /repos/{owner}/{repo}/actions/permissions/access"
+ ],
+ getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
+ getWorkflowRunAttempt: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
+ ],
+ getWorkflowRunUsage: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
+ ],
+ getWorkflowUsage: [
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
+ ],
+ listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
+ listEnvironmentSecrets: [
+ "GET /repositories/{repository_id}/environments/{environment_name}/secrets"
+ ],
+ listEnvironmentVariables: [
+ "GET /repositories/{repository_id}/environments/{environment_name}/variables"
+ ],
+ listJobsForWorkflowRun: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
+ ],
+ listJobsForWorkflowRunAttempt: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
+ ],
+ listLabelsForSelfHostedRunnerForOrg: [
+ "GET /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ listLabelsForSelfHostedRunnerForRepo: [
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
+ listOrgVariables: ["GET /orgs/{org}/actions/variables"],
+ listRepoOrganizationSecrets: [
+ "GET /repos/{owner}/{repo}/actions/organization-secrets"
+ ],
+ listRepoOrganizationVariables: [
+ "GET /repos/{owner}/{repo}/actions/organization-variables"
+ ],
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
+ listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
+ listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
+ listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
+ listRunnerApplicationsForRepo: [
+ "GET /repos/{owner}/{repo}/actions/runners/downloads"
+ ],
+ listSelectedReposForOrgSecret: [
+ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
+ ],
+ listSelectedReposForOrgVariable: [
+ "GET /orgs/{org}/actions/variables/{name}/repositories"
+ ],
+ listSelectedRepositoriesEnabledGithubActionsOrganization: [
+ "GET /orgs/{org}/actions/permissions/repositories"
+ ],
+ listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
+ listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
+ listWorkflowRunArtifacts: [
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
+ ],
+ listWorkflowRuns: [
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
+ ],
+ listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
+ reRunJobForWorkflowRun: [
+ "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
+ ],
+ reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
+ reRunWorkflowFailedJobs: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
+ ],
+ removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ removeCustomLabelFromSelfHostedRunnerForOrg: [
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
+ ],
+ removeCustomLabelFromSelfHostedRunnerForRepo: [
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
+ ],
+ removeSelectedRepoFromOrgSecret: [
+ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ removeSelectedRepoFromOrgVariable: [
+ "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
+ ],
+ reviewCustomGatesForRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
+ ],
+ reviewPendingDeploymentsForRun: [
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
+ ],
+ setAllowedActionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/selected-actions"
+ ],
+ setAllowedActionsRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
+ ],
+ setCustomLabelsForSelfHostedRunnerForOrg: [
+ "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
+ ],
+ setCustomLabelsForSelfHostedRunnerForRepo: [
+ "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
+ ],
+ setGithubActionsDefaultWorkflowPermissionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/workflow"
+ ],
+ setGithubActionsDefaultWorkflowPermissionsRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
+ ],
+ setGithubActionsPermissionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions"
+ ],
+ setGithubActionsPermissionsRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions"
+ ],
+ setSelectedReposForOrgSecret: [
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
+ ],
+ setSelectedReposForOrgVariable: [
+ "PUT /orgs/{org}/actions/variables/{name}/repositories"
+ ],
+ setSelectedRepositoriesEnabledGithubActionsOrganization: [
+ "PUT /orgs/{org}/actions/permissions/repositories"
+ ],
+ setWorkflowAccessToRepository: [
+ "PUT /repos/{owner}/{repo}/actions/permissions/access"
+ ],
+ updateEnvironmentVariable: [
+ "PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"
+ ],
+ updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
+ updateRepoVariable: [
+ "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
+ ]
+ },
+ activity: {
+ checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
+ deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
+ deleteThreadSubscription: [
+ "DELETE /notifications/threads/{thread_id}/subscription"
+ ],
+ getFeeds: ["GET /feeds"],
+ getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
+ getThread: ["GET /notifications/threads/{thread_id}"],
+ getThreadSubscriptionForAuthenticatedUser: [
+ "GET /notifications/threads/{thread_id}/subscription"
+ ],
+ listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
+ listNotificationsForAuthenticatedUser: ["GET /notifications"],
+ listOrgEventsForAuthenticatedUser: [
+ "GET /users/{username}/events/orgs/{org}"
+ ],
+ listPublicEvents: ["GET /events"],
+ listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
+ listPublicEventsForUser: ["GET /users/{username}/events/public"],
+ listPublicOrgEvents: ["GET /orgs/{org}/events"],
+ listReceivedEventsForUser: ["GET /users/{username}/received_events"],
+ listReceivedPublicEventsForUser: [
+ "GET /users/{username}/received_events/public"
+ ],
+ listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
+ listRepoNotificationsForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/notifications"
+ ],
+ listReposStarredByAuthenticatedUser: ["GET /user/starred"],
+ listReposStarredByUser: ["GET /users/{username}/starred"],
+ listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
+ listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
+ listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
+ listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
+ markNotificationsAsRead: ["PUT /notifications"],
+ markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
+ markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
+ setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
+ setThreadSubscription: [
+ "PUT /notifications/threads/{thread_id}/subscription"
+ ],
+ starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
+ unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
+ },
+ apps: {
+ addRepoToInstallation: [
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}",
+ {},
+ { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
+ ],
+ addRepoToInstallationForAuthenticatedUser: [
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}"
+ ],
+ checkToken: ["POST /applications/{client_id}/token"],
+ createFromManifest: ["POST /app-manifests/{code}/conversions"],
+ createInstallationAccessToken: [
+ "POST /app/installations/{installation_id}/access_tokens"
+ ],
+ deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
+ deleteInstallation: ["DELETE /app/installations/{installation_id}"],
+ deleteToken: ["DELETE /applications/{client_id}/token"],
+ getAuthenticated: ["GET /app"],
+ getBySlug: ["GET /apps/{app_slug}"],
+ getInstallation: ["GET /app/installations/{installation_id}"],
+ getOrgInstallation: ["GET /orgs/{org}/installation"],
+ getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
+ getSubscriptionPlanForAccount: [
+ "GET /marketplace_listing/accounts/{account_id}"
+ ],
+ getSubscriptionPlanForAccountStubbed: [
+ "GET /marketplace_listing/stubbed/accounts/{account_id}"
+ ],
+ getUserInstallation: ["GET /users/{username}/installation"],
+ getWebhookConfigForApp: ["GET /app/hook/config"],
+ getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
+ listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
+ listAccountsForPlanStubbed: [
+ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
+ ],
+ listInstallationReposForAuthenticatedUser: [
+ "GET /user/installations/{installation_id}/repositories"
+ ],
+ listInstallationRequestsForAuthenticatedApp: [
+ "GET /app/installation-requests"
+ ],
+ listInstallations: ["GET /app/installations"],
+ listInstallationsForAuthenticatedUser: ["GET /user/installations"],
+ listPlans: ["GET /marketplace_listing/plans"],
+ listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
+ listReposAccessibleToInstallation: ["GET /installation/repositories"],
+ listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
+ listSubscriptionsForAuthenticatedUserStubbed: [
+ "GET /user/marketplace_purchases/stubbed"
+ ],
+ listWebhookDeliveries: ["GET /app/hook/deliveries"],
+ redeliverWebhookDelivery: [
+ "POST /app/hook/deliveries/{delivery_id}/attempts"
+ ],
+ removeRepoFromInstallation: [
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
+ {},
+ { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
+ ],
+ removeRepoFromInstallationForAuthenticatedUser: [
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
+ ],
+ resetToken: ["PATCH /applications/{client_id}/token"],
+ revokeInstallationAccessToken: ["DELETE /installation/token"],
+ scopeToken: ["POST /applications/{client_id}/token/scoped"],
+ suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
+ unsuspendInstallation: [
+ "DELETE /app/installations/{installation_id}/suspended"
+ ],
+ updateWebhookConfigForApp: ["PATCH /app/hook/config"]
+ },
+ billing: {
+ getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
+ getGithubActionsBillingUser: [
+ "GET /users/{username}/settings/billing/actions"
+ ],
+ getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
+ getGithubPackagesBillingUser: [
+ "GET /users/{username}/settings/billing/packages"
+ ],
+ getSharedStorageBillingOrg: [
+ "GET /orgs/{org}/settings/billing/shared-storage"
+ ],
+ getSharedStorageBillingUser: [
+ "GET /users/{username}/settings/billing/shared-storage"
+ ]
+ },
+ checks: {
+ create: ["POST /repos/{owner}/{repo}/check-runs"],
+ createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
+ get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],
+ getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],
+ listAnnotations: [
+ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"
+ ],
+ listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],
+ listForSuite: [
+ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"
+ ],
+ listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],
+ rerequestRun: [
+ "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"
+ ],
+ rerequestSuite: [
+ "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"
+ ],
+ setSuitesPreferences: [
+ "PATCH /repos/{owner}/{repo}/check-suites/preferences"
+ ],
+ update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]
+ },
+ codeScanning: {
+ deleteAnalysis: [
+ "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"
+ ],
+ getAlert: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",
+ {},
+ { renamedParameters: { alert_id: "alert_number" } }
+ ],
+ getAnalysis: [
+ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"
+ ],
+ getCodeqlDatabase: [
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
+ ],
+ getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"],
+ getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],
+ listAlertInstances: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"
+ ],
+ listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"],
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"],
+ listAlertsInstances: [
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
+ {},
+ { renamed: ["codeScanning", "listAlertInstances"] }
+ ],
+ listCodeqlDatabases: [
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases"
+ ],
+ listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"],
+ updateAlert: [
+ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"
+ ],
+ updateDefaultSetup: [
+ "PATCH /repos/{owner}/{repo}/code-scanning/default-setup"
+ ],
+ uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"]
+ },
+ codesOfConduct: {
+ getAllCodesOfConduct: ["GET /codes_of_conduct"],
+ getConductCode: ["GET /codes_of_conduct/{key}"]
+ },
+ codespaces: {
+ addRepositoryForSecretForAuthenticatedUser: [
+ "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ addSelectedRepoToOrgSecret: [
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ checkPermissionsForDevcontainer: [
+ "GET /repos/{owner}/{repo}/codespaces/permissions_check"
+ ],
+ codespaceMachinesForAuthenticatedUser: [
+ "GET /user/codespaces/{codespace_name}/machines"
+ ],
+ createForAuthenticatedUser: ["POST /user/codespaces"],
+ createOrUpdateOrgSecret: [
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}"
+ ],
+ createOrUpdateRepoSecret: [
+ "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
+ ],
+ createOrUpdateSecretForAuthenticatedUser: [
+ "PUT /user/codespaces/secrets/{secret_name}"
+ ],
+ createWithPrForAuthenticatedUser: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"
+ ],
+ createWithRepoForAuthenticatedUser: [
+ "POST /repos/{owner}/{repo}/codespaces"
+ ],
+ deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"],
+ deleteFromOrganization: [
+ "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"
+ ],
+ deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],
+ deleteRepoSecret: [
+ "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
+ ],
+ deleteSecretForAuthenticatedUser: [
+ "DELETE /user/codespaces/secrets/{secret_name}"
+ ],
+ exportForAuthenticatedUser: [
+ "POST /user/codespaces/{codespace_name}/exports"
+ ],
+ getCodespacesForUserInOrg: [
+ "GET /orgs/{org}/members/{username}/codespaces"
+ ],
+ getExportDetailsForAuthenticatedUser: [
+ "GET /user/codespaces/{codespace_name}/exports/{export_id}"
+ ],
+ getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"],
+ getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"],
+ getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"],
+ getPublicKeyForAuthenticatedUser: [
+ "GET /user/codespaces/secrets/public-key"
+ ],
+ getRepoPublicKey: [
+ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key"
+ ],
+ getRepoSecret: [
+ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
+ ],
+ getSecretForAuthenticatedUser: [
+ "GET /user/codespaces/secrets/{secret_name}"
+ ],
+ listDevcontainersInRepositoryForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces/devcontainers"
+ ],
+ listForAuthenticatedUser: ["GET /user/codespaces"],
+ listInOrganization: [
+ "GET /orgs/{org}/codespaces",
+ {},
+ { renamedParameters: { org_id: "org" } }
+ ],
+ listInRepositoryForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces"
+ ],
+ listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"],
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"],
+ listRepositoriesForSecretForAuthenticatedUser: [
+ "GET /user/codespaces/secrets/{secret_name}/repositories"
+ ],
+ listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"],
+ listSelectedReposForOrgSecret: [
+ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
+ ],
+ preFlightWithRepoForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces/new"
+ ],
+ publishForAuthenticatedUser: [
+ "POST /user/codespaces/{codespace_name}/publish"
+ ],
+ removeRepositoryForSecretForAuthenticatedUser: [
+ "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ removeSelectedRepoFromOrgSecret: [
+ "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ repoMachinesForAuthenticatedUser: [
+ "GET /repos/{owner}/{repo}/codespaces/machines"
+ ],
+ setRepositoriesForSecretForAuthenticatedUser: [
+ "PUT /user/codespaces/secrets/{secret_name}/repositories"
+ ],
+ setSelectedReposForOrgSecret: [
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
+ ],
+ startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"],
+ stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"],
+ stopInOrganization: [
+ "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"
+ ],
+ updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"]
+ },
+ copilot: {
+ addCopilotForBusinessSeatsForTeams: [
+ "POST /orgs/{org}/copilot/billing/selected_teams"
+ ],
+ addCopilotForBusinessSeatsForUsers: [
+ "POST /orgs/{org}/copilot/billing/selected_users"
+ ],
+ cancelCopilotSeatAssignmentForTeams: [
+ "DELETE /orgs/{org}/copilot/billing/selected_teams"
+ ],
+ cancelCopilotSeatAssignmentForUsers: [
+ "DELETE /orgs/{org}/copilot/billing/selected_users"
+ ],
+ getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"],
+ getCopilotSeatDetailsForUser: [
+ "GET /orgs/{org}/members/{username}/copilot"
+ ],
+ listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
+ },
+ dependabot: {
+ addSelectedRepoToOrgSecret: [
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ createOrUpdateOrgSecret: [
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}"
+ ],
+ createOrUpdateRepoSecret: [
+ "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
+ ],
+ deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],
+ deleteRepoSecret: [
+ "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
+ ],
+ getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],
+ getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"],
+ getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"],
+ getRepoPublicKey: [
+ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key"
+ ],
+ getRepoSecret: [
+ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
+ ],
+ listAlertsForEnterprise: [
+ "GET /enterprises/{enterprise}/dependabot/alerts"
+ ],
+ listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"],
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"],
+ listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"],
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"],
+ listSelectedReposForOrgSecret: [
+ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
+ ],
+ removeSelectedRepoFromOrgSecret: [
+ "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
+ ],
+ setSelectedReposForOrgSecret: [
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
+ ],
+ updateAlert: [
+ "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"
+ ]
+ },
+ dependencyGraph: {
+ createRepositorySnapshot: [
+ "POST /repos/{owner}/{repo}/dependency-graph/snapshots"
+ ],
+ diffRange: [
+ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"
+ ],
+ exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"]
+ },
+ emojis: { get: ["GET /emojis"] },
+ gists: {
+ checkIsStarred: ["GET /gists/{gist_id}/star"],
+ create: ["POST /gists"],
+ createComment: ["POST /gists/{gist_id}/comments"],
+ delete: ["DELETE /gists/{gist_id}"],
+ deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"],
+ fork: ["POST /gists/{gist_id}/forks"],
+ get: ["GET /gists/{gist_id}"],
+ getComment: ["GET /gists/{gist_id}/comments/{comment_id}"],
+ getRevision: ["GET /gists/{gist_id}/{sha}"],
+ list: ["GET /gists"],
+ listComments: ["GET /gists/{gist_id}/comments"],
+ listCommits: ["GET /gists/{gist_id}/commits"],
+ listForUser: ["GET /users/{username}/gists"],
+ listForks: ["GET /gists/{gist_id}/forks"],
+ listPublic: ["GET /gists/public"],
+ listStarred: ["GET /gists/starred"],
+ star: ["PUT /gists/{gist_id}/star"],
+ unstar: ["DELETE /gists/{gist_id}/star"],
+ update: ["PATCH /gists/{gist_id}"],
+ updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"]
+ },
+ git: {
+ createBlob: ["POST /repos/{owner}/{repo}/git/blobs"],
+ createCommit: ["POST /repos/{owner}/{repo}/git/commits"],
+ createRef: ["POST /repos/{owner}/{repo}/git/refs"],
+ createTag: ["POST /repos/{owner}/{repo}/git/tags"],
+ createTree: ["POST /repos/{owner}/{repo}/git/trees"],
+ deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],
+ getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],
+ getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],
+ getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"],
+ getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],
+ getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],
+ listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],
+ updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]
+ },
+ gitignore: {
+ getAllTemplates: ["GET /gitignore/templates"],
+ getTemplate: ["GET /gitignore/templates/{name}"]
+ },
+ interactions: {
+ getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
+ getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
+ getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"],
+ getRestrictionsForYourPublicRepos: [
+ "GET /user/interaction-limits",
+ {},
+ { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }
+ ],
+ removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"],
+ removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"],
+ removeRestrictionsForRepo: [
+ "DELETE /repos/{owner}/{repo}/interaction-limits"
+ ],
+ removeRestrictionsForYourPublicRepos: [
+ "DELETE /user/interaction-limits",
+ {},
+ { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }
+ ],
+ setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"],
+ setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"],
+ setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"],
+ setRestrictionsForYourPublicRepos: [
+ "PUT /user/interaction-limits",
+ {},
+ { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }
+ ]
+ },
+ issues: {
+ addAssignees: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"
+ ],
+ addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],
+ checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"],
+ checkUserCanBeAssignedToIssue: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"
+ ],
+ create: ["POST /repos/{owner}/{repo}/issues"],
+ createComment: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/comments"
+ ],
+ createLabel: ["POST /repos/{owner}/{repo}/labels"],
+ createMilestone: ["POST /repos/{owner}/{repo}/milestones"],
+ deleteComment: [
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"
+ ],
+ deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"],
+ deleteMilestone: [
+ "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"
+ ],
+ get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"],
+ getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],
+ getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"],
+ getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"],
+ getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],
+ list: ["GET /issues"],
+ listAssignees: ["GET /repos/{owner}/{repo}/assignees"],
+ listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],
+ listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"],
+ listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],
+ listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"],
+ listEventsForTimeline: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"
+ ],
+ listForAuthenticatedUser: ["GET /user/issues"],
+ listForOrg: ["GET /orgs/{org}/issues"],
+ listForRepo: ["GET /repos/{owner}/{repo}/issues"],
+ listLabelsForMilestone: [
+ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"
+ ],
+ listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"],
+ listLabelsOnIssue: [
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels"
+ ],
+ listMilestones: ["GET /repos/{owner}/{repo}/milestones"],
+ lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],
+ removeAllLabels: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"
+ ],
+ removeAssignees: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"
+ ],
+ removeLabel: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"
+ ],
+ setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],
+ unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],
+ update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],
+ updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],
+ updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"],
+ updateMilestone: [
+ "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"
+ ]
+ },
+ licenses: {
+ get: ["GET /licenses/{license}"],
+ getAllCommonlyUsed: ["GET /licenses"],
+ getForRepo: ["GET /repos/{owner}/{repo}/license"]
+ },
+ markdown: {
+ render: ["POST /markdown"],
+ renderRaw: [
+ "POST /markdown/raw",
+ { headers: { "content-type": "text/plain; charset=utf-8" } }
+ ]
+ },
+ meta: {
+ get: ["GET /meta"],
+ getAllVersions: ["GET /versions"],
+ getOctocat: ["GET /octocat"],
+ getZen: ["GET /zen"],
+ root: ["GET /"]
+ },
+ migrations: {
+ cancelImport: [
+ "DELETE /repos/{owner}/{repo}/import",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import"
+ }
+ ],
+ deleteArchiveForAuthenticatedUser: [
+ "DELETE /user/migrations/{migration_id}/archive"
+ ],
+ deleteArchiveForOrg: [
+ "DELETE /orgs/{org}/migrations/{migration_id}/archive"
+ ],
+ downloadArchiveForOrg: [
+ "GET /orgs/{org}/migrations/{migration_id}/archive"
+ ],
+ getArchiveForAuthenticatedUser: [
+ "GET /user/migrations/{migration_id}/archive"
+ ],
+ getCommitAuthors: [
+ "GET /repos/{owner}/{repo}/import/authors",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors"
+ }
+ ],
+ getImportStatus: [
+ "GET /repos/{owner}/{repo}/import",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status"
+ }
+ ],
+ getLargeFiles: [
+ "GET /repos/{owner}/{repo}/import/large_files",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files"
+ }
+ ],
+ getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"],
+ getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"],
+ listForAuthenticatedUser: ["GET /user/migrations"],
+ listForOrg: ["GET /orgs/{org}/migrations"],
+ listReposForAuthenticatedUser: [
+ "GET /user/migrations/{migration_id}/repositories"
+ ],
+ listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"],
+ listReposForUser: [
+ "GET /user/migrations/{migration_id}/repositories",
+ {},
+ { renamed: ["migrations", "listReposForAuthenticatedUser"] }
+ ],
+ mapCommitAuthor: [
+ "PATCH /repos/{owner}/{repo}/import/authors/{author_id}",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author"
+ }
+ ],
+ setLfsPreference: [
+ "PATCH /repos/{owner}/{repo}/import/lfs",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference"
+ }
+ ],
+ startForAuthenticatedUser: ["POST /user/migrations"],
+ startForOrg: ["POST /orgs/{org}/migrations"],
+ startImport: [
+ "PUT /repos/{owner}/{repo}/import",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import"
+ }
+ ],
+ unlockRepoForAuthenticatedUser: [
+ "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"
+ ],
+ unlockRepoForOrg: [
+ "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"
+ ],
+ updateImport: [
+ "PATCH /repos/{owner}/{repo}/import",
+ {},
+ {
+ deprecated: "octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import"
+ }
+ ]
+ },
+ orgs: {
+ addSecurityManagerTeam: [
+ "PUT /orgs/{org}/security-managers/teams/{team_slug}"
+ ],
+ blockUser: ["PUT /orgs/{org}/blocks/{username}"],
+ cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"],
+ checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"],
+ checkMembershipForUser: ["GET /orgs/{org}/members/{username}"],
+ checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"],
+ convertMemberToOutsideCollaborator: [
+ "PUT /orgs/{org}/outside_collaborators/{username}"
+ ],
+ createInvitation: ["POST /orgs/{org}/invitations"],
+ createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"],
+ createOrUpdateCustomPropertiesValuesForRepos: [
+ "PATCH /orgs/{org}/properties/values"
+ ],
+ createOrUpdateCustomProperty: [
+ "PUT /orgs/{org}/properties/schema/{custom_property_name}"
+ ],
+ createWebhook: ["POST /orgs/{org}/hooks"],
+ delete: ["DELETE /orgs/{org}"],
+ deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
+ enableOrDisableSecurityProductOnAllOrgRepos: [
+ "POST /orgs/{org}/{security_product}/{enablement}"
+ ],
+ get: ["GET /orgs/{org}"],
+ getAllCustomProperties: ["GET /orgs/{org}/properties/schema"],
+ getCustomProperty: [
+ "GET /orgs/{org}/properties/schema/{custom_property_name}"
+ ],
+ getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
+ getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
+ getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
+ getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
+ getWebhookDelivery: [
+ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"
+ ],
+ list: ["GET /organizations"],
+ listAppInstallations: ["GET /orgs/{org}/installations"],
+ listBlockedUsers: ["GET /orgs/{org}/blocks"],
+ listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"],
+ listFailedInvitations: ["GET /orgs/{org}/failed_invitations"],
+ listForAuthenticatedUser: ["GET /user/orgs"],
+ listForUser: ["GET /users/{username}/orgs"],
+ listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
+ listMembers: ["GET /orgs/{org}/members"],
+ listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
+ listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"],
+ listPatGrantRepositories: [
+ "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"
+ ],
+ listPatGrantRequestRepositories: [
+ "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"
+ ],
+ listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"],
+ listPatGrants: ["GET /orgs/{org}/personal-access-tokens"],
+ listPendingInvitations: ["GET /orgs/{org}/invitations"],
+ listPublicMembers: ["GET /orgs/{org}/public_members"],
+ listSecurityManagerTeams: ["GET /orgs/{org}/security-managers"],
+ listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"],
+ listWebhooks: ["GET /orgs/{org}/hooks"],
+ pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"],
+ redeliverWebhookDelivery: [
+ "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
+ ],
+ removeCustomProperty: [
+ "DELETE /orgs/{org}/properties/schema/{custom_property_name}"
+ ],
+ removeMember: ["DELETE /orgs/{org}/members/{username}"],
+ removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"],
+ removeOutsideCollaborator: [
+ "DELETE /orgs/{org}/outside_collaborators/{username}"
+ ],
+ removePublicMembershipForAuthenticatedUser: [
+ "DELETE /orgs/{org}/public_members/{username}"
+ ],
+ removeSecurityManagerTeam: [
+ "DELETE /orgs/{org}/security-managers/teams/{team_slug}"
+ ],
+ reviewPatGrantRequest: [
+ "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"
+ ],
+ reviewPatGrantRequestsInBulk: [
+ "POST /orgs/{org}/personal-access-token-requests"
+ ],
+ setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"],
+ setPublicMembershipForAuthenticatedUser: [
+ "PUT /orgs/{org}/public_members/{username}"
+ ],
+ unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
+ update: ["PATCH /orgs/{org}"],
+ updateMembershipForAuthenticatedUser: [
+ "PATCH /user/memberships/orgs/{org}"
+ ],
+ updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"],
+ updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"],
+ updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"],
+ updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"]
+ },
+ packages: {
+ deletePackageForAuthenticatedUser: [
+ "DELETE /user/packages/{package_type}/{package_name}"
+ ],
+ deletePackageForOrg: [
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}"
+ ],
+ deletePackageForUser: [
+ "DELETE /users/{username}/packages/{package_type}/{package_name}"
+ ],
+ deletePackageVersionForAuthenticatedUser: [
+ "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ deletePackageVersionForOrg: [
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ deletePackageVersionForUser: [
+ "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ getAllPackageVersionsForAPackageOwnedByAnOrg: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
+ {},
+ { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }
+ ],
+ getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}/versions",
+ {},
+ {
+ renamed: [
+ "packages",
+ "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"
+ ]
+ }
+ ],
+ getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}/versions"
+ ],
+ getAllPackageVersionsForPackageOwnedByOrg: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions"
+ ],
+ getAllPackageVersionsForPackageOwnedByUser: [
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions"
+ ],
+ getPackageForAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}"
+ ],
+ getPackageForOrganization: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}"
+ ],
+ getPackageForUser: [
+ "GET /users/{username}/packages/{package_type}/{package_name}"
+ ],
+ getPackageVersionForAuthenticatedUser: [
+ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ getPackageVersionForOrganization: [
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ getPackageVersionForUser: [
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
+ ],
+ listDockerMigrationConflictingPackagesForAuthenticatedUser: [
+ "GET /user/docker/conflicts"
+ ],
+ listDockerMigrationConflictingPackagesForOrganization: [
+ "GET /orgs/{org}/docker/conflicts"
+ ],
+ listDockerMigrationConflictingPackagesForUser: [
+ "GET /users/{username}/docker/conflicts"
+ ],
+ listPackagesForAuthenticatedUser: ["GET /user/packages"],
+ listPackagesForOrganization: ["GET /orgs/{org}/packages"],
+ listPackagesForUser: ["GET /users/{username}/packages"],
+ restorePackageForAuthenticatedUser: [
+ "POST /user/packages/{package_type}/{package_name}/restore{?token}"
+ ],
+ restorePackageForOrg: [
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"
+ ],
+ restorePackageForUser: [
+ "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"
+ ],
+ restorePackageVersionForAuthenticatedUser: [
+ "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
+ ],
+ restorePackageVersionForOrg: [
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
+ ],
+ restorePackageVersionForUser: [
+ "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
+ ]
+ },
+ projects: {
+ addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"],
+ createCard: ["POST /projects/columns/{column_id}/cards"],
+ createColumn: ["POST /projects/{project_id}/columns"],
+ createForAuthenticatedUser: ["POST /user/projects"],
+ createForOrg: ["POST /orgs/{org}/projects"],
+ createForRepo: ["POST /repos/{owner}/{repo}/projects"],
+ delete: ["DELETE /projects/{project_id}"],
+ deleteCard: ["DELETE /projects/columns/cards/{card_id}"],
+ deleteColumn: ["DELETE /projects/columns/{column_id}"],
+ get: ["GET /projects/{project_id}"],
+ getCard: ["GET /projects/columns/cards/{card_id}"],
+ getColumn: ["GET /projects/columns/{column_id}"],
+ getPermissionForUser: [
+ "GET /projects/{project_id}/collaborators/{username}/permission"
+ ],
+ listCards: ["GET /projects/columns/{column_id}/cards"],
+ listCollaborators: ["GET /projects/{project_id}/collaborators"],
+ listColumns: ["GET /projects/{project_id}/columns"],
+ listForOrg: ["GET /orgs/{org}/projects"],
+ listForRepo: ["GET /repos/{owner}/{repo}/projects"],
+ listForUser: ["GET /users/{username}/projects"],
+ moveCard: ["POST /projects/columns/cards/{card_id}/moves"],
+ moveColumn: ["POST /projects/columns/{column_id}/moves"],
+ removeCollaborator: [
+ "DELETE /projects/{project_id}/collaborators/{username}"
+ ],
+ update: ["PATCH /projects/{project_id}"],
+ updateCard: ["PATCH /projects/columns/cards/{card_id}"],
+ updateColumn: ["PATCH /projects/columns/{column_id}"]
+ },
+ pulls: {
+ checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
+ create: ["POST /repos/{owner}/{repo}/pulls"],
+ createReplyForReviewComment: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"
+ ],
+ createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
+ createReviewComment: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"
+ ],
+ deletePendingReview: [
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
+ ],
+ deleteReviewComment: [
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"
+ ],
+ dismissReview: [
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"
+ ],
+ get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"],
+ getReview: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
+ ],
+ getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
+ list: ["GET /repos/{owner}/{repo}/pulls"],
+ listCommentsForReview: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"
+ ],
+ listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],
+ listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],
+ listRequestedReviewers: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
+ ],
+ listReviewComments: [
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"
+ ],
+ listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"],
+ listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
+ merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
+ removeRequestedReviewers: [
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
+ ],
+ requestReviewers: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
+ ],
+ submitReview: [
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"
+ ],
+ update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],
+ updateBranch: [
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"
+ ],
+ updateReview: [
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
+ ],
+ updateReviewComment: [
+ "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"
+ ]
+ },
+ rateLimit: { get: ["GET /rate_limit"] },
+ reactions: {
+ createForCommitComment: [
+ "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"
+ ],
+ createForIssue: [
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"
+ ],
+ createForIssueComment: [
+ "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
+ ],
+ createForPullRequestReviewComment: [
+ "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
+ ],
+ createForRelease: [
+ "POST /repos/{owner}/{repo}/releases/{release_id}/reactions"
+ ],
+ createForTeamDiscussionCommentInOrg: [
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
+ ],
+ createForTeamDiscussionInOrg: [
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
+ ],
+ deleteForCommitComment: [
+ "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"
+ ],
+ deleteForIssue: [
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"
+ ],
+ deleteForIssueComment: [
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"
+ ],
+ deleteForPullRequestComment: [
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"
+ ],
+ deleteForRelease: [
+ "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"
+ ],
+ deleteForTeamDiscussion: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"
+ ],
+ deleteForTeamDiscussionComment: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"
+ ],
+ listForCommitComment: [
+ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"
+ ],
+ listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],
+ listForIssueComment: [
+ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
+ ],
+ listForPullRequestReviewComment: [
+ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
+ ],
+ listForRelease: [
+ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions"
+ ],
+ listForTeamDiscussionCommentInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
+ ],
+ listForTeamDiscussionInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
+ ]
+ },
+ repos: {
+ acceptInvitation: [
+ "PATCH /user/repository_invitations/{invitation_id}",
+ {},
+ { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }
+ ],
+ acceptInvitationForAuthenticatedUser: [
+ "PATCH /user/repository_invitations/{invitation_id}"
+ ],
+ addAppAccessRestrictions: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+ {},
+ { mapToData: "apps" }
+ ],
+ addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"],
+ addStatusCheckContexts: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+ {},
+ { mapToData: "contexts" }
+ ],
+ addTeamAccessRestrictions: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+ {},
+ { mapToData: "teams" }
+ ],
+ addUserAccessRestrictions: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+ {},
+ { mapToData: "users" }
+ ],
+ checkAutomatedSecurityFixes: [
+ "GET /repos/{owner}/{repo}/automated-security-fixes"
+ ],
+ checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"],
+ checkVulnerabilityAlerts: [
+ "GET /repos/{owner}/{repo}/vulnerability-alerts"
+ ],
+ codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"],
+ compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"],
+ compareCommitsWithBasehead: [
+ "GET /repos/{owner}/{repo}/compare/{basehead}"
+ ],
+ createAutolink: ["POST /repos/{owner}/{repo}/autolinks"],
+ createCommitComment: [
+ "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"
+ ],
+ createCommitSignatureProtection: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
+ ],
+ createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"],
+ createDeployKey: ["POST /repos/{owner}/{repo}/keys"],
+ createDeployment: ["POST /repos/{owner}/{repo}/deployments"],
+ createDeploymentBranchPolicy: [
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
+ ],
+ createDeploymentProtectionRule: [
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
+ ],
+ createDeploymentStatus: [
+ "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
+ ],
+ createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"],
+ createForAuthenticatedUser: ["POST /user/repos"],
+ createFork: ["POST /repos/{owner}/{repo}/forks"],
+ createInOrg: ["POST /orgs/{org}/repos"],
+ createOrUpdateEnvironment: [
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}"
+ ],
+ createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"],
+ createOrgRuleset: ["POST /orgs/{org}/rulesets"],
+ createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployment"],
+ createPagesSite: ["POST /repos/{owner}/{repo}/pages"],
+ createRelease: ["POST /repos/{owner}/{repo}/releases"],
+ createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"],
+ createTagProtection: ["POST /repos/{owner}/{repo}/tags/protection"],
+ createUsingTemplate: [
+ "POST /repos/{template_owner}/{template_repo}/generate"
+ ],
+ createWebhook: ["POST /repos/{owner}/{repo}/hooks"],
+ declineInvitation: [
+ "DELETE /user/repository_invitations/{invitation_id}",
+ {},
+ { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }
+ ],
+ declineInvitationForAuthenticatedUser: [
+ "DELETE /user/repository_invitations/{invitation_id}"
+ ],
+ delete: ["DELETE /repos/{owner}/{repo}"],
+ deleteAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
+ ],
+ deleteAdminBranchProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+ ],
+ deleteAnEnvironment: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}"
+ ],
+ deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],
+ deleteBranchProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection"
+ ],
+ deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],
+ deleteCommitSignatureProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
+ ],
+ deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"],
+ deleteDeployment: [
+ "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"
+ ],
+ deleteDeploymentBranchPolicy: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+ ],
+ deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"],
+ deleteInvitation: [
+ "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"
+ ],
+ deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"],
+ deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"],
+ deletePullRequestReviewProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+ ],
+ deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"],
+ deleteReleaseAsset: [
+ "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"
+ ],
+ deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+ deleteTagProtection: [
+ "DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"
+ ],
+ deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],
+ disableAutomatedSecurityFixes: [
+ "DELETE /repos/{owner}/{repo}/automated-security-fixes"
+ ],
+ disableDeploymentProtectionRule: [
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
+ ],
+ disablePrivateVulnerabilityReporting: [
+ "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"
+ ],
+ disableVulnerabilityAlerts: [
+ "DELETE /repos/{owner}/{repo}/vulnerability-alerts"
+ ],
+ downloadArchive: [
+ "GET /repos/{owner}/{repo}/zipball/{ref}",
+ {},
+ { renamed: ["repos", "downloadZipballArchive"] }
+ ],
+ downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"],
+ downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"],
+ enableAutomatedSecurityFixes: [
+ "PUT /repos/{owner}/{repo}/automated-security-fixes"
+ ],
+ enablePrivateVulnerabilityReporting: [
+ "PUT /repos/{owner}/{repo}/private-vulnerability-reporting"
+ ],
+ enableVulnerabilityAlerts: [
+ "PUT /repos/{owner}/{repo}/vulnerability-alerts"
+ ],
+ generateReleaseNotes: [
+ "POST /repos/{owner}/{repo}/releases/generate-notes"
+ ],
+ get: ["GET /repos/{owner}/{repo}"],
+ getAccessRestrictions: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
+ ],
+ getAdminBranchProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+ ],
+ getAllDeploymentProtectionRules: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
+ ],
+ getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"],
+ getAllStatusCheckContexts: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"
+ ],
+ getAllTopics: ["GET /repos/{owner}/{repo}/topics"],
+ getAppsWithAccessToProtectedBranch: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"
+ ],
+ getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],
+ getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"],
+ getBranchProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection"
+ ],
+ getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"],
+ getClones: ["GET /repos/{owner}/{repo}/traffic/clones"],
+ getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"],
+ getCollaboratorPermissionLevel: [
+ "GET /repos/{owner}/{repo}/collaborators/{username}/permission"
+ ],
+ getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"],
+ getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"],
+ getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"],
+ getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"],
+ getCommitSignatureProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
+ ],
+ getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"],
+ getContent: ["GET /repos/{owner}/{repo}/contents/{path}"],
+ getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"],
+ getCustomDeploymentProtectionRule: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
+ ],
+ getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"],
+ getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"],
+ getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],
+ getDeploymentBranchPolicy: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+ ],
+ getDeploymentStatus: [
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"
+ ],
+ getEnvironment: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}"
+ ],
+ getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"],
+ getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"],
+ getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],
+ getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"],
+ getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"],
+ getOrgRulesets: ["GET /orgs/{org}/rulesets"],
+ getPages: ["GET /repos/{owner}/{repo}/pages"],
+ getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],
+ getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"],
+ getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"],
+ getPullRequestReviewProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+ ],
+ getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"],
+ getReadme: ["GET /repos/{owner}/{repo}/readme"],
+ getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"],
+ getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"],
+ getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],
+ getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"],
+ getRepoRuleSuite: [
+ "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"
+ ],
+ getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
+ getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+ getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
+ getStatusChecksProtection: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+ ],
+ getTeamsWithAccessToProtectedBranch: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"
+ ],
+ getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"],
+ getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"],
+ getUsersWithAccessToProtectedBranch: [
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"
+ ],
+ getViews: ["GET /repos/{owner}/{repo}/traffic/views"],
+ getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"],
+ getWebhookConfigForRepo: [
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config"
+ ],
+ getWebhookDelivery: [
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"
+ ],
+ listActivities: ["GET /repos/{owner}/{repo}/activity"],
+ listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"],
+ listBranches: ["GET /repos/{owner}/{repo}/branches"],
+ listBranchesForHeadCommit: [
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"
+ ],
+ listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"],
+ listCommentsForCommit: [
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"
+ ],
+ listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"],
+ listCommitStatusesForRef: [
+ "GET /repos/{owner}/{repo}/commits/{ref}/statuses"
+ ],
+ listCommits: ["GET /repos/{owner}/{repo}/commits"],
+ listContributors: ["GET /repos/{owner}/{repo}/contributors"],
+ listCustomDeploymentRuleIntegrations: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"
+ ],
+ listDeployKeys: ["GET /repos/{owner}/{repo}/keys"],
+ listDeploymentBranchPolicies: [
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
+ ],
+ listDeploymentStatuses: [
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
+ ],
+ listDeployments: ["GET /repos/{owner}/{repo}/deployments"],
+ listForAuthenticatedUser: ["GET /user/repos"],
+ listForOrg: ["GET /orgs/{org}/repos"],
+ listForUser: ["GET /users/{username}/repos"],
+ listForks: ["GET /repos/{owner}/{repo}/forks"],
+ listInvitations: ["GET /repos/{owner}/{repo}/invitations"],
+ listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"],
+ listLanguages: ["GET /repos/{owner}/{repo}/languages"],
+ listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"],
+ listPublic: ["GET /repositories"],
+ listPullRequestsAssociatedWithCommit: [
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"
+ ],
+ listReleaseAssets: [
+ "GET /repos/{owner}/{repo}/releases/{release_id}/assets"
+ ],
+ listReleases: ["GET /repos/{owner}/{repo}/releases"],
+ listTagProtection: ["GET /repos/{owner}/{repo}/tags/protection"],
+ listTags: ["GET /repos/{owner}/{repo}/tags"],
+ listTeams: ["GET /repos/{owner}/{repo}/teams"],
+ listWebhookDeliveries: [
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"
+ ],
+ listWebhooks: ["GET /repos/{owner}/{repo}/hooks"],
+ merge: ["POST /repos/{owner}/{repo}/merges"],
+ mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"],
+ pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],
+ redeliverWebhookDelivery: [
+ "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
+ ],
+ removeAppAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+ {},
+ { mapToData: "apps" }
+ ],
+ removeCollaborator: [
+ "DELETE /repos/{owner}/{repo}/collaborators/{username}"
+ ],
+ removeStatusCheckContexts: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+ {},
+ { mapToData: "contexts" }
+ ],
+ removeStatusCheckProtection: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+ ],
+ removeTeamAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+ {},
+ { mapToData: "teams" }
+ ],
+ removeUserAccessRestrictions: [
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+ {},
+ { mapToData: "users" }
+ ],
+ renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
+ replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
+ requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
+ setAdminBranchProtection: [
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
+ ],
+ setAppAccessRestrictions: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
+ {},
+ { mapToData: "apps" }
+ ],
+ setStatusCheckContexts: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
+ {},
+ { mapToData: "contexts" }
+ ],
+ setTeamAccessRestrictions: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
+ {},
+ { mapToData: "teams" }
+ ],
+ setUserAccessRestrictions: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
+ {},
+ { mapToData: "users" }
+ ],
+ testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
+ transfer: ["POST /repos/{owner}/{repo}/transfer"],
+ update: ["PATCH /repos/{owner}/{repo}"],
+ updateBranchProtection: [
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
+ ],
+ updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
+ updateDeploymentBranchPolicy: [
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
+ ],
+ updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
+ updateInvitation: [
+ "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
+ ],
+ updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
+ updatePullRequestReviewProtection: [
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
+ ],
+ updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
+ updateReleaseAsset: [
+ "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
+ ],
+ updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
+ updateStatusCheckPotection: [
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
+ {},
+ { renamed: ["repos", "updateStatusCheckProtection"] }
+ ],
+ updateStatusCheckProtection: [
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
+ ],
+ updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
+ updateWebhookConfigForRepo: [
+ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
+ ],
+ uploadReleaseAsset: [
+ "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
+ { baseUrl: "https://uploads.github.com" }
+ ]
+ },
+ search: {
+ code: ["GET /search/code"],
+ commits: ["GET /search/commits"],
+ issuesAndPullRequests: ["GET /search/issues"],
+ labels: ["GET /search/labels"],
+ repos: ["GET /search/repositories"],
+ topics: ["GET /search/topics"],
+ users: ["GET /search/users"]
+ },
+ secretScanning: {
+ getAlert: [
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+ ],
+ listAlertsForEnterprise: [
+ "GET /enterprises/{enterprise}/secret-scanning/alerts"
+ ],
+ listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
+ listLocationsForAlert: [
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
+ ],
+ updateAlert: [
+ "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
+ ]
+ },
+ securityAdvisories: {
+ createPrivateVulnerabilityReport: [
+ "POST /repos/{owner}/{repo}/security-advisories/reports"
+ ],
+ createRepositoryAdvisory: [
+ "POST /repos/{owner}/{repo}/security-advisories"
+ ],
+ createRepositoryAdvisoryCveRequest: [
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
+ ],
+ getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
+ getRepositoryAdvisory: [
+ "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+ ],
+ listGlobalAdvisories: ["GET /advisories"],
+ listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
+ listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
+ updateRepositoryAdvisory: [
+ "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
+ ]
+ },
+ teams: {
+ addOrUpdateMembershipForUserInOrg: [
+ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
+ ],
+ addOrUpdateProjectPermissionsInOrg: [
+ "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"
+ ],
+ addOrUpdateRepoPermissionsInOrg: [
+ "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+ ],
+ checkPermissionsForProjectInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"
+ ],
+ checkPermissionsForRepoInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+ ],
+ create: ["POST /orgs/{org}/teams"],
+ createDiscussionCommentInOrg: [
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+ ],
+ createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
+ deleteDiscussionCommentInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+ ],
+ deleteDiscussionInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+ ],
+ deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
+ getByName: ["GET /orgs/{org}/teams/{team_slug}"],
+ getDiscussionCommentInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+ ],
+ getDiscussionInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+ ],
+ getMembershipForUserInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
+ ],
+ list: ["GET /orgs/{org}/teams"],
+ listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
+ listDiscussionCommentsInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
+ ],
+ listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
+ listForAuthenticatedUser: ["GET /user/teams"],
+ listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
+ listPendingInvitationsInOrg: [
+ "GET /orgs/{org}/teams/{team_slug}/invitations"
+ ],
+ listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"],
+ listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
+ removeMembershipForUserInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
+ ],
+ removeProjectInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"
+ ],
+ removeRepoInOrg: [
+ "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
+ ],
+ updateDiscussionCommentInOrg: [
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
+ ],
+ updateDiscussionInOrg: [
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
+ ],
+ updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
+ },
+ users: {
+ addEmailForAuthenticated: [
+ "POST /user/emails",
+ {},
+ { renamed: ["users", "addEmailForAuthenticatedUser"] }
+ ],
+ addEmailForAuthenticatedUser: ["POST /user/emails"],
+ addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
+ block: ["PUT /user/blocks/{username}"],
+ checkBlocked: ["GET /user/blocks/{username}"],
+ checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
+ checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
+ createGpgKeyForAuthenticated: [
+ "POST /user/gpg_keys",
+ {},
+ { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
+ ],
+ createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
+ createPublicSshKeyForAuthenticated: [
+ "POST /user/keys",
+ {},
+ { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
+ ],
+ createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
+ createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
+ deleteEmailForAuthenticated: [
+ "DELETE /user/emails",
+ {},
+ { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
+ ],
+ deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
+ deleteGpgKeyForAuthenticated: [
+ "DELETE /user/gpg_keys/{gpg_key_id}",
+ {},
+ { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
+ ],
+ deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
+ deletePublicSshKeyForAuthenticated: [
+ "DELETE /user/keys/{key_id}",
+ {},
+ { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
+ ],
+ deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
+ deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
+ deleteSshSigningKeyForAuthenticatedUser: [
+ "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
+ ],
+ follow: ["PUT /user/following/{username}"],
+ getAuthenticated: ["GET /user"],
+ getByUsername: ["GET /users/{username}"],
+ getContextForUser: ["GET /users/{username}/hovercard"],
+ getGpgKeyForAuthenticated: [
+ "GET /user/gpg_keys/{gpg_key_id}",
+ {},
+ { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
+ ],
+ getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
+ getPublicSshKeyForAuthenticated: [
+ "GET /user/keys/{key_id}",
+ {},
+ { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
+ ],
+ getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
+ getSshSigningKeyForAuthenticatedUser: [
+ "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
+ ],
+ list: ["GET /users"],
+ listBlockedByAuthenticated: [
+ "GET /user/blocks",
+ {},
+ { renamed: ["users", "listBlockedByAuthenticatedUser"] }
+ ],
+ listBlockedByAuthenticatedUser: ["GET /user/blocks"],
+ listEmailsForAuthenticated: [
+ "GET /user/emails",
+ {},
+ { renamed: ["users", "listEmailsForAuthenticatedUser"] }
+ ],
+ listEmailsForAuthenticatedUser: ["GET /user/emails"],
+ listFollowedByAuthenticated: [
+ "GET /user/following",
+ {},
+ { renamed: ["users", "listFollowedByAuthenticatedUser"] }
+ ],
+ listFollowedByAuthenticatedUser: ["GET /user/following"],
+ listFollowersForAuthenticatedUser: ["GET /user/followers"],
+ listFollowersForUser: ["GET /users/{username}/followers"],
+ listFollowingForUser: ["GET /users/{username}/following"],
+ listGpgKeysForAuthenticated: [
+ "GET /user/gpg_keys",
+ {},
+ { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
+ ],
+ listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
+ listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
+ listPublicEmailsForAuthenticated: [
+ "GET /user/public_emails",
+ {},
+ { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
+ ],
+ listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
+ listPublicKeysForUser: ["GET /users/{username}/keys"],
+ listPublicSshKeysForAuthenticated: [
+ "GET /user/keys",
+ {},
+ { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
+ ],
+ listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
+ listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
+ listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
+ listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
+ listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
+ setPrimaryEmailVisibilityForAuthenticated: [
+ "PATCH /user/email/visibility",
+ {},
+ { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
+ ],
+ setPrimaryEmailVisibilityForAuthenticatedUser: [
+ "PATCH /user/email/visibility"
+ ],
+ unblock: ["DELETE /user/blocks/{username}"],
+ unfollow: ["DELETE /user/following/{username}"],
+ updateAuthenticated: ["PATCH /user"]
+ }
+};
+var endpoints_default = Endpoints;
+
+// pkg/dist-src/endpoints-to-methods.js
+var endpointMethodsMap = /* @__PURE__ */ new Map();
+for (const [scope, endpoints] of Object.entries(endpoints_default)) {
+ for (const [methodName, endpoint] of Object.entries(endpoints)) {
+ const [route, defaults, decorations] = endpoint;
+ const [method, url] = route.split(/ /);
+ const endpointDefaults = Object.assign(
+ {
+ method,
+ url
+ },
+ defaults
+ );
+ if (!endpointMethodsMap.has(scope)) {
+ endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
+ }
+ endpointMethodsMap.get(scope).set(methodName, {
+ scope,
+ methodName,
+ endpointDefaults,
+ decorations
+ });
+ }
+}
+var handler = {
+ has({ scope }, methodName) {
+ return endpointMethodsMap.get(scope).has(methodName);
+ },
+ getOwnPropertyDescriptor(target, methodName) {
+ return {
+ value: this.get(target, methodName),
+ // ensures method is in the cache
+ configurable: true,
+ writable: true,
+ enumerable: true
+ };
+ },
+ defineProperty(target, methodName, descriptor) {
+ Object.defineProperty(target.cache, methodName, descriptor);
+ return true;
+ },
+ deleteProperty(target, methodName) {
+ delete target.cache[methodName];
+ return true;
+ },
+ ownKeys({ scope }) {
+ return [...endpointMethodsMap.get(scope).keys()];
+ },
+ set(target, methodName, value) {
+ return target.cache[methodName] = value;
+ },
+ get({ octokit, scope, cache }, methodName) {
+ if (cache[methodName]) {
+ return cache[methodName];
+ }
+ const method = endpointMethodsMap.get(scope).get(methodName);
+ if (!method) {
+ return void 0;
+ }
+ const { endpointDefaults, decorations } = method;
+ if (decorations) {
+ cache[methodName] = decorate(
+ octokit,
+ scope,
+ methodName,
+ endpointDefaults,
+ decorations
+ );
+ } else {
+ cache[methodName] = octokit.request.defaults(endpointDefaults);
+ }
+ return cache[methodName];
+ }
+};
+function endpointsToMethods(octokit) {
+ const newMethods = {};
+ for (const scope of endpointMethodsMap.keys()) {
+ newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
+ }
+ return newMethods;
+}
+function decorate(octokit, scope, methodName, defaults, decorations) {
+ const requestWithDefaults = octokit.request.defaults(defaults);
+ function withDecorations(...args) {
+ let options = requestWithDefaults.endpoint.merge(...args);
+ if (decorations.mapToData) {
+ options = Object.assign({}, options, {
+ data: options[decorations.mapToData],
+ [decorations.mapToData]: void 0
+ });
+ return requestWithDefaults(options);
+ }
+ if (decorations.renamed) {
+ const [newScope, newMethodName] = decorations.renamed;
+ octokit.log.warn(
+ `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
+ );
+ }
+ if (decorations.deprecated) {
+ octokit.log.warn(decorations.deprecated);
+ }
+ if (decorations.renamedParameters) {
+ const options2 = requestWithDefaults.endpoint.merge(...args);
+ for (const [name, alias] of Object.entries(
+ decorations.renamedParameters
+ )) {
+ if (name in options2) {
+ octokit.log.warn(
+ `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
+ );
+ if (!(alias in options2)) {
+ options2[alias] = options2[name];
+ }
+ delete options2[name];
+ }
+ }
+ return requestWithDefaults(options2);
+ }
+ return requestWithDefaults(...args);
+ }
+ return Object.assign(withDecorations, requestWithDefaults);
+}
+
+// pkg/dist-src/index.js
+function restEndpointMethods(octokit) {
+ const api = endpointsToMethods(octokit);
+ return {
+ rest: api
+ };
+}
+restEndpointMethods.VERSION = VERSION;
+function legacyRestEndpointMethods(octokit) {
+ const api = endpointsToMethods(octokit);
+ return {
+ ...api,
+ rest: api
+ };
+}
+legacyRestEndpointMethods.VERSION = VERSION;
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 10537:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+"use strict";
+
+var __create = Object.create;
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __getProtoOf = Object.getPrototypeOf;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
+ // If the importer is in node compatibility mode or this is not an ESM
+ // file that has been converted to a CommonJS file using a Babel-
+ // compatible transform (i.e. "__esModule" has not been set), then set
+ // "default" to the CommonJS "module.exports" for node compatibility.
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
+ mod
+));
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ RequestError: () => RequestError
+});
+module.exports = __toCommonJS(dist_src_exports);
+var import_deprecation = __nccwpck_require__(58932);
+var import_once = __toESM(__nccwpck_require__(1223));
+var logOnceCode = (0, import_once.default)((deprecation) => console.warn(deprecation));
+var logOnceHeaders = (0, import_once.default)((deprecation) => console.warn(deprecation));
+var RequestError = class extends Error {
+ constructor(message, statusCode, options) {
+ super(message);
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
+ }
+ this.name = "HttpError";
+ this.status = statusCode;
+ let headers;
+ if ("headers" in options && typeof options.headers !== "undefined") {
+ headers = options.headers;
+ }
+ if ("response" in options) {
+ this.response = options.response;
+ headers = options.response.headers;
+ }
+ const requestCopy = Object.assign({}, options.request);
+ if (options.request.headers.authorization) {
+ requestCopy.headers = Object.assign({}, options.request.headers, {
+ authorization: options.request.headers.authorization.replace(
+ / .*$/,
+ " [REDACTED]"
+ )
+ });
+ }
+ requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
+ this.request = requestCopy;
+ Object.defineProperty(this, "code", {
+ get() {
+ logOnceCode(
+ new import_deprecation.Deprecation(
+ "[@octokit/request-error] `error.code` is deprecated, use `error.status`."
+ )
+ );
+ return statusCode;
+ }
+ });
+ Object.defineProperty(this, "headers", {
+ get() {
+ logOnceHeaders(
+ new import_deprecation.Deprecation(
+ "[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."
+ )
+ );
+ return headers || {};
+ }
+ });
+ }
+};
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 36234:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ request: () => request
+});
+module.exports = __toCommonJS(dist_src_exports);
+var import_endpoint = __nccwpck_require__(59440);
+var import_universal_user_agent = __nccwpck_require__(45030);
+
+// pkg/dist-src/version.js
+var VERSION = "8.1.6";
+
+// pkg/dist-src/is-plain-object.js
+function isPlainObject(value) {
+ if (typeof value !== "object" || value === null)
+ return false;
+ if (Object.prototype.toString.call(value) !== "[object Object]")
+ return false;
+ const proto = Object.getPrototypeOf(value);
+ if (proto === null)
+ return true;
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+
+// pkg/dist-src/fetch-wrapper.js
+var import_request_error = __nccwpck_require__(10537);
+
+// pkg/dist-src/get-buffer-response.js
+function getBufferResponse(response) {
+ return response.arrayBuffer();
+}
+
+// pkg/dist-src/fetch-wrapper.js
+function fetchWrapper(requestOptions) {
+ var _a, _b, _c;
+ const log = requestOptions.request && requestOptions.request.log ? requestOptions.request.log : console;
+ const parseSuccessResponseBody = ((_a = requestOptions.request) == null ? void 0 : _a.parseSuccessResponseBody) !== false;
+ if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) {
+ requestOptions.body = JSON.stringify(requestOptions.body);
+ }
+ let headers = {};
+ let status;
+ let url;
+ let { fetch } = globalThis;
+ if ((_b = requestOptions.request) == null ? void 0 : _b.fetch) {
+ fetch = requestOptions.request.fetch;
+ }
+ if (!fetch) {
+ throw new Error(
+ "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
+ );
+ }
+ return fetch(requestOptions.url, {
+ method: requestOptions.method,
+ body: requestOptions.body,
+ headers: requestOptions.headers,
+ signal: (_c = requestOptions.request) == null ? void 0 : _c.signal,
+ // duplex must be set if request.body is ReadableStream or Async Iterables.
+ // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
+ ...requestOptions.body && { duplex: "half" }
+ }).then(async (response) => {
+ url = response.url;
+ status = response.status;
+ for (const keyAndValue of response.headers) {
+ headers[keyAndValue[0]] = keyAndValue[1];
+ }
+ if ("deprecation" in headers) {
+ const matches = headers.link && headers.link.match(/<([^>]+)>; rel="deprecation"/);
+ const deprecationLink = matches && matches.pop();
+ log.warn(
+ `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${headers.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
+ );
+ }
+ if (status === 204 || status === 205) {
+ return;
+ }
+ if (requestOptions.method === "HEAD") {
+ if (status < 400) {
+ return;
+ }
+ throw new import_request_error.RequestError(response.statusText, status, {
+ response: {
+ url,
+ status,
+ headers,
+ data: void 0
+ },
+ request: requestOptions
+ });
+ }
+ if (status === 304) {
+ throw new import_request_error.RequestError("Not modified", status, {
+ response: {
+ url,
+ status,
+ headers,
+ data: await getResponseData(response)
+ },
+ request: requestOptions
+ });
+ }
+ if (status >= 400) {
+ const data = await getResponseData(response);
+ const error = new import_request_error.RequestError(toErrorMessage(data), status, {
+ response: {
+ url,
+ status,
+ headers,
+ data
+ },
+ request: requestOptions
+ });
+ throw error;
+ }
+ return parseSuccessResponseBody ? await getResponseData(response) : response.body;
+ }).then((data) => {
+ return {
+ status,
+ url,
+ headers,
+ data
+ };
+ }).catch((error) => {
+ if (error instanceof import_request_error.RequestError)
+ throw error;
+ else if (error.name === "AbortError")
+ throw error;
+ let message = error.message;
+ if (error.name === "TypeError" && "cause" in error) {
+ if (error.cause instanceof Error) {
+ message = error.cause.message;
+ } else if (typeof error.cause === "string") {
+ message = error.cause;
+ }
+ }
+ throw new import_request_error.RequestError(message, 500, {
+ request: requestOptions
+ });
+ });
+}
+async function getResponseData(response) {
+ const contentType = response.headers.get("content-type");
+ if (/application\/json/.test(contentType)) {
+ return response.json().catch(() => response.text()).catch(() => "");
+ }
+ if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) {
+ return response.text();
+ }
+ return getBufferResponse(response);
+}
+function toErrorMessage(data) {
+ if (typeof data === "string")
+ return data;
+ if ("message" in data) {
+ if (Array.isArray(data.errors)) {
+ return `${data.message}: ${data.errors.map(JSON.stringify).join(", ")}`;
+ }
+ return data.message;
+ }
+ return `Unknown error: ${JSON.stringify(data)}`;
+}
+
+// pkg/dist-src/with-defaults.js
+function withDefaults(oldEndpoint, newDefaults) {
+ const endpoint2 = oldEndpoint.defaults(newDefaults);
+ const newApi = function(route, parameters) {
+ const endpointOptions = endpoint2.merge(route, parameters);
+ if (!endpointOptions.request || !endpointOptions.request.hook) {
+ return fetchWrapper(endpoint2.parse(endpointOptions));
+ }
+ const request2 = (route2, parameters2) => {
+ return fetchWrapper(
+ endpoint2.parse(endpoint2.merge(route2, parameters2))
+ );
+ };
+ Object.assign(request2, {
+ endpoint: endpoint2,
+ defaults: withDefaults.bind(null, endpoint2)
+ });
+ return endpointOptions.request.hook(request2, endpointOptions);
+ };
+ return Object.assign(newApi, {
+ endpoint: endpoint2,
+ defaults: withDefaults.bind(null, endpoint2)
+ });
+}
+
+// pkg/dist-src/index.js
+var request = withDefaults(import_endpoint.endpoint, {
+ headers: {
+ "user-agent": `octokit-request.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`
+ }
+});
+// Annotate the CommonJS export names for ESM import in node:
+0 && (0);
+
+
+/***/ }),
+
+/***/ 20940:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['accessanalyzer'] = {};
+AWS.AccessAnalyzer = Service.defineService('accessanalyzer', ['2019-11-01']);
+Object.defineProperty(apiLoader.services['accessanalyzer'], '2019-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(30590);
+ model.paginators = (__nccwpck_require__(63080)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AccessAnalyzer;
+
+
+/***/ }),
+
+/***/ 32400:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['account'] = {};
+AWS.Account = Service.defineService('account', ['2021-02-01']);
+Object.defineProperty(apiLoader.services['account'], '2021-02-01', {
+ get: function get() {
+ var model = __nccwpck_require__(36713);
+ model.paginators = (__nccwpck_require__(52324)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Account;
+
+
+/***/ }),
+
+/***/ 30838:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['acm'] = {};
+AWS.ACM = Service.defineService('acm', ['2015-12-08']);
+Object.defineProperty(apiLoader.services['acm'], '2015-12-08', {
+ get: function get() {
+ var model = __nccwpck_require__(34662);
+ model.paginators = (__nccwpck_require__(42680)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(85678)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ACM;
+
+
+/***/ }),
+
+/***/ 18450:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['acmpca'] = {};
+AWS.ACMPCA = Service.defineService('acmpca', ['2017-08-22']);
+Object.defineProperty(apiLoader.services['acmpca'], '2017-08-22', {
+ get: function get() {
+ var model = __nccwpck_require__(33004);
+ model.paginators = (__nccwpck_require__(21209)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(89217)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ACMPCA;
+
+
+/***/ }),
+
+/***/ 14578:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['alexaforbusiness'] = {};
+AWS.AlexaForBusiness = Service.defineService('alexaforbusiness', ['2017-11-09']);
+Object.defineProperty(apiLoader.services['alexaforbusiness'], '2017-11-09', {
+ get: function get() {
+ var model = __nccwpck_require__(69786);
+ model.paginators = (__nccwpck_require__(21009)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AlexaForBusiness;
+
+
+/***/ }),
+
+/***/ 26296:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+module.exports = {
+ ACM: __nccwpck_require__(30838),
+ APIGateway: __nccwpck_require__(91759),
+ ApplicationAutoScaling: __nccwpck_require__(25598),
+ AppStream: __nccwpck_require__(21730),
+ AutoScaling: __nccwpck_require__(31652),
+ Batch: __nccwpck_require__(10000),
+ Budgets: __nccwpck_require__(43923),
+ CloudDirectory: __nccwpck_require__(56231),
+ CloudFormation: __nccwpck_require__(74643),
+ CloudFront: __nccwpck_require__(48058),
+ CloudHSM: __nccwpck_require__(59976),
+ CloudSearch: __nccwpck_require__(72321),
+ CloudSearchDomain: __nccwpck_require__(64072),
+ CloudTrail: __nccwpck_require__(65512),
+ CloudWatch: __nccwpck_require__(6763),
+ CloudWatchEvents: __nccwpck_require__(38124),
+ CloudWatchLogs: __nccwpck_require__(96693),
+ CodeBuild: __nccwpck_require__(60450),
+ CodeCommit: __nccwpck_require__(71323),
+ CodeDeploy: __nccwpck_require__(54599),
+ CodePipeline: __nccwpck_require__(22938),
+ CognitoIdentity: __nccwpck_require__(58291),
+ CognitoIdentityServiceProvider: __nccwpck_require__(31379),
+ CognitoSync: __nccwpck_require__(74770),
+ ConfigService: __nccwpck_require__(34061),
+ CUR: __nccwpck_require__(5026),
+ DataPipeline: __nccwpck_require__(65688),
+ DeviceFarm: __nccwpck_require__(26272),
+ DirectConnect: __nccwpck_require__(73783),
+ DirectoryService: __nccwpck_require__(83908),
+ Discovery: __nccwpck_require__(81690),
+ DMS: __nccwpck_require__(69868),
+ DynamoDB: __nccwpck_require__(14347),
+ DynamoDBStreams: __nccwpck_require__(88090),
+ EC2: __nccwpck_require__(7778),
+ ECR: __nccwpck_require__(15211),
+ ECS: __nccwpck_require__(16615),
+ EFS: __nccwpck_require__(34375),
+ ElastiCache: __nccwpck_require__(81065),
+ ElasticBeanstalk: __nccwpck_require__(14897),
+ ELB: __nccwpck_require__(10907),
+ ELBv2: __nccwpck_require__(44311),
+ EMR: __nccwpck_require__(50470),
+ ES: __nccwpck_require__(84462),
+ ElasticTranscoder: __nccwpck_require__(40745),
+ Firehose: __nccwpck_require__(92831),
+ GameLift: __nccwpck_require__(8085),
+ Glacier: __nccwpck_require__(63249),
+ Health: __nccwpck_require__(21834),
+ IAM: __nccwpck_require__(50058),
+ ImportExport: __nccwpck_require__(6769),
+ Inspector: __nccwpck_require__(89439),
+ Iot: __nccwpck_require__(98392),
+ IotData: __nccwpck_require__(6564),
+ Kinesis: __nccwpck_require__(49876),
+ KinesisAnalytics: __nccwpck_require__(90042),
+ KMS: __nccwpck_require__(56782),
+ Lambda: __nccwpck_require__(13321),
+ LexRuntime: __nccwpck_require__(62716),
+ Lightsail: __nccwpck_require__(22718),
+ MachineLearning: __nccwpck_require__(82907),
+ MarketplaceCommerceAnalytics: __nccwpck_require__(4540),
+ MarketplaceMetering: __nccwpck_require__(39297),
+ MTurk: __nccwpck_require__(79954),
+ MobileAnalytics: __nccwpck_require__(66690),
+ OpsWorks: __nccwpck_require__(75691),
+ OpsWorksCM: __nccwpck_require__(80388),
+ Organizations: __nccwpck_require__(52560),
+ Pinpoint: __nccwpck_require__(18388),
+ Polly: __nccwpck_require__(97332),
+ RDS: __nccwpck_require__(71578),
+ Redshift: __nccwpck_require__(84853),
+ Rekognition: __nccwpck_require__(65470),
+ ResourceGroupsTaggingAPI: __nccwpck_require__(7385),
+ Route53: __nccwpck_require__(44968),
+ Route53Domains: __nccwpck_require__(51994),
+ S3: __nccwpck_require__(83256),
+ S3Control: __nccwpck_require__(99817),
+ ServiceCatalog: __nccwpck_require__(822),
+ SES: __nccwpck_require__(46816),
+ Shield: __nccwpck_require__(20271),
+ SimpleDB: __nccwpck_require__(10120),
+ SMS: __nccwpck_require__(57719),
+ Snowball: __nccwpck_require__(510),
+ SNS: __nccwpck_require__(28581),
+ SQS: __nccwpck_require__(63172),
+ SSM: __nccwpck_require__(83380),
+ StorageGateway: __nccwpck_require__(89190),
+ StepFunctions: __nccwpck_require__(8136),
+ STS: __nccwpck_require__(57513),
+ Support: __nccwpck_require__(1099),
+ SWF: __nccwpck_require__(32327),
+ XRay: __nccwpck_require__(41548),
+ WAF: __nccwpck_require__(72742),
+ WAFRegional: __nccwpck_require__(23153),
+ WorkDocs: __nccwpck_require__(38835),
+ WorkSpaces: __nccwpck_require__(25513),
+ CodeStar: __nccwpck_require__(98336),
+ LexModelBuildingService: __nccwpck_require__(37397),
+ MarketplaceEntitlementService: __nccwpck_require__(53707),
+ Athena: __nccwpck_require__(29434),
+ Greengrass: __nccwpck_require__(20690),
+ DAX: __nccwpck_require__(71398),
+ MigrationHub: __nccwpck_require__(14688),
+ CloudHSMV2: __nccwpck_require__(70889),
+ Glue: __nccwpck_require__(31658),
+ Mobile: __nccwpck_require__(39782),
+ Pricing: __nccwpck_require__(92765),
+ CostExplorer: __nccwpck_require__(79523),
+ MediaConvert: __nccwpck_require__(57220),
+ MediaLive: __nccwpck_require__(7509),
+ MediaPackage: __nccwpck_require__(91620),
+ MediaStore: __nccwpck_require__(83748),
+ MediaStoreData: __nccwpck_require__(98703),
+ AppSync: __nccwpck_require__(12402),
+ GuardDuty: __nccwpck_require__(40755),
+ MQ: __nccwpck_require__(23093),
+ Comprehend: __nccwpck_require__(62878),
+ IoTJobsDataPlane: __nccwpck_require__(42332),
+ KinesisVideoArchivedMedia: __nccwpck_require__(5580),
+ KinesisVideoMedia: __nccwpck_require__(81308),
+ KinesisVideo: __nccwpck_require__(89927),
+ SageMakerRuntime: __nccwpck_require__(85044),
+ SageMaker: __nccwpck_require__(77657),
+ Translate: __nccwpck_require__(72544),
+ ResourceGroups: __nccwpck_require__(58756),
+ AlexaForBusiness: __nccwpck_require__(14578),
+ Cloud9: __nccwpck_require__(85473),
+ ServerlessApplicationRepository: __nccwpck_require__(62402),
+ ServiceDiscovery: __nccwpck_require__(91569),
+ WorkMail: __nccwpck_require__(38374),
+ AutoScalingPlans: __nccwpck_require__(2554),
+ TranscribeService: __nccwpck_require__(75811),
+ Connect: __nccwpck_require__(13879),
+ ACMPCA: __nccwpck_require__(18450),
+ FMS: __nccwpck_require__(11316),
+ SecretsManager: __nccwpck_require__(85131),
+ IoTAnalytics: __nccwpck_require__(67409),
+ IoT1ClickDevicesService: __nccwpck_require__(39474),
+ IoT1ClickProjects: __nccwpck_require__(4686),
+ PI: __nccwpck_require__(15505),
+ Neptune: __nccwpck_require__(30047),
+ MediaTailor: __nccwpck_require__(99658),
+ EKS: __nccwpck_require__(23337),
+ DLM: __nccwpck_require__(24958),
+ Signer: __nccwpck_require__(71596),
+ Chime: __nccwpck_require__(84646),
+ PinpointEmail: __nccwpck_require__(83060),
+ RAM: __nccwpck_require__(94394),
+ Route53Resolver: __nccwpck_require__(25894),
+ PinpointSMSVoice: __nccwpck_require__(46605),
+ QuickSight: __nccwpck_require__(29898),
+ RDSDataService: __nccwpck_require__(30147),
+ Amplify: __nccwpck_require__(38090),
+ DataSync: __nccwpck_require__(25308),
+ RoboMaker: __nccwpck_require__(18068),
+ Transfer: __nccwpck_require__(51585),
+ GlobalAccelerator: __nccwpck_require__(19306),
+ ComprehendMedical: __nccwpck_require__(32349),
+ KinesisAnalyticsV2: __nccwpck_require__(74631),
+ MediaConnect: __nccwpck_require__(67639),
+ FSx: __nccwpck_require__(60642),
+ SecurityHub: __nccwpck_require__(21550),
+ AppMesh: __nccwpck_require__(69226),
+ LicenseManager: __nccwpck_require__(34693),
+ Kafka: __nccwpck_require__(56775),
+ ApiGatewayManagementApi: __nccwpck_require__(31762),
+ ApiGatewayV2: __nccwpck_require__(44987),
+ DocDB: __nccwpck_require__(55129),
+ Backup: __nccwpck_require__(82455),
+ WorkLink: __nccwpck_require__(48579),
+ Textract: __nccwpck_require__(58523),
+ ManagedBlockchain: __nccwpck_require__(85143),
+ MediaPackageVod: __nccwpck_require__(14962),
+ GroundStation: __nccwpck_require__(80494),
+ IoTThingsGraph: __nccwpck_require__(58905),
+ IoTEvents: __nccwpck_require__(88065),
+ IoTEventsData: __nccwpck_require__(56973),
+ Personalize: __nccwpck_require__(33696),
+ PersonalizeEvents: __nccwpck_require__(88170),
+ PersonalizeRuntime: __nccwpck_require__(66184),
+ ApplicationInsights: __nccwpck_require__(83972),
+ ServiceQuotas: __nccwpck_require__(57800),
+ EC2InstanceConnect: __nccwpck_require__(92209),
+ EventBridge: __nccwpck_require__(898),
+ LakeFormation: __nccwpck_require__(6726),
+ ForecastService: __nccwpck_require__(12942),
+ ForecastQueryService: __nccwpck_require__(36822),
+ QLDB: __nccwpck_require__(71266),
+ QLDBSession: __nccwpck_require__(55423),
+ WorkMailMessageFlow: __nccwpck_require__(67025),
+ CodeStarNotifications: __nccwpck_require__(15141),
+ SavingsPlans: __nccwpck_require__(62825),
+ SSO: __nccwpck_require__(71096),
+ SSOOIDC: __nccwpck_require__(49870),
+ MarketplaceCatalog: __nccwpck_require__(2609),
+ DataExchange: __nccwpck_require__(11024),
+ SESV2: __nccwpck_require__(20142),
+ MigrationHubConfig: __nccwpck_require__(62658),
+ ConnectParticipant: __nccwpck_require__(94198),
+ AppConfig: __nccwpck_require__(78606),
+ IoTSecureTunneling: __nccwpck_require__(98562),
+ WAFV2: __nccwpck_require__(50353),
+ ElasticInference: __nccwpck_require__(37708),
+ Imagebuilder: __nccwpck_require__(57511),
+ Schemas: __nccwpck_require__(55713),
+ AccessAnalyzer: __nccwpck_require__(20940),
+ CodeGuruReviewer: __nccwpck_require__(60070),
+ CodeGuruProfiler: __nccwpck_require__(65704),
+ ComputeOptimizer: __nccwpck_require__(64459),
+ FraudDetector: __nccwpck_require__(99830),
+ Kendra: __nccwpck_require__(66122),
+ NetworkManager: __nccwpck_require__(37610),
+ Outposts: __nccwpck_require__(27551),
+ AugmentedAIRuntime: __nccwpck_require__(33960),
+ EBS: __nccwpck_require__(62837),
+ KinesisVideoSignalingChannels: __nccwpck_require__(12710),
+ Detective: __nccwpck_require__(60674),
+ CodeStarconnections: __nccwpck_require__(78270),
+ Synthetics: __nccwpck_require__(25910),
+ IoTSiteWise: __nccwpck_require__(89690),
+ Macie2: __nccwpck_require__(57330),
+ CodeArtifact: __nccwpck_require__(91983),
+ Honeycode: __nccwpck_require__(38889),
+ IVS: __nccwpck_require__(67701),
+ Braket: __nccwpck_require__(35429),
+ IdentityStore: __nccwpck_require__(60222),
+ Appflow: __nccwpck_require__(60844),
+ RedshiftData: __nccwpck_require__(203),
+ SSOAdmin: __nccwpck_require__(66644),
+ TimestreamQuery: __nccwpck_require__(24529),
+ TimestreamWrite: __nccwpck_require__(1573),
+ S3Outposts: __nccwpck_require__(90493),
+ DataBrew: __nccwpck_require__(35846),
+ ServiceCatalogAppRegistry: __nccwpck_require__(79068),
+ NetworkFirewall: __nccwpck_require__(84626),
+ MWAA: __nccwpck_require__(32712),
+ AmplifyBackend: __nccwpck_require__(2806),
+ AppIntegrations: __nccwpck_require__(85479),
+ ConnectContactLens: __nccwpck_require__(41847),
+ DevOpsGuru: __nccwpck_require__(90673),
+ ECRPUBLIC: __nccwpck_require__(90244),
+ LookoutVision: __nccwpck_require__(65046),
+ SageMakerFeatureStoreRuntime: __nccwpck_require__(67644),
+ CustomerProfiles: __nccwpck_require__(28379),
+ AuditManager: __nccwpck_require__(20472),
+ EMRcontainers: __nccwpck_require__(49984),
+ HealthLake: __nccwpck_require__(64254),
+ SagemakerEdge: __nccwpck_require__(38966),
+ Amp: __nccwpck_require__(96881),
+ GreengrassV2: __nccwpck_require__(45126),
+ IotDeviceAdvisor: __nccwpck_require__(97569),
+ IoTFleetHub: __nccwpck_require__(42513),
+ IoTWireless: __nccwpck_require__(8226),
+ Location: __nccwpck_require__(44594),
+ WellArchitected: __nccwpck_require__(86263),
+ LexModelsV2: __nccwpck_require__(27254),
+ LexRuntimeV2: __nccwpck_require__(33855),
+ Fis: __nccwpck_require__(73003),
+ LookoutMetrics: __nccwpck_require__(78708),
+ Mgn: __nccwpck_require__(41339),
+ LookoutEquipment: __nccwpck_require__(21843),
+ Nimble: __nccwpck_require__(89428),
+ Finspace: __nccwpck_require__(3052),
+ Finspacedata: __nccwpck_require__(96869),
+ SSMContacts: __nccwpck_require__(12577),
+ SSMIncidents: __nccwpck_require__(20590),
+ ApplicationCostProfiler: __nccwpck_require__(20887),
+ AppRunner: __nccwpck_require__(75589),
+ Proton: __nccwpck_require__(9275),
+ Route53RecoveryCluster: __nccwpck_require__(35738),
+ Route53RecoveryControlConfig: __nccwpck_require__(16063),
+ Route53RecoveryReadiness: __nccwpck_require__(79106),
+ ChimeSDKIdentity: __nccwpck_require__(55975),
+ ChimeSDKMessaging: __nccwpck_require__(25255),
+ SnowDeviceManagement: __nccwpck_require__(64655),
+ MemoryDB: __nccwpck_require__(50782),
+ OpenSearch: __nccwpck_require__(60358),
+ KafkaConnect: __nccwpck_require__(61879),
+ VoiceID: __nccwpck_require__(28747),
+ Wisdom: __nccwpck_require__(85266),
+ Account: __nccwpck_require__(32400),
+ CloudControl: __nccwpck_require__(25630),
+ Grafana: __nccwpck_require__(51050),
+ Panorama: __nccwpck_require__(20368),
+ ChimeSDKMeetings: __nccwpck_require__(80788),
+ Resiliencehub: __nccwpck_require__(21173),
+ MigrationHubStrategy: __nccwpck_require__(96533),
+ AppConfigData: __nccwpck_require__(45282),
+ Drs: __nccwpck_require__(41116),
+ MigrationHubRefactorSpaces: __nccwpck_require__(2925),
+ Evidently: __nccwpck_require__(21440),
+ Inspector2: __nccwpck_require__(98650),
+ Rbin: __nccwpck_require__(70145),
+ RUM: __nccwpck_require__(53237),
+ BackupGateway: __nccwpck_require__(68277),
+ IoTTwinMaker: __nccwpck_require__(65010),
+ WorkSpacesWeb: __nccwpck_require__(94124),
+ AmplifyUIBuilder: __nccwpck_require__(89937),
+ Keyspaces: __nccwpck_require__(24789),
+ Billingconductor: __nccwpck_require__(38416),
+ PinpointSMSVoiceV2: __nccwpck_require__(478),
+ Ivschat: __nccwpck_require__(17077),
+ ChimeSDKMediaPipelines: __nccwpck_require__(18423),
+ EMRServerless: __nccwpck_require__(219),
+ M2: __nccwpck_require__(22482),
+ ConnectCampaigns: __nccwpck_require__(42789),
+ RedshiftServerless: __nccwpck_require__(29987),
+ RolesAnywhere: __nccwpck_require__(83604),
+ LicenseManagerUserSubscriptions: __nccwpck_require__(37725),
+ BackupStorage: __nccwpck_require__(82304),
+ PrivateNetworks: __nccwpck_require__(63088),
+ SupportApp: __nccwpck_require__(51288),
+ ControlTower: __nccwpck_require__(77574),
+ IoTFleetWise: __nccwpck_require__(94329),
+ MigrationHubOrchestrator: __nccwpck_require__(66120),
+ ConnectCases: __nccwpck_require__(72223),
+ ResourceExplorer2: __nccwpck_require__(74071),
+ Scheduler: __nccwpck_require__(94840),
+ ChimeSDKVoice: __nccwpck_require__(349),
+ IoTRoboRunner: __nccwpck_require__(22163),
+ SsmSap: __nccwpck_require__(44552),
+ OAM: __nccwpck_require__(9319),
+ ARCZonalShift: __nccwpck_require__(54280),
+ Omics: __nccwpck_require__(75114),
+ OpenSearchServerless: __nccwpck_require__(86277),
+ SecurityLake: __nccwpck_require__(84296),
+ SimSpaceWeaver: __nccwpck_require__(37090),
+ DocDBElastic: __nccwpck_require__(20792),
+ SageMakerGeospatial: __nccwpck_require__(4707),
+ CodeCatalyst: __nccwpck_require__(19499),
+ Pipes: __nccwpck_require__(14220),
+ SageMakerMetrics: __nccwpck_require__(28199),
+ KinesisVideoWebRTCStorage: __nccwpck_require__(52642),
+ LicenseManagerLinuxSubscriptions: __nccwpck_require__(52687),
+ KendraRanking: __nccwpck_require__(46255),
+ CleanRooms: __nccwpck_require__(15130),
+ CloudTrailData: __nccwpck_require__(31191),
+ Tnb: __nccwpck_require__(15300),
+ InternetMonitor: __nccwpck_require__(84099),
+ IVSRealTime: __nccwpck_require__(51946),
+ VPCLattice: __nccwpck_require__(78952),
+ OSIS: __nccwpck_require__(98021),
+ MediaPackageV2: __nccwpck_require__(53264),
+ PaymentCryptography: __nccwpck_require__(11594),
+ PaymentCryptographyData: __nccwpck_require__(96559),
+ CodeGuruSecurity: __nccwpck_require__(32620),
+ VerifiedPermissions: __nccwpck_require__(35604),
+ AppFabric: __nccwpck_require__(46318),
+ MedicalImaging: __nccwpck_require__(79712),
+ EntityResolution: __nccwpck_require__(22697),
+ ManagedBlockchainQuery: __nccwpck_require__(51046),
+ Neptunedata: __nccwpck_require__(25737),
+ PcaConnectorAd: __nccwpck_require__(55959),
+ Bedrock: __nccwpck_require__(88808),
+ BedrockRuntime: __nccwpck_require__(99177),
+ DataZone: __nccwpck_require__(31763),
+ LaunchWizard: __nccwpck_require__(71060),
+ TrustedAdvisor: __nccwpck_require__(4992),
+ CloudFrontKeyValueStore: __nccwpck_require__(47859),
+ InspectorScan: __nccwpck_require__(25467),
+ BCMDataExports: __nccwpck_require__(56703),
+ CostOptimizationHub: __nccwpck_require__(55443),
+ EKSAuth: __nccwpck_require__(66164),
+ FreeTier: __nccwpck_require__(11681),
+ Repostspace: __nccwpck_require__(21154),
+ WorkSpacesThinClient: __nccwpck_require__(22033),
+ B2bi: __nccwpck_require__(91065),
+ BedrockAgent: __nccwpck_require__(9025),
+ BedrockAgentRuntime: __nccwpck_require__(16946),
+ QBusiness: __nccwpck_require__(26842),
+ QConnect: __nccwpck_require__(39094),
+ CleanRoomsML: __nccwpck_require__(47594),
+ MarketplaceAgreement: __nccwpck_require__(50379),
+ MarketplaceDeployment: __nccwpck_require__(56811),
+ NeptuneGraph: __nccwpck_require__(77598),
+ NetworkMonitor: __nccwpck_require__(77614),
+ SupplyChain: __nccwpck_require__(39674)
+};
+
+/***/ }),
+
+/***/ 96881:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['amp'] = {};
+AWS.Amp = Service.defineService('amp', ['2020-08-01']);
+Object.defineProperty(apiLoader.services['amp'], '2020-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(78362);
+ model.paginators = (__nccwpck_require__(75928)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(58239)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Amp;
+
+
+/***/ }),
+
+/***/ 38090:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['amplify'] = {};
+AWS.Amplify = Service.defineService('amplify', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['amplify'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(36813);
+ model.paginators = (__nccwpck_require__(53733)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Amplify;
+
+
+/***/ }),
+
+/***/ 2806:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['amplifybackend'] = {};
+AWS.AmplifyBackend = Service.defineService('amplifybackend', ['2020-08-11']);
+Object.defineProperty(apiLoader.services['amplifybackend'], '2020-08-11', {
+ get: function get() {
+ var model = __nccwpck_require__(23939);
+ model.paginators = (__nccwpck_require__(27232)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AmplifyBackend;
+
+
+/***/ }),
+
+/***/ 89937:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['amplifyuibuilder'] = {};
+AWS.AmplifyUIBuilder = Service.defineService('amplifyuibuilder', ['2021-08-11']);
+Object.defineProperty(apiLoader.services['amplifyuibuilder'], '2021-08-11', {
+ get: function get() {
+ var model = __nccwpck_require__(48987);
+ model.paginators = (__nccwpck_require__(56072)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(70564)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AmplifyUIBuilder;
+
+
+/***/ }),
+
+/***/ 91759:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['apigateway'] = {};
+AWS.APIGateway = Service.defineService('apigateway', ['2015-07-09']);
+__nccwpck_require__(4338);
+Object.defineProperty(apiLoader.services['apigateway'], '2015-07-09', {
+ get: function get() {
+ var model = __nccwpck_require__(59463);
+ model.paginators = (__nccwpck_require__(25878)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.APIGateway;
+
+
+/***/ }),
+
+/***/ 31762:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['apigatewaymanagementapi'] = {};
+AWS.ApiGatewayManagementApi = Service.defineService('apigatewaymanagementapi', ['2018-11-29']);
+Object.defineProperty(apiLoader.services['apigatewaymanagementapi'], '2018-11-29', {
+ get: function get() {
+ var model = __nccwpck_require__(57832);
+ model.paginators = (__nccwpck_require__(2787)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ApiGatewayManagementApi;
+
+
+/***/ }),
+
+/***/ 44987:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['apigatewayv2'] = {};
+AWS.ApiGatewayV2 = Service.defineService('apigatewayv2', ['2018-11-29']);
+Object.defineProperty(apiLoader.services['apigatewayv2'], '2018-11-29', {
+ get: function get() {
+ var model = __nccwpck_require__(59326);
+ model.paginators = (__nccwpck_require__(90171)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ApiGatewayV2;
+
+
+/***/ }),
+
+/***/ 78606:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appconfig'] = {};
+AWS.AppConfig = Service.defineService('appconfig', ['2019-10-09']);
+Object.defineProperty(apiLoader.services['appconfig'], '2019-10-09', {
+ get: function get() {
+ var model = __nccwpck_require__(44701);
+ model.paginators = (__nccwpck_require__(41789)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppConfig;
+
+
+/***/ }),
+
+/***/ 45282:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appconfigdata'] = {};
+AWS.AppConfigData = Service.defineService('appconfigdata', ['2021-11-11']);
+Object.defineProperty(apiLoader.services['appconfigdata'], '2021-11-11', {
+ get: function get() {
+ var model = __nccwpck_require__(86796);
+ model.paginators = (__nccwpck_require__(48010)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppConfigData;
+
+
+/***/ }),
+
+/***/ 46318:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appfabric'] = {};
+AWS.AppFabric = Service.defineService('appfabric', ['2023-05-19']);
+Object.defineProperty(apiLoader.services['appfabric'], '2023-05-19', {
+ get: function get() {
+ var model = __nccwpck_require__(78267);
+ model.paginators = (__nccwpck_require__(42193)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(44821)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppFabric;
+
+
+/***/ }),
+
+/***/ 60844:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appflow'] = {};
+AWS.Appflow = Service.defineService('appflow', ['2020-08-23']);
+Object.defineProperty(apiLoader.services['appflow'], '2020-08-23', {
+ get: function get() {
+ var model = __nccwpck_require__(32840);
+ model.paginators = (__nccwpck_require__(16916)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Appflow;
+
+
+/***/ }),
+
+/***/ 85479:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appintegrations'] = {};
+AWS.AppIntegrations = Service.defineService('appintegrations', ['2020-07-29']);
+Object.defineProperty(apiLoader.services['appintegrations'], '2020-07-29', {
+ get: function get() {
+ var model = __nccwpck_require__(62033);
+ model.paginators = (__nccwpck_require__(61866)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppIntegrations;
+
+
+/***/ }),
+
+/***/ 25598:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['applicationautoscaling'] = {};
+AWS.ApplicationAutoScaling = Service.defineService('applicationautoscaling', ['2016-02-06']);
+Object.defineProperty(apiLoader.services['applicationautoscaling'], '2016-02-06', {
+ get: function get() {
+ var model = __nccwpck_require__(47320);
+ model.paginators = (__nccwpck_require__(40322)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ApplicationAutoScaling;
+
+
+/***/ }),
+
+/***/ 20887:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['applicationcostprofiler'] = {};
+AWS.ApplicationCostProfiler = Service.defineService('applicationcostprofiler', ['2020-09-10']);
+Object.defineProperty(apiLoader.services['applicationcostprofiler'], '2020-09-10', {
+ get: function get() {
+ var model = __nccwpck_require__(96818);
+ model.paginators = (__nccwpck_require__(41331)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ApplicationCostProfiler;
+
+
+/***/ }),
+
+/***/ 83972:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['applicationinsights'] = {};
+AWS.ApplicationInsights = Service.defineService('applicationinsights', ['2018-11-25']);
+Object.defineProperty(apiLoader.services['applicationinsights'], '2018-11-25', {
+ get: function get() {
+ var model = __nccwpck_require__(96143);
+ model.paginators = (__nccwpck_require__(22242)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ApplicationInsights;
+
+
+/***/ }),
+
+/***/ 69226:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appmesh'] = {};
+AWS.AppMesh = Service.defineService('appmesh', ['2018-10-01', '2018-10-01*', '2019-01-25']);
+Object.defineProperty(apiLoader.services['appmesh'], '2018-10-01', {
+ get: function get() {
+ var model = __nccwpck_require__(64780);
+ model.paginators = (__nccwpck_require__(54936)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['appmesh'], '2019-01-25', {
+ get: function get() {
+ var model = __nccwpck_require__(78066);
+ model.paginators = (__nccwpck_require__(37698)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppMesh;
+
+
+/***/ }),
+
+/***/ 75589:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['apprunner'] = {};
+AWS.AppRunner = Service.defineService('apprunner', ['2020-05-15']);
+Object.defineProperty(apiLoader.services['apprunner'], '2020-05-15', {
+ get: function get() {
+ var model = __nccwpck_require__(30036);
+ model.paginators = (__nccwpck_require__(50293)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppRunner;
+
+
+/***/ }),
+
+/***/ 21730:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appstream'] = {};
+AWS.AppStream = Service.defineService('appstream', ['2016-12-01']);
+Object.defineProperty(apiLoader.services['appstream'], '2016-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(85538);
+ model.paginators = (__nccwpck_require__(32191)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(21134)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppStream;
+
+
+/***/ }),
+
+/***/ 12402:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['appsync'] = {};
+AWS.AppSync = Service.defineService('appsync', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['appsync'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(94937);
+ model.paginators = (__nccwpck_require__(50233)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AppSync;
+
+
+/***/ }),
+
+/***/ 54280:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['arczonalshift'] = {};
+AWS.ARCZonalShift = Service.defineService('arczonalshift', ['2022-10-30']);
+Object.defineProperty(apiLoader.services['arczonalshift'], '2022-10-30', {
+ get: function get() {
+ var model = __nccwpck_require__(52286);
+ model.paginators = (__nccwpck_require__(70002)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ARCZonalShift;
+
+
+/***/ }),
+
+/***/ 29434:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['athena'] = {};
+AWS.Athena = Service.defineService('athena', ['2017-05-18']);
+Object.defineProperty(apiLoader.services['athena'], '2017-05-18', {
+ get: function get() {
+ var model = __nccwpck_require__(28680);
+ model.paginators = (__nccwpck_require__(44417)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Athena;
+
+
+/***/ }),
+
+/***/ 20472:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['auditmanager'] = {};
+AWS.AuditManager = Service.defineService('auditmanager', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['auditmanager'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(41672);
+ model.paginators = (__nccwpck_require__(41321)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AuditManager;
+
+
+/***/ }),
+
+/***/ 33960:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['augmentedairuntime'] = {};
+AWS.AugmentedAIRuntime = Service.defineService('augmentedairuntime', ['2019-11-07']);
+Object.defineProperty(apiLoader.services['augmentedairuntime'], '2019-11-07', {
+ get: function get() {
+ var model = __nccwpck_require__(57704);
+ model.paginators = (__nccwpck_require__(13201)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AugmentedAIRuntime;
+
+
+/***/ }),
+
+/***/ 31652:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['autoscaling'] = {};
+AWS.AutoScaling = Service.defineService('autoscaling', ['2011-01-01']);
+Object.defineProperty(apiLoader.services['autoscaling'], '2011-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(55394);
+ model.paginators = (__nccwpck_require__(81436)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AutoScaling;
+
+
+/***/ }),
+
+/***/ 2554:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['autoscalingplans'] = {};
+AWS.AutoScalingPlans = Service.defineService('autoscalingplans', ['2018-01-06']);
+Object.defineProperty(apiLoader.services['autoscalingplans'], '2018-01-06', {
+ get: function get() {
+ var model = __nccwpck_require__(53216);
+ model.paginators = (__nccwpck_require__(64985)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.AutoScalingPlans;
+
+
+/***/ }),
+
+/***/ 91065:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['b2bi'] = {};
+AWS.B2bi = Service.defineService('b2bi', ['2022-06-23']);
+Object.defineProperty(apiLoader.services['b2bi'], '2022-06-23', {
+ get: function get() {
+ var model = __nccwpck_require__(93012);
+ model.paginators = (__nccwpck_require__(13608)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.B2bi;
+
+
+/***/ }),
+
+/***/ 82455:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['backup'] = {};
+AWS.Backup = Service.defineService('backup', ['2018-11-15']);
+Object.defineProperty(apiLoader.services['backup'], '2018-11-15', {
+ get: function get() {
+ var model = __nccwpck_require__(77990);
+ model.paginators = (__nccwpck_require__(54869)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Backup;
+
+
+/***/ }),
+
+/***/ 68277:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['backupgateway'] = {};
+AWS.BackupGateway = Service.defineService('backupgateway', ['2021-01-01']);
+Object.defineProperty(apiLoader.services['backupgateway'], '2021-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(96863);
+ model.paginators = (__nccwpck_require__(34946)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.BackupGateway;
+
+
+/***/ }),
+
+/***/ 82304:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['backupstorage'] = {};
+AWS.BackupStorage = Service.defineService('backupstorage', ['2018-04-10']);
+Object.defineProperty(apiLoader.services['backupstorage'], '2018-04-10', {
+ get: function get() {
+ var model = __nccwpck_require__(97436);
+ model.paginators = (__nccwpck_require__(73644)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.BackupStorage;
+
+
+/***/ }),
+
+/***/ 10000:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['batch'] = {};
+AWS.Batch = Service.defineService('batch', ['2016-08-10']);
+Object.defineProperty(apiLoader.services['batch'], '2016-08-10', {
+ get: function get() {
+ var model = __nccwpck_require__(12617);
+ model.paginators = (__nccwpck_require__(36988)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Batch;
+
+
+/***/ }),
+
+/***/ 56703:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['bcmdataexports'] = {};
+AWS.BCMDataExports = Service.defineService('bcmdataexports', ['2023-11-26']);
+Object.defineProperty(apiLoader.services['bcmdataexports'], '2023-11-26', {
+ get: function get() {
+ var model = __nccwpck_require__(81311);
+ model.paginators = (__nccwpck_require__(56228)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.BCMDataExports;
+
+
+/***/ }),
+
+/***/ 88808:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['bedrock'] = {};
+AWS.Bedrock = Service.defineService('bedrock', ['2023-04-20']);
+Object.defineProperty(apiLoader.services['bedrock'], '2023-04-20', {
+ get: function get() {
+ var model = __nccwpck_require__(30615);
+ model.paginators = (__nccwpck_require__(27869)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(81806)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Bedrock;
+
+
+/***/ }),
+
+/***/ 9025:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['bedrockagent'] = {};
+AWS.BedrockAgent = Service.defineService('bedrockagent', ['2023-06-05']);
+Object.defineProperty(apiLoader.services['bedrockagent'], '2023-06-05', {
+ get: function get() {
+ var model = __nccwpck_require__(30755);
+ model.paginators = (__nccwpck_require__(7041)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.BedrockAgent;
+
+
+/***/ }),
+
+/***/ 16946:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['bedrockagentruntime'] = {};
+AWS.BedrockAgentRuntime = Service.defineService('bedrockagentruntime', ['2023-07-26']);
+Object.defineProperty(apiLoader.services['bedrockagentruntime'], '2023-07-26', {
+ get: function get() {
+ var model = __nccwpck_require__(65069);
+ model.paginators = (__nccwpck_require__(79273)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.BedrockAgentRuntime;
+
+
+/***/ }),
+
+/***/ 99177:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['bedrockruntime'] = {};
+AWS.BedrockRuntime = Service.defineService('bedrockruntime', ['2023-09-30']);
+Object.defineProperty(apiLoader.services['bedrockruntime'], '2023-09-30', {
+ get: function get() {
+ var model = __nccwpck_require__(38801);
+ model.paginators = (__nccwpck_require__(89474)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(34859)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.BedrockRuntime;
+
+
+/***/ }),
+
+/***/ 38416:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['billingconductor'] = {};
+AWS.Billingconductor = Service.defineService('billingconductor', ['2021-07-30']);
+Object.defineProperty(apiLoader.services['billingconductor'], '2021-07-30', {
+ get: function get() {
+ var model = __nccwpck_require__(54862);
+ model.paginators = (__nccwpck_require__(97894)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(64224)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Billingconductor;
+
+
+/***/ }),
+
+/***/ 35429:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['braket'] = {};
+AWS.Braket = Service.defineService('braket', ['2019-09-01']);
+Object.defineProperty(apiLoader.services['braket'], '2019-09-01', {
+ get: function get() {
+ var model = __nccwpck_require__(23332);
+ model.paginators = (__nccwpck_require__(15732)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Braket;
+
+
+/***/ }),
+
+/***/ 43923:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['budgets'] = {};
+AWS.Budgets = Service.defineService('budgets', ['2016-10-20']);
+Object.defineProperty(apiLoader.services['budgets'], '2016-10-20', {
+ get: function get() {
+ var model = __nccwpck_require__(11978);
+ model.paginators = (__nccwpck_require__(23694)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Budgets;
+
+
+/***/ }),
+
+/***/ 84646:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['chime'] = {};
+AWS.Chime = Service.defineService('chime', ['2018-05-01']);
+Object.defineProperty(apiLoader.services['chime'], '2018-05-01', {
+ get: function get() {
+ var model = __nccwpck_require__(44811);
+ model.paginators = (__nccwpck_require__(31890)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Chime;
+
+
+/***/ }),
+
+/***/ 55975:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['chimesdkidentity'] = {};
+AWS.ChimeSDKIdentity = Service.defineService('chimesdkidentity', ['2021-04-20']);
+Object.defineProperty(apiLoader.services['chimesdkidentity'], '2021-04-20', {
+ get: function get() {
+ var model = __nccwpck_require__(97402);
+ model.paginators = (__nccwpck_require__(133)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ChimeSDKIdentity;
+
+
+/***/ }),
+
+/***/ 18423:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['chimesdkmediapipelines'] = {};
+AWS.ChimeSDKMediaPipelines = Service.defineService('chimesdkmediapipelines', ['2021-07-15']);
+Object.defineProperty(apiLoader.services['chimesdkmediapipelines'], '2021-07-15', {
+ get: function get() {
+ var model = __nccwpck_require__(14679);
+ model.paginators = (__nccwpck_require__(82201)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ChimeSDKMediaPipelines;
+
+
+/***/ }),
+
+/***/ 80788:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['chimesdkmeetings'] = {};
+AWS.ChimeSDKMeetings = Service.defineService('chimesdkmeetings', ['2021-07-15']);
+Object.defineProperty(apiLoader.services['chimesdkmeetings'], '2021-07-15', {
+ get: function get() {
+ var model = __nccwpck_require__(17090);
+ model.paginators = (__nccwpck_require__(70582)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ChimeSDKMeetings;
+
+
+/***/ }),
+
+/***/ 25255:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['chimesdkmessaging'] = {};
+AWS.ChimeSDKMessaging = Service.defineService('chimesdkmessaging', ['2021-05-15']);
+Object.defineProperty(apiLoader.services['chimesdkmessaging'], '2021-05-15', {
+ get: function get() {
+ var model = __nccwpck_require__(52239);
+ model.paginators = (__nccwpck_require__(60807)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ChimeSDKMessaging;
+
+
+/***/ }),
+
+/***/ 349:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['chimesdkvoice'] = {};
+AWS.ChimeSDKVoice = Service.defineService('chimesdkvoice', ['2022-08-03']);
+Object.defineProperty(apiLoader.services['chimesdkvoice'], '2022-08-03', {
+ get: function get() {
+ var model = __nccwpck_require__(26420);
+ model.paginators = (__nccwpck_require__(7986)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ChimeSDKVoice;
+
+
+/***/ }),
+
+/***/ 15130:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cleanrooms'] = {};
+AWS.CleanRooms = Service.defineService('cleanrooms', ['2022-02-17']);
+Object.defineProperty(apiLoader.services['cleanrooms'], '2022-02-17', {
+ get: function get() {
+ var model = __nccwpck_require__(11585);
+ model.paginators = (__nccwpck_require__(73060)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(29284)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CleanRooms;
+
+
+/***/ }),
+
+/***/ 47594:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cleanroomsml'] = {};
+AWS.CleanRoomsML = Service.defineService('cleanroomsml', ['2023-09-06']);
+Object.defineProperty(apiLoader.services['cleanroomsml'], '2023-09-06', {
+ get: function get() {
+ var model = __nccwpck_require__(1867);
+ model.paginators = (__nccwpck_require__(89767)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CleanRoomsML;
+
+
+/***/ }),
+
+/***/ 85473:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloud9'] = {};
+AWS.Cloud9 = Service.defineService('cloud9', ['2017-09-23']);
+Object.defineProperty(apiLoader.services['cloud9'], '2017-09-23', {
+ get: function get() {
+ var model = __nccwpck_require__(82981);
+ model.paginators = (__nccwpck_require__(9313)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Cloud9;
+
+
+/***/ }),
+
+/***/ 25630:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudcontrol'] = {};
+AWS.CloudControl = Service.defineService('cloudcontrol', ['2021-09-30']);
+Object.defineProperty(apiLoader.services['cloudcontrol'], '2021-09-30', {
+ get: function get() {
+ var model = __nccwpck_require__(24689);
+ model.paginators = (__nccwpck_require__(16041)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(31933)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudControl;
+
+
+/***/ }),
+
+/***/ 56231:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['clouddirectory'] = {};
+AWS.CloudDirectory = Service.defineService('clouddirectory', ['2016-05-10', '2016-05-10*', '2017-01-11']);
+Object.defineProperty(apiLoader.services['clouddirectory'], '2016-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(72862);
+ model.paginators = (__nccwpck_require__(87597)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['clouddirectory'], '2017-01-11', {
+ get: function get() {
+ var model = __nccwpck_require__(88729);
+ model.paginators = (__nccwpck_require__(10156)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudDirectory;
+
+
+/***/ }),
+
+/***/ 74643:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudformation'] = {};
+AWS.CloudFormation = Service.defineService('cloudformation', ['2010-05-15']);
+Object.defineProperty(apiLoader.services['cloudformation'], '2010-05-15', {
+ get: function get() {
+ var model = __nccwpck_require__(31930);
+ model.paginators = (__nccwpck_require__(10611)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(53732)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudFormation;
+
+
+/***/ }),
+
+/***/ 48058:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudfront'] = {};
+AWS.CloudFront = Service.defineService('cloudfront', ['2013-05-12*', '2013-11-11*', '2014-05-31*', '2014-10-21*', '2014-11-06*', '2015-04-17*', '2015-07-27*', '2015-09-17*', '2016-01-13*', '2016-01-28*', '2016-08-01*', '2016-08-20*', '2016-09-07*', '2016-09-29*', '2016-11-25', '2016-11-25*', '2017-03-25', '2017-03-25*', '2017-10-30', '2017-10-30*', '2018-06-18', '2018-06-18*', '2018-11-05', '2018-11-05*', '2019-03-26', '2019-03-26*', '2020-05-31']);
+__nccwpck_require__(95483);
+Object.defineProperty(apiLoader.services['cloudfront'], '2016-11-25', {
+ get: function get() {
+ var model = __nccwpck_require__(64908);
+ model.paginators = (__nccwpck_require__(57305)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(71106)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudfront'], '2017-03-25', {
+ get: function get() {
+ var model = __nccwpck_require__(76944);
+ model.paginators = (__nccwpck_require__(83654)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(83406)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudfront'], '2017-10-30', {
+ get: function get() {
+ var model = __nccwpck_require__(80198);
+ model.paginators = (__nccwpck_require__(52915)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(13399)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudfront'], '2018-06-18', {
+ get: function get() {
+ var model = __nccwpck_require__(29549);
+ model.paginators = (__nccwpck_require__(7805)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(2353)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudfront'], '2018-11-05', {
+ get: function get() {
+ var model = __nccwpck_require__(22253);
+ model.paginators = (__nccwpck_require__(29533)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(36883)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudfront'], '2019-03-26', {
+ get: function get() {
+ var model = __nccwpck_require__(29574);
+ model.paginators = (__nccwpck_require__(35556)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(97142)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudfront'], '2020-05-31', {
+ get: function get() {
+ var model = __nccwpck_require__(66310);
+ model.paginators = (__nccwpck_require__(48335)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(83517)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudFront;
+
+
+/***/ }),
+
+/***/ 47859:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudfrontkeyvaluestore'] = {};
+AWS.CloudFrontKeyValueStore = Service.defineService('cloudfrontkeyvaluestore', ['2022-07-26']);
+Object.defineProperty(apiLoader.services['cloudfrontkeyvaluestore'], '2022-07-26', {
+ get: function get() {
+ var model = __nccwpck_require__(49651);
+ model.paginators = (__nccwpck_require__(41274)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudFrontKeyValueStore;
+
+
+/***/ }),
+
+/***/ 59976:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudhsm'] = {};
+AWS.CloudHSM = Service.defineService('cloudhsm', ['2014-05-30']);
+Object.defineProperty(apiLoader.services['cloudhsm'], '2014-05-30', {
+ get: function get() {
+ var model = __nccwpck_require__(18637);
+ model.paginators = (__nccwpck_require__(18988)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudHSM;
+
+
+/***/ }),
+
+/***/ 70889:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudhsmv2'] = {};
+AWS.CloudHSMV2 = Service.defineService('cloudhsmv2', ['2017-04-28']);
+Object.defineProperty(apiLoader.services['cloudhsmv2'], '2017-04-28', {
+ get: function get() {
+ var model = __nccwpck_require__(90554);
+ model.paginators = (__nccwpck_require__(77334)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudHSMV2;
+
+
+/***/ }),
+
+/***/ 72321:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudsearch'] = {};
+AWS.CloudSearch = Service.defineService('cloudsearch', ['2011-02-01', '2013-01-01']);
+Object.defineProperty(apiLoader.services['cloudsearch'], '2011-02-01', {
+ get: function get() {
+ var model = __nccwpck_require__(11732);
+ model.paginators = (__nccwpck_require__(51357)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['cloudsearch'], '2013-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(56880);
+ model.paginators = (__nccwpck_require__(81127)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudSearch;
+
+
+/***/ }),
+
+/***/ 64072:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudsearchdomain'] = {};
+AWS.CloudSearchDomain = Service.defineService('cloudsearchdomain', ['2013-01-01']);
+__nccwpck_require__(48571);
+Object.defineProperty(apiLoader.services['cloudsearchdomain'], '2013-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(78255);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudSearchDomain;
+
+
+/***/ }),
+
+/***/ 65512:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudtrail'] = {};
+AWS.CloudTrail = Service.defineService('cloudtrail', ['2013-11-01']);
+Object.defineProperty(apiLoader.services['cloudtrail'], '2013-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(11506);
+ model.paginators = (__nccwpck_require__(27523)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudTrail;
+
+
+/***/ }),
+
+/***/ 31191:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudtraildata'] = {};
+AWS.CloudTrailData = Service.defineService('cloudtraildata', ['2021-08-11']);
+Object.defineProperty(apiLoader.services['cloudtraildata'], '2021-08-11', {
+ get: function get() {
+ var model = __nccwpck_require__(27372);
+ model.paginators = (__nccwpck_require__(79223)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudTrailData;
+
+
+/***/ }),
+
+/***/ 6763:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudwatch'] = {};
+AWS.CloudWatch = Service.defineService('cloudwatch', ['2010-08-01']);
+Object.defineProperty(apiLoader.services['cloudwatch'], '2010-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(16363);
+ model.paginators = (__nccwpck_require__(46675)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(21466)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudWatch;
+
+
+/***/ }),
+
+/***/ 38124:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudwatchevents'] = {};
+AWS.CloudWatchEvents = Service.defineService('cloudwatchevents', ['2014-02-03*', '2015-10-07']);
+Object.defineProperty(apiLoader.services['cloudwatchevents'], '2015-10-07', {
+ get: function get() {
+ var model = __nccwpck_require__(40299);
+ model.paginators = (__nccwpck_require__(54031)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudWatchEvents;
+
+
+/***/ }),
+
+/***/ 96693:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cloudwatchlogs'] = {};
+AWS.CloudWatchLogs = Service.defineService('cloudwatchlogs', ['2014-03-28']);
+Object.defineProperty(apiLoader.services['cloudwatchlogs'], '2014-03-28', {
+ get: function get() {
+ var model = __nccwpck_require__(73044);
+ model.paginators = (__nccwpck_require__(15472)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CloudWatchLogs;
+
+
+/***/ }),
+
+/***/ 91983:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codeartifact'] = {};
+AWS.CodeArtifact = Service.defineService('codeartifact', ['2018-09-22']);
+Object.defineProperty(apiLoader.services['codeartifact'], '2018-09-22', {
+ get: function get() {
+ var model = __nccwpck_require__(87923);
+ model.paginators = (__nccwpck_require__(40983)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeArtifact;
+
+
+/***/ }),
+
+/***/ 60450:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codebuild'] = {};
+AWS.CodeBuild = Service.defineService('codebuild', ['2016-10-06']);
+Object.defineProperty(apiLoader.services['codebuild'], '2016-10-06', {
+ get: function get() {
+ var model = __nccwpck_require__(40893);
+ model.paginators = (__nccwpck_require__(23010)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeBuild;
+
+
+/***/ }),
+
+/***/ 19499:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codecatalyst'] = {};
+AWS.CodeCatalyst = Service.defineService('codecatalyst', ['2022-09-28']);
+Object.defineProperty(apiLoader.services['codecatalyst'], '2022-09-28', {
+ get: function get() {
+ var model = __nccwpck_require__(22999);
+ model.paginators = (__nccwpck_require__(14522)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(42522)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeCatalyst;
+
+
+/***/ }),
+
+/***/ 71323:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codecommit'] = {};
+AWS.CodeCommit = Service.defineService('codecommit', ['2015-04-13']);
+Object.defineProperty(apiLoader.services['codecommit'], '2015-04-13', {
+ get: function get() {
+ var model = __nccwpck_require__(57144);
+ model.paginators = (__nccwpck_require__(62599)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeCommit;
+
+
+/***/ }),
+
+/***/ 54599:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codedeploy'] = {};
+AWS.CodeDeploy = Service.defineService('codedeploy', ['2014-10-06']);
+Object.defineProperty(apiLoader.services['codedeploy'], '2014-10-06', {
+ get: function get() {
+ var model = __nccwpck_require__(10967);
+ model.paginators = (__nccwpck_require__(1917)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(52416)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeDeploy;
+
+
+/***/ }),
+
+/***/ 65704:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codeguruprofiler'] = {};
+AWS.CodeGuruProfiler = Service.defineService('codeguruprofiler', ['2019-07-18']);
+Object.defineProperty(apiLoader.services['codeguruprofiler'], '2019-07-18', {
+ get: function get() {
+ var model = __nccwpck_require__(34890);
+ model.paginators = (__nccwpck_require__(25274)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeGuruProfiler;
+
+
+/***/ }),
+
+/***/ 60070:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codegurureviewer'] = {};
+AWS.CodeGuruReviewer = Service.defineService('codegurureviewer', ['2019-09-19']);
+Object.defineProperty(apiLoader.services['codegurureviewer'], '2019-09-19', {
+ get: function get() {
+ var model = __nccwpck_require__(66739);
+ model.paginators = (__nccwpck_require__(37775)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(69276)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeGuruReviewer;
+
+
+/***/ }),
+
+/***/ 32620:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codegurusecurity'] = {};
+AWS.CodeGuruSecurity = Service.defineService('codegurusecurity', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['codegurusecurity'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(7662);
+ model.paginators = (__nccwpck_require__(77755)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeGuruSecurity;
+
+
+/***/ }),
+
+/***/ 22938:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codepipeline'] = {};
+AWS.CodePipeline = Service.defineService('codepipeline', ['2015-07-09']);
+Object.defineProperty(apiLoader.services['codepipeline'], '2015-07-09', {
+ get: function get() {
+ var model = __nccwpck_require__(4039);
+ model.paginators = (__nccwpck_require__(78953)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodePipeline;
+
+
+/***/ }),
+
+/***/ 98336:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codestar'] = {};
+AWS.CodeStar = Service.defineService('codestar', ['2017-04-19']);
+Object.defineProperty(apiLoader.services['codestar'], '2017-04-19', {
+ get: function get() {
+ var model = __nccwpck_require__(12425);
+ model.paginators = (__nccwpck_require__(70046)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeStar;
+
+
+/***/ }),
+
+/***/ 78270:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codestarconnections'] = {};
+AWS.CodeStarconnections = Service.defineService('codestarconnections', ['2019-12-01']);
+Object.defineProperty(apiLoader.services['codestarconnections'], '2019-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(88428);
+ model.paginators = (__nccwpck_require__(31506)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeStarconnections;
+
+
+/***/ }),
+
+/***/ 15141:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['codestarnotifications'] = {};
+AWS.CodeStarNotifications = Service.defineService('codestarnotifications', ['2019-10-15']);
+Object.defineProperty(apiLoader.services['codestarnotifications'], '2019-10-15', {
+ get: function get() {
+ var model = __nccwpck_require__(33362);
+ model.paginators = (__nccwpck_require__(44301)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CodeStarNotifications;
+
+
+/***/ }),
+
+/***/ 58291:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cognitoidentity'] = {};
+AWS.CognitoIdentity = Service.defineService('cognitoidentity', ['2014-06-30']);
+Object.defineProperty(apiLoader.services['cognitoidentity'], '2014-06-30', {
+ get: function get() {
+ var model = __nccwpck_require__(57377);
+ model.paginators = (__nccwpck_require__(85010)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CognitoIdentity;
+
+
+/***/ }),
+
+/***/ 31379:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cognitoidentityserviceprovider'] = {};
+AWS.CognitoIdentityServiceProvider = Service.defineService('cognitoidentityserviceprovider', ['2016-04-18']);
+Object.defineProperty(apiLoader.services['cognitoidentityserviceprovider'], '2016-04-18', {
+ get: function get() {
+ var model = __nccwpck_require__(53166);
+ model.paginators = (__nccwpck_require__(17149)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CognitoIdentityServiceProvider;
+
+
+/***/ }),
+
+/***/ 74770:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cognitosync'] = {};
+AWS.CognitoSync = Service.defineService('cognitosync', ['2014-06-30']);
+Object.defineProperty(apiLoader.services['cognitosync'], '2014-06-30', {
+ get: function get() {
+ var model = __nccwpck_require__(29128);
+ model.paginators = (__nccwpck_require__(5865)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CognitoSync;
+
+
+/***/ }),
+
+/***/ 62878:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['comprehend'] = {};
+AWS.Comprehend = Service.defineService('comprehend', ['2017-11-27']);
+Object.defineProperty(apiLoader.services['comprehend'], '2017-11-27', {
+ get: function get() {
+ var model = __nccwpck_require__(24433);
+ model.paginators = (__nccwpck_require__(82518)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Comprehend;
+
+
+/***/ }),
+
+/***/ 32349:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['comprehendmedical'] = {};
+AWS.ComprehendMedical = Service.defineService('comprehendmedical', ['2018-10-30']);
+Object.defineProperty(apiLoader.services['comprehendmedical'], '2018-10-30', {
+ get: function get() {
+ var model = __nccwpck_require__(96649);
+ model.paginators = (__nccwpck_require__(43172)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ComprehendMedical;
+
+
+/***/ }),
+
+/***/ 64459:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['computeoptimizer'] = {};
+AWS.ComputeOptimizer = Service.defineService('computeoptimizer', ['2019-11-01']);
+Object.defineProperty(apiLoader.services['computeoptimizer'], '2019-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(85802);
+ model.paginators = (__nccwpck_require__(6831)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ComputeOptimizer;
+
+
+/***/ }),
+
+/***/ 34061:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['configservice'] = {};
+AWS.ConfigService = Service.defineService('configservice', ['2014-11-12']);
+Object.defineProperty(apiLoader.services['configservice'], '2014-11-12', {
+ get: function get() {
+ var model = __nccwpck_require__(47124);
+ model.paginators = (__nccwpck_require__(85980)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ConfigService;
+
+
+/***/ }),
+
+/***/ 13879:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['connect'] = {};
+AWS.Connect = Service.defineService('connect', ['2017-08-08']);
+Object.defineProperty(apiLoader.services['connect'], '2017-08-08', {
+ get: function get() {
+ var model = __nccwpck_require__(54511);
+ model.paginators = (__nccwpck_require__(19742)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Connect;
+
+
+/***/ }),
+
+/***/ 42789:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['connectcampaigns'] = {};
+AWS.ConnectCampaigns = Service.defineService('connectcampaigns', ['2021-01-30']);
+Object.defineProperty(apiLoader.services['connectcampaigns'], '2021-01-30', {
+ get: function get() {
+ var model = __nccwpck_require__(71566);
+ model.paginators = (__nccwpck_require__(45198)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ConnectCampaigns;
+
+
+/***/ }),
+
+/***/ 72223:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['connectcases'] = {};
+AWS.ConnectCases = Service.defineService('connectcases', ['2022-10-03']);
+Object.defineProperty(apiLoader.services['connectcases'], '2022-10-03', {
+ get: function get() {
+ var model = __nccwpck_require__(3923);
+ model.paginators = (__nccwpck_require__(8429)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ConnectCases;
+
+
+/***/ }),
+
+/***/ 41847:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['connectcontactlens'] = {};
+AWS.ConnectContactLens = Service.defineService('connectcontactlens', ['2020-08-21']);
+Object.defineProperty(apiLoader.services['connectcontactlens'], '2020-08-21', {
+ get: function get() {
+ var model = __nccwpck_require__(16527);
+ model.paginators = (__nccwpck_require__(76658)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ConnectContactLens;
+
+
+/***/ }),
+
+/***/ 94198:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['connectparticipant'] = {};
+AWS.ConnectParticipant = Service.defineService('connectparticipant', ['2018-09-07']);
+Object.defineProperty(apiLoader.services['connectparticipant'], '2018-09-07', {
+ get: function get() {
+ var model = __nccwpck_require__(70132);
+ model.paginators = (__nccwpck_require__(29947)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ConnectParticipant;
+
+
+/***/ }),
+
+/***/ 77574:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['controltower'] = {};
+AWS.ControlTower = Service.defineService('controltower', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['controltower'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(1095);
+ model.paginators = (__nccwpck_require__(55167)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ControlTower;
+
+
+/***/ }),
+
+/***/ 79523:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['costexplorer'] = {};
+AWS.CostExplorer = Service.defineService('costexplorer', ['2017-10-25']);
+Object.defineProperty(apiLoader.services['costexplorer'], '2017-10-25', {
+ get: function get() {
+ var model = __nccwpck_require__(4060);
+ model.paginators = (__nccwpck_require__(75642)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CostExplorer;
+
+
+/***/ }),
+
+/***/ 55443:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['costoptimizationhub'] = {};
+AWS.CostOptimizationHub = Service.defineService('costoptimizationhub', ['2022-07-26']);
+Object.defineProperty(apiLoader.services['costoptimizationhub'], '2022-07-26', {
+ get: function get() {
+ var model = __nccwpck_require__(56073);
+ model.paginators = (__nccwpck_require__(70563)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CostOptimizationHub;
+
+
+/***/ }),
+
+/***/ 5026:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['cur'] = {};
+AWS.CUR = Service.defineService('cur', ['2017-01-06']);
+Object.defineProperty(apiLoader.services['cur'], '2017-01-06', {
+ get: function get() {
+ var model = __nccwpck_require__(46858);
+ model.paginators = (__nccwpck_require__(40528)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CUR;
+
+
+/***/ }),
+
+/***/ 28379:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['customerprofiles'] = {};
+AWS.CustomerProfiles = Service.defineService('customerprofiles', ['2020-08-15']);
+Object.defineProperty(apiLoader.services['customerprofiles'], '2020-08-15', {
+ get: function get() {
+ var model = __nccwpck_require__(56793);
+ model.paginators = (__nccwpck_require__(53892)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.CustomerProfiles;
+
+
+/***/ }),
+
+/***/ 35846:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['databrew'] = {};
+AWS.DataBrew = Service.defineService('databrew', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['databrew'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(96089);
+ model.paginators = (__nccwpck_require__(92224)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DataBrew;
+
+
+/***/ }),
+
+/***/ 11024:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['dataexchange'] = {};
+AWS.DataExchange = Service.defineService('dataexchange', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['dataexchange'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(42346);
+ model.paginators = (__nccwpck_require__(55607)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(43176)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DataExchange;
+
+
+/***/ }),
+
+/***/ 65688:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['datapipeline'] = {};
+AWS.DataPipeline = Service.defineService('datapipeline', ['2012-10-29']);
+Object.defineProperty(apiLoader.services['datapipeline'], '2012-10-29', {
+ get: function get() {
+ var model = __nccwpck_require__(79908);
+ model.paginators = (__nccwpck_require__(89659)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DataPipeline;
+
+
+/***/ }),
+
+/***/ 25308:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['datasync'] = {};
+AWS.DataSync = Service.defineService('datasync', ['2018-11-09']);
+Object.defineProperty(apiLoader.services['datasync'], '2018-11-09', {
+ get: function get() {
+ var model = __nccwpck_require__(93640);
+ model.paginators = (__nccwpck_require__(80063)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DataSync;
+
+
+/***/ }),
+
+/***/ 31763:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['datazone'] = {};
+AWS.DataZone = Service.defineService('datazone', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['datazone'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(70813);
+ model.paginators = (__nccwpck_require__(10509)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DataZone;
+
+
+/***/ }),
+
+/***/ 71398:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['dax'] = {};
+AWS.DAX = Service.defineService('dax', ['2017-04-19']);
+Object.defineProperty(apiLoader.services['dax'], '2017-04-19', {
+ get: function get() {
+ var model = __nccwpck_require__(24709);
+ model.paginators = (__nccwpck_require__(87564)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DAX;
+
+
+/***/ }),
+
+/***/ 60674:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['detective'] = {};
+AWS.Detective = Service.defineService('detective', ['2018-10-26']);
+Object.defineProperty(apiLoader.services['detective'], '2018-10-26', {
+ get: function get() {
+ var model = __nccwpck_require__(25236);
+ model.paginators = (__nccwpck_require__(46384)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Detective;
+
+
+/***/ }),
+
+/***/ 26272:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['devicefarm'] = {};
+AWS.DeviceFarm = Service.defineService('devicefarm', ['2015-06-23']);
+Object.defineProperty(apiLoader.services['devicefarm'], '2015-06-23', {
+ get: function get() {
+ var model = __nccwpck_require__(34023);
+ model.paginators = (__nccwpck_require__(37161)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DeviceFarm;
+
+
+/***/ }),
+
+/***/ 90673:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['devopsguru'] = {};
+AWS.DevOpsGuru = Service.defineService('devopsguru', ['2020-12-01']);
+Object.defineProperty(apiLoader.services['devopsguru'], '2020-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(36592);
+ model.paginators = (__nccwpck_require__(95551)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DevOpsGuru;
+
+
+/***/ }),
+
+/***/ 73783:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['directconnect'] = {};
+AWS.DirectConnect = Service.defineService('directconnect', ['2012-10-25']);
+Object.defineProperty(apiLoader.services['directconnect'], '2012-10-25', {
+ get: function get() {
+ var model = __nccwpck_require__(45125);
+ model.paginators = (__nccwpck_require__(26404)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DirectConnect;
+
+
+/***/ }),
+
+/***/ 83908:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['directoryservice'] = {};
+AWS.DirectoryService = Service.defineService('directoryservice', ['2015-04-16']);
+Object.defineProperty(apiLoader.services['directoryservice'], '2015-04-16', {
+ get: function get() {
+ var model = __nccwpck_require__(47357);
+ model.paginators = (__nccwpck_require__(93412)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DirectoryService;
+
+
+/***/ }),
+
+/***/ 81690:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['discovery'] = {};
+AWS.Discovery = Service.defineService('discovery', ['2015-11-01']);
+Object.defineProperty(apiLoader.services['discovery'], '2015-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(68951);
+ model.paginators = (__nccwpck_require__(19822)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Discovery;
+
+
+/***/ }),
+
+/***/ 24958:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['dlm'] = {};
+AWS.DLM = Service.defineService('dlm', ['2018-01-12']);
+Object.defineProperty(apiLoader.services['dlm'], '2018-01-12', {
+ get: function get() {
+ var model = __nccwpck_require__(75485);
+ model.paginators = (__nccwpck_require__(98881)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DLM;
+
+
+/***/ }),
+
+/***/ 69868:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['dms'] = {};
+AWS.DMS = Service.defineService('dms', ['2016-01-01']);
+Object.defineProperty(apiLoader.services['dms'], '2016-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(77953);
+ model.paginators = (__nccwpck_require__(36772)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(3500)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DMS;
+
+
+/***/ }),
+
+/***/ 55129:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['docdb'] = {};
+AWS.DocDB = Service.defineService('docdb', ['2014-10-31']);
+__nccwpck_require__(59050);
+Object.defineProperty(apiLoader.services['docdb'], '2014-10-31', {
+ get: function get() {
+ var model = __nccwpck_require__(4932);
+ model.paginators = (__nccwpck_require__(41408)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(36607)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DocDB;
+
+
+/***/ }),
+
+/***/ 20792:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['docdbelastic'] = {};
+AWS.DocDBElastic = Service.defineService('docdbelastic', ['2022-11-28']);
+Object.defineProperty(apiLoader.services['docdbelastic'], '2022-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(34162);
+ model.paginators = (__nccwpck_require__(89093)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DocDBElastic;
+
+
+/***/ }),
+
+/***/ 41116:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['drs'] = {};
+AWS.Drs = Service.defineService('drs', ['2020-02-26']);
+Object.defineProperty(apiLoader.services['drs'], '2020-02-26', {
+ get: function get() {
+ var model = __nccwpck_require__(42548);
+ model.paginators = (__nccwpck_require__(44057)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Drs;
+
+
+/***/ }),
+
+/***/ 14347:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['dynamodb'] = {};
+AWS.DynamoDB = Service.defineService('dynamodb', ['2011-12-05', '2012-08-10']);
+__nccwpck_require__(17101);
+Object.defineProperty(apiLoader.services['dynamodb'], '2011-12-05', {
+ get: function get() {
+ var model = __nccwpck_require__(46148);
+ model.paginators = (__nccwpck_require__(86884)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(24864)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['dynamodb'], '2012-08-10', {
+ get: function get() {
+ var model = __nccwpck_require__(54047);
+ model.paginators = (__nccwpck_require__(30482)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(48411)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DynamoDB;
+
+
+/***/ }),
+
+/***/ 88090:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['dynamodbstreams'] = {};
+AWS.DynamoDBStreams = Service.defineService('dynamodbstreams', ['2012-08-10']);
+Object.defineProperty(apiLoader.services['dynamodbstreams'], '2012-08-10', {
+ get: function get() {
+ var model = __nccwpck_require__(26098);
+ model.paginators = (__nccwpck_require__(40549)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.DynamoDBStreams;
+
+
+/***/ }),
+
+/***/ 62837:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ebs'] = {};
+AWS.EBS = Service.defineService('ebs', ['2019-11-02']);
+Object.defineProperty(apiLoader.services['ebs'], '2019-11-02', {
+ get: function get() {
+ var model = __nccwpck_require__(72220);
+ model.paginators = (__nccwpck_require__(85366)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EBS;
+
+
+/***/ }),
+
+/***/ 7778:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ec2'] = {};
+AWS.EC2 = Service.defineService('ec2', ['2013-06-15*', '2013-10-15*', '2014-02-01*', '2014-05-01*', '2014-06-15*', '2014-09-01*', '2014-10-01*', '2015-03-01*', '2015-04-15*', '2015-10-01*', '2016-04-01*', '2016-09-15*', '2016-11-15']);
+__nccwpck_require__(92501);
+Object.defineProperty(apiLoader.services['ec2'], '2016-11-15', {
+ get: function get() {
+ var model = __nccwpck_require__(2658);
+ model.paginators = (__nccwpck_require__(82477)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(19153)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EC2;
+
+
+/***/ }),
+
+/***/ 92209:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ec2instanceconnect'] = {};
+AWS.EC2InstanceConnect = Service.defineService('ec2instanceconnect', ['2018-04-02']);
+Object.defineProperty(apiLoader.services['ec2instanceconnect'], '2018-04-02', {
+ get: function get() {
+ var model = __nccwpck_require__(36007);
+ model.paginators = (__nccwpck_require__(38333)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EC2InstanceConnect;
+
+
+/***/ }),
+
+/***/ 15211:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ecr'] = {};
+AWS.ECR = Service.defineService('ecr', ['2015-09-21']);
+Object.defineProperty(apiLoader.services['ecr'], '2015-09-21', {
+ get: function get() {
+ var model = __nccwpck_require__(92405);
+ model.paginators = (__nccwpck_require__(25504)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(78925)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ECR;
+
+
+/***/ }),
+
+/***/ 90244:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ecrpublic'] = {};
+AWS.ECRPUBLIC = Service.defineService('ecrpublic', ['2020-10-30']);
+Object.defineProperty(apiLoader.services['ecrpublic'], '2020-10-30', {
+ get: function get() {
+ var model = __nccwpck_require__(9668);
+ model.paginators = (__nccwpck_require__(81193)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ECRPUBLIC;
+
+
+/***/ }),
+
+/***/ 16615:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ecs'] = {};
+AWS.ECS = Service.defineService('ecs', ['2014-11-13']);
+Object.defineProperty(apiLoader.services['ecs'], '2014-11-13', {
+ get: function get() {
+ var model = __nccwpck_require__(44208);
+ model.paginators = (__nccwpck_require__(15738)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(1299)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ECS;
+
+
+/***/ }),
+
+/***/ 34375:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['efs'] = {};
+AWS.EFS = Service.defineService('efs', ['2015-02-01']);
+Object.defineProperty(apiLoader.services['efs'], '2015-02-01', {
+ get: function get() {
+ var model = __nccwpck_require__(54784);
+ model.paginators = (__nccwpck_require__(40174)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EFS;
+
+
+/***/ }),
+
+/***/ 23337:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['eks'] = {};
+AWS.EKS = Service.defineService('eks', ['2017-11-01']);
+Object.defineProperty(apiLoader.services['eks'], '2017-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(51370);
+ model.paginators = (__nccwpck_require__(36490)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(88058)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EKS;
+
+
+/***/ }),
+
+/***/ 66164:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['eksauth'] = {};
+AWS.EKSAuth = Service.defineService('eksauth', ['2023-11-26']);
+Object.defineProperty(apiLoader.services['eksauth'], '2023-11-26', {
+ get: function get() {
+ var model = __nccwpck_require__(92414);
+ model.paginators = (__nccwpck_require__(8222)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(33480)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EKSAuth;
+
+
+/***/ }),
+
+/***/ 81065:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['elasticache'] = {};
+AWS.ElastiCache = Service.defineService('elasticache', ['2012-11-15*', '2014-03-24*', '2014-07-15*', '2014-09-30*', '2015-02-02']);
+Object.defineProperty(apiLoader.services['elasticache'], '2015-02-02', {
+ get: function get() {
+ var model = __nccwpck_require__(58426);
+ model.paginators = (__nccwpck_require__(79559)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(29787)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ElastiCache;
+
+
+/***/ }),
+
+/***/ 14897:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['elasticbeanstalk'] = {};
+AWS.ElasticBeanstalk = Service.defineService('elasticbeanstalk', ['2010-12-01']);
+Object.defineProperty(apiLoader.services['elasticbeanstalk'], '2010-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(72508);
+ model.paginators = (__nccwpck_require__(72305)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(62534)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ElasticBeanstalk;
+
+
+/***/ }),
+
+/***/ 37708:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['elasticinference'] = {};
+AWS.ElasticInference = Service.defineService('elasticinference', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['elasticinference'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(83967);
+ model.paginators = (__nccwpck_require__(64906)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ElasticInference;
+
+
+/***/ }),
+
+/***/ 40745:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['elastictranscoder'] = {};
+AWS.ElasticTranscoder = Service.defineService('elastictranscoder', ['2012-09-25']);
+Object.defineProperty(apiLoader.services['elastictranscoder'], '2012-09-25', {
+ get: function get() {
+ var model = __nccwpck_require__(23463);
+ model.paginators = (__nccwpck_require__(36121)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(59345)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ElasticTranscoder;
+
+
+/***/ }),
+
+/***/ 10907:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['elb'] = {};
+AWS.ELB = Service.defineService('elb', ['2012-06-01']);
+Object.defineProperty(apiLoader.services['elb'], '2012-06-01', {
+ get: function get() {
+ var model = __nccwpck_require__(66258);
+ model.paginators = (__nccwpck_require__(77372)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(56717)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ELB;
+
+
+/***/ }),
+
+/***/ 44311:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['elbv2'] = {};
+AWS.ELBv2 = Service.defineService('elbv2', ['2015-12-01']);
+Object.defineProperty(apiLoader.services['elbv2'], '2015-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(42628);
+ model.paginators = (__nccwpck_require__(12274)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(56106)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ELBv2;
+
+
+/***/ }),
+
+/***/ 50470:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['emr'] = {};
+AWS.EMR = Service.defineService('emr', ['2009-03-31']);
+Object.defineProperty(apiLoader.services['emr'], '2009-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(91298);
+ model.paginators = (__nccwpck_require__(62965)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(86792)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EMR;
+
+
+/***/ }),
+
+/***/ 49984:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['emrcontainers'] = {};
+AWS.EMRcontainers = Service.defineService('emrcontainers', ['2020-10-01']);
+Object.defineProperty(apiLoader.services['emrcontainers'], '2020-10-01', {
+ get: function get() {
+ var model = __nccwpck_require__(33922);
+ model.paginators = (__nccwpck_require__(87789)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EMRcontainers;
+
+
+/***/ }),
+
+/***/ 219:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['emrserverless'] = {};
+AWS.EMRServerless = Service.defineService('emrserverless', ['2021-07-13']);
+Object.defineProperty(apiLoader.services['emrserverless'], '2021-07-13', {
+ get: function get() {
+ var model = __nccwpck_require__(41070);
+ model.paginators = (__nccwpck_require__(39521)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EMRServerless;
+
+
+/***/ }),
+
+/***/ 22697:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['entityresolution'] = {};
+AWS.EntityResolution = Service.defineService('entityresolution', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['entityresolution'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(61033);
+ model.paginators = (__nccwpck_require__(37403)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EntityResolution;
+
+
+/***/ }),
+
+/***/ 84462:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['es'] = {};
+AWS.ES = Service.defineService('es', ['2015-01-01']);
+Object.defineProperty(apiLoader.services['es'], '2015-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(33943);
+ model.paginators = (__nccwpck_require__(78836)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ES;
+
+
+/***/ }),
+
+/***/ 898:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['eventbridge'] = {};
+AWS.EventBridge = Service.defineService('eventbridge', ['2015-10-07']);
+__nccwpck_require__(3034);
+Object.defineProperty(apiLoader.services['eventbridge'], '2015-10-07', {
+ get: function get() {
+ var model = __nccwpck_require__(9659);
+ model.paginators = (__nccwpck_require__(10871)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.EventBridge;
+
+
+/***/ }),
+
+/***/ 21440:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['evidently'] = {};
+AWS.Evidently = Service.defineService('evidently', ['2021-02-01']);
+Object.defineProperty(apiLoader.services['evidently'], '2021-02-01', {
+ get: function get() {
+ var model = __nccwpck_require__(41971);
+ model.paginators = (__nccwpck_require__(72960)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Evidently;
+
+
+/***/ }),
+
+/***/ 3052:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['finspace'] = {};
+AWS.Finspace = Service.defineService('finspace', ['2021-03-12']);
+Object.defineProperty(apiLoader.services['finspace'], '2021-03-12', {
+ get: function get() {
+ var model = __nccwpck_require__(37836);
+ model.paginators = (__nccwpck_require__(7328)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Finspace;
+
+
+/***/ }),
+
+/***/ 96869:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['finspacedata'] = {};
+AWS.Finspacedata = Service.defineService('finspacedata', ['2020-07-13']);
+Object.defineProperty(apiLoader.services['finspacedata'], '2020-07-13', {
+ get: function get() {
+ var model = __nccwpck_require__(83394);
+ model.paginators = (__nccwpck_require__(70371)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Finspacedata;
+
+
+/***/ }),
+
+/***/ 92831:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['firehose'] = {};
+AWS.Firehose = Service.defineService('firehose', ['2015-08-04']);
+Object.defineProperty(apiLoader.services['firehose'], '2015-08-04', {
+ get: function get() {
+ var model = __nccwpck_require__(48886);
+ model.paginators = (__nccwpck_require__(47400)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Firehose;
+
+
+/***/ }),
+
+/***/ 73003:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['fis'] = {};
+AWS.Fis = Service.defineService('fis', ['2020-12-01']);
+Object.defineProperty(apiLoader.services['fis'], '2020-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(98356);
+ model.paginators = (__nccwpck_require__(6544)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Fis;
+
+
+/***/ }),
+
+/***/ 11316:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['fms'] = {};
+AWS.FMS = Service.defineService('fms', ['2018-01-01']);
+Object.defineProperty(apiLoader.services['fms'], '2018-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(22212);
+ model.paginators = (__nccwpck_require__(49570)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.FMS;
+
+
+/***/ }),
+
+/***/ 36822:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['forecastqueryservice'] = {};
+AWS.ForecastQueryService = Service.defineService('forecastqueryservice', ['2018-06-26']);
+Object.defineProperty(apiLoader.services['forecastqueryservice'], '2018-06-26', {
+ get: function get() {
+ var model = __nccwpck_require__(23865);
+ model.paginators = (__nccwpck_require__(98135)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ForecastQueryService;
+
+
+/***/ }),
+
+/***/ 12942:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['forecastservice'] = {};
+AWS.ForecastService = Service.defineService('forecastservice', ['2018-06-26']);
+Object.defineProperty(apiLoader.services['forecastservice'], '2018-06-26', {
+ get: function get() {
+ var model = __nccwpck_require__(6468);
+ model.paginators = (__nccwpck_require__(45338)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ForecastService;
+
+
+/***/ }),
+
+/***/ 99830:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['frauddetector'] = {};
+AWS.FraudDetector = Service.defineService('frauddetector', ['2019-11-15']);
+Object.defineProperty(apiLoader.services['frauddetector'], '2019-11-15', {
+ get: function get() {
+ var model = __nccwpck_require__(96105);
+ model.paginators = (__nccwpck_require__(9177)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.FraudDetector;
+
+
+/***/ }),
+
+/***/ 11681:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['freetier'] = {};
+AWS.FreeTier = Service.defineService('freetier', ['2023-09-07']);
+Object.defineProperty(apiLoader.services['freetier'], '2023-09-07', {
+ get: function get() {
+ var model = __nccwpck_require__(50797);
+ model.paginators = (__nccwpck_require__(52266)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.FreeTier;
+
+
+/***/ }),
+
+/***/ 60642:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['fsx'] = {};
+AWS.FSx = Service.defineService('fsx', ['2018-03-01']);
+Object.defineProperty(apiLoader.services['fsx'], '2018-03-01', {
+ get: function get() {
+ var model = __nccwpck_require__(58245);
+ model.paginators = (__nccwpck_require__(19882)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.FSx;
+
+
+/***/ }),
+
+/***/ 8085:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['gamelift'] = {};
+AWS.GameLift = Service.defineService('gamelift', ['2015-10-01']);
+Object.defineProperty(apiLoader.services['gamelift'], '2015-10-01', {
+ get: function get() {
+ var model = __nccwpck_require__(69257);
+ model.paginators = (__nccwpck_require__(88381)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.GameLift;
+
+
+/***/ }),
+
+/***/ 63249:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['glacier'] = {};
+AWS.Glacier = Service.defineService('glacier', ['2012-06-01']);
+__nccwpck_require__(14472);
+Object.defineProperty(apiLoader.services['glacier'], '2012-06-01', {
+ get: function get() {
+ var model = __nccwpck_require__(11545);
+ model.paginators = (__nccwpck_require__(54145)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(65182)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Glacier;
+
+
+/***/ }),
+
+/***/ 19306:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['globalaccelerator'] = {};
+AWS.GlobalAccelerator = Service.defineService('globalaccelerator', ['2018-08-08']);
+Object.defineProperty(apiLoader.services['globalaccelerator'], '2018-08-08', {
+ get: function get() {
+ var model = __nccwpck_require__(35365);
+ model.paginators = (__nccwpck_require__(14796)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.GlobalAccelerator;
+
+
+/***/ }),
+
+/***/ 31658:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['glue'] = {};
+AWS.Glue = Service.defineService('glue', ['2017-03-31']);
+Object.defineProperty(apiLoader.services['glue'], '2017-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(72268);
+ model.paginators = (__nccwpck_require__(26545)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Glue;
+
+
+/***/ }),
+
+/***/ 51050:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['grafana'] = {};
+AWS.Grafana = Service.defineService('grafana', ['2020-08-18']);
+Object.defineProperty(apiLoader.services['grafana'], '2020-08-18', {
+ get: function get() {
+ var model = __nccwpck_require__(29655);
+ model.paginators = (__nccwpck_require__(83188)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Grafana;
+
+
+/***/ }),
+
+/***/ 20690:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['greengrass'] = {};
+AWS.Greengrass = Service.defineService('greengrass', ['2017-06-07']);
+Object.defineProperty(apiLoader.services['greengrass'], '2017-06-07', {
+ get: function get() {
+ var model = __nccwpck_require__(72575);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Greengrass;
+
+
+/***/ }),
+
+/***/ 45126:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['greengrassv2'] = {};
+AWS.GreengrassV2 = Service.defineService('greengrassv2', ['2020-11-30']);
+Object.defineProperty(apiLoader.services['greengrassv2'], '2020-11-30', {
+ get: function get() {
+ var model = __nccwpck_require__(57546);
+ model.paginators = (__nccwpck_require__(47961)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.GreengrassV2;
+
+
+/***/ }),
+
+/***/ 80494:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['groundstation'] = {};
+AWS.GroundStation = Service.defineService('groundstation', ['2019-05-23']);
+Object.defineProperty(apiLoader.services['groundstation'], '2019-05-23', {
+ get: function get() {
+ var model = __nccwpck_require__(27733);
+ model.paginators = (__nccwpck_require__(55974)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(77815)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.GroundStation;
+
+
+/***/ }),
+
+/***/ 40755:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['guardduty'] = {};
+AWS.GuardDuty = Service.defineService('guardduty', ['2017-11-28']);
+Object.defineProperty(apiLoader.services['guardduty'], '2017-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(37793);
+ model.paginators = (__nccwpck_require__(87510)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.GuardDuty;
+
+
+/***/ }),
+
+/***/ 21834:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['health'] = {};
+AWS.Health = Service.defineService('health', ['2016-08-04']);
+Object.defineProperty(apiLoader.services['health'], '2016-08-04', {
+ get: function get() {
+ var model = __nccwpck_require__(8618);
+ model.paginators = (__nccwpck_require__(46725)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Health;
+
+
+/***/ }),
+
+/***/ 64254:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['healthlake'] = {};
+AWS.HealthLake = Service.defineService('healthlake', ['2017-07-01']);
+Object.defineProperty(apiLoader.services['healthlake'], '2017-07-01', {
+ get: function get() {
+ var model = __nccwpck_require__(13637);
+ model.paginators = (__nccwpck_require__(92834)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.HealthLake;
+
+
+/***/ }),
+
+/***/ 38889:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['honeycode'] = {};
+AWS.Honeycode = Service.defineService('honeycode', ['2020-03-01']);
+Object.defineProperty(apiLoader.services['honeycode'], '2020-03-01', {
+ get: function get() {
+ var model = __nccwpck_require__(27577);
+ model.paginators = (__nccwpck_require__(12243)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Honeycode;
+
+
+/***/ }),
+
+/***/ 50058:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iam'] = {};
+AWS.IAM = Service.defineService('iam', ['2010-05-08']);
+Object.defineProperty(apiLoader.services['iam'], '2010-05-08', {
+ get: function get() {
+ var model = __nccwpck_require__(27041);
+ model.paginators = (__nccwpck_require__(97583)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(37757)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IAM;
+
+
+/***/ }),
+
+/***/ 60222:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['identitystore'] = {};
+AWS.IdentityStore = Service.defineService('identitystore', ['2020-06-15']);
+Object.defineProperty(apiLoader.services['identitystore'], '2020-06-15', {
+ get: function get() {
+ var model = __nccwpck_require__(75797);
+ model.paginators = (__nccwpck_require__(44872)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IdentityStore;
+
+
+/***/ }),
+
+/***/ 57511:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['imagebuilder'] = {};
+AWS.Imagebuilder = Service.defineService('imagebuilder', ['2019-12-02']);
+Object.defineProperty(apiLoader.services['imagebuilder'], '2019-12-02', {
+ get: function get() {
+ var model = __nccwpck_require__(98139);
+ model.paginators = (__nccwpck_require__(60410)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Imagebuilder;
+
+
+/***/ }),
+
+/***/ 6769:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['importexport'] = {};
+AWS.ImportExport = Service.defineService('importexport', ['2010-06-01']);
+Object.defineProperty(apiLoader.services['importexport'], '2010-06-01', {
+ get: function get() {
+ var model = __nccwpck_require__(80317);
+ model.paginators = (__nccwpck_require__(58037)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ImportExport;
+
+
+/***/ }),
+
+/***/ 89439:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['inspector'] = {};
+AWS.Inspector = Service.defineService('inspector', ['2015-08-18*', '2016-02-16']);
+Object.defineProperty(apiLoader.services['inspector'], '2016-02-16', {
+ get: function get() {
+ var model = __nccwpck_require__(71649);
+ model.paginators = (__nccwpck_require__(69242)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Inspector;
+
+
+/***/ }),
+
+/***/ 98650:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['inspector2'] = {};
+AWS.Inspector2 = Service.defineService('inspector2', ['2020-06-08']);
+Object.defineProperty(apiLoader.services['inspector2'], '2020-06-08', {
+ get: function get() {
+ var model = __nccwpck_require__(61291);
+ model.paginators = (__nccwpck_require__(17472)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Inspector2;
+
+
+/***/ }),
+
+/***/ 25467:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['inspectorscan'] = {};
+AWS.InspectorScan = Service.defineService('inspectorscan', ['2023-08-08']);
+Object.defineProperty(apiLoader.services['inspectorscan'], '2023-08-08', {
+ get: function get() {
+ var model = __nccwpck_require__(17875);
+ model.paginators = (__nccwpck_require__(35037)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.InspectorScan;
+
+
+/***/ }),
+
+/***/ 84099:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['internetmonitor'] = {};
+AWS.InternetMonitor = Service.defineService('internetmonitor', ['2021-06-03']);
+Object.defineProperty(apiLoader.services['internetmonitor'], '2021-06-03', {
+ get: function get() {
+ var model = __nccwpck_require__(62158);
+ model.paginators = (__nccwpck_require__(64409)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(76543)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.InternetMonitor;
+
+
+/***/ }),
+
+/***/ 98392:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iot'] = {};
+AWS.Iot = Service.defineService('iot', ['2015-05-28']);
+Object.defineProperty(apiLoader.services['iot'], '2015-05-28', {
+ get: function get() {
+ var model = __nccwpck_require__(40063);
+ model.paginators = (__nccwpck_require__(43999)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Iot;
+
+
+/***/ }),
+
+/***/ 39474:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iot1clickdevicesservice'] = {};
+AWS.IoT1ClickDevicesService = Service.defineService('iot1clickdevicesservice', ['2018-05-14']);
+Object.defineProperty(apiLoader.services['iot1clickdevicesservice'], '2018-05-14', {
+ get: function get() {
+ var model = __nccwpck_require__(26663);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoT1ClickDevicesService;
+
+
+/***/ }),
+
+/***/ 4686:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iot1clickprojects'] = {};
+AWS.IoT1ClickProjects = Service.defineService('iot1clickprojects', ['2018-05-14']);
+Object.defineProperty(apiLoader.services['iot1clickprojects'], '2018-05-14', {
+ get: function get() {
+ var model = __nccwpck_require__(17364);
+ model.paginators = (__nccwpck_require__(54033)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoT1ClickProjects;
+
+
+/***/ }),
+
+/***/ 67409:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotanalytics'] = {};
+AWS.IoTAnalytics = Service.defineService('iotanalytics', ['2017-11-27']);
+Object.defineProperty(apiLoader.services['iotanalytics'], '2017-11-27', {
+ get: function get() {
+ var model = __nccwpck_require__(84609);
+ model.paginators = (__nccwpck_require__(45498)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTAnalytics;
+
+
+/***/ }),
+
+/***/ 6564:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotdata'] = {};
+AWS.IotData = Service.defineService('iotdata', ['2015-05-28']);
+__nccwpck_require__(27062);
+Object.defineProperty(apiLoader.services['iotdata'], '2015-05-28', {
+ get: function get() {
+ var model = __nccwpck_require__(21717);
+ model.paginators = (__nccwpck_require__(31896)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IotData;
+
+
+/***/ }),
+
+/***/ 97569:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotdeviceadvisor'] = {};
+AWS.IotDeviceAdvisor = Service.defineService('iotdeviceadvisor', ['2020-09-18']);
+Object.defineProperty(apiLoader.services['iotdeviceadvisor'], '2020-09-18', {
+ get: function get() {
+ var model = __nccwpck_require__(71394);
+ model.paginators = (__nccwpck_require__(49057)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IotDeviceAdvisor;
+
+
+/***/ }),
+
+/***/ 88065:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotevents'] = {};
+AWS.IoTEvents = Service.defineService('iotevents', ['2018-07-27']);
+Object.defineProperty(apiLoader.services['iotevents'], '2018-07-27', {
+ get: function get() {
+ var model = __nccwpck_require__(4483);
+ model.paginators = (__nccwpck_require__(39844)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTEvents;
+
+
+/***/ }),
+
+/***/ 56973:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ioteventsdata'] = {};
+AWS.IoTEventsData = Service.defineService('ioteventsdata', ['2018-10-23']);
+Object.defineProperty(apiLoader.services['ioteventsdata'], '2018-10-23', {
+ get: function get() {
+ var model = __nccwpck_require__(94282);
+ model.paginators = (__nccwpck_require__(11632)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTEventsData;
+
+
+/***/ }),
+
+/***/ 42513:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotfleethub'] = {};
+AWS.IoTFleetHub = Service.defineService('iotfleethub', ['2020-11-03']);
+Object.defineProperty(apiLoader.services['iotfleethub'], '2020-11-03', {
+ get: function get() {
+ var model = __nccwpck_require__(56534);
+ model.paginators = (__nccwpck_require__(76120)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTFleetHub;
+
+
+/***/ }),
+
+/***/ 94329:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotfleetwise'] = {};
+AWS.IoTFleetWise = Service.defineService('iotfleetwise', ['2021-06-17']);
+Object.defineProperty(apiLoader.services['iotfleetwise'], '2021-06-17', {
+ get: function get() {
+ var model = __nccwpck_require__(68937);
+ model.paginators = (__nccwpck_require__(85715)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(23391)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTFleetWise;
+
+
+/***/ }),
+
+/***/ 42332:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotjobsdataplane'] = {};
+AWS.IoTJobsDataPlane = Service.defineService('iotjobsdataplane', ['2017-09-29']);
+Object.defineProperty(apiLoader.services['iotjobsdataplane'], '2017-09-29', {
+ get: function get() {
+ var model = __nccwpck_require__(12147);
+ model.paginators = (__nccwpck_require__(58593)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTJobsDataPlane;
+
+
+/***/ }),
+
+/***/ 22163:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotroborunner'] = {};
+AWS.IoTRoboRunner = Service.defineService('iotroborunner', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['iotroborunner'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(11483);
+ model.paginators = (__nccwpck_require__(82393)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTRoboRunner;
+
+
+/***/ }),
+
+/***/ 98562:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotsecuretunneling'] = {};
+AWS.IoTSecureTunneling = Service.defineService('iotsecuretunneling', ['2018-10-05']);
+Object.defineProperty(apiLoader.services['iotsecuretunneling'], '2018-10-05', {
+ get: function get() {
+ var model = __nccwpck_require__(99946);
+ model.paginators = (__nccwpck_require__(97884)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTSecureTunneling;
+
+
+/***/ }),
+
+/***/ 89690:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotsitewise'] = {};
+AWS.IoTSiteWise = Service.defineService('iotsitewise', ['2019-12-02']);
+Object.defineProperty(apiLoader.services['iotsitewise'], '2019-12-02', {
+ get: function get() {
+ var model = __nccwpck_require__(44429);
+ model.paginators = (__nccwpck_require__(27558)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(80458)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTSiteWise;
+
+
+/***/ }),
+
+/***/ 58905:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotthingsgraph'] = {};
+AWS.IoTThingsGraph = Service.defineService('iotthingsgraph', ['2018-09-06']);
+Object.defineProperty(apiLoader.services['iotthingsgraph'], '2018-09-06', {
+ get: function get() {
+ var model = __nccwpck_require__(84893);
+ model.paginators = (__nccwpck_require__(99418)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTThingsGraph;
+
+
+/***/ }),
+
+/***/ 65010:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iottwinmaker'] = {};
+AWS.IoTTwinMaker = Service.defineService('iottwinmaker', ['2021-11-29']);
+Object.defineProperty(apiLoader.services['iottwinmaker'], '2021-11-29', {
+ get: function get() {
+ var model = __nccwpck_require__(30382);
+ model.paginators = (__nccwpck_require__(93389)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(41496)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTTwinMaker;
+
+
+/***/ }),
+
+/***/ 8226:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['iotwireless'] = {};
+AWS.IoTWireless = Service.defineService('iotwireless', ['2020-11-22']);
+Object.defineProperty(apiLoader.services['iotwireless'], '2020-11-22', {
+ get: function get() {
+ var model = __nccwpck_require__(78052);
+ model.paginators = (__nccwpck_require__(13156)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IoTWireless;
+
+
+/***/ }),
+
+/***/ 67701:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ivs'] = {};
+AWS.IVS = Service.defineService('ivs', ['2020-07-14']);
+Object.defineProperty(apiLoader.services['ivs'], '2020-07-14', {
+ get: function get() {
+ var model = __nccwpck_require__(34175);
+ model.paginators = (__nccwpck_require__(45289)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IVS;
+
+
+/***/ }),
+
+/***/ 17077:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ivschat'] = {};
+AWS.Ivschat = Service.defineService('ivschat', ['2020-07-14']);
+Object.defineProperty(apiLoader.services['ivschat'], '2020-07-14', {
+ get: function get() {
+ var model = __nccwpck_require__(77512);
+ model.paginators = (__nccwpck_require__(85556)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Ivschat;
+
+
+/***/ }),
+
+/***/ 51946:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ivsrealtime'] = {};
+AWS.IVSRealTime = Service.defineService('ivsrealtime', ['2020-07-14']);
+Object.defineProperty(apiLoader.services['ivsrealtime'], '2020-07-14', {
+ get: function get() {
+ var model = __nccwpck_require__(23084);
+ model.paginators = (__nccwpck_require__(64507)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.IVSRealTime;
+
+
+/***/ }),
+
+/***/ 56775:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kafka'] = {};
+AWS.Kafka = Service.defineService('kafka', ['2018-11-14']);
+Object.defineProperty(apiLoader.services['kafka'], '2018-11-14', {
+ get: function get() {
+ var model = __nccwpck_require__(38473);
+ model.paginators = (__nccwpck_require__(79729)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Kafka;
+
+
+/***/ }),
+
+/***/ 61879:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kafkaconnect'] = {};
+AWS.KafkaConnect = Service.defineService('kafkaconnect', ['2021-09-14']);
+Object.defineProperty(apiLoader.services['kafkaconnect'], '2021-09-14', {
+ get: function get() {
+ var model = __nccwpck_require__(80867);
+ model.paginators = (__nccwpck_require__(32924)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KafkaConnect;
+
+
+/***/ }),
+
+/***/ 66122:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kendra'] = {};
+AWS.Kendra = Service.defineService('kendra', ['2019-02-03']);
+Object.defineProperty(apiLoader.services['kendra'], '2019-02-03', {
+ get: function get() {
+ var model = __nccwpck_require__(80100);
+ model.paginators = (__nccwpck_require__(64519)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Kendra;
+
+
+/***/ }),
+
+/***/ 46255:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kendraranking'] = {};
+AWS.KendraRanking = Service.defineService('kendraranking', ['2022-10-19']);
+Object.defineProperty(apiLoader.services['kendraranking'], '2022-10-19', {
+ get: function get() {
+ var model = __nccwpck_require__(66044);
+ model.paginators = (__nccwpck_require__(38563)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KendraRanking;
+
+
+/***/ }),
+
+/***/ 24789:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['keyspaces'] = {};
+AWS.Keyspaces = Service.defineService('keyspaces', ['2022-02-10']);
+Object.defineProperty(apiLoader.services['keyspaces'], '2022-02-10', {
+ get: function get() {
+ var model = __nccwpck_require__(59857);
+ model.paginators = (__nccwpck_require__(19252)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(53164)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Keyspaces;
+
+
+/***/ }),
+
+/***/ 49876:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesis'] = {};
+AWS.Kinesis = Service.defineService('kinesis', ['2013-12-02']);
+Object.defineProperty(apiLoader.services['kinesis'], '2013-12-02', {
+ get: function get() {
+ var model = __nccwpck_require__(648);
+ model.paginators = (__nccwpck_require__(10424)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(54059)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Kinesis;
+
+
+/***/ }),
+
+/***/ 90042:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisanalytics'] = {};
+AWS.KinesisAnalytics = Service.defineService('kinesisanalytics', ['2015-08-14']);
+Object.defineProperty(apiLoader.services['kinesisanalytics'], '2015-08-14', {
+ get: function get() {
+ var model = __nccwpck_require__(72653);
+ model.paginators = (__nccwpck_require__(73535)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisAnalytics;
+
+
+/***/ }),
+
+/***/ 74631:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisanalyticsv2'] = {};
+AWS.KinesisAnalyticsV2 = Service.defineService('kinesisanalyticsv2', ['2018-05-23']);
+Object.defineProperty(apiLoader.services['kinesisanalyticsv2'], '2018-05-23', {
+ get: function get() {
+ var model = __nccwpck_require__(56485);
+ model.paginators = (__nccwpck_require__(52495)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisAnalyticsV2;
+
+
+/***/ }),
+
+/***/ 89927:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisvideo'] = {};
+AWS.KinesisVideo = Service.defineService('kinesisvideo', ['2017-09-30']);
+Object.defineProperty(apiLoader.services['kinesisvideo'], '2017-09-30', {
+ get: function get() {
+ var model = __nccwpck_require__(96305);
+ model.paginators = (__nccwpck_require__(50061)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisVideo;
+
+
+/***/ }),
+
+/***/ 5580:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisvideoarchivedmedia'] = {};
+AWS.KinesisVideoArchivedMedia = Service.defineService('kinesisvideoarchivedmedia', ['2017-09-30']);
+Object.defineProperty(apiLoader.services['kinesisvideoarchivedmedia'], '2017-09-30', {
+ get: function get() {
+ var model = __nccwpck_require__(78868);
+ model.paginators = (__nccwpck_require__(27352)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisVideoArchivedMedia;
+
+
+/***/ }),
+
+/***/ 81308:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisvideomedia'] = {};
+AWS.KinesisVideoMedia = Service.defineService('kinesisvideomedia', ['2017-09-30']);
+Object.defineProperty(apiLoader.services['kinesisvideomedia'], '2017-09-30', {
+ get: function get() {
+ var model = __nccwpck_require__(18898);
+ model.paginators = (__nccwpck_require__(85061)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisVideoMedia;
+
+
+/***/ }),
+
+/***/ 12710:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisvideosignalingchannels'] = {};
+AWS.KinesisVideoSignalingChannels = Service.defineService('kinesisvideosignalingchannels', ['2019-12-04']);
+Object.defineProperty(apiLoader.services['kinesisvideosignalingchannels'], '2019-12-04', {
+ get: function get() {
+ var model = __nccwpck_require__(89769);
+ model.paginators = (__nccwpck_require__(41939)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisVideoSignalingChannels;
+
+
+/***/ }),
+
+/***/ 52642:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kinesisvideowebrtcstorage'] = {};
+AWS.KinesisVideoWebRTCStorage = Service.defineService('kinesisvideowebrtcstorage', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['kinesisvideowebrtcstorage'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(62761);
+ model.paginators = (__nccwpck_require__(3540)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KinesisVideoWebRTCStorage;
+
+
+/***/ }),
+
+/***/ 56782:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['kms'] = {};
+AWS.KMS = Service.defineService('kms', ['2014-11-01']);
+Object.defineProperty(apiLoader.services['kms'], '2014-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(1219);
+ model.paginators = (__nccwpck_require__(71402)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.KMS;
+
+
+/***/ }),
+
+/***/ 6726:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lakeformation'] = {};
+AWS.LakeFormation = Service.defineService('lakeformation', ['2017-03-31']);
+Object.defineProperty(apiLoader.services['lakeformation'], '2017-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(82210);
+ model.paginators = (__nccwpck_require__(61488)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LakeFormation;
+
+
+/***/ }),
+
+/***/ 13321:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lambda'] = {};
+AWS.Lambda = Service.defineService('lambda', ['2014-11-11', '2015-03-31']);
+__nccwpck_require__(8452);
+Object.defineProperty(apiLoader.services['lambda'], '2014-11-11', {
+ get: function get() {
+ var model = __nccwpck_require__(91251);
+ model.paginators = (__nccwpck_require__(79210)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['lambda'], '2015-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(29103);
+ model.paginators = (__nccwpck_require__(32057)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(40626)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Lambda;
+
+
+/***/ }),
+
+/***/ 71060:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['launchwizard'] = {};
+AWS.LaunchWizard = Service.defineService('launchwizard', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['launchwizard'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(67108);
+ model.paginators = (__nccwpck_require__(50601)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LaunchWizard;
+
+
+/***/ }),
+
+/***/ 37397:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lexmodelbuildingservice'] = {};
+AWS.LexModelBuildingService = Service.defineService('lexmodelbuildingservice', ['2017-04-19']);
+Object.defineProperty(apiLoader.services['lexmodelbuildingservice'], '2017-04-19', {
+ get: function get() {
+ var model = __nccwpck_require__(96327);
+ model.paginators = (__nccwpck_require__(12348)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LexModelBuildingService;
+
+
+/***/ }),
+
+/***/ 27254:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lexmodelsv2'] = {};
+AWS.LexModelsV2 = Service.defineService('lexmodelsv2', ['2020-08-07']);
+Object.defineProperty(apiLoader.services['lexmodelsv2'], '2020-08-07', {
+ get: function get() {
+ var model = __nccwpck_require__(98781);
+ model.paginators = (__nccwpck_require__(49461)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(55520)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LexModelsV2;
+
+
+/***/ }),
+
+/***/ 62716:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lexruntime'] = {};
+AWS.LexRuntime = Service.defineService('lexruntime', ['2016-11-28']);
+Object.defineProperty(apiLoader.services['lexruntime'], '2016-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(11059);
+ model.paginators = (__nccwpck_require__(97715)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LexRuntime;
+
+
+/***/ }),
+
+/***/ 33855:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lexruntimev2'] = {};
+AWS.LexRuntimeV2 = Service.defineService('lexruntimev2', ['2020-08-07']);
+Object.defineProperty(apiLoader.services['lexruntimev2'], '2020-08-07', {
+ get: function get() {
+ var model = __nccwpck_require__(17908);
+ model.paginators = (__nccwpck_require__(469)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LexRuntimeV2;
+
+
+/***/ }),
+
+/***/ 34693:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['licensemanager'] = {};
+AWS.LicenseManager = Service.defineService('licensemanager', ['2018-08-01']);
+Object.defineProperty(apiLoader.services['licensemanager'], '2018-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(19160);
+ model.paginators = (__nccwpck_require__(77552)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LicenseManager;
+
+
+/***/ }),
+
+/***/ 52687:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['licensemanagerlinuxsubscriptions'] = {};
+AWS.LicenseManagerLinuxSubscriptions = Service.defineService('licensemanagerlinuxsubscriptions', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['licensemanagerlinuxsubscriptions'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(94260);
+ model.paginators = (__nccwpck_require__(60467)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LicenseManagerLinuxSubscriptions;
+
+
+/***/ }),
+
+/***/ 37725:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['licensemanagerusersubscriptions'] = {};
+AWS.LicenseManagerUserSubscriptions = Service.defineService('licensemanagerusersubscriptions', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['licensemanagerusersubscriptions'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(48338);
+ model.paginators = (__nccwpck_require__(84416)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LicenseManagerUserSubscriptions;
+
+
+/***/ }),
+
+/***/ 22718:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lightsail'] = {};
+AWS.Lightsail = Service.defineService('lightsail', ['2016-11-28']);
+Object.defineProperty(apiLoader.services['lightsail'], '2016-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(94784);
+ model.paginators = (__nccwpck_require__(17528)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Lightsail;
+
+
+/***/ }),
+
+/***/ 44594:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['location'] = {};
+AWS.Location = Service.defineService('location', ['2020-11-19']);
+Object.defineProperty(apiLoader.services['location'], '2020-11-19', {
+ get: function get() {
+ var model = __nccwpck_require__(79257);
+ model.paginators = (__nccwpck_require__(53350)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Location;
+
+
+/***/ }),
+
+/***/ 21843:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lookoutequipment'] = {};
+AWS.LookoutEquipment = Service.defineService('lookoutequipment', ['2020-12-15']);
+Object.defineProperty(apiLoader.services['lookoutequipment'], '2020-12-15', {
+ get: function get() {
+ var model = __nccwpck_require__(50969);
+ model.paginators = (__nccwpck_require__(92858)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LookoutEquipment;
+
+
+/***/ }),
+
+/***/ 78708:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lookoutmetrics'] = {};
+AWS.LookoutMetrics = Service.defineService('lookoutmetrics', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['lookoutmetrics'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(37749);
+ model.paginators = (__nccwpck_require__(13366)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LookoutMetrics;
+
+
+/***/ }),
+
+/***/ 65046:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['lookoutvision'] = {};
+AWS.LookoutVision = Service.defineService('lookoutvision', ['2020-11-20']);
+Object.defineProperty(apiLoader.services['lookoutvision'], '2020-11-20', {
+ get: function get() {
+ var model = __nccwpck_require__(15110);
+ model.paginators = (__nccwpck_require__(45644)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.LookoutVision;
+
+
+/***/ }),
+
+/***/ 22482:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['m2'] = {};
+AWS.M2 = Service.defineService('m2', ['2021-04-28']);
+Object.defineProperty(apiLoader.services['m2'], '2021-04-28', {
+ get: function get() {
+ var model = __nccwpck_require__(21363);
+ model.paginators = (__nccwpck_require__(96286)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.M2;
+
+
+/***/ }),
+
+/***/ 82907:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['machinelearning'] = {};
+AWS.MachineLearning = Service.defineService('machinelearning', ['2014-12-12']);
+__nccwpck_require__(19174);
+Object.defineProperty(apiLoader.services['machinelearning'], '2014-12-12', {
+ get: function get() {
+ var model = __nccwpck_require__(4069);
+ model.paginators = (__nccwpck_require__(95535)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(23194)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MachineLearning;
+
+
+/***/ }),
+
+/***/ 57330:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['macie2'] = {};
+AWS.Macie2 = Service.defineService('macie2', ['2020-01-01']);
+Object.defineProperty(apiLoader.services['macie2'], '2020-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(50847);
+ model.paginators = (__nccwpck_require__(25947)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(71131)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Macie2;
+
+
+/***/ }),
+
+/***/ 85143:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['managedblockchain'] = {};
+AWS.ManagedBlockchain = Service.defineService('managedblockchain', ['2018-09-24']);
+Object.defineProperty(apiLoader.services['managedblockchain'], '2018-09-24', {
+ get: function get() {
+ var model = __nccwpck_require__(31229);
+ model.paginators = (__nccwpck_require__(57358)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ManagedBlockchain;
+
+
+/***/ }),
+
+/***/ 51046:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['managedblockchainquery'] = {};
+AWS.ManagedBlockchainQuery = Service.defineService('managedblockchainquery', ['2023-05-04']);
+Object.defineProperty(apiLoader.services['managedblockchainquery'], '2023-05-04', {
+ get: function get() {
+ var model = __nccwpck_require__(53546);
+ model.paginators = (__nccwpck_require__(95929)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(17688)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ManagedBlockchainQuery;
+
+
+/***/ }),
+
+/***/ 50379:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['marketplaceagreement'] = {};
+AWS.MarketplaceAgreement = Service.defineService('marketplaceagreement', ['2020-03-01']);
+Object.defineProperty(apiLoader.services['marketplaceagreement'], '2020-03-01', {
+ get: function get() {
+ var model = __nccwpck_require__(35188);
+ model.paginators = (__nccwpck_require__(99220)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MarketplaceAgreement;
+
+
+/***/ }),
+
+/***/ 2609:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['marketplacecatalog'] = {};
+AWS.MarketplaceCatalog = Service.defineService('marketplacecatalog', ['2018-09-17']);
+Object.defineProperty(apiLoader.services['marketplacecatalog'], '2018-09-17', {
+ get: function get() {
+ var model = __nccwpck_require__(87122);
+ model.paginators = (__nccwpck_require__(30187)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MarketplaceCatalog;
+
+
+/***/ }),
+
+/***/ 4540:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['marketplacecommerceanalytics'] = {};
+AWS.MarketplaceCommerceAnalytics = Service.defineService('marketplacecommerceanalytics', ['2015-07-01']);
+Object.defineProperty(apiLoader.services['marketplacecommerceanalytics'], '2015-07-01', {
+ get: function get() {
+ var model = __nccwpck_require__(96696);
+ model.paginators = (__nccwpck_require__(43265)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MarketplaceCommerceAnalytics;
+
+
+/***/ }),
+
+/***/ 56811:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['marketplacedeployment'] = {};
+AWS.MarketplaceDeployment = Service.defineService('marketplacedeployment', ['2023-01-25']);
+Object.defineProperty(apiLoader.services['marketplacedeployment'], '2023-01-25', {
+ get: function get() {
+ var model = __nccwpck_require__(9966);
+ model.paginators = (__nccwpck_require__(31372)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MarketplaceDeployment;
+
+
+/***/ }),
+
+/***/ 53707:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['marketplaceentitlementservice'] = {};
+AWS.MarketplaceEntitlementService = Service.defineService('marketplaceentitlementservice', ['2017-01-11']);
+Object.defineProperty(apiLoader.services['marketplaceentitlementservice'], '2017-01-11', {
+ get: function get() {
+ var model = __nccwpck_require__(64253);
+ model.paginators = (__nccwpck_require__(67012)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MarketplaceEntitlementService;
+
+
+/***/ }),
+
+/***/ 39297:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['marketplacemetering'] = {};
+AWS.MarketplaceMetering = Service.defineService('marketplacemetering', ['2016-01-14']);
+Object.defineProperty(apiLoader.services['marketplacemetering'], '2016-01-14', {
+ get: function get() {
+ var model = __nccwpck_require__(43027);
+ model.paginators = (__nccwpck_require__(4843)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MarketplaceMetering;
+
+
+/***/ }),
+
+/***/ 67639:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediaconnect'] = {};
+AWS.MediaConnect = Service.defineService('mediaconnect', ['2018-11-14']);
+Object.defineProperty(apiLoader.services['mediaconnect'], '2018-11-14', {
+ get: function get() {
+ var model = __nccwpck_require__(85245);
+ model.paginators = (__nccwpck_require__(68160)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(42876)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaConnect;
+
+
+/***/ }),
+
+/***/ 57220:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediaconvert'] = {};
+AWS.MediaConvert = Service.defineService('mediaconvert', ['2017-08-29']);
+Object.defineProperty(apiLoader.services['mediaconvert'], '2017-08-29', {
+ get: function get() {
+ var model = __nccwpck_require__(41924);
+ model.paginators = (__nccwpck_require__(14179)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaConvert;
+
+
+/***/ }),
+
+/***/ 7509:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['medialive'] = {};
+AWS.MediaLive = Service.defineService('medialive', ['2017-10-14']);
+Object.defineProperty(apiLoader.services['medialive'], '2017-10-14', {
+ get: function get() {
+ var model = __nccwpck_require__(32326);
+ model.paginators = (__nccwpck_require__(84652)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(17259)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaLive;
+
+
+/***/ }),
+
+/***/ 91620:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediapackage'] = {};
+AWS.MediaPackage = Service.defineService('mediapackage', ['2017-10-12']);
+Object.defineProperty(apiLoader.services['mediapackage'], '2017-10-12', {
+ get: function get() {
+ var model = __nccwpck_require__(51261);
+ model.paginators = (__nccwpck_require__(48933)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaPackage;
+
+
+/***/ }),
+
+/***/ 53264:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediapackagev2'] = {};
+AWS.MediaPackageV2 = Service.defineService('mediapackagev2', ['2022-12-25']);
+Object.defineProperty(apiLoader.services['mediapackagev2'], '2022-12-25', {
+ get: function get() {
+ var model = __nccwpck_require__(37594);
+ model.paginators = (__nccwpck_require__(44503)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(68906)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaPackageV2;
+
+
+/***/ }),
+
+/***/ 14962:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediapackagevod'] = {};
+AWS.MediaPackageVod = Service.defineService('mediapackagevod', ['2018-11-07']);
+Object.defineProperty(apiLoader.services['mediapackagevod'], '2018-11-07', {
+ get: function get() {
+ var model = __nccwpck_require__(98877);
+ model.paginators = (__nccwpck_require__(48422)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaPackageVod;
+
+
+/***/ }),
+
+/***/ 83748:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediastore'] = {};
+AWS.MediaStore = Service.defineService('mediastore', ['2017-09-01']);
+Object.defineProperty(apiLoader.services['mediastore'], '2017-09-01', {
+ get: function get() {
+ var model = __nccwpck_require__(68901);
+ model.paginators = (__nccwpck_require__(5848)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaStore;
+
+
+/***/ }),
+
+/***/ 98703:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediastoredata'] = {};
+AWS.MediaStoreData = Service.defineService('mediastoredata', ['2017-09-01']);
+Object.defineProperty(apiLoader.services['mediastoredata'], '2017-09-01', {
+ get: function get() {
+ var model = __nccwpck_require__(55081);
+ model.paginators = (__nccwpck_require__(97948)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaStoreData;
+
+
+/***/ }),
+
+/***/ 99658:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mediatailor'] = {};
+AWS.MediaTailor = Service.defineService('mediatailor', ['2018-04-23']);
+Object.defineProperty(apiLoader.services['mediatailor'], '2018-04-23', {
+ get: function get() {
+ var model = __nccwpck_require__(77511);
+ model.paginators = (__nccwpck_require__(68557)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MediaTailor;
+
+
+/***/ }),
+
+/***/ 79712:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['medicalimaging'] = {};
+AWS.MedicalImaging = Service.defineService('medicalimaging', ['2023-07-19']);
+Object.defineProperty(apiLoader.services['medicalimaging'], '2023-07-19', {
+ get: function get() {
+ var model = __nccwpck_require__(46663);
+ model.paginators = (__nccwpck_require__(63177)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(63171)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MedicalImaging;
+
+
+/***/ }),
+
+/***/ 50782:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['memorydb'] = {};
+AWS.MemoryDB = Service.defineService('memorydb', ['2021-01-01']);
+Object.defineProperty(apiLoader.services['memorydb'], '2021-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(51950);
+ model.paginators = (__nccwpck_require__(93809)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MemoryDB;
+
+
+/***/ }),
+
+/***/ 41339:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mgn'] = {};
+AWS.Mgn = Service.defineService('mgn', ['2020-02-26']);
+Object.defineProperty(apiLoader.services['mgn'], '2020-02-26', {
+ get: function get() {
+ var model = __nccwpck_require__(65811);
+ model.paginators = (__nccwpck_require__(52443)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Mgn;
+
+
+/***/ }),
+
+/***/ 14688:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['migrationhub'] = {};
+AWS.MigrationHub = Service.defineService('migrationhub', ['2017-05-31']);
+Object.defineProperty(apiLoader.services['migrationhub'], '2017-05-31', {
+ get: function get() {
+ var model = __nccwpck_require__(99161);
+ model.paginators = (__nccwpck_require__(27903)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MigrationHub;
+
+
+/***/ }),
+
+/***/ 62658:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['migrationhubconfig'] = {};
+AWS.MigrationHubConfig = Service.defineService('migrationhubconfig', ['2019-06-30']);
+Object.defineProperty(apiLoader.services['migrationhubconfig'], '2019-06-30', {
+ get: function get() {
+ var model = __nccwpck_require__(59734);
+ model.paginators = (__nccwpck_require__(51497)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MigrationHubConfig;
+
+
+/***/ }),
+
+/***/ 66120:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['migrationhuborchestrator'] = {};
+AWS.MigrationHubOrchestrator = Service.defineService('migrationhuborchestrator', ['2021-08-28']);
+Object.defineProperty(apiLoader.services['migrationhuborchestrator'], '2021-08-28', {
+ get: function get() {
+ var model = __nccwpck_require__(73093);
+ model.paginators = (__nccwpck_require__(24233)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(83173)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MigrationHubOrchestrator;
+
+
+/***/ }),
+
+/***/ 2925:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['migrationhubrefactorspaces'] = {};
+AWS.MigrationHubRefactorSpaces = Service.defineService('migrationhubrefactorspaces', ['2021-10-26']);
+Object.defineProperty(apiLoader.services['migrationhubrefactorspaces'], '2021-10-26', {
+ get: function get() {
+ var model = __nccwpck_require__(17110);
+ model.paginators = (__nccwpck_require__(63789)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MigrationHubRefactorSpaces;
+
+
+/***/ }),
+
+/***/ 96533:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['migrationhubstrategy'] = {};
+AWS.MigrationHubStrategy = Service.defineService('migrationhubstrategy', ['2020-02-19']);
+Object.defineProperty(apiLoader.services['migrationhubstrategy'], '2020-02-19', {
+ get: function get() {
+ var model = __nccwpck_require__(64663);
+ model.paginators = (__nccwpck_require__(30896)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MigrationHubStrategy;
+
+
+/***/ }),
+
+/***/ 39782:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mobile'] = {};
+AWS.Mobile = Service.defineService('mobile', ['2017-07-01']);
+Object.defineProperty(apiLoader.services['mobile'], '2017-07-01', {
+ get: function get() {
+ var model = __nccwpck_require__(51691);
+ model.paginators = (__nccwpck_require__(43522)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Mobile;
+
+
+/***/ }),
+
+/***/ 66690:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mobileanalytics'] = {};
+AWS.MobileAnalytics = Service.defineService('mobileanalytics', ['2014-06-05']);
+Object.defineProperty(apiLoader.services['mobileanalytics'], '2014-06-05', {
+ get: function get() {
+ var model = __nccwpck_require__(90338);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MobileAnalytics;
+
+
+/***/ }),
+
+/***/ 23093:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mq'] = {};
+AWS.MQ = Service.defineService('mq', ['2017-11-27']);
+Object.defineProperty(apiLoader.services['mq'], '2017-11-27', {
+ get: function get() {
+ var model = __nccwpck_require__(35102);
+ model.paginators = (__nccwpck_require__(46095)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MQ;
+
+
+/***/ }),
+
+/***/ 79954:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mturk'] = {};
+AWS.MTurk = Service.defineService('mturk', ['2017-01-17']);
+Object.defineProperty(apiLoader.services['mturk'], '2017-01-17', {
+ get: function get() {
+ var model = __nccwpck_require__(73064);
+ model.paginators = (__nccwpck_require__(42409)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MTurk;
+
+
+/***/ }),
+
+/***/ 32712:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['mwaa'] = {};
+AWS.MWAA = Service.defineService('mwaa', ['2020-07-01']);
+Object.defineProperty(apiLoader.services['mwaa'], '2020-07-01', {
+ get: function get() {
+ var model = __nccwpck_require__(56612);
+ model.paginators = (__nccwpck_require__(11793)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.MWAA;
+
+
+/***/ }),
+
+/***/ 30047:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['neptune'] = {};
+AWS.Neptune = Service.defineService('neptune', ['2014-10-31']);
+__nccwpck_require__(73090);
+Object.defineProperty(apiLoader.services['neptune'], '2014-10-31', {
+ get: function get() {
+ var model = __nccwpck_require__(50018);
+ model.paginators = (__nccwpck_require__(62952)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(8127)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Neptune;
+
+
+/***/ }),
+
+/***/ 25737:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['neptunedata'] = {};
+AWS.Neptunedata = Service.defineService('neptunedata', ['2023-08-01']);
+Object.defineProperty(apiLoader.services['neptunedata'], '2023-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(31008);
+ model.paginators = (__nccwpck_require__(2363)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Neptunedata;
+
+
+/***/ }),
+
+/***/ 77598:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['neptunegraph'] = {};
+AWS.NeptuneGraph = Service.defineService('neptunegraph', ['2023-11-29']);
+__nccwpck_require__(71963);
+Object.defineProperty(apiLoader.services['neptunegraph'], '2023-11-29', {
+ get: function get() {
+ var model = __nccwpck_require__(19121);
+ model.paginators = (__nccwpck_require__(85871)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(91832)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.NeptuneGraph;
+
+
+/***/ }),
+
+/***/ 84626:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['networkfirewall'] = {};
+AWS.NetworkFirewall = Service.defineService('networkfirewall', ['2020-11-12']);
+Object.defineProperty(apiLoader.services['networkfirewall'], '2020-11-12', {
+ get: function get() {
+ var model = __nccwpck_require__(63757);
+ model.paginators = (__nccwpck_require__(74798)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.NetworkFirewall;
+
+
+/***/ }),
+
+/***/ 37610:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['networkmanager'] = {};
+AWS.NetworkManager = Service.defineService('networkmanager', ['2019-07-05']);
+Object.defineProperty(apiLoader.services['networkmanager'], '2019-07-05', {
+ get: function get() {
+ var model = __nccwpck_require__(10151);
+ model.paginators = (__nccwpck_require__(68278)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.NetworkManager;
+
+
+/***/ }),
+
+/***/ 77614:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['networkmonitor'] = {};
+AWS.NetworkMonitor = Service.defineService('networkmonitor', ['2023-08-01']);
+Object.defineProperty(apiLoader.services['networkmonitor'], '2023-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(37278);
+ model.paginators = (__nccwpck_require__(76488)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(61551)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.NetworkMonitor;
+
+
+/***/ }),
+
+/***/ 89428:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['nimble'] = {};
+AWS.Nimble = Service.defineService('nimble', ['2020-08-01']);
+Object.defineProperty(apiLoader.services['nimble'], '2020-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(50605);
+ model.paginators = (__nccwpck_require__(65300)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(42486)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Nimble;
+
+
+/***/ }),
+
+/***/ 9319:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['oam'] = {};
+AWS.OAM = Service.defineService('oam', ['2022-06-10']);
+Object.defineProperty(apiLoader.services['oam'], '2022-06-10', {
+ get: function get() {
+ var model = __nccwpck_require__(13463);
+ model.paginators = (__nccwpck_require__(55717)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.OAM;
+
+
+/***/ }),
+
+/***/ 75114:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['omics'] = {};
+AWS.Omics = Service.defineService('omics', ['2022-11-28']);
+Object.defineProperty(apiLoader.services['omics'], '2022-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(74258);
+ model.paginators = (__nccwpck_require__(78278)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(31165)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Omics;
+
+
+/***/ }),
+
+/***/ 60358:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['opensearch'] = {};
+AWS.OpenSearch = Service.defineService('opensearch', ['2021-01-01']);
+Object.defineProperty(apiLoader.services['opensearch'], '2021-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(90583);
+ model.paginators = (__nccwpck_require__(32668)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.OpenSearch;
+
+
+/***/ }),
+
+/***/ 86277:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['opensearchserverless'] = {};
+AWS.OpenSearchServerless = Service.defineService('opensearchserverless', ['2021-11-01']);
+Object.defineProperty(apiLoader.services['opensearchserverless'], '2021-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(61668);
+ model.paginators = (__nccwpck_require__(68785)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.OpenSearchServerless;
+
+
+/***/ }),
+
+/***/ 75691:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['opsworks'] = {};
+AWS.OpsWorks = Service.defineService('opsworks', ['2013-02-18']);
+Object.defineProperty(apiLoader.services['opsworks'], '2013-02-18', {
+ get: function get() {
+ var model = __nccwpck_require__(22805);
+ model.paginators = (__nccwpck_require__(24750)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(74961)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.OpsWorks;
+
+
+/***/ }),
+
+/***/ 80388:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['opsworkscm'] = {};
+AWS.OpsWorksCM = Service.defineService('opsworkscm', ['2016-11-01']);
+Object.defineProperty(apiLoader.services['opsworkscm'], '2016-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(56705);
+ model.paginators = (__nccwpck_require__(49463)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(65003)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.OpsWorksCM;
+
+
+/***/ }),
+
+/***/ 52560:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['organizations'] = {};
+AWS.Organizations = Service.defineService('organizations', ['2016-11-28']);
+Object.defineProperty(apiLoader.services['organizations'], '2016-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(58874);
+ model.paginators = (__nccwpck_require__(43261)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Organizations;
+
+
+/***/ }),
+
+/***/ 98021:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['osis'] = {};
+AWS.OSIS = Service.defineService('osis', ['2022-01-01']);
+Object.defineProperty(apiLoader.services['osis'], '2022-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(51838);
+ model.paginators = (__nccwpck_require__(72472)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.OSIS;
+
+
+/***/ }),
+
+/***/ 27551:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['outposts'] = {};
+AWS.Outposts = Service.defineService('outposts', ['2019-12-03']);
+Object.defineProperty(apiLoader.services['outposts'], '2019-12-03', {
+ get: function get() {
+ var model = __nccwpck_require__(4807);
+ model.paginators = (__nccwpck_require__(3364)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Outposts;
+
+
+/***/ }),
+
+/***/ 20368:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['panorama'] = {};
+AWS.Panorama = Service.defineService('panorama', ['2019-07-24']);
+Object.defineProperty(apiLoader.services['panorama'], '2019-07-24', {
+ get: function get() {
+ var model = __nccwpck_require__(91489);
+ model.paginators = (__nccwpck_require__(77238)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Panorama;
+
+
+/***/ }),
+
+/***/ 11594:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['paymentcryptography'] = {};
+AWS.PaymentCryptography = Service.defineService('paymentcryptography', ['2021-09-14']);
+Object.defineProperty(apiLoader.services['paymentcryptography'], '2021-09-14', {
+ get: function get() {
+ var model = __nccwpck_require__(86072);
+ model.paginators = (__nccwpck_require__(17819)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PaymentCryptography;
+
+
+/***/ }),
+
+/***/ 96559:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['paymentcryptographydata'] = {};
+AWS.PaymentCryptographyData = Service.defineService('paymentcryptographydata', ['2022-02-03']);
+Object.defineProperty(apiLoader.services['paymentcryptographydata'], '2022-02-03', {
+ get: function get() {
+ var model = __nccwpck_require__(68578);
+ model.paginators = (__nccwpck_require__(89757)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PaymentCryptographyData;
+
+
+/***/ }),
+
+/***/ 55959:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pcaconnectorad'] = {};
+AWS.PcaConnectorAd = Service.defineService('pcaconnectorad', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['pcaconnectorad'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(6901);
+ model.paginators = (__nccwpck_require__(33158)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PcaConnectorAd;
+
+
+/***/ }),
+
+/***/ 33696:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['personalize'] = {};
+AWS.Personalize = Service.defineService('personalize', ['2018-05-22']);
+Object.defineProperty(apiLoader.services['personalize'], '2018-05-22', {
+ get: function get() {
+ var model = __nccwpck_require__(70169);
+ model.paginators = (__nccwpck_require__(64441)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Personalize;
+
+
+/***/ }),
+
+/***/ 88170:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['personalizeevents'] = {};
+AWS.PersonalizeEvents = Service.defineService('personalizeevents', ['2018-03-22']);
+Object.defineProperty(apiLoader.services['personalizeevents'], '2018-03-22', {
+ get: function get() {
+ var model = __nccwpck_require__(3606);
+ model.paginators = (__nccwpck_require__(94507)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PersonalizeEvents;
+
+
+/***/ }),
+
+/***/ 66184:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['personalizeruntime'] = {};
+AWS.PersonalizeRuntime = Service.defineService('personalizeruntime', ['2018-05-22']);
+Object.defineProperty(apiLoader.services['personalizeruntime'], '2018-05-22', {
+ get: function get() {
+ var model = __nccwpck_require__(18824);
+ model.paginators = (__nccwpck_require__(8069)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PersonalizeRuntime;
+
+
+/***/ }),
+
+/***/ 15505:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pi'] = {};
+AWS.PI = Service.defineService('pi', ['2018-02-27']);
+Object.defineProperty(apiLoader.services['pi'], '2018-02-27', {
+ get: function get() {
+ var model = __nccwpck_require__(18761);
+ model.paginators = (__nccwpck_require__(84882)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PI;
+
+
+/***/ }),
+
+/***/ 18388:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pinpoint'] = {};
+AWS.Pinpoint = Service.defineService('pinpoint', ['2016-12-01']);
+Object.defineProperty(apiLoader.services['pinpoint'], '2016-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(40605);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Pinpoint;
+
+
+/***/ }),
+
+/***/ 83060:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pinpointemail'] = {};
+AWS.PinpointEmail = Service.defineService('pinpointemail', ['2018-07-26']);
+Object.defineProperty(apiLoader.services['pinpointemail'], '2018-07-26', {
+ get: function get() {
+ var model = __nccwpck_require__(55228);
+ model.paginators = (__nccwpck_require__(45172)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PinpointEmail;
+
+
+/***/ }),
+
+/***/ 46605:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pinpointsmsvoice'] = {};
+AWS.PinpointSMSVoice = Service.defineService('pinpointsmsvoice', ['2018-09-05']);
+Object.defineProperty(apiLoader.services['pinpointsmsvoice'], '2018-09-05', {
+ get: function get() {
+ var model = __nccwpck_require__(98689);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PinpointSMSVoice;
+
+
+/***/ }),
+
+/***/ 478:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pinpointsmsvoicev2'] = {};
+AWS.PinpointSMSVoiceV2 = Service.defineService('pinpointsmsvoicev2', ['2022-03-31']);
+Object.defineProperty(apiLoader.services['pinpointsmsvoicev2'], '2022-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(88319);
+ model.paginators = (__nccwpck_require__(80650)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(6663)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PinpointSMSVoiceV2;
+
+
+/***/ }),
+
+/***/ 14220:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pipes'] = {};
+AWS.Pipes = Service.defineService('pipes', ['2015-10-07']);
+Object.defineProperty(apiLoader.services['pipes'], '2015-10-07', {
+ get: function get() {
+ var model = __nccwpck_require__(40616);
+ model.paginators = (__nccwpck_require__(17710)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Pipes;
+
+
+/***/ }),
+
+/***/ 97332:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['polly'] = {};
+AWS.Polly = Service.defineService('polly', ['2016-06-10']);
+__nccwpck_require__(53199);
+Object.defineProperty(apiLoader.services['polly'], '2016-06-10', {
+ get: function get() {
+ var model = __nccwpck_require__(55078);
+ model.paginators = (__nccwpck_require__(77060)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Polly;
+
+
+/***/ }),
+
+/***/ 92765:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['pricing'] = {};
+AWS.Pricing = Service.defineService('pricing', ['2017-10-15']);
+Object.defineProperty(apiLoader.services['pricing'], '2017-10-15', {
+ get: function get() {
+ var model = __nccwpck_require__(22484);
+ model.paginators = (__nccwpck_require__(60369)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(41996)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Pricing;
+
+
+/***/ }),
+
+/***/ 63088:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['privatenetworks'] = {};
+AWS.PrivateNetworks = Service.defineService('privatenetworks', ['2021-12-03']);
+Object.defineProperty(apiLoader.services['privatenetworks'], '2021-12-03', {
+ get: function get() {
+ var model = __nccwpck_require__(46306);
+ model.paginators = (__nccwpck_require__(42771)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.PrivateNetworks;
+
+
+/***/ }),
+
+/***/ 9275:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['proton'] = {};
+AWS.Proton = Service.defineService('proton', ['2020-07-20']);
+Object.defineProperty(apiLoader.services['proton'], '2020-07-20', {
+ get: function get() {
+ var model = __nccwpck_require__(78577);
+ model.paginators = (__nccwpck_require__(14299)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(99338)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Proton;
+
+
+/***/ }),
+
+/***/ 26842:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['qbusiness'] = {};
+AWS.QBusiness = Service.defineService('qbusiness', ['2023-11-27']);
+Object.defineProperty(apiLoader.services['qbusiness'], '2023-11-27', {
+ get: function get() {
+ var model = __nccwpck_require__(12388);
+ model.paginators = (__nccwpck_require__(51051)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.QBusiness;
+
+
+/***/ }),
+
+/***/ 39094:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['qconnect'] = {};
+AWS.QConnect = Service.defineService('qconnect', ['2020-10-19']);
+Object.defineProperty(apiLoader.services['qconnect'], '2020-10-19', {
+ get: function get() {
+ var model = __nccwpck_require__(72266);
+ model.paginators = (__nccwpck_require__(95945)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.QConnect;
+
+
+/***/ }),
+
+/***/ 71266:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['qldb'] = {};
+AWS.QLDB = Service.defineService('qldb', ['2019-01-02']);
+Object.defineProperty(apiLoader.services['qldb'], '2019-01-02', {
+ get: function get() {
+ var model = __nccwpck_require__(71346);
+ model.paginators = (__nccwpck_require__(34265)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.QLDB;
+
+
+/***/ }),
+
+/***/ 55423:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['qldbsession'] = {};
+AWS.QLDBSession = Service.defineService('qldbsession', ['2019-07-11']);
+Object.defineProperty(apiLoader.services['qldbsession'], '2019-07-11', {
+ get: function get() {
+ var model = __nccwpck_require__(60040);
+ model.paginators = (__nccwpck_require__(61051)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.QLDBSession;
+
+
+/***/ }),
+
+/***/ 29898:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['quicksight'] = {};
+AWS.QuickSight = Service.defineService('quicksight', ['2018-04-01']);
+Object.defineProperty(apiLoader.services['quicksight'], '2018-04-01', {
+ get: function get() {
+ var model = __nccwpck_require__(8419);
+ model.paginators = (__nccwpck_require__(43387)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.QuickSight;
+
+
+/***/ }),
+
+/***/ 94394:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ram'] = {};
+AWS.RAM = Service.defineService('ram', ['2018-01-04']);
+Object.defineProperty(apiLoader.services['ram'], '2018-01-04', {
+ get: function get() {
+ var model = __nccwpck_require__(61375);
+ model.paginators = (__nccwpck_require__(85336)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RAM;
+
+
+/***/ }),
+
+/***/ 70145:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['rbin'] = {};
+AWS.Rbin = Service.defineService('rbin', ['2021-06-15']);
+Object.defineProperty(apiLoader.services['rbin'], '2021-06-15', {
+ get: function get() {
+ var model = __nccwpck_require__(18897);
+ model.paginators = (__nccwpck_require__(57601)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Rbin;
+
+
+/***/ }),
+
+/***/ 71578:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['rds'] = {};
+AWS.RDS = Service.defineService('rds', ['2013-01-10', '2013-02-12', '2013-09-09', '2014-09-01', '2014-09-01*', '2014-10-31']);
+__nccwpck_require__(71928);
+Object.defineProperty(apiLoader.services['rds'], '2013-01-10', {
+ get: function get() {
+ var model = __nccwpck_require__(59989);
+ model.paginators = (__nccwpck_require__(978)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['rds'], '2013-02-12', {
+ get: function get() {
+ var model = __nccwpck_require__(55061);
+ model.paginators = (__nccwpck_require__(39581)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['rds'], '2013-09-09', {
+ get: function get() {
+ var model = __nccwpck_require__(36331);
+ model.paginators = (__nccwpck_require__(14485)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(36851)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['rds'], '2014-09-01', {
+ get: function get() {
+ var model = __nccwpck_require__(19226);
+ model.paginators = (__nccwpck_require__(49863)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+Object.defineProperty(apiLoader.services['rds'], '2014-10-31', {
+ get: function get() {
+ var model = __nccwpck_require__(91916);
+ model.paginators = (__nccwpck_require__(85082)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(20371)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RDS;
+
+
+/***/ }),
+
+/***/ 30147:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['rdsdataservice'] = {};
+AWS.RDSDataService = Service.defineService('rdsdataservice', ['2018-08-01']);
+__nccwpck_require__(64070);
+Object.defineProperty(apiLoader.services['rdsdataservice'], '2018-08-01', {
+ get: function get() {
+ var model = __nccwpck_require__(13559);
+ model.paginators = (__nccwpck_require__(41160)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RDSDataService;
+
+
+/***/ }),
+
+/***/ 84853:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['redshift'] = {};
+AWS.Redshift = Service.defineService('redshift', ['2012-12-01']);
+Object.defineProperty(apiLoader.services['redshift'], '2012-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(24827);
+ model.paginators = (__nccwpck_require__(88012)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(79011)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Redshift;
+
+
+/***/ }),
+
+/***/ 203:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['redshiftdata'] = {};
+AWS.RedshiftData = Service.defineService('redshiftdata', ['2019-12-20']);
+Object.defineProperty(apiLoader.services['redshiftdata'], '2019-12-20', {
+ get: function get() {
+ var model = __nccwpck_require__(85203);
+ model.paginators = (__nccwpck_require__(27797)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RedshiftData;
+
+
+/***/ }),
+
+/***/ 29987:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['redshiftserverless'] = {};
+AWS.RedshiftServerless = Service.defineService('redshiftserverless', ['2021-04-21']);
+Object.defineProperty(apiLoader.services['redshiftserverless'], '2021-04-21', {
+ get: function get() {
+ var model = __nccwpck_require__(95705);
+ model.paginators = (__nccwpck_require__(892)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RedshiftServerless;
+
+
+/***/ }),
+
+/***/ 65470:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['rekognition'] = {};
+AWS.Rekognition = Service.defineService('rekognition', ['2016-06-27']);
+Object.defineProperty(apiLoader.services['rekognition'], '2016-06-27', {
+ get: function get() {
+ var model = __nccwpck_require__(66442);
+ model.paginators = (__nccwpck_require__(37753)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(78910)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Rekognition;
+
+
+/***/ }),
+
+/***/ 21154:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['repostspace'] = {};
+AWS.Repostspace = Service.defineService('repostspace', ['2022-05-13']);
+Object.defineProperty(apiLoader.services['repostspace'], '2022-05-13', {
+ get: function get() {
+ var model = __nccwpck_require__(59766);
+ model.paginators = (__nccwpck_require__(10997)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Repostspace;
+
+
+/***/ }),
+
+/***/ 21173:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['resiliencehub'] = {};
+AWS.Resiliencehub = Service.defineService('resiliencehub', ['2020-04-30']);
+Object.defineProperty(apiLoader.services['resiliencehub'], '2020-04-30', {
+ get: function get() {
+ var model = __nccwpck_require__(3885);
+ model.paginators = (__nccwpck_require__(38750)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Resiliencehub;
+
+
+/***/ }),
+
+/***/ 74071:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['resourceexplorer2'] = {};
+AWS.ResourceExplorer2 = Service.defineService('resourceexplorer2', ['2022-07-28']);
+Object.defineProperty(apiLoader.services['resourceexplorer2'], '2022-07-28', {
+ get: function get() {
+ var model = __nccwpck_require__(26515);
+ model.paginators = (__nccwpck_require__(8580)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ResourceExplorer2;
+
+
+/***/ }),
+
+/***/ 58756:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['resourcegroups'] = {};
+AWS.ResourceGroups = Service.defineService('resourcegroups', ['2017-11-27']);
+Object.defineProperty(apiLoader.services['resourcegroups'], '2017-11-27', {
+ get: function get() {
+ var model = __nccwpck_require__(73621);
+ model.paginators = (__nccwpck_require__(24085)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ResourceGroups;
+
+
+/***/ }),
+
+/***/ 7385:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['resourcegroupstaggingapi'] = {};
+AWS.ResourceGroupsTaggingAPI = Service.defineService('resourcegroupstaggingapi', ['2017-01-26']);
+Object.defineProperty(apiLoader.services['resourcegroupstaggingapi'], '2017-01-26', {
+ get: function get() {
+ var model = __nccwpck_require__(71720);
+ model.paginators = (__nccwpck_require__(36635)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ResourceGroupsTaggingAPI;
+
+
+/***/ }),
+
+/***/ 18068:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['robomaker'] = {};
+AWS.RoboMaker = Service.defineService('robomaker', ['2018-06-29']);
+Object.defineProperty(apiLoader.services['robomaker'], '2018-06-29', {
+ get: function get() {
+ var model = __nccwpck_require__(6904);
+ model.paginators = (__nccwpck_require__(43495)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RoboMaker;
+
+
+/***/ }),
+
+/***/ 83604:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['rolesanywhere'] = {};
+AWS.RolesAnywhere = Service.defineService('rolesanywhere', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['rolesanywhere'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(80801);
+ model.paginators = (__nccwpck_require__(65955)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RolesAnywhere;
+
+
+/***/ }),
+
+/***/ 44968:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['route53'] = {};
+AWS.Route53 = Service.defineService('route53', ['2013-04-01']);
+__nccwpck_require__(69627);
+Object.defineProperty(apiLoader.services['route53'], '2013-04-01', {
+ get: function get() {
+ var model = __nccwpck_require__(20959);
+ model.paginators = (__nccwpck_require__(46456)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(28347)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Route53;
+
+
+/***/ }),
+
+/***/ 51994:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['route53domains'] = {};
+AWS.Route53Domains = Service.defineService('route53domains', ['2014-05-15']);
+Object.defineProperty(apiLoader.services['route53domains'], '2014-05-15', {
+ get: function get() {
+ var model = __nccwpck_require__(57598);
+ model.paginators = (__nccwpck_require__(52189)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Route53Domains;
+
+
+/***/ }),
+
+/***/ 35738:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['route53recoverycluster'] = {};
+AWS.Route53RecoveryCluster = Service.defineService('route53recoverycluster', ['2019-12-02']);
+Object.defineProperty(apiLoader.services['route53recoverycluster'], '2019-12-02', {
+ get: function get() {
+ var model = __nccwpck_require__(73989);
+ model.paginators = (__nccwpck_require__(69118)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Route53RecoveryCluster;
+
+
+/***/ }),
+
+/***/ 16063:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['route53recoverycontrolconfig'] = {};
+AWS.Route53RecoveryControlConfig = Service.defineService('route53recoverycontrolconfig', ['2020-11-02']);
+Object.defineProperty(apiLoader.services['route53recoverycontrolconfig'], '2020-11-02', {
+ get: function get() {
+ var model = __nccwpck_require__(38334);
+ model.paginators = (__nccwpck_require__(19728)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(57184)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Route53RecoveryControlConfig;
+
+
+/***/ }),
+
+/***/ 79106:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['route53recoveryreadiness'] = {};
+AWS.Route53RecoveryReadiness = Service.defineService('route53recoveryreadiness', ['2019-12-02']);
+Object.defineProperty(apiLoader.services['route53recoveryreadiness'], '2019-12-02', {
+ get: function get() {
+ var model = __nccwpck_require__(40156);
+ model.paginators = (__nccwpck_require__(96969)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Route53RecoveryReadiness;
+
+
+/***/ }),
+
+/***/ 25894:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['route53resolver'] = {};
+AWS.Route53Resolver = Service.defineService('route53resolver', ['2018-04-01']);
+Object.defineProperty(apiLoader.services['route53resolver'], '2018-04-01', {
+ get: function get() {
+ var model = __nccwpck_require__(89229);
+ model.paginators = (__nccwpck_require__(95050)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Route53Resolver;
+
+
+/***/ }),
+
+/***/ 53237:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['rum'] = {};
+AWS.RUM = Service.defineService('rum', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['rum'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(84126);
+ model.paginators = (__nccwpck_require__(79432)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.RUM;
+
+
+/***/ }),
+
+/***/ 83256:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['s3'] = {};
+AWS.S3 = Service.defineService('s3', ['2006-03-01']);
+__nccwpck_require__(26543);
+Object.defineProperty(apiLoader.services['s3'], '2006-03-01', {
+ get: function get() {
+ var model = __nccwpck_require__(1129);
+ model.paginators = (__nccwpck_require__(7265)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(74048)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.S3;
+
+
+/***/ }),
+
+/***/ 99817:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['s3control'] = {};
+AWS.S3Control = Service.defineService('s3control', ['2018-08-20']);
+__nccwpck_require__(71207);
+Object.defineProperty(apiLoader.services['s3control'], '2018-08-20', {
+ get: function get() {
+ var model = __nccwpck_require__(1201);
+ model.paginators = (__nccwpck_require__(55527)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.S3Control;
+
+
+/***/ }),
+
+/***/ 90493:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['s3outposts'] = {};
+AWS.S3Outposts = Service.defineService('s3outposts', ['2017-07-25']);
+Object.defineProperty(apiLoader.services['s3outposts'], '2017-07-25', {
+ get: function get() {
+ var model = __nccwpck_require__(79971);
+ model.paginators = (__nccwpck_require__(32505)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.S3Outposts;
+
+
+/***/ }),
+
+/***/ 77657:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sagemaker'] = {};
+AWS.SageMaker = Service.defineService('sagemaker', ['2017-07-24']);
+Object.defineProperty(apiLoader.services['sagemaker'], '2017-07-24', {
+ get: function get() {
+ var model = __nccwpck_require__(71132);
+ model.paginators = (__nccwpck_require__(69254)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(80824)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SageMaker;
+
+
+/***/ }),
+
+/***/ 38966:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sagemakeredge'] = {};
+AWS.SagemakerEdge = Service.defineService('sagemakeredge', ['2020-09-23']);
+Object.defineProperty(apiLoader.services['sagemakeredge'], '2020-09-23', {
+ get: function get() {
+ var model = __nccwpck_require__(97093);
+ model.paginators = (__nccwpck_require__(71636)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SagemakerEdge;
+
+
+/***/ }),
+
+/***/ 67644:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sagemakerfeaturestoreruntime'] = {};
+AWS.SageMakerFeatureStoreRuntime = Service.defineService('sagemakerfeaturestoreruntime', ['2020-07-01']);
+Object.defineProperty(apiLoader.services['sagemakerfeaturestoreruntime'], '2020-07-01', {
+ get: function get() {
+ var model = __nccwpck_require__(75546);
+ model.paginators = (__nccwpck_require__(12151)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SageMakerFeatureStoreRuntime;
+
+
+/***/ }),
+
+/***/ 4707:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sagemakergeospatial'] = {};
+AWS.SageMakerGeospatial = Service.defineService('sagemakergeospatial', ['2020-05-27']);
+Object.defineProperty(apiLoader.services['sagemakergeospatial'], '2020-05-27', {
+ get: function get() {
+ var model = __nccwpck_require__(26059);
+ model.paginators = (__nccwpck_require__(99606)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SageMakerGeospatial;
+
+
+/***/ }),
+
+/***/ 28199:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sagemakermetrics'] = {};
+AWS.SageMakerMetrics = Service.defineService('sagemakermetrics', ['2022-09-30']);
+Object.defineProperty(apiLoader.services['sagemakermetrics'], '2022-09-30', {
+ get: function get() {
+ var model = __nccwpck_require__(89834);
+ model.paginators = (__nccwpck_require__(80107)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SageMakerMetrics;
+
+
+/***/ }),
+
+/***/ 85044:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sagemakerruntime'] = {};
+AWS.SageMakerRuntime = Service.defineService('sagemakerruntime', ['2017-05-13']);
+Object.defineProperty(apiLoader.services['sagemakerruntime'], '2017-05-13', {
+ get: function get() {
+ var model = __nccwpck_require__(27032);
+ model.paginators = (__nccwpck_require__(7570)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SageMakerRuntime;
+
+
+/***/ }),
+
+/***/ 62825:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['savingsplans'] = {};
+AWS.SavingsPlans = Service.defineService('savingsplans', ['2019-06-28']);
+Object.defineProperty(apiLoader.services['savingsplans'], '2019-06-28', {
+ get: function get() {
+ var model = __nccwpck_require__(46879);
+ model.paginators = (__nccwpck_require__(78998)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SavingsPlans;
+
+
+/***/ }),
+
+/***/ 94840:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['scheduler'] = {};
+AWS.Scheduler = Service.defineService('scheduler', ['2021-06-30']);
+Object.defineProperty(apiLoader.services['scheduler'], '2021-06-30', {
+ get: function get() {
+ var model = __nccwpck_require__(36876);
+ model.paginators = (__nccwpck_require__(54594)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Scheduler;
+
+
+/***/ }),
+
+/***/ 55713:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['schemas'] = {};
+AWS.Schemas = Service.defineService('schemas', ['2019-12-02']);
+Object.defineProperty(apiLoader.services['schemas'], '2019-12-02', {
+ get: function get() {
+ var model = __nccwpck_require__(76626);
+ model.paginators = (__nccwpck_require__(34227)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(62213)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Schemas;
+
+
+/***/ }),
+
+/***/ 85131:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['secretsmanager'] = {};
+AWS.SecretsManager = Service.defineService('secretsmanager', ['2017-10-17']);
+Object.defineProperty(apiLoader.services['secretsmanager'], '2017-10-17', {
+ get: function get() {
+ var model = __nccwpck_require__(89470);
+ model.paginators = (__nccwpck_require__(25613)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SecretsManager;
+
+
+/***/ }),
+
+/***/ 21550:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['securityhub'] = {};
+AWS.SecurityHub = Service.defineService('securityhub', ['2018-10-26']);
+Object.defineProperty(apiLoader.services['securityhub'], '2018-10-26', {
+ get: function get() {
+ var model = __nccwpck_require__(29208);
+ model.paginators = (__nccwpck_require__(85595)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SecurityHub;
+
+
+/***/ }),
+
+/***/ 84296:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['securitylake'] = {};
+AWS.SecurityLake = Service.defineService('securitylake', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['securitylake'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(26935);
+ model.paginators = (__nccwpck_require__(42170)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SecurityLake;
+
+
+/***/ }),
+
+/***/ 62402:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['serverlessapplicationrepository'] = {};
+AWS.ServerlessApplicationRepository = Service.defineService('serverlessapplicationrepository', ['2017-09-08']);
+Object.defineProperty(apiLoader.services['serverlessapplicationrepository'], '2017-09-08', {
+ get: function get() {
+ var model = __nccwpck_require__(68422);
+ model.paginators = (__nccwpck_require__(34864)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ServerlessApplicationRepository;
+
+
+/***/ }),
+
+/***/ 822:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['servicecatalog'] = {};
+AWS.ServiceCatalog = Service.defineService('servicecatalog', ['2015-12-10']);
+Object.defineProperty(apiLoader.services['servicecatalog'], '2015-12-10', {
+ get: function get() {
+ var model = __nccwpck_require__(95500);
+ model.paginators = (__nccwpck_require__(21687)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ServiceCatalog;
+
+
+/***/ }),
+
+/***/ 79068:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['servicecatalogappregistry'] = {};
+AWS.ServiceCatalogAppRegistry = Service.defineService('servicecatalogappregistry', ['2020-06-24']);
+Object.defineProperty(apiLoader.services['servicecatalogappregistry'], '2020-06-24', {
+ get: function get() {
+ var model = __nccwpck_require__(25697);
+ model.paginators = (__nccwpck_require__(28893)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ServiceCatalogAppRegistry;
+
+
+/***/ }),
+
+/***/ 91569:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['servicediscovery'] = {};
+AWS.ServiceDiscovery = Service.defineService('servicediscovery', ['2017-03-14']);
+Object.defineProperty(apiLoader.services['servicediscovery'], '2017-03-14', {
+ get: function get() {
+ var model = __nccwpck_require__(22361);
+ model.paginators = (__nccwpck_require__(37798)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ServiceDiscovery;
+
+
+/***/ }),
+
+/***/ 57800:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['servicequotas'] = {};
+AWS.ServiceQuotas = Service.defineService('servicequotas', ['2019-06-24']);
+Object.defineProperty(apiLoader.services['servicequotas'], '2019-06-24', {
+ get: function get() {
+ var model = __nccwpck_require__(68850);
+ model.paginators = (__nccwpck_require__(63074)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.ServiceQuotas;
+
+
+/***/ }),
+
+/***/ 46816:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ses'] = {};
+AWS.SES = Service.defineService('ses', ['2010-12-01']);
+Object.defineProperty(apiLoader.services['ses'], '2010-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(56693);
+ model.paginators = (__nccwpck_require__(9399)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(98229)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SES;
+
+
+/***/ }),
+
+/***/ 20142:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sesv2'] = {};
+AWS.SESV2 = Service.defineService('sesv2', ['2019-09-27']);
+Object.defineProperty(apiLoader.services['sesv2'], '2019-09-27', {
+ get: function get() {
+ var model = __nccwpck_require__(69754);
+ model.paginators = (__nccwpck_require__(72405)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SESV2;
+
+
+/***/ }),
+
+/***/ 20271:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['shield'] = {};
+AWS.Shield = Service.defineService('shield', ['2016-06-02']);
+Object.defineProperty(apiLoader.services['shield'], '2016-06-02', {
+ get: function get() {
+ var model = __nccwpck_require__(47061);
+ model.paginators = (__nccwpck_require__(54893)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Shield;
+
+
+/***/ }),
+
+/***/ 71596:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['signer'] = {};
+AWS.Signer = Service.defineService('signer', ['2017-08-25']);
+Object.defineProperty(apiLoader.services['signer'], '2017-08-25', {
+ get: function get() {
+ var model = __nccwpck_require__(97116);
+ model.paginators = (__nccwpck_require__(81027)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(48215)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Signer;
+
+
+/***/ }),
+
+/***/ 10120:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['simpledb'] = {};
+AWS.SimpleDB = Service.defineService('simpledb', ['2009-04-15']);
+Object.defineProperty(apiLoader.services['simpledb'], '2009-04-15', {
+ get: function get() {
+ var model = __nccwpck_require__(45164);
+ model.paginators = (__nccwpck_require__(55255)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SimpleDB;
+
+
+/***/ }),
+
+/***/ 37090:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['simspaceweaver'] = {};
+AWS.SimSpaceWeaver = Service.defineService('simspaceweaver', ['2022-10-28']);
+Object.defineProperty(apiLoader.services['simspaceweaver'], '2022-10-28', {
+ get: function get() {
+ var model = __nccwpck_require__(92139);
+ model.paginators = (__nccwpck_require__(31849)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SimSpaceWeaver;
+
+
+/***/ }),
+
+/***/ 57719:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sms'] = {};
+AWS.SMS = Service.defineService('sms', ['2016-10-24']);
+Object.defineProperty(apiLoader.services['sms'], '2016-10-24', {
+ get: function get() {
+ var model = __nccwpck_require__(26534);
+ model.paginators = (__nccwpck_require__(98730)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SMS;
+
+
+/***/ }),
+
+/***/ 510:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['snowball'] = {};
+AWS.Snowball = Service.defineService('snowball', ['2016-06-30']);
+Object.defineProperty(apiLoader.services['snowball'], '2016-06-30', {
+ get: function get() {
+ var model = __nccwpck_require__(96822);
+ model.paginators = (__nccwpck_require__(45219)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Snowball;
+
+
+/***/ }),
+
+/***/ 64655:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['snowdevicemanagement'] = {};
+AWS.SnowDeviceManagement = Service.defineService('snowdevicemanagement', ['2021-08-04']);
+Object.defineProperty(apiLoader.services['snowdevicemanagement'], '2021-08-04', {
+ get: function get() {
+ var model = __nccwpck_require__(97413);
+ model.paginators = (__nccwpck_require__(70424)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SnowDeviceManagement;
+
+
+/***/ }),
+
+/***/ 28581:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sns'] = {};
+AWS.SNS = Service.defineService('sns', ['2010-03-31']);
+Object.defineProperty(apiLoader.services['sns'], '2010-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(64387);
+ model.paginators = (__nccwpck_require__(58054)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SNS;
+
+
+/***/ }),
+
+/***/ 63172:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sqs'] = {};
+AWS.SQS = Service.defineService('sqs', ['2012-11-05']);
+__nccwpck_require__(94571);
+Object.defineProperty(apiLoader.services['sqs'], '2012-11-05', {
+ get: function get() {
+ var model = __nccwpck_require__(53974);
+ model.paginators = (__nccwpck_require__(17249)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SQS;
+
+
+/***/ }),
+
+/***/ 83380:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ssm'] = {};
+AWS.SSM = Service.defineService('ssm', ['2014-11-06']);
+Object.defineProperty(apiLoader.services['ssm'], '2014-11-06', {
+ get: function get() {
+ var model = __nccwpck_require__(44596);
+ model.paginators = (__nccwpck_require__(5135)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(98523)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SSM;
+
+
+/***/ }),
+
+/***/ 12577:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ssmcontacts'] = {};
+AWS.SSMContacts = Service.defineService('ssmcontacts', ['2021-05-03']);
+Object.defineProperty(apiLoader.services['ssmcontacts'], '2021-05-03', {
+ get: function get() {
+ var model = __nccwpck_require__(74831);
+ model.paginators = (__nccwpck_require__(63938)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SSMContacts;
+
+
+/***/ }),
+
+/***/ 20590:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ssmincidents'] = {};
+AWS.SSMIncidents = Service.defineService('ssmincidents', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['ssmincidents'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(18719);
+ model.paginators = (__nccwpck_require__(4502)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(97755)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SSMIncidents;
+
+
+/***/ }),
+
+/***/ 44552:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ssmsap'] = {};
+AWS.SsmSap = Service.defineService('ssmsap', ['2018-05-10']);
+Object.defineProperty(apiLoader.services['ssmsap'], '2018-05-10', {
+ get: function get() {
+ var model = __nccwpck_require__(49218);
+ model.paginators = (__nccwpck_require__(94718)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SsmSap;
+
+
+/***/ }),
+
+/***/ 71096:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sso'] = {};
+AWS.SSO = Service.defineService('sso', ['2019-06-10']);
+Object.defineProperty(apiLoader.services['sso'], '2019-06-10', {
+ get: function get() {
+ var model = __nccwpck_require__(8027);
+ model.paginators = (__nccwpck_require__(36610)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SSO;
+
+
+/***/ }),
+
+/***/ 66644:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ssoadmin'] = {};
+AWS.SSOAdmin = Service.defineService('ssoadmin', ['2020-07-20']);
+Object.defineProperty(apiLoader.services['ssoadmin'], '2020-07-20', {
+ get: function get() {
+ var model = __nccwpck_require__(7239);
+ model.paginators = (__nccwpck_require__(49402)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SSOAdmin;
+
+
+/***/ }),
+
+/***/ 49870:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['ssooidc'] = {};
+AWS.SSOOIDC = Service.defineService('ssooidc', ['2019-06-10']);
+Object.defineProperty(apiLoader.services['ssooidc'], '2019-06-10', {
+ get: function get() {
+ var model = __nccwpck_require__(62343);
+ model.paginators = (__nccwpck_require__(50215)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SSOOIDC;
+
+
+/***/ }),
+
+/***/ 8136:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['stepfunctions'] = {};
+AWS.StepFunctions = Service.defineService('stepfunctions', ['2016-11-23']);
+Object.defineProperty(apiLoader.services['stepfunctions'], '2016-11-23', {
+ get: function get() {
+ var model = __nccwpck_require__(85693);
+ model.paginators = (__nccwpck_require__(24818)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.StepFunctions;
+
+
+/***/ }),
+
+/***/ 89190:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['storagegateway'] = {};
+AWS.StorageGateway = Service.defineService('storagegateway', ['2013-06-30']);
+Object.defineProperty(apiLoader.services['storagegateway'], '2013-06-30', {
+ get: function get() {
+ var model = __nccwpck_require__(11069);
+ model.paginators = (__nccwpck_require__(33999)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.StorageGateway;
+
+
+/***/ }),
+
+/***/ 57513:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['sts'] = {};
+AWS.STS = Service.defineService('sts', ['2011-06-15']);
+__nccwpck_require__(91055);
+Object.defineProperty(apiLoader.services['sts'], '2011-06-15', {
+ get: function get() {
+ var model = __nccwpck_require__(80753);
+ model.paginators = (__nccwpck_require__(93639)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.STS;
+
+
+/***/ }),
+
+/***/ 39674:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['supplychain'] = {};
+AWS.SupplyChain = Service.defineService('supplychain', ['2024-01-01']);
+Object.defineProperty(apiLoader.services['supplychain'], '2024-01-01', {
+ get: function get() {
+ var model = __nccwpck_require__(78323);
+ model.paginators = (__nccwpck_require__(25916)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SupplyChain;
+
+
+/***/ }),
+
+/***/ 1099:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['support'] = {};
+AWS.Support = Service.defineService('support', ['2013-04-15']);
+Object.defineProperty(apiLoader.services['support'], '2013-04-15', {
+ get: function get() {
+ var model = __nccwpck_require__(20767);
+ model.paginators = (__nccwpck_require__(62491)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Support;
+
+
+/***/ }),
+
+/***/ 51288:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['supportapp'] = {};
+AWS.SupportApp = Service.defineService('supportapp', ['2021-08-20']);
+Object.defineProperty(apiLoader.services['supportapp'], '2021-08-20', {
+ get: function get() {
+ var model = __nccwpck_require__(94851);
+ model.paginators = (__nccwpck_require__(60546)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SupportApp;
+
+
+/***/ }),
+
+/***/ 32327:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['swf'] = {};
+AWS.SWF = Service.defineService('swf', ['2012-01-25']);
+__nccwpck_require__(31987);
+Object.defineProperty(apiLoader.services['swf'], '2012-01-25', {
+ get: function get() {
+ var model = __nccwpck_require__(11144);
+ model.paginators = (__nccwpck_require__(48039)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.SWF;
+
+
+/***/ }),
+
+/***/ 25910:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['synthetics'] = {};
+AWS.Synthetics = Service.defineService('synthetics', ['2017-10-11']);
+Object.defineProperty(apiLoader.services['synthetics'], '2017-10-11', {
+ get: function get() {
+ var model = __nccwpck_require__(78752);
+ model.paginators = (__nccwpck_require__(61615)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Synthetics;
+
+
+/***/ }),
+
+/***/ 58523:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['textract'] = {};
+AWS.Textract = Service.defineService('textract', ['2018-06-27']);
+Object.defineProperty(apiLoader.services['textract'], '2018-06-27', {
+ get: function get() {
+ var model = __nccwpck_require__(49753);
+ model.paginators = (__nccwpck_require__(16270)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Textract;
+
+
+/***/ }),
+
+/***/ 24529:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['timestreamquery'] = {};
+AWS.TimestreamQuery = Service.defineService('timestreamquery', ['2018-11-01']);
+Object.defineProperty(apiLoader.services['timestreamquery'], '2018-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(70457);
+ model.paginators = (__nccwpck_require__(97217)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.TimestreamQuery;
+
+
+/***/ }),
+
+/***/ 1573:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['timestreamwrite'] = {};
+AWS.TimestreamWrite = Service.defineService('timestreamwrite', ['2018-11-01']);
+Object.defineProperty(apiLoader.services['timestreamwrite'], '2018-11-01', {
+ get: function get() {
+ var model = __nccwpck_require__(8368);
+ model.paginators = (__nccwpck_require__(89653)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.TimestreamWrite;
+
+
+/***/ }),
+
+/***/ 15300:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['tnb'] = {};
+AWS.Tnb = Service.defineService('tnb', ['2008-10-21']);
+Object.defineProperty(apiLoader.services['tnb'], '2008-10-21', {
+ get: function get() {
+ var model = __nccwpck_require__(1433);
+ model.paginators = (__nccwpck_require__(55995)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Tnb;
+
+
+/***/ }),
+
+/***/ 75811:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['transcribeservice'] = {};
+AWS.TranscribeService = Service.defineService('transcribeservice', ['2017-10-26']);
+Object.defineProperty(apiLoader.services['transcribeservice'], '2017-10-26', {
+ get: function get() {
+ var model = __nccwpck_require__(47294);
+ model.paginators = (__nccwpck_require__(25395)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.TranscribeService;
+
+
+/***/ }),
+
+/***/ 51585:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['transfer'] = {};
+AWS.Transfer = Service.defineService('transfer', ['2018-11-05']);
+Object.defineProperty(apiLoader.services['transfer'], '2018-11-05', {
+ get: function get() {
+ var model = __nccwpck_require__(93419);
+ model.paginators = (__nccwpck_require__(65803)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(45405)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Transfer;
+
+
+/***/ }),
+
+/***/ 72544:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['translate'] = {};
+AWS.Translate = Service.defineService('translate', ['2017-07-01']);
+Object.defineProperty(apiLoader.services['translate'], '2017-07-01', {
+ get: function get() {
+ var model = __nccwpck_require__(61084);
+ model.paginators = (__nccwpck_require__(40304)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Translate;
+
+
+/***/ }),
+
+/***/ 4992:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['trustedadvisor'] = {};
+AWS.TrustedAdvisor = Service.defineService('trustedadvisor', ['2022-09-15']);
+Object.defineProperty(apiLoader.services['trustedadvisor'], '2022-09-15', {
+ get: function get() {
+ var model = __nccwpck_require__(3889);
+ model.paginators = (__nccwpck_require__(89124)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.TrustedAdvisor;
+
+
+/***/ }),
+
+/***/ 35604:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['verifiedpermissions'] = {};
+AWS.VerifiedPermissions = Service.defineService('verifiedpermissions', ['2021-12-01']);
+Object.defineProperty(apiLoader.services['verifiedpermissions'], '2021-12-01', {
+ get: function get() {
+ var model = __nccwpck_require__(31407);
+ model.paginators = (__nccwpck_require__(85997)/* .pagination */ .o);
+ model.waiters = (__nccwpck_require__(14021)/* .waiters */ .V);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.VerifiedPermissions;
+
+
+/***/ }),
+
+/***/ 28747:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['voiceid'] = {};
+AWS.VoiceID = Service.defineService('voiceid', ['2021-09-27']);
+Object.defineProperty(apiLoader.services['voiceid'], '2021-09-27', {
+ get: function get() {
+ var model = __nccwpck_require__(9375);
+ model.paginators = (__nccwpck_require__(59512)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.VoiceID;
+
+
+/***/ }),
+
+/***/ 78952:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['vpclattice'] = {};
+AWS.VPCLattice = Service.defineService('vpclattice', ['2022-11-30']);
+Object.defineProperty(apiLoader.services['vpclattice'], '2022-11-30', {
+ get: function get() {
+ var model = __nccwpck_require__(49656);
+ model.paginators = (__nccwpck_require__(98717)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.VPCLattice;
+
+
+/***/ }),
+
+/***/ 72742:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['waf'] = {};
+AWS.WAF = Service.defineService('waf', ['2015-08-24']);
+Object.defineProperty(apiLoader.services['waf'], '2015-08-24', {
+ get: function get() {
+ var model = __nccwpck_require__(37925);
+ model.paginators = (__nccwpck_require__(65794)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WAF;
+
+
+/***/ }),
+
+/***/ 23153:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['wafregional'] = {};
+AWS.WAFRegional = Service.defineService('wafregional', ['2016-11-28']);
+Object.defineProperty(apiLoader.services['wafregional'], '2016-11-28', {
+ get: function get() {
+ var model = __nccwpck_require__(20014);
+ model.paginators = (__nccwpck_require__(66829)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WAFRegional;
+
+
+/***/ }),
+
+/***/ 50353:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['wafv2'] = {};
+AWS.WAFV2 = Service.defineService('wafv2', ['2019-07-29']);
+Object.defineProperty(apiLoader.services['wafv2'], '2019-07-29', {
+ get: function get() {
+ var model = __nccwpck_require__(51872);
+ model.paginators = (__nccwpck_require__(33900)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WAFV2;
+
+
+/***/ }),
+
+/***/ 86263:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['wellarchitected'] = {};
+AWS.WellArchitected = Service.defineService('wellarchitected', ['2020-03-31']);
+Object.defineProperty(apiLoader.services['wellarchitected'], '2020-03-31', {
+ get: function get() {
+ var model = __nccwpck_require__(19249);
+ model.paginators = (__nccwpck_require__(54693)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WellArchitected;
+
+
+/***/ }),
+
+/***/ 85266:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['wisdom'] = {};
+AWS.Wisdom = Service.defineService('wisdom', ['2020-10-19']);
+Object.defineProperty(apiLoader.services['wisdom'], '2020-10-19', {
+ get: function get() {
+ var model = __nccwpck_require__(94385);
+ model.paginators = (__nccwpck_require__(54852)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.Wisdom;
+
+
+/***/ }),
+
+/***/ 38835:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['workdocs'] = {};
+AWS.WorkDocs = Service.defineService('workdocs', ['2016-05-01']);
+Object.defineProperty(apiLoader.services['workdocs'], '2016-05-01', {
+ get: function get() {
+ var model = __nccwpck_require__(41052);
+ model.paginators = (__nccwpck_require__(94768)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkDocs;
+
+
+/***/ }),
+
+/***/ 48579:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['worklink'] = {};
+AWS.WorkLink = Service.defineService('worklink', ['2018-09-25']);
+Object.defineProperty(apiLoader.services['worklink'], '2018-09-25', {
+ get: function get() {
+ var model = __nccwpck_require__(37178);
+ model.paginators = (__nccwpck_require__(74073)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkLink;
+
+
+/***/ }),
+
+/***/ 38374:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['workmail'] = {};
+AWS.WorkMail = Service.defineService('workmail', ['2017-10-01']);
+Object.defineProperty(apiLoader.services['workmail'], '2017-10-01', {
+ get: function get() {
+ var model = __nccwpck_require__(93150);
+ model.paginators = (__nccwpck_require__(5158)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkMail;
+
+
+/***/ }),
+
+/***/ 67025:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['workmailmessageflow'] = {};
+AWS.WorkMailMessageFlow = Service.defineService('workmailmessageflow', ['2019-05-01']);
+Object.defineProperty(apiLoader.services['workmailmessageflow'], '2019-05-01', {
+ get: function get() {
+ var model = __nccwpck_require__(57733);
+ model.paginators = (__nccwpck_require__(85646)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkMailMessageFlow;
+
+
+/***/ }),
+
+/***/ 25513:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['workspaces'] = {};
+AWS.WorkSpaces = Service.defineService('workspaces', ['2015-04-08']);
+Object.defineProperty(apiLoader.services['workspaces'], '2015-04-08', {
+ get: function get() {
+ var model = __nccwpck_require__(97805);
+ model.paginators = (__nccwpck_require__(27769)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkSpaces;
+
+
+/***/ }),
+
+/***/ 22033:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['workspacesthinclient'] = {};
+AWS.WorkSpacesThinClient = Service.defineService('workspacesthinclient', ['2023-08-22']);
+Object.defineProperty(apiLoader.services['workspacesthinclient'], '2023-08-22', {
+ get: function get() {
+ var model = __nccwpck_require__(24229);
+ model.paginators = (__nccwpck_require__(52084)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkSpacesThinClient;
+
+
+/***/ }),
+
+/***/ 94124:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['workspacesweb'] = {};
+AWS.WorkSpacesWeb = Service.defineService('workspacesweb', ['2020-07-08']);
+Object.defineProperty(apiLoader.services['workspacesweb'], '2020-07-08', {
+ get: function get() {
+ var model = __nccwpck_require__(47128);
+ model.paginators = (__nccwpck_require__(43497)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.WorkSpacesWeb;
+
+
+/***/ }),
+
+/***/ 41548:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+var AWS = __nccwpck_require__(28437);
+var Service = AWS.Service;
+var apiLoader = AWS.apiLoader;
+
+apiLoader.services['xray'] = {};
+AWS.XRay = Service.defineService('xray', ['2016-04-12']);
+Object.defineProperty(apiLoader.services['xray'], '2016-04-12', {
+ get: function get() {
+ var model = __nccwpck_require__(97355);
+ model.paginators = (__nccwpck_require__(97949)/* .pagination */ .o);
+ return model;
+ },
+ enumerable: true,
+ configurable: true
+});
+
+module.exports = AWS.XRay;
+
+
+/***/ }),
+
+/***/ 52793:
+/***/ ((module) => {
+
+function apiLoader(svc, version) {
+ if (!apiLoader.services.hasOwnProperty(svc)) {
+ throw new Error('InvalidService: Failed to load api for ' + svc);
+ }
+ return apiLoader.services[svc][version];
+}
+
+/**
+ * @api private
+ *
+ * This member of AWS.apiLoader is private, but changing it will necessitate a
+ * change to ../scripts/services-table-generator.ts
+ */
+apiLoader.services = {};
+
+/**
+ * @api private
+ */
+module.exports = apiLoader;
+
+
+/***/ }),
+
+/***/ 71786:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+__nccwpck_require__(73639);
+
+var AWS = __nccwpck_require__(28437);
+
+// Load all service classes
+__nccwpck_require__(26296);
+
+/**
+ * @api private
+ */
+module.exports = AWS;
+
+
+/***/ }),
+
+/***/ 93260:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437),
+ url = AWS.util.url,
+ crypto = AWS.util.crypto.lib,
+ base64Encode = AWS.util.base64.encode,
+ inherit = AWS.util.inherit;
+
+var queryEncode = function (string) {
+ var replacements = {
+ '+': '-',
+ '=': '_',
+ '/': '~'
+ };
+ return string.replace(/[\+=\/]/g, function (match) {
+ return replacements[match];
+ });
+};
+
+var signPolicy = function (policy, privateKey) {
+ var sign = crypto.createSign('RSA-SHA1');
+ sign.write(policy);
+ return queryEncode(sign.sign(privateKey, 'base64'));
+};
+
+var signWithCannedPolicy = function (url, expires, keyPairId, privateKey) {
+ var policy = JSON.stringify({
+ Statement: [
+ {
+ Resource: url,
+ Condition: { DateLessThan: { 'AWS:EpochTime': expires } }
+ }
+ ]
+ });
+
+ return {
+ Expires: expires,
+ 'Key-Pair-Id': keyPairId,
+ Signature: signPolicy(policy.toString(), privateKey)
+ };
+};
+
+var signWithCustomPolicy = function (policy, keyPairId, privateKey) {
+ policy = policy.replace(/\s/mg, '');
+
+ return {
+ Policy: queryEncode(base64Encode(policy)),
+ 'Key-Pair-Id': keyPairId,
+ Signature: signPolicy(policy, privateKey)
+ };
+};
+
+var determineScheme = function (url) {
+ var parts = url.split('://');
+ if (parts.length < 2) {
+ throw new Error('Invalid URL.');
+ }
+
+ return parts[0].replace('*', '');
+};
+
+var getRtmpUrl = function (rtmpUrl) {
+ var parsed = url.parse(rtmpUrl);
+ return parsed.path.replace(/^\//, '') + (parsed.hash || '');
+};
+
+var getResource = function (url) {
+ switch (determineScheme(url)) {
+ case 'http':
+ case 'https':
+ return url;
+ case 'rtmp':
+ return getRtmpUrl(url);
+ default:
+ throw new Error('Invalid URI scheme. Scheme must be one of'
+ + ' http, https, or rtmp');
+ }
+};
+
+var handleError = function (err, callback) {
+ if (!callback || typeof callback !== 'function') {
+ throw err;
+ }
+
+ callback(err);
+};
+
+var handleSuccess = function (result, callback) {
+ if (!callback || typeof callback !== 'function') {
+ return result;
+ }
+
+ callback(null, result);
+};
+
+AWS.CloudFront.Signer = inherit({
+ /**
+ * A signer object can be used to generate signed URLs and cookies for granting
+ * access to content on restricted CloudFront distributions.
+ *
+ * @see http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html
+ *
+ * @param keyPairId [String] (Required) The ID of the CloudFront key pair
+ * being used.
+ * @param privateKey [String] (Required) A private key in RSA format.
+ */
+ constructor: function Signer(keyPairId, privateKey) {
+ if (keyPairId === void 0 || privateKey === void 0) {
+ throw new Error('A key pair ID and private key are required');
+ }
+
+ this.keyPairId = keyPairId;
+ this.privateKey = privateKey;
+ },
+
+ /**
+ * Create a signed Amazon CloudFront Cookie.
+ *
+ * @param options [Object] The options to create a signed cookie.
+ * @option options url [String] The URL to which the signature will grant
+ * access. Required unless you pass in a full
+ * policy.
+ * @option options expires [Number] A Unix UTC timestamp indicating when the
+ * signature should expire. Required unless you
+ * pass in a full policy.
+ * @option options policy [String] A CloudFront JSON policy. Required unless
+ * you pass in a url and an expiry time.
+ *
+ * @param cb [Function] if a callback is provided, this function will
+ * pass the hash as the second parameter (after the error parameter) to
+ * the callback function.
+ *
+ * @return [Object] if called synchronously (with no callback), returns the
+ * signed cookie parameters.
+ * @return [null] nothing is returned if a callback is provided.
+ */
+ getSignedCookie: function (options, cb) {
+ var signatureHash = 'policy' in options
+ ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)
+ : signWithCannedPolicy(options.url, options.expires, this.keyPairId, this.privateKey);
+
+ var cookieHash = {};
+ for (var key in signatureHash) {
+ if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {
+ cookieHash['CloudFront-' + key] = signatureHash[key];
+ }
+ }
+
+ return handleSuccess(cookieHash, cb);
+ },
+
+ /**
+ * Create a signed Amazon CloudFront URL.
+ *
+ * Keep in mind that URLs meant for use in media/flash players may have
+ * different requirements for URL formats (e.g. some require that the
+ * extension be removed, some require the file name to be prefixed
+ * - mp4:, some require you to add "/cfx/st" into your URL).
+ *
+ * @param options [Object] The options to create a signed URL.
+ * @option options url [String] The URL to which the signature will grant
+ * access. Any query params included with
+ * the URL should be encoded. Required.
+ * @option options expires [Number] A Unix UTC timestamp indicating when the
+ * signature should expire. Required unless you
+ * pass in a full policy.
+ * @option options policy [String] A CloudFront JSON policy. Required unless
+ * you pass in a url and an expiry time.
+ *
+ * @param cb [Function] if a callback is provided, this function will
+ * pass the URL as the second parameter (after the error parameter) to
+ * the callback function.
+ *
+ * @return [String] if called synchronously (with no callback), returns the
+ * signed URL.
+ * @return [null] nothing is returned if a callback is provided.
+ */
+ getSignedUrl: function (options, cb) {
+ try {
+ var resource = getResource(options.url);
+ } catch (err) {
+ return handleError(err, cb);
+ }
+
+ var parsedUrl = url.parse(options.url, true),
+ signatureHash = Object.prototype.hasOwnProperty.call(options, 'policy')
+ ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)
+ : signWithCannedPolicy(resource, options.expires, this.keyPairId, this.privateKey);
+
+ parsedUrl.search = null;
+ for (var key in signatureHash) {
+ if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {
+ parsedUrl.query[key] = signatureHash[key];
+ }
+ }
+
+ try {
+ var signedUrl = determineScheme(options.url) === 'rtmp'
+ ? getRtmpUrl(url.format(parsedUrl))
+ : url.format(parsedUrl);
+ } catch (err) {
+ return handleError(err, cb);
+ }
+
+ return handleSuccess(signedUrl, cb);
+ }
+});
+
+/**
+ * @api private
+ */
+module.exports = AWS.CloudFront.Signer;
+
+
+/***/ }),
+
+/***/ 38110:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+__nccwpck_require__(53819);
+__nccwpck_require__(36965);
+var PromisesDependency;
+
+/**
+ * The main configuration class used by all service objects to set
+ * the region, credentials, and other options for requests.
+ *
+ * By default, credentials and region settings are left unconfigured.
+ * This should be configured by the application before using any
+ * AWS service APIs.
+ *
+ * In order to set global configuration options, properties should
+ * be assigned to the global {AWS.config} object.
+ *
+ * @see AWS.config
+ *
+ * @!group General Configuration Options
+ *
+ * @!attribute credentials
+ * @return [AWS.Credentials] the AWS credentials to sign requests with.
+ *
+ * @!attribute region
+ * @example Set the global region setting to us-west-2
+ * AWS.config.update({region: 'us-west-2'});
+ * @return [AWS.Credentials] The region to send service requests to.
+ * @see http://docs.amazonwebservices.com/general/latest/gr/rande.html
+ * A list of available endpoints for each AWS service
+ *
+ * @!attribute maxRetries
+ * @return [Integer] the maximum amount of retries to perform for a
+ * service request. By default this value is calculated by the specific
+ * service object that the request is being made to.
+ *
+ * @!attribute maxRedirects
+ * @return [Integer] the maximum amount of redirects to follow for a
+ * service request. Defaults to 10.
+ *
+ * @!attribute paramValidation
+ * @return [Boolean|map] whether input parameters should be validated against
+ * the operation description before sending the request. Defaults to true.
+ * Pass a map to enable any of the following specific validation features:
+ *
+ * * **min** [Boolean] — Validates that a value meets the min
+ * constraint. This is enabled by default when paramValidation is set
+ * to `true`.
+ * * **max** [Boolean] — Validates that a value meets the max
+ * constraint.
+ * * **pattern** [Boolean] — Validates that a string value matches a
+ * regular expression.
+ * * **enum** [Boolean] — Validates that a string value matches one
+ * of the allowable enum values.
+ *
+ * @!attribute computeChecksums
+ * @return [Boolean] whether to compute checksums for payload bodies when
+ * the service accepts it (currently supported in S3 and SQS only).
+ *
+ * @!attribute convertResponseTypes
+ * @return [Boolean] whether types are converted when parsing response data.
+ * Currently only supported for JSON based services. Turning this off may
+ * improve performance on large response payloads. Defaults to `true`.
+ *
+ * @!attribute correctClockSkew
+ * @return [Boolean] whether to apply a clock skew correction and retry
+ * requests that fail because of an skewed client clock. Defaults to
+ * `false`.
+ *
+ * @!attribute sslEnabled
+ * @return [Boolean] whether SSL is enabled for requests
+ *
+ * @!attribute s3ForcePathStyle
+ * @return [Boolean] whether to force path style URLs for S3 objects
+ *
+ * @!attribute s3BucketEndpoint
+ * @note Setting this configuration option requires an `endpoint` to be
+ * provided explicitly to the service constructor.
+ * @return [Boolean] whether the provided endpoint addresses an individual
+ * bucket (false if it addresses the root API endpoint).
+ *
+ * @!attribute s3DisableBodySigning
+ * @return [Boolean] whether to disable S3 body signing when using signature version `v4`.
+ * Body signing can only be disabled when using https. Defaults to `true`.
+ *
+ * @!attribute s3UsEast1RegionalEndpoint
+ * @return ['legacy'|'regional'] when region is set to 'us-east-1', whether to send s3
+ * request to global endpoints or 'us-east-1' regional endpoints. This config is only
+ * applicable to S3 client;
+ * Defaults to 'legacy'
+ * @!attribute s3UseArnRegion
+ * @return [Boolean] whether to override the request region with the region inferred
+ * from requested resource's ARN. Only available for S3 buckets
+ * Defaults to `true`
+ *
+ * @!attribute useAccelerateEndpoint
+ * @note This configuration option is only compatible with S3 while accessing
+ * dns-compatible buckets.
+ * @return [Boolean] Whether to use the Accelerate endpoint with the S3 service.
+ * Defaults to `false`.
+ *
+ * @!attribute retryDelayOptions
+ * @example Set the base retry delay for all services to 300 ms
+ * AWS.config.update({retryDelayOptions: {base: 300}});
+ * // Delays with maxRetries = 3: 300, 600, 1200
+ * @example Set a custom backoff function to provide delay values on retries
+ * AWS.config.update({retryDelayOptions: {customBackoff: function(retryCount, err) {
+ * // returns delay in ms
+ * }}});
+ * @return [map] A set of options to configure the retry delay on retryable errors.
+ * Currently supported options are:
+ *
+ * * **base** [Integer] — The base number of milliseconds to use in the
+ * exponential backoff for operation retries. Defaults to 100 ms for all services except
+ * DynamoDB, where it defaults to 50ms.
+ *
+ * * **customBackoff ** [function] — A custom function that accepts a
+ * retry count and error and returns the amount of time to delay in
+ * milliseconds. If the result is a non-zero negative value, no further
+ * retry attempts will be made. The `base` option will be ignored if this
+ * option is supplied. The function is only called for retryable errors.
+ *
+ * @!attribute httpOptions
+ * @return [map] A set of options to pass to the low-level HTTP request.
+ * Currently supported options are:
+ *
+ * * **proxy** [String] — the URL to proxy requests through
+ * * **agent** [http.Agent, https.Agent] — the Agent object to perform
+ * HTTP requests with. Used for connection pooling. Note that for
+ * SSL connections, a special Agent object is used in order to enable
+ * peer certificate verification. This feature is only supported in the
+ * Node.js environment.
+ * * **connectTimeout** [Integer] — Sets the socket to timeout after
+ * failing to establish a connection with the server after
+ * `connectTimeout` milliseconds. This timeout has no effect once a socket
+ * connection has been established.
+ * * **timeout** [Integer] — The number of milliseconds a request can
+ * take before automatically being terminated.
+ * Defaults to two minutes (120000).
+ * * **xhrAsync** [Boolean] — Whether the SDK will send asynchronous
+ * HTTP requests. Used in the browser environment only. Set to false to
+ * send requests synchronously. Defaults to true (async on).
+ * * **xhrWithCredentials** [Boolean] — Sets the "withCredentials"
+ * property of an XMLHttpRequest object. Used in the browser environment
+ * only. Defaults to false.
+ * @!attribute logger
+ * @return [#write,#log] an object that responds to .write() (like a stream)
+ * or .log() (like the console object) in order to log information about
+ * requests
+ *
+ * @!attribute systemClockOffset
+ * @return [Number] an offset value in milliseconds to apply to all signing
+ * times. Use this to compensate for clock skew when your system may be
+ * out of sync with the service time. Note that this configuration option
+ * can only be applied to the global `AWS.config` object and cannot be
+ * overridden in service-specific configuration. Defaults to 0 milliseconds.
+ *
+ * @!attribute signatureVersion
+ * @return [String] the signature version to sign requests with (overriding
+ * the API configuration). Possible values are: 'v2', 'v3', 'v4'.
+ *
+ * @!attribute signatureCache
+ * @return [Boolean] whether the signature to sign requests with (overriding
+ * the API configuration) is cached. Only applies to the signature version 'v4'.
+ * Defaults to `true`.
+ *
+ * @!attribute endpointDiscoveryEnabled
+ * @return [Boolean|undefined] whether to call operations with endpoints
+ * given by service dynamically. Setting this config to `true` will enable
+ * endpoint discovery for all applicable operations. Setting it to `false`
+ * will explicitly disable endpoint discovery even though operations that
+ * require endpoint discovery will presumably fail. Leaving it to
+ * `undefined` means SDK only do endpoint discovery when it's required.
+ * Defaults to `undefined`
+ *
+ * @!attribute endpointCacheSize
+ * @return [Number] the size of the global cache storing endpoints from endpoint
+ * discovery operations. Once endpoint cache is created, updating this setting
+ * cannot change existing cache size.
+ * Defaults to 1000
+ *
+ * @!attribute hostPrefixEnabled
+ * @return [Boolean] whether to marshal request parameters to the prefix of
+ * hostname. Defaults to `true`.
+ *
+ * @!attribute stsRegionalEndpoints
+ * @return ['legacy'|'regional'] whether to send sts request to global endpoints or
+ * regional endpoints.
+ * Defaults to 'legacy'.
+ *
+ * @!attribute useFipsEndpoint
+ * @return [Boolean] Enables FIPS compatible endpoints. Defaults to `false`.
+ *
+ * @!attribute useDualstackEndpoint
+ * @return [Boolean] Enables IPv6 dualstack endpoint. Defaults to `false`.
+ */
+AWS.Config = AWS.util.inherit({
+ /**
+ * @!endgroup
+ */
+
+ /**
+ * Creates a new configuration object. This is the object that passes
+ * option data along to service requests, including credentials, security,
+ * region information, and some service specific settings.
+ *
+ * @example Creating a new configuration object with credentials and region
+ * var config = new AWS.Config({
+ * accessKeyId: 'AKID', secretAccessKey: 'SECRET', region: 'us-west-2'
+ * });
+ * @option options accessKeyId [String] your AWS access key ID.
+ * @option options secretAccessKey [String] your AWS secret access key.
+ * @option options sessionToken [AWS.Credentials] the optional AWS
+ * session token to sign requests with.
+ * @option options credentials [AWS.Credentials] the AWS credentials
+ * to sign requests with. You can either specify this object, or
+ * specify the accessKeyId and secretAccessKey options directly.
+ * @option options credentialProvider [AWS.CredentialProviderChain] the
+ * provider chain used to resolve credentials if no static `credentials`
+ * property is set.
+ * @option options region [String] the region to send service requests to.
+ * See {region} for more information.
+ * @option options maxRetries [Integer] the maximum amount of retries to
+ * attempt with a request. See {maxRetries} for more information.
+ * @option options maxRedirects [Integer] the maximum amount of redirects to
+ * follow with a request. See {maxRedirects} for more information.
+ * @option options sslEnabled [Boolean] whether to enable SSL for
+ * requests.
+ * @option options paramValidation [Boolean|map] whether input parameters
+ * should be validated against the operation description before sending
+ * the request. Defaults to true. Pass a map to enable any of the
+ * following specific validation features:
+ *
+ * * **min** [Boolean] — Validates that a value meets the min
+ * constraint. This is enabled by default when paramValidation is set
+ * to `true`.
+ * * **max** [Boolean] — Validates that a value meets the max
+ * constraint.
+ * * **pattern** [Boolean] — Validates that a string value matches a
+ * regular expression.
+ * * **enum** [Boolean] — Validates that a string value matches one
+ * of the allowable enum values.
+ * @option options computeChecksums [Boolean] whether to compute checksums
+ * for payload bodies when the service accepts it (currently supported
+ * in S3 only)
+ * @option options convertResponseTypes [Boolean] whether types are converted
+ * when parsing response data. Currently only supported for JSON based
+ * services. Turning this off may improve performance on large response
+ * payloads. Defaults to `true`.
+ * @option options correctClockSkew [Boolean] whether to apply a clock skew
+ * correction and retry requests that fail because of an skewed client
+ * clock. Defaults to `false`.
+ * @option options s3ForcePathStyle [Boolean] whether to force path
+ * style URLs for S3 objects.
+ * @option options s3BucketEndpoint [Boolean] whether the provided endpoint
+ * addresses an individual bucket (false if it addresses the root API
+ * endpoint). Note that setting this configuration option requires an
+ * `endpoint` to be provided explicitly to the service constructor.
+ * @option options s3DisableBodySigning [Boolean] whether S3 body signing
+ * should be disabled when using signature version `v4`. Body signing
+ * can only be disabled when using https. Defaults to `true`.
+ * @option options s3UsEast1RegionalEndpoint ['legacy'|'regional'] when region
+ * is set to 'us-east-1', whether to send s3 request to global endpoints or
+ * 'us-east-1' regional endpoints. This config is only applicable to S3 client.
+ * Defaults to `legacy`
+ * @option options s3UseArnRegion [Boolean] whether to override the request region
+ * with the region inferred from requested resource's ARN. Only available for S3 buckets
+ * Defaults to `true`
+ *
+ * @option options retryDelayOptions [map] A set of options to configure
+ * the retry delay on retryable errors. Currently supported options are:
+ *
+ * * **base** [Integer] — The base number of milliseconds to use in the
+ * exponential backoff for operation retries. Defaults to 100 ms for all
+ * services except DynamoDB, where it defaults to 50ms.
+ * * **customBackoff ** [function] — A custom function that accepts a
+ * retry count and error and returns the amount of time to delay in
+ * milliseconds. If the result is a non-zero negative value, no further
+ * retry attempts will be made. The `base` option will be ignored if this
+ * option is supplied. The function is only called for retryable errors.
+ * @option options httpOptions [map] A set of options to pass to the low-level
+ * HTTP request. Currently supported options are:
+ *
+ * * **proxy** [String] — the URL to proxy requests through
+ * * **agent** [http.Agent, https.Agent] — the Agent object to perform
+ * HTTP requests with. Used for connection pooling. Defaults to the global
+ * agent (`http.globalAgent`) for non-SSL connections. Note that for
+ * SSL connections, a special Agent object is used in order to enable
+ * peer certificate verification. This feature is only available in the
+ * Node.js environment.
+ * * **connectTimeout** [Integer] — Sets the socket to timeout after
+ * failing to establish a connection with the server after
+ * `connectTimeout` milliseconds. This timeout has no effect once a socket
+ * connection has been established.
+ * * **timeout** [Integer] — Sets the socket to timeout after timeout
+ * milliseconds of inactivity on the socket. Defaults to two minutes
+ * (120000).
+ * * **xhrAsync** [Boolean] — Whether the SDK will send asynchronous
+ * HTTP requests. Used in the browser environment only. Set to false to
+ * send requests synchronously. Defaults to true (async on).
+ * * **xhrWithCredentials** [Boolean] — Sets the "withCredentials"
+ * property of an XMLHttpRequest object. Used in the browser environment
+ * only. Defaults to false.
+ * @option options apiVersion [String, Date] a String in YYYY-MM-DD format
+ * (or a date) that represents the latest possible API version that can be
+ * used in all services (unless overridden by `apiVersions`). Specify
+ * 'latest' to use the latest possible version.
+ * @option options apiVersions [map] a map of service
+ * identifiers (the lowercase service class name) with the API version to
+ * use when instantiating a service. Specify 'latest' for each individual
+ * that can use the latest available version.
+ * @option options logger [#write,#log] an object that responds to .write()
+ * (like a stream) or .log() (like the console object) in order to log
+ * information about requests
+ * @option options systemClockOffset [Number] an offset value in milliseconds
+ * to apply to all signing times. Use this to compensate for clock skew
+ * when your system may be out of sync with the service time. Note that
+ * this configuration option can only be applied to the global `AWS.config`
+ * object and cannot be overridden in service-specific configuration.
+ * Defaults to 0 milliseconds.
+ * @option options signatureVersion [String] the signature version to sign
+ * requests with (overriding the API configuration). Possible values are:
+ * 'v2', 'v3', 'v4'.
+ * @option options signatureCache [Boolean] whether the signature to sign
+ * requests with (overriding the API configuration) is cached. Only applies
+ * to the signature version 'v4'. Defaults to `true`.
+ * @option options dynamoDbCrc32 [Boolean] whether to validate the CRC32
+ * checksum of HTTP response bodies returned by DynamoDB. Default: `true`.
+ * @option options useAccelerateEndpoint [Boolean] Whether to use the
+ * S3 Transfer Acceleration endpoint with the S3 service. Default: `false`.
+ * @option options clientSideMonitoring [Boolean] whether to collect and
+ * publish this client's performance metrics of all its API requests.
+ * @option options endpointDiscoveryEnabled [Boolean|undefined] whether to
+ * call operations with endpoints given by service dynamically. Setting this
+ * config to `true` will enable endpoint discovery for all applicable operations.
+ * Setting it to `false` will explicitly disable endpoint discovery even though
+ * operations that require endpoint discovery will presumably fail. Leaving it
+ * to `undefined` means SDK will only do endpoint discovery when it's required.
+ * Defaults to `undefined`
+ * @option options endpointCacheSize [Number] the size of the global cache storing
+ * endpoints from endpoint discovery operations. Once endpoint cache is created,
+ * updating this setting cannot change existing cache size.
+ * Defaults to 1000
+ * @option options hostPrefixEnabled [Boolean] whether to marshal request
+ * parameters to the prefix of hostname.
+ * Defaults to `true`.
+ * @option options stsRegionalEndpoints ['legacy'|'regional'] whether to send sts request
+ * to global endpoints or regional endpoints.
+ * Defaults to 'legacy'.
+ * @option options useFipsEndpoint [Boolean] Enables FIPS compatible endpoints.
+ * Defaults to `false`.
+ * @option options useDualstackEndpoint [Boolean] Enables IPv6 dualstack endpoint.
+ * Defaults to `false`.
+ */
+ constructor: function Config(options) {
+ if (options === undefined) options = {};
+ options = this.extractCredentials(options);
+
+ AWS.util.each.call(this, this.keys, function (key, value) {
+ this.set(key, options[key], value);
+ });
+ },
+
+ /**
+ * @!group Managing Credentials
+ */
+
+ /**
+ * Loads credentials from the configuration object. This is used internally
+ * by the SDK to ensure that refreshable {Credentials} objects are properly
+ * refreshed and loaded when sending a request. If you want to ensure that
+ * your credentials are loaded prior to a request, you can use this method
+ * directly to provide accurate credential data stored in the object.
+ *
+ * @note If you configure the SDK with static or environment credentials,
+ * the credential data should already be present in {credentials} attribute.
+ * This method is primarily necessary to load credentials from asynchronous
+ * sources, or sources that can refresh credentials periodically.
+ * @example Getting your access key
+ * AWS.config.getCredentials(function(err) {
+ * if (err) console.log(err.stack); // credentials not loaded
+ * else console.log("Access Key:", AWS.config.credentials.accessKeyId);
+ * })
+ * @callback callback function(err)
+ * Called when the {credentials} have been properly set on the configuration
+ * object.
+ *
+ * @param err [Error] if this is set, credentials were not successfully
+ * loaded and this error provides information why.
+ * @see credentials
+ * @see Credentials
+ */
+ getCredentials: function getCredentials(callback) {
+ var self = this;
+
+ function finish(err) {
+ callback(err, err ? null : self.credentials);
+ }
+
+ function credError(msg, err) {
+ return new AWS.util.error(err || new Error(), {
+ code: 'CredentialsError',
+ message: msg,
+ name: 'CredentialsError'
+ });
+ }
+
+ function getAsyncCredentials() {
+ self.credentials.get(function(err) {
+ if (err) {
+ var msg = 'Could not load credentials from ' +
+ self.credentials.constructor.name;
+ err = credError(msg, err);
+ }
+ finish(err);
+ });
+ }
+
+ function getStaticCredentials() {
+ var err = null;
+ if (!self.credentials.accessKeyId || !self.credentials.secretAccessKey) {
+ err = credError('Missing credentials');
+ }
+ finish(err);
+ }
+
+ if (self.credentials) {
+ if (typeof self.credentials.get === 'function') {
+ getAsyncCredentials();
+ } else { // static credentials
+ getStaticCredentials();
+ }
+ } else if (self.credentialProvider) {
+ self.credentialProvider.resolve(function(err, creds) {
+ if (err) {
+ err = credError('Could not load credentials from any providers', err);
+ }
+ self.credentials = creds;
+ finish(err);
+ });
+ } else {
+ finish(credError('No credentials to load'));
+ }
+ },
+
+ /**
+ * Loads token from the configuration object. This is used internally
+ * by the SDK to ensure that refreshable {Token} objects are properly
+ * refreshed and loaded when sending a request. If you want to ensure that
+ * your token is loaded prior to a request, you can use this method
+ * directly to provide accurate token data stored in the object.
+ *
+ * @note If you configure the SDK with static token, the token data should
+ * already be present in {token} attribute. This method is primarily necessary
+ * to load token from asynchronous sources, or sources that can refresh
+ * token periodically.
+ * @example Getting your access token
+ * AWS.config.getToken(function(err) {
+ * if (err) console.log(err.stack); // token not loaded
+ * else console.log("Token:", AWS.config.token.token);
+ * })
+ * @callback callback function(err)
+ * Called when the {token} have been properly set on the configuration object.
+ *
+ * @param err [Error] if this is set, token was not successfully loaded and
+ * this error provides information why.
+ * @see token
+ */
+ getToken: function getToken(callback) {
+ var self = this;
+
+ function finish(err) {
+ callback(err, err ? null : self.token);
+ }
+
+ function tokenError(msg, err) {
+ return new AWS.util.error(err || new Error(), {
+ code: 'TokenError',
+ message: msg,
+ name: 'TokenError'
+ });
+ }
+
+ function getAsyncToken() {
+ self.token.get(function(err) {
+ if (err) {
+ var msg = 'Could not load token from ' +
+ self.token.constructor.name;
+ err = tokenError(msg, err);
+ }
+ finish(err);
+ });
+ }
+
+ function getStaticToken() {
+ var err = null;
+ if (!self.token.token) {
+ err = tokenError('Missing token');
+ }
+ finish(err);
+ }
+
+ if (self.token) {
+ if (typeof self.token.get === 'function') {
+ getAsyncToken();
+ } else { // static token
+ getStaticToken();
+ }
+ } else if (self.tokenProvider) {
+ self.tokenProvider.resolve(function(err, token) {
+ if (err) {
+ err = tokenError('Could not load token from any providers', err);
+ }
+ self.token = token;
+ finish(err);
+ });
+ } else {
+ finish(tokenError('No token to load'));
+ }
+ },
+
+ /**
+ * @!group Loading and Setting Configuration Options
+ */
+
+ /**
+ * @overload update(options, allowUnknownKeys = false)
+ * Updates the current configuration object with new options.
+ *
+ * @example Update maxRetries property of a configuration object
+ * config.update({maxRetries: 10});
+ * @param [Object] options a map of option keys and values.
+ * @param [Boolean] allowUnknownKeys whether unknown keys can be set on
+ * the configuration object. Defaults to `false`.
+ * @see constructor
+ */
+ update: function update(options, allowUnknownKeys) {
+ allowUnknownKeys = allowUnknownKeys || false;
+ options = this.extractCredentials(options);
+ AWS.util.each.call(this, options, function (key, value) {
+ if (allowUnknownKeys || Object.prototype.hasOwnProperty.call(this.keys, key) ||
+ AWS.Service.hasService(key)) {
+ this.set(key, value);
+ }
+ });
+ },
+
+ /**
+ * Loads configuration data from a JSON file into this config object.
+ * @note Loading configuration will reset all existing configuration
+ * on the object.
+ * @!macro nobrowser
+ * @param path [String] the path relative to your process's current
+ * working directory to load configuration from.
+ * @return [AWS.Config] the same configuration object
+ */
+ loadFromPath: function loadFromPath(path) {
+ this.clear();
+
+ var options = JSON.parse(AWS.util.readFileSync(path));
+ var fileSystemCreds = new AWS.FileSystemCredentials(path);
+ var chain = new AWS.CredentialProviderChain();
+ chain.providers.unshift(fileSystemCreds);
+ chain.resolve(function (err, creds) {
+ if (err) throw err;
+ else options.credentials = creds;
+ });
+
+ this.constructor(options);
+
+ return this;
+ },
+
+ /**
+ * Clears configuration data on this object
+ *
+ * @api private
+ */
+ clear: function clear() {
+ /*jshint forin:false */
+ AWS.util.each.call(this, this.keys, function (key) {
+ delete this[key];
+ });
+
+ // reset credential provider
+ this.set('credentials', undefined);
+ this.set('credentialProvider', undefined);
+ },
+
+ /**
+ * Sets a property on the configuration object, allowing for a
+ * default value
+ * @api private
+ */
+ set: function set(property, value, defaultValue) {
+ if (value === undefined) {
+ if (defaultValue === undefined) {
+ defaultValue = this.keys[property];
+ }
+ if (typeof defaultValue === 'function') {
+ this[property] = defaultValue.call(this);
+ } else {
+ this[property] = defaultValue;
+ }
+ } else if (property === 'httpOptions' && this[property]) {
+ // deep merge httpOptions
+ this[property] = AWS.util.merge(this[property], value);
+ } else {
+ this[property] = value;
+ }
+ },
+
+ /**
+ * All of the keys with their default values.
+ *
+ * @constant
+ * @api private
+ */
+ keys: {
+ credentials: null,
+ credentialProvider: null,
+ region: null,
+ logger: null,
+ apiVersions: {},
+ apiVersion: null,
+ endpoint: undefined,
+ httpOptions: {
+ timeout: 120000
+ },
+ maxRetries: undefined,
+ maxRedirects: 10,
+ paramValidation: true,
+ sslEnabled: true,
+ s3ForcePathStyle: false,
+ s3BucketEndpoint: false,
+ s3DisableBodySigning: true,
+ s3UsEast1RegionalEndpoint: 'legacy',
+ s3UseArnRegion: undefined,
+ computeChecksums: true,
+ convertResponseTypes: true,
+ correctClockSkew: false,
+ customUserAgent: null,
+ dynamoDbCrc32: true,
+ systemClockOffset: 0,
+ signatureVersion: null,
+ signatureCache: true,
+ retryDelayOptions: {},
+ useAccelerateEndpoint: false,
+ clientSideMonitoring: false,
+ endpointDiscoveryEnabled: undefined,
+ endpointCacheSize: 1000,
+ hostPrefixEnabled: true,
+ stsRegionalEndpoints: 'legacy',
+ useFipsEndpoint: false,
+ useDualstackEndpoint: false,
+ token: null
+ },
+
+ /**
+ * Extracts accessKeyId, secretAccessKey and sessionToken
+ * from a configuration hash.
+ *
+ * @api private
+ */
+ extractCredentials: function extractCredentials(options) {
+ if (options.accessKeyId && options.secretAccessKey) {
+ options = AWS.util.copy(options);
+ options.credentials = new AWS.Credentials(options);
+ }
+ return options;
+ },
+
+ /**
+ * Sets the promise dependency the SDK will use wherever Promises are returned.
+ * Passing `null` will force the SDK to use native Promises if they are available.
+ * If native Promises are not available, passing `null` will have no effect.
+ * @param [Constructor] dep A reference to a Promise constructor
+ */
+ setPromisesDependency: function setPromisesDependency(dep) {
+ PromisesDependency = dep;
+ // if null was passed in, we should try to use native promises
+ if (dep === null && typeof Promise === 'function') {
+ PromisesDependency = Promise;
+ }
+ var constructors = [AWS.Request, AWS.Credentials, AWS.CredentialProviderChain];
+ if (AWS.S3) {
+ constructors.push(AWS.S3);
+ if (AWS.S3.ManagedUpload) {
+ constructors.push(AWS.S3.ManagedUpload);
+ }
+ }
+ AWS.util.addPromises(constructors, PromisesDependency);
+ },
+
+ /**
+ * Gets the promise dependency set by `AWS.config.setPromisesDependency`.
+ */
+ getPromisesDependency: function getPromisesDependency() {
+ return PromisesDependency;
+ }
+});
+
+/**
+ * @return [AWS.Config] The global configuration object singleton instance
+ * @readonly
+ * @see AWS.Config
+ */
+AWS.config = new AWS.Config();
+
+
+/***/ }),
+
+/***/ 85566:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+/**
+ * @api private
+ */
+function validateRegionalEndpointsFlagValue(configValue, errorOptions) {
+ if (typeof configValue !== 'string') return undefined;
+ else if (['legacy', 'regional'].indexOf(configValue.toLowerCase()) >= 0) {
+ return configValue.toLowerCase();
+ } else {
+ throw AWS.util.error(new Error(), errorOptions);
+ }
+}
+
+/**
+ * Resolve the configuration value for regional endpoint from difference sources: client
+ * config, environmental variable, shared config file. Value can be case-insensitive
+ * 'legacy' or 'reginal'.
+ * @param originalConfig user-supplied config object to resolve
+ * @param options a map of config property names from individual configuration source
+ * - env: name of environmental variable that refers to the config
+ * - sharedConfig: name of shared configuration file property that refers to the config
+ * - clientConfig: name of client configuration property that refers to the config
+ *
+ * @api private
+ */
+function resolveRegionalEndpointsFlag(originalConfig, options) {
+ originalConfig = originalConfig || {};
+ //validate config value
+ var resolved;
+ if (originalConfig[options.clientConfig]) {
+ resolved = validateRegionalEndpointsFlagValue(originalConfig[options.clientConfig], {
+ code: 'InvalidConfiguration',
+ message: 'invalid "' + options.clientConfig + '" configuration. Expect "legacy" ' +
+ ' or "regional". Got "' + originalConfig[options.clientConfig] + '".'
+ });
+ if (resolved) return resolved;
+ }
+ if (!AWS.util.isNode()) return resolved;
+ //validate environmental variable
+ if (Object.prototype.hasOwnProperty.call(process.env, options.env)) {
+ var envFlag = process.env[options.env];
+ resolved = validateRegionalEndpointsFlagValue(envFlag, {
+ code: 'InvalidEnvironmentalVariable',
+ message: 'invalid ' + options.env + ' environmental variable. Expect "legacy" ' +
+ ' or "regional". Got "' + process.env[options.env] + '".'
+ });
+ if (resolved) return resolved;
+ }
+ //validate shared config file
+ var profile = {};
+ try {
+ var profiles = AWS.util.getProfilesFromSharedConfig(AWS.util.iniLoader);
+ profile = profiles[process.env.AWS_PROFILE || AWS.util.defaultProfile];
+ } catch (e) {};
+ if (profile && Object.prototype.hasOwnProperty.call(profile, options.sharedConfig)) {
+ var fileFlag = profile[options.sharedConfig];
+ resolved = validateRegionalEndpointsFlagValue(fileFlag, {
+ code: 'InvalidConfiguration',
+ message: 'invalid ' + options.sharedConfig + ' profile config. Expect "legacy" ' +
+ ' or "regional". Got "' + profile[options.sharedConfig] + '".'
+ });
+ if (resolved) return resolved;
+ }
+ return resolved;
+}
+
+module.exports = resolveRegionalEndpointsFlag;
+
+
+/***/ }),
+
+/***/ 28437:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+/**
+ * The main AWS namespace
+ */
+var AWS = { util: __nccwpck_require__(77985) };
+
+/**
+ * @api private
+ * @!macro [new] nobrowser
+ * @note This feature is not supported in the browser environment of the SDK.
+ */
+var _hidden = {}; _hidden.toString(); // hack to parse macro
+
+/**
+ * @api private
+ */
+module.exports = AWS;
+
+AWS.util.update(AWS, {
+
+ /**
+ * @constant
+ */
+ VERSION: '2.1535.0',
+
+ /**
+ * @api private
+ */
+ Signers: {},
+
+ /**
+ * @api private
+ */
+ Protocol: {
+ Json: __nccwpck_require__(30083),
+ Query: __nccwpck_require__(90761),
+ Rest: __nccwpck_require__(98200),
+ RestJson: __nccwpck_require__(5883),
+ RestXml: __nccwpck_require__(15143)
+ },
+
+ /**
+ * @api private
+ */
+ XML: {
+ Builder: __nccwpck_require__(23546),
+ Parser: null // conditionally set based on environment
+ },
+
+ /**
+ * @api private
+ */
+ JSON: {
+ Builder: __nccwpck_require__(47495),
+ Parser: __nccwpck_require__(5474)
+ },
+
+ /**
+ * @api private
+ */
+ Model: {
+ Api: __nccwpck_require__(17657),
+ Operation: __nccwpck_require__(28083),
+ Shape: __nccwpck_require__(71349),
+ Paginator: __nccwpck_require__(45938),
+ ResourceWaiter: __nccwpck_require__(41368)
+ },
+
+ /**
+ * @api private
+ */
+ apiLoader: __nccwpck_require__(52793),
+
+ /**
+ * @api private
+ */
+ EndpointCache: (__nccwpck_require__(96323)/* .EndpointCache */ .$)
+});
+__nccwpck_require__(55948);
+__nccwpck_require__(68903);
+__nccwpck_require__(38110);
+__nccwpck_require__(1556);
+__nccwpck_require__(54995);
+__nccwpck_require__(78652);
+__nccwpck_require__(58743);
+__nccwpck_require__(39925);
+__nccwpck_require__(9897);
+__nccwpck_require__(99127);
+__nccwpck_require__(93985);
+
+/**
+ * @readonly
+ * @return [AWS.SequentialExecutor] a collection of global event listeners that
+ * are attached to every sent request.
+ * @see AWS.Request AWS.Request for a list of events to listen for
+ * @example Logging the time taken to send a request
+ * AWS.events.on('send', function startSend(resp) {
+ * resp.startTime = new Date().getTime();
+ * }).on('complete', function calculateTime(resp) {
+ * var time = (new Date().getTime() - resp.startTime) / 1000;
+ * console.log('Request took ' + time + ' seconds');
+ * });
+ *
+ * new AWS.S3().listBuckets(); // prints 'Request took 0.285 seconds'
+ */
+AWS.events = new AWS.SequentialExecutor();
+
+//create endpoint cache lazily
+AWS.util.memoizedProperty(AWS, 'endpointCache', function() {
+ return new AWS.EndpointCache(AWS.config.endpointCacheSize);
+}, true);
+
+
+/***/ }),
+
+/***/ 53819:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Represents your AWS security credentials, specifically the
+ * {accessKeyId}, {secretAccessKey}, and optional {sessionToken}.
+ * Creating a `Credentials` object allows you to pass around your
+ * security information to configuration and service objects.
+ *
+ * Note that this class typically does not need to be constructed manually,
+ * as the {AWS.Config} and {AWS.Service} classes both accept simple
+ * options hashes with the three keys. These structures will be converted
+ * into Credentials objects automatically.
+ *
+ * ## Expiring and Refreshing Credentials
+ *
+ * Occasionally credentials can expire in the middle of a long-running
+ * application. In this case, the SDK will automatically attempt to
+ * refresh the credentials from the storage location if the Credentials
+ * class implements the {refresh} method.
+ *
+ * If you are implementing a credential storage location, you
+ * will want to create a subclass of the `Credentials` class and
+ * override the {refresh} method. This method allows credentials to be
+ * retrieved from the backing store, be it a file system, database, or
+ * some network storage. The method should reset the credential attributes
+ * on the object.
+ *
+ * @!attribute expired
+ * @return [Boolean] whether the credentials have been expired and
+ * require a refresh. Used in conjunction with {expireTime}.
+ * @!attribute expireTime
+ * @return [Date] a time when credentials should be considered expired. Used
+ * in conjunction with {expired}.
+ * @!attribute accessKeyId
+ * @return [String] the AWS access key ID
+ * @!attribute secretAccessKey
+ * @return [String] the AWS secret access key
+ * @!attribute sessionToken
+ * @return [String] an optional AWS session token
+ */
+AWS.Credentials = AWS.util.inherit({
+ /**
+ * A credentials object can be created using positional arguments or an options
+ * hash.
+ *
+ * @overload AWS.Credentials(accessKeyId, secretAccessKey, sessionToken=null)
+ * Creates a Credentials object with a given set of credential information
+ * as positional arguments.
+ * @param accessKeyId [String] the AWS access key ID
+ * @param secretAccessKey [String] the AWS secret access key
+ * @param sessionToken [String] the optional AWS session token
+ * @example Create a credentials object with AWS credentials
+ * var creds = new AWS.Credentials('akid', 'secret', 'session');
+ * @overload AWS.Credentials(options)
+ * Creates a Credentials object with a given set of credential information
+ * as an options hash.
+ * @option options accessKeyId [String] the AWS access key ID
+ * @option options secretAccessKey [String] the AWS secret access key
+ * @option options sessionToken [String] the optional AWS session token
+ * @example Create a credentials object with AWS credentials
+ * var creds = new AWS.Credentials({
+ * accessKeyId: 'akid', secretAccessKey: 'secret', sessionToken: 'session'
+ * });
+ */
+ constructor: function Credentials() {
+ // hide secretAccessKey from being displayed with util.inspect
+ AWS.util.hideProperties(this, ['secretAccessKey']);
+
+ this.expired = false;
+ this.expireTime = null;
+ this.refreshCallbacks = [];
+ if (arguments.length === 1 && typeof arguments[0] === 'object') {
+ var creds = arguments[0].credentials || arguments[0];
+ this.accessKeyId = creds.accessKeyId;
+ this.secretAccessKey = creds.secretAccessKey;
+ this.sessionToken = creds.sessionToken;
+ } else {
+ this.accessKeyId = arguments[0];
+ this.secretAccessKey = arguments[1];
+ this.sessionToken = arguments[2];
+ }
+ },
+
+ /**
+ * @return [Integer] the number of seconds before {expireTime} during which
+ * the credentials will be considered expired.
+ */
+ expiryWindow: 15,
+
+ /**
+ * @return [Boolean] whether the credentials object should call {refresh}
+ * @note Subclasses should override this method to provide custom refresh
+ * logic.
+ */
+ needsRefresh: function needsRefresh() {
+ var currentTime = AWS.util.date.getDate().getTime();
+ var adjustedTime = new Date(currentTime + this.expiryWindow * 1000);
+
+ if (this.expireTime && adjustedTime > this.expireTime) {
+ return true;
+ } else {
+ return this.expired || !this.accessKeyId || !this.secretAccessKey;
+ }
+ },
+
+ /**
+ * Gets the existing credentials, refreshing them if they are not yet loaded
+ * or have expired. Users should call this method before using {refresh},
+ * as this will not attempt to reload credentials when they are already
+ * loaded into the object.
+ *
+ * @callback callback function(err)
+ * When this callback is called with no error, it means either credentials
+ * do not need to be refreshed or refreshed credentials information has
+ * been loaded into the object (as the `accessKeyId`, `secretAccessKey`,
+ * and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ */
+ get: function get(callback) {
+ var self = this;
+ if (this.needsRefresh()) {
+ this.refresh(function(err) {
+ if (!err) self.expired = false; // reset expired flag
+ if (callback) callback(err);
+ });
+ } else if (callback) {
+ callback();
+ }
+ },
+
+ /**
+ * @!method getPromise()
+ * Returns a 'thenable' promise.
+ * Gets the existing credentials, refreshing them if they are not yet loaded
+ * or have expired. Users should call this method before using {refresh},
+ * as this will not attempt to reload credentials when they are already
+ * loaded into the object.
+ *
+ * Two callbacks can be provided to the `then` method on the returned promise.
+ * The first callback will be called if the promise is fulfilled, and the second
+ * callback will be called if the promise is rejected.
+ * @callback fulfilledCallback function()
+ * Called if the promise is fulfilled. When this callback is called, it
+ * means either credentials do not need to be refreshed or refreshed
+ * credentials information has been loaded into the object (as the
+ * `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).
+ * @callback rejectedCallback function(err)
+ * Called if the promise is rejected.
+ * @param err [Error] if an error occurred, this value will be filled
+ * @return [Promise] A promise that represents the state of the `get` call.
+ * @example Calling the `getPromise` method.
+ * var promise = credProvider.getPromise();
+ * promise.then(function() { ... }, function(err) { ... });
+ */
+
+ /**
+ * @!method refreshPromise()
+ * Returns a 'thenable' promise.
+ * Refreshes the credentials. Users should call {get} before attempting
+ * to forcibly refresh credentials.
+ *
+ * Two callbacks can be provided to the `then` method on the returned promise.
+ * The first callback will be called if the promise is fulfilled, and the second
+ * callback will be called if the promise is rejected.
+ * @callback fulfilledCallback function()
+ * Called if the promise is fulfilled. When this callback is called, it
+ * means refreshed credentials information has been loaded into the object
+ * (as the `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).
+ * @callback rejectedCallback function(err)
+ * Called if the promise is rejected.
+ * @param err [Error] if an error occurred, this value will be filled
+ * @return [Promise] A promise that represents the state of the `refresh` call.
+ * @example Calling the `refreshPromise` method.
+ * var promise = credProvider.refreshPromise();
+ * promise.then(function() { ... }, function(err) { ... });
+ */
+
+ /**
+ * Refreshes the credentials. Users should call {get} before attempting
+ * to forcibly refresh credentials.
+ *
+ * @callback callback function(err)
+ * When this callback is called with no error, it means refreshed
+ * credentials information has been loaded into the object (as the
+ * `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @note Subclasses should override this class to reset the
+ * {accessKeyId}, {secretAccessKey} and optional {sessionToken}
+ * on the credentials object and then call the callback with
+ * any error information.
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ this.expired = false;
+ callback();
+ },
+
+ /**
+ * @api private
+ * @param callback
+ */
+ coalesceRefresh: function coalesceRefresh(callback, sync) {
+ var self = this;
+ if (self.refreshCallbacks.push(callback) === 1) {
+ self.load(function onLoad(err) {
+ AWS.util.arrayEach(self.refreshCallbacks, function(callback) {
+ if (sync) {
+ callback(err);
+ } else {
+ // callback could throw, so defer to ensure all callbacks are notified
+ AWS.util.defer(function () {
+ callback(err);
+ });
+ }
+ });
+ self.refreshCallbacks.length = 0;
+ });
+ }
+ },
+
+ /**
+ * @api private
+ * @param callback
+ */
+ load: function load(callback) {
+ callback();
+ }
+});
+
+/**
+ * @api private
+ */
+AWS.Credentials.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
+ this.prototype.getPromise = AWS.util.promisifyMethod('get', PromiseDependency);
+ this.prototype.refreshPromise = AWS.util.promisifyMethod('refresh', PromiseDependency);
+};
+
+/**
+ * @api private
+ */
+AWS.Credentials.deletePromisesFromClass = function deletePromisesFromClass() {
+ delete this.prototype.getPromise;
+ delete this.prototype.refreshPromise;
+};
+
+AWS.util.addPromises(AWS.Credentials);
+
+
+/***/ }),
+
+/***/ 57083:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var STS = __nccwpck_require__(57513);
+
+/**
+ * Represents temporary credentials retrieved from {AWS.STS}. Without any
+ * extra parameters, credentials will be fetched from the
+ * {AWS.STS.getSessionToken} operation. If an IAM role is provided, the
+ * {AWS.STS.assumeRole} operation will be used to fetch credentials for the
+ * role instead.
+ *
+ * AWS.ChainableTemporaryCredentials differs from AWS.TemporaryCredentials in
+ * the way masterCredentials and refreshes are handled.
+ * AWS.ChainableTemporaryCredentials refreshes expired credentials using the
+ * masterCredentials passed by the user to support chaining of STS credentials.
+ * However, AWS.TemporaryCredentials recursively collapses the masterCredentials
+ * during instantiation, precluding the ability to refresh credentials which
+ * require intermediate, temporary credentials.
+ *
+ * For example, if the application should use RoleA, which must be assumed from
+ * RoleB, and the environment provides credentials which can assume RoleB, then
+ * AWS.ChainableTemporaryCredentials must be used to support refreshing the
+ * temporary credentials for RoleA:
+ *
+ * ```javascript
+ * var roleACreds = new AWS.ChainableTemporaryCredentials({
+ * params: {RoleArn: 'RoleA'},
+ * masterCredentials: new AWS.ChainableTemporaryCredentials({
+ * params: {RoleArn: 'RoleB'},
+ * masterCredentials: new AWS.EnvironmentCredentials('AWS')
+ * })
+ * });
+ * ```
+ *
+ * If AWS.TemporaryCredentials had been used in the previous example,
+ * `roleACreds` would fail to refresh because `roleACreds` would
+ * use the environment credentials for the AssumeRole request.
+ *
+ * Another difference is that AWS.ChainableTemporaryCredentials creates the STS
+ * service instance during instantiation while AWS.TemporaryCredentials creates
+ * the STS service instance during the first refresh. Creating the service
+ * instance during instantiation effectively captures the master credentials
+ * from the global config, so that subsequent changes to the global config do
+ * not affect the master credentials used to refresh the temporary credentials.
+ *
+ * This allows an instance of AWS.ChainableTemporaryCredentials to be assigned
+ * to AWS.config.credentials:
+ *
+ * ```javascript
+ * var envCreds = new AWS.EnvironmentCredentials('AWS');
+ * AWS.config.credentials = envCreds;
+ * // masterCredentials will be envCreds
+ * AWS.config.credentials = new AWS.ChainableTemporaryCredentials({
+ * params: {RoleArn: '...'}
+ * });
+ * ```
+ *
+ * Similarly, to use the CredentialProviderChain's default providers as the
+ * master credentials, simply create a new instance of
+ * AWS.ChainableTemporaryCredentials:
+ *
+ * ```javascript
+ * AWS.config.credentials = new ChainableTemporaryCredentials({
+ * params: {RoleArn: '...'}
+ * });
+ * ```
+ *
+ * @!attribute service
+ * @return [AWS.STS] the STS service instance used to
+ * get and refresh temporary credentials from AWS STS.
+ * @note (see constructor)
+ */
+AWS.ChainableTemporaryCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new temporary credentials object.
+ *
+ * @param options [map] a set of options
+ * @option options params [map] ({}) a map of options that are passed to the
+ * {AWS.STS.assumeRole} or {AWS.STS.getSessionToken} operations.
+ * If a `RoleArn` parameter is passed in, credentials will be based on the
+ * IAM role. If a `SerialNumber` parameter is passed in, {tokenCodeFn} must
+ * also be passed in or an error will be thrown.
+ * @option options masterCredentials [AWS.Credentials] the master credentials
+ * used to get and refresh temporary credentials from AWS STS. By default,
+ * AWS.config.credentials or AWS.config.credentialProvider will be used.
+ * @option options tokenCodeFn [Function] (null) Function to provide
+ * `TokenCode`, if `SerialNumber` is provided for profile in {params}. Function
+ * is called with value of `SerialNumber` and `callback`, and should provide
+ * the `TokenCode` or an error to the callback in the format
+ * `callback(err, token)`.
+ * @example Creating a new credentials object for generic temporary credentials
+ * AWS.config.credentials = new AWS.ChainableTemporaryCredentials();
+ * @example Creating a new credentials object for an IAM role
+ * AWS.config.credentials = new AWS.ChainableTemporaryCredentials({
+ * params: {
+ * RoleArn: 'arn:aws:iam::1234567890:role/TemporaryCredentials'
+ * }
+ * });
+ * @see AWS.STS.assumeRole
+ * @see AWS.STS.getSessionToken
+ */
+ constructor: function ChainableTemporaryCredentials(options) {
+ AWS.Credentials.call(this);
+ options = options || {};
+ this.errorCode = 'ChainableTemporaryCredentialsProviderFailure';
+ this.expired = true;
+ this.tokenCodeFn = null;
+
+ var params = AWS.util.copy(options.params) || {};
+ if (params.RoleArn) {
+ params.RoleSessionName = params.RoleSessionName || 'temporary-credentials';
+ }
+ if (params.SerialNumber) {
+ if (!options.tokenCodeFn || (typeof options.tokenCodeFn !== 'function')) {
+ throw new AWS.util.error(
+ new Error('tokenCodeFn must be a function when params.SerialNumber is given'),
+ {code: this.errorCode}
+ );
+ } else {
+ this.tokenCodeFn = options.tokenCodeFn;
+ }
+ }
+ var config = AWS.util.merge(
+ {
+ params: params,
+ credentials: options.masterCredentials || AWS.config.credentials
+ },
+ options.stsConfig || {}
+ );
+ this.service = new STS(config);
+ },
+
+ /**
+ * Refreshes credentials using {AWS.STS.assumeRole} or
+ * {AWS.STS.getSessionToken}, depending on whether an IAM role ARN was passed
+ * to the credentials {constructor}.
+ *
+ * @callback callback function(err)
+ * Called when the STS service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see AWS.Credentials.get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ * @param callback
+ */
+ load: function load(callback) {
+ var self = this;
+ var operation = self.service.config.params.RoleArn ? 'assumeRole' : 'getSessionToken';
+ this.getTokenCode(function (err, tokenCode) {
+ var params = {};
+ if (err) {
+ callback(err);
+ return;
+ }
+ if (tokenCode) {
+ params.TokenCode = tokenCode;
+ }
+ self.service[operation](params, function (err, data) {
+ if (!err) {
+ self.service.credentialsFrom(data, self);
+ }
+ callback(err);
+ });
+ });
+ },
+
+ /**
+ * @api private
+ */
+ getTokenCode: function getTokenCode(callback) {
+ var self = this;
+ if (this.tokenCodeFn) {
+ this.tokenCodeFn(this.service.config.params.SerialNumber, function (err, token) {
+ if (err) {
+ var message = err;
+ if (err instanceof Error) {
+ message = err.message;
+ }
+ callback(
+ AWS.util.error(
+ new Error('Error fetching MFA token: ' + message),
+ { code: self.errorCode}
+ )
+ );
+ return;
+ }
+ callback(null, token);
+ });
+ } else {
+ callback(null);
+ }
+ }
+});
+
+
+/***/ }),
+
+/***/ 3498:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var CognitoIdentity = __nccwpck_require__(58291);
+var STS = __nccwpck_require__(57513);
+
+/**
+ * Represents credentials retrieved from STS Web Identity Federation using
+ * the Amazon Cognito Identity service.
+ *
+ * By default this provider gets credentials using the
+ * {AWS.CognitoIdentity.getCredentialsForIdentity} service operation, which
+ * requires either an `IdentityId` or an `IdentityPoolId` (Amazon Cognito
+ * Identity Pool ID), which is used to call {AWS.CognitoIdentity.getId} to
+ * obtain an `IdentityId`. If the identity or identity pool is not configured in
+ * the Amazon Cognito Console to use IAM roles with the appropriate permissions,
+ * then additionally a `RoleArn` is required containing the ARN of the IAM trust
+ * policy for the Amazon Cognito role that the user will log into. If a `RoleArn`
+ * is provided, then this provider gets credentials using the
+ * {AWS.STS.assumeRoleWithWebIdentity} service operation, after first getting an
+ * Open ID token from {AWS.CognitoIdentity.getOpenIdToken}.
+ *
+ * In addition, if this credential provider is used to provide authenticated
+ * login, the `Logins` map may be set to the tokens provided by the respective
+ * identity providers. See {constructor} for an example on creating a credentials
+ * object with proper property values.
+ *
+ * ## Refreshing Credentials from Identity Service
+ *
+ * In addition to AWS credentials expiring after a given amount of time, the
+ * login token from the identity provider will also expire. Once this token
+ * expires, it will not be usable to refresh AWS credentials, and another
+ * token will be needed. The SDK does not manage refreshing of the token value,
+ * but this can be done through a "refresh token" supported by most identity
+ * providers. Consult the documentation for the identity provider for refreshing
+ * tokens. Once the refreshed token is acquired, you should make sure to update
+ * this new token in the credentials object's {params} property. The following
+ * code will update the WebIdentityToken, assuming you have retrieved an updated
+ * token from the identity provider:
+ *
+ * ```javascript
+ * AWS.config.credentials.params.Logins['graph.facebook.com'] = updatedToken;
+ * ```
+ *
+ * Future calls to `credentials.refresh()` will now use the new token.
+ *
+ * @!attribute params
+ * @return [map] the map of params passed to
+ * {AWS.CognitoIdentity.getId},
+ * {AWS.CognitoIdentity.getOpenIdToken}, and
+ * {AWS.STS.assumeRoleWithWebIdentity}. To update the token, set the
+ * `params.WebIdentityToken` property.
+ * @!attribute data
+ * @return [map] the raw data response from the call to
+ * {AWS.CognitoIdentity.getCredentialsForIdentity}, or
+ * {AWS.STS.assumeRoleWithWebIdentity}. Use this if you want to get
+ * access to other properties from the response.
+ * @!attribute identityId
+ * @return [String] the Cognito ID returned by the last call to
+ * {AWS.CognitoIdentity.getOpenIdToken}. This ID represents the actual
+ * final resolved identity ID from Amazon Cognito.
+ */
+AWS.CognitoIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * @api private
+ */
+ localStorageKey: {
+ id: 'aws.cognito.identity-id.',
+ providers: 'aws.cognito.identity-providers.'
+ },
+
+ /**
+ * Creates a new credentials object.
+ * @example Creating a new credentials object
+ * AWS.config.credentials = new AWS.CognitoIdentityCredentials({
+ *
+ * // either IdentityPoolId or IdentityId is required
+ * // See the IdentityPoolId param for AWS.CognitoIdentity.getID (linked below)
+ * // See the IdentityId param for AWS.CognitoIdentity.getCredentialsForIdentity
+ * // or AWS.CognitoIdentity.getOpenIdToken (linked below)
+ * IdentityPoolId: 'us-east-1:1699ebc0-7900-4099-b910-2df94f52a030',
+ * IdentityId: 'us-east-1:128d0a74-c82f-4553-916d-90053e4a8b0f'
+ *
+ * // optional, only necessary when the identity pool is not configured
+ * // to use IAM roles in the Amazon Cognito Console
+ * // See the RoleArn param for AWS.STS.assumeRoleWithWebIdentity (linked below)
+ * RoleArn: 'arn:aws:iam::1234567890:role/MYAPP-CognitoIdentity',
+ *
+ * // optional tokens, used for authenticated login
+ * // See the Logins param for AWS.CognitoIdentity.getID (linked below)
+ * Logins: {
+ * 'graph.facebook.com': 'FBTOKEN',
+ * 'www.amazon.com': 'AMAZONTOKEN',
+ * 'accounts.google.com': 'GOOGLETOKEN',
+ * 'api.twitter.com': 'TWITTERTOKEN',
+ * 'www.digits.com': 'DIGITSTOKEN'
+ * },
+ *
+ * // optional name, defaults to web-identity
+ * // See the RoleSessionName param for AWS.STS.assumeRoleWithWebIdentity (linked below)
+ * RoleSessionName: 'web',
+ *
+ * // optional, only necessary when application runs in a browser
+ * // and multiple users are signed in at once, used for caching
+ * LoginId: 'example@gmail.com'
+ *
+ * }, {
+ * // optionally provide configuration to apply to the underlying service clients
+ * // if configuration is not provided, then configuration will be pulled from AWS.config
+ *
+ * // region should match the region your identity pool is located in
+ * region: 'us-east-1',
+ *
+ * // specify timeout options
+ * httpOptions: {
+ * timeout: 100
+ * }
+ * });
+ * @see AWS.CognitoIdentity.getId
+ * @see AWS.CognitoIdentity.getCredentialsForIdentity
+ * @see AWS.STS.assumeRoleWithWebIdentity
+ * @see AWS.CognitoIdentity.getOpenIdToken
+ * @see AWS.Config
+ * @note If a region is not provided in the global AWS.config, or
+ * specified in the `clientConfig` to the CognitoIdentityCredentials
+ * constructor, you may encounter a 'Missing credentials in config' error
+ * when calling making a service call.
+ */
+ constructor: function CognitoIdentityCredentials(params, clientConfig) {
+ AWS.Credentials.call(this);
+ this.expired = true;
+ this.params = params;
+ this.data = null;
+ this._identityId = null;
+ this._clientConfig = AWS.util.copy(clientConfig || {});
+ this.loadCachedId();
+ var self = this;
+ Object.defineProperty(this, 'identityId', {
+ get: function() {
+ self.loadCachedId();
+ return self._identityId || self.params.IdentityId;
+ },
+ set: function(identityId) {
+ self._identityId = identityId;
+ }
+ });
+ },
+
+ /**
+ * Refreshes credentials using {AWS.CognitoIdentity.getCredentialsForIdentity},
+ * or {AWS.STS.assumeRoleWithWebIdentity}.
+ *
+ * @callback callback function(err)
+ * Called when the STS service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see AWS.Credentials.get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ * @param callback
+ */
+ load: function load(callback) {
+ var self = this;
+ self.createClients();
+ self.data = null;
+ self._identityId = null;
+ self.getId(function(err) {
+ if (!err) {
+ if (!self.params.RoleArn) {
+ self.getCredentialsForIdentity(callback);
+ } else {
+ self.getCredentialsFromSTS(callback);
+ }
+ } else {
+ self.clearIdOnNotAuthorized(err);
+ callback(err);
+ }
+ });
+ },
+
+ /**
+ * Clears the cached Cognito ID associated with the currently configured
+ * identity pool ID. Use this to manually invalidate your cache if
+ * the identity pool ID was deleted.
+ */
+ clearCachedId: function clearCache() {
+ this._identityId = null;
+ delete this.params.IdentityId;
+
+ var poolId = this.params.IdentityPoolId;
+ var loginId = this.params.LoginId || '';
+ delete this.storage[this.localStorageKey.id + poolId + loginId];
+ delete this.storage[this.localStorageKey.providers + poolId + loginId];
+ },
+
+ /**
+ * @api private
+ */
+ clearIdOnNotAuthorized: function clearIdOnNotAuthorized(err) {
+ var self = this;
+ if (err.code == 'NotAuthorizedException') {
+ self.clearCachedId();
+ }
+ },
+
+ /**
+ * Retrieves a Cognito ID, loading from cache if it was already retrieved
+ * on this device.
+ *
+ * @callback callback function(err, identityId)
+ * @param err [Error, null] an error object if the call failed or null if
+ * it succeeded.
+ * @param identityId [String, null] if successful, the callback will return
+ * the Cognito ID.
+ * @note If not loaded explicitly, the Cognito ID is loaded and stored in
+ * localStorage in the browser environment of a device.
+ * @api private
+ */
+ getId: function getId(callback) {
+ var self = this;
+ if (typeof self.params.IdentityId === 'string') {
+ return callback(null, self.params.IdentityId);
+ }
+
+ self.cognito.getId(function(err, data) {
+ if (!err && data.IdentityId) {
+ self.params.IdentityId = data.IdentityId;
+ callback(null, data.IdentityId);
+ } else {
+ callback(err);
+ }
+ });
+ },
+
+
+ /**
+ * @api private
+ */
+ loadCredentials: function loadCredentials(data, credentials) {
+ if (!data || !credentials) return;
+ credentials.expired = false;
+ credentials.accessKeyId = data.Credentials.AccessKeyId;
+ credentials.secretAccessKey = data.Credentials.SecretKey;
+ credentials.sessionToken = data.Credentials.SessionToken;
+ credentials.expireTime = data.Credentials.Expiration;
+ },
+
+ /**
+ * @api private
+ */
+ getCredentialsForIdentity: function getCredentialsForIdentity(callback) {
+ var self = this;
+ self.cognito.getCredentialsForIdentity(function(err, data) {
+ if (!err) {
+ self.cacheId(data);
+ self.data = data;
+ self.loadCredentials(self.data, self);
+ } else {
+ self.clearIdOnNotAuthorized(err);
+ }
+ callback(err);
+ });
+ },
+
+ /**
+ * @api private
+ */
+ getCredentialsFromSTS: function getCredentialsFromSTS(callback) {
+ var self = this;
+ self.cognito.getOpenIdToken(function(err, data) {
+ if (!err) {
+ self.cacheId(data);
+ self.params.WebIdentityToken = data.Token;
+ self.webIdentityCredentials.refresh(function(webErr) {
+ if (!webErr) {
+ self.data = self.webIdentityCredentials.data;
+ self.sts.credentialsFrom(self.data, self);
+ }
+ callback(webErr);
+ });
+ } else {
+ self.clearIdOnNotAuthorized(err);
+ callback(err);
+ }
+ });
+ },
+
+ /**
+ * @api private
+ */
+ loadCachedId: function loadCachedId() {
+ var self = this;
+
+ // in the browser we source default IdentityId from localStorage
+ if (AWS.util.isBrowser() && !self.params.IdentityId) {
+ var id = self.getStorage('id');
+ if (id && self.params.Logins) {
+ var actualProviders = Object.keys(self.params.Logins);
+ var cachedProviders =
+ (self.getStorage('providers') || '').split(',');
+
+ // only load ID if at least one provider used this ID before
+ var intersect = cachedProviders.filter(function(n) {
+ return actualProviders.indexOf(n) !== -1;
+ });
+ if (intersect.length !== 0) {
+ self.params.IdentityId = id;
+ }
+ } else if (id) {
+ self.params.IdentityId = id;
+ }
+ }
+ },
+
+ /**
+ * @api private
+ */
+ createClients: function() {
+ var clientConfig = this._clientConfig;
+ this.webIdentityCredentials = this.webIdentityCredentials ||
+ new AWS.WebIdentityCredentials(this.params, clientConfig);
+ if (!this.cognito) {
+ var cognitoConfig = AWS.util.merge({}, clientConfig);
+ cognitoConfig.params = this.params;
+ this.cognito = new CognitoIdentity(cognitoConfig);
+ }
+ this.sts = this.sts || new STS(clientConfig);
+ },
+
+ /**
+ * @api private
+ */
+ cacheId: function cacheId(data) {
+ this._identityId = data.IdentityId;
+ this.params.IdentityId = this._identityId;
+
+ // cache this IdentityId in browser localStorage if possible
+ if (AWS.util.isBrowser()) {
+ this.setStorage('id', data.IdentityId);
+
+ if (this.params.Logins) {
+ this.setStorage('providers', Object.keys(this.params.Logins).join(','));
+ }
+ }
+ },
+
+ /**
+ * @api private
+ */
+ getStorage: function getStorage(key) {
+ return this.storage[this.localStorageKey[key] + this.params.IdentityPoolId + (this.params.LoginId || '')];
+ },
+
+ /**
+ * @api private
+ */
+ setStorage: function setStorage(key, val) {
+ try {
+ this.storage[this.localStorageKey[key] + this.params.IdentityPoolId + (this.params.LoginId || '')] = val;
+ } catch (_) {}
+ },
+
+ /**
+ * @api private
+ */
+ storage: (function() {
+ try {
+ var storage = AWS.util.isBrowser() && window.localStorage !== null && typeof window.localStorage === 'object' ?
+ window.localStorage : {};
+
+ // Test set/remove which would throw an error in Safari's private browsing
+ storage['aws.test-storage'] = 'foobar';
+ delete storage['aws.test-storage'];
+
+ return storage;
+ } catch (_) {
+ return {};
+ }
+ })()
+});
+
+
+/***/ }),
+
+/***/ 36965:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Creates a credential provider chain that searches for AWS credentials
+ * in a list of credential providers specified by the {providers} property.
+ *
+ * By default, the chain will use the {defaultProviders} to resolve credentials.
+ * These providers will look in the environment using the
+ * {AWS.EnvironmentCredentials} class with the 'AWS' and 'AMAZON' prefixes.
+ *
+ * ## Setting Providers
+ *
+ * Each provider in the {providers} list should be a function that returns
+ * a {AWS.Credentials} object, or a hardcoded credentials object. The function
+ * form allows for delayed execution of the credential construction.
+ *
+ * ## Resolving Credentials from a Chain
+ *
+ * Call {resolve} to return the first valid credential object that can be
+ * loaded by the provider chain.
+ *
+ * For example, to resolve a chain with a custom provider that checks a file
+ * on disk after the set of {defaultProviders}:
+ *
+ * ```javascript
+ * var diskProvider = new AWS.FileSystemCredentials('./creds.json');
+ * var chain = new AWS.CredentialProviderChain();
+ * chain.providers.push(diskProvider);
+ * chain.resolve();
+ * ```
+ *
+ * The above code will return the `diskProvider` object if the
+ * file contains credentials and the `defaultProviders` do not contain
+ * any credential settings.
+ *
+ * @!attribute providers
+ * @return [Array]
+ * a list of credentials objects or functions that return credentials
+ * objects. If the provider is a function, the function will be
+ * executed lazily when the provider needs to be checked for valid
+ * credentials. By default, this object will be set to the
+ * {defaultProviders}.
+ * @see defaultProviders
+ */
+AWS.CredentialProviderChain = AWS.util.inherit(AWS.Credentials, {
+
+ /**
+ * Creates a new CredentialProviderChain with a default set of providers
+ * specified by {defaultProviders}.
+ */
+ constructor: function CredentialProviderChain(providers) {
+ if (providers) {
+ this.providers = providers;
+ } else {
+ this.providers = AWS.CredentialProviderChain.defaultProviders.slice(0);
+ }
+ this.resolveCallbacks = [];
+ },
+
+ /**
+ * @!method resolvePromise()
+ * Returns a 'thenable' promise.
+ * Resolves the provider chain by searching for the first set of
+ * credentials in {providers}.
+ *
+ * Two callbacks can be provided to the `then` method on the returned promise.
+ * The first callback will be called if the promise is fulfilled, and the second
+ * callback will be called if the promise is rejected.
+ * @callback fulfilledCallback function(credentials)
+ * Called if the promise is fulfilled and the provider resolves the chain
+ * to a credentials object
+ * @param credentials [AWS.Credentials] the credentials object resolved
+ * by the provider chain.
+ * @callback rejectedCallback function(error)
+ * Called if the promise is rejected.
+ * @param err [Error] the error object returned if no credentials are found.
+ * @return [Promise] A promise that represents the state of the `resolve` method call.
+ * @example Calling the `resolvePromise` method.
+ * var promise = chain.resolvePromise();
+ * promise.then(function(credentials) { ... }, function(err) { ... });
+ */
+
+ /**
+ * Resolves the provider chain by searching for the first set of
+ * credentials in {providers}.
+ *
+ * @callback callback function(err, credentials)
+ * Called when the provider resolves the chain to a credentials object
+ * or null if no credentials can be found.
+ *
+ * @param err [Error] the error object returned if no credentials are
+ * found.
+ * @param credentials [AWS.Credentials] the credentials object resolved
+ * by the provider chain.
+ * @return [AWS.CredentialProviderChain] the provider, for chaining.
+ */
+ resolve: function resolve(callback) {
+ var self = this;
+ if (self.providers.length === 0) {
+ callback(new Error('No providers'));
+ return self;
+ }
+
+ if (self.resolveCallbacks.push(callback) === 1) {
+ var index = 0;
+ var providers = self.providers.slice(0);
+
+ function resolveNext(err, creds) {
+ if ((!err && creds) || index === providers.length) {
+ AWS.util.arrayEach(self.resolveCallbacks, function (callback) {
+ callback(err, creds);
+ });
+ self.resolveCallbacks.length = 0;
+ return;
+ }
+
+ var provider = providers[index++];
+ if (typeof provider === 'function') {
+ creds = provider.call();
+ } else {
+ creds = provider;
+ }
+
+ if (creds.get) {
+ creds.get(function (getErr) {
+ resolveNext(getErr, getErr ? null : creds);
+ });
+ } else {
+ resolveNext(null, creds);
+ }
+ }
+
+ resolveNext();
+ }
+
+ return self;
+ }
+});
+
+/**
+ * The default set of providers used by a vanilla CredentialProviderChain.
+ *
+ * In the browser:
+ *
+ * ```javascript
+ * AWS.CredentialProviderChain.defaultProviders = []
+ * ```
+ *
+ * In Node.js:
+ *
+ * ```javascript
+ * AWS.CredentialProviderChain.defaultProviders = [
+ * function () { return new AWS.EnvironmentCredentials('AWS'); },
+ * function () { return new AWS.EnvironmentCredentials('AMAZON'); },
+ * function () { return new AWS.SsoCredentials(); },
+ * function () { return new AWS.SharedIniFileCredentials(); },
+ * function () { return new AWS.ECSCredentials(); },
+ * function () { return new AWS.ProcessCredentials(); },
+ * function () { return new AWS.TokenFileWebIdentityCredentials(); },
+ * function () { return new AWS.EC2MetadataCredentials() }
+ * ]
+ * ```
+ */
+AWS.CredentialProviderChain.defaultProviders = [];
+
+/**
+ * @api private
+ */
+AWS.CredentialProviderChain.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
+ this.prototype.resolvePromise = AWS.util.promisifyMethod('resolve', PromiseDependency);
+};
+
+/**
+ * @api private
+ */
+AWS.CredentialProviderChain.deletePromisesFromClass = function deletePromisesFromClass() {
+ delete this.prototype.resolvePromise;
+};
+
+AWS.util.addPromises(AWS.CredentialProviderChain);
+
+
+/***/ }),
+
+/***/ 73379:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+__nccwpck_require__(25768);
+
+/**
+ * Represents credentials received from the metadata service on an EC2 instance.
+ *
+ * By default, this class will connect to the metadata service using
+ * {AWS.MetadataService} and attempt to load any available credentials. If it
+ * can connect, and credentials are available, these will be used with zero
+ * configuration.
+ *
+ * This credentials class will by default timeout after 1 second of inactivity
+ * and retry 3 times.
+ * If your requests to the EC2 metadata service are timing out, you can increase
+ * these values by configuring them directly:
+ *
+ * ```javascript
+ * AWS.config.credentials = new AWS.EC2MetadataCredentials({
+ * httpOptions: { timeout: 5000 }, // 5 second timeout
+ * maxRetries: 10, // retry 10 times
+ * retryDelayOptions: { base: 200 }, // see AWS.Config for information
+ * logger: console // see AWS.Config for information
+ * ec2MetadataV1Disabled: false // whether to block IMDS v1 fallback.
+ * });
+ * ```
+ *
+ * If your requests are timing out in connecting to the metadata service, such
+ * as when testing on a development machine, you can use the connectTimeout
+ * option, specified in milliseconds, which also defaults to 1 second.
+ *
+ * If the requests failed or returns expired credentials, it will
+ * extend the expiration of current credential, with a warning message. For more
+ * information, please go to:
+ * https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html
+ *
+ * @!attribute originalExpiration
+ * @return [Date] The optional original expiration of the current credential.
+ * In case of AWS outage, the EC2 metadata will extend expiration of the
+ * existing credential.
+ *
+ * @see AWS.Config.retryDelayOptions
+ * @see AWS.Config.logger
+ *
+ * @!macro nobrowser
+ */
+AWS.EC2MetadataCredentials = AWS.util.inherit(AWS.Credentials, {
+ constructor: function EC2MetadataCredentials(options) {
+ AWS.Credentials.call(this);
+
+ options = options ? AWS.util.copy(options) : {};
+ options = AWS.util.merge(
+ {maxRetries: this.defaultMaxRetries}, options);
+ if (!options.httpOptions) options.httpOptions = {};
+ options.httpOptions = AWS.util.merge(
+ {timeout: this.defaultTimeout,
+ connectTimeout: this.defaultConnectTimeout},
+ options.httpOptions);
+
+ this.metadataService = new AWS.MetadataService(options);
+ this.logger = options.logger || AWS.config && AWS.config.logger;
+ },
+
+ /**
+ * @api private
+ */
+ defaultTimeout: 1000,
+
+ /**
+ * @api private
+ */
+ defaultConnectTimeout: 1000,
+
+ /**
+ * @api private
+ */
+ defaultMaxRetries: 3,
+
+ /**
+ * The original expiration of the current credential. In case of AWS
+ * outage, the EC2 metadata will extend expiration of the existing
+ * credential.
+ */
+ originalExpiration: undefined,
+
+ /**
+ * Loads the credentials from the instance metadata service
+ *
+ * @callback callback function(err)
+ * Called when the instance metadata service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ * @param callback
+ */
+ load: function load(callback) {
+ var self = this;
+ self.metadataService.loadCredentials(function(err, creds) {
+ if (err) {
+ if (self.hasLoadedCredentials()) {
+ self.extendExpirationIfExpired();
+ callback();
+ } else {
+ callback(err);
+ }
+ } else {
+ self.setCredentials(creds);
+ self.extendExpirationIfExpired();
+ callback();
+ }
+ });
+ },
+
+ /**
+ * Whether this credential has been loaded.
+ * @api private
+ */
+ hasLoadedCredentials: function hasLoadedCredentials() {
+ return this.AccessKeyId && this.secretAccessKey;
+ },
+
+ /**
+ * if expired, extend the expiration by 15 minutes base plus a jitter of 5
+ * minutes range.
+ * @api private
+ */
+ extendExpirationIfExpired: function extendExpirationIfExpired() {
+ if (this.needsRefresh()) {
+ this.originalExpiration = this.originalExpiration || this.expireTime;
+ this.expired = false;
+ var nextTimeout = 15 * 60 + Math.floor(Math.random() * 5 * 60);
+ var currentTime = AWS.util.date.getDate().getTime();
+ this.expireTime = new Date(currentTime + nextTimeout * 1000);
+ // TODO: add doc link;
+ this.logger.warn('Attempting credential expiration extension due to a '
+ + 'credential service availability issue. A refresh of these '
+ + 'credentials will be attempted again at ' + this.expireTime
+ + '\nFor more information, please visit: https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html');
+ }
+ },
+
+ /**
+ * Update the credential with new credential responded from EC2 metadata
+ * service.
+ * @api private
+ */
+ setCredentials: function setCredentials(creds) {
+ var currentTime = AWS.util.date.getDate().getTime();
+ var expireTime = new Date(creds.Expiration);
+ this.expired = currentTime >= expireTime ? true : false;
+ this.metadata = creds;
+ this.accessKeyId = creds.AccessKeyId;
+ this.secretAccessKey = creds.SecretAccessKey;
+ this.sessionToken = creds.Token;
+ this.expireTime = expireTime;
+ }
+});
+
+
+/***/ }),
+
+/***/ 10645:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Represents credentials received from relative URI specified in the ECS container.
+ *
+ * This class will request refreshable credentials from the relative URI
+ * specified by the AWS_CONTAINER_CREDENTIALS_RELATIVE_URI or the
+ * AWS_CONTAINER_CREDENTIALS_FULL_URI environment variable. If valid credentials
+ * are returned in the response, these will be used with zero configuration.
+ *
+ * This credentials class will by default timeout after 1 second of inactivity
+ * and retry 3 times.
+ * If your requests to the relative URI are timing out, you can increase
+ * the value by configuring them directly:
+ *
+ * ```javascript
+ * AWS.config.credentials = new AWS.ECSCredentials({
+ * httpOptions: { timeout: 5000 }, // 5 second timeout
+ * maxRetries: 10, // retry 10 times
+ * retryDelayOptions: { base: 200 } // see AWS.Config for information
+ * });
+ * ```
+ *
+ * @see AWS.Config.retryDelayOptions
+ *
+ * @!macro nobrowser
+ */
+AWS.ECSCredentials = AWS.RemoteCredentials;
+
+
+/***/ }),
+
+/***/ 57714:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Represents credentials from the environment.
+ *
+ * By default, this class will look for the matching environment variables
+ * prefixed by a given {envPrefix}. The un-prefixed environment variable names
+ * for each credential value is listed below:
+ *
+ * ```javascript
+ * accessKeyId: ACCESS_KEY_ID
+ * secretAccessKey: SECRET_ACCESS_KEY
+ * sessionToken: SESSION_TOKEN
+ * ```
+ *
+ * With the default prefix of 'AWS', the environment variables would be:
+ *
+ * AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
+ *
+ * @!attribute envPrefix
+ * @readonly
+ * @return [String] the prefix for the environment variable names excluding
+ * the separating underscore ('_').
+ */
+AWS.EnvironmentCredentials = AWS.util.inherit(AWS.Credentials, {
+
+ /**
+ * Creates a new EnvironmentCredentials class with a given variable
+ * prefix {envPrefix}. For example, to load credentials using the 'AWS'
+ * prefix:
+ *
+ * ```javascript
+ * var creds = new AWS.EnvironmentCredentials('AWS');
+ * creds.accessKeyId == 'AKID' // from AWS_ACCESS_KEY_ID env var
+ * ```
+ *
+ * @param envPrefix [String] the prefix to use (e.g., 'AWS') for environment
+ * variables. Do not include the separating underscore.
+ */
+ constructor: function EnvironmentCredentials(envPrefix) {
+ AWS.Credentials.call(this);
+ this.envPrefix = envPrefix;
+ this.get(function() {});
+ },
+
+ /**
+ * Loads credentials from the environment using the prefixed
+ * environment variables.
+ *
+ * @callback callback function(err)
+ * Called after the (prefixed) ACCESS_KEY_ID, SECRET_ACCESS_KEY, and
+ * SESSION_TOKEN environment variables are read. When this callback is
+ * called with no error, it means that the credentials information has
+ * been loaded into the object (as the `accessKeyId`, `secretAccessKey`,
+ * and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ if (!callback) callback = AWS.util.fn.callback;
+
+ if (!process || !process.env) {
+ callback(AWS.util.error(
+ new Error('No process info or environment variables available'),
+ { code: 'EnvironmentCredentialsProviderFailure' }
+ ));
+ return;
+ }
+
+ var keys = ['ACCESS_KEY_ID', 'SECRET_ACCESS_KEY', 'SESSION_TOKEN'];
+ var values = [];
+
+ for (var i = 0; i < keys.length; i++) {
+ var prefix = '';
+ if (this.envPrefix) prefix = this.envPrefix + '_';
+ values[i] = process.env[prefix + keys[i]];
+ if (!values[i] && keys[i] !== 'SESSION_TOKEN') {
+ callback(AWS.util.error(
+ new Error('Variable ' + prefix + keys[i] + ' not set.'),
+ { code: 'EnvironmentCredentialsProviderFailure' }
+ ));
+ return;
+ }
+ }
+
+ this.expired = false;
+ AWS.Credentials.apply(this, values);
+ callback();
+ }
+
+});
+
+
+/***/ }),
+
+/***/ 27454:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Represents credentials from a JSON file on disk.
+ * If the credentials expire, the SDK can {refresh} the credentials
+ * from the file.
+ *
+ * The format of the file should be similar to the options passed to
+ * {AWS.Config}:
+ *
+ * ```javascript
+ * {accessKeyId: 'akid', secretAccessKey: 'secret', sessionToken: 'optional'}
+ * ```
+ *
+ * @example Loading credentials from disk
+ * var creds = new AWS.FileSystemCredentials('./configuration.json');
+ * creds.accessKeyId == 'AKID'
+ *
+ * @!attribute filename
+ * @readonly
+ * @return [String] the path to the JSON file on disk containing the
+ * credentials.
+ * @!macro nobrowser
+ */
+AWS.FileSystemCredentials = AWS.util.inherit(AWS.Credentials, {
+
+ /**
+ * @overload AWS.FileSystemCredentials(filename)
+ * Creates a new FileSystemCredentials object from a filename
+ *
+ * @param filename [String] the path on disk to the JSON file to load.
+ */
+ constructor: function FileSystemCredentials(filename) {
+ AWS.Credentials.call(this);
+ this.filename = filename;
+ this.get(function() {});
+ },
+
+ /**
+ * Loads the credentials from the {filename} on disk.
+ *
+ * @callback callback function(err)
+ * Called after the JSON file on disk is read and parsed. When this callback
+ * is called with no error, it means that the credentials information
+ * has been loaded into the object (as the `accessKeyId`, `secretAccessKey`,
+ * and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ if (!callback) callback = AWS.util.fn.callback;
+ try {
+ var creds = JSON.parse(AWS.util.readFileSync(this.filename));
+ AWS.Credentials.call(this, creds);
+ if (!this.accessKeyId || !this.secretAccessKey) {
+ throw AWS.util.error(
+ new Error('Credentials not set in ' + this.filename),
+ { code: 'FileSystemCredentialsProviderFailure' }
+ );
+ }
+ this.expired = false;
+ callback();
+ } catch (err) {
+ callback(err);
+ }
+ }
+
+});
+
+
+/***/ }),
+
+/***/ 80371:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var proc = __nccwpck_require__(32081);
+var iniLoader = AWS.util.iniLoader;
+
+/**
+ * Represents credentials loaded from shared credentials file
+ * (defaulting to ~/.aws/credentials or defined by the
+ * `AWS_SHARED_CREDENTIALS_FILE` environment variable).
+ *
+ * ## Using process credentials
+ *
+ * The credentials file can specify a credential provider that executes
+ * a given process and attempts to read its stdout to recieve a JSON payload
+ * containing the credentials:
+ *
+ * [default]
+ * credential_process = /usr/bin/credential_proc
+ *
+ * Automatically handles refreshing credentials if an Expiration time is
+ * provided in the credentials payload. Credentials supplied in the same profile
+ * will take precedence over the credential_process.
+ *
+ * Sourcing credentials from an external process can potentially be dangerous,
+ * so proceed with caution. Other credential providers should be preferred if
+ * at all possible. If using this option, you should make sure that the shared
+ * credentials file is as locked down as possible using security best practices
+ * for your operating system.
+ *
+ * ## Using custom profiles
+ *
+ * The SDK supports loading credentials for separate profiles. This can be done
+ * in two ways:
+ *
+ * 1. Set the `AWS_PROFILE` environment variable in your process prior to
+ * loading the SDK.
+ * 2. Directly load the AWS.ProcessCredentials provider:
+ *
+ * ```javascript
+ * var creds = new AWS.ProcessCredentials({profile: 'myprofile'});
+ * AWS.config.credentials = creds;
+ * ```
+ *
+ * @!macro nobrowser
+ */
+AWS.ProcessCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new ProcessCredentials object.
+ *
+ * @param options [map] a set of options
+ * @option options profile [String] (AWS_PROFILE env var or 'default')
+ * the name of the profile to load.
+ * @option options filename [String] ('~/.aws/credentials' or defined by
+ * AWS_SHARED_CREDENTIALS_FILE process env var)
+ * the filename to use when loading credentials.
+ * @option options callback [Function] (err) Credentials are eagerly loaded
+ * by the constructor. When the callback is called with no error, the
+ * credentials have been loaded successfully.
+ */
+ constructor: function ProcessCredentials(options) {
+ AWS.Credentials.call(this);
+
+ options = options || {};
+
+ this.filename = options.filename;
+ this.profile = options.profile || process.env.AWS_PROFILE || AWS.util.defaultProfile;
+ this.get(options.callback || AWS.util.fn.noop);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+ try {
+ var profiles = AWS.util.getProfilesFromSharedConfig(iniLoader, this.filename);
+ var profile = profiles[this.profile] || {};
+
+ if (Object.keys(profile).length === 0) {
+ throw AWS.util.error(
+ new Error('Profile ' + this.profile + ' not found'),
+ { code: 'ProcessCredentialsProviderFailure' }
+ );
+ }
+
+ if (profile['credential_process']) {
+ this.loadViaCredentialProcess(profile, function(err, data) {
+ if (err) {
+ callback(err, null);
+ } else {
+ self.expired = false;
+ self.accessKeyId = data.AccessKeyId;
+ self.secretAccessKey = data.SecretAccessKey;
+ self.sessionToken = data.SessionToken;
+ if (data.Expiration) {
+ self.expireTime = new Date(data.Expiration);
+ }
+ callback(null);
+ }
+ });
+ } else {
+ throw AWS.util.error(
+ new Error('Profile ' + this.profile + ' did not include credential process'),
+ { code: 'ProcessCredentialsProviderFailure' }
+ );
+ }
+ } catch (err) {
+ callback(err);
+ }
+ },
+
+ /**
+ * Executes the credential_process and retrieves
+ * credentials from the output
+ * @api private
+ * @param profile [map] credentials profile
+ * @throws ProcessCredentialsProviderFailure
+ */
+ loadViaCredentialProcess: function loadViaCredentialProcess(profile, callback) {
+ proc.exec(profile['credential_process'], { env: process.env }, function(err, stdOut, stdErr) {
+ if (err) {
+ callback(AWS.util.error(
+ new Error('credential_process returned error'),
+ { code: 'ProcessCredentialsProviderFailure'}
+ ), null);
+ } else {
+ try {
+ var credData = JSON.parse(stdOut);
+ if (credData.Expiration) {
+ var currentTime = AWS.util.date.getDate();
+ var expireTime = new Date(credData.Expiration);
+ if (expireTime < currentTime) {
+ throw Error('credential_process returned expired credentials');
+ }
+ }
+
+ if (credData.Version !== 1) {
+ throw Error('credential_process does not return Version == 1');
+ }
+ callback(null, credData);
+ } catch (err) {
+ callback(AWS.util.error(
+ new Error(err.message),
+ { code: 'ProcessCredentialsProviderFailure'}
+ ), null);
+ }
+ }
+ });
+ },
+
+ /**
+ * Loads the credentials from the credential process
+ *
+ * @callback callback function(err)
+ * Called after the credential process has been executed. When this
+ * callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ iniLoader.clearCachedFiles();
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ }
+});
+
+
+/***/ }),
+
+/***/ 88764:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437),
+ ENV_RELATIVE_URI = 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI',
+ ENV_FULL_URI = 'AWS_CONTAINER_CREDENTIALS_FULL_URI',
+ ENV_AUTH_TOKEN = 'AWS_CONTAINER_AUTHORIZATION_TOKEN',
+ FULL_URI_UNRESTRICTED_PROTOCOLS = ['https:'],
+ FULL_URI_ALLOWED_PROTOCOLS = ['http:', 'https:'],
+ FULL_URI_ALLOWED_HOSTNAMES = ['localhost', '127.0.0.1'],
+ RELATIVE_URI_HOST = '169.254.170.2';
+
+/**
+ * Represents credentials received from specified URI.
+ *
+ * This class will request refreshable credentials from the relative URI
+ * specified by the AWS_CONTAINER_CREDENTIALS_RELATIVE_URI or the
+ * AWS_CONTAINER_CREDENTIALS_FULL_URI environment variable. If valid credentials
+ * are returned in the response, these will be used with zero configuration.
+ *
+ * This credentials class will by default timeout after 1 second of inactivity
+ * and retry 3 times.
+ * If your requests to the relative URI are timing out, you can increase
+ * the value by configuring them directly:
+ *
+ * ```javascript
+ * AWS.config.credentials = new AWS.RemoteCredentials({
+ * httpOptions: { timeout: 5000 }, // 5 second timeout
+ * maxRetries: 10, // retry 10 times
+ * retryDelayOptions: { base: 200 } // see AWS.Config for information
+ * });
+ * ```
+ *
+ * @see AWS.Config.retryDelayOptions
+ *
+ * @!macro nobrowser
+ */
+AWS.RemoteCredentials = AWS.util.inherit(AWS.Credentials, {
+ constructor: function RemoteCredentials(options) {
+ AWS.Credentials.call(this);
+ options = options ? AWS.util.copy(options) : {};
+ if (!options.httpOptions) options.httpOptions = {};
+ options.httpOptions = AWS.util.merge(
+ this.httpOptions, options.httpOptions);
+ AWS.util.update(this, options);
+ },
+
+ /**
+ * @api private
+ */
+ httpOptions: { timeout: 1000 },
+
+ /**
+ * @api private
+ */
+ maxRetries: 3,
+
+ /**
+ * @api private
+ */
+ isConfiguredForEcsCredentials: function isConfiguredForEcsCredentials() {
+ return Boolean(
+ process &&
+ process.env &&
+ (process.env[ENV_RELATIVE_URI] || process.env[ENV_FULL_URI])
+ );
+ },
+
+ /**
+ * @api private
+ */
+ getECSFullUri: function getECSFullUri() {
+ if (process && process.env) {
+ var relative = process.env[ENV_RELATIVE_URI],
+ full = process.env[ENV_FULL_URI];
+ if (relative) {
+ return 'http://' + RELATIVE_URI_HOST + relative;
+ } else if (full) {
+ var parsed = AWS.util.urlParse(full);
+ if (FULL_URI_ALLOWED_PROTOCOLS.indexOf(parsed.protocol) < 0) {
+ throw AWS.util.error(
+ new Error('Unsupported protocol: AWS.RemoteCredentials supports '
+ + FULL_URI_ALLOWED_PROTOCOLS.join(',') + ' only; '
+ + parsed.protocol + ' requested.'),
+ { code: 'ECSCredentialsProviderFailure' }
+ );
+ }
+
+ if (FULL_URI_UNRESTRICTED_PROTOCOLS.indexOf(parsed.protocol) < 0 &&
+ FULL_URI_ALLOWED_HOSTNAMES.indexOf(parsed.hostname) < 0) {
+ throw AWS.util.error(
+ new Error('Unsupported hostname: AWS.RemoteCredentials only supports '
+ + FULL_URI_ALLOWED_HOSTNAMES.join(',') + ' for ' + parsed.protocol + '; '
+ + parsed.protocol + '//' + parsed.hostname + ' requested.'),
+ { code: 'ECSCredentialsProviderFailure' }
+ );
+ }
+
+ return full;
+ } else {
+ throw AWS.util.error(
+ new Error('Variable ' + ENV_RELATIVE_URI + ' or ' + ENV_FULL_URI +
+ ' must be set to use AWS.RemoteCredentials.'),
+ { code: 'ECSCredentialsProviderFailure' }
+ );
+ }
+ } else {
+ throw AWS.util.error(
+ new Error('No process info available'),
+ { code: 'ECSCredentialsProviderFailure' }
+ );
+ }
+ },
+
+ /**
+ * @api private
+ */
+ getECSAuthToken: function getECSAuthToken() {
+ if (process && process.env && process.env[ENV_FULL_URI]) {
+ return process.env[ENV_AUTH_TOKEN];
+ }
+ },
+
+ /**
+ * @api private
+ */
+ credsFormatIsValid: function credsFormatIsValid(credData) {
+ return (!!credData.accessKeyId && !!credData.secretAccessKey &&
+ !!credData.sessionToken && !!credData.expireTime);
+ },
+
+ /**
+ * @api private
+ */
+ formatCreds: function formatCreds(credData) {
+ if (!!credData.credentials) {
+ credData = credData.credentials;
+ }
+
+ return {
+ expired: false,
+ accessKeyId: credData.accessKeyId || credData.AccessKeyId,
+ secretAccessKey: credData.secretAccessKey || credData.SecretAccessKey,
+ sessionToken: credData.sessionToken || credData.Token,
+ expireTime: new Date(credData.expiration || credData.Expiration)
+ };
+ },
+
+ /**
+ * @api private
+ */
+ request: function request(url, callback) {
+ var httpRequest = new AWS.HttpRequest(url);
+ httpRequest.method = 'GET';
+ httpRequest.headers.Accept = 'application/json';
+ var token = this.getECSAuthToken();
+ if (token) {
+ httpRequest.headers.Authorization = token;
+ }
+ AWS.util.handleRequestWithRetries(httpRequest, this, callback);
+ },
+
+ /**
+ * Loads the credentials from the relative URI specified by container
+ *
+ * @callback callback function(err)
+ * Called when the request to the relative URI responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, `sessionToken`, and `expireTime` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+ var fullUri;
+
+ try {
+ fullUri = this.getECSFullUri();
+ } catch (err) {
+ callback(err);
+ return;
+ }
+
+ this.request(fullUri, function(err, data) {
+ if (!err) {
+ try {
+ data = JSON.parse(data);
+ var creds = self.formatCreds(data);
+ if (!self.credsFormatIsValid(creds)) {
+ throw AWS.util.error(
+ new Error('Response data is not in valid format'),
+ { code: 'ECSCredentialsProviderFailure' }
+ );
+ }
+ AWS.util.update(self, creds);
+ } catch (dataError) {
+ err = dataError;
+ }
+ }
+ callback(err, creds);
+ });
+ }
+});
+
+
+/***/ }),
+
+/***/ 15037:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var STS = __nccwpck_require__(57513);
+
+/**
+ * Represents credentials retrieved from STS SAML support.
+ *
+ * By default this provider gets credentials using the
+ * {AWS.STS.assumeRoleWithSAML} service operation. This operation
+ * requires a `RoleArn` containing the ARN of the IAM trust policy for the
+ * application for which credentials will be given, as well as a `PrincipalArn`
+ * representing the ARN for the SAML identity provider. In addition, the
+ * `SAMLAssertion` must be set to the token provided by the identity
+ * provider. See {constructor} for an example on creating a credentials
+ * object with proper `RoleArn`, `PrincipalArn`, and `SAMLAssertion` values.
+ *
+ * ## Refreshing Credentials from Identity Service
+ *
+ * In addition to AWS credentials expiring after a given amount of time, the
+ * login token from the identity provider will also expire. Once this token
+ * expires, it will not be usable to refresh AWS credentials, and another
+ * token will be needed. The SDK does not manage refreshing of the token value,
+ * but this can be done through a "refresh token" supported by most identity
+ * providers. Consult the documentation for the identity provider for refreshing
+ * tokens. Once the refreshed token is acquired, you should make sure to update
+ * this new token in the credentials object's {params} property. The following
+ * code will update the SAMLAssertion, assuming you have retrieved an updated
+ * token from the identity provider:
+ *
+ * ```javascript
+ * AWS.config.credentials.params.SAMLAssertion = updatedToken;
+ * ```
+ *
+ * Future calls to `credentials.refresh()` will now use the new token.
+ *
+ * @!attribute params
+ * @return [map] the map of params passed to
+ * {AWS.STS.assumeRoleWithSAML}. To update the token, set the
+ * `params.SAMLAssertion` property.
+ */
+AWS.SAMLCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new credentials object.
+ * @param (see AWS.STS.assumeRoleWithSAML)
+ * @example Creating a new credentials object
+ * AWS.config.credentials = new AWS.SAMLCredentials({
+ * RoleArn: 'arn:aws:iam::1234567890:role/SAMLRole',
+ * PrincipalArn: 'arn:aws:iam::1234567890:role/SAMLPrincipal',
+ * SAMLAssertion: 'base64-token', // base64-encoded token from IdP
+ * });
+ * @see AWS.STS.assumeRoleWithSAML
+ */
+ constructor: function SAMLCredentials(params) {
+ AWS.Credentials.call(this);
+ this.expired = true;
+ this.params = params;
+ },
+
+ /**
+ * Refreshes credentials using {AWS.STS.assumeRoleWithSAML}
+ *
+ * @callback callback function(err)
+ * Called when the STS service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+ self.createClients();
+ self.service.assumeRoleWithSAML(function (err, data) {
+ if (!err) {
+ self.service.credentialsFrom(data, self);
+ }
+ callback(err);
+ });
+ },
+
+ /**
+ * @api private
+ */
+ createClients: function() {
+ this.service = this.service || new STS({params: this.params});
+ }
+
+});
+
+
+/***/ }),
+
+/***/ 13754:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var STS = __nccwpck_require__(57513);
+var iniLoader = AWS.util.iniLoader;
+
+var ASSUME_ROLE_DEFAULT_REGION = 'us-east-1';
+
+/**
+ * Represents credentials loaded from shared credentials file
+ * (defaulting to ~/.aws/credentials or defined by the
+ * `AWS_SHARED_CREDENTIALS_FILE` environment variable).
+ *
+ * ## Using the shared credentials file
+ *
+ * This provider is checked by default in the Node.js environment. To use the
+ * credentials file provider, simply add your access and secret keys to the
+ * ~/.aws/credentials file in the following format:
+ *
+ * [default]
+ * aws_access_key_id = AKID...
+ * aws_secret_access_key = YOUR_SECRET_KEY
+ *
+ * ## Using custom profiles
+ *
+ * The SDK supports loading credentials for separate profiles. This can be done
+ * in two ways:
+ *
+ * 1. Set the `AWS_PROFILE` environment variable in your process prior to
+ * loading the SDK.
+ * 2. Directly load the AWS.SharedIniFileCredentials provider:
+ *
+ * ```javascript
+ * var creds = new AWS.SharedIniFileCredentials({profile: 'myprofile'});
+ * AWS.config.credentials = creds;
+ * ```
+ *
+ * @!macro nobrowser
+ */
+AWS.SharedIniFileCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new SharedIniFileCredentials object.
+ *
+ * @param options [map] a set of options
+ * @option options profile [String] (AWS_PROFILE env var or 'default')
+ * the name of the profile to load.
+ * @option options filename [String] ('~/.aws/credentials' or defined by
+ * AWS_SHARED_CREDENTIALS_FILE process env var)
+ * the filename to use when loading credentials.
+ * @option options disableAssumeRole [Boolean] (false) True to disable
+ * support for profiles that assume an IAM role. If true, and an assume
+ * role profile is selected, an error is raised.
+ * @option options preferStaticCredentials [Boolean] (false) True to
+ * prefer static credentials to role_arn if both are present.
+ * @option options tokenCodeFn [Function] (null) Function to provide
+ * STS Assume Role TokenCode, if mfa_serial is provided for profile in ini
+ * file. Function is called with value of mfa_serial and callback, and
+ * should provide the TokenCode or an error to the callback in the format
+ * callback(err, token)
+ * @option options callback [Function] (err) Credentials are eagerly loaded
+ * by the constructor. When the callback is called with no error, the
+ * credentials have been loaded successfully.
+ * @option options httpOptions [map] A set of options to pass to the low-level
+ * HTTP request. Currently supported options are:
+ * * **proxy** [String] — the URL to proxy requests through
+ * * **agent** [http.Agent, https.Agent] — the Agent object to perform
+ * HTTP requests with. Used for connection pooling. Defaults to the global
+ * agent (`http.globalAgent`) for non-SSL connections. Note that for
+ * SSL connections, a special Agent object is used in order to enable
+ * peer certificate verification. This feature is only available in the
+ * Node.js environment.
+ * * **connectTimeout** [Integer] — Sets the socket to timeout after
+ * failing to establish a connection with the server after
+ * `connectTimeout` milliseconds. This timeout has no effect once a socket
+ * connection has been established.
+ * * **timeout** [Integer] — The number of milliseconds a request can
+ * take before automatically being terminated.
+ * Defaults to two minutes (120000).
+ */
+ constructor: function SharedIniFileCredentials(options) {
+ AWS.Credentials.call(this);
+
+ options = options || {};
+
+ this.filename = options.filename;
+ this.profile = options.profile || process.env.AWS_PROFILE || AWS.util.defaultProfile;
+ this.disableAssumeRole = Boolean(options.disableAssumeRole);
+ this.preferStaticCredentials = Boolean(options.preferStaticCredentials);
+ this.tokenCodeFn = options.tokenCodeFn || null;
+ this.httpOptions = options.httpOptions || null;
+ this.get(options.callback || AWS.util.fn.noop);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+ try {
+ var profiles = AWS.util.getProfilesFromSharedConfig(iniLoader, this.filename);
+ var profile = profiles[this.profile] || {};
+
+ if (Object.keys(profile).length === 0) {
+ throw AWS.util.error(
+ new Error('Profile ' + this.profile + ' not found'),
+ { code: 'SharedIniFileCredentialsProviderFailure' }
+ );
+ }
+
+ /*
+ In the CLI, the presence of both a role_arn and static credentials have
+ different meanings depending on how many profiles have been visited. For
+ the first profile processed, role_arn takes precedence over any static
+ credentials, but for all subsequent profiles, static credentials are
+ used if present, and only in their absence will the profile's
+ source_profile and role_arn keys be used to load another set of
+ credentials. This var is intended to yield compatible behaviour in this
+ sdk.
+ */
+ var preferStaticCredentialsToRoleArn = Boolean(
+ this.preferStaticCredentials
+ && profile['aws_access_key_id']
+ && profile['aws_secret_access_key']
+ );
+
+ if (profile['role_arn'] && !preferStaticCredentialsToRoleArn) {
+ this.loadRoleProfile(profiles, profile, function(err, data) {
+ if (err) {
+ callback(err);
+ } else {
+ self.expired = false;
+ self.accessKeyId = data.Credentials.AccessKeyId;
+ self.secretAccessKey = data.Credentials.SecretAccessKey;
+ self.sessionToken = data.Credentials.SessionToken;
+ self.expireTime = data.Credentials.Expiration;
+ callback(null);
+ }
+ });
+ return;
+ }
+
+ this.accessKeyId = profile['aws_access_key_id'];
+ this.secretAccessKey = profile['aws_secret_access_key'];
+ this.sessionToken = profile['aws_session_token'];
+
+ if (!this.accessKeyId || !this.secretAccessKey) {
+ throw AWS.util.error(
+ new Error('Credentials not set for profile ' + this.profile),
+ { code: 'SharedIniFileCredentialsProviderFailure' }
+ );
+ }
+ this.expired = false;
+ callback(null);
+ } catch (err) {
+ callback(err);
+ }
+ },
+
+ /**
+ * Loads the credentials from the shared credentials file
+ *
+ * @callback callback function(err)
+ * Called after the shared INI file on disk is read and parsed. When this
+ * callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ iniLoader.clearCachedFiles();
+ this.coalesceRefresh(
+ callback || AWS.util.fn.callback,
+ this.disableAssumeRole
+ );
+ },
+
+ /**
+ * @api private
+ */
+ loadRoleProfile: function loadRoleProfile(creds, roleProfile, callback) {
+ if (this.disableAssumeRole) {
+ throw AWS.util.error(
+ new Error('Role assumption profiles are disabled. ' +
+ 'Failed to load profile ' + this.profile +
+ ' from ' + creds.filename),
+ { code: 'SharedIniFileCredentialsProviderFailure' }
+ );
+ }
+
+ var self = this;
+ var roleArn = roleProfile['role_arn'];
+ var roleSessionName = roleProfile['role_session_name'];
+ var externalId = roleProfile['external_id'];
+ var mfaSerial = roleProfile['mfa_serial'];
+ var sourceProfileName = roleProfile['source_profile'];
+ var durationSeconds = parseInt(roleProfile['duration_seconds'], 10) || undefined;
+
+ // From experimentation, the following behavior mimics the AWS CLI:
+ //
+ // 1. Use region from the profile if present.
+ // 2. Otherwise fall back to N. Virginia (global endpoint).
+ //
+ // It is necessary to do the fallback explicitly, because if
+ // 'AWS_STS_REGIONAL_ENDPOINTS=regional', the underlying STS client will
+ // otherwise throw an error if region is left 'undefined'.
+ //
+ // Experimentation shows that the AWS CLI (tested at version 1.18.136)
+ // ignores the following potential sources of a region for the purposes of
+ // this AssumeRole call:
+ //
+ // - The [default] profile
+ // - The AWS_REGION environment variable
+ //
+ // Ignoring the [default] profile for the purposes of AssumeRole is arguably
+ // a bug in the CLI since it does use the [default] region for service
+ // calls... but right now we're matching behavior of the other tool.
+ var profileRegion = roleProfile['region'] || ASSUME_ROLE_DEFAULT_REGION;
+
+ if (!sourceProfileName) {
+ throw AWS.util.error(
+ new Error('source_profile is not set using profile ' + this.profile),
+ { code: 'SharedIniFileCredentialsProviderFailure' }
+ );
+ }
+
+ var sourceProfileExistanceTest = creds[sourceProfileName];
+
+ if (typeof sourceProfileExistanceTest !== 'object') {
+ throw AWS.util.error(
+ new Error('source_profile ' + sourceProfileName + ' using profile '
+ + this.profile + ' does not exist'),
+ { code: 'SharedIniFileCredentialsProviderFailure' }
+ );
+ }
+
+ var sourceCredentials = new AWS.SharedIniFileCredentials(
+ AWS.util.merge(this.options || {}, {
+ profile: sourceProfileName,
+ preferStaticCredentials: true
+ })
+ );
+
+ this.roleArn = roleArn;
+ var sts = new STS({
+ credentials: sourceCredentials,
+ region: profileRegion,
+ httpOptions: this.httpOptions
+ });
+
+ var roleParams = {
+ DurationSeconds: durationSeconds,
+ RoleArn: roleArn,
+ RoleSessionName: roleSessionName || 'aws-sdk-js-' + Date.now()
+ };
+
+ if (externalId) {
+ roleParams.ExternalId = externalId;
+ }
+
+ if (mfaSerial && self.tokenCodeFn) {
+ roleParams.SerialNumber = mfaSerial;
+ self.tokenCodeFn(mfaSerial, function(err, token) {
+ if (err) {
+ var message;
+ if (err instanceof Error) {
+ message = err.message;
+ } else {
+ message = err;
+ }
+ callback(
+ AWS.util.error(
+ new Error('Error fetching MFA token: ' + message),
+ { code: 'SharedIniFileCredentialsProviderFailure' }
+ ));
+ return;
+ }
+
+ roleParams.TokenCode = token;
+ sts.assumeRole(roleParams, callback);
+ });
+ return;
+ }
+ sts.assumeRole(roleParams, callback);
+ }
+});
+
+
+/***/ }),
+
+/***/ 68335:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var path = __nccwpck_require__(71017);
+var crypto = __nccwpck_require__(6113);
+var iniLoader = AWS.util.iniLoader;
+
+/**
+ * Represents credentials from sso.getRoleCredentials API for
+ * `sso_*` values defined in shared credentials file.
+ *
+ * ## Using SSO credentials
+ *
+ * The credentials file must specify the information below to use sso:
+ *
+ * [profile sso-profile]
+ * sso_account_id = 012345678901
+ * sso_region = **-****-*
+ * sso_role_name = SampleRole
+ * sso_start_url = https://d-******.awsapps.com/start
+ *
+ * or using the session format:
+ *
+ * [profile sso-token]
+ * sso_session = prod
+ * sso_account_id = 012345678901
+ * sso_role_name = SampleRole
+ *
+ * [sso-session prod]
+ * sso_region = **-****-*
+ * sso_start_url = https://d-******.awsapps.com/start
+ *
+ * This information will be automatically added to your shared credentials file by running
+ * `aws configure sso`.
+ *
+ * ## Using custom profiles
+ *
+ * The SDK supports loading credentials for separate profiles. This can be done
+ * in two ways:
+ *
+ * 1. Set the `AWS_PROFILE` environment variable in your process prior to
+ * loading the SDK.
+ * 2. Directly load the AWS.SsoCredentials provider:
+ *
+ * ```javascript
+ * var creds = new AWS.SsoCredentials({profile: 'myprofile'});
+ * AWS.config.credentials = creds;
+ * ```
+ *
+ * @!macro nobrowser
+ */
+AWS.SsoCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new SsoCredentials object.
+ *
+ * @param options [map] a set of options
+ * @option options profile [String] (AWS_PROFILE env var or 'default')
+ * the name of the profile to load.
+ * @option options filename [String] ('~/.aws/credentials' or defined by
+ * AWS_SHARED_CREDENTIALS_FILE process env var)
+ * the filename to use when loading credentials.
+ * @option options callback [Function] (err) Credentials are eagerly loaded
+ * by the constructor. When the callback is called with no error, the
+ * credentials have been loaded successfully.
+ */
+ constructor: function SsoCredentials(options) {
+ AWS.Credentials.call(this);
+
+ options = options || {};
+ this.errorCode = 'SsoCredentialsProviderFailure';
+ this.expired = true;
+
+ this.filename = options.filename;
+ this.profile = options.profile || process.env.AWS_PROFILE || AWS.util.defaultProfile;
+ this.service = options.ssoClient;
+ this.httpOptions = options.httpOptions || null;
+ this.get(options.callback || AWS.util.fn.noop);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+
+ try {
+ var profiles = AWS.util.getProfilesFromSharedConfig(iniLoader, this.filename);
+ var profile = profiles[this.profile] || {};
+
+ if (Object.keys(profile).length === 0) {
+ throw AWS.util.error(
+ new Error('Profile ' + this.profile + ' not found'),
+ { code: self.errorCode }
+ );
+ }
+
+ if (profile.sso_session) {
+ if (!profile.sso_account_id || !profile.sso_role_name) {
+ throw AWS.util.error(
+ new Error('Profile ' + this.profile + ' with session ' + profile.sso_session +
+ ' does not have valid SSO credentials. Required parameters "sso_account_id", "sso_session", ' +
+ '"sso_role_name". Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html'),
+ { code: self.errorCode }
+ );
+ }
+ } else {
+ if (!profile.sso_start_url || !profile.sso_account_id || !profile.sso_region || !profile.sso_role_name) {
+ throw AWS.util.error(
+ new Error('Profile ' + this.profile + ' does not have valid SSO credentials. Required parameters "sso_account_id", "sso_region", ' +
+ '"sso_role_name", "sso_start_url". Reference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html'),
+ { code: self.errorCode }
+ );
+ }
+ }
+
+ this.getToken(this.profile, profile, function (err, token) {
+ if (err) {
+ return callback(err);
+ }
+ var request = {
+ accessToken: token,
+ accountId: profile.sso_account_id,
+ roleName: profile.sso_role_name,
+ };
+
+ if (!self.service || self.service.config.region !== profile.sso_region) {
+ self.service = new AWS.SSO({
+ region: profile.sso_region,
+ httpOptions: self.httpOptions,
+ });
+ }
+
+ self.service.getRoleCredentials(request, function(err, data) {
+ if (err || !data || !data.roleCredentials) {
+ callback(AWS.util.error(
+ err || new Error('Please log in using "aws sso login"'),
+ { code: self.errorCode }
+ ), null);
+ } else if (!data.roleCredentials.accessKeyId || !data.roleCredentials.secretAccessKey || !data.roleCredentials.sessionToken || !data.roleCredentials.expiration) {
+ throw AWS.util.error(new Error(
+ 'SSO returns an invalid temporary credential.'
+ ));
+ } else {
+ self.expired = false;
+ self.accessKeyId = data.roleCredentials.accessKeyId;
+ self.secretAccessKey = data.roleCredentials.secretAccessKey;
+ self.sessionToken = data.roleCredentials.sessionToken;
+ self.expireTime = new Date(data.roleCredentials.expiration);
+ callback(null);
+ }
+ });
+ });
+ } catch (err) {
+ callback(err);
+ }
+ },
+
+ /**
+ * @private
+ * Uses legacy file system retrieval or if sso-session is set,
+ * use the SSOTokenProvider.
+ *
+ * @param {string} profileName - name of the profile.
+ * @param {object} profile - profile data containing sso_session or sso_start_url etc.
+ * @param {function} callback - called with (err, (string) token).
+ *
+ * @returns {void}
+ */
+ getToken: function getToken(profileName, profile, callback) {
+ var self = this;
+
+ if (profile.sso_session) {
+ var _iniLoader = AWS.util.iniLoader;
+ var ssoSessions = _iniLoader.loadSsoSessionsFrom();
+ var ssoSession = ssoSessions[profile.sso_session];
+ Object.assign(profile, ssoSession);
+
+ var ssoTokenProvider = new AWS.SSOTokenProvider({
+ profile: profileName,
+ });
+ ssoTokenProvider.load(function (err) {
+ if (err) {
+ return callback(err);
+ }
+ return callback(null, ssoTokenProvider.token);
+ });
+ return;
+ }
+
+ try {
+ /**
+ * The time window (15 mins) that SDK will treat the SSO token expires in before the defined expiration date in token.
+ * This is needed because server side may have invalidated the token before the defined expiration date.
+ */
+ var EXPIRE_WINDOW_MS = 15 * 60 * 1000;
+ var hasher = crypto.createHash('sha1');
+ var fileName = hasher.update(profile.sso_start_url).digest('hex') + '.json';
+ var cachePath = path.join(
+ iniLoader.getHomeDir(),
+ '.aws',
+ 'sso',
+ 'cache',
+ fileName
+ );
+ var cacheFile = AWS.util.readFileSync(cachePath);
+ var cacheContent = null;
+ if (cacheFile) {
+ cacheContent = JSON.parse(cacheFile);
+ }
+ if (!cacheContent) {
+ throw AWS.util.error(
+ new Error('Cached credentials not found under ' + this.profile + ' profile. Please make sure you log in with aws sso login first'),
+ { code: self.errorCode }
+ );
+ }
+
+ if (!cacheContent.startUrl || !cacheContent.region || !cacheContent.accessToken || !cacheContent.expiresAt) {
+ throw AWS.util.error(
+ new Error('Cached credentials are missing required properties. Try running aws sso login.')
+ );
+ }
+
+ if (new Date(cacheContent.expiresAt).getTime() - Date.now() <= EXPIRE_WINDOW_MS) {
+ throw AWS.util.error(new Error(
+ 'The SSO session associated with this profile has expired. To refresh this SSO session run aws sso login with the corresponding profile.'
+ ));
+ }
+
+ return callback(null, cacheContent.accessToken);
+ } catch (err) {
+ return callback(err, null);
+ }
+ },
+
+ /**
+ * Loads the credentials from the AWS SSO process
+ *
+ * @callback callback function(err)
+ * Called after the AWS SSO process has been executed. When this
+ * callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ iniLoader.clearCachedFiles();
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+});
+
+
+/***/ }),
+
+/***/ 77360:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var STS = __nccwpck_require__(57513);
+
+/**
+ * Represents temporary credentials retrieved from {AWS.STS}. Without any
+ * extra parameters, credentials will be fetched from the
+ * {AWS.STS.getSessionToken} operation. If an IAM role is provided, the
+ * {AWS.STS.assumeRole} operation will be used to fetch credentials for the
+ * role instead.
+ *
+ * @note AWS.TemporaryCredentials is deprecated, but remains available for
+ * backwards compatibility. {AWS.ChainableTemporaryCredentials} is the
+ * preferred class for temporary credentials.
+ *
+ * To setup temporary credentials, configure a set of master credentials
+ * using the standard credentials providers (environment, EC2 instance metadata,
+ * or from the filesystem), then set the global credentials to a new
+ * temporary credentials object:
+ *
+ * ```javascript
+ * // Note that environment credentials are loaded by default,
+ * // the following line is shown for clarity:
+ * AWS.config.credentials = new AWS.EnvironmentCredentials('AWS');
+ *
+ * // Now set temporary credentials seeded from the master credentials
+ * AWS.config.credentials = new AWS.TemporaryCredentials();
+ *
+ * // subsequent requests will now use temporary credentials from AWS STS.
+ * new AWS.S3().listBucket(function(err, data) { ... });
+ * ```
+ *
+ * @!attribute masterCredentials
+ * @return [AWS.Credentials] the master (non-temporary) credentials used to
+ * get and refresh temporary credentials from AWS STS.
+ * @note (see constructor)
+ */
+AWS.TemporaryCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new temporary credentials object.
+ *
+ * @note In order to create temporary credentials, you first need to have
+ * "master" credentials configured in {AWS.Config.credentials}. These
+ * master credentials are necessary to retrieve the temporary credentials,
+ * as well as refresh the credentials when they expire.
+ * @param params [map] a map of options that are passed to the
+ * {AWS.STS.assumeRole} or {AWS.STS.getSessionToken} operations.
+ * If a `RoleArn` parameter is passed in, credentials will be based on the
+ * IAM role.
+ * @param masterCredentials [AWS.Credentials] the master (non-temporary) credentials
+ * used to get and refresh temporary credentials from AWS STS.
+ * @example Creating a new credentials object for generic temporary credentials
+ * AWS.config.credentials = new AWS.TemporaryCredentials();
+ * @example Creating a new credentials object for an IAM role
+ * AWS.config.credentials = new AWS.TemporaryCredentials({
+ * RoleArn: 'arn:aws:iam::1234567890:role/TemporaryCredentials',
+ * });
+ * @see AWS.STS.assumeRole
+ * @see AWS.STS.getSessionToken
+ */
+ constructor: function TemporaryCredentials(params, masterCredentials) {
+ AWS.Credentials.call(this);
+ this.loadMasterCredentials(masterCredentials);
+ this.expired = true;
+
+ this.params = params || {};
+ if (this.params.RoleArn) {
+ this.params.RoleSessionName =
+ this.params.RoleSessionName || 'temporary-credentials';
+ }
+ },
+
+ /**
+ * Refreshes credentials using {AWS.STS.assumeRole} or
+ * {AWS.STS.getSessionToken}, depending on whether an IAM role ARN was passed
+ * to the credentials {constructor}.
+ *
+ * @callback callback function(err)
+ * Called when the STS service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh (callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load (callback) {
+ var self = this;
+ self.createClients();
+ self.masterCredentials.get(function () {
+ self.service.config.credentials = self.masterCredentials;
+ var operation = self.params.RoleArn ?
+ self.service.assumeRole : self.service.getSessionToken;
+ operation.call(self.service, function (err, data) {
+ if (!err) {
+ self.service.credentialsFrom(data, self);
+ }
+ callback(err);
+ });
+ });
+ },
+
+ /**
+ * @api private
+ */
+ loadMasterCredentials: function loadMasterCredentials (masterCredentials) {
+ this.masterCredentials = masterCredentials || AWS.config.credentials;
+ while (this.masterCredentials.masterCredentials) {
+ this.masterCredentials = this.masterCredentials.masterCredentials;
+ }
+
+ if (typeof this.masterCredentials.get !== 'function') {
+ this.masterCredentials = new AWS.Credentials(this.masterCredentials);
+ }
+ },
+
+ /**
+ * @api private
+ */
+ createClients: function () {
+ this.service = this.service || new STS({params: this.params});
+ }
+
+});
+
+
+/***/ }),
+
+/***/ 11017:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var fs = __nccwpck_require__(57147);
+var STS = __nccwpck_require__(57513);
+var iniLoader = AWS.util.iniLoader;
+
+/**
+ * Represents OIDC credentials from a file on disk
+ * If the credentials expire, the SDK can {refresh} the credentials
+ * from the file.
+ *
+ * ## Using the web identity token file
+ *
+ * This provider is checked by default in the Node.js environment. To use
+ * the provider simply add your OIDC token to a file (ASCII encoding) and
+ * share the filename in either AWS_WEB_IDENTITY_TOKEN_FILE environment
+ * variable or web_identity_token_file shared config variable
+ *
+ * The file contains encoded OIDC token and the characters are
+ * ASCII encoded. OIDC tokens are JSON Web Tokens (JWT).
+ * JWT's are 3 base64 encoded strings joined by the '.' character.
+ *
+ * This class will read filename from AWS_WEB_IDENTITY_TOKEN_FILE
+ * environment variable or web_identity_token_file shared config variable,
+ * and get the OIDC token from filename.
+ * It will also read IAM role to be assumed from AWS_ROLE_ARN
+ * environment variable or role_arn shared config variable.
+ * This provider gets credetials using the {AWS.STS.assumeRoleWithWebIdentity}
+ * service operation
+ *
+ * @!macro nobrowser
+ */
+AWS.TokenFileWebIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
+
+ /**
+ * @example Creating a new credentials object
+ * AWS.config.credentials = new AWS.TokenFileWebIdentityCredentials(
+ * // optionally provide configuration to apply to the underlying AWS.STS service client
+ * // if configuration is not provided, then configuration will be pulled from AWS.config
+ * {
+ * // specify timeout options
+ * httpOptions: {
+ * timeout: 100
+ * }
+ * });
+ * @see AWS.Config
+ */
+ constructor: function TokenFileWebIdentityCredentials(clientConfig) {
+ AWS.Credentials.call(this);
+ this.data = null;
+ this.clientConfig = AWS.util.copy(clientConfig || {});
+ },
+
+ /**
+ * Returns params from environment variables
+ *
+ * @api private
+ */
+ getParamsFromEnv: function getParamsFromEnv() {
+ var ENV_TOKEN_FILE = 'AWS_WEB_IDENTITY_TOKEN_FILE',
+ ENV_ROLE_ARN = 'AWS_ROLE_ARN';
+ if (process.env[ENV_TOKEN_FILE] && process.env[ENV_ROLE_ARN]) {
+ return [{
+ envTokenFile: process.env[ENV_TOKEN_FILE],
+ roleArn: process.env[ENV_ROLE_ARN],
+ roleSessionName: process.env['AWS_ROLE_SESSION_NAME']
+ }];
+ }
+ },
+
+ /**
+ * Returns params from shared config variables
+ *
+ * @api private
+ */
+ getParamsFromSharedConfig: function getParamsFromSharedConfig() {
+ var profiles = AWS.util.getProfilesFromSharedConfig(iniLoader);
+ var profileName = process.env.AWS_PROFILE || AWS.util.defaultProfile;
+ var profile = profiles[profileName] || {};
+
+ if (Object.keys(profile).length === 0) {
+ throw AWS.util.error(
+ new Error('Profile ' + profileName + ' not found'),
+ { code: 'TokenFileWebIdentityCredentialsProviderFailure' }
+ );
+ }
+
+ var paramsArray = [];
+
+ while (!profile['web_identity_token_file'] && profile['source_profile']) {
+ paramsArray.unshift({
+ roleArn: profile['role_arn'],
+ roleSessionName: profile['role_session_name']
+ });
+ var sourceProfile = profile['source_profile'];
+ profile = profiles[sourceProfile];
+ }
+
+ paramsArray.unshift({
+ envTokenFile: profile['web_identity_token_file'],
+ roleArn: profile['role_arn'],
+ roleSessionName: profile['role_session_name']
+ });
+
+ return paramsArray;
+ },
+
+ /**
+ * Refreshes credentials using {AWS.STS.assumeRoleWithWebIdentity}
+ *
+ * @callback callback function(err)
+ * Called when the STS service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see AWS.Credentials.get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ */
+ assumeRoleChaining: function assumeRoleChaining(paramsArray, callback) {
+ var self = this;
+ if (paramsArray.length === 0) {
+ self.service.credentialsFrom(self.data, self);
+ callback();
+ } else {
+ var params = paramsArray.shift();
+ self.service.config.credentials = self.service.credentialsFrom(self.data, self);
+ self.service.assumeRole(
+ {
+ RoleArn: params.roleArn,
+ RoleSessionName: params.roleSessionName || 'token-file-web-identity'
+ },
+ function (err, data) {
+ self.data = null;
+ if (err) {
+ callback(err);
+ } else {
+ self.data = data;
+ self.assumeRoleChaining(paramsArray, callback);
+ }
+ }
+ );
+ }
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+ try {
+ var paramsArray = self.getParamsFromEnv();
+ if (!paramsArray) {
+ paramsArray = self.getParamsFromSharedConfig();
+ }
+ if (paramsArray) {
+ var params = paramsArray.shift();
+ var oidcToken = fs.readFileSync(params.envTokenFile, {encoding: 'ascii'});
+ if (!self.service) {
+ self.createClients();
+ }
+ self.service.assumeRoleWithWebIdentity(
+ {
+ WebIdentityToken: oidcToken,
+ RoleArn: params.roleArn,
+ RoleSessionName: params.roleSessionName || 'token-file-web-identity'
+ },
+ function (err, data) {
+ self.data = null;
+ if (err) {
+ callback(err);
+ } else {
+ self.data = data;
+ self.assumeRoleChaining(paramsArray, callback);
+ }
+ }
+ );
+ }
+ } catch (err) {
+ callback(err);
+ }
+ },
+
+ /**
+ * @api private
+ */
+ createClients: function() {
+ if (!this.service) {
+ var stsConfig = AWS.util.merge({}, this.clientConfig);
+ this.service = new STS(stsConfig);
+
+ // Retry in case of IDPCommunicationErrorException or InvalidIdentityToken
+ this.service.retryableError = function(error) {
+ if (error.code === 'IDPCommunicationErrorException' || error.code === 'InvalidIdentityToken') {
+ return true;
+ } else {
+ return AWS.Service.prototype.retryableError.call(this, error);
+ }
+ };
+ }
+ }
+});
+
+
+/***/ }),
+
+/***/ 74998:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var STS = __nccwpck_require__(57513);
+
+/**
+ * Represents credentials retrieved from STS Web Identity Federation support.
+ *
+ * By default this provider gets credentials using the
+ * {AWS.STS.assumeRoleWithWebIdentity} service operation. This operation
+ * requires a `RoleArn` containing the ARN of the IAM trust policy for the
+ * application for which credentials will be given. In addition, the
+ * `WebIdentityToken` must be set to the token provided by the identity
+ * provider. See {constructor} for an example on creating a credentials
+ * object with proper `RoleArn` and `WebIdentityToken` values.
+ *
+ * ## Refreshing Credentials from Identity Service
+ *
+ * In addition to AWS credentials expiring after a given amount of time, the
+ * login token from the identity provider will also expire. Once this token
+ * expires, it will not be usable to refresh AWS credentials, and another
+ * token will be needed. The SDK does not manage refreshing of the token value,
+ * but this can be done through a "refresh token" supported by most identity
+ * providers. Consult the documentation for the identity provider for refreshing
+ * tokens. Once the refreshed token is acquired, you should make sure to update
+ * this new token in the credentials object's {params} property. The following
+ * code will update the WebIdentityToken, assuming you have retrieved an updated
+ * token from the identity provider:
+ *
+ * ```javascript
+ * AWS.config.credentials.params.WebIdentityToken = updatedToken;
+ * ```
+ *
+ * Future calls to `credentials.refresh()` will now use the new token.
+ *
+ * @!attribute params
+ * @return [map] the map of params passed to
+ * {AWS.STS.assumeRoleWithWebIdentity}. To update the token, set the
+ * `params.WebIdentityToken` property.
+ * @!attribute data
+ * @return [map] the raw data response from the call to
+ * {AWS.STS.assumeRoleWithWebIdentity}. Use this if you want to get
+ * access to other properties from the response.
+ */
+AWS.WebIdentityCredentials = AWS.util.inherit(AWS.Credentials, {
+ /**
+ * Creates a new credentials object.
+ * @param (see AWS.STS.assumeRoleWithWebIdentity)
+ * @example Creating a new credentials object
+ * AWS.config.credentials = new AWS.WebIdentityCredentials({
+ * RoleArn: 'arn:aws:iam::1234567890:role/WebIdentity',
+ * WebIdentityToken: 'ABCDEFGHIJKLMNOP', // token from identity service
+ * RoleSessionName: 'web' // optional name, defaults to web-identity
+ * }, {
+ * // optionally provide configuration to apply to the underlying AWS.STS service client
+ * // if configuration is not provided, then configuration will be pulled from AWS.config
+ *
+ * // specify timeout options
+ * httpOptions: {
+ * timeout: 100
+ * }
+ * });
+ * @see AWS.STS.assumeRoleWithWebIdentity
+ * @see AWS.Config
+ */
+ constructor: function WebIdentityCredentials(params, clientConfig) {
+ AWS.Credentials.call(this);
+ this.expired = true;
+ this.params = params;
+ this.params.RoleSessionName = this.params.RoleSessionName || 'web-identity';
+ this.data = null;
+ this._clientConfig = AWS.util.copy(clientConfig || {});
+ },
+
+ /**
+ * Refreshes credentials using {AWS.STS.assumeRoleWithWebIdentity}
+ *
+ * @callback callback function(err)
+ * Called when the STS service responds (or fails). When
+ * this callback is called with no error, it means that the credentials
+ * information has been loaded into the object (as the `accessKeyId`,
+ * `secretAccessKey`, and `sessionToken` properties).
+ * @param err [Error] if an error occurred, this value will be filled
+ * @see get
+ */
+ refresh: function refresh(callback) {
+ this.coalesceRefresh(callback || AWS.util.fn.callback);
+ },
+
+ /**
+ * @api private
+ */
+ load: function load(callback) {
+ var self = this;
+ self.createClients();
+ self.service.assumeRoleWithWebIdentity(function (err, data) {
+ self.data = null;
+ if (!err) {
+ self.data = data;
+ self.service.credentialsFrom(data, self);
+ }
+ callback(err);
+ });
+ },
+
+ /**
+ * @api private
+ */
+ createClients: function() {
+ if (!this.service) {
+ var stsConfig = AWS.util.merge({}, this._clientConfig);
+ stsConfig.params = this.params;
+ this.service = new STS(stsConfig);
+ }
+ }
+
+});
+
+
+/***/ }),
+
+/***/ 45313:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var util = __nccwpck_require__(77985);
+var endpointDiscoveryEnabledEnvs = ['AWS_ENABLE_ENDPOINT_DISCOVERY', 'AWS_ENDPOINT_DISCOVERY_ENABLED'];
+
+/**
+ * Generate key (except resources and operation part) to index the endpoints in the cache
+ * If input shape has endpointdiscoveryid trait then use
+ * accessKey + operation + resources + region + service as cache key
+ * If input shape doesn't have endpointdiscoveryid trait then use
+ * accessKey + region + service as cache key
+ * @return [map] object with keys to index endpoints.
+ * @api private
+ */
+function getCacheKey(request) {
+ var service = request.service;
+ var api = service.api || {};
+ var operations = api.operations;
+ var identifiers = {};
+ if (service.config.region) {
+ identifiers.region = service.config.region;
+ }
+ if (api.serviceId) {
+ identifiers.serviceId = api.serviceId;
+ }
+ if (service.config.credentials.accessKeyId) {
+ identifiers.accessKeyId = service.config.credentials.accessKeyId;
+ }
+ return identifiers;
+}
+
+/**
+ * Recursive helper for marshallCustomIdentifiers().
+ * Looks for required string input members that have 'endpointdiscoveryid' trait.
+ * @api private
+ */
+function marshallCustomIdentifiersHelper(result, params, shape) {
+ if (!shape || params === undefined || params === null) return;
+ if (shape.type === 'structure' && shape.required && shape.required.length > 0) {
+ util.arrayEach(shape.required, function(name) {
+ var memberShape = shape.members[name];
+ if (memberShape.endpointDiscoveryId === true) {
+ var locationName = memberShape.isLocationName ? memberShape.name : name;
+ result[locationName] = String(params[name]);
+ } else {
+ marshallCustomIdentifiersHelper(result, params[name], memberShape);
+ }
+ });
+ }
+}
+
+/**
+ * Get custom identifiers for cache key.
+ * Identifies custom identifiers by checking each shape's `endpointDiscoveryId` trait.
+ * @param [object] request object
+ * @param [object] input shape of the given operation's api
+ * @api private
+ */
+function marshallCustomIdentifiers(request, shape) {
+ var identifiers = {};
+ marshallCustomIdentifiersHelper(identifiers, request.params, shape);
+ return identifiers;
+}
+
+/**
+ * Call endpoint discovery operation when it's optional.
+ * When endpoint is available in cache then use the cached endpoints. If endpoints
+ * are unavailable then use regional endpoints and call endpoint discovery operation
+ * asynchronously. This is turned off by default.
+ * @param [object] request object
+ * @api private
+ */
+function optionalDiscoverEndpoint(request) {
+ var service = request.service;
+ var api = service.api;
+ var operationModel = api.operations ? api.operations[request.operation] : undefined;
+ var inputShape = operationModel ? operationModel.input : undefined;
+
+ var identifiers = marshallCustomIdentifiers(request, inputShape);
+ var cacheKey = getCacheKey(request);
+ if (Object.keys(identifiers).length > 0) {
+ cacheKey = util.update(cacheKey, identifiers);
+ if (operationModel) cacheKey.operation = operationModel.name;
+ }
+ var endpoints = AWS.endpointCache.get(cacheKey);
+ if (endpoints && endpoints.length === 1 && endpoints[0].Address === '') {
+ //endpoint operation is being made but response not yet received
+ //or endpoint operation just failed in 1 minute
+ return;
+ } else if (endpoints && endpoints.length > 0) {
+ //found endpoint record from cache
+ request.httpRequest.updateEndpoint(endpoints[0].Address);
+ } else {
+ //endpoint record not in cache or outdated. make discovery operation
+ var endpointRequest = service.makeRequest(api.endpointOperation, {
+ Operation: operationModel.name,
+ Identifiers: identifiers,
+ });
+ addApiVersionHeader(endpointRequest);
+ endpointRequest.removeListener('validate', AWS.EventListeners.Core.VALIDATE_PARAMETERS);
+ endpointRequest.removeListener('retry', AWS.EventListeners.Core.RETRY_CHECK);
+ //put in a placeholder for endpoints already requested, prevent
+ //too much in-flight calls
+ AWS.endpointCache.put(cacheKey, [{
+ Address: '',
+ CachePeriodInMinutes: 1
+ }]);
+ endpointRequest.send(function(err, data) {
+ if (data && data.Endpoints) {
+ AWS.endpointCache.put(cacheKey, data.Endpoints);
+ } else if (err) {
+ AWS.endpointCache.put(cacheKey, [{
+ Address: '',
+ CachePeriodInMinutes: 1 //not to make more endpoint operation in next 1 minute
+ }]);
+ }
+ });
+ }
+}
+
+var requestQueue = {};
+
+/**
+ * Call endpoint discovery operation when it's required.
+ * When endpoint is available in cache then use cached ones. If endpoints are
+ * unavailable then SDK should call endpoint operation then use returned new
+ * endpoint for the api call. SDK will automatically attempt to do endpoint
+ * discovery. This is turned off by default
+ * @param [object] request object
+ * @api private
+ */
+function requiredDiscoverEndpoint(request, done) {
+ var service = request.service;
+ var api = service.api;
+ var operationModel = api.operations ? api.operations[request.operation] : undefined;
+ var inputShape = operationModel ? operationModel.input : undefined;
+
+ var identifiers = marshallCustomIdentifiers(request, inputShape);
+ var cacheKey = getCacheKey(request);
+ if (Object.keys(identifiers).length > 0) {
+ cacheKey = util.update(cacheKey, identifiers);
+ if (operationModel) cacheKey.operation = operationModel.name;
+ }
+ var cacheKeyStr = AWS.EndpointCache.getKeyString(cacheKey);
+ var endpoints = AWS.endpointCache.get(cacheKeyStr); //endpoint cache also accepts string keys
+ if (endpoints && endpoints.length === 1 && endpoints[0].Address === '') {
+ //endpoint operation is being made but response not yet received
+ //push request object to a pending queue
+ if (!requestQueue[cacheKeyStr]) requestQueue[cacheKeyStr] = [];
+ requestQueue[cacheKeyStr].push({request: request, callback: done});
+ return;
+ } else if (endpoints && endpoints.length > 0) {
+ request.httpRequest.updateEndpoint(endpoints[0].Address);
+ done();
+ } else {
+ var endpointRequest = service.makeRequest(api.endpointOperation, {
+ Operation: operationModel.name,
+ Identifiers: identifiers,
+ });
+ endpointRequest.removeListener('validate', AWS.EventListeners.Core.VALIDATE_PARAMETERS);
+ addApiVersionHeader(endpointRequest);
+
+ //put in a placeholder for endpoints already requested, prevent
+ //too much in-flight calls
+ AWS.endpointCache.put(cacheKeyStr, [{
+ Address: '',
+ CachePeriodInMinutes: 60 //long-live cache
+ }]);
+ endpointRequest.send(function(err, data) {
+ if (err) {
+ request.response.error = util.error(err, { retryable: false });
+ AWS.endpointCache.remove(cacheKey);
+
+ //fail all the pending requests in batch
+ if (requestQueue[cacheKeyStr]) {
+ var pendingRequests = requestQueue[cacheKeyStr];
+ util.arrayEach(pendingRequests, function(requestContext) {
+ requestContext.request.response.error = util.error(err, { retryable: false });
+ requestContext.callback();
+ });
+ delete requestQueue[cacheKeyStr];
+ }
+ } else if (data) {
+ AWS.endpointCache.put(cacheKeyStr, data.Endpoints);
+ request.httpRequest.updateEndpoint(data.Endpoints[0].Address);
+
+ //update the endpoint for all the pending requests in batch
+ if (requestQueue[cacheKeyStr]) {
+ var pendingRequests = requestQueue[cacheKeyStr];
+ util.arrayEach(pendingRequests, function(requestContext) {
+ requestContext.request.httpRequest.updateEndpoint(data.Endpoints[0].Address);
+ requestContext.callback();
+ });
+ delete requestQueue[cacheKeyStr];
+ }
+ }
+ done();
+ });
+ }
+}
+
+/**
+ * add api version header to endpoint operation
+ * @api private
+ */
+function addApiVersionHeader(endpointRequest) {
+ var api = endpointRequest.service.api;
+ var apiVersion = api.apiVersion;
+ if (apiVersion && !endpointRequest.httpRequest.headers['x-amz-api-version']) {
+ endpointRequest.httpRequest.headers['x-amz-api-version'] = apiVersion;
+ }
+}
+
+/**
+ * If api call gets invalid endpoint exception, SDK should attempt to remove the invalid
+ * endpoint from cache.
+ * @api private
+ */
+function invalidateCachedEndpoints(response) {
+ var error = response.error;
+ var httpResponse = response.httpResponse;
+ if (error &&
+ (error.code === 'InvalidEndpointException' || httpResponse.statusCode === 421)
+ ) {
+ var request = response.request;
+ var operations = request.service.api.operations || {};
+ var inputShape = operations[request.operation] ? operations[request.operation].input : undefined;
+ var identifiers = marshallCustomIdentifiers(request, inputShape);
+ var cacheKey = getCacheKey(request);
+ if (Object.keys(identifiers).length > 0) {
+ cacheKey = util.update(cacheKey, identifiers);
+ if (operations[request.operation]) cacheKey.operation = operations[request.operation].name;
+ }
+ AWS.endpointCache.remove(cacheKey);
+ }
+}
+
+/**
+ * If endpoint is explicitly configured, SDK should not do endpoint discovery in anytime.
+ * @param [object] client Service client object.
+ * @api private
+ */
+function hasCustomEndpoint(client) {
+ //if set endpoint is set for specific client, enable endpoint discovery will raise an error.
+ if (client._originalConfig && client._originalConfig.endpoint && client._originalConfig.endpointDiscoveryEnabled === true) {
+ throw util.error(new Error(), {
+ code: 'ConfigurationException',
+ message: 'Custom endpoint is supplied; endpointDiscoveryEnabled must not be true.'
+ });
+ };
+ var svcConfig = AWS.config[client.serviceIdentifier] || {};
+ return Boolean(AWS.config.endpoint || svcConfig.endpoint || (client._originalConfig && client._originalConfig.endpoint));
+}
+
+/**
+ * @api private
+ */
+function isFalsy(value) {
+ return ['false', '0'].indexOf(value) >= 0;
+}
+
+/**
+ * If endpoint discovery should perform for this request when no operation requires endpoint
+ * discovery for the given service.
+ * SDK performs config resolution in order like below:
+ * 1. If set in client configuration.
+ * 2. If set in env AWS_ENABLE_ENDPOINT_DISCOVERY.
+ * 3. If set in shared ini config file with key 'endpoint_discovery_enabled'.
+ * @param [object] request request object.
+ * @returns [boolean|undefined] if endpoint discovery config is not set in any source, this
+ * function returns undefined
+ * @api private
+ */
+function resolveEndpointDiscoveryConfig(request) {
+ var service = request.service || {};
+ if (service.config.endpointDiscoveryEnabled !== undefined) {
+ return service.config.endpointDiscoveryEnabled;
+ }
+
+ //shared ini file is only available in Node
+ //not to check env in browser
+ if (util.isBrowser()) return undefined;
+
+ // If any of recognized endpoint discovery config env is set
+ for (var i = 0; i < endpointDiscoveryEnabledEnvs.length; i++) {
+ var env = endpointDiscoveryEnabledEnvs[i];
+ if (Object.prototype.hasOwnProperty.call(process.env, env)) {
+ if (process.env[env] === '' || process.env[env] === undefined) {
+ throw util.error(new Error(), {
+ code: 'ConfigurationException',
+ message: 'environmental variable ' + env + ' cannot be set to nothing'
+ });
+ }
+ return !isFalsy(process.env[env]);
+ }
+ }
+
+ var configFile = {};
+ try {
+ configFile = AWS.util.iniLoader ? AWS.util.iniLoader.loadFrom({
+ isConfig: true,
+ filename: process.env[AWS.util.sharedConfigFileEnv]
+ }) : {};
+ } catch (e) {}
+ var sharedFileConfig = configFile[
+ process.env.AWS_PROFILE || AWS.util.defaultProfile
+ ] || {};
+ if (Object.prototype.hasOwnProperty.call(sharedFileConfig, 'endpoint_discovery_enabled')) {
+ if (sharedFileConfig.endpoint_discovery_enabled === undefined) {
+ throw util.error(new Error(), {
+ code: 'ConfigurationException',
+ message: 'config file entry \'endpoint_discovery_enabled\' cannot be set to nothing'
+ });
+ }
+ return !isFalsy(sharedFileConfig.endpoint_discovery_enabled);
+ }
+ return undefined;
+}
+
+/**
+ * attach endpoint discovery logic to request object
+ * @param [object] request
+ * @api private
+ */
+function discoverEndpoint(request, done) {
+ var service = request.service || {};
+ if (hasCustomEndpoint(service) || request.isPresigned()) return done();
+
+ var operations = service.api.operations || {};
+ var operationModel = operations[request.operation];
+ var isEndpointDiscoveryRequired = operationModel ? operationModel.endpointDiscoveryRequired : 'NULL';
+ var isEnabled = resolveEndpointDiscoveryConfig(request);
+ var hasRequiredEndpointDiscovery = service.api.hasRequiredEndpointDiscovery;
+ if (isEnabled || hasRequiredEndpointDiscovery) {
+ // Once a customer enables endpoint discovery, the SDK should start appending
+ // the string endpoint-discovery to the user-agent on all requests.
+ request.httpRequest.appendToUserAgent('endpoint-discovery');
+ }
+ switch (isEndpointDiscoveryRequired) {
+ case 'OPTIONAL':
+ if (isEnabled || hasRequiredEndpointDiscovery) {
+ // For a given service; if at least one operation requires endpoint discovery then the SDK must enable endpoint discovery
+ // by default for all operations of that service, including operations where endpoint discovery is optional.
+ optionalDiscoverEndpoint(request);
+ request.addNamedListener('INVALIDATE_CACHED_ENDPOINTS', 'extractError', invalidateCachedEndpoints);
+ }
+ done();
+ break;
+ case 'REQUIRED':
+ if (isEnabled === false) {
+ // For a given operation; if endpoint discovery is required and it has been disabled on the SDK client,
+ // then the SDK must return a clear and actionable exception.
+ request.response.error = util.error(new Error(), {
+ code: 'ConfigurationException',
+ message: 'Endpoint Discovery is disabled but ' + service.api.className + '.' + request.operation +
+ '() requires it. Please check your configurations.'
+ });
+ done();
+ break;
+ }
+ request.addNamedListener('INVALIDATE_CACHED_ENDPOINTS', 'extractError', invalidateCachedEndpoints);
+ requiredDiscoverEndpoint(request, done);
+ break;
+ case 'NULL':
+ default:
+ done();
+ break;
+ }
+}
+
+module.exports = {
+ discoverEndpoint: discoverEndpoint,
+ requiredDiscoverEndpoint: requiredDiscoverEndpoint,
+ optionalDiscoverEndpoint: optionalDiscoverEndpoint,
+ marshallCustomIdentifiers: marshallCustomIdentifiers,
+ getCacheKey: getCacheKey,
+ invalidateCachedEndpoint: invalidateCachedEndpoints,
+};
+
+
+/***/ }),
+
+/***/ 76663:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var util = AWS.util;
+var typeOf = (__nccwpck_require__(48084).typeOf);
+var DynamoDBSet = __nccwpck_require__(20304);
+var NumberValue = __nccwpck_require__(91593);
+
+AWS.DynamoDB.Converter = {
+ /**
+ * Convert a JavaScript value to its equivalent DynamoDB AttributeValue type
+ *
+ * @param data [any] The data to convert to a DynamoDB AttributeValue
+ * @param options [map]
+ * @option options convertEmptyValues [Boolean] Whether to automatically
+ * convert empty strings, blobs,
+ * and sets to `null`
+ * @option options wrapNumbers [Boolean] Whether to return numbers as a
+ * NumberValue object instead of
+ * converting them to native JavaScript
+ * numbers. This allows for the safe
+ * round-trip transport of numbers of
+ * arbitrary size.
+ * @return [map] An object in the Amazon DynamoDB AttributeValue format
+ *
+ * @see AWS.DynamoDB.Converter.marshall AWS.DynamoDB.Converter.marshall to
+ * convert entire records (rather than individual attributes)
+ */
+ input: function convertInput(data, options) {
+ options = options || {};
+ var type = typeOf(data);
+ if (type === 'Object') {
+ return formatMap(data, options);
+ } else if (type === 'Array') {
+ return formatList(data, options);
+ } else if (type === 'Set') {
+ return formatSet(data, options);
+ } else if (type === 'String') {
+ if (data.length === 0 && options.convertEmptyValues) {
+ return convertInput(null);
+ }
+ return { S: data };
+ } else if (type === 'Number' || type === 'NumberValue') {
+ return { N: data.toString() };
+ } else if (type === 'Binary') {
+ if (data.length === 0 && options.convertEmptyValues) {
+ return convertInput(null);
+ }
+ return { B: data };
+ } else if (type === 'Boolean') {
+ return { BOOL: data };
+ } else if (type === 'null') {
+ return { NULL: true };
+ } else if (type !== 'undefined' && type !== 'Function') {
+ // this value has a custom constructor
+ return formatMap(data, options);
+ }
+ },
+
+ /**
+ * Convert a JavaScript object into a DynamoDB record.
+ *
+ * @param data [any] The data to convert to a DynamoDB record
+ * @param options [map]
+ * @option options convertEmptyValues [Boolean] Whether to automatically
+ * convert empty strings, blobs,
+ * and sets to `null`
+ * @option options wrapNumbers [Boolean] Whether to return numbers as a
+ * NumberValue object instead of
+ * converting them to native JavaScript
+ * numbers. This allows for the safe
+ * round-trip transport of numbers of
+ * arbitrary size.
+ *
+ * @return [map] An object in the DynamoDB record format.
+ *
+ * @example Convert a JavaScript object into a DynamoDB record
+ * var marshalled = AWS.DynamoDB.Converter.marshall({
+ * string: 'foo',
+ * list: ['fizz', 'buzz', 'pop'],
+ * map: {
+ * nestedMap: {
+ * key: 'value',
+ * }
+ * },
+ * number: 123,
+ * nullValue: null,
+ * boolValue: true,
+ * stringSet: new DynamoDBSet(['foo', 'bar', 'baz'])
+ * });
+ */
+ marshall: function marshallItem(data, options) {
+ return AWS.DynamoDB.Converter.input(data, options).M;
+ },
+
+ /**
+ * Convert a DynamoDB AttributeValue object to its equivalent JavaScript type.
+ *
+ * @param data [map] An object in the Amazon DynamoDB AttributeValue format
+ * @param options [map]
+ * @option options convertEmptyValues [Boolean] Whether to automatically
+ * convert empty strings, blobs,
+ * and sets to `null`
+ * @option options wrapNumbers [Boolean] Whether to return numbers as a
+ * NumberValue object instead of
+ * converting them to native JavaScript
+ * numbers. This allows for the safe
+ * round-trip transport of numbers of
+ * arbitrary size.
+ *
+ * @return [Object|Array|String|Number|Boolean|null]
+ *
+ * @see AWS.DynamoDB.Converter.unmarshall AWS.DynamoDB.Converter.unmarshall to
+ * convert entire records (rather than individual attributes)
+ */
+ output: function convertOutput(data, options) {
+ options = options || {};
+ var list, map, i;
+ for (var type in data) {
+ var values = data[type];
+ if (type === 'M') {
+ map = {};
+ for (var key in values) {
+ map[key] = convertOutput(values[key], options);
+ }
+ return map;
+ } else if (type === 'L') {
+ list = [];
+ for (i = 0; i < values.length; i++) {
+ list.push(convertOutput(values[i], options));
+ }
+ return list;
+ } else if (type === 'SS') {
+ list = [];
+ for (i = 0; i < values.length; i++) {
+ list.push(values[i] + '');
+ }
+ return new DynamoDBSet(list);
+ } else if (type === 'NS') {
+ list = [];
+ for (i = 0; i < values.length; i++) {
+ list.push(convertNumber(values[i], options.wrapNumbers));
+ }
+ return new DynamoDBSet(list);
+ } else if (type === 'BS') {
+ list = [];
+ for (i = 0; i < values.length; i++) {
+ list.push(AWS.util.buffer.toBuffer(values[i]));
+ }
+ return new DynamoDBSet(list);
+ } else if (type === 'S') {
+ return values + '';
+ } else if (type === 'N') {
+ return convertNumber(values, options.wrapNumbers);
+ } else if (type === 'B') {
+ return util.buffer.toBuffer(values);
+ } else if (type === 'BOOL') {
+ return (values === 'true' || values === 'TRUE' || values === true);
+ } else if (type === 'NULL') {
+ return null;
+ }
+ }
+ },
+
+ /**
+ * Convert a DynamoDB record into a JavaScript object.
+ *
+ * @param data [any] The DynamoDB record
+ * @param options [map]
+ * @option options convertEmptyValues [Boolean] Whether to automatically
+ * convert empty strings, blobs,
+ * and sets to `null`
+ * @option options wrapNumbers [Boolean] Whether to return numbers as a
+ * NumberValue object instead of
+ * converting them to native JavaScript
+ * numbers. This allows for the safe
+ * round-trip transport of numbers of
+ * arbitrary size.
+ *
+ * @return [map] An object whose properties have been converted from
+ * DynamoDB's AttributeValue format into their corresponding native
+ * JavaScript types.
+ *
+ * @example Convert a record received from a DynamoDB stream
+ * var unmarshalled = AWS.DynamoDB.Converter.unmarshall({
+ * string: {S: 'foo'},
+ * list: {L: [{S: 'fizz'}, {S: 'buzz'}, {S: 'pop'}]},
+ * map: {
+ * M: {
+ * nestedMap: {
+ * M: {
+ * key: {S: 'value'}
+ * }
+ * }
+ * }
+ * },
+ * number: {N: '123'},
+ * nullValue: {NULL: true},
+ * boolValue: {BOOL: true}
+ * });
+ */
+ unmarshall: function unmarshall(data, options) {
+ return AWS.DynamoDB.Converter.output({M: data}, options);
+ }
+};
+
+/**
+ * @api private
+ * @param data [Array]
+ * @param options [map]
+ */
+function formatList(data, options) {
+ var list = {L: []};
+ for (var i = 0; i < data.length; i++) {
+ list['L'].push(AWS.DynamoDB.Converter.input(data[i], options));
+ }
+ return list;
+}
+
+/**
+ * @api private
+ * @param value [String]
+ * @param wrapNumbers [Boolean]
+ */
+function convertNumber(value, wrapNumbers) {
+ return wrapNumbers ? new NumberValue(value) : Number(value);
+}
+
+/**
+ * @api private
+ * @param data [map]
+ * @param options [map]
+ */
+function formatMap(data, options) {
+ var map = {M: {}};
+ for (var key in data) {
+ var formatted = AWS.DynamoDB.Converter.input(data[key], options);
+ if (formatted !== void 0) {
+ map['M'][key] = formatted;
+ }
+ }
+ return map;
+}
+
+/**
+ * @api private
+ */
+function formatSet(data, options) {
+ options = options || {};
+ var values = data.values;
+ if (options.convertEmptyValues) {
+ values = filterEmptySetValues(data);
+ if (values.length === 0) {
+ return AWS.DynamoDB.Converter.input(null);
+ }
+ }
+
+ var map = {};
+ switch (data.type) {
+ case 'String': map['SS'] = values; break;
+ case 'Binary': map['BS'] = values; break;
+ case 'Number': map['NS'] = values.map(function (value) {
+ return value.toString();
+ });
+ }
+ return map;
+}
+
+/**
+ * @api private
+ */
+function filterEmptySetValues(set) {
+ var nonEmptyValues = [];
+ var potentiallyEmptyTypes = {
+ String: true,
+ Binary: true,
+ Number: false
+ };
+ if (potentiallyEmptyTypes[set.type]) {
+ for (var i = 0; i < set.values.length; i++) {
+ if (set.values[i].length === 0) {
+ continue;
+ }
+ nonEmptyValues.push(set.values[i]);
+ }
+
+ return nonEmptyValues;
+ }
+
+ return set.values;
+}
+
+/**
+ * @api private
+ */
+module.exports = AWS.DynamoDB.Converter;
+
+
+/***/ }),
+
+/***/ 90030:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var Translator = __nccwpck_require__(34222);
+var DynamoDBSet = __nccwpck_require__(20304);
+
+/**
+ * The document client simplifies working with items in Amazon DynamoDB
+ * by abstracting away the notion of attribute values. This abstraction
+ * annotates native JavaScript types supplied as input parameters, as well
+ * as converts annotated response data to native JavaScript types.
+ *
+ * ## Marshalling Input and Unmarshalling Response Data
+ *
+ * The document client affords developers the use of native JavaScript types
+ * instead of `AttributeValue`s to simplify the JavaScript development
+ * experience with Amazon DynamoDB. JavaScript objects passed in as parameters
+ * are marshalled into `AttributeValue` shapes required by Amazon DynamoDB.
+ * Responses from DynamoDB are unmarshalled into plain JavaScript objects
+ * by the `DocumentClient`. The `DocumentClient`, does not accept
+ * `AttributeValue`s in favor of native JavaScript types.
+ *
+ * | JavaScript Type | DynamoDB AttributeValue |
+ * |:----------------------------------------------------------------------:|-------------------------|
+ * | String | S |
+ * | Number | N |
+ * | Boolean | BOOL |
+ * | null | NULL |
+ * | Array | L |
+ * | Object | M |
+ * | Buffer, File, Blob, ArrayBuffer, DataView, and JavaScript typed arrays | B |
+ *
+ * ## Support for Sets
+ *
+ * The `DocumentClient` offers a convenient way to create sets from
+ * JavaScript Arrays. The type of set is inferred from the first element
+ * in the array. DynamoDB supports string, number, and binary sets. To
+ * learn more about supported types see the
+ * [Amazon DynamoDB Data Model Documentation](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)
+ * For more information see {AWS.DynamoDB.DocumentClient.createSet}
+ *
+ */
+AWS.DynamoDB.DocumentClient = AWS.util.inherit({
+
+ /**
+ * Creates a DynamoDB document client with a set of configuration options.
+ *
+ * @option options params [map] An optional map of parameters to bind to every
+ * request sent by this service object.
+ * @option options service [AWS.DynamoDB] An optional pre-configured instance
+ * of the AWS.DynamoDB service object. This instance's config will be
+ * copied to a new instance used by this client. You should not need to
+ * retain a reference to the input object, and may destroy it or allow it
+ * to be garbage collected.
+ * @option options convertEmptyValues [Boolean] set to true if you would like
+ * the document client to convert empty values (0-length strings, binary
+ * buffers, and sets) to be converted to NULL types when persisting to
+ * DynamoDB.
+ * @option options wrapNumbers [Boolean] Set to true to return numbers as a
+ * NumberValue object instead of converting them to native JavaScript numbers.
+ * This allows for the safe round-trip transport of numbers of arbitrary size.
+ * @see AWS.DynamoDB.constructor
+ *
+ */
+ constructor: function DocumentClient(options) {
+ var self = this;
+ self.options = options || {};
+ self.configure(self.options);
+ },
+
+ /**
+ * @api private
+ */
+ configure: function configure(options) {
+ var self = this;
+ self.service = options.service;
+ self.bindServiceObject(options);
+ self.attrValue = options.attrValue =
+ self.service.api.operations.putItem.input.members.Item.value.shape;
+ },
+
+ /**
+ * @api private
+ */
+ bindServiceObject: function bindServiceObject(options) {
+ var self = this;
+ options = options || {};
+
+ if (!self.service) {
+ self.service = new AWS.DynamoDB(options);
+ } else {
+ var config = AWS.util.copy(self.service.config);
+ self.service = new self.service.constructor.__super__(config);
+ self.service.config.params =
+ AWS.util.merge(self.service.config.params || {}, options.params);
+ }
+ },
+
+ /**
+ * @api private
+ */
+ makeServiceRequest: function(operation, params, callback) {
+ var self = this;
+ var request = self.service[operation](params);
+ self.setupRequest(request);
+ self.setupResponse(request);
+ if (typeof callback === 'function') {
+ request.send(callback);
+ }
+ return request;
+ },
+
+ /**
+ * @api private
+ */
+ serviceClientOperationsMap: {
+ batchGet: 'batchGetItem',
+ batchWrite: 'batchWriteItem',
+ delete: 'deleteItem',
+ get: 'getItem',
+ put: 'putItem',
+ query: 'query',
+ scan: 'scan',
+ update: 'updateItem',
+ transactGet: 'transactGetItems',
+ transactWrite: 'transactWriteItems'
+ },
+
+ /**
+ * Returns the attributes of one or more items from one or more tables
+ * by delegating to `AWS.DynamoDB.batchGetItem()`.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.batchGetItem} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.batchGetItem
+ * @example Get items from multiple tables
+ * var params = {
+ * RequestItems: {
+ * 'Table-1': {
+ * Keys: [
+ * {
+ * HashKey: 'haskey',
+ * NumberRangeKey: 1
+ * }
+ * ]
+ * },
+ * 'Table-2': {
+ * Keys: [
+ * { foo: 'bar' },
+ * ]
+ * }
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.batchGet(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ batchGet: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['batchGet'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Puts or deletes multiple items in one or more tables by delegating
+ * to `AWS.DynamoDB.batchWriteItem()`.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.batchWriteItem} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.batchWriteItem
+ * @example Write to and delete from a table
+ * var params = {
+ * RequestItems: {
+ * 'Table-1': [
+ * {
+ * DeleteRequest: {
+ * Key: { HashKey: 'someKey' }
+ * }
+ * },
+ * {
+ * PutRequest: {
+ * Item: {
+ * HashKey: 'anotherKey',
+ * NumAttribute: 1,
+ * BoolAttribute: true,
+ * ListAttribute: [1, 'two', false],
+ * MapAttribute: { foo: 'bar' }
+ * }
+ * }
+ * }
+ * ]
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.batchWrite(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ batchWrite: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['batchWrite'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Deletes a single item in a table by primary key by delegating to
+ * `AWS.DynamoDB.deleteItem()`
+ *
+ * Supply the same parameters as {AWS.DynamoDB.deleteItem} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.deleteItem
+ * @example Delete an item from a table
+ * var params = {
+ * TableName : 'Table',
+ * Key: {
+ * HashKey: 'hashkey',
+ * NumberRangeKey: 1
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.delete(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ delete: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['delete'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Returns a set of attributes for the item with the given primary key
+ * by delegating to `AWS.DynamoDB.getItem()`.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.getItem} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.getItem
+ * @example Get an item from a table
+ * var params = {
+ * TableName : 'Table',
+ * Key: {
+ * HashKey: 'hashkey'
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.get(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ get: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['get'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Creates a new item, or replaces an old item with a new item by
+ * delegating to `AWS.DynamoDB.putItem()`.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.putItem} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.putItem
+ * @example Create a new item in a table
+ * var params = {
+ * TableName : 'Table',
+ * Item: {
+ * HashKey: 'haskey',
+ * NumAttribute: 1,
+ * BoolAttribute: true,
+ * ListAttribute: [1, 'two', false],
+ * MapAttribute: { foo: 'bar'},
+ * NullAttribute: null
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.put(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ put: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['put'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Edits an existing item's attributes, or adds a new item to the table if
+ * it does not already exist by delegating to `AWS.DynamoDB.updateItem()`.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.updateItem} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.updateItem
+ * @example Update an item with expressions
+ * var params = {
+ * TableName: 'Table',
+ * Key: { HashKey : 'hashkey' },
+ * UpdateExpression: 'set #a = :x + :y',
+ * ConditionExpression: '#a < :MAX',
+ * ExpressionAttributeNames: {'#a' : 'Sum'},
+ * ExpressionAttributeValues: {
+ * ':x' : 20,
+ * ':y' : 45,
+ * ':MAX' : 100,
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.update(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ update: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['update'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Returns one or more items and item attributes by accessing every item
+ * in a table or a secondary index.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.scan} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.scan
+ * @example Scan the table with a filter expression
+ * var params = {
+ * TableName : 'Table',
+ * FilterExpression : 'Year = :this_year',
+ * ExpressionAttributeValues : {':this_year' : 2015}
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.scan(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ scan: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['scan'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Directly access items from a table by primary key or a secondary index.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.query} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.query
+ * @example Query an index
+ * var params = {
+ * TableName: 'Table',
+ * IndexName: 'Index',
+ * KeyConditionExpression: 'HashKey = :hkey and RangeKey > :rkey',
+ * ExpressionAttributeValues: {
+ * ':hkey': 'key',
+ * ':rkey': 2015
+ * }
+ * };
+ *
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * documentClient.query(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ query: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['query'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Synchronous write operation that groups up to 100 action requests.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.transactWriteItems} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.transactWriteItems
+ * @example Get items from multiple tables
+ * var params = {
+ * TransactItems: [{
+ * Put: {
+ * TableName : 'Table0',
+ * Item: {
+ * HashKey: 'haskey',
+ * NumAttribute: 1,
+ * BoolAttribute: true,
+ * ListAttribute: [1, 'two', false],
+ * MapAttribute: { foo: 'bar'},
+ * NullAttribute: null
+ * }
+ * }
+ * }, {
+ * Update: {
+ * TableName: 'Table1',
+ * Key: { HashKey : 'hashkey' },
+ * UpdateExpression: 'set #a = :x + :y',
+ * ConditionExpression: '#a < :MAX',
+ * ExpressionAttributeNames: {'#a' : 'Sum'},
+ * ExpressionAttributeValues: {
+ * ':x' : 20,
+ * ':y' : 45,
+ * ':MAX' : 100,
+ * }
+ * }
+ * }]
+ * };
+ *
+ * documentClient.transactWrite(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ */
+ transactWrite: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['transactWrite'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Atomically retrieves multiple items from one or more tables (but not from indexes)
+ * in a single account and region.
+ *
+ * Supply the same parameters as {AWS.DynamoDB.transactGetItems} with
+ * `AttributeValue`s substituted by native JavaScript types.
+ *
+ * @see AWS.DynamoDB.transactGetItems
+ * @example Get items from multiple tables
+ * var params = {
+ * TransactItems: [{
+ * Get: {
+ * TableName : 'Table0',
+ * Key: {
+ * HashKey: 'hashkey0'
+ * }
+ * }
+ * }, {
+ * Get: {
+ * TableName : 'Table1',
+ * Key: {
+ * HashKey: 'hashkey1'
+ * }
+ * }
+ * }]
+ * };
+ *
+ * documentClient.transactGet(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ */
+ transactGet: function(params, callback) {
+ var operation = this.serviceClientOperationsMap['transactGet'];
+ return this.makeServiceRequest(operation, params, callback);
+ },
+
+ /**
+ * Creates a set of elements inferring the type of set from
+ * the type of the first element. Amazon DynamoDB currently supports
+ * the number sets, string sets, and binary sets. For more information
+ * about DynamoDB data types see the documentation on the
+ * [Amazon DynamoDB Data Model](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModel.DataTypes).
+ *
+ * @param list [Array] Collection to represent your DynamoDB Set
+ * @param options [map]
+ * * **validate** [Boolean] set to true if you want to validate the type
+ * of each element in the set. Defaults to `false`.
+ * @example Creating a number set
+ * var documentClient = new AWS.DynamoDB.DocumentClient();
+ *
+ * var params = {
+ * Item: {
+ * hashkey: 'hashkey'
+ * numbers: documentClient.createSet([1, 2, 3]);
+ * }
+ * };
+ *
+ * documentClient.put(params, function(err, data) {
+ * if (err) console.log(err);
+ * else console.log(data);
+ * });
+ *
+ */
+ createSet: function(list, options) {
+ options = options || {};
+ return new DynamoDBSet(list, options);
+ },
+
+ /**
+ * @api private
+ */
+ getTranslator: function() {
+ return new Translator(this.options);
+ },
+
+ /**
+ * @api private
+ */
+ setupRequest: function setupRequest(request) {
+ var self = this;
+ var translator = self.getTranslator();
+ var operation = request.operation;
+ var inputShape = request.service.api.operations[operation].input;
+ request._events.validate.unshift(function(req) {
+ req.rawParams = AWS.util.copy(req.params);
+ req.params = translator.translateInput(req.rawParams, inputShape);
+ });
+ },
+
+ /**
+ * @api private
+ */
+ setupResponse: function setupResponse(request) {
+ var self = this;
+ var translator = self.getTranslator();
+ var outputShape = self.service.api.operations[request.operation].output;
+ request.on('extractData', function(response) {
+ response.data = translator.translateOutput(response.data, outputShape);
+ });
+
+ var response = request.response;
+ response.nextPage = function(cb) {
+ var resp = this;
+ var req = resp.request;
+ var config;
+ var service = req.service;
+ var operation = req.operation;
+ try {
+ config = service.paginationConfig(operation, true);
+ } catch (e) { resp.error = e; }
+
+ if (!resp.hasNextPage()) {
+ if (cb) cb(resp.error, null);
+ else if (resp.error) throw resp.error;
+ return null;
+ }
+
+ var params = AWS.util.copy(req.rawParams);
+ if (!resp.nextPageTokens) {
+ return cb ? cb(null, null) : null;
+ } else {
+ var inputTokens = config.inputToken;
+ if (typeof inputTokens === 'string') inputTokens = [inputTokens];
+ for (var i = 0; i < inputTokens.length; i++) {
+ params[inputTokens[i]] = resp.nextPageTokens[i];
+ }
+ return self[operation](params, cb);
+ }
+ };
+ }
+
+});
+
+/**
+ * @api private
+ */
+module.exports = AWS.DynamoDB.DocumentClient;
+
+
+/***/ }),
+
+/***/ 91593:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+
+/**
+ * An object recognizable as a numeric value that stores the underlying number
+ * as a string.
+ *
+ * Intended to be a deserialization target for the DynamoDB Document Client when
+ * the `wrapNumbers` flag is set. This allows for numeric values that lose
+ * precision when converted to JavaScript's `number` type.
+ */
+var DynamoDBNumberValue = util.inherit({
+ constructor: function NumberValue(value) {
+ this.wrapperName = 'NumberValue';
+ this.value = value.toString();
+ },
+
+ /**
+ * Render the underlying value as a number when converting to JSON.
+ */
+ toJSON: function () {
+ return this.toNumber();
+ },
+
+ /**
+ * Convert the underlying value to a JavaScript number.
+ */
+ toNumber: function () {
+ return Number(this.value);
+ },
+
+ /**
+ * Return a string representing the unaltered value provided to the
+ * constructor.
+ */
+ toString: function () {
+ return this.value;
+ }
+});
+
+/**
+ * @api private
+ */
+module.exports = DynamoDBNumberValue;
+
+
+/***/ }),
+
+/***/ 20304:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+var typeOf = (__nccwpck_require__(48084).typeOf);
+
+/**
+ * @api private
+ */
+var memberTypeToSetType = {
+ 'String': 'String',
+ 'Number': 'Number',
+ 'NumberValue': 'Number',
+ 'Binary': 'Binary'
+};
+
+/**
+ * @api private
+ */
+var DynamoDBSet = util.inherit({
+
+ constructor: function Set(list, options) {
+ options = options || {};
+ this.wrapperName = 'Set';
+ this.initialize(list, options.validate);
+ },
+
+ initialize: function(list, validate) {
+ var self = this;
+ self.values = [].concat(list);
+ self.detectType();
+ if (validate) {
+ self.validate();
+ }
+ },
+
+ detectType: function() {
+ this.type = memberTypeToSetType[typeOf(this.values[0])];
+ if (!this.type) {
+ throw util.error(new Error(), {
+ code: 'InvalidSetType',
+ message: 'Sets can contain string, number, or binary values'
+ });
+ }
+ },
+
+ validate: function() {
+ var self = this;
+ var length = self.values.length;
+ var values = self.values;
+ for (var i = 0; i < length; i++) {
+ if (memberTypeToSetType[typeOf(values[i])] !== self.type) {
+ throw util.error(new Error(), {
+ code: 'InvalidType',
+ message: self.type + ' Set contains ' + typeOf(values[i]) + ' value'
+ });
+ }
+ }
+ },
+
+ /**
+ * Render the underlying values only when converting to JSON.
+ */
+ toJSON: function() {
+ var self = this;
+ return self.values;
+ }
+
+});
+
+/**
+ * @api private
+ */
+module.exports = DynamoDBSet;
+
+
+/***/ }),
+
+/***/ 34222:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+var convert = __nccwpck_require__(76663);
+
+var Translator = function(options) {
+ options = options || {};
+ this.attrValue = options.attrValue;
+ this.convertEmptyValues = Boolean(options.convertEmptyValues);
+ this.wrapNumbers = Boolean(options.wrapNumbers);
+};
+
+Translator.prototype.translateInput = function(value, shape) {
+ this.mode = 'input';
+ return this.translate(value, shape);
+};
+
+Translator.prototype.translateOutput = function(value, shape) {
+ this.mode = 'output';
+ return this.translate(value, shape);
+};
+
+Translator.prototype.translate = function(value, shape) {
+ var self = this;
+ if (!shape || value === undefined) return undefined;
+
+ if (shape.shape === self.attrValue) {
+ return convert[self.mode](value, {
+ convertEmptyValues: self.convertEmptyValues,
+ wrapNumbers: self.wrapNumbers,
+ });
+ }
+ switch (shape.type) {
+ case 'structure': return self.translateStructure(value, shape);
+ case 'map': return self.translateMap(value, shape);
+ case 'list': return self.translateList(value, shape);
+ default: return self.translateScalar(value, shape);
+ }
+};
+
+Translator.prototype.translateStructure = function(structure, shape) {
+ var self = this;
+ if (structure == null) return undefined;
+
+ var struct = {};
+ util.each(structure, function(name, value) {
+ var memberShape = shape.members[name];
+ if (memberShape) {
+ var result = self.translate(value, memberShape);
+ if (result !== undefined) struct[name] = result;
+ }
+ });
+ return struct;
+};
+
+Translator.prototype.translateList = function(list, shape) {
+ var self = this;
+ if (list == null) return undefined;
+
+ var out = [];
+ util.arrayEach(list, function(value) {
+ var result = self.translate(value, shape.member);
+ if (result === undefined) out.push(null);
+ else out.push(result);
+ });
+ return out;
+};
+
+Translator.prototype.translateMap = function(map, shape) {
+ var self = this;
+ if (map == null) return undefined;
+
+ var out = {};
+ util.each(map, function(key, value) {
+ var result = self.translate(value, shape.value);
+ if (result === undefined) out[key] = null;
+ else out[key] = result;
+ });
+ return out;
+};
+
+Translator.prototype.translateScalar = function(value, shape) {
+ return shape.toType(value);
+};
+
+/**
+ * @api private
+ */
+module.exports = Translator;
+
+
+/***/ }),
+
+/***/ 48084:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+
+function typeOf(data) {
+ if (data === null && typeof data === 'object') {
+ return 'null';
+ } else if (data !== undefined && isBinary(data)) {
+ return 'Binary';
+ } else if (data !== undefined && data.constructor) {
+ return data.wrapperName || util.typeName(data.constructor);
+ } else if (data !== undefined && typeof data === 'object') {
+ // this object is the result of Object.create(null), hence the absence of a
+ // defined constructor
+ return 'Object';
+ } else {
+ return 'undefined';
+ }
+}
+
+function isBinary(data) {
+ var types = [
+ 'Buffer', 'File', 'Blob', 'ArrayBuffer', 'DataView',
+ 'Int8Array', 'Uint8Array', 'Uint8ClampedArray',
+ 'Int16Array', 'Uint16Array', 'Int32Array', 'Uint32Array',
+ 'Float32Array', 'Float64Array'
+ ];
+ if (util.isNode()) {
+ var Stream = util.stream.Stream;
+ if (util.Buffer.isBuffer(data) || data instanceof Stream) {
+ return true;
+ }
+ }
+
+ for (var i = 0; i < types.length; i++) {
+ if (data !== undefined && data.constructor) {
+ if (util.isType(data, types[i])) return true;
+ if (util.typeName(data.constructor) === types[i]) return true;
+ }
+ }
+
+ return false;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ typeOf: typeOf,
+ isBinary: isBinary
+};
+
+
+/***/ }),
+
+/***/ 63727:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var eventMessageChunker = (__nccwpck_require__(73630).eventMessageChunker);
+var parseEvent = (__nccwpck_require__(52123).parseEvent);
+
+function createEventStream(body, parser, model) {
+ var eventMessages = eventMessageChunker(body);
+
+ var events = [];
+
+ for (var i = 0; i < eventMessages.length; i++) {
+ events.push(parseEvent(parser, eventMessages[i], model));
+ }
+
+ return events;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ createEventStream: createEventStream
+};
+
+
+/***/ }),
+
+/***/ 18518:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+var Transform = (__nccwpck_require__(12781).Transform);
+var allocBuffer = util.buffer.alloc;
+
+/** @type {Transform} */
+function EventMessageChunkerStream(options) {
+ Transform.call(this, options);
+
+ this.currentMessageTotalLength = 0;
+ this.currentMessagePendingLength = 0;
+ /** @type {Buffer} */
+ this.currentMessage = null;
+
+ /** @type {Buffer} */
+ this.messageLengthBuffer = null;
+}
+
+EventMessageChunkerStream.prototype = Object.create(Transform.prototype);
+
+/**
+ *
+ * @param {Buffer} chunk
+ * @param {string} encoding
+ * @param {*} callback
+ */
+EventMessageChunkerStream.prototype._transform = function(chunk, encoding, callback) {
+ var chunkLength = chunk.length;
+ var currentOffset = 0;
+
+ while (currentOffset < chunkLength) {
+ // create new message if necessary
+ if (!this.currentMessage) {
+ // working on a new message, determine total length
+ var bytesRemaining = chunkLength - currentOffset;
+ // prevent edge case where total length spans 2 chunks
+ if (!this.messageLengthBuffer) {
+ this.messageLengthBuffer = allocBuffer(4);
+ }
+ var numBytesForTotal = Math.min(
+ 4 - this.currentMessagePendingLength, // remaining bytes to fill the messageLengthBuffer
+ bytesRemaining // bytes left in chunk
+ );
+
+ chunk.copy(
+ this.messageLengthBuffer,
+ this.currentMessagePendingLength,
+ currentOffset,
+ currentOffset + numBytesForTotal
+ );
+
+ this.currentMessagePendingLength += numBytesForTotal;
+ currentOffset += numBytesForTotal;
+
+ if (this.currentMessagePendingLength < 4) {
+ // not enough information to create the current message
+ break;
+ }
+ this.allocateMessage(this.messageLengthBuffer.readUInt32BE(0));
+ this.messageLengthBuffer = null;
+ }
+
+ // write data into current message
+ var numBytesToWrite = Math.min(
+ this.currentMessageTotalLength - this.currentMessagePendingLength, // number of bytes left to complete message
+ chunkLength - currentOffset // number of bytes left in the original chunk
+ );
+ chunk.copy(
+ this.currentMessage, // target buffer
+ this.currentMessagePendingLength, // target offset
+ currentOffset, // chunk offset
+ currentOffset + numBytesToWrite // chunk end to write
+ );
+ this.currentMessagePendingLength += numBytesToWrite;
+ currentOffset += numBytesToWrite;
+
+ // check if a message is ready to be pushed
+ if (this.currentMessageTotalLength && this.currentMessageTotalLength === this.currentMessagePendingLength) {
+ // push out the message
+ this.push(this.currentMessage);
+ // cleanup
+ this.currentMessage = null;
+ this.currentMessageTotalLength = 0;
+ this.currentMessagePendingLength = 0;
+ }
+ }
+
+ callback();
+};
+
+EventMessageChunkerStream.prototype._flush = function(callback) {
+ if (this.currentMessageTotalLength) {
+ if (this.currentMessageTotalLength === this.currentMessagePendingLength) {
+ callback(null, this.currentMessage);
+ } else {
+ callback(new Error('Truncated event message received.'));
+ }
+ } else {
+ callback();
+ }
+};
+
+/**
+ * @param {number} size Size of the message to be allocated.
+ * @api private
+ */
+EventMessageChunkerStream.prototype.allocateMessage = function(size) {
+ if (typeof size !== 'number') {
+ throw new Error('Attempted to allocate an event message where size was not a number: ' + size);
+ }
+ this.currentMessageTotalLength = size;
+ this.currentMessagePendingLength = 4;
+ this.currentMessage = allocBuffer(size);
+ this.currentMessage.writeUInt32BE(size, 0);
+};
+
+/**
+ * @api private
+ */
+module.exports = {
+ EventMessageChunkerStream: EventMessageChunkerStream
+};
+
+
+/***/ }),
+
+/***/ 73630:
+/***/ ((module) => {
+
+/**
+ * Takes in a buffer of event messages and splits them into individual messages.
+ * @param {Buffer} buffer
+ * @api private
+ */
+function eventMessageChunker(buffer) {
+ /** @type Buffer[] */
+ var messages = [];
+ var offset = 0;
+
+ while (offset < buffer.length) {
+ var totalLength = buffer.readInt32BE(offset);
+
+ // create new buffer for individual message (shares memory with original)
+ var message = buffer.slice(offset, totalLength + offset);
+ // increment offset to it starts at the next message
+ offset += totalLength;
+
+ messages.push(message);
+ }
+
+ return messages;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ eventMessageChunker: eventMessageChunker
+};
+
+
+/***/ }),
+
+/***/ 93773:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var Transform = (__nccwpck_require__(12781).Transform);
+var parseEvent = (__nccwpck_require__(52123).parseEvent);
+
+/** @type {Transform} */
+function EventUnmarshallerStream(options) {
+ options = options || {};
+ // set output to object mode
+ options.readableObjectMode = true;
+ Transform.call(this, options);
+ this._readableState.objectMode = true;
+
+ this.parser = options.parser;
+ this.eventStreamModel = options.eventStreamModel;
+}
+
+EventUnmarshallerStream.prototype = Object.create(Transform.prototype);
+
+/**
+ *
+ * @param {Buffer} chunk
+ * @param {string} encoding
+ * @param {*} callback
+ */
+EventUnmarshallerStream.prototype._transform = function(chunk, encoding, callback) {
+ try {
+ var event = parseEvent(this.parser, chunk, this.eventStreamModel);
+ this.push(event);
+ return callback();
+ } catch (err) {
+ callback(err);
+ }
+};
+
+/**
+ * @api private
+ */
+module.exports = {
+ EventUnmarshallerStream: EventUnmarshallerStream
+};
+
+
+/***/ }),
+
+/***/ 48583:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+var toBuffer = util.buffer.toBuffer;
+
+/**
+ * A lossless representation of a signed, 64-bit integer. Instances of this
+ * class may be used in arithmetic expressions as if they were numeric
+ * primitives, but the binary representation will be preserved unchanged as the
+ * `bytes` property of the object. The bytes should be encoded as big-endian,
+ * two's complement integers.
+ * @param {Buffer} bytes
+ *
+ * @api private
+ */
+function Int64(bytes) {
+ if (bytes.length !== 8) {
+ throw new Error('Int64 buffers must be exactly 8 bytes');
+ }
+ if (!util.Buffer.isBuffer(bytes)) bytes = toBuffer(bytes);
+
+ this.bytes = bytes;
+}
+
+/**
+ * @param {number} number
+ * @returns {Int64}
+ *
+ * @api private
+ */
+Int64.fromNumber = function(number) {
+ if (number > 9223372036854775807 || number < -9223372036854775808) {
+ throw new Error(
+ number + ' is too large (or, if negative, too small) to represent as an Int64'
+ );
+ }
+
+ var bytes = new Uint8Array(8);
+ for (
+ var i = 7, remaining = Math.abs(Math.round(number));
+ i > -1 && remaining > 0;
+ i--, remaining /= 256
+ ) {
+ bytes[i] = remaining;
+ }
+
+ if (number < 0) {
+ negate(bytes);
+ }
+
+ return new Int64(bytes);
+};
+
+/**
+ * @returns {number}
+ *
+ * @api private
+ */
+Int64.prototype.valueOf = function() {
+ var bytes = this.bytes.slice(0);
+ var negative = bytes[0] & 128;
+ if (negative) {
+ negate(bytes);
+ }
+
+ return parseInt(bytes.toString('hex'), 16) * (negative ? -1 : 1);
+};
+
+Int64.prototype.toString = function() {
+ return String(this.valueOf());
+};
+
+/**
+ * @param {Buffer} bytes
+ *
+ * @api private
+ */
+function negate(bytes) {
+ for (var i = 0; i < 8; i++) {
+ bytes[i] ^= 0xFF;
+ }
+ for (var i = 7; i > -1; i--) {
+ bytes[i]++;
+ if (bytes[i] !== 0) {
+ break;
+ }
+ }
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ Int64: Int64
+};
+
+
+/***/ }),
+
+/***/ 52123:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var parseMessage = (__nccwpck_require__(30866).parseMessage);
+
+/**
+ *
+ * @param {*} parser
+ * @param {Buffer} message
+ * @param {*} shape
+ * @api private
+ */
+function parseEvent(parser, message, shape) {
+ var parsedMessage = parseMessage(message);
+
+ // check if message is an event or error
+ var messageType = parsedMessage.headers[':message-type'];
+ if (messageType) {
+ if (messageType.value === 'error') {
+ throw parseError(parsedMessage);
+ } else if (messageType.value !== 'event') {
+ // not sure how to parse non-events/non-errors, ignore for now
+ return;
+ }
+ }
+
+ // determine event type
+ var eventType = parsedMessage.headers[':event-type'];
+ // check that the event type is modeled
+ var eventModel = shape.members[eventType.value];
+ if (!eventModel) {
+ return;
+ }
+
+ var result = {};
+ // check if an event payload exists
+ var eventPayloadMemberName = eventModel.eventPayloadMemberName;
+ if (eventPayloadMemberName) {
+ var payloadShape = eventModel.members[eventPayloadMemberName];
+ // if the shape is binary, return the byte array
+ if (payloadShape.type === 'binary') {
+ result[eventPayloadMemberName] = parsedMessage.body;
+ } else {
+ result[eventPayloadMemberName] = parser.parse(parsedMessage.body.toString(), payloadShape);
+ }
+ }
+
+ // read event headers
+ var eventHeaderNames = eventModel.eventHeaderMemberNames;
+ for (var i = 0; i < eventHeaderNames.length; i++) {
+ var name = eventHeaderNames[i];
+ if (parsedMessage.headers[name]) {
+ // parse the header!
+ result[name] = eventModel.members[name].toType(parsedMessage.headers[name].value);
+ }
+ }
+
+ var output = {};
+ output[eventType.value] = result;
+ return output;
+}
+
+function parseError(message) {
+ var errorCode = message.headers[':error-code'];
+ var errorMessage = message.headers[':error-message'];
+ var error = new Error(errorMessage.value || errorMessage);
+ error.code = error.name = errorCode.value || errorCode;
+ return error;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ parseEvent: parseEvent
+};
+
+
+/***/ }),
+
+/***/ 30866:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var Int64 = (__nccwpck_require__(48583).Int64);
+
+var splitMessage = (__nccwpck_require__(71765).splitMessage);
+
+var BOOLEAN_TAG = 'boolean';
+var BYTE_TAG = 'byte';
+var SHORT_TAG = 'short';
+var INT_TAG = 'integer';
+var LONG_TAG = 'long';
+var BINARY_TAG = 'binary';
+var STRING_TAG = 'string';
+var TIMESTAMP_TAG = 'timestamp';
+var UUID_TAG = 'uuid';
+
+/**
+ * @api private
+ *
+ * @param {Buffer} headers
+ */
+function parseHeaders(headers) {
+ var out = {};
+ var position = 0;
+ while (position < headers.length) {
+ var nameLength = headers.readUInt8(position++);
+ var name = headers.slice(position, position + nameLength).toString();
+ position += nameLength;
+ switch (headers.readUInt8(position++)) {
+ case 0 /* boolTrue */:
+ out[name] = {
+ type: BOOLEAN_TAG,
+ value: true
+ };
+ break;
+ case 1 /* boolFalse */:
+ out[name] = {
+ type: BOOLEAN_TAG,
+ value: false
+ };
+ break;
+ case 2 /* byte */:
+ out[name] = {
+ type: BYTE_TAG,
+ value: headers.readInt8(position++)
+ };
+ break;
+ case 3 /* short */:
+ out[name] = {
+ type: SHORT_TAG,
+ value: headers.readInt16BE(position)
+ };
+ position += 2;
+ break;
+ case 4 /* integer */:
+ out[name] = {
+ type: INT_TAG,
+ value: headers.readInt32BE(position)
+ };
+ position += 4;
+ break;
+ case 5 /* long */:
+ out[name] = {
+ type: LONG_TAG,
+ value: new Int64(headers.slice(position, position + 8))
+ };
+ position += 8;
+ break;
+ case 6 /* byteArray */:
+ var binaryLength = headers.readUInt16BE(position);
+ position += 2;
+ out[name] = {
+ type: BINARY_TAG,
+ value: headers.slice(position, position + binaryLength)
+ };
+ position += binaryLength;
+ break;
+ case 7 /* string */:
+ var stringLength = headers.readUInt16BE(position);
+ position += 2;
+ out[name] = {
+ type: STRING_TAG,
+ value: headers.slice(
+ position,
+ position + stringLength
+ ).toString()
+ };
+ position += stringLength;
+ break;
+ case 8 /* timestamp */:
+ out[name] = {
+ type: TIMESTAMP_TAG,
+ value: new Date(
+ new Int64(headers.slice(position, position + 8))
+ .valueOf()
+ )
+ };
+ position += 8;
+ break;
+ case 9 /* uuid */:
+ var uuidChars = headers.slice(position, position + 16)
+ .toString('hex');
+ position += 16;
+ out[name] = {
+ type: UUID_TAG,
+ value: uuidChars.substr(0, 8) + '-' +
+ uuidChars.substr(8, 4) + '-' +
+ uuidChars.substr(12, 4) + '-' +
+ uuidChars.substr(16, 4) + '-' +
+ uuidChars.substr(20)
+ };
+ break;
+ default:
+ throw new Error('Unrecognized header type tag');
+ }
+ }
+ return out;
+}
+
+function parseMessage(message) {
+ var parsed = splitMessage(message);
+ return { headers: parseHeaders(parsed.headers), body: parsed.body };
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ parseMessage: parseMessage
+};
+
+
+/***/ }),
+
+/***/ 71765:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+var toBuffer = util.buffer.toBuffer;
+
+// All prelude components are unsigned, 32-bit integers
+var PRELUDE_MEMBER_LENGTH = 4;
+// The prelude consists of two components
+var PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;
+// Checksums are always CRC32 hashes.
+var CHECKSUM_LENGTH = 4;
+// Messages must include a full prelude, a prelude checksum, and a message checksum
+var MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;
+
+/**
+ * @api private
+ *
+ * @param {Buffer} message
+ */
+function splitMessage(message) {
+ if (!util.Buffer.isBuffer(message)) message = toBuffer(message);
+
+ if (message.length < MINIMUM_MESSAGE_LENGTH) {
+ throw new Error('Provided message too short to accommodate event stream message overhead');
+ }
+
+ if (message.length !== message.readUInt32BE(0)) {
+ throw new Error('Reported message length does not match received message length');
+ }
+
+ var expectedPreludeChecksum = message.readUInt32BE(PRELUDE_LENGTH);
+
+ if (
+ expectedPreludeChecksum !== util.crypto.crc32(
+ message.slice(0, PRELUDE_LENGTH)
+ )
+ ) {
+ throw new Error(
+ 'The prelude checksum specified in the message (' +
+ expectedPreludeChecksum +
+ ') does not match the calculated CRC32 checksum.'
+ );
+ }
+
+ var expectedMessageChecksum = message.readUInt32BE(message.length - CHECKSUM_LENGTH);
+
+ if (
+ expectedMessageChecksum !== util.crypto.crc32(
+ message.slice(0, message.length - CHECKSUM_LENGTH)
+ )
+ ) {
+ throw new Error(
+ 'The message checksum did not match the expected value of ' +
+ expectedMessageChecksum
+ );
+ }
+
+ var headersStart = PRELUDE_LENGTH + CHECKSUM_LENGTH;
+ var headersEnd = headersStart + message.readUInt32BE(PRELUDE_MEMBER_LENGTH);
+
+ return {
+ headers: message.slice(headersStart, headersEnd),
+ body: message.slice(headersEnd, message.length - CHECKSUM_LENGTH),
+ };
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ splitMessage: splitMessage
+};
+
+
+/***/ }),
+
+/***/ 69643:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+/**
+ * What is necessary to create an event stream in node?
+ * - http response stream
+ * - parser
+ * - event stream model
+ */
+
+var EventMessageChunkerStream = (__nccwpck_require__(18518).EventMessageChunkerStream);
+var EventUnmarshallerStream = (__nccwpck_require__(93773).EventUnmarshallerStream);
+
+function createEventStream(stream, parser, model) {
+ var eventStream = new EventUnmarshallerStream({
+ parser: parser,
+ eventStreamModel: model
+ });
+
+ var eventMessageChunker = new EventMessageChunkerStream();
+
+ stream.pipe(
+ eventMessageChunker
+ ).pipe(eventStream);
+
+ stream.on('error', function(err) {
+ eventMessageChunker.emit('error', err);
+ });
+
+ eventMessageChunker.on('error', function(err) {
+ eventStream.emit('error', err);
+ });
+
+ return eventStream;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ createEventStream: createEventStream
+};
+
+
+/***/ }),
+
+/***/ 54995:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var SequentialExecutor = __nccwpck_require__(55948);
+var DISCOVER_ENDPOINT = (__nccwpck_require__(45313).discoverEndpoint);
+/**
+ * The namespace used to register global event listeners for request building
+ * and sending.
+ */
+AWS.EventListeners = {
+ /**
+ * @!attribute VALIDATE_CREDENTIALS
+ * A request listener that validates whether the request is being
+ * sent with credentials.
+ * Handles the {AWS.Request~validate 'validate' Request event}
+ * @example Sending a request without validating credentials
+ * var listener = AWS.EventListeners.Core.VALIDATE_CREDENTIALS;
+ * request.removeListener('validate', listener);
+ * @readonly
+ * @return [Function]
+ * @!attribute VALIDATE_REGION
+ * A request listener that validates whether the region is set
+ * for a request.
+ * Handles the {AWS.Request~validate 'validate' Request event}
+ * @example Sending a request without validating region configuration
+ * var listener = AWS.EventListeners.Core.VALIDATE_REGION;
+ * request.removeListener('validate', listener);
+ * @readonly
+ * @return [Function]
+ * @!attribute VALIDATE_PARAMETERS
+ * A request listener that validates input parameters in a request.
+ * Handles the {AWS.Request~validate 'validate' Request event}
+ * @example Sending a request without validating parameters
+ * var listener = AWS.EventListeners.Core.VALIDATE_PARAMETERS;
+ * request.removeListener('validate', listener);
+ * @example Disable parameter validation globally
+ * AWS.EventListeners.Core.removeListener('validate',
+ * AWS.EventListeners.Core.VALIDATE_REGION);
+ * @readonly
+ * @return [Function]
+ * @!attribute SEND
+ * A request listener that initiates the HTTP connection for a
+ * request being sent. Handles the {AWS.Request~send 'send' Request event}
+ * @example Replacing the HTTP handler
+ * var listener = AWS.EventListeners.Core.SEND;
+ * request.removeListener('send', listener);
+ * request.on('send', function(response) {
+ * customHandler.send(response);
+ * });
+ * @return [Function]
+ * @readonly
+ * @!attribute HTTP_DATA
+ * A request listener that reads data from the HTTP connection in order
+ * to build the response data.
+ * Handles the {AWS.Request~httpData 'httpData' Request event}.
+ * Remove this handler if you are overriding the 'httpData' event and
+ * do not want extra data processing and buffering overhead.
+ * @example Disabling default data processing
+ * var listener = AWS.EventListeners.Core.HTTP_DATA;
+ * request.removeListener('httpData', listener);
+ * @return [Function]
+ * @readonly
+ */
+ Core: {} /* doc hack */
+};
+
+/**
+ * @api private
+ */
+function getOperationAuthtype(req) {
+ if (!req.service.api.operations) {
+ return '';
+ }
+ var operation = req.service.api.operations[req.operation];
+ return operation ? operation.authtype : '';
+}
+
+/**
+ * @api private
+ */
+function getIdentityType(req) {
+ var service = req.service;
+
+ if (service.config.signatureVersion) {
+ return service.config.signatureVersion;
+ }
+
+ if (service.api.signatureVersion) {
+ return service.api.signatureVersion;
+ }
+
+ return getOperationAuthtype(req);
+}
+
+AWS.EventListeners = {
+ Core: new SequentialExecutor().addNamedListeners(function(add, addAsync) {
+ addAsync(
+ 'VALIDATE_CREDENTIALS', 'validate',
+ function VALIDATE_CREDENTIALS(req, done) {
+ if (!req.service.api.signatureVersion && !req.service.config.signatureVersion) return done(); // none
+
+ var identityType = getIdentityType(req);
+ if (identityType === 'bearer') {
+ req.service.config.getToken(function(err) {
+ if (err) {
+ req.response.error = AWS.util.error(err, {code: 'TokenError'});
+ }
+ done();
+ });
+ return;
+ }
+
+ req.service.config.getCredentials(function(err) {
+ if (err) {
+ req.response.error = AWS.util.error(err,
+ {
+ code: 'CredentialsError',
+ message: 'Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1'
+ }
+ );
+ }
+ done();
+ });
+ });
+
+ add('VALIDATE_REGION', 'validate', function VALIDATE_REGION(req) {
+ if (!req.service.isGlobalEndpoint) {
+ var dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);
+ if (!req.service.config.region) {
+ req.response.error = AWS.util.error(new Error(),
+ {code: 'ConfigError', message: 'Missing region in config'});
+ } else if (!dnsHostRegex.test(req.service.config.region)) {
+ req.response.error = AWS.util.error(new Error(),
+ {code: 'ConfigError', message: 'Invalid region in config'});
+ }
+ }
+ });
+
+ add('BUILD_IDEMPOTENCY_TOKENS', 'validate', function BUILD_IDEMPOTENCY_TOKENS(req) {
+ if (!req.service.api.operations) {
+ return;
+ }
+ var operation = req.service.api.operations[req.operation];
+ if (!operation) {
+ return;
+ }
+ var idempotentMembers = operation.idempotentMembers;
+ if (!idempotentMembers.length) {
+ return;
+ }
+ // creates a copy of params so user's param object isn't mutated
+ var params = AWS.util.copy(req.params);
+ for (var i = 0, iLen = idempotentMembers.length; i < iLen; i++) {
+ if (!params[idempotentMembers[i]]) {
+ // add the member
+ params[idempotentMembers[i]] = AWS.util.uuid.v4();
+ }
+ }
+ req.params = params;
+ });
+
+ add('VALIDATE_PARAMETERS', 'validate', function VALIDATE_PARAMETERS(req) {
+ if (!req.service.api.operations) {
+ return;
+ }
+ var rules = req.service.api.operations[req.operation].input;
+ var validation = req.service.config.paramValidation;
+ new AWS.ParamValidator(validation).validate(rules, req.params);
+ });
+
+ add('COMPUTE_CHECKSUM', 'afterBuild', function COMPUTE_CHECKSUM(req) {
+ if (!req.service.api.operations) {
+ return;
+ }
+ var operation = req.service.api.operations[req.operation];
+ if (!operation) {
+ return;
+ }
+ var body = req.httpRequest.body;
+ var isNonStreamingPayload = body && (AWS.util.Buffer.isBuffer(body) || typeof body === 'string');
+ var headers = req.httpRequest.headers;
+ if (
+ operation.httpChecksumRequired &&
+ req.service.config.computeChecksums &&
+ isNonStreamingPayload &&
+ !headers['Content-MD5']
+ ) {
+ var md5 = AWS.util.crypto.md5(body, 'base64');
+ headers['Content-MD5'] = md5;
+ }
+ });
+
+ addAsync('COMPUTE_SHA256', 'afterBuild', function COMPUTE_SHA256(req, done) {
+ req.haltHandlersOnError();
+ if (!req.service.api.operations) {
+ return;
+ }
+ var operation = req.service.api.operations[req.operation];
+ var authtype = operation ? operation.authtype : '';
+ if (!req.service.api.signatureVersion && !authtype && !req.service.config.signatureVersion) return done(); // none
+ if (req.service.getSignerClass(req) === AWS.Signers.V4) {
+ var body = req.httpRequest.body || '';
+ if (authtype.indexOf('unsigned-body') >= 0) {
+ req.httpRequest.headers['X-Amz-Content-Sha256'] = 'UNSIGNED-PAYLOAD';
+ return done();
+ }
+ AWS.util.computeSha256(body, function(err, sha) {
+ if (err) {
+ done(err);
+ }
+ else {
+ req.httpRequest.headers['X-Amz-Content-Sha256'] = sha;
+ done();
+ }
+ });
+ } else {
+ done();
+ }
+ });
+
+ add('SET_CONTENT_LENGTH', 'afterBuild', function SET_CONTENT_LENGTH(req) {
+ var authtype = getOperationAuthtype(req);
+ var payloadMember = AWS.util.getRequestPayloadShape(req);
+ if (req.httpRequest.headers['Content-Length'] === undefined) {
+ try {
+ var length = AWS.util.string.byteLength(req.httpRequest.body);
+ req.httpRequest.headers['Content-Length'] = length;
+ } catch (err) {
+ if (payloadMember && payloadMember.isStreaming) {
+ if (payloadMember.requiresLength) {
+ //streaming payload requires length(s3, glacier)
+ throw err;
+ } else if (authtype.indexOf('unsigned-body') >= 0) {
+ //unbounded streaming payload(lex, mediastore)
+ req.httpRequest.headers['Transfer-Encoding'] = 'chunked';
+ return;
+ } else {
+ throw err;
+ }
+ }
+ throw err;
+ }
+ }
+ });
+
+ add('SET_HTTP_HOST', 'afterBuild', function SET_HTTP_HOST(req) {
+ req.httpRequest.headers['Host'] = req.httpRequest.endpoint.host;
+ });
+
+ add('SET_TRACE_ID', 'afterBuild', function SET_TRACE_ID(req) {
+ var traceIdHeaderName = 'X-Amzn-Trace-Id';
+ if (AWS.util.isNode() && !Object.hasOwnProperty.call(req.httpRequest.headers, traceIdHeaderName)) {
+ var ENV_LAMBDA_FUNCTION_NAME = 'AWS_LAMBDA_FUNCTION_NAME';
+ var ENV_TRACE_ID = '_X_AMZN_TRACE_ID';
+ var functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];
+ var traceId = process.env[ENV_TRACE_ID];
+ if (
+ typeof functionName === 'string' &&
+ functionName.length > 0 &&
+ typeof traceId === 'string' &&
+ traceId.length > 0
+ ) {
+ req.httpRequest.headers[traceIdHeaderName] = traceId;
+ }
+ }
+ });
+
+ add('RESTART', 'restart', function RESTART() {
+ var err = this.response.error;
+ if (!err || !err.retryable) return;
+
+ this.httpRequest = new AWS.HttpRequest(
+ this.service.endpoint,
+ this.service.region
+ );
+
+ if (this.response.retryCount < this.service.config.maxRetries) {
+ this.response.retryCount++;
+ } else {
+ this.response.error = null;
+ }
+ });
+
+ var addToHead = true;
+ addAsync('DISCOVER_ENDPOINT', 'sign', DISCOVER_ENDPOINT, addToHead);
+
+ addAsync('SIGN', 'sign', function SIGN(req, done) {
+ var service = req.service;
+ var identityType = getIdentityType(req);
+ if (!identityType || identityType.length === 0) return done(); // none
+
+ if (identityType === 'bearer') {
+ service.config.getToken(function (err, token) {
+ if (err) {
+ req.response.error = err;
+ return done();
+ }
+
+ try {
+ var SignerClass = service.getSignerClass(req);
+ var signer = new SignerClass(req.httpRequest);
+ signer.addAuthorization(token);
+ } catch (e) {
+ req.response.error = e;
+ }
+ done();
+ });
+ } else {
+ service.config.getCredentials(function (err, credentials) {
+ if (err) {
+ req.response.error = err;
+ return done();
+ }
+
+ try {
+ var date = service.getSkewCorrectedDate();
+ var SignerClass = service.getSignerClass(req);
+ var operations = req.service.api.operations || {};
+ var operation = operations[req.operation];
+ var signer = new SignerClass(req.httpRequest,
+ service.getSigningName(req),
+ {
+ signatureCache: service.config.signatureCache,
+ operation: operation,
+ signatureVersion: service.api.signatureVersion
+ });
+ signer.setServiceClientId(service._clientId);
+
+ // clear old authorization headers
+ delete req.httpRequest.headers['Authorization'];
+ delete req.httpRequest.headers['Date'];
+ delete req.httpRequest.headers['X-Amz-Date'];
+
+ // add new authorization
+ signer.addAuthorization(credentials, date);
+ req.signedAt = date;
+ } catch (e) {
+ req.response.error = e;
+ }
+ done();
+ });
+
+ }
+ });
+
+ add('VALIDATE_RESPONSE', 'validateResponse', function VALIDATE_RESPONSE(resp) {
+ if (this.service.successfulResponse(resp, this)) {
+ resp.data = {};
+ resp.error = null;
+ } else {
+ resp.data = null;
+ resp.error = AWS.util.error(new Error(),
+ {code: 'UnknownError', message: 'An unknown error occurred.'});
+ }
+ });
+
+ add('ERROR', 'error', function ERROR(err, resp) {
+ var awsQueryCompatible = resp.request.service.api.awsQueryCompatible;
+ if (awsQueryCompatible) {
+ var headers = resp.httpResponse.headers;
+ var queryErrorCode = headers ? headers['x-amzn-query-error'] : undefined;
+ if (queryErrorCode && queryErrorCode.includes(';')) {
+ resp.error.code = queryErrorCode.split(';')[0];
+ }
+ }
+ }, true);
+
+ addAsync('SEND', 'send', function SEND(resp, done) {
+ resp.httpResponse._abortCallback = done;
+ resp.error = null;
+ resp.data = null;
+
+ function callback(httpResp) {
+ resp.httpResponse.stream = httpResp;
+ var stream = resp.request.httpRequest.stream;
+ var service = resp.request.service;
+ var api = service.api;
+ var operationName = resp.request.operation;
+ var operation = api.operations[operationName] || {};
+
+ httpResp.on('headers', function onHeaders(statusCode, headers, statusMessage) {
+ resp.request.emit(
+ 'httpHeaders',
+ [statusCode, headers, resp, statusMessage]
+ );
+
+ if (!resp.httpResponse.streaming) {
+ if (AWS.HttpClient.streamsApiVersion === 2) { // streams2 API check
+ // if we detect event streams, we're going to have to
+ // return the stream immediately
+ if (operation.hasEventOutput && service.successfulResponse(resp)) {
+ // skip reading the IncomingStream
+ resp.request.emit('httpDone');
+ done();
+ return;
+ }
+
+ httpResp.on('readable', function onReadable() {
+ var data = httpResp.read();
+ if (data !== null) {
+ resp.request.emit('httpData', [data, resp]);
+ }
+ });
+ } else { // legacy streams API
+ httpResp.on('data', function onData(data) {
+ resp.request.emit('httpData', [data, resp]);
+ });
+ }
+ }
+ });
+
+ httpResp.on('end', function onEnd() {
+ if (!stream || !stream.didCallback) {
+ if (AWS.HttpClient.streamsApiVersion === 2 && (operation.hasEventOutput && service.successfulResponse(resp))) {
+ // don't concatenate response chunks when streaming event stream data when response is successful
+ return;
+ }
+ resp.request.emit('httpDone');
+ done();
+ }
+ });
+ }
+
+ function progress(httpResp) {
+ httpResp.on('sendProgress', function onSendProgress(value) {
+ resp.request.emit('httpUploadProgress', [value, resp]);
+ });
+
+ httpResp.on('receiveProgress', function onReceiveProgress(value) {
+ resp.request.emit('httpDownloadProgress', [value, resp]);
+ });
+ }
+
+ function error(err) {
+ if (err.code !== 'RequestAbortedError') {
+ var errCode = err.code === 'TimeoutError' ? err.code : 'NetworkingError';
+ err = AWS.util.error(err, {
+ code: errCode,
+ region: resp.request.httpRequest.region,
+ hostname: resp.request.httpRequest.endpoint.hostname,
+ retryable: true
+ });
+ }
+ resp.error = err;
+ resp.request.emit('httpError', [resp.error, resp], function() {
+ done();
+ });
+ }
+
+ function executeSend() {
+ var http = AWS.HttpClient.getInstance();
+ var httpOptions = resp.request.service.config.httpOptions || {};
+ try {
+ var stream = http.handleRequest(resp.request.httpRequest, httpOptions,
+ callback, error);
+ progress(stream);
+ } catch (err) {
+ error(err);
+ }
+ }
+ var timeDiff = (resp.request.service.getSkewCorrectedDate() - this.signedAt) / 1000;
+ if (timeDiff >= 60 * 10) { // if we signed 10min ago, re-sign
+ this.emit('sign', [this], function(err) {
+ if (err) done(err);
+ else executeSend();
+ });
+ } else {
+ executeSend();
+ }
+ });
+
+ add('HTTP_HEADERS', 'httpHeaders',
+ function HTTP_HEADERS(statusCode, headers, resp, statusMessage) {
+ resp.httpResponse.statusCode = statusCode;
+ resp.httpResponse.statusMessage = statusMessage;
+ resp.httpResponse.headers = headers;
+ resp.httpResponse.body = AWS.util.buffer.toBuffer('');
+ resp.httpResponse.buffers = [];
+ resp.httpResponse.numBytes = 0;
+ var dateHeader = headers.date || headers.Date;
+ var service = resp.request.service;
+ if (dateHeader) {
+ var serverTime = Date.parse(dateHeader);
+ if (service.config.correctClockSkew
+ && service.isClockSkewed(serverTime)) {
+ service.applyClockOffset(serverTime);
+ }
+ }
+ });
+
+ add('HTTP_DATA', 'httpData', function HTTP_DATA(chunk, resp) {
+ if (chunk) {
+ if (AWS.util.isNode()) {
+ resp.httpResponse.numBytes += chunk.length;
+
+ var total = resp.httpResponse.headers['content-length'];
+ var progress = { loaded: resp.httpResponse.numBytes, total: total };
+ resp.request.emit('httpDownloadProgress', [progress, resp]);
+ }
+
+ resp.httpResponse.buffers.push(AWS.util.buffer.toBuffer(chunk));
+ }
+ });
+
+ add('HTTP_DONE', 'httpDone', function HTTP_DONE(resp) {
+ // convert buffers array into single buffer
+ if (resp.httpResponse.buffers && resp.httpResponse.buffers.length > 0) {
+ var body = AWS.util.buffer.concat(resp.httpResponse.buffers);
+ resp.httpResponse.body = body;
+ }
+ delete resp.httpResponse.numBytes;
+ delete resp.httpResponse.buffers;
+ });
+
+ add('FINALIZE_ERROR', 'retry', function FINALIZE_ERROR(resp) {
+ if (resp.httpResponse.statusCode) {
+ resp.error.statusCode = resp.httpResponse.statusCode;
+ if (resp.error.retryable === undefined) {
+ resp.error.retryable = this.service.retryableError(resp.error, this);
+ }
+ }
+ });
+
+ add('INVALIDATE_CREDENTIALS', 'retry', function INVALIDATE_CREDENTIALS(resp) {
+ if (!resp.error) return;
+ switch (resp.error.code) {
+ case 'RequestExpired': // EC2 only
+ case 'ExpiredTokenException':
+ case 'ExpiredToken':
+ resp.error.retryable = true;
+ resp.request.service.config.credentials.expired = true;
+ }
+ });
+
+ add('EXPIRED_SIGNATURE', 'retry', function EXPIRED_SIGNATURE(resp) {
+ var err = resp.error;
+ if (!err) return;
+ if (typeof err.code === 'string' && typeof err.message === 'string') {
+ if (err.code.match(/Signature/) && err.message.match(/expired/)) {
+ resp.error.retryable = true;
+ }
+ }
+ });
+
+ add('CLOCK_SKEWED', 'retry', function CLOCK_SKEWED(resp) {
+ if (!resp.error) return;
+ if (this.service.clockSkewError(resp.error)
+ && this.service.config.correctClockSkew) {
+ resp.error.retryable = true;
+ }
+ });
+
+ add('REDIRECT', 'retry', function REDIRECT(resp) {
+ if (resp.error && resp.error.statusCode >= 300 &&
+ resp.error.statusCode < 400 && resp.httpResponse.headers['location']) {
+ this.httpRequest.endpoint =
+ new AWS.Endpoint(resp.httpResponse.headers['location']);
+ this.httpRequest.headers['Host'] = this.httpRequest.endpoint.host;
+ resp.error.redirect = true;
+ resp.error.retryable = true;
+ }
+ });
+
+ add('RETRY_CHECK', 'retry', function RETRY_CHECK(resp) {
+ if (resp.error) {
+ if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {
+ resp.error.retryDelay = 0;
+ } else if (resp.retryCount < resp.maxRetries) {
+ resp.error.retryDelay = this.service.retryDelays(resp.retryCount, resp.error) || 0;
+ }
+ }
+ });
+
+ addAsync('RESET_RETRY_STATE', 'afterRetry', function RESET_RETRY_STATE(resp, done) {
+ var delay, willRetry = false;
+
+ if (resp.error) {
+ delay = resp.error.retryDelay || 0;
+ if (resp.error.retryable && resp.retryCount < resp.maxRetries) {
+ resp.retryCount++;
+ willRetry = true;
+ } else if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {
+ resp.redirectCount++;
+ willRetry = true;
+ }
+ }
+
+ // delay < 0 is a signal from customBackoff to skip retries
+ if (willRetry && delay >= 0) {
+ resp.error = null;
+ setTimeout(done, delay);
+ } else {
+ done();
+ }
+ });
+ }),
+
+ CorePost: new SequentialExecutor().addNamedListeners(function(add) {
+ add('EXTRACT_REQUEST_ID', 'extractData', AWS.util.extractRequestId);
+ add('EXTRACT_REQUEST_ID', 'extractError', AWS.util.extractRequestId);
+
+ add('ENOTFOUND_ERROR', 'httpError', function ENOTFOUND_ERROR(err) {
+ function isDNSError(err) {
+ return err.errno === 'ENOTFOUND' ||
+ typeof err.errno === 'number' &&
+ typeof AWS.util.getSystemErrorName === 'function' &&
+ ['EAI_NONAME', 'EAI_NODATA'].indexOf(AWS.util.getSystemErrorName(err.errno) >= 0);
+ }
+ if (err.code === 'NetworkingError' && isDNSError(err)) {
+ var message = 'Inaccessible host: `' + err.hostname + '\' at port `' + err.port +
+ '\'. This service may not be available in the `' + err.region +
+ '\' region.';
+ this.response.error = AWS.util.error(new Error(message), {
+ code: 'UnknownEndpoint',
+ region: err.region,
+ hostname: err.hostname,
+ retryable: true,
+ originalError: err
+ });
+ }
+ });
+ }),
+
+ Logger: new SequentialExecutor().addNamedListeners(function(add) {
+ add('LOG_REQUEST', 'complete', function LOG_REQUEST(resp) {
+ var req = resp.request;
+ var logger = req.service.config.logger;
+ if (!logger) return;
+ function filterSensitiveLog(inputShape, shape) {
+ if (!shape) {
+ return shape;
+ }
+ if (inputShape.isSensitive) {
+ return '***SensitiveInformation***';
+ }
+ switch (inputShape.type) {
+ case 'structure':
+ var struct = {};
+ AWS.util.each(shape, function(subShapeName, subShape) {
+ if (Object.prototype.hasOwnProperty.call(inputShape.members, subShapeName)) {
+ struct[subShapeName] = filterSensitiveLog(inputShape.members[subShapeName], subShape);
+ } else {
+ struct[subShapeName] = subShape;
+ }
+ });
+ return struct;
+ case 'list':
+ var list = [];
+ AWS.util.arrayEach(shape, function(subShape, index) {
+ list.push(filterSensitiveLog(inputShape.member, subShape));
+ });
+ return list;
+ case 'map':
+ var map = {};
+ AWS.util.each(shape, function(key, value) {
+ map[key] = filterSensitiveLog(inputShape.value, value);
+ });
+ return map;
+ default:
+ return shape;
+ }
+ }
+
+ function buildMessage() {
+ var time = resp.request.service.getSkewCorrectedDate().getTime();
+ var delta = (time - req.startTime.getTime()) / 1000;
+ var ansi = logger.isTTY ? true : false;
+ var status = resp.httpResponse.statusCode;
+ var censoredParams = req.params;
+ if (
+ req.service.api.operations &&
+ req.service.api.operations[req.operation] &&
+ req.service.api.operations[req.operation].input
+ ) {
+ var inputShape = req.service.api.operations[req.operation].input;
+ censoredParams = filterSensitiveLog(inputShape, req.params);
+ }
+ var params = (__nccwpck_require__(73837).inspect)(censoredParams, true, null);
+ var message = '';
+ if (ansi) message += '\x1B[33m';
+ message += '[AWS ' + req.service.serviceIdentifier + ' ' + status;
+ message += ' ' + delta.toString() + 's ' + resp.retryCount + ' retries]';
+ if (ansi) message += '\x1B[0;1m';
+ message += ' ' + AWS.util.string.lowerFirst(req.operation);
+ message += '(' + params + ')';
+ if (ansi) message += '\x1B[0m';
+ return message;
+ }
+
+ var line = buildMessage();
+ if (typeof logger.log === 'function') {
+ logger.log(line);
+ } else if (typeof logger.write === 'function') {
+ logger.write(line + '\n');
+ }
+ });
+ }),
+
+ Json: new SequentialExecutor().addNamedListeners(function(add) {
+ var svc = __nccwpck_require__(30083);
+ add('BUILD', 'build', svc.buildRequest);
+ add('EXTRACT_DATA', 'extractData', svc.extractData);
+ add('EXTRACT_ERROR', 'extractError', svc.extractError);
+ }),
+
+ Rest: new SequentialExecutor().addNamedListeners(function(add) {
+ var svc = __nccwpck_require__(98200);
+ add('BUILD', 'build', svc.buildRequest);
+ add('EXTRACT_DATA', 'extractData', svc.extractData);
+ add('EXTRACT_ERROR', 'extractError', svc.extractError);
+ }),
+
+ RestJson: new SequentialExecutor().addNamedListeners(function(add) {
+ var svc = __nccwpck_require__(5883);
+ add('BUILD', 'build', svc.buildRequest);
+ add('EXTRACT_DATA', 'extractData', svc.extractData);
+ add('EXTRACT_ERROR', 'extractError', svc.extractError);
+ add('UNSET_CONTENT_LENGTH', 'afterBuild', svc.unsetContentLength);
+ }),
+
+ RestXml: new SequentialExecutor().addNamedListeners(function(add) {
+ var svc = __nccwpck_require__(15143);
+ add('BUILD', 'build', svc.buildRequest);
+ add('EXTRACT_DATA', 'extractData', svc.extractData);
+ add('EXTRACT_ERROR', 'extractError', svc.extractError);
+ }),
+
+ Query: new SequentialExecutor().addNamedListeners(function(add) {
+ var svc = __nccwpck_require__(90761);
+ add('BUILD', 'build', svc.buildRequest);
+ add('EXTRACT_DATA', 'extractData', svc.extractData);
+ add('EXTRACT_ERROR', 'extractError', svc.extractError);
+ })
+};
+
+
+/***/ }),
+
+/***/ 1556:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var inherit = AWS.util.inherit;
+
+/**
+ * The endpoint that a service will talk to, for example,
+ * `'https://ec2.ap-southeast-1.amazonaws.com'`. If
+ * you need to override an endpoint for a service, you can
+ * set the endpoint on a service by passing the endpoint
+ * object with the `endpoint` option key:
+ *
+ * ```javascript
+ * var ep = new AWS.Endpoint('awsproxy.example.com');
+ * var s3 = new AWS.S3({endpoint: ep});
+ * s3.service.endpoint.hostname == 'awsproxy.example.com'
+ * ```
+ *
+ * Note that if you do not specify a protocol, the protocol will
+ * be selected based on your current {AWS.config} configuration.
+ *
+ * @!attribute protocol
+ * @return [String] the protocol (http or https) of the endpoint
+ * URL
+ * @!attribute hostname
+ * @return [String] the host portion of the endpoint, e.g.,
+ * example.com
+ * @!attribute host
+ * @return [String] the host portion of the endpoint including
+ * the port, e.g., example.com:80
+ * @!attribute port
+ * @return [Integer] the port of the endpoint
+ * @!attribute href
+ * @return [String] the full URL of the endpoint
+ */
+AWS.Endpoint = inherit({
+
+ /**
+ * @overload Endpoint(endpoint)
+ * Constructs a new endpoint given an endpoint URL. If the
+ * URL omits a protocol (http or https), the default protocol
+ * set in the global {AWS.config} will be used.
+ * @param endpoint [String] the URL to construct an endpoint from
+ */
+ constructor: function Endpoint(endpoint, config) {
+ AWS.util.hideProperties(this, ['slashes', 'auth', 'hash', 'search', 'query']);
+
+ if (typeof endpoint === 'undefined' || endpoint === null) {
+ throw new Error('Invalid endpoint: ' + endpoint);
+ } else if (typeof endpoint !== 'string') {
+ return AWS.util.copy(endpoint);
+ }
+
+ if (!endpoint.match(/^http/)) {
+ var useSSL = config && config.sslEnabled !== undefined ?
+ config.sslEnabled : AWS.config.sslEnabled;
+ endpoint = (useSSL ? 'https' : 'http') + '://' + endpoint;
+ }
+
+ AWS.util.update(this, AWS.util.urlParse(endpoint));
+
+ // Ensure the port property is set as an integer
+ if (this.port) {
+ this.port = parseInt(this.port, 10);
+ } else {
+ this.port = this.protocol === 'https:' ? 443 : 80;
+ }
+ }
+
+});
+
+/**
+ * The low level HTTP request object, encapsulating all HTTP header
+ * and body data sent by a service request.
+ *
+ * @!attribute method
+ * @return [String] the HTTP method of the request
+ * @!attribute path
+ * @return [String] the path portion of the URI, e.g.,
+ * "/list/?start=5&num=10"
+ * @!attribute headers
+ * @return [map]
+ * a map of header keys and their respective values
+ * @!attribute body
+ * @return [String] the request body payload
+ * @!attribute endpoint
+ * @return [AWS.Endpoint] the endpoint for the request
+ * @!attribute region
+ * @api private
+ * @return [String] the region, for signing purposes only.
+ */
+AWS.HttpRequest = inherit({
+
+ /**
+ * @api private
+ */
+ constructor: function HttpRequest(endpoint, region) {
+ endpoint = new AWS.Endpoint(endpoint);
+ this.method = 'POST';
+ this.path = endpoint.path || '/';
+ this.headers = {};
+ this.body = '';
+ this.endpoint = endpoint;
+ this.region = region;
+ this._userAgent = '';
+ this.setUserAgent();
+ },
+
+ /**
+ * @api private
+ */
+ setUserAgent: function setUserAgent() {
+ this._userAgent = this.headers[this.getUserAgentHeaderName()] = AWS.util.userAgent();
+ },
+
+ getUserAgentHeaderName: function getUserAgentHeaderName() {
+ var prefix = AWS.util.isBrowser() ? 'X-Amz-' : '';
+ return prefix + 'User-Agent';
+ },
+
+ /**
+ * @api private
+ */
+ appendToUserAgent: function appendToUserAgent(agentPartial) {
+ if (typeof agentPartial === 'string' && agentPartial) {
+ this._userAgent += ' ' + agentPartial;
+ }
+ this.headers[this.getUserAgentHeaderName()] = this._userAgent;
+ },
+
+ /**
+ * @api private
+ */
+ getUserAgent: function getUserAgent() {
+ return this._userAgent;
+ },
+
+ /**
+ * @return [String] the part of the {path} excluding the
+ * query string
+ */
+ pathname: function pathname() {
+ return this.path.split('?', 1)[0];
+ },
+
+ /**
+ * @return [String] the query string portion of the {path}
+ */
+ search: function search() {
+ var query = this.path.split('?', 2)[1];
+ if (query) {
+ query = AWS.util.queryStringParse(query);
+ return AWS.util.queryParamsToString(query);
+ }
+ return '';
+ },
+
+ /**
+ * @api private
+ * update httpRequest endpoint with endpoint string
+ */
+ updateEndpoint: function updateEndpoint(endpointStr) {
+ var newEndpoint = new AWS.Endpoint(endpointStr);
+ this.endpoint = newEndpoint;
+ this.path = newEndpoint.path || '/';
+ if (this.headers['Host']) {
+ this.headers['Host'] = newEndpoint.host;
+ }
+ }
+});
+
+/**
+ * The low level HTTP response object, encapsulating all HTTP header
+ * and body data returned from the request.
+ *
+ * @!attribute statusCode
+ * @return [Integer] the HTTP status code of the response (e.g., 200, 404)
+ * @!attribute headers
+ * @return [map]
+ * a map of response header keys and their respective values
+ * @!attribute body
+ * @return [String] the response body payload
+ * @!attribute [r] streaming
+ * @return [Boolean] whether this response is being streamed at a low-level.
+ * Defaults to `false` (buffered reads). Do not modify this manually, use
+ * {createUnbufferedStream} to convert the stream to unbuffered mode
+ * instead.
+ */
+AWS.HttpResponse = inherit({
+
+ /**
+ * @api private
+ */
+ constructor: function HttpResponse() {
+ this.statusCode = undefined;
+ this.headers = {};
+ this.body = undefined;
+ this.streaming = false;
+ this.stream = null;
+ },
+
+ /**
+ * Disables buffering on the HTTP response and returns the stream for reading.
+ * @return [Stream, XMLHttpRequest, null] the underlying stream object.
+ * Use this object to directly read data off of the stream.
+ * @note This object is only available after the {AWS.Request~httpHeaders}
+ * event has fired. This method must be called prior to
+ * {AWS.Request~httpData}.
+ * @example Taking control of a stream
+ * request.on('httpHeaders', function(statusCode, headers) {
+ * if (statusCode < 300) {
+ * if (headers.etag === 'xyz') {
+ * // pipe the stream, disabling buffering
+ * var stream = this.response.httpResponse.createUnbufferedStream();
+ * stream.pipe(process.stdout);
+ * } else { // abort this request and set a better error message
+ * this.abort();
+ * this.response.error = new Error('Invalid ETag');
+ * }
+ * }
+ * }).send(console.log);
+ */
+ createUnbufferedStream: function createUnbufferedStream() {
+ this.streaming = true;
+ return this.stream;
+ }
+});
+
+
+AWS.HttpClient = inherit({});
+
+/**
+ * @api private
+ */
+AWS.HttpClient.getInstance = function getInstance() {
+ if (this.singleton === undefined) {
+ this.singleton = new this();
+ }
+ return this.singleton;
+};
+
+
+/***/ }),
+
+/***/ 2310:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var Stream = AWS.util.stream.Stream;
+var TransformStream = AWS.util.stream.Transform;
+var ReadableStream = AWS.util.stream.Readable;
+__nccwpck_require__(1556);
+var CONNECTION_REUSE_ENV_NAME = 'AWS_NODEJS_CONNECTION_REUSE_ENABLED';
+
+/**
+ * @api private
+ */
+AWS.NodeHttpClient = AWS.util.inherit({
+ handleRequest: function handleRequest(httpRequest, httpOptions, callback, errCallback) {
+ var self = this;
+ var endpoint = httpRequest.endpoint;
+ var pathPrefix = '';
+ if (!httpOptions) httpOptions = {};
+ if (httpOptions.proxy) {
+ pathPrefix = endpoint.protocol + '//' + endpoint.hostname;
+ if (endpoint.port !== 80 && endpoint.port !== 443) {
+ pathPrefix += ':' + endpoint.port;
+ }
+ endpoint = new AWS.Endpoint(httpOptions.proxy);
+ }
+
+ var useSSL = endpoint.protocol === 'https:';
+ var http = useSSL ? __nccwpck_require__(95687) : __nccwpck_require__(13685);
+ var options = {
+ host: endpoint.hostname,
+ port: endpoint.port,
+ method: httpRequest.method,
+ headers: httpRequest.headers,
+ path: pathPrefix + httpRequest.path
+ };
+
+ AWS.util.update(options, httpOptions);
+
+ if (!httpOptions.agent) {
+ options.agent = this.getAgent(useSSL, {
+ keepAlive: process.env[CONNECTION_REUSE_ENV_NAME] === '1' ? true : false
+ });
+ }
+
+ delete options.proxy; // proxy isn't an HTTP option
+ delete options.timeout; // timeout isn't an HTTP option
+
+ var stream = http.request(options, function (httpResp) {
+ if (stream.didCallback) return;
+
+ callback(httpResp);
+ httpResp.emit(
+ 'headers',
+ httpResp.statusCode,
+ httpResp.headers,
+ httpResp.statusMessage
+ );
+ });
+ httpRequest.stream = stream; // attach stream to httpRequest
+ stream.didCallback = false;
+
+ // connection timeout support
+ if (httpOptions.connectTimeout) {
+ var connectTimeoutId;
+ stream.on('socket', function(socket) {
+ if (socket.connecting) {
+ connectTimeoutId = setTimeout(function connectTimeout() {
+ if (stream.didCallback) return; stream.didCallback = true;
+
+ stream.abort();
+ errCallback(AWS.util.error(
+ new Error('Socket timed out without establishing a connection'),
+ {code: 'TimeoutError'}
+ ));
+ }, httpOptions.connectTimeout);
+ socket.on('connect', function() {
+ clearTimeout(connectTimeoutId);
+ connectTimeoutId = null;
+ });
+ }
+ });
+ }
+
+ // timeout support
+ stream.setTimeout(httpOptions.timeout || 0, function() {
+ if (stream.didCallback) return; stream.didCallback = true;
+
+ var msg = 'Connection timed out after ' + httpOptions.timeout + 'ms';
+ errCallback(AWS.util.error(new Error(msg), {code: 'TimeoutError'}));
+ stream.abort();
+ });
+
+ stream.on('error', function(err) {
+ if (connectTimeoutId) {
+ clearTimeout(connectTimeoutId);
+ connectTimeoutId = null;
+ }
+ if (stream.didCallback) return; stream.didCallback = true;
+ if ('ECONNRESET' === err.code || 'EPIPE' === err.code || 'ETIMEDOUT' === err.code) {
+ errCallback(AWS.util.error(err, {code: 'TimeoutError'}));
+ } else {
+ errCallback(err);
+ }
+ });
+
+ var expect = httpRequest.headers.Expect || httpRequest.headers.expect;
+ if (expect === '100-continue') {
+ stream.once('continue', function() {
+ self.writeBody(stream, httpRequest);
+ });
+ } else {
+ this.writeBody(stream, httpRequest);
+ }
+
+ return stream;
+ },
+
+ writeBody: function writeBody(stream, httpRequest) {
+ var body = httpRequest.body;
+ var totalBytes = parseInt(httpRequest.headers['Content-Length'], 10);
+
+ if (body instanceof Stream) {
+ // For progress support of streaming content -
+ // pipe the data through a transform stream to emit 'sendProgress' events
+ var progressStream = this.progressStream(stream, totalBytes);
+ if (progressStream) {
+ body.pipe(progressStream).pipe(stream);
+ } else {
+ body.pipe(stream);
+ }
+ } else if (body) {
+ // The provided body is a buffer/string and is already fully available in memory -
+ // For performance it's best to send it as a whole by calling stream.end(body),
+ // Callers expect a 'sendProgress' event which is best emitted once
+ // the http request stream has been fully written and all data flushed.
+ // The use of totalBytes is important over body.length for strings where
+ // length is char length and not byte length.
+ stream.once('finish', function() {
+ stream.emit('sendProgress', {
+ loaded: totalBytes,
+ total: totalBytes
+ });
+ });
+ stream.end(body);
+ } else {
+ // no request body
+ stream.end();
+ }
+ },
+
+ /**
+ * Create the https.Agent or http.Agent according to the request schema.
+ */
+ getAgent: function getAgent(useSSL, agentOptions) {
+ var http = useSSL ? __nccwpck_require__(95687) : __nccwpck_require__(13685);
+ if (useSSL) {
+ if (!AWS.NodeHttpClient.sslAgent) {
+ AWS.NodeHttpClient.sslAgent = new http.Agent(AWS.util.merge({
+ rejectUnauthorized: process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0' ? false : true
+ }, agentOptions || {}));
+ AWS.NodeHttpClient.sslAgent.setMaxListeners(0);
+
+ // delegate maxSockets to globalAgent, set a default limit of 50 if current value is Infinity.
+ // Users can bypass this default by supplying their own Agent as part of SDK configuration.
+ Object.defineProperty(AWS.NodeHttpClient.sslAgent, 'maxSockets', {
+ enumerable: true,
+ get: function() {
+ var defaultMaxSockets = 50;
+ var globalAgent = http.globalAgent;
+ if (globalAgent && globalAgent.maxSockets !== Infinity && typeof globalAgent.maxSockets === 'number') {
+ return globalAgent.maxSockets;
+ }
+ return defaultMaxSockets;
+ }
+ });
+ }
+ return AWS.NodeHttpClient.sslAgent;
+ } else {
+ if (!AWS.NodeHttpClient.agent) {
+ AWS.NodeHttpClient.agent = new http.Agent(agentOptions);
+ }
+ return AWS.NodeHttpClient.agent;
+ }
+ },
+
+ progressStream: function progressStream(stream, totalBytes) {
+ if (typeof TransformStream === 'undefined') {
+ // for node 0.8 there is no streaming progress
+ return;
+ }
+ var loadedBytes = 0;
+ var reporter = new TransformStream();
+ reporter._transform = function(chunk, encoding, callback) {
+ if (chunk) {
+ loadedBytes += chunk.length;
+ stream.emit('sendProgress', {
+ loaded: loadedBytes,
+ total: totalBytes
+ });
+ }
+ callback(null, chunk);
+ };
+ return reporter;
+ },
+
+ emitter: null
+});
+
+/**
+ * @!ignore
+ */
+
+/**
+ * @api private
+ */
+AWS.HttpClient.prototype = AWS.NodeHttpClient.prototype;
+
+/**
+ * @api private
+ */
+AWS.HttpClient.streamsApiVersion = ReadableStream ? 2 : 1;
+
+
+/***/ }),
+
+/***/ 47495:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+
+function JsonBuilder() { }
+
+JsonBuilder.prototype.build = function(value, shape) {
+ return JSON.stringify(translate(value, shape));
+};
+
+function translate(value, shape) {
+ if (!shape || value === undefined || value === null) return undefined;
+
+ switch (shape.type) {
+ case 'structure': return translateStructure(value, shape);
+ case 'map': return translateMap(value, shape);
+ case 'list': return translateList(value, shape);
+ default: return translateScalar(value, shape);
+ }
+}
+
+function translateStructure(structure, shape) {
+ if (shape.isDocument) {
+ return structure;
+ }
+ var struct = {};
+ util.each(structure, function(name, value) {
+ var memberShape = shape.members[name];
+ if (memberShape) {
+ if (memberShape.location !== 'body') return;
+ var locationName = memberShape.isLocationName ? memberShape.name : name;
+ var result = translate(value, memberShape);
+ if (result !== undefined) struct[locationName] = result;
+ }
+ });
+ return struct;
+}
+
+function translateList(list, shape) {
+ var out = [];
+ util.arrayEach(list, function(value) {
+ var result = translate(value, shape.member);
+ if (result !== undefined) out.push(result);
+ });
+ return out;
+}
+
+function translateMap(map, shape) {
+ var out = {};
+ util.each(map, function(key, value) {
+ var result = translate(value, shape.value);
+ if (result !== undefined) out[key] = result;
+ });
+ return out;
+}
+
+function translateScalar(value, shape) {
+ return shape.toWireFormat(value);
+}
+
+/**
+ * @api private
+ */
+module.exports = JsonBuilder;
+
+
+/***/ }),
+
+/***/ 5474:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+
+function JsonParser() { }
+
+JsonParser.prototype.parse = function(value, shape) {
+ return translate(JSON.parse(value), shape);
+};
+
+function translate(value, shape) {
+ if (!shape || value === undefined) return undefined;
+
+ switch (shape.type) {
+ case 'structure': return translateStructure(value, shape);
+ case 'map': return translateMap(value, shape);
+ case 'list': return translateList(value, shape);
+ default: return translateScalar(value, shape);
+ }
+}
+
+function translateStructure(structure, shape) {
+ if (structure == null) return undefined;
+ if (shape.isDocument) return structure;
+
+ var struct = {};
+ var shapeMembers = shape.members;
+ var isAwsQueryCompatible = shape.api && shape.api.awsQueryCompatible;
+ util.each(shapeMembers, function(name, memberShape) {
+ var locationName = memberShape.isLocationName ? memberShape.name : name;
+ if (Object.prototype.hasOwnProperty.call(structure, locationName)) {
+ var value = structure[locationName];
+ var result = translate(value, memberShape);
+ if (result !== undefined) struct[name] = result;
+ } else if (isAwsQueryCompatible && memberShape.defaultValue) {
+ if (memberShape.type === 'list') {
+ struct[name] = typeof memberShape.defaultValue === 'function' ? memberShape.defaultValue() : memberShape.defaultValue;
+ }
+ }
+ });
+ return struct;
+}
+
+function translateList(list, shape) {
+ if (list == null) return undefined;
+
+ var out = [];
+ util.arrayEach(list, function(value) {
+ var result = translate(value, shape.member);
+ if (result === undefined) out.push(null);
+ else out.push(result);
+ });
+ return out;
+}
+
+function translateMap(map, shape) {
+ if (map == null) return undefined;
+
+ var out = {};
+ util.each(map, function(key, value) {
+ var result = translate(value, shape.value);
+ if (result === undefined) out[key] = null;
+ else out[key] = result;
+ });
+ return out;
+}
+
+function translateScalar(value, shape) {
+ return shape.toType(value);
+}
+
+/**
+ * @api private
+ */
+module.exports = JsonParser;
+
+
+/***/ }),
+
+/***/ 93985:
+/***/ ((module) => {
+
+var warning = [
+ 'We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.\n',
+ 'Please migrate your code to use AWS SDK for JavaScript (v3).',
+ 'For more information, check the migration guide at https://a.co/7PzMCcy'
+].join('\n');
+
+module.exports = {
+ suppress: false
+};
+
+/**
+ * To suppress this message:
+ * @example
+ * require('aws-sdk/lib/maintenance_mode_message').suppress = true;
+ */
+function emitWarning() {
+ if (typeof process === 'undefined')
+ return;
+
+ // Skip maintenance mode message in Lambda environments
+ if (
+ typeof process.env === 'object' &&
+ typeof process.env.AWS_EXECUTION_ENV !== 'undefined' &&
+ process.env.AWS_EXECUTION_ENV.indexOf('AWS_Lambda_') === 0
+ ) {
+ return;
+ }
+
+ if (
+ typeof process.env === 'object' &&
+ typeof process.env.AWS_SDK_JS_SUPPRESS_MAINTENANCE_MODE_MESSAGE !== 'undefined'
+ ) {
+ return;
+ }
+
+ if (typeof process.emitWarning === 'function') {
+ process.emitWarning(warning, {
+ type: 'NOTE'
+ });
+ }
+}
+
+setTimeout(function () {
+ if (!module.exports.suppress) {
+ emitWarning();
+ }
+}, 0);
+
+
+/***/ }),
+
+/***/ 25768:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+__nccwpck_require__(1556);
+var inherit = AWS.util.inherit;
+var getMetadataServiceEndpoint = __nccwpck_require__(608);
+var URL = (__nccwpck_require__(57310).URL);
+
+/**
+ * Represents a metadata service available on EC2 instances. Using the
+ * {request} method, you can receieve metadata about any available resource
+ * on the metadata service.
+ *
+ * You can disable the use of the IMDS by setting the AWS_EC2_METADATA_DISABLED
+ * environment variable to a truthy value.
+ *
+ * @!attribute [r] httpOptions
+ * @return [map] a map of options to pass to the underlying HTTP request:
+ *
+ * * **timeout** (Number) — a timeout value in milliseconds to wait
+ * before aborting the connection. Set to 0 for no timeout.
+ *
+ * @!macro nobrowser
+ */
+AWS.MetadataService = inherit({
+ /**
+ * @return [String] the endpoint of the instance metadata service
+ */
+ endpoint: getMetadataServiceEndpoint(),
+
+ /**
+ * @!ignore
+ */
+
+ /**
+ * Default HTTP options. By default, the metadata service is set to not
+ * timeout on long requests. This means that on non-EC2 machines, this
+ * request will never return. If you are calling this operation from an
+ * environment that may not always run on EC2, set a `timeout` value so
+ * the SDK will abort the request after a given number of milliseconds.
+ */
+ httpOptions: { timeout: 0 },
+
+ /**
+ * when enabled, metadata service will not fetch token
+ */
+ disableFetchToken: false,
+
+ /**
+ * Creates a new MetadataService object with a given set of options.
+ *
+ * @option options host [String] the hostname of the instance metadata
+ * service
+ * @option options httpOptions [map] a map of options to pass to the
+ * underlying HTTP request:
+ *
+ * * **timeout** (Number) — a timeout value in milliseconds to wait
+ * before aborting the connection. Set to 0 for no timeout.
+ * @option options maxRetries [Integer] the maximum number of retries to
+ * perform for timeout errors
+ * @option options retryDelayOptions [map] A set of options to configure the
+ * retry delay on retryable errors. See AWS.Config for details.
+ * @option options ec2MetadataV1Disabled [boolean] Whether to block IMDS v1 fallback.
+ * @option options profile [string] A profile to check for IMDSv1 fallback settings.
+ * @option options filename [string] Optional filename for the config file.
+ */
+ constructor: function MetadataService(options) {
+ if (options && options.host) {
+ options.endpoint = 'http://' + options.host;
+ delete options.host;
+ }
+ this.profile = options && options.profile || process.env.AWS_PROFILE || AWS.util.defaultProfile;
+ this.ec2MetadataV1Disabled = !!(options && options.ec2MetadataV1Disabled);
+ this.filename = options && options.filename;
+ AWS.util.update(this, options);
+ },
+
+ /**
+ * Sends a request to the instance metadata service for a given resource.
+ *
+ * @param path [String] the path of the resource to get
+ *
+ * @param options [map] an optional map used to make request
+ *
+ * * **method** (String) — HTTP request method
+ *
+ * * **headers** (map) — a map of response header keys and their respective values
+ *
+ * @callback callback function(err, data)
+ * Called when a response is available from the service.
+ * @param err [Error, null] if an error occurred, this value will be set
+ * @param data [String, null] if the request was successful, the body of
+ * the response
+ */
+ request: function request(path, options, callback) {
+ if (arguments.length === 2) {
+ callback = options;
+ options = {};
+ }
+
+ if (process.env[AWS.util.imdsDisabledEnv]) {
+ callback(new Error('EC2 Instance Metadata Service access disabled'));
+ return;
+ }
+
+ path = path || '/';
+
+ // Verify that host is a valid URL
+ if (URL) { new URL(this.endpoint); }
+
+ var httpRequest = new AWS.HttpRequest(this.endpoint + path);
+ httpRequest.method = options.method || 'GET';
+ if (options.headers) {
+ httpRequest.headers = options.headers;
+ }
+ AWS.util.handleRequestWithRetries(httpRequest, this, callback);
+ },
+
+ /**
+ * @api private
+ */
+ loadCredentialsCallbacks: [],
+
+ /**
+ * Fetches metadata token used for getting credentials
+ *
+ * @api private
+ * @callback callback function(err, token)
+ * Called when token is loaded from the resource
+ */
+ fetchMetadataToken: function fetchMetadataToken(callback) {
+ var self = this;
+ var tokenFetchPath = '/latest/api/token';
+ self.request(
+ tokenFetchPath,
+ {
+ 'method': 'PUT',
+ 'headers': {
+ 'x-aws-ec2-metadata-token-ttl-seconds': '21600'
+ }
+ },
+ callback
+ );
+ },
+
+ /**
+ * Fetches credentials
+ *
+ * @api private
+ * @callback cb function(err, creds)
+ * Called when credentials are loaded from the resource
+ */
+ fetchCredentials: function fetchCredentials(options, cb) {
+ var self = this;
+ var basePath = '/latest/meta-data/iam/security-credentials/';
+
+ var isImdsV1Fallback = self.disableFetchToken
+ || !(options && options.headers && options.headers['x-aws-ec2-metadata-token']);
+
+ if (isImdsV1Fallback && !(process.env.AWS_EC2_METADATA_DISABLED)) {
+ try {
+ var profiles = AWS.util.getProfilesFromSharedConfig(AWS.util.iniLoader, this.filename);
+ var profileSettings = profiles[this.profile] || {};
+ } catch (e) {
+ profileSettings = {};
+ }
+
+ if (profileSettings.ec2_metadata_v1_disabled && profileSettings.ec2_metadata_v1_disabled !== 'false') {
+ return cb(AWS.util.error(
+ new Error('AWS EC2 Metadata v1 fallback has been blocked by AWS config file profile.')
+ ));
+ }
+
+ if (self.ec2MetadataV1Disabled) {
+ return cb(AWS.util.error(
+ new Error('AWS EC2 Metadata v1 fallback has been blocked by AWS.MetadataService::options.ec2MetadataV1Disabled=true.')
+ ));
+ }
+
+ if (process.env.AWS_EC2_METADATA_V1_DISABLED && process.env.AWS_EC2_METADATA_V1_DISABLED !== 'false') {
+ return cb(AWS.util.error(
+ new Error('AWS EC2 Metadata v1 fallback has been blocked by process.env.AWS_EC2_METADATA_V1_DISABLED.')
+ ));
+ }
+ }
+
+ self.request(basePath, options, function (err, roleName) {
+ if (err) {
+ self.disableFetchToken = !(err.statusCode === 401);
+ cb(AWS.util.error(
+ err,
+ {
+ message: 'EC2 Metadata roleName request returned error'
+ }
+ ));
+ return;
+ }
+ roleName = roleName.split('\n')[0]; // grab first (and only) role
+ self.request(basePath + roleName, options, function (credErr, credData) {
+ if (credErr) {
+ self.disableFetchToken = !(credErr.statusCode === 401);
+ cb(AWS.util.error(
+ credErr,
+ {
+ message: 'EC2 Metadata creds request returned error'
+ }
+ ));
+ return;
+ }
+ try {
+ var credentials = JSON.parse(credData);
+ cb(null, credentials);
+ } catch (parseError) {
+ cb(parseError);
+ }
+ });
+ });
+ },
+
+ /**
+ * Loads a set of credentials stored in the instance metadata service
+ *
+ * @api private
+ * @callback callback function(err, credentials)
+ * Called when credentials are loaded from the resource
+ * @param err [Error] if an error occurred, this value will be set
+ * @param credentials [Object] the raw JSON object containing all
+ * metadata from the credentials resource
+ */
+ loadCredentials: function loadCredentials(callback) {
+ var self = this;
+ self.loadCredentialsCallbacks.push(callback);
+ if (self.loadCredentialsCallbacks.length > 1) { return; }
+
+ function callbacks(err, creds) {
+ var cb;
+ while ((cb = self.loadCredentialsCallbacks.shift()) !== undefined) {
+ cb(err, creds);
+ }
+ }
+
+ if (self.disableFetchToken) {
+ self.fetchCredentials({}, callbacks);
+ } else {
+ self.fetchMetadataToken(function(tokenError, token) {
+ if (tokenError) {
+ if (tokenError.code === 'TimeoutError') {
+ self.disableFetchToken = true;
+ } else if (tokenError.retryable === true) {
+ callbacks(AWS.util.error(
+ tokenError,
+ {
+ message: 'EC2 Metadata token request returned error'
+ }
+ ));
+ return;
+ } else if (tokenError.statusCode === 400) {
+ callbacks(AWS.util.error(
+ tokenError,
+ {
+ message: 'EC2 Metadata token request returned 400'
+ }
+ ));
+ return;
+ }
+ }
+ var options = {};
+ if (token) {
+ options.headers = {
+ 'x-aws-ec2-metadata-token': token
+ };
+ }
+ self.fetchCredentials(options, callbacks);
+ });
+
+ }
+ }
+});
+
+/**
+ * @api private
+ */
+module.exports = AWS.MetadataService;
+
+
+/***/ }),
+
+/***/ 83205:
+/***/ ((module) => {
+
+var getEndpoint = function() {
+ return {
+ IPv4: 'http://169.254.169.254',
+ IPv6: 'http://[fd00:ec2::254]',
+ };
+};
+
+module.exports = getEndpoint;
+
+
+/***/ }),
+
+/***/ 95578:
+/***/ ((module) => {
+
+var ENV_ENDPOINT_NAME = 'AWS_EC2_METADATA_SERVICE_ENDPOINT';
+var CONFIG_ENDPOINT_NAME = 'ec2_metadata_service_endpoint';
+
+var getEndpointConfigOptions = function() {
+ return {
+ environmentVariableSelector: function(env) { return env[ENV_ENDPOINT_NAME]; },
+ configFileSelector: function(profile) { return profile[CONFIG_ENDPOINT_NAME]; },
+ default: undefined,
+ };
+};
+
+module.exports = getEndpointConfigOptions;
+
+
+/***/ }),
+
+/***/ 37997:
+/***/ ((module) => {
+
+var getEndpointMode = function() {
+ return {
+ IPv4: 'IPv4',
+ IPv6: 'IPv6',
+ };
+};
+
+module.exports = getEndpointMode;
+
+
+/***/ }),
+
+/***/ 45509:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var EndpointMode = __nccwpck_require__(37997)();
+
+var ENV_ENDPOINT_MODE_NAME = 'AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE';
+var CONFIG_ENDPOINT_MODE_NAME = 'ec2_metadata_service_endpoint_mode';
+
+var getEndpointModeConfigOptions = function() {
+ return {
+ environmentVariableSelector: function(env) { return env[ENV_ENDPOINT_MODE_NAME]; },
+ configFileSelector: function(profile) { return profile[CONFIG_ENDPOINT_MODE_NAME]; },
+ default: EndpointMode.IPv4,
+ };
+};
+
+module.exports = getEndpointModeConfigOptions;
+
+
+/***/ }),
+
+/***/ 608:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+var Endpoint = __nccwpck_require__(83205)();
+var EndpointMode = __nccwpck_require__(37997)();
+
+var ENDPOINT_CONFIG_OPTIONS = __nccwpck_require__(95578)();
+var ENDPOINT_MODE_CONFIG_OPTIONS = __nccwpck_require__(45509)();
+
+var getMetadataServiceEndpoint = function() {
+ var endpoint = AWS.util.loadConfig(ENDPOINT_CONFIG_OPTIONS);
+ if (endpoint !== undefined) return endpoint;
+
+ var endpointMode = AWS.util.loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS);
+ switch (endpointMode) {
+ case EndpointMode.IPv4:
+ return Endpoint.IPv4;
+ case EndpointMode.IPv6:
+ return Endpoint.IPv6;
+ default:
+ throw new Error('Unsupported endpoint mode: ' + endpointMode);
+ }
+};
+
+module.exports = getMetadataServiceEndpoint;
+
+
+/***/ }),
+
+/***/ 17657:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var Collection = __nccwpck_require__(71965);
+var Operation = __nccwpck_require__(28083);
+var Shape = __nccwpck_require__(71349);
+var Paginator = __nccwpck_require__(45938);
+var ResourceWaiter = __nccwpck_require__(41368);
+var metadata = __nccwpck_require__(17752);
+
+var util = __nccwpck_require__(77985);
+var property = util.property;
+var memoizedProperty = util.memoizedProperty;
+
+function Api(api, options) {
+ var self = this;
+ api = api || {};
+ options = options || {};
+ options.api = this;
+
+ api.metadata = api.metadata || {};
+
+ var serviceIdentifier = options.serviceIdentifier;
+ delete options.serviceIdentifier;
+
+ property(this, 'isApi', true, false);
+ property(this, 'apiVersion', api.metadata.apiVersion);
+ property(this, 'endpointPrefix', api.metadata.endpointPrefix);
+ property(this, 'signingName', api.metadata.signingName);
+ property(this, 'globalEndpoint', api.metadata.globalEndpoint);
+ property(this, 'signatureVersion', api.metadata.signatureVersion);
+ property(this, 'jsonVersion', api.metadata.jsonVersion);
+ property(this, 'targetPrefix', api.metadata.targetPrefix);
+ property(this, 'protocol', api.metadata.protocol);
+ property(this, 'timestampFormat', api.metadata.timestampFormat);
+ property(this, 'xmlNamespaceUri', api.metadata.xmlNamespace);
+ property(this, 'abbreviation', api.metadata.serviceAbbreviation);
+ property(this, 'fullName', api.metadata.serviceFullName);
+ property(this, 'serviceId', api.metadata.serviceId);
+ if (serviceIdentifier && metadata[serviceIdentifier]) {
+ property(this, 'xmlNoDefaultLists', metadata[serviceIdentifier].xmlNoDefaultLists, false);
+ }
+
+ memoizedProperty(this, 'className', function() {
+ var name = api.metadata.serviceAbbreviation || api.metadata.serviceFullName;
+ if (!name) return null;
+
+ name = name.replace(/^Amazon|AWS\s*|\(.*|\s+|\W+/g, '');
+ if (name === 'ElasticLoadBalancing') name = 'ELB';
+ return name;
+ });
+
+ function addEndpointOperation(name, operation) {
+ if (operation.endpointoperation === true) {
+ property(self, 'endpointOperation', util.string.lowerFirst(name));
+ }
+ if (operation.endpointdiscovery && !self.hasRequiredEndpointDiscovery) {
+ property(
+ self,
+ 'hasRequiredEndpointDiscovery',
+ operation.endpointdiscovery.required === true
+ );
+ }
+ }
+
+ property(this, 'operations', new Collection(api.operations, options, function(name, operation) {
+ return new Operation(name, operation, options);
+ }, util.string.lowerFirst, addEndpointOperation));
+
+ property(this, 'shapes', new Collection(api.shapes, options, function(name, shape) {
+ return Shape.create(shape, options);
+ }));
+
+ property(this, 'paginators', new Collection(api.paginators, options, function(name, paginator) {
+ return new Paginator(name, paginator, options);
+ }));
+
+ property(this, 'waiters', new Collection(api.waiters, options, function(name, waiter) {
+ return new ResourceWaiter(name, waiter, options);
+ }, util.string.lowerFirst));
+
+ if (options.documentation) {
+ property(this, 'documentation', api.documentation);
+ property(this, 'documentationUrl', api.documentationUrl);
+ }
+ property(this, 'awsQueryCompatible', api.metadata.awsQueryCompatible);
+}
+
+/**
+ * @api private
+ */
+module.exports = Api;
+
+
+/***/ }),
+
+/***/ 71965:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var memoizedProperty = (__nccwpck_require__(77985).memoizedProperty);
+
+function memoize(name, value, factory, nameTr) {
+ memoizedProperty(this, nameTr(name), function() {
+ return factory(name, value);
+ });
+}
+
+function Collection(iterable, options, factory, nameTr, callback) {
+ nameTr = nameTr || String;
+ var self = this;
+
+ for (var id in iterable) {
+ if (Object.prototype.hasOwnProperty.call(iterable, id)) {
+ memoize.call(self, id, iterable[id], factory, nameTr);
+ if (callback) callback(id, iterable[id]);
+ }
+ }
+}
+
+/**
+ * @api private
+ */
+module.exports = Collection;
+
+
+/***/ }),
+
+/***/ 28083:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var Shape = __nccwpck_require__(71349);
+
+var util = __nccwpck_require__(77985);
+var property = util.property;
+var memoizedProperty = util.memoizedProperty;
+
+function Operation(name, operation, options) {
+ var self = this;
+ options = options || {};
+
+ property(this, 'name', operation.name || name);
+ property(this, 'api', options.api, false);
+
+ operation.http = operation.http || {};
+ property(this, 'endpoint', operation.endpoint);
+ property(this, 'httpMethod', operation.http.method || 'POST');
+ property(this, 'httpPath', operation.http.requestUri || '/');
+ property(this, 'authtype', operation.authtype || '');
+ property(
+ this,
+ 'endpointDiscoveryRequired',
+ operation.endpointdiscovery ?
+ (operation.endpointdiscovery.required ? 'REQUIRED' : 'OPTIONAL') :
+ 'NULL'
+ );
+
+ // httpChecksum replaces usage of httpChecksumRequired, but some APIs
+ // (s3control) still uses old trait.
+ var httpChecksumRequired = operation.httpChecksumRequired
+ || (operation.httpChecksum && operation.httpChecksum.requestChecksumRequired);
+ property(this, 'httpChecksumRequired', httpChecksumRequired, false);
+
+ memoizedProperty(this, 'input', function() {
+ if (!operation.input) {
+ return new Shape.create({type: 'structure'}, options);
+ }
+ return Shape.create(operation.input, options);
+ });
+
+ memoizedProperty(this, 'output', function() {
+ if (!operation.output) {
+ return new Shape.create({type: 'structure'}, options);
+ }
+ return Shape.create(operation.output, options);
+ });
+
+ memoizedProperty(this, 'errors', function() {
+ var list = [];
+ if (!operation.errors) return null;
+
+ for (var i = 0; i < operation.errors.length; i++) {
+ list.push(Shape.create(operation.errors[i], options));
+ }
+
+ return list;
+ });
+
+ memoizedProperty(this, 'paginator', function() {
+ return options.api.paginators[name];
+ });
+
+ if (options.documentation) {
+ property(this, 'documentation', operation.documentation);
+ property(this, 'documentationUrl', operation.documentationUrl);
+ }
+
+ // idempotentMembers only tracks top-level input shapes
+ memoizedProperty(this, 'idempotentMembers', function() {
+ var idempotentMembers = [];
+ var input = self.input;
+ var members = input.members;
+ if (!input.members) {
+ return idempotentMembers;
+ }
+ for (var name in members) {
+ if (!members.hasOwnProperty(name)) {
+ continue;
+ }
+ if (members[name].isIdempotent === true) {
+ idempotentMembers.push(name);
+ }
+ }
+ return idempotentMembers;
+ });
+
+ memoizedProperty(this, 'hasEventOutput', function() {
+ var output = self.output;
+ return hasEventStream(output);
+ });
+}
+
+function hasEventStream(topLevelShape) {
+ var members = topLevelShape.members;
+ var payload = topLevelShape.payload;
+
+ if (!topLevelShape.members) {
+ return false;
+ }
+
+ if (payload) {
+ var payloadMember = members[payload];
+ return payloadMember.isEventStream;
+ }
+
+ // check if any member is an event stream
+ for (var name in members) {
+ if (!members.hasOwnProperty(name)) {
+ if (members[name].isEventStream === true) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+/**
+ * @api private
+ */
+module.exports = Operation;
+
+
+/***/ }),
+
+/***/ 45938:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var property = (__nccwpck_require__(77985).property);
+
+function Paginator(name, paginator) {
+ property(this, 'inputToken', paginator.input_token);
+ property(this, 'limitKey', paginator.limit_key);
+ property(this, 'moreResults', paginator.more_results);
+ property(this, 'outputToken', paginator.output_token);
+ property(this, 'resultKey', paginator.result_key);
+}
+
+/**
+ * @api private
+ */
+module.exports = Paginator;
+
+
+/***/ }),
+
+/***/ 41368:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+var property = util.property;
+
+function ResourceWaiter(name, waiter, options) {
+ options = options || {};
+ property(this, 'name', name);
+ property(this, 'api', options.api, false);
+
+ if (waiter.operation) {
+ property(this, 'operation', util.string.lowerFirst(waiter.operation));
+ }
+
+ var self = this;
+ var keys = [
+ 'type',
+ 'description',
+ 'delay',
+ 'maxAttempts',
+ 'acceptors'
+ ];
+
+ keys.forEach(function(key) {
+ var value = waiter[key];
+ if (value) {
+ property(self, key, value);
+ }
+ });
+}
+
+/**
+ * @api private
+ */
+module.exports = ResourceWaiter;
+
+
+/***/ }),
+
+/***/ 71349:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var Collection = __nccwpck_require__(71965);
+
+var util = __nccwpck_require__(77985);
+
+function property(obj, name, value) {
+ if (value !== null && value !== undefined) {
+ util.property.apply(this, arguments);
+ }
+}
+
+function memoizedProperty(obj, name) {
+ if (!obj.constructor.prototype[name]) {
+ util.memoizedProperty.apply(this, arguments);
+ }
+}
+
+function Shape(shape, options, memberName) {
+ options = options || {};
+
+ property(this, 'shape', shape.shape);
+ property(this, 'api', options.api, false);
+ property(this, 'type', shape.type);
+ property(this, 'enum', shape.enum);
+ property(this, 'min', shape.min);
+ property(this, 'max', shape.max);
+ property(this, 'pattern', shape.pattern);
+ property(this, 'location', shape.location || this.location || 'body');
+ property(this, 'name', this.name || shape.xmlName || shape.queryName ||
+ shape.locationName || memberName);
+ property(this, 'isStreaming', shape.streaming || this.isStreaming || false);
+ property(this, 'requiresLength', shape.requiresLength, false);
+ property(this, 'isComposite', shape.isComposite || false);
+ property(this, 'isShape', true, false);
+ property(this, 'isQueryName', Boolean(shape.queryName), false);
+ property(this, 'isLocationName', Boolean(shape.locationName), false);
+ property(this, 'isIdempotent', shape.idempotencyToken === true);
+ property(this, 'isJsonValue', shape.jsonvalue === true);
+ property(this, 'isSensitive', shape.sensitive === true || shape.prototype && shape.prototype.sensitive === true);
+ property(this, 'isEventStream', Boolean(shape.eventstream), false);
+ property(this, 'isEvent', Boolean(shape.event), false);
+ property(this, 'isEventPayload', Boolean(shape.eventpayload), false);
+ property(this, 'isEventHeader', Boolean(shape.eventheader), false);
+ property(this, 'isTimestampFormatSet', Boolean(shape.timestampFormat) || shape.prototype && shape.prototype.isTimestampFormatSet === true, false);
+ property(this, 'endpointDiscoveryId', Boolean(shape.endpointdiscoveryid), false);
+ property(this, 'hostLabel', Boolean(shape.hostLabel), false);
+
+ if (options.documentation) {
+ property(this, 'documentation', shape.documentation);
+ property(this, 'documentationUrl', shape.documentationUrl);
+ }
+
+ if (shape.xmlAttribute) {
+ property(this, 'isXmlAttribute', shape.xmlAttribute || false);
+ }
+
+ // type conversion and parsing
+ property(this, 'defaultValue', null);
+ this.toWireFormat = function(value) {
+ if (value === null || value === undefined) return '';
+ return value;
+ };
+ this.toType = function(value) { return value; };
+}
+
+/**
+ * @api private
+ */
+Shape.normalizedTypes = {
+ character: 'string',
+ double: 'float',
+ long: 'integer',
+ short: 'integer',
+ biginteger: 'integer',
+ bigdecimal: 'float',
+ blob: 'binary'
+};
+
+/**
+ * @api private
+ */
+Shape.types = {
+ 'structure': StructureShape,
+ 'list': ListShape,
+ 'map': MapShape,
+ 'boolean': BooleanShape,
+ 'timestamp': TimestampShape,
+ 'float': FloatShape,
+ 'integer': IntegerShape,
+ 'string': StringShape,
+ 'base64': Base64Shape,
+ 'binary': BinaryShape
+};
+
+Shape.resolve = function resolve(shape, options) {
+ if (shape.shape) {
+ var refShape = options.api.shapes[shape.shape];
+ if (!refShape) {
+ throw new Error('Cannot find shape reference: ' + shape.shape);
+ }
+
+ return refShape;
+ } else {
+ return null;
+ }
+};
+
+Shape.create = function create(shape, options, memberName) {
+ if (shape.isShape) return shape;
+
+ var refShape = Shape.resolve(shape, options);
+ if (refShape) {
+ var filteredKeys = Object.keys(shape);
+ if (!options.documentation) {
+ filteredKeys = filteredKeys.filter(function(name) {
+ return !name.match(/documentation/);
+ });
+ }
+
+ // create an inline shape with extra members
+ var InlineShape = function() {
+ refShape.constructor.call(this, shape, options, memberName);
+ };
+ InlineShape.prototype = refShape;
+ return new InlineShape();
+ } else {
+ // set type if not set
+ if (!shape.type) {
+ if (shape.members) shape.type = 'structure';
+ else if (shape.member) shape.type = 'list';
+ else if (shape.key) shape.type = 'map';
+ else shape.type = 'string';
+ }
+
+ // normalize types
+ var origType = shape.type;
+ if (Shape.normalizedTypes[shape.type]) {
+ shape.type = Shape.normalizedTypes[shape.type];
+ }
+
+ if (Shape.types[shape.type]) {
+ return new Shape.types[shape.type](shape, options, memberName);
+ } else {
+ throw new Error('Unrecognized shape type: ' + origType);
+ }
+ }
+};
+
+function CompositeShape(shape) {
+ Shape.apply(this, arguments);
+ property(this, 'isComposite', true);
+
+ if (shape.flattened) {
+ property(this, 'flattened', shape.flattened || false);
+ }
+}
+
+function StructureShape(shape, options) {
+ var self = this;
+ var requiredMap = null, firstInit = !this.isShape;
+
+ CompositeShape.apply(this, arguments);
+
+ if (firstInit) {
+ property(this, 'defaultValue', function() { return {}; });
+ property(this, 'members', {});
+ property(this, 'memberNames', []);
+ property(this, 'required', []);
+ property(this, 'isRequired', function() { return false; });
+ property(this, 'isDocument', Boolean(shape.document));
+ }
+
+ if (shape.members) {
+ property(this, 'members', new Collection(shape.members, options, function(name, member) {
+ return Shape.create(member, options, name);
+ }));
+ memoizedProperty(this, 'memberNames', function() {
+ return shape.xmlOrder || Object.keys(shape.members);
+ });
+
+ if (shape.event) {
+ memoizedProperty(this, 'eventPayloadMemberName', function() {
+ var members = self.members;
+ var memberNames = self.memberNames;
+ // iterate over members to find ones that are event payloads
+ for (var i = 0, iLen = memberNames.length; i < iLen; i++) {
+ if (members[memberNames[i]].isEventPayload) {
+ return memberNames[i];
+ }
+ }
+ });
+
+ memoizedProperty(this, 'eventHeaderMemberNames', function() {
+ var members = self.members;
+ var memberNames = self.memberNames;
+ var eventHeaderMemberNames = [];
+ // iterate over members to find ones that are event headers
+ for (var i = 0, iLen = memberNames.length; i < iLen; i++) {
+ if (members[memberNames[i]].isEventHeader) {
+ eventHeaderMemberNames.push(memberNames[i]);
+ }
+ }
+ return eventHeaderMemberNames;
+ });
+ }
+ }
+
+ if (shape.required) {
+ property(this, 'required', shape.required);
+ property(this, 'isRequired', function(name) {
+ if (!requiredMap) {
+ requiredMap = {};
+ for (var i = 0; i < shape.required.length; i++) {
+ requiredMap[shape.required[i]] = true;
+ }
+ }
+
+ return requiredMap[name];
+ }, false, true);
+ }
+
+ property(this, 'resultWrapper', shape.resultWrapper || null);
+
+ if (shape.payload) {
+ property(this, 'payload', shape.payload);
+ }
+
+ if (typeof shape.xmlNamespace === 'string') {
+ property(this, 'xmlNamespaceUri', shape.xmlNamespace);
+ } else if (typeof shape.xmlNamespace === 'object') {
+ property(this, 'xmlNamespacePrefix', shape.xmlNamespace.prefix);
+ property(this, 'xmlNamespaceUri', shape.xmlNamespace.uri);
+ }
+}
+
+function ListShape(shape, options) {
+ var self = this, firstInit = !this.isShape;
+ CompositeShape.apply(this, arguments);
+
+ if (firstInit) {
+ property(this, 'defaultValue', function() { return []; });
+ }
+
+ if (shape.member) {
+ memoizedProperty(this, 'member', function() {
+ return Shape.create(shape.member, options);
+ });
+ }
+
+ if (this.flattened) {
+ var oldName = this.name;
+ memoizedProperty(this, 'name', function() {
+ return self.member.name || oldName;
+ });
+ }
+}
+
+function MapShape(shape, options) {
+ var firstInit = !this.isShape;
+ CompositeShape.apply(this, arguments);
+
+ if (firstInit) {
+ property(this, 'defaultValue', function() { return {}; });
+ property(this, 'key', Shape.create({type: 'string'}, options));
+ property(this, 'value', Shape.create({type: 'string'}, options));
+ }
+
+ if (shape.key) {
+ memoizedProperty(this, 'key', function() {
+ return Shape.create(shape.key, options);
+ });
+ }
+ if (shape.value) {
+ memoizedProperty(this, 'value', function() {
+ return Shape.create(shape.value, options);
+ });
+ }
+}
+
+function TimestampShape(shape) {
+ var self = this;
+ Shape.apply(this, arguments);
+
+ if (shape.timestampFormat) {
+ property(this, 'timestampFormat', shape.timestampFormat);
+ } else if (self.isTimestampFormatSet && this.timestampFormat) {
+ property(this, 'timestampFormat', this.timestampFormat);
+ } else if (this.location === 'header') {
+ property(this, 'timestampFormat', 'rfc822');
+ } else if (this.location === 'querystring') {
+ property(this, 'timestampFormat', 'iso8601');
+ } else if (this.api) {
+ switch (this.api.protocol) {
+ case 'json':
+ case 'rest-json':
+ property(this, 'timestampFormat', 'unixTimestamp');
+ break;
+ case 'rest-xml':
+ case 'query':
+ case 'ec2':
+ property(this, 'timestampFormat', 'iso8601');
+ break;
+ }
+ }
+
+ this.toType = function(value) {
+ if (value === null || value === undefined) return null;
+ if (typeof value.toUTCString === 'function') return value;
+ return typeof value === 'string' || typeof value === 'number' ?
+ util.date.parseTimestamp(value) : null;
+ };
+
+ this.toWireFormat = function(value) {
+ return util.date.format(value, self.timestampFormat);
+ };
+}
+
+function StringShape() {
+ Shape.apply(this, arguments);
+
+ var nullLessProtocols = ['rest-xml', 'query', 'ec2'];
+ this.toType = function(value) {
+ value = this.api && nullLessProtocols.indexOf(this.api.protocol) > -1 ?
+ value || '' : value;
+ if (this.isJsonValue) {
+ return JSON.parse(value);
+ }
+
+ return value && typeof value.toString === 'function' ?
+ value.toString() : value;
+ };
+
+ this.toWireFormat = function(value) {
+ return this.isJsonValue ? JSON.stringify(value) : value;
+ };
+}
+
+function FloatShape() {
+ Shape.apply(this, arguments);
+
+ this.toType = function(value) {
+ if (value === null || value === undefined) return null;
+ return parseFloat(value);
+ };
+ this.toWireFormat = this.toType;
+}
+
+function IntegerShape() {
+ Shape.apply(this, arguments);
+
+ this.toType = function(value) {
+ if (value === null || value === undefined) return null;
+ return parseInt(value, 10);
+ };
+ this.toWireFormat = this.toType;
+}
+
+function BinaryShape() {
+ Shape.apply(this, arguments);
+ this.toType = function(value) {
+ var buf = util.base64.decode(value);
+ if (this.isSensitive && util.isNode() && typeof util.Buffer.alloc === 'function') {
+ /* Node.js can create a Buffer that is not isolated.
+ * i.e. buf.byteLength !== buf.buffer.byteLength
+ * This means that the sensitive data is accessible to anyone with access to buf.buffer.
+ * If this is the node shared Buffer, then other code within this process _could_ find this secret.
+ * Copy sensitive data to an isolated Buffer and zero the sensitive data.
+ * While this is safe to do here, copying this code somewhere else may produce unexpected results.
+ */
+ var secureBuf = util.Buffer.alloc(buf.length, buf);
+ buf.fill(0);
+ buf = secureBuf;
+ }
+ return buf;
+ };
+ this.toWireFormat = util.base64.encode;
+}
+
+function Base64Shape() {
+ BinaryShape.apply(this, arguments);
+}
+
+function BooleanShape() {
+ Shape.apply(this, arguments);
+
+ this.toType = function(value) {
+ if (typeof value === 'boolean') return value;
+ if (value === null || value === undefined) return null;
+ return value === 'true';
+ };
+}
+
+/**
+ * @api private
+ */
+Shape.shapes = {
+ StructureShape: StructureShape,
+ ListShape: ListShape,
+ MapShape: MapShape,
+ StringShape: StringShape,
+ BooleanShape: BooleanShape,
+ Base64Shape: Base64Shape
+};
+
+/**
+ * @api private
+ */
+module.exports = Shape;
+
+
+/***/ }),
+
+/***/ 73639:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+
+var region_utils = __nccwpck_require__(99517);
+var isFipsRegion = region_utils.isFipsRegion;
+var getRealRegion = region_utils.getRealRegion;
+
+util.isBrowser = function() { return false; };
+util.isNode = function() { return true; };
+
+// node.js specific modules
+util.crypto.lib = __nccwpck_require__(6113);
+util.Buffer = (__nccwpck_require__(14300).Buffer);
+util.domain = __nccwpck_require__(13639);
+util.stream = __nccwpck_require__(12781);
+util.url = __nccwpck_require__(57310);
+util.querystring = __nccwpck_require__(63477);
+util.environment = 'nodejs';
+util.createEventStream = util.stream.Readable ?
+ (__nccwpck_require__(69643).createEventStream) : (__nccwpck_require__(63727).createEventStream);
+util.realClock = __nccwpck_require__(81370);
+util.clientSideMonitoring = {
+ Publisher: (__nccwpck_require__(66807).Publisher),
+ configProvider: __nccwpck_require__(91822),
+};
+util.iniLoader = (__nccwpck_require__(29697)/* .iniLoader */ .b);
+util.getSystemErrorName = (__nccwpck_require__(73837).getSystemErrorName);
+
+util.loadConfig = function(options) {
+ var envValue = options.environmentVariableSelector(process.env);
+ if (envValue !== undefined) {
+ return envValue;
+ }
+
+ var configFile = {};
+ try {
+ configFile = util.iniLoader ? util.iniLoader.loadFrom({
+ isConfig: true,
+ filename: process.env[util.sharedConfigFileEnv]
+ }) : {};
+ } catch (e) {}
+ var sharedFileConfig = configFile[
+ process.env.AWS_PROFILE || util.defaultProfile
+ ] || {};
+ var configValue = options.configFileSelector(sharedFileConfig);
+ if (configValue !== undefined) {
+ return configValue;
+ }
+
+ if (typeof options.default === 'function') {
+ return options.default();
+ }
+ return options.default;
+};
+
+var AWS;
+
+/**
+ * @api private
+ */
+module.exports = AWS = __nccwpck_require__(28437);
+
+__nccwpck_require__(53819);
+__nccwpck_require__(36965);
+__nccwpck_require__(77360);
+__nccwpck_require__(57083);
+__nccwpck_require__(74998);
+__nccwpck_require__(3498);
+__nccwpck_require__(15037);
+__nccwpck_require__(80371);
+
+// Load the xml2js XML parser
+AWS.XML.Parser = __nccwpck_require__(96752);
+
+// Load Node HTTP client
+__nccwpck_require__(2310);
+
+__nccwpck_require__(95417);
+
+// Load custom credential providers
+__nccwpck_require__(11017);
+__nccwpck_require__(73379);
+__nccwpck_require__(88764);
+__nccwpck_require__(10645);
+__nccwpck_require__(57714);
+__nccwpck_require__(27454);
+__nccwpck_require__(13754);
+__nccwpck_require__(80371);
+__nccwpck_require__(68335);
+
+// Setup default providers for credentials chain
+// If this changes, please update documentation for
+// AWS.CredentialProviderChain.defaultProviders in
+// credentials/credential_provider_chain.js
+AWS.CredentialProviderChain.defaultProviders = [
+ function () { return new AWS.EnvironmentCredentials('AWS'); },
+ function () { return new AWS.EnvironmentCredentials('AMAZON'); },
+ function () { return new AWS.SsoCredentials(); },
+ function () { return new AWS.SharedIniFileCredentials(); },
+ function () { return new AWS.ECSCredentials(); },
+ function () { return new AWS.ProcessCredentials(); },
+ function () { return new AWS.TokenFileWebIdentityCredentials(); },
+ function () { return new AWS.EC2MetadataCredentials(); }
+];
+
+// Load custom token providers
+__nccwpck_require__(82647);
+__nccwpck_require__(50126);
+__nccwpck_require__(90327);
+
+// Setup default providers for token chain
+// If this changes, please update documentation for
+// AWS.TokenProviderChain.defaultProviders in
+// token/token_provider_chain.js
+AWS.TokenProviderChain.defaultProviders = [
+ function () { return new AWS.SSOTokenProvider(); },
+];
+
+var getRegion = function() {
+ var env = process.env;
+ var region = env.AWS_REGION || env.AMAZON_REGION;
+ if (env[AWS.util.configOptInEnv]) {
+ var toCheck = [
+ {filename: env[AWS.util.sharedCredentialsFileEnv]},
+ {isConfig: true, filename: env[AWS.util.sharedConfigFileEnv]}
+ ];
+ var iniLoader = AWS.util.iniLoader;
+ while (!region && toCheck.length) {
+ var configFile = {};
+ var fileInfo = toCheck.shift();
+ try {
+ configFile = iniLoader.loadFrom(fileInfo);
+ } catch (err) {
+ if (fileInfo.isConfig) throw err;
+ }
+ var profile = configFile[env.AWS_PROFILE || AWS.util.defaultProfile];
+ region = profile && profile.region;
+ }
+ }
+ return region;
+};
+
+var getBooleanValue = function(value) {
+ return value === 'true' ? true: value === 'false' ? false: undefined;
+};
+
+var USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {
+ environmentVariableSelector: function(env) {
+ return getBooleanValue(env['AWS_USE_FIPS_ENDPOINT']);
+ },
+ configFileSelector: function(profile) {
+ return getBooleanValue(profile['use_fips_endpoint']);
+ },
+ default: false,
+};
+
+var USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {
+ environmentVariableSelector: function(env) {
+ return getBooleanValue(env['AWS_USE_DUALSTACK_ENDPOINT']);
+ },
+ configFileSelector: function(profile) {
+ return getBooleanValue(profile['use_dualstack_endpoint']);
+ },
+ default: false,
+};
+
+// Update configuration keys
+AWS.util.update(AWS.Config.prototype.keys, {
+ credentials: function () {
+ var credentials = null;
+ new AWS.CredentialProviderChain([
+ function () { return new AWS.EnvironmentCredentials('AWS'); },
+ function () { return new AWS.EnvironmentCredentials('AMAZON'); },
+ function () { return new AWS.SharedIniFileCredentials({ disableAssumeRole: true }); }
+ ]).resolve(function(err, creds) {
+ if (!err) credentials = creds;
+ });
+ return credentials;
+ },
+ credentialProvider: function() {
+ return new AWS.CredentialProviderChain();
+ },
+ logger: function () {
+ return process.env.AWSJS_DEBUG ? console : null;
+ },
+ region: function() {
+ var region = getRegion();
+ return region ? getRealRegion(region): undefined;
+ },
+ tokenProvider: function() {
+ return new AWS.TokenProviderChain();
+ },
+ useFipsEndpoint: function() {
+ var region = getRegion();
+ return isFipsRegion(region)
+ ? true
+ : util.loadConfig(USE_FIPS_ENDPOINT_CONFIG_OPTIONS);
+ },
+ useDualstackEndpoint: function() {
+ return util.loadConfig(USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS);
+ }
+});
+
+// Reset configuration
+AWS.config = new AWS.Config();
+
+
+/***/ }),
+
+/***/ 99127:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * @api private
+ */
+AWS.ParamValidator = AWS.util.inherit({
+ /**
+ * Create a new validator object.
+ *
+ * @param validation [Boolean|map] whether input parameters should be
+ * validated against the operation description before sending the
+ * request. Pass a map to enable any of the following specific
+ * validation features:
+ *
+ * * **min** [Boolean] — Validates that a value meets the min
+ * constraint. This is enabled by default when paramValidation is set
+ * to `true`.
+ * * **max** [Boolean] — Validates that a value meets the max
+ * constraint.
+ * * **pattern** [Boolean] — Validates that a string value matches a
+ * regular expression.
+ * * **enum** [Boolean] — Validates that a string value matches one
+ * of the allowable enum values.
+ */
+ constructor: function ParamValidator(validation) {
+ if (validation === true || validation === undefined) {
+ validation = {'min': true};
+ }
+ this.validation = validation;
+ },
+
+ validate: function validate(shape, params, context) {
+ this.errors = [];
+ this.validateMember(shape, params || {}, context || 'params');
+
+ if (this.errors.length > 1) {
+ var msg = this.errors.join('\n* ');
+ msg = 'There were ' + this.errors.length +
+ ' validation errors:\n* ' + msg;
+ throw AWS.util.error(new Error(msg),
+ {code: 'MultipleValidationErrors', errors: this.errors});
+ } else if (this.errors.length === 1) {
+ throw this.errors[0];
+ } else {
+ return true;
+ }
+ },
+
+ fail: function fail(code, message) {
+ this.errors.push(AWS.util.error(new Error(message), {code: code}));
+ },
+
+ validateStructure: function validateStructure(shape, params, context) {
+ if (shape.isDocument) return true;
+
+ this.validateType(params, context, ['object'], 'structure');
+ var paramName;
+ for (var i = 0; shape.required && i < shape.required.length; i++) {
+ paramName = shape.required[i];
+ var value = params[paramName];
+ if (value === undefined || value === null) {
+ this.fail('MissingRequiredParameter',
+ 'Missing required key \'' + paramName + '\' in ' + context);
+ }
+ }
+
+ // validate hash members
+ for (paramName in params) {
+ if (!Object.prototype.hasOwnProperty.call(params, paramName)) continue;
+
+ var paramValue = params[paramName],
+ memberShape = shape.members[paramName];
+
+ if (memberShape !== undefined) {
+ var memberContext = [context, paramName].join('.');
+ this.validateMember(memberShape, paramValue, memberContext);
+ } else if (paramValue !== undefined && paramValue !== null) {
+ this.fail('UnexpectedParameter',
+ 'Unexpected key \'' + paramName + '\' found in ' + context);
+ }
+ }
+
+ return true;
+ },
+
+ validateMember: function validateMember(shape, param, context) {
+ switch (shape.type) {
+ case 'structure':
+ return this.validateStructure(shape, param, context);
+ case 'list':
+ return this.validateList(shape, param, context);
+ case 'map':
+ return this.validateMap(shape, param, context);
+ default:
+ return this.validateScalar(shape, param, context);
+ }
+ },
+
+ validateList: function validateList(shape, params, context) {
+ if (this.validateType(params, context, [Array])) {
+ this.validateRange(shape, params.length, context, 'list member count');
+ // validate array members
+ for (var i = 0; i < params.length; i++) {
+ this.validateMember(shape.member, params[i], context + '[' + i + ']');
+ }
+ }
+ },
+
+ validateMap: function validateMap(shape, params, context) {
+ if (this.validateType(params, context, ['object'], 'map')) {
+ // Build up a count of map members to validate range traits.
+ var mapCount = 0;
+ for (var param in params) {
+ if (!Object.prototype.hasOwnProperty.call(params, param)) continue;
+ // Validate any map key trait constraints
+ this.validateMember(shape.key, param,
+ context + '[key=\'' + param + '\']');
+ this.validateMember(shape.value, params[param],
+ context + '[\'' + param + '\']');
+ mapCount++;
+ }
+ this.validateRange(shape, mapCount, context, 'map member count');
+ }
+ },
+
+ validateScalar: function validateScalar(shape, value, context) {
+ switch (shape.type) {
+ case null:
+ case undefined:
+ case 'string':
+ return this.validateString(shape, value, context);
+ case 'base64':
+ case 'binary':
+ return this.validatePayload(value, context);
+ case 'integer':
+ case 'float':
+ return this.validateNumber(shape, value, context);
+ case 'boolean':
+ return this.validateType(value, context, ['boolean']);
+ case 'timestamp':
+ return this.validateType(value, context, [Date,
+ /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/, 'number'],
+ 'Date object, ISO-8601 string, or a UNIX timestamp');
+ default:
+ return this.fail('UnkownType', 'Unhandled type ' +
+ shape.type + ' for ' + context);
+ }
+ },
+
+ validateString: function validateString(shape, value, context) {
+ var validTypes = ['string'];
+ if (shape.isJsonValue) {
+ validTypes = validTypes.concat(['number', 'object', 'boolean']);
+ }
+ if (value !== null && this.validateType(value, context, validTypes)) {
+ this.validateEnum(shape, value, context);
+ this.validateRange(shape, value.length, context, 'string length');
+ this.validatePattern(shape, value, context);
+ this.validateUri(shape, value, context);
+ }
+ },
+
+ validateUri: function validateUri(shape, value, context) {
+ if (shape['location'] === 'uri') {
+ if (value.length === 0) {
+ this.fail('UriParameterError', 'Expected uri parameter to have length >= 1,'
+ + ' but found "' + value +'" for ' + context);
+ }
+ }
+ },
+
+ validatePattern: function validatePattern(shape, value, context) {
+ if (this.validation['pattern'] && shape['pattern'] !== undefined) {
+ if (!(new RegExp(shape['pattern'])).test(value)) {
+ this.fail('PatternMatchError', 'Provided value "' + value + '" '
+ + 'does not match regex pattern /' + shape['pattern'] + '/ for '
+ + context);
+ }
+ }
+ },
+
+ validateRange: function validateRange(shape, value, context, descriptor) {
+ if (this.validation['min']) {
+ if (shape['min'] !== undefined && value < shape['min']) {
+ this.fail('MinRangeError', 'Expected ' + descriptor + ' >= '
+ + shape['min'] + ', but found ' + value + ' for ' + context);
+ }
+ }
+ if (this.validation['max']) {
+ if (shape['max'] !== undefined && value > shape['max']) {
+ this.fail('MaxRangeError', 'Expected ' + descriptor + ' <= '
+ + shape['max'] + ', but found ' + value + ' for ' + context);
+ }
+ }
+ },
+
+ validateEnum: function validateRange(shape, value, context) {
+ if (this.validation['enum'] && shape['enum'] !== undefined) {
+ // Fail if the string value is not present in the enum list
+ if (shape['enum'].indexOf(value) === -1) {
+ this.fail('EnumError', 'Found string value of ' + value + ', but '
+ + 'expected ' + shape['enum'].join('|') + ' for ' + context);
+ }
+ }
+ },
+
+ validateType: function validateType(value, context, acceptedTypes, type) {
+ // We will not log an error for null or undefined, but we will return
+ // false so that callers know that the expected type was not strictly met.
+ if (value === null || value === undefined) return false;
+
+ var foundInvalidType = false;
+ for (var i = 0; i < acceptedTypes.length; i++) {
+ if (typeof acceptedTypes[i] === 'string') {
+ if (typeof value === acceptedTypes[i]) return true;
+ } else if (acceptedTypes[i] instanceof RegExp) {
+ if ((value || '').toString().match(acceptedTypes[i])) return true;
+ } else {
+ if (value instanceof acceptedTypes[i]) return true;
+ if (AWS.util.isType(value, acceptedTypes[i])) return true;
+ if (!type && !foundInvalidType) acceptedTypes = acceptedTypes.slice();
+ acceptedTypes[i] = AWS.util.typeName(acceptedTypes[i]);
+ }
+ foundInvalidType = true;
+ }
+
+ var acceptedType = type;
+ if (!acceptedType) {
+ acceptedType = acceptedTypes.join(', ').replace(/,([^,]+)$/, ', or$1');
+ }
+
+ var vowel = acceptedType.match(/^[aeiou]/i) ? 'n' : '';
+ this.fail('InvalidParameterType', 'Expected ' + context + ' to be a' +
+ vowel + ' ' + acceptedType);
+ return false;
+ },
+
+ validateNumber: function validateNumber(shape, value, context) {
+ if (value === null || value === undefined) return;
+ if (typeof value === 'string') {
+ var castedValue = parseFloat(value);
+ if (castedValue.toString() === value) value = castedValue;
+ }
+ if (this.validateType(value, context, ['number'])) {
+ this.validateRange(shape, value, context, 'numeric value');
+ }
+ },
+
+ validatePayload: function validatePayload(value, context) {
+ if (value === null || value === undefined) return;
+ if (typeof value === 'string') return;
+ if (value && typeof value.byteLength === 'number') return; // typed arrays
+ if (AWS.util.isNode()) { // special check for buffer/stream in Node.js
+ var Stream = AWS.util.stream.Stream;
+ if (AWS.util.Buffer.isBuffer(value) || value instanceof Stream) return;
+ } else {
+ if (typeof Blob !== void 0 && value instanceof Blob) return;
+ }
+
+ var types = ['Buffer', 'Stream', 'File', 'Blob', 'ArrayBuffer', 'DataView'];
+ if (value) {
+ for (var i = 0; i < types.length; i++) {
+ if (AWS.util.isType(value, types[i])) return;
+ if (AWS.util.typeName(value.constructor) === types[i]) return;
+ }
+ }
+
+ this.fail('InvalidParameterType', 'Expected ' + context + ' to be a ' +
+ 'string, Buffer, Stream, Blob, or typed array object');
+ }
+});
+
+
+/***/ }),
+
+/***/ 44086:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var rest = AWS.Protocol.Rest;
+
+/**
+ * A presigner object can be used to generate presigned urls for the Polly service.
+ */
+AWS.Polly.Presigner = AWS.util.inherit({
+ /**
+ * Creates a presigner object with a set of configuration options.
+ *
+ * @option options params [map] An optional map of parameters to bind to every
+ * request sent by this service object.
+ * @option options service [AWS.Polly] An optional pre-configured instance
+ * of the AWS.Polly service object to use for requests. The object may
+ * bound parameters used by the presigner.
+ * @see AWS.Polly.constructor
+ */
+ constructor: function Signer(options) {
+ options = options || {};
+ this.options = options;
+ this.service = options.service;
+ this.bindServiceObject(options);
+ this._operations = {};
+ },
+
+ /**
+ * @api private
+ */
+ bindServiceObject: function bindServiceObject(options) {
+ options = options || {};
+ if (!this.service) {
+ this.service = new AWS.Polly(options);
+ } else {
+ var config = AWS.util.copy(this.service.config);
+ this.service = new this.service.constructor.__super__(config);
+ this.service.config.params = AWS.util.merge(this.service.config.params || {}, options.params);
+ }
+ },
+
+ /**
+ * @api private
+ */
+ modifyInputMembers: function modifyInputMembers(input) {
+ // make copies of the input so we don't overwrite the api
+ // need to be careful to copy anything we access/modify
+ var modifiedInput = AWS.util.copy(input);
+ modifiedInput.members = AWS.util.copy(input.members);
+ AWS.util.each(input.members, function(name, member) {
+ modifiedInput.members[name] = AWS.util.copy(member);
+ // update location and locationName
+ if (!member.location || member.location === 'body') {
+ modifiedInput.members[name].location = 'querystring';
+ modifiedInput.members[name].locationName = name;
+ }
+ });
+ return modifiedInput;
+ },
+
+ /**
+ * @api private
+ */
+ convertPostToGet: function convertPostToGet(req) {
+ // convert method
+ req.httpRequest.method = 'GET';
+
+ var operation = req.service.api.operations[req.operation];
+ // get cached operation input first
+ var input = this._operations[req.operation];
+ if (!input) {
+ // modify the original input
+ this._operations[req.operation] = input = this.modifyInputMembers(operation.input);
+ }
+
+ var uri = rest.generateURI(req.httpRequest.endpoint.path, operation.httpPath, input, req.params);
+
+ req.httpRequest.path = uri;
+ req.httpRequest.body = '';
+
+ // don't need these headers on a GET request
+ delete req.httpRequest.headers['Content-Length'];
+ delete req.httpRequest.headers['Content-Type'];
+ },
+
+ /**
+ * @overload getSynthesizeSpeechUrl(params = {}, [expires = 3600], [callback])
+ * Generate a presigned url for {AWS.Polly.synthesizeSpeech}.
+ * @note You must ensure that you have static or previously resolved
+ * credentials if you call this method synchronously (with no callback),
+ * otherwise it may not properly sign the request. If you cannot guarantee
+ * this (you are using an asynchronous credential provider, i.e., EC2
+ * IAM roles), you should always call this method with an asynchronous
+ * callback.
+ * @param params [map] parameters to pass to the operation. See the {AWS.Polly.synthesizeSpeech}
+ * operation for the expected operation parameters.
+ * @param expires [Integer] (3600) the number of seconds to expire the pre-signed URL operation in.
+ * Defaults to 1 hour.
+ * @return [string] if called synchronously (with no callback), returns the signed URL.
+ * @return [null] nothing is returned if a callback is provided.
+ * @callback callback function (err, url)
+ * If a callback is supplied, it is called when a signed URL has been generated.
+ * @param err [Error] the error object returned from the presigner.
+ * @param url [String] the signed URL.
+ * @see AWS.Polly.synthesizeSpeech
+ */
+ getSynthesizeSpeechUrl: function getSynthesizeSpeechUrl(params, expires, callback) {
+ var self = this;
+ var request = this.service.makeRequest('synthesizeSpeech', params);
+ // remove existing build listeners
+ request.removeAllListeners('build');
+ request.on('build', function(req) {
+ self.convertPostToGet(req);
+ });
+ return request.presign(expires, callback);
+ }
+});
+
+
+/***/ }),
+
+/***/ 97969:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Prepend prefix defined by API model to endpoint that's already
+ * constructed. This feature does not apply to operations using
+ * endpoint discovery and can be disabled.
+ * @api private
+ */
+function populateHostPrefix(request) {
+ var enabled = request.service.config.hostPrefixEnabled;
+ if (!enabled) return request;
+ var operationModel = request.service.api.operations[request.operation];
+ //don't marshal host prefix when operation has endpoint discovery traits
+ if (hasEndpointDiscover(request)) return request;
+ if (operationModel.endpoint && operationModel.endpoint.hostPrefix) {
+ var hostPrefixNotation = operationModel.endpoint.hostPrefix;
+ var hostPrefix = expandHostPrefix(hostPrefixNotation, request.params, operationModel.input);
+ prependEndpointPrefix(request.httpRequest.endpoint, hostPrefix);
+ validateHostname(request.httpRequest.endpoint.hostname);
+ }
+ return request;
+}
+
+/**
+ * @api private
+ */
+function hasEndpointDiscover(request) {
+ var api = request.service.api;
+ var operationModel = api.operations[request.operation];
+ var isEndpointOperation = api.endpointOperation && (api.endpointOperation === util.string.lowerFirst(operationModel.name));
+ return (operationModel.endpointDiscoveryRequired !== 'NULL' || isEndpointOperation === true);
+}
+
+/**
+ * @api private
+ */
+function expandHostPrefix(hostPrefixNotation, params, shape) {
+ util.each(shape.members, function(name, member) {
+ if (member.hostLabel === true) {
+ if (typeof params[name] !== 'string' || params[name] === '') {
+ throw util.error(new Error(), {
+ message: 'Parameter ' + name + ' should be a non-empty string.',
+ code: 'InvalidParameter'
+ });
+ }
+ var regex = new RegExp('\\{' + name + '\\}', 'g');
+ hostPrefixNotation = hostPrefixNotation.replace(regex, params[name]);
+ }
+ });
+ return hostPrefixNotation;
+}
+
+/**
+ * @api private
+ */
+function prependEndpointPrefix(endpoint, prefix) {
+ if (endpoint.host) {
+ endpoint.host = prefix + endpoint.host;
+ }
+ if (endpoint.hostname) {
+ endpoint.hostname = prefix + endpoint.hostname;
+ }
+}
+
+/**
+ * @api private
+ */
+function validateHostname(hostname) {
+ var labels = hostname.split('.');
+ //Reference: https://tools.ietf.org/html/rfc1123#section-2
+ var hostPattern = /^[a-zA-Z0-9]{1}$|^[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]$/;
+ util.arrayEach(labels, function(label) {
+ if (!label.length || label.length < 1 || label.length > 63) {
+ throw util.error(new Error(), {
+ code: 'ValidationError',
+ message: 'Hostname label length should be between 1 to 63 characters, inclusive.'
+ });
+ }
+ if (!hostPattern.test(label)) {
+ throw AWS.util.error(new Error(),
+ {code: 'ValidationError', message: label + ' is not hostname compatible.'});
+ }
+ });
+}
+
+module.exports = {
+ populateHostPrefix: populateHostPrefix
+};
+
+
+/***/ }),
+
+/***/ 30083:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+var JsonBuilder = __nccwpck_require__(47495);
+var JsonParser = __nccwpck_require__(5474);
+var populateHostPrefix = (__nccwpck_require__(97969).populateHostPrefix);
+
+function buildRequest(req) {
+ var httpRequest = req.httpRequest;
+ var api = req.service.api;
+ var target = api.targetPrefix + '.' + api.operations[req.operation].name;
+ var version = api.jsonVersion || '1.0';
+ var input = api.operations[req.operation].input;
+ var builder = new JsonBuilder();
+
+ if (version === 1) version = '1.0';
+
+ if (api.awsQueryCompatible) {
+ if (!httpRequest.params) {
+ httpRequest.params = {};
+ }
+ // because Query protocol does this.
+ Object.assign(httpRequest.params, req.params);
+ }
+
+ httpRequest.body = builder.build(req.params || {}, input);
+ httpRequest.headers['Content-Type'] = 'application/x-amz-json-' + version;
+ httpRequest.headers['X-Amz-Target'] = target;
+
+ populateHostPrefix(req);
+}
+
+function extractError(resp) {
+ var error = {};
+ var httpResponse = resp.httpResponse;
+
+ error.code = httpResponse.headers['x-amzn-errortype'] || 'UnknownError';
+ if (typeof error.code === 'string') {
+ error.code = error.code.split(':')[0];
+ }
+
+ if (httpResponse.body.length > 0) {
+ try {
+ var e = JSON.parse(httpResponse.body.toString());
+
+ var code = e.__type || e.code || e.Code;
+ if (code) {
+ error.code = code.split('#').pop();
+ }
+ if (error.code === 'RequestEntityTooLarge') {
+ error.message = 'Request body must be less than 1 MB';
+ } else {
+ error.message = (e.message || e.Message || null);
+ }
+
+ // The minimized models do not have error shapes, so
+ // without expanding the model size, it's not possible
+ // to validate the response shape (members) or
+ // check if any are sensitive to logging.
+
+ // Assign the fields as non-enumerable, allowing specific access only.
+ for (var key in e || {}) {
+ if (key === 'code' || key === 'message') {
+ continue;
+ }
+ error['[' + key + ']'] = 'See error.' + key + ' for details.';
+ Object.defineProperty(error, key, {
+ value: e[key],
+ enumerable: false,
+ writable: true
+ });
+ }
+ } catch (e) {
+ error.statusCode = httpResponse.statusCode;
+ error.message = httpResponse.statusMessage;
+ }
+ } else {
+ error.statusCode = httpResponse.statusCode;
+ error.message = httpResponse.statusCode.toString();
+ }
+
+ resp.error = util.error(new Error(), error);
+}
+
+function extractData(resp) {
+ var body = resp.httpResponse.body.toString() || '{}';
+ if (resp.request.service.config.convertResponseTypes === false) {
+ resp.data = JSON.parse(body);
+ } else {
+ var operation = resp.request.service.api.operations[resp.request.operation];
+ var shape = operation.output || {};
+ var parser = new JsonParser();
+ resp.data = parser.parse(body, shape);
+ }
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ buildRequest: buildRequest,
+ extractError: extractError,
+ extractData: extractData
+};
+
+
+/***/ }),
+
+/***/ 90761:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var util = __nccwpck_require__(77985);
+var QueryParamSerializer = __nccwpck_require__(45175);
+var Shape = __nccwpck_require__(71349);
+var populateHostPrefix = (__nccwpck_require__(97969).populateHostPrefix);
+
+function buildRequest(req) {
+ var operation = req.service.api.operations[req.operation];
+ var httpRequest = req.httpRequest;
+ httpRequest.headers['Content-Type'] =
+ 'application/x-www-form-urlencoded; charset=utf-8';
+ httpRequest.params = {
+ Version: req.service.api.apiVersion,
+ Action: operation.name
+ };
+
+ // convert the request parameters into a list of query params,
+ // e.g. Deeply.NestedParam.0.Name=value
+ var builder = new QueryParamSerializer();
+ builder.serialize(req.params, operation.input, function(name, value) {
+ httpRequest.params[name] = value;
+ });
+ httpRequest.body = util.queryParamsToString(httpRequest.params);
+
+ populateHostPrefix(req);
+}
+
+function extractError(resp) {
+ var data, body = resp.httpResponse.body.toString();
+ if (body.match(' {
+
+var util = __nccwpck_require__(77985);
+var populateHostPrefix = (__nccwpck_require__(97969).populateHostPrefix);
+
+function populateMethod(req) {
+ req.httpRequest.method = req.service.api.operations[req.operation].httpMethod;
+}
+
+function generateURI(endpointPath, operationPath, input, params) {
+ var uri = [endpointPath, operationPath].join('/');
+ uri = uri.replace(/\/+/g, '/');
+
+ var queryString = {}, queryStringSet = false;
+ util.each(input.members, function (name, member) {
+ var paramValue = params[name];
+ if (paramValue === null || paramValue === undefined) return;
+ if (member.location === 'uri') {
+ var regex = new RegExp('\\{' + member.name + '(\\+)?\\}');
+ uri = uri.replace(regex, function(_, plus) {
+ var fn = plus ? util.uriEscapePath : util.uriEscape;
+ return fn(String(paramValue));
+ });
+ } else if (member.location === 'querystring') {
+ queryStringSet = true;
+
+ if (member.type === 'list') {
+ queryString[member.name] = paramValue.map(function(val) {
+ return util.uriEscape(member.member.toWireFormat(val).toString());
+ });
+ } else if (member.type === 'map') {
+ util.each(paramValue, function(key, value) {
+ if (Array.isArray(value)) {
+ queryString[key] = value.map(function(val) {
+ return util.uriEscape(String(val));
+ });
+ } else {
+ queryString[key] = util.uriEscape(String(value));
+ }
+ });
+ } else {
+ queryString[member.name] = util.uriEscape(member.toWireFormat(paramValue).toString());
+ }
+ }
+ });
+
+ if (queryStringSet) {
+ uri += (uri.indexOf('?') >= 0 ? '&' : '?');
+ var parts = [];
+ util.arrayEach(Object.keys(queryString).sort(), function(key) {
+ if (!Array.isArray(queryString[key])) {
+ queryString[key] = [queryString[key]];
+ }
+ for (var i = 0; i < queryString[key].length; i++) {
+ parts.push(util.uriEscape(String(key)) + '=' + queryString[key][i]);
+ }
+ });
+ uri += parts.join('&');
+ }
+
+ return uri;
+}
+
+function populateURI(req) {
+ var operation = req.service.api.operations[req.operation];
+ var input = operation.input;
+
+ var uri = generateURI(req.httpRequest.endpoint.path, operation.httpPath, input, req.params);
+ req.httpRequest.path = uri;
+}
+
+function populateHeaders(req) {
+ var operation = req.service.api.operations[req.operation];
+ util.each(operation.input.members, function (name, member) {
+ var value = req.params[name];
+ if (value === null || value === undefined) return;
+
+ if (member.location === 'headers' && member.type === 'map') {
+ util.each(value, function(key, memberValue) {
+ req.httpRequest.headers[member.name + key] = memberValue;
+ });
+ } else if (member.location === 'header') {
+ value = member.toWireFormat(value).toString();
+ if (member.isJsonValue) {
+ value = util.base64.encode(value);
+ }
+ req.httpRequest.headers[member.name] = value;
+ }
+ });
+}
+
+function buildRequest(req) {
+ populateMethod(req);
+ populateURI(req);
+ populateHeaders(req);
+ populateHostPrefix(req);
+}
+
+function extractError() {
+}
+
+function extractData(resp) {
+ var req = resp.request;
+ var data = {};
+ var r = resp.httpResponse;
+ var operation = req.service.api.operations[req.operation];
+ var output = operation.output;
+
+ // normalize headers names to lower-cased keys for matching
+ var headers = {};
+ util.each(r.headers, function (k, v) {
+ headers[k.toLowerCase()] = v;
+ });
+
+ util.each(output.members, function(name, member) {
+ var header = (member.name || name).toLowerCase();
+ if (member.location === 'headers' && member.type === 'map') {
+ data[name] = {};
+ var location = member.isLocationName ? member.name : '';
+ var pattern = new RegExp('^' + location + '(.+)', 'i');
+ util.each(r.headers, function (k, v) {
+ var result = k.match(pattern);
+ if (result !== null) {
+ data[name][result[1]] = v;
+ }
+ });
+ } else if (member.location === 'header') {
+ if (headers[header] !== undefined) {
+ var value = member.isJsonValue ?
+ util.base64.decode(headers[header]) :
+ headers[header];
+ data[name] = member.toType(value);
+ }
+ } else if (member.location === 'statusCode') {
+ data[name] = parseInt(r.statusCode, 10);
+ }
+ });
+
+ resp.data = data;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ buildRequest: buildRequest,
+ extractError: extractError,
+ extractData: extractData,
+ generateURI: generateURI
+};
+
+
+/***/ }),
+
+/***/ 5883:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+var Rest = __nccwpck_require__(98200);
+var Json = __nccwpck_require__(30083);
+var JsonBuilder = __nccwpck_require__(47495);
+var JsonParser = __nccwpck_require__(5474);
+
+var METHODS_WITHOUT_BODY = ['GET', 'HEAD', 'DELETE'];
+
+function unsetContentLength(req) {
+ var payloadMember = util.getRequestPayloadShape(req);
+ if (
+ payloadMember === undefined &&
+ METHODS_WITHOUT_BODY.indexOf(req.httpRequest.method) >= 0
+ ) {
+ delete req.httpRequest.headers['Content-Length'];
+ }
+}
+
+function populateBody(req) {
+ var builder = new JsonBuilder();
+ var input = req.service.api.operations[req.operation].input;
+
+ if (input.payload) {
+ var params = {};
+ var payloadShape = input.members[input.payload];
+ params = req.params[input.payload];
+
+ if (payloadShape.type === 'structure') {
+ req.httpRequest.body = builder.build(params || {}, payloadShape);
+ applyContentTypeHeader(req);
+ } else if (params !== undefined) {
+ // non-JSON payload
+ req.httpRequest.body = params;
+ if (payloadShape.type === 'binary' || payloadShape.isStreaming) {
+ applyContentTypeHeader(req, true);
+ }
+ }
+ } else {
+ req.httpRequest.body = builder.build(req.params, input);
+ applyContentTypeHeader(req);
+ }
+}
+
+function applyContentTypeHeader(req, isBinary) {
+ if (!req.httpRequest.headers['Content-Type']) {
+ var type = isBinary ? 'binary/octet-stream' : 'application/json';
+ req.httpRequest.headers['Content-Type'] = type;
+ }
+}
+
+function buildRequest(req) {
+ Rest.buildRequest(req);
+
+ // never send body payload on GET/HEAD/DELETE
+ if (METHODS_WITHOUT_BODY.indexOf(req.httpRequest.method) < 0) {
+ populateBody(req);
+ }
+}
+
+function extractError(resp) {
+ Json.extractError(resp);
+}
+
+function extractData(resp) {
+ Rest.extractData(resp);
+
+ var req = resp.request;
+ var operation = req.service.api.operations[req.operation];
+ var rules = req.service.api.operations[req.operation].output || {};
+ var parser;
+ var hasEventOutput = operation.hasEventOutput;
+
+ if (rules.payload) {
+ var payloadMember = rules.members[rules.payload];
+ var body = resp.httpResponse.body;
+ if (payloadMember.isEventStream) {
+ parser = new JsonParser();
+ resp.data[payload] = util.createEventStream(
+ AWS.HttpClient.streamsApiVersion === 2 ? resp.httpResponse.stream : body,
+ parser,
+ payloadMember
+ );
+ } else if (payloadMember.type === 'structure' || payloadMember.type === 'list') {
+ var parser = new JsonParser();
+ resp.data[rules.payload] = parser.parse(body, payloadMember);
+ } else if (payloadMember.type === 'binary' || payloadMember.isStreaming) {
+ resp.data[rules.payload] = body;
+ } else {
+ resp.data[rules.payload] = payloadMember.toType(body);
+ }
+ } else {
+ var data = resp.data;
+ Json.extractData(resp);
+ resp.data = util.merge(data, resp.data);
+ }
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ buildRequest: buildRequest,
+ extractError: extractError,
+ extractData: extractData,
+ unsetContentLength: unsetContentLength
+};
+
+
+/***/ }),
+
+/***/ 15143:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var util = __nccwpck_require__(77985);
+var Rest = __nccwpck_require__(98200);
+
+function populateBody(req) {
+ var input = req.service.api.operations[req.operation].input;
+ var builder = new AWS.XML.Builder();
+ var params = req.params;
+
+ var payload = input.payload;
+ if (payload) {
+ var payloadMember = input.members[payload];
+ params = params[payload];
+ if (params === undefined) return;
+
+ if (payloadMember.type === 'structure') {
+ var rootElement = payloadMember.name;
+ req.httpRequest.body = builder.toXML(params, payloadMember, rootElement, true);
+ } else { // non-xml payload
+ req.httpRequest.body = params;
+ }
+ } else {
+ req.httpRequest.body = builder.toXML(params, input, input.name ||
+ input.shape || util.string.upperFirst(req.operation) + 'Request');
+ }
+}
+
+function buildRequest(req) {
+ Rest.buildRequest(req);
+
+ // never send body payload on GET/HEAD
+ if (['GET', 'HEAD'].indexOf(req.httpRequest.method) < 0) {
+ populateBody(req);
+ }
+}
+
+function extractError(resp) {
+ Rest.extractError(resp);
+
+ var data;
+ try {
+ data = new AWS.XML.Parser().parse(resp.httpResponse.body.toString());
+ } catch (e) {
+ data = {
+ Code: resp.httpResponse.statusCode,
+ Message: resp.httpResponse.statusMessage
+ };
+ }
+
+ if (data.Errors) data = data.Errors;
+ if (data.Error) data = data.Error;
+ if (data.Code) {
+ resp.error = util.error(new Error(), {
+ code: data.Code,
+ message: data.Message
+ });
+ } else {
+ resp.error = util.error(new Error(), {
+ code: resp.httpResponse.statusCode,
+ message: null
+ });
+ }
+}
+
+function extractData(resp) {
+ Rest.extractData(resp);
+
+ var parser;
+ var req = resp.request;
+ var body = resp.httpResponse.body;
+ var operation = req.service.api.operations[req.operation];
+ var output = operation.output;
+
+ var hasEventOutput = operation.hasEventOutput;
+
+ var payload = output.payload;
+ if (payload) {
+ var payloadMember = output.members[payload];
+ if (payloadMember.isEventStream) {
+ parser = new AWS.XML.Parser();
+ resp.data[payload] = util.createEventStream(
+ AWS.HttpClient.streamsApiVersion === 2 ? resp.httpResponse.stream : resp.httpResponse.body,
+ parser,
+ payloadMember
+ );
+ } else if (payloadMember.type === 'structure') {
+ parser = new AWS.XML.Parser();
+ resp.data[payload] = parser.parse(body.toString(), payloadMember);
+ } else if (payloadMember.type === 'binary' || payloadMember.isStreaming) {
+ resp.data[payload] = body;
+ } else {
+ resp.data[payload] = payloadMember.toType(body);
+ }
+ } else if (body.length > 0) {
+ parser = new AWS.XML.Parser();
+ var data = parser.parse(body.toString(), output);
+ util.update(resp.data, data);
+ }
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ buildRequest: buildRequest,
+ extractError: extractError,
+ extractData: extractData
+};
+
+
+/***/ }),
+
+/***/ 91822:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * Resolve client-side monitoring configuration from either environmental variables
+ * or shared config file. Configurations from environmental variables have higher priority
+ * than those from shared config file. The resolver will try to read the shared config file
+ * no matter whether the AWS_SDK_LOAD_CONFIG variable is set.
+ * @api private
+ */
+function resolveMonitoringConfig() {
+ var config = {
+ port: undefined,
+ clientId: undefined,
+ enabled: undefined,
+ host: undefined
+ };
+ if (fromEnvironment(config) || fromConfigFile(config)) return toJSType(config);
+ return toJSType(config);
+}
+
+/**
+ * Resolve configurations from environmental variables.
+ * @param {object} client side monitoring config object needs to be resolved
+ * @returns {boolean} whether resolving configurations is done
+ * @api private
+ */
+function fromEnvironment(config) {
+ config.port = config.port || process.env.AWS_CSM_PORT;
+ config.enabled = config.enabled || process.env.AWS_CSM_ENABLED;
+ config.clientId = config.clientId || process.env.AWS_CSM_CLIENT_ID;
+ config.host = config.host || process.env.AWS_CSM_HOST;
+ return config.port && config.enabled && config.clientId && config.host ||
+ ['false', '0'].indexOf(config.enabled) >= 0; //no need to read shared config file if explicitely disabled
+}
+
+/**
+ * Resolve cofigurations from shared config file with specified role name
+ * @param {object} client side monitoring config object needs to be resolved
+ * @returns {boolean} whether resolving configurations is done
+ * @api private
+ */
+function fromConfigFile(config) {
+ var sharedFileConfig;
+ try {
+ var configFile = AWS.util.iniLoader.loadFrom({
+ isConfig: true,
+ filename: process.env[AWS.util.sharedConfigFileEnv]
+ });
+ var sharedFileConfig = configFile[
+ process.env.AWS_PROFILE || AWS.util.defaultProfile
+ ];
+ } catch (err) {
+ return false;
+ }
+ if (!sharedFileConfig) return config;
+ config.port = config.port || sharedFileConfig.csm_port;
+ config.enabled = config.enabled || sharedFileConfig.csm_enabled;
+ config.clientId = config.clientId || sharedFileConfig.csm_client_id;
+ config.host = config.host || sharedFileConfig.csm_host;
+ return config.port && config.enabled && config.clientId && config.host;
+}
+
+/**
+ * Transfer the resolved configuration value to proper types: port as number, enabled
+ * as boolean and clientId as string. The 'enabled' flag is valued to false when set
+ * to 'false' or '0'.
+ * @param {object} resolved client side monitoring config
+ * @api private
+ */
+function toJSType(config) {
+ //config.XXX is either undefined or string
+ var falsyNotations = ['false', '0', undefined];
+ if (!config.enabled || falsyNotations.indexOf(config.enabled.toLowerCase()) >= 0) {
+ config.enabled = false;
+ } else {
+ config.enabled = true;
+ }
+ config.port = config.port ? parseInt(config.port, 10) : undefined;
+ return config;
+}
+
+module.exports = resolveMonitoringConfig;
+
+
+/***/ }),
+
+/***/ 66807:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = (__nccwpck_require__(28437).util);
+var dgram = __nccwpck_require__(71891);
+var stringToBuffer = util.buffer.toBuffer;
+
+var MAX_MESSAGE_SIZE = 1024 * 8; // 8 KB
+
+/**
+ * Publishes metrics via udp.
+ * @param {object} options Paramters for Publisher constructor
+ * @param {number} [options.port = 31000] Port number
+ * @param {string} [options.clientId = ''] Client Identifier
+ * @param {boolean} [options.enabled = false] enable sending metrics datagram
+ * @api private
+ */
+function Publisher(options) {
+ // handle configuration
+ options = options || {};
+ this.enabled = options.enabled || false;
+ this.port = options.port || 31000;
+ this.clientId = options.clientId || '';
+ this.address = options.host || '127.0.0.1';
+ if (this.clientId.length > 255) {
+ // ClientId has a max length of 255
+ this.clientId = this.clientId.substr(0, 255);
+ }
+ this.messagesInFlight = 0;
+}
+
+Publisher.prototype.fieldsToTrim = {
+ UserAgent: 256,
+ SdkException: 128,
+ SdkExceptionMessage: 512,
+ AwsException: 128,
+ AwsExceptionMessage: 512,
+ FinalSdkException: 128,
+ FinalSdkExceptionMessage: 512,
+ FinalAwsException: 128,
+ FinalAwsExceptionMessage: 512
+
+};
+
+/**
+ * Trims fields that have a specified max length.
+ * @param {object} event ApiCall or ApiCallAttempt event.
+ * @returns {object}
+ * @api private
+ */
+Publisher.prototype.trimFields = function(event) {
+ var trimmableFields = Object.keys(this.fieldsToTrim);
+ for (var i = 0, iLen = trimmableFields.length; i < iLen; i++) {
+ var field = trimmableFields[i];
+ if (event.hasOwnProperty(field)) {
+ var maxLength = this.fieldsToTrim[field];
+ var value = event[field];
+ if (value && value.length > maxLength) {
+ event[field] = value.substr(0, maxLength);
+ }
+ }
+ }
+ return event;
+};
+
+/**
+ * Handles ApiCall and ApiCallAttempt events.
+ * @param {Object} event apiCall or apiCallAttempt event.
+ * @api private
+ */
+Publisher.prototype.eventHandler = function(event) {
+ // set the clientId
+ event.ClientId = this.clientId;
+
+ this.trimFields(event);
+
+ var message = stringToBuffer(JSON.stringify(event));
+ if (!this.enabled || message.length > MAX_MESSAGE_SIZE) {
+ // drop the message if publisher not enabled or it is too large
+ return;
+ }
+
+ this.publishDatagram(message);
+};
+
+/**
+ * Publishes message to an agent.
+ * @param {Buffer} message JSON message to send to agent.
+ * @api private
+ */
+Publisher.prototype.publishDatagram = function(message) {
+ var self = this;
+ var client = this.getClient();
+
+ this.messagesInFlight++;
+ this.client.send(message, 0, message.length, this.port, this.address, function(err, bytes) {
+ if (--self.messagesInFlight <= 0) {
+ // destroy existing client so the event loop isn't kept open
+ self.destroyClient();
+ }
+ });
+};
+
+/**
+ * Returns an existing udp socket, or creates one if it doesn't already exist.
+ * @api private
+ */
+Publisher.prototype.getClient = function() {
+ if (!this.client) {
+ this.client = dgram.createSocket('udp4');
+ }
+ return this.client;
+};
+
+/**
+ * Destroys the udp socket.
+ * @api private
+ */
+Publisher.prototype.destroyClient = function() {
+ if (this.client) {
+ this.client.close();
+ this.client = void 0;
+ }
+};
+
+module.exports = {
+ Publisher: Publisher
+};
+
+
+/***/ }),
+
+/***/ 45175:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+
+function QueryParamSerializer() {
+}
+
+QueryParamSerializer.prototype.serialize = function(params, shape, fn) {
+ serializeStructure('', params, shape, fn);
+};
+
+function ucfirst(shape) {
+ if (shape.isQueryName || shape.api.protocol !== 'ec2') {
+ return shape.name;
+ } else {
+ return shape.name[0].toUpperCase() + shape.name.substr(1);
+ }
+}
+
+function serializeStructure(prefix, struct, rules, fn) {
+ util.each(rules.members, function(name, member) {
+ var value = struct[name];
+ if (value === null || value === undefined) return;
+
+ var memberName = ucfirst(member);
+ memberName = prefix ? prefix + '.' + memberName : memberName;
+ serializeMember(memberName, value, member, fn);
+ });
+}
+
+function serializeMap(name, map, rules, fn) {
+ var i = 1;
+ util.each(map, function (key, value) {
+ var prefix = rules.flattened ? '.' : '.entry.';
+ var position = prefix + (i++) + '.';
+ var keyName = position + (rules.key.name || 'key');
+ var valueName = position + (rules.value.name || 'value');
+ serializeMember(name + keyName, key, rules.key, fn);
+ serializeMember(name + valueName, value, rules.value, fn);
+ });
+}
+
+function serializeList(name, list, rules, fn) {
+ var memberRules = rules.member || {};
+
+ if (list.length === 0) {
+ fn.call(this, name, null);
+ return;
+ }
+
+ util.arrayEach(list, function (v, n) {
+ var suffix = '.' + (n + 1);
+ if (rules.api.protocol === 'ec2') {
+ // Do nothing for EC2
+ suffix = suffix + ''; // make linter happy
+ } else if (rules.flattened) {
+ if (memberRules.name) {
+ var parts = name.split('.');
+ parts.pop();
+ parts.push(ucfirst(memberRules));
+ name = parts.join('.');
+ }
+ } else {
+ suffix = '.' + (memberRules.name ? memberRules.name : 'member') + suffix;
+ }
+ serializeMember(name + suffix, v, memberRules, fn);
+ });
+}
+
+function serializeMember(name, value, rules, fn) {
+ if (value === null || value === undefined) return;
+ if (rules.type === 'structure') {
+ serializeStructure(name, value, rules, fn);
+ } else if (rules.type === 'list') {
+ serializeList(name, value, rules, fn);
+ } else if (rules.type === 'map') {
+ serializeMap(name, value, rules, fn);
+ } else {
+ fn(name, rules.toWireFormat(value).toString());
+ }
+}
+
+/**
+ * @api private
+ */
+module.exports = QueryParamSerializer;
+
+
+/***/ }),
+
+/***/ 16612:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+
+/**
+ * @api private
+ */
+var service = null;
+
+/**
+ * @api private
+ */
+var api = {
+ signatureVersion: 'v4',
+ signingName: 'rds-db',
+ operations: {}
+};
+
+/**
+ * @api private
+ */
+var requiredAuthTokenOptions = {
+ region: 'string',
+ hostname: 'string',
+ port: 'number',
+ username: 'string'
+};
+
+/**
+ * A signer object can be used to generate an auth token to a database.
+ */
+AWS.RDS.Signer = AWS.util.inherit({
+ /**
+ * Creates a signer object can be used to generate an auth token.
+ *
+ * @option options credentials [AWS.Credentials] the AWS credentials
+ * to sign requests with. Uses the default credential provider chain
+ * if not specified.
+ * @option options hostname [String] the hostname of the database to connect to.
+ * @option options port [Number] the port number the database is listening on.
+ * @option options region [String] the region the database is located in.
+ * @option options username [String] the username to login as.
+ * @example Passing in options to constructor
+ * var signer = new AWS.RDS.Signer({
+ * credentials: new AWS.SharedIniFileCredentials({profile: 'default'}),
+ * region: 'us-east-1',
+ * hostname: 'db.us-east-1.rds.amazonaws.com',
+ * port: 8000,
+ * username: 'name'
+ * });
+ */
+ constructor: function Signer(options) {
+ this.options = options || {};
+ },
+
+ /**
+ * @api private
+ * Strips the protocol from a url.
+ */
+ convertUrlToAuthToken: function convertUrlToAuthToken(url) {
+ // we are always using https as the protocol
+ var protocol = 'https://';
+ if (url.indexOf(protocol) === 0) {
+ return url.substring(protocol.length);
+ }
+ },
+
+ /**
+ * @overload getAuthToken(options = {}, [callback])
+ * Generate an auth token to a database.
+ * @note You must ensure that you have static or previously resolved
+ * credentials if you call this method synchronously (with no callback),
+ * otherwise it may not properly sign the request. If you cannot guarantee
+ * this (you are using an asynchronous credential provider, i.e., EC2
+ * IAM roles), you should always call this method with an asynchronous
+ * callback.
+ *
+ * @param options [map] The fields to use when generating an auth token.
+ * Any options specified here will be merged on top of any options passed
+ * to AWS.RDS.Signer:
+ *
+ * * **credentials** (AWS.Credentials) — the AWS credentials
+ * to sign requests with. Uses the default credential provider chain
+ * if not specified.
+ * * **hostname** (String) — the hostname of the database to connect to.
+ * * **port** (Number) — the port number the database is listening on.
+ * * **region** (String) — the region the database is located in.
+ * * **username** (String) — the username to login as.
+ * @return [String] if called synchronously (with no callback), returns the
+ * auth token.
+ * @return [null] nothing is returned if a callback is provided.
+ * @callback callback function (err, token)
+ * If a callback is supplied, it is called when an auth token has been generated.
+ * @param err [Error] the error object returned from the signer.
+ * @param token [String] the auth token.
+ *
+ * @example Generating an auth token synchronously
+ * var signer = new AWS.RDS.Signer({
+ * // configure options
+ * region: 'us-east-1',
+ * username: 'default',
+ * hostname: 'db.us-east-1.amazonaws.com',
+ * port: 8000
+ * });
+ * var token = signer.getAuthToken({
+ * // these options are merged with those defined when creating the signer, overriding in the case of a duplicate option
+ * // credentials are not specified here or when creating the signer, so default credential provider will be used
+ * username: 'test' // overriding username
+ * });
+ * @example Generating an auth token asynchronously
+ * var signer = new AWS.RDS.Signer({
+ * // configure options
+ * region: 'us-east-1',
+ * username: 'default',
+ * hostname: 'db.us-east-1.amazonaws.com',
+ * port: 8000
+ * });
+ * signer.getAuthToken({
+ * // these options are merged with those defined when creating the signer, overriding in the case of a duplicate option
+ * // credentials are not specified here or when creating the signer, so default credential provider will be used
+ * username: 'test' // overriding username
+ * }, function(err, token) {
+ * if (err) {
+ * // handle error
+ * } else {
+ * // use token
+ * }
+ * });
+ *
+ */
+ getAuthToken: function getAuthToken(options, callback) {
+ if (typeof options === 'function' && callback === undefined) {
+ callback = options;
+ options = {};
+ }
+ var self = this;
+ var hasCallback = typeof callback === 'function';
+ // merge options with existing options
+ options = AWS.util.merge(this.options, options);
+ // validate options
+ var optionsValidation = this.validateAuthTokenOptions(options);
+ if (optionsValidation !== true) {
+ if (hasCallback) {
+ return callback(optionsValidation, null);
+ }
+ throw optionsValidation;
+ }
+
+ // 15 minutes
+ var expires = 900;
+ // create service to generate a request from
+ var serviceOptions = {
+ region: options.region,
+ endpoint: new AWS.Endpoint(options.hostname + ':' + options.port),
+ paramValidation: false,
+ signatureVersion: 'v4'
+ };
+ if (options.credentials) {
+ serviceOptions.credentials = options.credentials;
+ }
+ service = new AWS.Service(serviceOptions);
+ // ensure the SDK is using sigv4 signing (config is not enough)
+ service.api = api;
+
+ var request = service.makeRequest();
+ // add listeners to request to properly build auth token
+ this.modifyRequestForAuthToken(request, options);
+
+ if (hasCallback) {
+ request.presign(expires, function(err, url) {
+ if (url) {
+ url = self.convertUrlToAuthToken(url);
+ }
+ callback(err, url);
+ });
+ } else {
+ var url = request.presign(expires);
+ return this.convertUrlToAuthToken(url);
+ }
+ },
+
+ /**
+ * @api private
+ * Modifies a request to allow the presigner to generate an auth token.
+ */
+ modifyRequestForAuthToken: function modifyRequestForAuthToken(request, options) {
+ request.on('build', request.buildAsGet);
+ var httpRequest = request.httpRequest;
+ httpRequest.body = AWS.util.queryParamsToString({
+ Action: 'connect',
+ DBUser: options.username
+ });
+ },
+
+ /**
+ * @api private
+ * Validates that the options passed in contain all the keys with values of the correct type that
+ * are needed to generate an auth token.
+ */
+ validateAuthTokenOptions: function validateAuthTokenOptions(options) {
+ // iterate over all keys in options
+ var message = '';
+ options = options || {};
+ for (var key in requiredAuthTokenOptions) {
+ if (!Object.prototype.hasOwnProperty.call(requiredAuthTokenOptions, key)) {
+ continue;
+ }
+ if (typeof options[key] !== requiredAuthTokenOptions[key]) {
+ message += 'option \'' + key + '\' should have been type \'' + requiredAuthTokenOptions[key] + '\', was \'' + typeof options[key] + '\'.\n';
+ }
+ }
+ if (message.length) {
+ return AWS.util.error(new Error(), {
+ code: 'InvalidParameter',
+ message: message
+ });
+ }
+ return true;
+ }
+});
+
+
+/***/ }),
+
+/***/ 81370:
+/***/ ((module) => {
+
+module.exports = {
+ //provide realtime clock for performance measurement
+ now: function now() {
+ var second = process.hrtime();
+ return second[0] * 1000 + (second[1] / 1000000);
+ }
+};
+
+
+/***/ }),
+
+/***/ 99517:
+/***/ ((module) => {
+
+function isFipsRegion(region) {
+ return typeof region === 'string' && (region.startsWith('fips-') || region.endsWith('-fips'));
+}
+
+function isGlobalRegion(region) {
+ return typeof region === 'string' && ['aws-global', 'aws-us-gov-global'].includes(region);
+}
+
+function getRealRegion(region) {
+ return ['fips-aws-global', 'aws-fips', 'aws-global'].includes(region)
+ ? 'us-east-1'
+ : ['fips-aws-us-gov-global', 'aws-us-gov-global'].includes(region)
+ ? 'us-gov-west-1'
+ : region.replace(/fips-(dkr-|prod-)?|-fips/, '');
+}
+
+module.exports = {
+ isFipsRegion: isFipsRegion,
+ isGlobalRegion: isGlobalRegion,
+ getRealRegion: getRealRegion
+};
+
+
+/***/ }),
+
+/***/ 18262:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var util = __nccwpck_require__(77985);
+var regionConfig = __nccwpck_require__(80738);
+
+function generateRegionPrefix(region) {
+ if (!region) return null;
+ var parts = region.split('-');
+ if (parts.length < 3) return null;
+ return parts.slice(0, parts.length - 2).join('-') + '-*';
+}
+
+function derivedKeys(service) {
+ var region = service.config.region;
+ var regionPrefix = generateRegionPrefix(region);
+ var endpointPrefix = service.api.endpointPrefix;
+
+ return [
+ [region, endpointPrefix],
+ [regionPrefix, endpointPrefix],
+ [region, '*'],
+ [regionPrefix, '*'],
+ ['*', endpointPrefix],
+ [region, 'internal-*'],
+ ['*', '*']
+ ].map(function(item) {
+ return item[0] && item[1] ? item.join('/') : null;
+ });
+}
+
+function applyConfig(service, config) {
+ util.each(config, function(key, value) {
+ if (key === 'globalEndpoint') return;
+ if (service.config[key] === undefined || service.config[key] === null) {
+ service.config[key] = value;
+ }
+ });
+}
+
+function configureEndpoint(service) {
+ var keys = derivedKeys(service);
+ var useFipsEndpoint = service.config.useFipsEndpoint;
+ var useDualstackEndpoint = service.config.useDualstackEndpoint;
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ if (!key) continue;
+
+ var rules = useFipsEndpoint
+ ? useDualstackEndpoint
+ ? regionConfig.dualstackFipsRules
+ : regionConfig.fipsRules
+ : useDualstackEndpoint
+ ? regionConfig.dualstackRules
+ : regionConfig.rules;
+
+ if (Object.prototype.hasOwnProperty.call(rules, key)) {
+ var config = rules[key];
+ if (typeof config === 'string') {
+ config = regionConfig.patterns[config];
+ }
+
+ // set global endpoint
+ service.isGlobalEndpoint = !!config.globalEndpoint;
+ if (config.signingRegion) {
+ service.signingRegion = config.signingRegion;
+ }
+
+ // signature version
+ if (!config.signatureVersion) {
+ // Note: config is a global object and should not be mutated here.
+ // However, we are retaining this line for backwards compatibility.
+ // The non-v4 signatureVersion will be set in a copied object below.
+ config.signatureVersion = 'v4';
+ }
+
+ var useBearer = (service.api && service.api.signatureVersion) === 'bearer';
+
+ // merge config
+ applyConfig(service, Object.assign(
+ {},
+ config,
+ { signatureVersion: useBearer ? 'bearer' : config.signatureVersion }
+ ));
+ return;
+ }
+ }
+}
+
+function getEndpointSuffix(region) {
+ var regionRegexes = {
+ '^(us|eu|ap|sa|ca|me)\\-\\w+\\-\\d+$': 'amazonaws.com',
+ '^cn\\-\\w+\\-\\d+$': 'amazonaws.com.cn',
+ '^us\\-gov\\-\\w+\\-\\d+$': 'amazonaws.com',
+ '^us\\-iso\\-\\w+\\-\\d+$': 'c2s.ic.gov',
+ '^us\\-isob\\-\\w+\\-\\d+$': 'sc2s.sgov.gov'
+ };
+ var defaultSuffix = 'amazonaws.com';
+ var regexes = Object.keys(regionRegexes);
+ for (var i = 0; i < regexes.length; i++) {
+ var regionPattern = RegExp(regexes[i]);
+ var dnsSuffix = regionRegexes[regexes[i]];
+ if (regionPattern.test(region)) return dnsSuffix;
+ }
+ return defaultSuffix;
+}
+
+/**
+ * @api private
+ */
+module.exports = {
+ configureEndpoint: configureEndpoint,
+ getEndpointSuffix: getEndpointSuffix,
+};
+
+
+/***/ }),
+
+/***/ 78652:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var AcceptorStateMachine = __nccwpck_require__(68118);
+var inherit = AWS.util.inherit;
+var domain = AWS.util.domain;
+var jmespath = __nccwpck_require__(87783);
+
+/**
+ * @api private
+ */
+var hardErrorStates = {success: 1, error: 1, complete: 1};
+
+function isTerminalState(machine) {
+ return Object.prototype.hasOwnProperty.call(hardErrorStates, machine._asm.currentState);
+}
+
+var fsm = new AcceptorStateMachine();
+fsm.setupStates = function() {
+ var transition = function(_, done) {
+ var self = this;
+ self._haltHandlersOnError = false;
+
+ self.emit(self._asm.currentState, function(err) {
+ if (err) {
+ if (isTerminalState(self)) {
+ if (domain && self.domain instanceof domain.Domain) {
+ err.domainEmitter = self;
+ err.domain = self.domain;
+ err.domainThrown = false;
+ self.domain.emit('error', err);
+ } else {
+ throw err;
+ }
+ } else {
+ self.response.error = err;
+ done(err);
+ }
+ } else {
+ done(self.response.error);
+ }
+ });
+
+ };
+
+ this.addState('validate', 'build', 'error', transition);
+ this.addState('build', 'afterBuild', 'restart', transition);
+ this.addState('afterBuild', 'sign', 'restart', transition);
+ this.addState('sign', 'send', 'retry', transition);
+ this.addState('retry', 'afterRetry', 'afterRetry', transition);
+ this.addState('afterRetry', 'sign', 'error', transition);
+ this.addState('send', 'validateResponse', 'retry', transition);
+ this.addState('validateResponse', 'extractData', 'extractError', transition);
+ this.addState('extractError', 'extractData', 'retry', transition);
+ this.addState('extractData', 'success', 'retry', transition);
+ this.addState('restart', 'build', 'error', transition);
+ this.addState('success', 'complete', 'complete', transition);
+ this.addState('error', 'complete', 'complete', transition);
+ this.addState('complete', null, null, transition);
+};
+fsm.setupStates();
+
+/**
+ * ## Asynchronous Requests
+ *
+ * All requests made through the SDK are asynchronous and use a
+ * callback interface. Each service method that kicks off a request
+ * returns an `AWS.Request` object that you can use to register
+ * callbacks.
+ *
+ * For example, the following service method returns the request
+ * object as "request", which can be used to register callbacks:
+ *
+ * ```javascript
+ * // request is an AWS.Request object
+ * var request = ec2.describeInstances();
+ *
+ * // register callbacks on request to retrieve response data
+ * request.on('success', function(response) {
+ * console.log(response.data);
+ * });
+ * ```
+ *
+ * When a request is ready to be sent, the {send} method should
+ * be called:
+ *
+ * ```javascript
+ * request.send();
+ * ```
+ *
+ * Since registered callbacks may or may not be idempotent, requests should only
+ * be sent once. To perform the same operation multiple times, you will need to
+ * create multiple request objects, each with its own registered callbacks.
+ *
+ * ## Removing Default Listeners for Events
+ *
+ * Request objects are built with default listeners for the various events,
+ * depending on the service type. In some cases, you may want to remove
+ * some built-in listeners to customize behaviour. Doing this requires
+ * access to the built-in listener functions, which are exposed through
+ * the {AWS.EventListeners.Core} namespace. For instance, you may
+ * want to customize the HTTP handler used when sending a request. In this
+ * case, you can remove the built-in listener associated with the 'send'
+ * event, the {AWS.EventListeners.Core.SEND} listener and add your own.
+ *
+ * ## Multiple Callbacks and Chaining
+ *
+ * You can register multiple callbacks on any request object. The
+ * callbacks can be registered for different events, or all for the
+ * same event. In addition, you can chain callback registration, for
+ * example:
+ *
+ * ```javascript
+ * request.
+ * on('success', function(response) {
+ * console.log("Success!");
+ * }).
+ * on('error', function(error, response) {
+ * console.log("Error!");
+ * }).
+ * on('complete', function(response) {
+ * console.log("Always!");
+ * }).
+ * send();
+ * ```
+ *
+ * The above example will print either "Success! Always!", or "Error! Always!",
+ * depending on whether the request succeeded or not.
+ *
+ * @!attribute httpRequest
+ * @readonly
+ * @!group HTTP Properties
+ * @return [AWS.HttpRequest] the raw HTTP request object
+ * containing request headers and body information
+ * sent by the service.
+ *
+ * @!attribute startTime
+ * @readonly
+ * @!group Operation Properties
+ * @return [Date] the time that the request started
+ *
+ * @!group Request Building Events
+ *
+ * @!event validate(request)
+ * Triggered when a request is being validated. Listeners
+ * should throw an error if the request should not be sent.
+ * @param request [Request] the request object being sent
+ * @see AWS.EventListeners.Core.VALIDATE_CREDENTIALS
+ * @see AWS.EventListeners.Core.VALIDATE_REGION
+ * @example Ensuring that a certain parameter is set before sending a request
+ * var req = s3.putObject(params);
+ * req.on('validate', function() {
+ * if (!req.params.Body.match(/^Hello\s/)) {
+ * throw new Error('Body must start with "Hello "');
+ * }
+ * });
+ * req.send(function(err, data) { ... });
+ *
+ * @!event build(request)
+ * Triggered when the request payload is being built. Listeners
+ * should fill the necessary information to send the request
+ * over HTTP.
+ * @param (see AWS.Request~validate)
+ * @example Add a custom HTTP header to a request
+ * var req = s3.putObject(params);
+ * req.on('build', function() {
+ * req.httpRequest.headers['Custom-Header'] = 'value';
+ * });
+ * req.send(function(err, data) { ... });
+ *
+ * @!event sign(request)
+ * Triggered when the request is being signed. Listeners should
+ * add the correct authentication headers and/or adjust the body,
+ * depending on the authentication mechanism being used.
+ * @param (see AWS.Request~validate)
+ *
+ * @!group Request Sending Events
+ *
+ * @!event send(response)
+ * Triggered when the request is ready to be sent. Listeners
+ * should call the underlying transport layer to initiate
+ * the sending of the request.
+ * @param response [Response] the response object
+ * @context [Request] the request object that was sent
+ * @see AWS.EventListeners.Core.SEND
+ *
+ * @!event retry(response)
+ * Triggered when a request failed and might need to be retried or redirected.
+ * If the response is retryable, the listener should set the
+ * `response.error.retryable` property to `true`, and optionally set
+ * `response.error.retryDelay` to the millisecond delay for the next attempt.
+ * In the case of a redirect, `response.error.redirect` should be set to
+ * `true` with `retryDelay` set to an optional delay on the next request.
+ *
+ * If a listener decides that a request should not be retried,
+ * it should set both `retryable` and `redirect` to false.
+ *
+ * Note that a retryable error will be retried at most
+ * {AWS.Config.maxRetries} times (based on the service object's config).
+ * Similarly, a request that is redirected will only redirect at most
+ * {AWS.Config.maxRedirects} times.
+ *
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ * @example Adding a custom retry for a 404 response
+ * request.on('retry', function(response) {
+ * // this resource is not yet available, wait 10 seconds to get it again
+ * if (response.httpResponse.statusCode === 404 && response.error) {
+ * response.error.retryable = true; // retry this error
+ * response.error.retryDelay = 10000; // wait 10 seconds
+ * }
+ * });
+ *
+ * @!group Data Parsing Events
+ *
+ * @!event extractError(response)
+ * Triggered on all non-2xx requests so that listeners can extract
+ * error details from the response body. Listeners to this event
+ * should set the `response.error` property.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @!event extractData(response)
+ * Triggered in successful requests to allow listeners to
+ * de-serialize the response body into `response.data`.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @!group Completion Events
+ *
+ * @!event success(response)
+ * Triggered when the request completed successfully.
+ * `response.data` will contain the response data and
+ * `response.error` will be null.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @!event error(error, response)
+ * Triggered when an error occurs at any point during the
+ * request. `response.error` will contain details about the error
+ * that occurred. `response.data` will be null.
+ * @param error [Error] the error object containing details about
+ * the error that occurred.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @!event complete(response)
+ * Triggered whenever a request cycle completes. `response.error`
+ * should be checked, since the request may have failed.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @!group HTTP Events
+ *
+ * @!event httpHeaders(statusCode, headers, response, statusMessage)
+ * Triggered when headers are sent by the remote server
+ * @param statusCode [Integer] the HTTP response code
+ * @param headers [map] the response headers
+ * @param (see AWS.Request~send)
+ * @param statusMessage [String] A status message corresponding to the HTTP
+ * response code
+ * @context (see AWS.Request~send)
+ *
+ * @!event httpData(chunk, response)
+ * Triggered when data is sent by the remote server
+ * @param chunk [Buffer] the buffer data containing the next data chunk
+ * from the server
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ * @see AWS.EventListeners.Core.HTTP_DATA
+ *
+ * @!event httpUploadProgress(progress, response)
+ * Triggered when the HTTP request has uploaded more data
+ * @param progress [map] An object containing the `loaded` and `total` bytes
+ * of the request.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ * @note This event will not be emitted in Node.js 0.8.x.
+ *
+ * @!event httpDownloadProgress(progress, response)
+ * Triggered when the HTTP request has downloaded more data
+ * @param progress [map] An object containing the `loaded` and `total` bytes
+ * of the request.
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ * @note This event will not be emitted in Node.js 0.8.x.
+ *
+ * @!event httpError(error, response)
+ * Triggered when the HTTP request failed
+ * @param error [Error] the error object that was thrown
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @!event httpDone(response)
+ * Triggered when the server is finished sending data
+ * @param (see AWS.Request~send)
+ * @context (see AWS.Request~send)
+ *
+ * @see AWS.Response
+ */
+AWS.Request = inherit({
+
+ /**
+ * Creates a request for an operation on a given service with
+ * a set of input parameters.
+ *
+ * @param service [AWS.Service] the service to perform the operation on
+ * @param operation [String] the operation to perform on the service
+ * @param params [Object] parameters to send to the operation.
+ * See the operation's documentation for the format of the
+ * parameters.
+ */
+ constructor: function Request(service, operation, params) {
+ var endpoint = service.endpoint;
+ var region = service.config.region;
+ var customUserAgent = service.config.customUserAgent;
+
+ if (service.signingRegion) {
+ region = service.signingRegion;
+ } else if (service.isGlobalEndpoint) {
+ region = 'us-east-1';
+ }
+
+ this.domain = domain && domain.active;
+ this.service = service;
+ this.operation = operation;
+ this.params = params || {};
+ this.httpRequest = new AWS.HttpRequest(endpoint, region);
+ this.httpRequest.appendToUserAgent(customUserAgent);
+ this.startTime = service.getSkewCorrectedDate();
+
+ this.response = new AWS.Response(this);
+ this._asm = new AcceptorStateMachine(fsm.states, 'validate');
+ this._haltHandlersOnError = false;
+
+ AWS.SequentialExecutor.call(this);
+ this.emit = this.emitEvent;
+ },
+
+ /**
+ * @!group Sending a Request
+ */
+
+ /**
+ * @overload send(callback = null)
+ * Sends the request object.
+ *
+ * @callback callback function(err, data)
+ * If a callback is supplied, it is called when a response is returned
+ * from the service.
+ * @context [AWS.Request] the request object being sent.
+ * @param err [Error] the error object returned from the request.
+ * Set to `null` if the request is successful.
+ * @param data [Object] the de-serialized data returned from
+ * the request. Set to `null` if a request error occurs.
+ * @example Sending a request with a callback
+ * request = s3.putObject({Bucket: 'bucket', Key: 'key'});
+ * request.send(function(err, data) { console.log(err, data); });
+ * @example Sending a request with no callback (using event handlers)
+ * request = s3.putObject({Bucket: 'bucket', Key: 'key'});
+ * request.on('complete', function(response) { ... }); // register a callback
+ * request.send();
+ */
+ send: function send(callback) {
+ if (callback) {
+ // append to user agent
+ this.httpRequest.appendToUserAgent('callback');
+ this.on('complete', function (resp) {
+ callback.call(resp, resp.error, resp.data);
+ });
+ }
+ this.runTo();
+
+ return this.response;
+ },
+
+ /**
+ * @!method promise()
+ * Sends the request and returns a 'thenable' promise.
+ *
+ * Two callbacks can be provided to the `then` method on the returned promise.
+ * The first callback will be called if the promise is fulfilled, and the second
+ * callback will be called if the promise is rejected.
+ * @callback fulfilledCallback function(data)
+ * Called if the promise is fulfilled.
+ * @param data [Object] the de-serialized data returned from the request.
+ * @callback rejectedCallback function(error)
+ * Called if the promise is rejected.
+ * @param error [Error] the error object returned from the request.
+ * @return [Promise] A promise that represents the state of the request.
+ * @example Sending a request using promises.
+ * var request = s3.putObject({Bucket: 'bucket', Key: 'key'});
+ * var result = request.promise();
+ * result.then(function(data) { ... }, function(error) { ... });
+ */
+
+ /**
+ * @api private
+ */
+ build: function build(callback) {
+ return this.runTo('send', callback);
+ },
+
+ /**
+ * @api private
+ */
+ runTo: function runTo(state, done) {
+ this._asm.runTo(state, done, this);
+ return this;
+ },
+
+ /**
+ * Aborts a request, emitting the error and complete events.
+ *
+ * @!macro nobrowser
+ * @example Aborting a request after sending
+ * var params = {
+ * Bucket: 'bucket', Key: 'key',
+ * Body: Buffer.alloc(1024 * 1024 * 5) // 5MB payload
+ * };
+ * var request = s3.putObject(params);
+ * request.send(function (err, data) {
+ * if (err) console.log("Error:", err.code, err.message);
+ * else console.log(data);
+ * });
+ *
+ * // abort request in 1 second
+ * setTimeout(request.abort.bind(request), 1000);
+ *
+ * // prints "Error: RequestAbortedError Request aborted by user"
+ * @return [AWS.Request] the same request object, for chaining.
+ * @since v1.4.0
+ */
+ abort: function abort() {
+ this.removeAllListeners('validateResponse');
+ this.removeAllListeners('extractError');
+ this.on('validateResponse', function addAbortedError(resp) {
+ resp.error = AWS.util.error(new Error('Request aborted by user'), {
+ code: 'RequestAbortedError', retryable: false
+ });
+ });
+
+ if (this.httpRequest.stream && !this.httpRequest.stream.didCallback) { // abort HTTP stream
+ this.httpRequest.stream.abort();
+ if (this.httpRequest._abortCallback) {
+ this.httpRequest._abortCallback();
+ } else {
+ this.removeAllListeners('send'); // haven't sent yet, so let's not
+ }
+ }
+
+ return this;
+ },
+
+ /**
+ * Iterates over each page of results given a pageable request, calling
+ * the provided callback with each page of data. After all pages have been
+ * retrieved, the callback is called with `null` data.
+ *
+ * @note This operation can generate multiple requests to a service.
+ * @example Iterating over multiple pages of objects in an S3 bucket
+ * var pages = 1;
+ * s3.listObjects().eachPage(function(err, data) {
+ * if (err) return;
+ * console.log("Page", pages++);
+ * console.log(data);
+ * });
+ * @example Iterating over multiple pages with an asynchronous callback
+ * s3.listObjects(params).eachPage(function(err, data, done) {
+ * doSomethingAsyncAndOrExpensive(function() {
+ * // The next page of results isn't fetched until done is called
+ * done();
+ * });
+ * });
+ * @callback callback function(err, data, [doneCallback])
+ * Called with each page of resulting data from the request. If the
+ * optional `doneCallback` is provided in the function, it must be called
+ * when the callback is complete.
+ *
+ * @param err [Error] an error object, if an error occurred.
+ * @param data [Object] a single page of response data. If there is no
+ * more data, this object will be `null`.
+ * @param doneCallback [Function] an optional done callback. If this
+ * argument is defined in the function declaration, it should be called
+ * when the next page is ready to be retrieved. This is useful for
+ * controlling serial pagination across asynchronous operations.
+ * @return [Boolean] if the callback returns `false`, pagination will
+ * stop.
+ *
+ * @see AWS.Request.eachItem
+ * @see AWS.Response.nextPage
+ * @since v1.4.0
+ */
+ eachPage: function eachPage(callback) {
+ // Make all callbacks async-ish
+ callback = AWS.util.fn.makeAsync(callback, 3);
+
+ function wrappedCallback(response) {
+ callback.call(response, response.error, response.data, function (result) {
+ if (result === false) return;
+
+ if (response.hasNextPage()) {
+ response.nextPage().on('complete', wrappedCallback).send();
+ } else {
+ callback.call(response, null, null, AWS.util.fn.noop);
+ }
+ });
+ }
+
+ this.on('complete', wrappedCallback).send();
+ },
+
+ /**
+ * Enumerates over individual items of a request, paging the responses if
+ * necessary.
+ *
+ * @api experimental
+ * @since v1.4.0
+ */
+ eachItem: function eachItem(callback) {
+ var self = this;
+ function wrappedCallback(err, data) {
+ if (err) return callback(err, null);
+ if (data === null) return callback(null, null);
+
+ var config = self.service.paginationConfig(self.operation);
+ var resultKey = config.resultKey;
+ if (Array.isArray(resultKey)) resultKey = resultKey[0];
+ var items = jmespath.search(data, resultKey);
+ var continueIteration = true;
+ AWS.util.arrayEach(items, function(item) {
+ continueIteration = callback(null, item);
+ if (continueIteration === false) {
+ return AWS.util.abort;
+ }
+ });
+ return continueIteration;
+ }
+
+ this.eachPage(wrappedCallback);
+ },
+
+ /**
+ * @return [Boolean] whether the operation can return multiple pages of
+ * response data.
+ * @see AWS.Response.eachPage
+ * @since v1.4.0
+ */
+ isPageable: function isPageable() {
+ return this.service.paginationConfig(this.operation) ? true : false;
+ },
+
+ /**
+ * Sends the request and converts the request object into a readable stream
+ * that can be read from or piped into a writable stream.
+ *
+ * @note The data read from a readable stream contains only
+ * the raw HTTP body contents.
+ * @example Manually reading from a stream
+ * request.createReadStream().on('data', function(data) {
+ * console.log("Got data:", data.toString());
+ * });
+ * @example Piping a request body into a file
+ * var out = fs.createWriteStream('/path/to/outfile.jpg');
+ * s3.service.getObject(params).createReadStream().pipe(out);
+ * @return [Stream] the readable stream object that can be piped
+ * or read from (by registering 'data' event listeners).
+ * @!macro nobrowser
+ */
+ createReadStream: function createReadStream() {
+ var streams = AWS.util.stream;
+ var req = this;
+ var stream = null;
+
+ if (AWS.HttpClient.streamsApiVersion === 2) {
+ stream = new streams.PassThrough();
+ process.nextTick(function() { req.send(); });
+ } else {
+ stream = new streams.Stream();
+ stream.readable = true;
+
+ stream.sent = false;
+ stream.on('newListener', function(event) {
+ if (!stream.sent && event === 'data') {
+ stream.sent = true;
+ process.nextTick(function() { req.send(); });
+ }
+ });
+ }
+
+ this.on('error', function(err) {
+ stream.emit('error', err);
+ });
+
+ this.on('httpHeaders', function streamHeaders(statusCode, headers, resp) {
+ if (statusCode < 300) {
+ req.removeListener('httpData', AWS.EventListeners.Core.HTTP_DATA);
+ req.removeListener('httpError', AWS.EventListeners.Core.HTTP_ERROR);
+ req.on('httpError', function streamHttpError(error) {
+ resp.error = error;
+ resp.error.retryable = false;
+ });
+
+ var shouldCheckContentLength = false;
+ var expectedLen;
+ if (req.httpRequest.method !== 'HEAD') {
+ expectedLen = parseInt(headers['content-length'], 10);
+ }
+ if (expectedLen !== undefined && !isNaN(expectedLen) && expectedLen >= 0) {
+ shouldCheckContentLength = true;
+ var receivedLen = 0;
+ }
+
+ var checkContentLengthAndEmit = function checkContentLengthAndEmit() {
+ if (shouldCheckContentLength && receivedLen !== expectedLen) {
+ stream.emit('error', AWS.util.error(
+ new Error('Stream content length mismatch. Received ' +
+ receivedLen + ' of ' + expectedLen + ' bytes.'),
+ { code: 'StreamContentLengthMismatch' }
+ ));
+ } else if (AWS.HttpClient.streamsApiVersion === 2) {
+ stream.end();
+ } else {
+ stream.emit('end');
+ }
+ };
+
+ var httpStream = resp.httpResponse.createUnbufferedStream();
+
+ if (AWS.HttpClient.streamsApiVersion === 2) {
+ if (shouldCheckContentLength) {
+ var lengthAccumulator = new streams.PassThrough();
+ lengthAccumulator._write = function(chunk) {
+ if (chunk && chunk.length) {
+ receivedLen += chunk.length;
+ }
+ return streams.PassThrough.prototype._write.apply(this, arguments);
+ };
+
+ lengthAccumulator.on('end', checkContentLengthAndEmit);
+ stream.on('error', function(err) {
+ shouldCheckContentLength = false;
+ httpStream.unpipe(lengthAccumulator);
+ lengthAccumulator.emit('end');
+ lengthAccumulator.end();
+ });
+ httpStream.pipe(lengthAccumulator).pipe(stream, { end: false });
+ } else {
+ httpStream.pipe(stream);
+ }
+ } else {
+
+ if (shouldCheckContentLength) {
+ httpStream.on('data', function(arg) {
+ if (arg && arg.length) {
+ receivedLen += arg.length;
+ }
+ });
+ }
+
+ httpStream.on('data', function(arg) {
+ stream.emit('data', arg);
+ });
+ httpStream.on('end', checkContentLengthAndEmit);
+ }
+
+ httpStream.on('error', function(err) {
+ shouldCheckContentLength = false;
+ stream.emit('error', err);
+ });
+ }
+ });
+
+ return stream;
+ },
+
+ /**
+ * @param [Array,Response] args This should be the response object,
+ * or an array of args to send to the event.
+ * @api private
+ */
+ emitEvent: function emit(eventName, args, done) {
+ if (typeof args === 'function') { done = args; args = null; }
+ if (!done) done = function() { };
+ if (!args) args = this.eventParameters(eventName, this.response);
+
+ var origEmit = AWS.SequentialExecutor.prototype.emit;
+ origEmit.call(this, eventName, args, function (err) {
+ if (err) this.response.error = err;
+ done.call(this, err);
+ });
+ },
+
+ /**
+ * @api private
+ */
+ eventParameters: function eventParameters(eventName) {
+ switch (eventName) {
+ case 'restart':
+ case 'validate':
+ case 'sign':
+ case 'build':
+ case 'afterValidate':
+ case 'afterBuild':
+ return [this];
+ case 'error':
+ return [this.response.error, this.response];
+ default:
+ return [this.response];
+ }
+ },
+
+ /**
+ * @api private
+ */
+ presign: function presign(expires, callback) {
+ if (!callback && typeof expires === 'function') {
+ callback = expires;
+ expires = null;
+ }
+ return new AWS.Signers.Presign().sign(this.toGet(), expires, callback);
+ },
+
+ /**
+ * @api private
+ */
+ isPresigned: function isPresigned() {
+ return Object.prototype.hasOwnProperty.call(this.httpRequest.headers, 'presigned-expires');
+ },
+
+ /**
+ * @api private
+ */
+ toUnauthenticated: function toUnauthenticated() {
+ this._unAuthenticated = true;
+ this.removeListener('validate', AWS.EventListeners.Core.VALIDATE_CREDENTIALS);
+ this.removeListener('sign', AWS.EventListeners.Core.SIGN);
+ return this;
+ },
+
+ /**
+ * @api private
+ */
+ toGet: function toGet() {
+ if (this.service.api.protocol === 'query' ||
+ this.service.api.protocol === 'ec2') {
+ this.removeListener('build', this.buildAsGet);
+ this.addListener('build', this.buildAsGet);
+ }
+ return this;
+ },
+
+ /**
+ * @api private
+ */
+ buildAsGet: function buildAsGet(request) {
+ request.httpRequest.method = 'GET';
+ request.httpRequest.path = request.service.endpoint.path +
+ '?' + request.httpRequest.body;
+ request.httpRequest.body = '';
+
+ // don't need these headers on a GET request
+ delete request.httpRequest.headers['Content-Length'];
+ delete request.httpRequest.headers['Content-Type'];
+ },
+
+ /**
+ * @api private
+ */
+ haltHandlersOnError: function haltHandlersOnError() {
+ this._haltHandlersOnError = true;
+ }
+});
+
+/**
+ * @api private
+ */
+AWS.Request.addPromisesToClass = function addPromisesToClass(PromiseDependency) {
+ this.prototype.promise = function promise() {
+ var self = this;
+ // append to user agent
+ this.httpRequest.appendToUserAgent('promise');
+ return new PromiseDependency(function(resolve, reject) {
+ self.on('complete', function(resp) {
+ if (resp.error) {
+ reject(resp.error);
+ } else {
+ // define $response property so that it is not enumerable
+ // this prevents circular reference errors when stringifying the JSON object
+ resolve(Object.defineProperty(
+ resp.data || {},
+ '$response',
+ {value: resp}
+ ));
+ }
+ });
+ self.runTo();
+ });
+ };
+};
+
+/**
+ * @api private
+ */
+AWS.Request.deletePromisesFromClass = function deletePromisesFromClass() {
+ delete this.prototype.promise;
+};
+
+AWS.util.addPromises(AWS.Request);
+
+AWS.util.mixin(AWS.Request, AWS.SequentialExecutor);
+
+
+/***/ }),
+
+/***/ 39925:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+/**
+ * Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You
+ * may not use this file except in compliance with the License. A copy of
+ * the License is located at
+ *
+ * http://aws.amazon.com/apache2.0/
+ *
+ * or in the "license" file accompanying this file. This file is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
+ * ANY KIND, either express or implied. See the License for the specific
+ * language governing permissions and limitations under the License.
+ */
+
+var AWS = __nccwpck_require__(28437);
+var inherit = AWS.util.inherit;
+var jmespath = __nccwpck_require__(87783);
+
+/**
+ * @api private
+ */
+function CHECK_ACCEPTORS(resp) {
+ var waiter = resp.request._waiter;
+ var acceptors = waiter.config.acceptors;
+ var acceptorMatched = false;
+ var state = 'retry';
+
+ acceptors.forEach(function(acceptor) {
+ if (!acceptorMatched) {
+ var matcher = waiter.matchers[acceptor.matcher];
+ if (matcher && matcher(resp, acceptor.expected, acceptor.argument)) {
+ acceptorMatched = true;
+ state = acceptor.state;
+ }
+ }
+ });
+
+ if (!acceptorMatched && resp.error) state = 'failure';
+
+ if (state === 'success') {
+ waiter.setSuccess(resp);
+ } else {
+ waiter.setError(resp, state === 'retry');
+ }
+}
+
+/**
+ * @api private
+ */
+AWS.ResourceWaiter = inherit({
+ /**
+ * Waits for a given state on a service object
+ * @param service [Service] the service object to wait on
+ * @param state [String] the state (defined in waiter configuration) to wait
+ * for.
+ * @example Create a waiter for running EC2 instances
+ * var ec2 = new AWS.EC2;
+ * var waiter = new AWS.ResourceWaiter(ec2, 'instanceRunning');
+ */
+ constructor: function constructor(service, state) {
+ this.service = service;
+ this.state = state;
+ this.loadWaiterConfig(this.state);
+ },
+
+ service: null,
+
+ state: null,
+
+ config: null,
+
+ matchers: {
+ path: function(resp, expected, argument) {
+ try {
+ var result = jmespath.search(resp.data, argument);
+ } catch (err) {
+ return false;
+ }
+
+ return jmespath.strictDeepEqual(result,expected);
+ },
+
+ pathAll: function(resp, expected, argument) {
+ try {
+ var results = jmespath.search(resp.data, argument);
+ } catch (err) {
+ return false;
+ }
+
+ if (!Array.isArray(results)) results = [results];
+ var numResults = results.length;
+ if (!numResults) return false;
+ for (var ind = 0 ; ind < numResults; ind++) {
+ if (!jmespath.strictDeepEqual(results[ind], expected)) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ pathAny: function(resp, expected, argument) {
+ try {
+ var results = jmespath.search(resp.data, argument);
+ } catch (err) {
+ return false;
+ }
+
+ if (!Array.isArray(results)) results = [results];
+ var numResults = results.length;
+ for (var ind = 0 ; ind < numResults; ind++) {
+ if (jmespath.strictDeepEqual(results[ind], expected)) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+ status: function(resp, expected) {
+ var statusCode = resp.httpResponse.statusCode;
+ return (typeof statusCode === 'number') && (statusCode === expected);
+ },
+
+ error: function(resp, expected) {
+ if (typeof expected === 'string' && resp.error) {
+ return expected === resp.error.code;
+ }
+ // if expected is not string, can be boolean indicating presence of error
+ return expected === !!resp.error;
+ }
+ },
+
+ listeners: new AWS.SequentialExecutor().addNamedListeners(function(add) {
+ add('RETRY_CHECK', 'retry', function(resp) {
+ var waiter = resp.request._waiter;
+ if (resp.error && resp.error.code === 'ResourceNotReady') {
+ resp.error.retryDelay = (waiter.config.delay || 0) * 1000;
+ }
+ });
+
+ add('CHECK_OUTPUT', 'extractData', CHECK_ACCEPTORS);
+
+ add('CHECK_ERROR', 'extractError', CHECK_ACCEPTORS);
+ }),
+
+ /**
+ * @return [AWS.Request]
+ */
+ wait: function wait(params, callback) {
+ if (typeof params === 'function') {
+ callback = params; params = undefined;
+ }
+
+ if (params && params.$waiter) {
+ params = AWS.util.copy(params);
+ if (typeof params.$waiter.delay === 'number') {
+ this.config.delay = params.$waiter.delay;
+ }
+ if (typeof params.$waiter.maxAttempts === 'number') {
+ this.config.maxAttempts = params.$waiter.maxAttempts;
+ }
+ delete params.$waiter;
+ }
+
+ var request = this.service.makeRequest(this.config.operation, params);
+ request._waiter = this;
+ request.response.maxRetries = this.config.maxAttempts;
+ request.addListeners(this.listeners);
+
+ if (callback) request.send(callback);
+ return request;
+ },
+
+ setSuccess: function setSuccess(resp) {
+ resp.error = null;
+ resp.data = resp.data || {};
+ resp.request.removeAllListeners('extractData');
+ },
+
+ setError: function setError(resp, retryable) {
+ resp.data = null;
+ resp.error = AWS.util.error(resp.error || new Error(), {
+ code: 'ResourceNotReady',
+ message: 'Resource is not in the state ' + this.state,
+ retryable: retryable
+ });
+ },
+
+ /**
+ * Loads waiter configuration from API configuration
+ *
+ * @api private
+ */
+ loadWaiterConfig: function loadWaiterConfig(state) {
+ if (!this.service.api.waiters[state]) {
+ throw new AWS.util.error(new Error(), {
+ code: 'StateNotFoundError',
+ message: 'State ' + state + ' not found.'
+ });
+ }
+
+ this.config = AWS.util.copy(this.service.api.waiters[state]);
+ }
+});
+
+
+/***/ }),
+
+/***/ 58743:
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var inherit = AWS.util.inherit;
+var jmespath = __nccwpck_require__(87783);
+
+/**
+ * This class encapsulates the response information
+ * from a service request operation sent through {AWS.Request}.
+ * The response object has two main properties for getting information
+ * back from a request:
+ *
+ * ## The `data` property
+ *
+ * The `response.data` property contains the serialized object data
+ * retrieved from the service request. For instance, for an
+ * Amazon DynamoDB `listTables` method call, the response data might
+ * look like:
+ *
+ * ```
+ * > resp.data
+ * { TableNames:
+ * [ 'table1', 'table2', ... ] }
+ * ```
+ *
+ * The `data` property can be null if an error occurs (see below).
+ *
+ * ## The `error` property
+ *
+ * In the event of a service error (or transfer error), the
+ * `response.error` property will be filled with the given
+ * error data in the form:
+ *
+ * ```
+ * { code: 'SHORT_UNIQUE_ERROR_CODE',
+ * message: 'Some human readable error message' }
+ * ```
+ *
+ * In the case of an error, the `data` property will be `null`.
+ * Note that if you handle events that can be in a failure state,
+ * you should always check whether `response.error` is set
+ * before attempting to access the `response.data` property.
+ *
+ * @!attribute data
+ * @readonly
+ * @!group Data Properties
+ * @note Inside of a {AWS.Request~httpData} event, this
+ * property contains a single raw packet instead of the
+ * full de-serialized service response.
+ * @return [Object] the de-serialized response data
+ * from the service.
+ *
+ * @!attribute error
+ * An structure containing information about a service
+ * or networking error.
+ * @readonly
+ * @!group Data Properties
+ * @note This attribute is only filled if a service or
+ * networking error occurs.
+ * @return [Error]
+ * * code [String] a unique short code representing the
+ * error that was emitted.
+ * * message [String] a longer human readable error message
+ * * retryable [Boolean] whether the error message is
+ * retryable.
+ * * statusCode [Numeric] in the case of a request that reached the service,
+ * this value contains the response status code.
+ * * time [Date] the date time object when the error occurred.
+ * * hostname [String] set when a networking error occurs to easily
+ * identify the endpoint of the request.
+ * * region [String] set when a networking error occurs to easily
+ * identify the region of the request.
+ *
+ * @!attribute requestId
+ * @readonly
+ * @!group Data Properties
+ * @return [String] the unique request ID associated with the response.
+ * Log this value when debugging requests for AWS support.
+ *
+ * @!attribute retryCount
+ * @readonly
+ * @!group Operation Properties
+ * @return [Integer] the number of retries that were
+ * attempted before the request was completed.
+ *
+ * @!attribute redirectCount
+ * @readonly
+ * @!group Operation Properties
+ * @return [Integer] the number of redirects that were
+ * followed before the request was completed.
+ *
+ * @!attribute httpResponse
+ * @readonly
+ * @!group HTTP Properties
+ * @return [AWS.HttpResponse] the raw HTTP response object
+ * containing the response headers and body information
+ * from the server.
+ *
+ * @see AWS.Request
+ */
+AWS.Response = inherit({
+
+ /**
+ * @api private
+ */
+ constructor: function Response(request) {
+ this.request = request;
+ this.data = null;
+ this.error = null;
+ this.retryCount = 0;
+ this.redirectCount = 0;
+ this.httpResponse = new AWS.HttpResponse();
+ if (request) {
+ this.maxRetries = request.service.numRetries();
+ this.maxRedirects = request.service.config.maxRedirects;
+ }
+ },
+
+ /**
+ * Creates a new request for the next page of response data, calling the
+ * callback with the page data if a callback is provided.
+ *
+ * @callback callback function(err, data)
+ * Called when a page of data is returned from the next request.
+ *
+ * @param err [Error] an error object, if an error occurred in the request
+ * @param data [Object] the next page of data, or null, if there are no
+ * more pages left.
+ * @return [AWS.Request] the request object for the next page of data
+ * @return [null] if no callback is provided and there are no pages left
+ * to retrieve.
+ * @since v1.4.0
+ */
+ nextPage: function nextPage(callback) {
+ var config;
+ var service = this.request.service;
+ var operation = this.request.operation;
+ try {
+ config = service.paginationConfig(operation, true);
+ } catch (e) { this.error = e; }
+
+ if (!this.hasNextPage()) {
+ if (callback) callback(this.error, null);
+ else if (this.error) throw this.error;
+ return null;
+ }
+
+ var params = AWS.util.copy(this.request.params);
+ if (!this.nextPageTokens) {
+ return callback ? callback(null, null) : null;
+ } else {
+ var inputTokens = config.inputToken;
+ if (typeof inputTokens === 'string') inputTokens = [inputTokens];
+ for (var i = 0; i < inputTokens.length; i++) {
+ params[inputTokens[i]] = this.nextPageTokens[i];
+ }
+ return service.makeRequest(this.request.operation, params, callback);
+ }
+ },
+
+ /**
+ * @return [Boolean] whether more pages of data can be returned by further
+ * requests
+ * @since v1.4.0
+ */
+ hasNextPage: function hasNextPage() {
+ this.cacheNextPageTokens();
+ if (this.nextPageTokens) return true;
+ if (this.nextPageTokens === undefined) return undefined;
+ else return false;
+ },
+
+ /**
+ * @api private
+ */
+ cacheNextPageTokens: function cacheNextPageTokens() {
+ if (Object.prototype.hasOwnProperty.call(this, 'nextPageTokens')) return this.nextPageTokens;
+ this.nextPageTokens = undefined;
+
+ var config = this.request.service.paginationConfig(this.request.operation);
+ if (!config) return this.nextPageTokens;
+
+ this.nextPageTokens = null;
+ if (config.moreResults) {
+ if (!jmespath.search(this.data, config.moreResults)) {
+ return this.nextPageTokens;
+ }
+ }
+
+ var exprs = config.outputToken;
+ if (typeof exprs === 'string') exprs = [exprs];
+ AWS.util.arrayEach.call(this, exprs, function (expr) {
+ var output = jmespath.search(this.data, expr);
+ if (output) {
+ this.nextPageTokens = this.nextPageTokens || [];
+ this.nextPageTokens.push(output);
+ }
+ });
+
+ return this.nextPageTokens;
+ }
+
+});
+
+
+/***/ }),
+
+/***/ 81600:
+/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
+
+var AWS = __nccwpck_require__(28437);
+var byteLength = AWS.util.string.byteLength;
+var Buffer = AWS.util.Buffer;
+
+/**
+ * The managed uploader allows for easy and efficient uploading of buffers,
+ * blobs, or streams, using a configurable amount of concurrency to perform
+ * multipart uploads where possible. This abstraction also enables uploading
+ * streams of unknown size due to the use of multipart uploads.
+ *
+ * To construct a managed upload object, see the {constructor} function.
+ *
+ * ## Tracking upload progress
+ *
+ * The managed upload object can also track progress by attaching an
+ * 'httpUploadProgress' listener to the upload manager. This event is similar
+ * to {AWS.Request~httpUploadProgress} but groups all concurrent upload progress
+ * into a single event. See {AWS.S3.ManagedUpload~httpUploadProgress} for more
+ * information.
+ *
+ * ## Handling Multipart Cleanup
+ *
+ * By default, this class will automatically clean up any multipart uploads
+ * when an individual part upload fails. This behavior can be disabled in order
+ * to manually handle failures by setting the `leavePartsOnError` configuration
+ * option to `true` when initializing the upload object.
+ *
+ * @!event httpUploadProgress(progress)
+ * Triggered when the uploader has uploaded more data.
+ * @note The `total` property may not be set if the stream being uploaded has
+ * not yet finished chunking. In this case the `total` will be undefined
+ * until the total stream size is known.
+ * @note This event will not be emitted in Node.js 0.8.x.
+ * @param progress [map] An object containing the `loaded` and `total` bytes
+ * of the request and the `key` of the S3 object. Note that `total` may be undefined until the payload
+ * size is known.
+ * @context (see AWS.Request~send)
+ */
+AWS.S3.ManagedUpload = AWS.util.inherit({
+ /**
+ * Creates a managed upload object with a set of configuration options.
+ *
+ * @note A "Body" parameter is required to be set prior to calling {send}.
+ * @note In Node.js, sending "Body" as {https://nodejs.org/dist/latest/docs/api/stream.html#stream_object_mode object-mode stream}
+ * may result in upload hangs. Using buffer stream is preferable.
+ * @option options params [map] a map of parameters to pass to the upload
+ * requests. The "Body" parameter is required to be specified either on
+ * the service or in the params option.
+ * @note ContentMD5 should not be provided when using the managed upload object.
+ * Instead, setting "computeChecksums" to true will enable automatic ContentMD5 generation
+ * by the managed upload object.
+ * @option options queueSize [Number] (4) the size of the concurrent queue
+ * manager to upload parts in parallel. Set to 1 for synchronous uploading
+ * of parts. Note that the uploader will buffer at most queueSize * partSize
+ * bytes into memory at any given time.
+ * @option options partSize [Number] (5mb) the size in bytes for each
+ * individual part to be uploaded. Adjust the part size to ensure the number
+ * of parts does not exceed {maxTotalParts}. See {minPartSize} for the
+ * minimum allowed part size.
+ * @option options leavePartsOnError [Boolean] (false) whether to abort the
+ * multipart upload if an error occurs. Set to true if you want to handle
+ * failures manually.
+ * @option options service [AWS.S3] an optional S3 service object to use for
+ * requests. This object might have bound parameters used by the uploader.
+ * @option options tags [Array