diff --git a/clients/client-accessanalyzer/src/endpoints.ts b/clients/client-accessanalyzer/src/endpoints.ts index b6df9a040b4f..9b744badd805 100644 --- a/clients/client-accessanalyzer/src/endpoints.ts +++ b/clients/client-accessanalyzer/src/endpoints.ts @@ -93,6 +93,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-account/src/endpoints.ts b/clients/client-account/src/endpoints.ts index 53371d440b75..1022a25171c7 100644 --- a/clients/client-account/src/endpoints.ts +++ b/clients/client-account/src/endpoints.ts @@ -33,6 +33,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "aws-global", "ca-central-1", "eu-central-1", diff --git a/clients/client-acm-pca/src/endpoints.ts b/clients/client-acm-pca/src/endpoints.ts index d348a781db37..8fc56c1a0479 100644 --- a/clients/client-acm-pca/src/endpoints.ts +++ b/clients/client-acm-pca/src/endpoints.ts @@ -99,6 +99,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-acm/src/endpoints.ts b/clients/client-acm/src/endpoints.ts index 2928c2f103c0..cb98f0e1c102 100644 --- a/clients/client-acm/src/endpoints.ts +++ b/clients/client-acm/src/endpoints.ts @@ -93,6 +93,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "ca-central-1-fips", "eu-central-1", diff --git a/clients/client-alexa-for-business/src/endpoints.ts b/clients/client-alexa-for-business/src/endpoints.ts index ca011526d791..c49520ed5770 100644 --- a/clients/client-alexa-for-business/src/endpoints.ts +++ b/clients/client-alexa-for-business/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-amp/src/endpoints.ts b/clients/client-amp/src/endpoints.ts index b6c2de169c9c..eaa1fdaf0d8e 100644 --- a/clients/client-amp/src/endpoints.ts +++ b/clients/client-amp/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-amplify/src/endpoints.ts b/clients/client-amplify/src/endpoints.ts index d5255c75171d..dddd43ac0090 100644 --- a/clients/client-amplify/src/endpoints.ts +++ b/clients/client-amplify/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-amplifybackend/src/endpoints.ts b/clients/client-amplifybackend/src/endpoints.ts index 87a2fdf8c0d3..0befe34d1e16 100644 --- a/clients/client-amplifybackend/src/endpoints.ts +++ b/clients/client-amplifybackend/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-amplifyuibuilder/.gitignore b/clients/client-amplifyuibuilder/.gitignore new file mode 100644 index 000000000000..54f14c9aef25 --- /dev/null +++ b/clients/client-amplifyuibuilder/.gitignore @@ -0,0 +1,9 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/dist-* +*.tsbuildinfo +*.tgz +*.log +package-lock.json diff --git a/clients/client-amplifyuibuilder/LICENSE b/clients/client-amplifyuibuilder/LICENSE new file mode 100644 index 000000000000..f9e0c8672bca --- /dev/null +++ b/clients/client-amplifyuibuilder/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 2018-2021 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. + 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/clients/client-amplifyuibuilder/README.md b/clients/client-amplifyuibuilder/README.md new file mode 100644 index 000000000000..3520ac7bb99d --- /dev/null +++ b/clients/client-amplifyuibuilder/README.md @@ -0,0 +1,212 @@ +# @aws-sdk/client-amplifyuibuilder + +[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-amplifyuibuilder/latest.svg)](https://www.npmjs.com/package/@aws-sdk/client-amplifyuibuilder) +[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-amplifyuibuilder.svg)](https://www.npmjs.com/package/@aws-sdk/client-amplifyuibuilder) + +## Description + +AWS SDK for JavaScript AmplifyUIBuilder Client for Node.js, Browser and React Native. + +
The Amplify UI Builder API provides a programmatic interface for creating and configuring +user interface (UI) component libraries and themes for use in your Amplify applications. You +can then connect these UI components to an application's backend Amazon Web Services +resources.
+You can also use the Amplify Studio visual designer to create UI components and model data +for an app. For more information, see Introduction in the +Amplify Docs.
+The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation +for client app development. For more information, see the Amplify Framework. For more information about +deploying an Amplify application to Amazon Web Services, see the Amplify Console User Guide.
+ +## Installing + +To install the this package, simply type add or install @aws-sdk/client-amplifyuibuilder +using your favorite package manager: + +- `npm install @aws-sdk/client-amplifyuibuilder` +- `yarn add @aws-sdk/client-amplifyuibuilder` +- `pnpm add @aws-sdk/client-amplifyuibuilder` + +## Getting Started + +### Import + +The AWS SDK is modulized by clients and commands. +To send a request, you only need to import the `AmplifyUIBuilderClient` and +the commands you need, for example `CreateComponentCommand`: + +```js +// ES5 example +const { AmplifyUIBuilderClient, CreateComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); +``` + +```ts +// ES6+ example +import { AmplifyUIBuilderClient, CreateComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; +``` + +### Usage + +To send a request, you: + +- Initiate client with configuration (e.g. credentials, region). +- Initiate command with input parameters. +- Call `send` operation on client with command object as input. +- If you are using a custom http handler, you may call `destroy()` to close open connections. + +```js +// a client can be shared by different commands. +const client = new AmplifyUIBuilderClient({ region: "REGION" }); + +const params = { + /** input parameters */ +}; +const command = new CreateComponentCommand(params); +``` + +#### Async/await + +We recommend using [await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await) +operator to wait for the promise returned by send operation as follows: + +```js +// async/await. +try { + const data = await client.send(command); + // process data. +} catch (error) { + // error handling. +} finally { + // finally. +} +``` + +Async-await is clean, concise, intuitive, easy to debug and has better error handling +as compared to using Promise chains or callbacks. + +#### Promises + +You can also use [Promise chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining) +to execute send operation. + +```js +client.send(command).then( + (data) => { + // process data. + }, + (error) => { + // error handling. + } +); +``` + +Promises can also be called using `.catch()` and `.finally()` as follows: + +```js +client + .send(command) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }) + .finally(() => { + // finally. + }); +``` + +#### Callbacks + +We do not recommend using callbacks because of [callback hell](http://callbackhell.com/), +but they are supported by the send operation. + +```js +// callbacks. +client.send(command, (err, data) => { + // proccess err and data. +}); +``` + +#### v2 compatible style + +The client can also send requests using v2 compatible style. +However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post +on [modular packages in AWS SDK for JavaScript](https://aws.amazon.com/blogs/developer/modular-packages-in-aws-sdk-for-javascript/) + +```ts +import * as AWS from "@aws-sdk/client-amplifyuibuilder"; +const client = new AWS.AmplifyUIBuilder({ region: "REGION" }); + +// async/await. +try { + const data = await client.createComponent(params); + // process data. +} catch (error) { + // error handling. +} + +// Promises. +client + .createComponent(params) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }); + +// callbacks. +client.createComponent(params, (err, data) => { + // proccess err and data. +}); +``` + +### Troubleshooting + +When the service returns an exception, the error will include the exception information, +as well as response metadata (e.g. request id). + +```js +try { + const data = await client.send(command); + // process data. +} catch (error) { + const { requestId, cfId, extendedRequestId } = error.$metadata; + console.log({ requestId, cfId, extendedRequestId }); + /** + * The keys within exceptions are also parsed. + * You can access them by specifying exception names: + * if (error.name === 'SomeServiceException') { + * const value = error.specialKeyInException; + * } + */ +} +``` + +## Getting Help + +Please use these community resources for getting help. +We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them. + +- Visit [Developer Guide](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html) + or [API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html). +- Check out the blog posts tagged with [`aws-sdk-js`](https://aws.amazon.com/blogs/developer/tag/aws-sdk-js/) + on AWS Developer Blog. +- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/aws-sdk-js) and tag it with `aws-sdk-js`. +- Join the AWS JavaScript community on [gitter](https://gitter.im/aws/aws-sdk-js-v3). +- If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-js-v3/issues/new/choose). + +To test your universal JavaScript code in Node.js, browser and react-native environments, +visit our [code samples repo](https://github.com/aws-samples/aws-sdk-js-tests). + +## Contributing + +This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/client-amplifyuibuilder` package is updated. +To contribute to client you can check our [generate clients scripts](https://github.com/aws/aws-sdk-js-v3/tree/main/scripts/generate-clients). + +## License + +This SDK is distributed under the +[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0), +see LICENSE for more information. diff --git a/clients/client-amplifyuibuilder/jest.config.js b/clients/client-amplifyuibuilder/jest.config.js new file mode 100644 index 000000000000..02eed352c6a8 --- /dev/null +++ b/clients/client-amplifyuibuilder/jest.config.js @@ -0,0 +1,4 @@ +module.exports = { + preset: "ts-jest", + testMatch: ["**/*.spec.ts", "!**/*.browser.spec.ts", "!**/*.integ.spec.ts"], +}; diff --git a/clients/client-amplifyuibuilder/package.json b/clients/client-amplifyuibuilder/package.json new file mode 100644 index 000000000000..28d71b4d7556 --- /dev/null +++ b/clients/client-amplifyuibuilder/package.json @@ -0,0 +1,96 @@ +{ + "name": "@aws-sdk/client-amplifyuibuilder", + "description": "AWS SDK for JavaScript Amplifyuibuilder Client for Node.js, Browser and React Native", + "version": "3.0.0", + "scripts": { + "build": "yarn build:cjs && yarn build:es && yarn build:types", + "build:cjs": "tsc -p tsconfig.json", + "build:docs": "yarn clean:docs && typedoc ./", + "build:es": "tsc -p tsconfig.es.json", + "build:types": "tsc -p tsconfig.types.json", + "clean": "yarn clean:dist && yarn clean:docs", + "clean:dist": "rimraf ./dist-*", + "clean:docs": "rimraf ./docs", + "downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4", + "test": "jest --coverage --passWithNoTests" + }, + "main": "./dist-cjs/index.js", + "types": "./dist-types/index.d.ts", + "module": "./dist-es/index.js", + "sideEffects": false, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.43.0", + "@aws-sdk/config-resolver": "3.40.0", + "@aws-sdk/credential-provider-node": "3.41.0", + "@aws-sdk/fetch-http-handler": "3.40.0", + "@aws-sdk/hash-node": "3.40.0", + "@aws-sdk/invalid-dependency": "3.40.0", + "@aws-sdk/middleware-content-length": "3.40.0", + "@aws-sdk/middleware-host-header": "3.40.0", + "@aws-sdk/middleware-logger": "3.40.0", + "@aws-sdk/middleware-retry": "3.40.0", + "@aws-sdk/middleware-serde": "3.40.0", + "@aws-sdk/middleware-signing": "3.40.0", + "@aws-sdk/middleware-stack": "3.40.0", + "@aws-sdk/middleware-user-agent": "3.40.0", + "@aws-sdk/node-config-provider": "3.40.0", + "@aws-sdk/node-http-handler": "3.40.0", + "@aws-sdk/protocol-http": "3.40.0", + "@aws-sdk/smithy-client": "3.41.0", + "@aws-sdk/types": "3.40.0", + "@aws-sdk/url-parser": "3.40.0", + "@aws-sdk/util-base64-browser": "3.37.0", + "@aws-sdk/util-base64-node": "3.37.0", + "@aws-sdk/util-body-length-browser": "3.37.0", + "@aws-sdk/util-body-length-node": "3.37.0", + "@aws-sdk/util-user-agent-browser": "3.40.0", + "@aws-sdk/util-user-agent-node": "3.40.0", + "@aws-sdk/util-utf8-browser": "3.37.0", + "@aws-sdk/util-utf8-node": "3.37.0", + "tslib": "^2.3.0", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@aws-sdk/service-client-documentation-generator": "3.38.0", + "@types/node": "^12.7.5", + "@types/uuid": "^8.3.0", + "downlevel-dts": "0.7.0", + "jest": "^26.1.0", + "rimraf": "^3.0.0", + "ts-jest": "^26.4.1", + "typedoc": "^0.19.2", + "typescript": "~4.3.5" + }, + "engines": { + "node": ">=10.0.0" + }, + "typesVersions": { + "<4.0": { + "dist-types/*": [ + "dist-types/ts3.4/*" + ] + } + }, + "files": [ + "dist-*" + ], + "author": { + "name": "AWS SDK for JavaScript Team", + "url": "https://aws.amazon.com/javascript/" + }, + "license": "Apache-2.0", + "browser": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser" + }, + "react-native": { + "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native" + }, + "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-amplifyuibuilder", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-js-v3.git", + "directory": "clients/client-amplifyuibuilder" + } +} diff --git a/clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts b/clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts new file mode 100644 index 000000000000..01fe2da51d56 --- /dev/null +++ b/clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts @@ -0,0 +1,478 @@ +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +import { AmplifyUIBuilderClient } from "./AmplifyUIBuilderClient"; +import { + CreateComponentCommand, + CreateComponentCommandInput, + CreateComponentCommandOutput, +} from "./commands/CreateComponentCommand"; +import { CreateThemeCommand, CreateThemeCommandInput, CreateThemeCommandOutput } from "./commands/CreateThemeCommand"; +import { + DeleteComponentCommand, + DeleteComponentCommandInput, + DeleteComponentCommandOutput, +} from "./commands/DeleteComponentCommand"; +import { DeleteThemeCommand, DeleteThemeCommandInput, DeleteThemeCommandOutput } from "./commands/DeleteThemeCommand"; +import { + ExchangeCodeForTokenCommand, + ExchangeCodeForTokenCommandInput, + ExchangeCodeForTokenCommandOutput, +} from "./commands/ExchangeCodeForTokenCommand"; +import { + ExportComponentsCommand, + ExportComponentsCommandInput, + ExportComponentsCommandOutput, +} from "./commands/ExportComponentsCommand"; +import { + ExportThemesCommand, + ExportThemesCommandInput, + ExportThemesCommandOutput, +} from "./commands/ExportThemesCommand"; +import { + GetComponentCommand, + GetComponentCommandInput, + GetComponentCommandOutput, +} from "./commands/GetComponentCommand"; +import { GetThemeCommand, GetThemeCommandInput, GetThemeCommandOutput } from "./commands/GetThemeCommand"; +import { + ListComponentsCommand, + ListComponentsCommandInput, + ListComponentsCommandOutput, +} from "./commands/ListComponentsCommand"; +import { ListThemesCommand, ListThemesCommandInput, ListThemesCommandOutput } from "./commands/ListThemesCommand"; +import { + RefreshTokenCommand, + RefreshTokenCommandInput, + RefreshTokenCommandOutput, +} from "./commands/RefreshTokenCommand"; +import { + UpdateComponentCommand, + UpdateComponentCommandInput, + UpdateComponentCommandOutput, +} from "./commands/UpdateComponentCommand"; +import { UpdateThemeCommand, UpdateThemeCommandInput, UpdateThemeCommandOutput } from "./commands/UpdateThemeCommand"; + +/** + *The Amplify UI Builder API provides a programmatic interface for creating and configuring + * user interface (UI) component libraries and themes for use in your Amplify applications. You + * can then connect these UI components to an application's backend Amazon Web Services + * resources.
+ *You can also use the Amplify Studio visual designer to create UI components and model data + * for an app. For more information, see Introduction in the + * Amplify Docs.
+ *The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation + * for client app development. For more information, see the Amplify Framework. For more information about + * deploying an Amplify application to Amazon Web Services, see the Amplify Console User Guide.
+ */ +export class AmplifyUIBuilder extends AmplifyUIBuilderClient { + /** + *Creates a new component for an Amplify app.
+ */ + public createComponent( + args: CreateComponentCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates a theme to apply to the components in an Amplify app.
+ */ + public createTheme(args: CreateThemeCommandInput, options?: __HttpHandlerOptions): PromiseDeletes a component from an Amplify app.
+ */ + public deleteComponent( + args: DeleteComponentCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes a theme from an Amplify app.
+ */ + public deleteTheme(args: DeleteThemeCommandInput, options?: __HttpHandlerOptions): PromiseExchanges an access code for a token.
+ */ + public exchangeCodeForToken( + args: ExchangeCodeForTokenCommandInput, + options?: __HttpHandlerOptions + ): PromiseExports component configurations to code that is ready to integrate into an Amplify + * app.
+ */ + public exportComponents( + args: ExportComponentsCommandInput, + options?: __HttpHandlerOptions + ): PromiseExports theme configurations to code that is ready to integrate into an Amplify + * app.
+ */ + public exportThemes( + args: ExportThemesCommandInput, + options?: __HttpHandlerOptions + ): PromiseReturns an existing component for an Amplify app.
+ */ + public getComponent( + args: GetComponentCommandInput, + options?: __HttpHandlerOptions + ): PromiseReturns an existing theme for an Amplify app.
+ */ + public getTheme(args: GetThemeCommandInput, options?: __HttpHandlerOptions): PromiseRetrieves a list of components for a specified Amplify app and backend environment.
+ */ + public listComponents( + args: ListComponentsCommandInput, + options?: __HttpHandlerOptions + ): PromiseRetrieves a list of themes for a specified Amplify app and backend environment.
+ */ + public listThemes(args: ListThemesCommandInput, options?: __HttpHandlerOptions): PromiseRefreshes a previously issued access token that might have expired.
+ */ + public refreshToken( + args: RefreshTokenCommandInput, + options?: __HttpHandlerOptions + ): PromiseUpdates an existing component.
+ */ + public updateComponent( + args: UpdateComponentCommandInput, + options?: __HttpHandlerOptions + ): PromiseUpdates an existing theme.
+ */ + public updateTheme(args: UpdateThemeCommandInput, options?: __HttpHandlerOptions): PromiseThe Amplify UI Builder API provides a programmatic interface for creating and configuring + * user interface (UI) component libraries and themes for use in your Amplify applications. You + * can then connect these UI components to an application's backend Amazon Web Services + * resources.
+ *You can also use the Amplify Studio visual designer to create UI components and model data + * for an app. For more information, see Introduction in the + * Amplify Docs.
+ *The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation + * for client app development. For more information, see the Amplify Framework. For more information about + * deploying an Amplify application to Amazon Web Services, see the Amplify Console User Guide.
+ */ +export class AmplifyUIBuilderClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + AmplifyUIBuilderClientResolvedConfig +> { + /** + * The resolved configuration of AmplifyUIBuilderClient class. This is resolved and normalized from the {@link AmplifyUIBuilderClientConfig | constructor configuration interface}. + */ + readonly config: AmplifyUIBuilderClientResolvedConfig; + + constructor(configuration: AmplifyUIBuilderClientConfig) { + const _config_0 = __getRuntimeConfig(configuration); + const _config_1 = resolveRegionConfig(_config_0); + const _config_2 = resolveEndpointsConfig(_config_1); + const _config_3 = resolveRetryConfig(_config_2); + const _config_4 = resolveHostHeaderConfig(_config_3); + const _config_5 = resolveAwsAuthConfig(_config_4); + const _config_6 = resolveUserAgentConfig(_config_5); + super(_config_6); + this.config = _config_6; + this.middlewareStack.use(getRetryPlugin(this.config)); + this.middlewareStack.use(getContentLengthPlugin(this.config)); + this.middlewareStack.use(getHostHeaderPlugin(this.config)); + this.middlewareStack.use(getLoggerPlugin(this.config)); + this.middlewareStack.use(getAwsAuthPlugin(this.config)); + this.middlewareStack.use(getUserAgentPlugin(this.config)); + } + + /** + * Destroy underlying resources, like sockets. It's usually not necessary to do this. + * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed. + * Otherwise, sockets might stay open for quite a long time before the server terminates them. + */ + destroy(): void { + super.destroy(); + } +} diff --git a/clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.ts b/clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.ts new file mode 100644 index 000000000000..175eb50e4551 --- /dev/null +++ b/clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient"; +import { CreateComponentRequest, CreateComponentResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateComponentCommand, + serializeAws_restJson1CreateComponentCommand, +} from "../protocols/Aws_restJson1"; + +export interface CreateComponentCommandInput extends CreateComponentRequest {} +export interface CreateComponentCommandOutput extends CreateComponentResponse, __MetadataBearer {} + +/** + *Creates a new component for an Amplify app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, CreateComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, CreateComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new CreateComponentCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateComponentCommandInput} for command's `input` shape. + * @see {@link CreateComponentCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class CreateComponentCommand extends $Command< + CreateComponentCommandInput, + CreateComponentCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateComponentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackCreates a theme to apply to the components in an Amplify app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, CreateThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, CreateThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new CreateThemeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateThemeCommandInput} for command's `input` shape. + * @see {@link CreateThemeCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class CreateThemeCommand extends $Command< + CreateThemeCommandInput, + CreateThemeCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateThemeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackDeletes a component from an Amplify app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, DeleteComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, DeleteComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new DeleteComponentCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteComponentCommandInput} for command's `input` shape. + * @see {@link DeleteComponentCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class DeleteComponentCommand extends $Command< + DeleteComponentCommandInput, + DeleteComponentCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteComponentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackDeletes a theme from an Amplify app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, DeleteThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, DeleteThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new DeleteThemeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteThemeCommandInput} for command's `input` shape. + * @see {@link DeleteThemeCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class DeleteThemeCommand extends $Command< + DeleteThemeCommandInput, + DeleteThemeCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteThemeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackExchanges an access code for a token.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, ExchangeCodeForTokenCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, ExchangeCodeForTokenCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new ExchangeCodeForTokenCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ExchangeCodeForTokenCommandInput} for command's `input` shape. + * @see {@link ExchangeCodeForTokenCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class ExchangeCodeForTokenCommand extends $Command< + ExchangeCodeForTokenCommandInput, + ExchangeCodeForTokenCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExchangeCodeForTokenCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackExports component configurations to code that is ready to integrate into an Amplify + * app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, ExportComponentsCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, ExportComponentsCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new ExportComponentsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ExportComponentsCommandInput} for command's `input` shape. + * @see {@link ExportComponentsCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class ExportComponentsCommand extends $Command< + ExportComponentsCommandInput, + ExportComponentsCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExportComponentsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackExports theme configurations to code that is ready to integrate into an Amplify + * app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, ExportThemesCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, ExportThemesCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new ExportThemesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ExportThemesCommandInput} for command's `input` shape. + * @see {@link ExportThemesCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class ExportThemesCommand extends $Command< + ExportThemesCommandInput, + ExportThemesCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ExportThemesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackReturns an existing component for an Amplify app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, GetComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, GetComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new GetComponentCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetComponentCommandInput} for command's `input` shape. + * @see {@link GetComponentCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class GetComponentCommand extends $Command< + GetComponentCommandInput, + GetComponentCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetComponentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackReturns an existing theme for an Amplify app.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, GetThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, GetThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new GetThemeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetThemeCommandInput} for command's `input` shape. + * @see {@link GetThemeCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class GetThemeCommand extends $Command< + GetThemeCommandInput, + GetThemeCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetThemeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackRetrieves a list of components for a specified Amplify app and backend environment.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, ListComponentsCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, ListComponentsCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new ListComponentsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListComponentsCommandInput} for command's `input` shape. + * @see {@link ListComponentsCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class ListComponentsCommand extends $Command< + ListComponentsCommandInput, + ListComponentsCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListComponentsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackRetrieves a list of themes for a specified Amplify app and backend environment.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, ListThemesCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, ListThemesCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new ListThemesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListThemesCommandInput} for command's `input` shape. + * @see {@link ListThemesCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class ListThemesCommand extends $Command< + ListThemesCommandInput, + ListThemesCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListThemesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackRefreshes a previously issued access token that might have expired.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, RefreshTokenCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, RefreshTokenCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new RefreshTokenCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link RefreshTokenCommandInput} for command's `input` shape. + * @see {@link RefreshTokenCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class RefreshTokenCommand extends $Command< + RefreshTokenCommandInput, + RefreshTokenCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RefreshTokenCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackUpdates an existing component.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, UpdateComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, UpdateComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new UpdateComponentCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateComponentCommandInput} for command's `input` shape. + * @see {@link UpdateComponentCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class UpdateComponentCommand extends $Command< + UpdateComponentCommandInput, + UpdateComponentCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateComponentCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackUpdates an existing theme.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AmplifyUIBuilderClient, UpdateThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import + * // const { AmplifyUIBuilderClient, UpdateThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import + * const client = new AmplifyUIBuilderClient(config); + * const command = new UpdateThemeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateThemeCommandInput} for command's `input` shape. + * @see {@link UpdateThemeCommandOutput} for command's `response` shape. + * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape. + * + */ +export class UpdateThemeCommand extends $Command< + UpdateThemeCommandInput, + UpdateThemeCommandOutput, + AmplifyUIBuilderClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateThemeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackAssociates a component property to a binding property. This enables exposed properties on + * the top level component to propagate data to the component's property values.
+ */ +export interface ComponentPropertyBindingProperties { + /** + *The component property to bind to the data field.
+ */ + property: string | undefined; + + /** + *The data field to bind the property to.
+ */ + field?: string; +} + +export namespace ComponentPropertyBindingProperties { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentPropertyBindingProperties): any => ({ + ...obj, + }); +} + +/** + *Describes how to bind a component property to form data.
+ */ +export interface FormBindingElement { + /** + *The name of the component to retrieve a value from.
+ */ + element: string | undefined; + + /** + *The property to retrieve a value from.
+ */ + property: string | undefined; +} + +export namespace FormBindingElement { + /** + * @internal + */ + export const filterSensitiveLog = (obj: FormBindingElement): any => ({ + ...obj, + }); +} + +export type SortDirection = "ASC" | "DESC"; + +/** + *Describes how to sort the data that you bind to a component.
+ */ +export interface SortProperty { + /** + *The field to perform the sort on.
+ */ + field: string | undefined; + + /** + *The direction of the sort, either ascending or descending.
+ */ + direction: SortDirection | string | undefined; +} + +export namespace SortProperty { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SortProperty): any => ({ + ...obj, + }); +} + +/** + *Describes the style configuration of a unique variation of a main component.
+ */ +export interface ComponentVariant { + /** + *The combination of variants that comprise this variant.
+ */ + variantValues?: { [key: string]: string }; + + /** + *The properties of the component variant that can be overriden when customizing an instance + * of the component.
+ */ + overrides?: { [key: string]: { [key: string]: string } }; +} + +export namespace ComponentVariant { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentVariant): any => ({ + ...obj, + }); +} + +/** + *An internal error has occurred. Please retry your request.
+ */ +export interface InternalServerException extends __SmithyException, $MetadataBearer { + name: "InternalServerException"; + $fault: "server"; + message?: string; +} + +export namespace InternalServerException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InternalServerException): any => ({ + ...obj, + }); +} + +/** + *An invalid or out-of-range value was supplied for the input parameter.
+ */ +export interface InvalidParameterException extends __SmithyException, $MetadataBearer { + name: "InvalidParameterException"; + $fault: "client"; + message?: string; +} + +export namespace InvalidParameterException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InvalidParameterException): any => ({ + ...obj, + }); +} + +/** + *The resource specified in the request conflicts with an existing resource.
+ */ +export interface ResourceConflictException extends __SmithyException, $MetadataBearer { + name: "ResourceConflictException"; + $fault: "client"; + message?: string; +} + +export namespace ResourceConflictException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceConflictException): any => ({ + ...obj, + }); +} + +/** + *You exceeded your service quota. Service quotas, also referred to as limits, are the + * maximum number of service resources or operations for your Amazon Web Services account.
+ */ +export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer { + name: "ServiceQuotaExceededException"; + $fault: "client"; + message?: string; +} + +export namespace ServiceQuotaExceededException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({ + ...obj, + }); +} + +export interface DeleteComponentRequest { + /** + *The unique ID of the Amplify app associated with the component to delete.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID of the component to delete.
+ */ + id: string | undefined; +} + +export namespace DeleteComponentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteComponentRequest): any => ({ + ...obj, + }); +} + +/** + *The requested resource does not exist, or access was denied.
+ */ +export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { + name: "ResourceNotFoundException"; + $fault: "client"; + message?: string; +} + +export namespace ResourceNotFoundException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceNotFoundException): any => ({ + ...obj, + }); +} + +export interface ExportComponentsRequest { + /** + *The unique ID of the Amplify app to export components to.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; +} + +export namespace ExportComponentsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExportComponentsRequest): any => ({ + ...obj, + }); +} + +export interface GetComponentRequest { + /** + *The unique ID of the Amplify app.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID of the component.
+ */ + id: string | undefined; +} + +export namespace GetComponentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetComponentRequest): any => ({ + ...obj, + }); +} + +export interface ListComponentsRequest { + /** + *The unique ID for the Amplify app.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The token to request the next page of results.
+ */ + nextToken?: string; + + /** + *The maximum number of components to retrieve.
+ */ + maxResults?: number; +} + +export namespace ListComponentsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListComponentsRequest): any => ({ + ...obj, + }); +} + +/** + *Contains a summary of a component. This is a read-only data type that is returned by
+ * ListComponents
.
The unique ID of the Amplify app associated with the component.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID of the component.
+ */ + id: string | undefined; + + /** + *The name of the component.
+ */ + name: string | undefined; + + /** + *The component type.
+ */ + componentType: string | undefined; +} + +export namespace ComponentSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentSummary): any => ({ + ...obj, + }); +} + +export interface ListComponentsResponse { + /** + *The list of components for the Amplify app.
+ */ + entities: ComponentSummary[] | undefined; + + /** + *The pagination token that's included if more results are available.
+ */ + nextToken?: string; +} + +export namespace ListComponentsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListComponentsResponse): any => ({ + ...obj, + }); +} + +export enum TokenProviders { + /** + * The figma token provider. + */ + FIGMA = "figma", +} + +/** + *Describes the configuration of a request to exchange an access code for a token.
+ */ +export interface ExchangeCodeForTokenRequestBody { + /** + *The access code to send in the request.
+ */ + code: string | undefined; + + /** + *The location of the application that will receive the access code.
+ */ + redirectUri: string | undefined; +} + +export namespace ExchangeCodeForTokenRequestBody { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExchangeCodeForTokenRequestBody): any => ({ + ...obj, + ...(obj.code && { code: SENSITIVE_STRING }), + }); +} + +export interface ExchangeCodeForTokenRequest { + /** + *The third-party provider for the token. The only valid value is figma
.
Describes the configuration of the request.
+ */ + request: ExchangeCodeForTokenRequestBody | undefined; +} + +export namespace ExchangeCodeForTokenRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExchangeCodeForTokenRequest): any => ({ + ...obj, + ...(obj.request && { request: ExchangeCodeForTokenRequestBody.filterSensitiveLog(obj.request) }), + }); +} + +export interface ExchangeCodeForTokenResponse { + /** + *The access token.
+ */ + accessToken: string | undefined; + + /** + *The date and time when the new access token expires.
+ */ + expiresIn: number | undefined; + + /** + *The token to use to refresh a previously issued access token that might have + * expired.
+ */ + refreshToken: string | undefined; +} + +export namespace ExchangeCodeForTokenResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExchangeCodeForTokenResponse): any => ({ + ...obj, + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }), + }); +} + +/** + *Describes a refresh token.
+ */ +export interface RefreshTokenRequestBody { + /** + *The token to use to refresh a previously issued access token that might have + * expired.
+ */ + token: string | undefined; +} + +export namespace RefreshTokenRequestBody { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RefreshTokenRequestBody): any => ({ + ...obj, + ...(obj.token && { token: SENSITIVE_STRING }), + }); +} + +export interface RefreshTokenRequest { + /** + *The third-party provider for the token. The only valid value is figma
.
Information about the refresh token request.
+ */ + refreshTokenBody: RefreshTokenRequestBody | undefined; +} + +export namespace RefreshTokenRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RefreshTokenRequest): any => ({ + ...obj, + ...(obj.refreshTokenBody && { refreshTokenBody: RefreshTokenRequestBody.filterSensitiveLog(obj.refreshTokenBody) }), + }); +} + +export interface RefreshTokenResponse { + /** + *The access token.
+ */ + accessToken: string | undefined; + + /** + *The date and time when the new access token expires.
+ */ + expiresIn: number | undefined; +} + +export namespace RefreshTokenResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RefreshTokenResponse): any => ({ + ...obj, + ...(obj.accessToken && { accessToken: SENSITIVE_STRING }), + }); +} + +export interface DeleteThemeRequest { + /** + *The unique ID of the Amplify app associated with the theme to delete.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID of the theme to delete.
+ */ + id: string | undefined; +} + +export namespace DeleteThemeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteThemeRequest): any => ({ + ...obj, + }); +} + +export interface ExportThemesRequest { + /** + *The unique ID of the Amplify app to export the themes to.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is part of the Amplify app.
+ */ + environmentName: string | undefined; +} + +export namespace ExportThemesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExportThemesRequest): any => ({ + ...obj, + }); +} + +export interface GetThemeRequest { + /** + *The unique ID of the Amplify app.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID for the theme.
+ */ + id: string | undefined; +} + +export namespace GetThemeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetThemeRequest): any => ({ + ...obj, + }); +} + +export interface ListThemesRequest { + /** + *The unique ID for the Amplify app.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The token to request the next page of results.
+ */ + nextToken?: string; + + /** + *The maximum number of theme results to return in the response.
+ */ + maxResults?: number; +} + +export namespace ListThemesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListThemesRequest): any => ({ + ...obj, + }); +} + +/** + *Describes the basic information about a theme.
+ */ +export interface ThemeSummary { + /** + *The unique ID for the app associated with the theme summary.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The ID of the theme.
+ */ + id: string | undefined; + + /** + *The name of the theme.
+ */ + name: string | undefined; +} + +export namespace ThemeSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ThemeSummary): any => ({ + ...obj, + }); +} + +export interface ListThemesResponse { + /** + *The list of themes for the Amplify app.
+ */ + entities: ThemeSummary[] | undefined; + + /** + *The pagination token that's returned if more results are available.
+ */ + nextToken?: string; +} + +export namespace ListThemesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListThemesResponse): any => ({ + ...obj, + }); +} + +/** + *Describes the configuration of a theme's properties.
+ */ +export interface ThemeValue { + /** + *The value of a theme property.
+ */ + value?: string; + + /** + *A list of key-value pairs that define the theme's properties.
+ */ + children?: ThemeValues[]; +} + +export namespace ThemeValue { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ThemeValue): any => ({ + ...obj, + }); +} + +/** + *A key-value pair that defines a property of a theme.
+ */ +export interface ThemeValues { + /** + *The name of the property.
+ */ + key?: string; + + /** + *The value of the property.
+ */ + value?: ThemeValue; +} + +export namespace ThemeValues { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ThemeValues): any => ({ + ...obj, + }); +} + +/** + *Stores information for generating Amplify DataStore queries. Use a Predicate
+ * to retrieve a subset of the data in a collection.
A list of predicates to combine logically.
+ */ + or?: Predicate[]; + + /** + *A list of predicates to combine logically.
+ */ + and?: Predicate[]; + + /** + *The field to query.
+ */ + field?: string; + + /** + *The operator to use to perform the evaluation.
+ */ + operator?: string; + + /** + *The value to use when performing the evaluation.
+ */ + operand?: string; +} + +export namespace Predicate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Predicate): any => ({ + ...obj, + }); +} + +/** + *Represents the data binding configuration for a specific property using data stored in + * Amazon Web Services. For Amazon Web Services connected properties, you can bind a property to + * data stored in an Amazon S3 bucket, an Amplify DataStore model or an + * authenticated user attribute.
+ */ +export interface ComponentBindingPropertiesValueProperties { + /** + *An Amplify DataStore model.
+ */ + model?: string; + + /** + *The field to bind the data to.
+ */ + field?: string; + + /** + *A list of predicates for binding a component's properties to data.
+ */ + predicates?: Predicate[]; + + /** + *An authenticated user attribute.
+ */ + userAttribute?: string; + + /** + *An Amazon S3 bucket.
+ */ + bucket?: string; + + /** + *The storage key for an Amazon S3 bucket.
+ */ + key?: string; + + /** + *The default value to assign to the property.
+ */ + defaultValue?: string; +} + +export namespace ComponentBindingPropertiesValueProperties { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentBindingPropertiesValueProperties): any => ({ + ...obj, + }); +} + +/** + *Describes the configuration for binding a component's properties to data.
+ */ +export interface ComponentDataConfiguration { + /** + *The name of the data model to use to bind data to a component.
+ */ + model: string | undefined; + + /** + *Describes how to sort the component's properties.
+ */ + sort?: SortProperty[]; + + /** + *Represents the conditional logic to use when binding data to a component. Use this + * property to retrieve only a subset of the data in a collection.
+ */ + predicate?: Predicate; + + /** + *A list of IDs to use to bind data to a component. Use this property to bind specifically + * chosen data, rather than data retrieved from a query.
+ */ + identifiers?: string[]; +} + +export namespace ComponentDataConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentDataConfiguration): any => ({ + ...obj, + }); +} + +/** + *Describes the configuration for all of a component's properties. Use
+ * ComponentProperty
to specify the values to render or bind by
+ * default.
The value to assign to the component property.
+ */ + value?: string; + + /** + *The information to bind the component property to data at runtime.
+ */ + bindingProperties?: ComponentPropertyBindingProperties; + + /** + *The information to bind the component property to data at runtime. Use this for collection components.
+ */ + collectionBindingProperties?: ComponentPropertyBindingProperties; + + /** + *The default value to assign to the component property.
+ */ + defaultValue?: string; + + /** + *The data model to use to assign a value to the component property.
+ */ + model?: string; + + /** + *The information to bind the component property to form data.
+ */ + bindings?: { [key: string]: FormBindingElement }; + + /** + *An event that occurs in your app. Use this for workflow data binding.
+ */ + event?: string; + + /** + *An authenticated user attribute to use to assign a value to the component property.
+ */ + userAttribute?: string; + + /** + *A list of component properties to concatenate to create the value to assign to this component property.
+ */ + concat?: ComponentProperty[]; + + /** + *The conditional expression to use to assign a value to the component property..
+ */ + condition?: ComponentConditionProperty; + + /** + *Specifies whether the user configured the property in Amplify Studio after importing it.
+ */ + configured?: boolean; + + /** + *The component type.
+ */ + type?: string; + + /** + *The default value assigned to property when the component is imported into an app.
+ */ + importedValue?: string; +} + +export namespace ComponentProperty { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentProperty): any => ({ + ...obj, + }); +} + +/** + *Represents the data binding configuration for a component at runtime. You can use
+ * ComponentBindingPropertiesValue
to add exposed properties to a component to
+ * allow different values to be entered when a component is reused in different places in an
+ * app.
The property type.
+ */ + type?: string; + + /** + *Describes the properties to customize with data at runtime.
+ */ + bindingProperties?: ComponentBindingPropertiesValueProperties; + + /** + *The default value of the property.
+ */ + defaultValue?: string; +} + +export namespace ComponentBindingPropertiesValue { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentBindingPropertiesValue): any => ({ + ...obj, + }); +} + +/** + *Represents all of the information that is required to create a theme.
+ */ +export interface CreateThemeData { + /** + *The name of the theme.
+ */ + name: string | undefined; + + /** + *A list of key-value pairs that defines the properties of the theme.
+ */ + values: ThemeValues[] | undefined; + + /** + *Describes the properties that can be overriden to customize an instance of the + * theme.
+ */ + overrides?: ThemeValues[]; + + /** + *One or more key-value pairs to use when tagging the theme data.
+ */ + tags?: { [key: string]: string }; +} + +export namespace CreateThemeData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateThemeData): any => ({ + ...obj, + }); +} + +/** + *A theme is a collection of style settings that apply globally to the components associated + * with an Amplify application.
+ */ +export interface Theme { + /** + *The unique ID for the Amplify app associated with the theme.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The ID for the theme.
+ */ + id: string | undefined; + + /** + *The name of the theme.
+ */ + name: string | undefined; + + /** + *The time that the theme was created.
+ */ + createdAt: Date | undefined; + + /** + *The time that the theme was modified.
+ */ + modifiedAt?: Date; + + /** + *A list of key-value pairs that defines the properties of the theme.
+ */ + values: ThemeValues[] | undefined; + + /** + *Describes the properties that can be overriden to customize a theme.
+ */ + overrides?: ThemeValues[]; + + /** + *One or more key-value pairs to use when tagging the theme.
+ */ + tags?: { [key: string]: string }; +} + +export namespace Theme { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Theme): any => ({ + ...obj, + }); +} + +/** + *Saves the data binding information for a theme.
+ */ +export interface UpdateThemeData { + /** + *The unique ID of the theme to update.
+ */ + id?: string; + + /** + *The name of the theme to update.
+ */ + name?: string; + + /** + *A list of key-value pairs that define the theme's properties.
+ */ + values: ThemeValues[] | undefined; + + /** + *Describes the properties that can be overriden to customize the theme.
+ */ + overrides?: ThemeValues[]; +} + +export namespace UpdateThemeData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateThemeData): any => ({ + ...obj, + }); +} + +/** + *Represents a conditional expression to set a component property. Use
+ * ComponentConditionProperty
to set a property to different values conditionally,
+ * based on the value of another property.
The name of the conditional property.
+ */ + property?: string; + + /** + *The name of a field. Specify this when the property is a data model.
+ */ + field?: string; + + /** + *The operator to use to perform the evaluation, such as eq
to represent
+ * equals.
The value of the property to evaluate.
+ */ + operand?: string; + + /** + *The value to assign to the property if the condition is met.
+ */ + then?: ComponentProperty; + + /** + *The value to assign to the property if the condition is not met.
+ */ + else?: ComponentProperty; +} + +export namespace ComponentConditionProperty { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ComponentConditionProperty): any => ({ + ...obj, + }); +} + +export interface CreateThemeRequest { + /** + *The unique ID of the Amplify app associated with the theme.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique client token.
+ */ + clientToken?: string; + + /** + *Represents the configuration of the theme to create.
+ */ + themeToCreate: CreateThemeData | undefined; +} + +export namespace CreateThemeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateThemeRequest): any => ({ + ...obj, + }); +} + +export interface CreateThemeResponse { + /** + *Describes the configuration of the new theme.
+ */ + entity?: Theme; +} + +export namespace CreateThemeResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateThemeResponse): any => ({ + ...obj, + }); +} + +export interface GetThemeResponse { + /** + *Represents the configuration settings for the theme.
+ */ + theme?: Theme; +} + +export namespace GetThemeResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetThemeResponse): any => ({ + ...obj, + }); +} + +export interface UpdateThemeRequest { + /** + *The unique ID for the Amplify app.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID for the theme.
+ */ + id: string | undefined; + + /** + *The unique client token.
+ */ + clientToken?: string; + + /** + *The configuration of the updated theme.
+ */ + updatedTheme: UpdateThemeData | undefined; +} + +export namespace UpdateThemeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateThemeRequest): any => ({ + ...obj, + }); +} + +export interface UpdateThemeResponse { + /** + *Describes the configuration of the updated theme.
+ */ + entity?: Theme; +} + +export namespace UpdateThemeResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateThemeResponse): any => ({ + ...obj, + }); +} + +export interface ExportThemesResponse { + /** + *Represents the configuration of the exported themes.
+ */ + entities: Theme[] | undefined; +} + +export namespace ExportThemesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExportThemesResponse): any => ({ + ...obj, + }); +} + +/** + *A nested UI configuration within a parent Component
.
The type of the child component.
+ */ + componentType: string | undefined; + + /** + *The name of the child component.
+ */ + name: string | undefined; + + /** + *Describes the properties of the child component.
+ */ + properties: { [key: string]: ComponentProperty } | undefined; + + /** + *The list of ComponentChild
instances for this component.
Contains the configuration settings for a user interface (UI) element for an Amplify app. A
+ * component is configured as a primary, stand-alone UI element. Use ComponentChild
+ * to configure an instance of a Component
. A ComponentChild
instance
+ * inherits the configuration of the main Component
.
The unique ID of the Amplify app associated with the component.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID of the component in its original source system, such as Figma.
+ */ + sourceId?: string; + + /** + *The unique ID of the component.
+ */ + id: string | undefined; + + /** + *The name of the component.
+ */ + name: string | undefined; + + /** + *The type of the component. This can be an Amplify custom UI component or another custom + * component.
+ */ + componentType: string | undefined; + + /** + *Describes the component's properties.
+ */ + properties: { [key: string]: ComponentProperty } | undefined; + + /** + *A list of the component's ComponentChild
instances.
A list of the component's variants. A variant is a unique style configuration of a + * main component.
+ */ + variants: ComponentVariant[] | undefined; + + /** + *Describes the component's properties that can be overriden in a customized instance of the + * component.
+ */ + overrides: { [key: string]: { [key: string]: string } } | undefined; + + /** + *The information to connect a component's properties to data at runtime.
+ */ + bindingProperties: { [key: string]: ComponentBindingPropertiesValue } | undefined; + + /** + *The data binding configuration for the component's properties. Use this for a collection component.
+ */ + collectionProperties?: { [key: string]: ComponentDataConfiguration }; + + /** + *The time that the component was created.
+ */ + createdAt: Date | undefined; + + /** + *The time that the component was modified.
+ */ + modifiedAt?: Date; + + /** + *One or more key-value pairs to use when tagging the component.
+ */ + tags?: { [key: string]: string }; +} + +export namespace Component { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Component): any => ({ + ...obj, + }); +} + +/** + *Represents all of the information that is required to create a component.
+ */ +export interface CreateComponentData { + /** + *The name of the component
+ */ + name: string | undefined; + + /** + *The unique ID of the component in its original source system, such as Figma.
+ */ + sourceId?: string; + + /** + *The component type. This can be an Amplify custom UI component or another custom + * component.
+ */ + componentType: string | undefined; + + /** + *Describes the component's properties.
+ */ + properties: { [key: string]: ComponentProperty } | undefined; + + /** + *A list of child components that are instances of the main component.
+ */ + children?: ComponentChild[]; + + /** + *A list of the unique variants of this component.
+ */ + variants: ComponentVariant[] | undefined; + + /** + *Describes the component properties that can be overriden to customize an instance of the + * component.
+ */ + overrides: { [key: string]: { [key: string]: string } } | undefined; + + /** + *The data binding information for the component's properties.
+ */ + bindingProperties: { [key: string]: ComponentBindingPropertiesValue } | undefined; + + /** + *The data binding configuration for customizing a component's properties. Use this for a collection component.
+ */ + collectionProperties?: { [key: string]: ComponentDataConfiguration }; + + /** + *One or more key-value pairs to use when tagging the component data.
+ */ + tags?: { [key: string]: string }; +} + +export namespace CreateComponentData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateComponentData): any => ({ + ...obj, + }); +} + +/** + *Updates and saves all of the information about a component, based on component ID.
+ */ +export interface UpdateComponentData { + /** + *The unique ID of the component to update.
+ */ + id?: string; + + /** + *The name of the component to update.
+ */ + name?: string; + + /** + *The unique ID of the component in its original source system, such as Figma.
+ */ + sourceId?: string; + + /** + *The type of the component. This can be an Amplify custom UI component or another custom + * component.
+ */ + componentType?: string; + + /** + *Describes the component's properties.
+ */ + properties?: { [key: string]: ComponentProperty }; + + /** + *The components that are instances of the main component.
+ */ + children?: ComponentChild[]; + + /** + *A list of the unique variants of the main component being updated.
+ */ + variants?: ComponentVariant[]; + + /** + *Describes the properties that can be overriden to customize the component.
+ */ + overrides?: { [key: string]: { [key: string]: string } }; + + /** + *The data binding information for the component's properties.
+ */ + bindingProperties?: { [key: string]: ComponentBindingPropertiesValue }; + + /** + *The configuration for binding a component's properties to a data model. Use this for a collection component.
+ */ + collectionProperties?: { [key: string]: ComponentDataConfiguration }; +} + +export namespace UpdateComponentData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateComponentData): any => ({ + ...obj, + }); +} + +export interface CreateComponentRequest { + /** + *The unique ID of the Amplify app to associate with the component.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is a part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique client token.
+ */ + clientToken?: string; + + /** + *Represents the configuration of the component to create.
+ */ + componentToCreate: CreateComponentData | undefined; +} + +export namespace CreateComponentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateComponentRequest): any => ({ + ...obj, + }); +} + +export interface CreateComponentResponse { + /** + *Describes the configuration of the new component.
+ */ + entity?: Component; +} + +export namespace CreateComponentResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateComponentResponse): any => ({ + ...obj, + }); +} + +export interface GetComponentResponse { + /** + *Represents the configuration settings for the component.
+ */ + component?: Component; +} + +export namespace GetComponentResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetComponentResponse): any => ({ + ...obj, + }); +} + +export interface UpdateComponentRequest { + /** + *The unique ID for the Amplify app.
+ */ + appId: string | undefined; + + /** + *The name of the backend environment that is part of the Amplify app.
+ */ + environmentName: string | undefined; + + /** + *The unique ID for the component.
+ */ + id: string | undefined; + + /** + *The unique client token.
+ */ + clientToken?: string; + + /** + *The configuration of the updated component.
+ */ + updatedComponent: UpdateComponentData | undefined; +} + +export namespace UpdateComponentRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateComponentRequest): any => ({ + ...obj, + }); +} + +export interface UpdateComponentResponse { + /** + *Describes the configuration of the updated component.
+ */ + entity?: Component; +} + +export namespace UpdateComponentResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateComponentResponse): any => ({ + ...obj, + }); +} + +export interface ExportComponentsResponse { + /** + *Represents the configuration of the exported components.
+ */ + entities: Component[] | undefined; +} + +export namespace ExportComponentsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ExportComponentsResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-amplifyuibuilder/src/pagination/Interfaces.ts b/clients/client-amplifyuibuilder/src/pagination/Interfaces.ts new file mode 100644 index 000000000000..60a6a978a1b1 --- /dev/null +++ b/clients/client-amplifyuibuilder/src/pagination/Interfaces.ts @@ -0,0 +1,8 @@ +import { PaginationConfiguration } from "@aws-sdk/types"; + +import { AmplifyUIBuilder } from "../AmplifyUIBuilder"; +import { AmplifyUIBuilderClient } from "../AmplifyUIBuilderClient"; + +export interface AmplifyUIBuilderPaginationConfiguration extends PaginationConfiguration { + client: AmplifyUIBuilder | AmplifyUIBuilderClient; +} diff --git a/clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts b/clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts new file mode 100644 index 000000000000..2703e44e2007 --- /dev/null +++ b/clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { AmplifyUIBuilder } from "../AmplifyUIBuilder"; +import { AmplifyUIBuilderClient } from "../AmplifyUIBuilderClient"; +import { + ListComponentsCommand, + ListComponentsCommandInput, + ListComponentsCommandOutput, +} from "../commands/ListComponentsCommand"; +import { AmplifyUIBuilderPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: AmplifyUIBuilderClient, + input: ListComponentsCommandInput, + ...args: any +): PromiseThe API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
+ *The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.
*/ burstLimit?: number; /** - *The API request steady-state rate limit.
+ *The API target request rate limit.
*/ rateLimit?: number; } @@ -2905,7 +2905,7 @@ export enum QuotaPeriodType { */ export interface QuotaSettings { /** - *The maximum number of requests that can be made in a given time period.
+ *The target maximum number of requests that can be made in a given time period.
*/ limit?: number; @@ -2974,7 +2974,10 @@ export namespace CreateUsagePlanRequest { } /** - *Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.
+ *Represents a usage plan used to specify who can assess associated API stages. Optionally, target request rate and quota limits can be set. + * In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. + * Consider using AWS Budgets to monitor costs + * and AWS WAF to manage API requests.
*In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.
*The request throttle limits of a usage plan.
+ *Map containing method level throttling information for API stage in a usage plan.
*/ throttle?: ThrottleSettings; /** - *The maximum number of permitted requests per a given unit time interval.
+ *The target maximum number of permitted requests per a given unit time interval.
*/ quota?: QuotaSettings; diff --git a/clients/client-apigatewaymanagementapi/src/endpoints.ts b/clients/client-apigatewaymanagementapi/src/endpoints.ts index 265b2f582655..479acf730ebc 100644 --- a/clients/client-apigatewaymanagementapi/src/endpoints.ts +++ b/clients/client-apigatewaymanagementapi/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-apigatewayv2/src/endpoints.ts b/clients/client-apigatewayv2/src/endpoints.ts index b1fd36857c96..7b16df0a6427 100644 --- a/clients/client-apigatewayv2/src/endpoints.ts +++ b/clients/client-apigatewayv2/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-app-mesh/src/endpoints.ts b/clients/client-app-mesh/src/endpoints.ts index 9ff019b55eeb..911b4ce10b4d 100644 --- a/clients/client-app-mesh/src/endpoints.ts +++ b/clients/client-app-mesh/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-appconfig/src/endpoints.ts b/clients/client-appconfig/src/endpoints.ts index 6f747c5bce87..b94c45cccd44 100644 --- a/clients/client-appconfig/src/endpoints.ts +++ b/clients/client-appconfig/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-appconfigdata/src/endpoints.ts b/clients/client-appconfigdata/src/endpoints.ts index 9cad5eba5350..9b5ab6e03ecb 100644 --- a/clients/client-appconfigdata/src/endpoints.ts +++ b/clients/client-appconfigdata/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-appflow/src/endpoints.ts b/clients/client-appflow/src/endpoints.ts index 9304b6a8933f..fe0580f66b41 100644 --- a/clients/client-appflow/src/endpoints.ts +++ b/clients/client-appflow/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-appintegrations/src/endpoints.ts b/clients/client-appintegrations/src/endpoints.ts index 20a9bbec0803..33ae06f717e0 100644 --- a/clients/client-appintegrations/src/endpoints.ts +++ b/clients/client-appintegrations/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-application-auto-scaling/src/endpoints.ts b/clients/client-application-auto-scaling/src/endpoints.ts index 3e6b3de3ed6c..e71631197aa9 100644 --- a/clients/client-application-auto-scaling/src/endpoints.ts +++ b/clients/client-application-auto-scaling/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-application-discovery-service/src/endpoints.ts b/clients/client-application-discovery-service/src/endpoints.ts index a16eafe23530..48bec2f0483c 100644 --- a/clients/client-application-discovery-service/src/endpoints.ts +++ b/clients/client-application-discovery-service/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-application-insights/src/endpoints.ts b/clients/client-application-insights/src/endpoints.ts index 12337f49796d..674286332101 100644 --- a/clients/client-application-insights/src/endpoints.ts +++ b/clients/client-application-insights/src/endpoints.ts @@ -33,6 +33,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-applicationcostprofiler/src/endpoints.ts b/clients/client-applicationcostprofiler/src/endpoints.ts index e27aeb4486c7..b68e66674d6e 100644 --- a/clients/client-applicationcostprofiler/src/endpoints.ts +++ b/clients/client-applicationcostprofiler/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-apprunner/src/endpoints.ts b/clients/client-apprunner/src/endpoints.ts index d3a8dbc4fae9..9a055bee25aa 100644 --- a/clients/client-apprunner/src/endpoints.ts +++ b/clients/client-apprunner/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-appstream/src/endpoints.ts b/clients/client-appstream/src/endpoints.ts index bc91b82eac37..3776ce1866f6 100644 --- a/clients/client-appstream/src/endpoints.ts +++ b/clients/client-appstream/src/endpoints.ts @@ -51,6 +51,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-appsync/README.md b/clients/client-appsync/README.md index e79d656010af..f9da3b2ca3b7 100644 --- a/clients/client-appsync/README.md +++ b/clients/client-appsync/README.md @@ -25,16 +25,16 @@ using your favorite package manager: The AWS SDK is modulized by clients and commands. To send a request, you only need to import the `AppSyncClient` and -the commands you need, for example `CreateApiCacheCommand`: +the commands you need, for example `AssociateApiCommand`: ```js // ES5 example -const { AppSyncClient, CreateApiCacheCommand } = require("@aws-sdk/client-appsync"); +const { AppSyncClient, AssociateApiCommand } = require("@aws-sdk/client-appsync"); ``` ```ts // ES6+ example -import { AppSyncClient, CreateApiCacheCommand } from "@aws-sdk/client-appsync"; +import { AppSyncClient, AssociateApiCommand } from "@aws-sdk/client-appsync"; ``` ### Usage @@ -53,7 +53,7 @@ const client = new AppSyncClient({ region: "REGION" }); const params = { /** input parameters */ }; -const command = new CreateApiCacheCommand(params); +const command = new AssociateApiCommand(params); ``` #### Async/await @@ -132,7 +132,7 @@ const client = new AWS.AppSync({ region: "REGION" }); // async/await. try { - const data = await client.createApiCache(params); + const data = await client.associateApi(params); // process data. } catch (error) { // error handling. @@ -140,7 +140,7 @@ try { // Promises. client - .createApiCache(params) + .associateApi(params) .then((data) => { // process data. }) @@ -149,7 +149,7 @@ client }); // callbacks. -client.createApiCache(params, (err, data) => { +client.associateApi(params, (err, data) => { // proccess err and data. }); ``` diff --git a/clients/client-appsync/src/AppSync.ts b/clients/client-appsync/src/AppSync.ts index 5c3e81c2754f..12e5dd49d899 100644 --- a/clients/client-appsync/src/AppSync.ts +++ b/clients/client-appsync/src/AppSync.ts @@ -1,6 +1,11 @@ import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; import { AppSyncClient } from "./AppSyncClient"; +import { + AssociateApiCommand, + AssociateApiCommandInput, + AssociateApiCommandOutput, +} from "./commands/AssociateApiCommand"; import { CreateApiCacheCommand, CreateApiCacheCommandInput, @@ -16,6 +21,11 @@ import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput, } from "./commands/CreateDataSourceCommand"; +import { + CreateDomainNameCommand, + CreateDomainNameCommandInput, + CreateDomainNameCommandOutput, +} from "./commands/CreateDomainNameCommand"; import { CreateFunctionCommand, CreateFunctionCommandInput, @@ -47,6 +57,11 @@ import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput, } from "./commands/DeleteDataSourceCommand"; +import { + DeleteDomainNameCommand, + DeleteDomainNameCommandInput, + DeleteDomainNameCommandOutput, +} from "./commands/DeleteDomainNameCommand"; import { DeleteFunctionCommand, DeleteFunctionCommandInput, @@ -63,17 +78,32 @@ import { DeleteResolverCommandOutput, } from "./commands/DeleteResolverCommand"; import { DeleteTypeCommand, DeleteTypeCommandInput, DeleteTypeCommandOutput } from "./commands/DeleteTypeCommand"; +import { + DisassociateApiCommand, + DisassociateApiCommandInput, + DisassociateApiCommandOutput, +} from "./commands/DisassociateApiCommand"; import { FlushApiCacheCommand, FlushApiCacheCommandInput, FlushApiCacheCommandOutput, } from "./commands/FlushApiCacheCommand"; +import { + GetApiAssociationCommand, + GetApiAssociationCommandInput, + GetApiAssociationCommandOutput, +} from "./commands/GetApiAssociationCommand"; import { GetApiCacheCommand, GetApiCacheCommandInput, GetApiCacheCommandOutput } from "./commands/GetApiCacheCommand"; import { GetDataSourceCommand, GetDataSourceCommandInput, GetDataSourceCommandOutput, } from "./commands/GetDataSourceCommand"; +import { + GetDomainNameCommand, + GetDomainNameCommandInput, + GetDomainNameCommandOutput, +} from "./commands/GetDomainNameCommand"; import { GetFunctionCommand, GetFunctionCommandInput, GetFunctionCommandOutput } from "./commands/GetFunctionCommand"; import { GetGraphqlApiCommand, @@ -98,6 +128,11 @@ import { ListDataSourcesCommandInput, ListDataSourcesCommandOutput, } from "./commands/ListDataSourcesCommand"; +import { + ListDomainNamesCommand, + ListDomainNamesCommandInput, + ListDomainNamesCommandOutput, +} from "./commands/ListDomainNamesCommand"; import { ListFunctionsCommand, ListFunctionsCommandInput, @@ -150,6 +185,11 @@ import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput, } from "./commands/UpdateDataSourceCommand"; +import { + UpdateDomainNameCommand, + UpdateDomainNameCommandInput, + UpdateDomainNameCommandOutput, +} from "./commands/UpdateDomainNameCommand"; import { UpdateFunctionCommand, UpdateFunctionCommandInput, @@ -172,6 +212,35 @@ import { UpdateTypeCommand, UpdateTypeCommandInput, UpdateTypeCommandOutput } fr * sources using GraphQL from your application. */ export class AppSync extends AppSyncClient { + /** + *Maps an endpoint to your custom domain.
+ */ + public associateApi( + args: AssociateApiCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates a cache for the GraphQL API.
*/ @@ -205,8 +274,7 @@ export class AppSync extends AppSyncClient { } /** - *Creates a unique key that you can distribute to clients who are executing your - * API.
+ *Creates a unique key that you can distribute to clients who invoke your API.
*/ public createApiKey( args: CreateApiKeyCommandInput, @@ -266,9 +334,41 @@ export class AppSync extends AppSyncClient { } } + /** + *Creates a custom DomainName
object.
Creates a Function
object.
A function is a reusable entity. Multiple functions can be used to compose the resolver + *
A function is a reusable entity. You can use multiple functions to compose the resolver * logic.
*/ public createFunction( @@ -334,7 +434,7 @@ export class AppSync extends AppSyncClient { /** *Creates a Resolver
object.
A resolver converts incoming requests into a format that a data source can understand + *
A resolver converts incoming requests into a format that a data source can understand, * and converts the data source's responses into GraphQL.
*/ public createResolver( @@ -485,6 +585,38 @@ export class AppSync extends AppSyncClient { } } + /** + *Deletes a custom DomainName
object.
Deletes a Function
.
Removes an ApiAssociation
object from a custom domain.
Flushes an ApiCache
object.
Retrieves an ApiAssociation
object.
Retrieves an ApiCache
object.
Retrieves a custom DomainName
object.
Get a Function
.
Lists multiple custom domain names.
+ */ + public listDomainNames( + args: ListDomainNamesCommandInput, + options?: __HttpHandlerOptions + ): PromiseList multiple functions.
*/ @@ -1246,7 +1506,7 @@ export class AppSync extends AppSyncClient { } /** - *Updates an API key. The key can be updated while it is not deleted.
+ *Updates an API key. You can update the key as long as it's not deleted.
*/ public updateApiKey( args: UpdateApiKeyCommandInput, @@ -1306,6 +1566,38 @@ export class AppSync extends AppSyncClient { } } + /** + *Updates a custom DomainName
object.
Updates a Function
object.
Maps an endpoint to your custom domain.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppSyncClient, AssociateApiCommand } from "@aws-sdk/client-appsync"; // ES Modules import + * // const { AppSyncClient, AssociateApiCommand } = require("@aws-sdk/client-appsync"); // CommonJS import + * const client = new AppSyncClient(config); + * const command = new AssociateApiCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link AssociateApiCommandInput} for command's `input` shape. + * @see {@link AssociateApiCommandOutput} for command's `response` shape. + * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape. + * + */ +export class AssociateApiCommand extends $Command< + AssociateApiCommandInput, + AssociateApiCommandOutput, + AppSyncClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: AssociateApiCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackCreates a unique key that you can distribute to clients who are executing your - * API.
+ *Creates a unique key that you can distribute to clients who invoke your API.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appsync/src/commands/CreateDomainNameCommand.ts b/clients/client-appsync/src/commands/CreateDomainNameCommand.ts new file mode 100644 index 000000000000..82cf25451267 --- /dev/null +++ b/clients/client-appsync/src/commands/CreateDomainNameCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient"; +import { CreateDomainNameRequest, CreateDomainNameResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateDomainNameCommand, + serializeAws_restJson1CreateDomainNameCommand, +} from "../protocols/Aws_restJson1"; + +export interface CreateDomainNameCommandInput extends CreateDomainNameRequest {} +export interface CreateDomainNameCommandOutput extends CreateDomainNameResponse, __MetadataBearer {} + +/** + *Creates a custom DomainName
object.
Creates a Function
object.
A function is a reusable entity. Multiple functions can be used to compose the resolver + *
A function is a reusable entity. You can use multiple functions to compose the resolver * logic.
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-appsync/src/commands/CreateResolverCommand.ts b/clients/client-appsync/src/commands/CreateResolverCommand.ts index e1cb2b3ba0e3..730dc65f5402 100644 --- a/clients/client-appsync/src/commands/CreateResolverCommand.ts +++ b/clients/client-appsync/src/commands/CreateResolverCommand.ts @@ -23,7 +23,7 @@ export interface CreateResolverCommandOutput extends CreateResolverResponse, __M /** *Creates a Resolver
object.
A resolver converts incoming requests into a format that a data source can understand + *
A resolver converts incoming requests into a format that a data source can understand, * and converts the data source's responses into GraphQL.
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-appsync/src/commands/DeleteDomainNameCommand.ts b/clients/client-appsync/src/commands/DeleteDomainNameCommand.ts new file mode 100644 index 000000000000..277a474399f2 --- /dev/null +++ b/clients/client-appsync/src/commands/DeleteDomainNameCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient"; +import { DeleteDomainNameRequest, DeleteDomainNameResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteDomainNameCommand, + serializeAws_restJson1DeleteDomainNameCommand, +} from "../protocols/Aws_restJson1"; + +export interface DeleteDomainNameCommandInput extends DeleteDomainNameRequest {} +export interface DeleteDomainNameCommandOutput extends DeleteDomainNameResponse, __MetadataBearer {} + +/** + *Deletes a custom DomainName
object.
Removes an ApiAssociation
object from a custom domain.
Retrieves an ApiAssociation
object.
Retrieves a custom DomainName
object.
Lists multiple custom domain names.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AppSyncClient, ListDomainNamesCommand } from "@aws-sdk/client-appsync"; // ES Modules import + * // const { AppSyncClient, ListDomainNamesCommand } = require("@aws-sdk/client-appsync"); // CommonJS import + * const client = new AppSyncClient(config); + * const command = new ListDomainNamesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListDomainNamesCommandInput} for command's `input` shape. + * @see {@link ListDomainNamesCommandOutput} for command's `response` shape. + * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape. + * + */ +export class ListDomainNamesCommand extends $Command< + ListDomainNamesCommandInput, + ListDomainNamesCommandOutput, + AppSyncClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListDomainNamesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackUpdates an API key. The key can be updated while it is not deleted.
+ *Updates an API key. You can update the key as long as it's not deleted.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-appsync/src/commands/UpdateDomainNameCommand.ts b/clients/client-appsync/src/commands/UpdateDomainNameCommand.ts new file mode 100644 index 000000000000..0ccab8b1dfda --- /dev/null +++ b/clients/client-appsync/src/commands/UpdateDomainNameCommand.ts @@ -0,0 +1,95 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient"; +import { UpdateDomainNameRequest, UpdateDomainNameResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateDomainNameCommand, + serializeAws_restJson1UpdateDomainNameCommand, +} from "../protocols/Aws_restJson1"; + +export interface UpdateDomainNameCommandInput extends UpdateDomainNameRequest {} +export interface UpdateDomainNameCommandOutput extends UpdateDomainNameResponse, __MetadataBearer {} + +/** + *Updates a custom DomainName
object.
You do not have access to perform this operation on this resource.
+ *You don't have access to perform this operation on this resource.
*/ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -27,25 +27,28 @@ export enum AuthenticationType { } /** - *A LambdaAuthorizerConfig
holds configuration on how to authorize AppSync
- * API access when using the AWS_LAMBDA
authorizer mode. Be aware that an AppSync
- * API may have only one Lambda authorizer configured at a time.
A LambdaAuthorizerConfig
specifies how to authorize AppSync
+ * API access when using the AWS_LAMBDA
authorizer mode. Be aware that an AppSync API can have only one Lambda authorizer configured at a
+ * time.
The number of seconds a response should be cached for. The default is 5 minutes (300
- * seconds). The Lambda function can override this by returning a ttlOverride
key
- * in its response. A value of 0 disables caching of responses.
ttlOverride
key in its response. A value of 0 disables caching of
+ * responses.
*/
authorizerResultTtlInSeconds?: number;
/**
- * The ARN of the Lambda function to be called for authorization. This may be a standard
- * Lambda ARN, a version ARN (.../v3
) or alias ARN.
The Amazon Resource Name (ARN) of the Lambda function to be called for
+ * authorization. This can be a standard Lambda ARN, a version ARN
+ * (.../v3
), or an alias ARN.
- * Note: This Lambda function must have the following resource-based - * policy assigned to it. When configuring Lambda authorizers in the Console, this is done for - * you. To do so with the Amazon Web Services CLI, run the following:
+ * Note: This Lambda function must have the + * following resource-based policy assigned to it. When configuring Lambda + * authorizers in the console, this is done for you. To use the Command Line Interface + * (CLI), run the following: *
* Describes an OpenID Connect configuration. Describes an OpenID Connect (OIDC) configuration. The issuer for the OpenID Connect configuration. The issuer returned by discovery must
- * exactly match the value of The issuer for the OIDC configuration. The issuer returned by discovery must exactly
+ * match the value of The client identifier of the Relying party at the OpenID identity provider. This
- * identifier is typically obtained when the Relying party is registered with the OpenID
- * identity provider. You can specify a regular expression so the AppSync can
+ * The client identifier of the relying party at the OpenID identity provider. This
+ * identifier is typically obtained when the relying party is registered with the OpenID
+ * identity provider. You can specify a regular expression so that AppSync can
* validate against multiple client identifiers at a time. The number of milliseconds a token is valid after being issued to a user. The number of milliseconds that a token is valid after it's issued to a user. The number of milliseconds a token is valid after being authenticated. The number of milliseconds that a token is valid after being authenticated. The authentication type: API key, Identity and Access Management, OIDC, Amazon Cognito user
- * pools, or Amazon Web Services Lambda. The authentication type: API key, Identity and Access Management (IAM), OpenID
+ * Connect (OIDC), Amazon Cognito user pools, or Lambda. The OpenID Connect configuration. The OIDC configuration. Configuration for Amazon Web Services Lambda function authorization. Configuration for Lambda function authorization. Describes an The domain name. The API ID. Identifies the status of an association.
+ * PROCESSING: The API association is being
+ * created. You cannot modify association requests during processing.
+ * SUCCESS: The API association was successful.
+ * You can modify associations after success.
+ * FAILED: The API association has failed. You
+ * can modify associations after failure. Details about the last deployment status. TTL in seconds for cache entries. Valid values are between 1 and 3600 seconds. Valid values are 1–3,600 seconds. Transit encryption flag when connecting to cache. This setting cannot be updated after
+ * Transit encryption flag when connecting to cache. You cannot update this setting after
* creation. At rest encryption flag for cache. This setting cannot be updated after creation. At-rest encryption flag for cache. You cannot update this setting after creation. Customers invoke AppSync GraphQL API operations with API keys as an
* identity mechanism. There are two key versions:
- * da1: This version was introduced at launch in November
- * 2017. These keys always expire after 7 days. Key expiration is managed by Amazon DynamoDB
- * TTL. The keys ceased to be valid after February 21, 2018 and should not be used after that
- * date.aws lambda add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id "appsync"
@@ -71,30 +74,30 @@ export namespace LambdaAuthorizerConfig {
}
/**
- *
iss
in the ID token.iss
in the ID token.ApiAssociation
object.
+ *
+ */
+ associationStatus?: AssociationStatus | string;
+
+ /**
+ *
@@ -390,15 +450,15 @@ export namespace ApiCache {
* DeleteApiKey
deletes the item from the table.
Expiration is stored in Amazon DynamoDB as milliseconds. This results in a bug - * where keys are not automatically deleted because DynamoDB expects the TTL to be - * stored in seconds. As a one-time action, we will delete these keys from the table - * after February 21, 2018.
+ *Expiration is stored in DynamoDB as milliseconds. This results in a + * bug where keys are not automatically deleted because DynamoDB expects the + * TTL to be stored in seconds. As a one-time action, we deleted these keys from the + * table on February 21, 2018.
*- * da2: This version was introduced in February 2018 when - * AppSync added support to extend key expiration.
+ * da2: We introduced this version in February 2018 when + * AppSync added support to extend key expiration. *@@ -414,21 +474,21 @@ export namespace ApiCache { *
* UpdateApiKey
returns the expiration time and and deletion time in
* seconds and accepts a user-provided expiration time in seconds. Expired API keys are
- * kept for 60 days after the expiration time. Key expiration time can be updated while
- * the key is not deleted.
* DeleteApiKey
deletes the item from the table.
Expiration is stored in Amazon DynamoDB as seconds. After the expiration time, - * using the key to authenticate will fail. But the key can be reinstated before - * deletion.
+ *Expiration is stored in DynamoDB as seconds. After the expiration + * time, using the key to authenticate will fail. However, you can reinstate the key + * before deletion.
*Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted after - * deletion time.
+ *Deletion is stored in DynamoDB as seconds. The key is deleted after + * deletion time.
*The domain name.
+ */ + domainName: string | undefined; + + /** + *The API ID.
+ */ + apiId: string | undefined; +} + +export namespace AssociateApiRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssociateApiRequest): any => ({ + ...obj, + }); +} + +export interface AssociateApiResponse { + /** + *The ApiAssociation
object.
The request is not well formed. For example, a value is invalid or a required field is + * missing. Check the field values, and then try again.
+ */ +export interface BadRequestException extends __SmithyException, $MetadataBearer { + name: "BadRequestException"; + $fault: "client"; + message?: string; +} + +export namespace BadRequestException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BadRequestException): any => ({ + ...obj, + }); +} + +/** + *An internal AppSync error occurred. Try your request again.
+ */ +export interface InternalFailureException extends __SmithyException, $MetadataBearer { + name: "InternalFailureException"; + $fault: "server"; + message?: string; +} + +export namespace InternalFailureException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InternalFailureException): any => ({ + ...obj, + }); +} + +/** + *The resource specified in the request was not found. Check the resource, and then try + * again.
+ */ +export interface NotFoundException extends __SmithyException, $MetadataBearer { + name: "NotFoundException"; + $fault: "client"; + message?: string; +} + +export namespace NotFoundException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NotFoundException): any => ({ + ...obj, + }); +} + export enum AuthorizationType { AWS_IAM = "AWS_IAM", } /** - *The Identity and Access Management configuration.
+ *The Identity and Access Management (IAM) configuration.
*/ export interface AwsIamConfig { /** - *The signing region for Identity and Access Management authorization.
+ *The signing Amazon Web Services Region for IAM authorization.
*/ signingRegion?: string; /** - *The signing service name for Identity and Access Management authorization.
+ *The signing service name for IAM authorization.
*/ signingServiceName?: string; } @@ -549,23 +702,23 @@ export namespace AwsIamConfig { } /** - *The authorization config in case the HTTP endpoint requires authorization.
+ *The authorization configuration in case the HTTP endpoint requires authorization.
*/ export interface AuthorizationConfig { /** - *The authorization type required by the HTTP endpoint.
+ *The authorization type that the HTTP endpoint requires.
*- * AWS_IAM: The authorization type is - * Sigv4.
+ * AWS_IAM: The authorization type is Signature + * Version 4 (SigV4). *The Identity and Access Management settings.
+ *The Identity and Access Management (IAM) settings.
*/ awsIamConfig?: AwsIamConfig; } @@ -579,28 +732,9 @@ export namespace AuthorizationConfig { }); } -/** - *The request is not well formed. For example, a value is invalid or a required field is - * missing. Check the field values, and then try again.
- */ -export interface BadRequestException extends __SmithyException, $MetadataBearer { - name: "BadRequestException"; - $fault: "client"; - message?: string; -} - -export namespace BadRequestException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: BadRequestException): any => ({ - ...obj, - }); -} - /** *Another modification is in progress at this time and it must complete before you can - * make your change.
+ * make your change. */ export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer { name: "ConcurrentModificationException"; @@ -622,24 +756,24 @@ export namespace ConcurrentModificationException { */ export interface CreateApiCacheRequest { /** - *The GraphQL API Id.
+ *The GraphQL API ID.
*/ apiId: string | undefined; /** *TTL in seconds for cache entries.
- *Valid values are between 1 and 3600 seconds.
+ *Valid values are 1–3,600 seconds.
*/ ttl: number | undefined; /** - *Transit encryption flag when connecting to cache. This setting cannot be updated after + *
Transit encryption flag when connecting to cache. You cannot update this setting after * creation.
*/ transitEncryptionEnabled?: boolean; /** - *At rest encryption flag for cache. This setting cannot be updated after creation.
+ *At-rest encryption flag for cache. You cannot update this setting after creation.
*/ atRestEncryptionEnabled?: boolean; @@ -768,44 +902,7 @@ export namespace CreateApiCacheResponse { } /** - *An internal AppSync error occurred. Try your request again.
- */ -export interface InternalFailureException extends __SmithyException, $MetadataBearer { - name: "InternalFailureException"; - $fault: "server"; - message?: string; -} - -export namespace InternalFailureException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InternalFailureException): any => ({ - ...obj, - }); -} - -/** - *The resource specified in the request was not found. Check the resource, and then try - * again.
- */ -export interface NotFoundException extends __SmithyException, $MetadataBearer { - name: "NotFoundException"; - $fault: "client"; - message?: string; -} - -export namespace NotFoundException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: NotFoundException): any => ({ - ...obj, - }); -} - -/** - *You are not authorized to perform this operation.
+ *You aren't authorized to perform this operation.
*/ export interface UnauthorizedException extends __SmithyException, $MetadataBearer { name: "UnauthorizedException"; @@ -834,9 +931,9 @@ export interface CreateApiKeyRequest { description?: string; /** - *The time from creation time after which the API key expires. The date is represented as - * seconds since the epoch, rounded down to the nearest hour. The default value for this - * parameter is 7 days from creation time. For more information, see .
+ *From the creation time, the time after which the API key expires. The date is + * represented as seconds since the epoch, rounded down to the nearest hour. The default value + * for this parameter is 7 days from creation time. For more information, see .
*/ expires?: number; } @@ -889,7 +986,7 @@ export namespace LimitExceededException { */ export interface DeltaSyncConfig { /** - *The number of minutes an Item is stored in the datasource.
+ *The number of minutes that an Item is stored in the data source.
*/ baseTableTTL?: number; @@ -899,7 +996,8 @@ export interface DeltaSyncConfig { deltaSyncTableName?: string; /** - *The number of minutes a Delta Sync log entry is stored in the Delta Sync table.
+ *The number of minutes that a Delta Sync log entry is stored in the Delta Sync + * table.
*/ deltaSyncTableTTL?: number; } @@ -933,7 +1031,7 @@ export interface DynamodbDataSourceConfig { useCallerCredentials?: boolean; /** - *The DeltaSyncConfig
for a versioned datasource.
The DeltaSyncConfig
for a versioned data source.
The HTTP URL endpoint. You can either specify the domain name or IP, and port - * combination, and the URL scheme must be HTTP or HTTPS. If the port is not specified, + *
The HTTP URL endpoint. You can specify either the domain name or IP, and port + * combination, and the URL scheme must be HTTP or HTTPS. If you don't specify the port, * AppSync uses the default port 80 for the HTTP endpoint and port 443 for * HTTPS endpoints.
*/ endpoint?: string; /** - *The authorization config in case the HTTP endpoint requires authorization.
+ *The authorization configuration in case the HTTP endpoint requires authorization.
*/ authorizationConfig?: AuthorizationConfig; } @@ -1007,11 +1105,11 @@ export namespace HttpDataSourceConfig { } /** - *Describes an Amazon Web Services Lambda data source configuration.
+ *Describes an Lambda data source configuration.
*/ export interface LambdaDataSourceConfig { /** - *The ARN for the Lambda function.
+ *The Amazon Resource Name (ARN) for the Lambda function.
*/ lambdaFunctionArn: string | undefined; } @@ -1050,16 +1148,16 @@ export namespace OpenSearchServiceDataSourceConfig { } /** - *The Amazon RDS HTTP endpoint configuration.
+ *The Amazon Relational Database Service (Amazon RDS) HTTP endpoint configuration.
*/ export interface RdsHttpEndpointConfig { /** - *Amazon Web Services Region for RDS HTTP endpoint.
+ *Amazon Web Services Region for Amazon RDS HTTP endpoint.
*/ awsRegion?: string; /** - *Amazon RDS cluster ARN.
+ *Amazon RDS cluster Amazon Resource Name (ARN).
*/ dbClusterIdentifier?: string; @@ -1074,7 +1172,8 @@ export interface RdsHttpEndpointConfig { schema?: string; /** - *Amazon Web Services secret store ARN for database credentials.
+ *Amazon Web Services secret store Amazon Resource Name (ARN) for database + * credentials.
*/ awsSecretStoreArn?: string; } @@ -1102,7 +1201,8 @@ export interface RelationalDatabaseDataSourceConfig { ** RDS_HTTP_ENDPOINT: The relational database - * source type is an Amazon RDS HTTP endpoint.
+ * source type is an Amazon Relational Database Service (Amazon RDS) HTTP + * endpoint. *The Identity and Access Management service role ARN for the data source. The system assumes this - * role when accessing the data source.
+ *The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) + * for the data source. The system assumes this role when accessing the data source.
*/ serviceRoleArn?: string; @@ -1166,7 +1266,7 @@ export interface CreateDataSourceRequest { dynamodbConfig?: DynamodbDataSourceConfig; /** - *Amazon Web Services Lambda settings.
+ *Lambda settings.
*/ lambdaConfig?: LambdaDataSourceConfig; @@ -1207,7 +1307,7 @@ export namespace CreateDataSourceRequest { */ export interface DataSource { /** - *The data source ARN.
+ *The data source Amazon Resource Name (ARN).
*/ dataSourceArn?: string; @@ -1226,12 +1326,11 @@ export interface DataSource { *- * AWS_LAMBDA: The data source is an Amazon Web Services Lambda function.
+ * AWS_LAMBDA: The data source is an Lambda function. *- * AMAZON_DYNAMODB: The data source is an Amazon - * DynamoDB table.
+ * AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table. *@@ -1245,10 +1344,10 @@ export interface DataSource { *
- * NONE: There is no data source. This type is - * used when you wish to invoke a GraphQL operation without connecting to a data source, - * such as performing data transformation with resolvers or triggering a subscription to - * be invoked from a mutation.
+ * NONE: There is no data source. Use this type + * when you want to invoke a GraphQL operation without connecting to a data source, such + * as when you're performing data transformation with resolvers or invoking a + * subscription from a mutation. *@@ -1265,18 +1364,18 @@ export interface DataSource { type?: DataSourceType | string; /** - *
The Identity and Access Management service role ARN for the data source. The system assumes this - * role when accessing the data source.
+ *The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) + * for the data source. The system assumes this role when accessing the data source.
*/ serviceRoleArn?: string; /** - *Amazon DynamoDB settings.
+ *DynamoDB settings.
*/ dynamodbConfig?: DynamodbDataSourceConfig; /** - *Amazon Web Services Lambda settings.
+ *Lambda settings.
*/ lambdaConfig?: LambdaDataSourceConfig; @@ -1326,6 +1425,91 @@ export namespace CreateDataSourceResponse { }); } +export interface CreateDomainNameRequest { + /** + *The domain name.
+ */ + domainName: string | undefined; + + /** + *The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager + * (ACM) certificate or an Identity and Access Management (IAM) + * server certificate.
+ */ + certificateArn: string | undefined; + + /** + *A description of the DomainName
.
Describes a configuration for a custom domain.
+ */ +export interface DomainNameConfig { + /** + *The domain name.
+ */ + domainName?: string; + + /** + *A description of the DomainName
configuration.
The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager + * (ACM) certificate or an Identity and Access Management (IAM) + * server certificate.
+ */ + certificateArn?: string; + + /** + *The domain name that AppSync provides.
+ */ + appsyncDomainName?: string; + + /** + *The ID of your Amazon Route 53 hosted zone.
+ */ + hostedZoneId?: string; +} + +export namespace DomainNameConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainNameConfig): any => ({ + ...obj, + }); +} + +export interface CreateDomainNameResponse { + /** + *The configuration for the DomainName
.
The LambdaConflictHandlerConfig
object when configuring LAMBDA as the
- * Conflict Handler.
The LambdaConflictHandlerConfig
object when configuring LAMBDA
+ * as the Conflict Handler.
The Arn for the Lambda function to use as the Conflict Handler.
+ *The Amazon Resource Name (ARN) for the Lambda function to use as the + * Conflict Handler.
*/ lambdaConflictHandlerArn?: string; } @@ -1360,8 +1545,8 @@ export namespace LambdaConflictHandlerConfig { /** *Describes a Sync configuration for a resolver.
- *Contains information on which Conflict Detection as well as Resolution strategy should - * be performed when the resolver is invoked.
+ *Specifies which Conflict Detection strategy and Resolution strategy to use when the + * resolver is invoked.
*/ export interface SyncConfig { /** @@ -1370,7 +1555,7 @@ export interface SyncConfig { ** OPTIMISTIC_CONCURRENCY: Resolve conflicts by - * rejecting mutations when versions do not match the latest version at the + * rejecting mutations when versions don't match the latest version at the * server.
*- * LAMBDA: Resolve conflicts with a Lambda - * function supplied in the LambdaConflictHandlerConfig.
+ * LAMBDA: Resolve conflicts with an Lambda function supplied in the + *LambdaConflictHandlerConfig
.
* - * NONE: Do not detect conflicts when executing + * NONE: Do not detect conflicts when invoking * this resolver.
*The LambdaConflictHandlerConfig
when configuring LAMBDA as the Conflict
- * Handler.
The LambdaConflictHandlerConfig
when configuring LAMBDA
as the
+ * Conflict Handler.
The Function
response mapping template.
The Function
response mapping template.
The version
of the request mapping template. Currently the supported value
- * is 2018-05-29.
The version
of the request mapping template. Currently, the supported value
+ * is 2018-05-29.
Describes a Sync configuration for a resolver.
- *Contains information on which Conflict Detection as well as Resolution strategy should - * be performed when the resolver is invoked.
+ *Specifies which Conflict Detection strategy and Resolution strategy to use when the + * resolver is invoked.
*/ syncConfig?: SyncConfig; } @@ -1477,7 +1662,7 @@ export namespace CreateFunctionRequest { } /** - *A function is a reusable entity. Multiple functions can be used to compose the resolver + *
A function is a reusable entity. You can use multiple functions to compose the resolver * logic.
*/ export interface FunctionConfiguration { @@ -1487,7 +1672,7 @@ export interface FunctionConfiguration { functionId?: string; /** - *The ARN of the Function
object.
The Amazon Resource Name (ARN) of the Function
object.
The version of the request mapping template. Currently only the 2018-05-29 version of + *
The version of the request mapping template. Currently, only the 2018-05-29 version of * the template is supported.
*/ functionVersion?: string; /** *Describes a Sync configuration for a resolver.
- *Contains information on which Conflict Detection as well as Resolution strategy should - * be performed when the resolver is invoked.
+ *Specifies which Conflict Detection strategy and Resolution strategy to use when the + * resolver is invoked.
*/ syncConfig?: SyncConfig; } @@ -1563,11 +1748,11 @@ export enum FieldLogLevel { } /** - *The CloudWatch Logs configuration.
+ *The Amazon CloudWatch Logs configuration.
*/ export interface LogConfig { /** - *The field logging level. Values can be NONE, ERROR, or ALL.
+ *The field logging level. Values can be NONE, ERROR, or ALL.
*@@ -1610,8 +1795,8 @@ export interface LogConfig { fieldLogLevel: FieldLogLevel | string | undefined; /** - *
The service role that AppSync will assume to publish to Amazon - * CloudWatch logs in your account.
+ *The service role that AppSync assumes to publish to CloudWatch + * logs in your account.
*/ cloudWatchLogsRoleArn: string | undefined; @@ -1651,8 +1836,7 @@ export interface UserPoolConfig { awsRegion: string | undefined; /** - *The action that you want your GraphQL API to take when a request that uses Amazon - * Cognito user pool authentication doesn't match the Amazon Cognito user pool + *
The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool * configuration.
*/ defaultAction: DefaultAction | string | undefined; @@ -1685,8 +1869,8 @@ export interface CreateGraphqlApiRequest { logConfig?: LogConfig; /** - *The authentication type: API key, Identity and Access Management, OIDC, Amazon Cognito user - * pools, or Amazon Web Services Lambda.
+ *The authentication type: API key, Identity and Access Management (IAM), OpenID + * Connect (OIDC), Amazon Cognito user pools, or Lambda.
*/ authenticationType: AuthenticationType | string | undefined; @@ -1696,7 +1880,7 @@ export interface CreateGraphqlApiRequest { userPoolConfig?: UserPoolConfig; /** - *The OpenID Connect configuration.
+ *The OIDC configuration.
*/ openIDConnectConfig?: OpenIDConnectConfig; @@ -1712,13 +1896,13 @@ export interface CreateGraphqlApiRequest { additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; /** - *A flag indicating whether to enable X-Ray tracing for the
- * GraphqlApi
.
A flag indicating whether to use X-Ray tracing for the
+ * GraphqlApi
.
Configuration for Amazon Web Services Lambda function authorization.
+ *Configuration for Lambda function authorization.
*/ lambdaAuthorizerConfig?: LambdaAuthorizerConfig; } @@ -1767,7 +1951,7 @@ export interface GraphqlApi { openIDConnectConfig?: OpenIDConnectConfig; /** - *The ARN.
+ *The Amazon Resource Name (ARN).
*/ arn?: string; @@ -1788,19 +1972,19 @@ export interface GraphqlApi { additionalAuthenticationProviders?: AdditionalAuthenticationProvider[]; /** - *A flag representing whether X-Ray tracing is enabled for this
- * GraphqlApi
.
A flag indicating whether to use X-Ray tracing for this
+ * GraphqlApi
.
The ARN of the WAF ACL associated with this GraphqlApi
,
- * if one exists.
The ARN of the WAF access control list (ACL) associated with this
+ * GraphqlApi
, if one exists.
Configuration for Amazon Web Services Lambda function authorization.
+ *Configuration for Lambda function authorization.
*/ lambdaAuthorizerConfig?: LambdaAuthorizerConfig; } @@ -1831,17 +2015,17 @@ export namespace CreateGraphqlApiResponse { } /** - *The caching configuration for a resolver that has caching enabled.
+ *The caching configuration for a resolver that has caching activated.
*/ export interface CachingConfig { /** - *The TTL in seconds for a resolver that has caching enabled.
- *Valid values are between 1 and 3600 seconds.
+ *The TTL in seconds for a resolver that has caching activated.
+ *Valid values are 1–3,600 seconds.
*/ ttl?: number; /** - *The caching keys for a resolver that has caching enabled.
+ *The caching keys for a resolver that has caching activated.
*Valid values are entries from the $context.arguments
,
* $context.source
, and $context.identity
maps.
The mapping template to be used for requests.
+ *The mapping template to use for requests.
*A resolver uses a request mapping template to convert a GraphQL expression into a format * that a data source can understand. Mapping templates are written in Apache Velocity * Template Language (VTL).
- *VTL request mapping templates are optional when using a Lambda data source. For all - * other data sources, VTL request and response mapping templates are required.
+ *VTL request mapping templates are optional when using an Lambda data + * source. For all other data sources, VTL request and response mapping templates are + * required.
*/ requestMappingTemplate?: string; /** - *The mapping template to be used for responses from the data source.
+ *The mapping template to use for responses from the data source.
*/ responseMappingTemplate?: string; @@ -1923,15 +2108,15 @@ export interface CreateResolverRequest { ** UNIT: A UNIT resolver type. A UNIT resolver is - * the default resolver type. A UNIT resolver enables you to execute a GraphQL query - * against a single data source.
+ * the default resolver type. You can use a UNIT resolver to run a GraphQL query against + * a single data source. *
- * PIPELINE: A PIPELINE resolver type. A PIPELINE
- * resolver enables you to execute a series of Function
in a serial manner.
- * You can use a pipeline resolver to execute a GraphQL query against multiple data
- * sources.
Function
objects in a
+ * serial manner. You can use a pipeline resolver to run a GraphQL query against
+ * multiple data sources.
* The SyncConfig
for a resolver attached to a versioned datasource.
The SyncConfig
for a resolver attached to a versioned data source.
The resolver ARN.
+ *The resolver Amazon Resource Name (ARN).
*/ resolverArn?: string; @@ -2002,15 +2187,15 @@ export interface Resolver { ** UNIT: A UNIT resolver type. A UNIT resolver is - * the default resolver type. A UNIT resolver enables you to execute a GraphQL query - * against a single data source.
+ * the default resolver type. You can use a UNIT resolver to run a GraphQL query against + * a single data source. *
- * PIPELINE: A PIPELINE resolver type. A PIPELINE
- * resolver enables you to execute a series of Function
in a serial manner.
- * You can use a pipeline resolver to execute a GraphQL query against multiple data
- * sources.
Function
objects in a
+ * serial manner. You can use a pipeline resolver to run a GraphQL query against
+ * multiple data sources.
* The SyncConfig
for a resolver attached to a versioned datasource.
The SyncConfig
for a resolver attached to a versioned data source.
The type ARN.
+ *The type Amazon Resource Name (ARN).
*/ arn?: string; @@ -2242,6 +2427,33 @@ export namespace DeleteDataSourceResponse { }); } +export interface DeleteDomainNameRequest { + /** + *The domain name.
+ */ + domainName: string | undefined; +} + +export namespace DeleteDomainNameRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteDomainNameRequest): any => ({ + ...obj, + }); +} + +export interface DeleteDomainNameResponse {} + +export namespace DeleteDomainNameResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteDomainNameResponse): any => ({ + ...obj, + }); +} + export interface DeleteFunctionRequest { /** *The GraphQL API ID.
@@ -2370,6 +2582,33 @@ export namespace DeleteTypeResponse { }); } +export interface DisassociateApiRequest { + /** + *The domain name.
+ */ + domainName: string | undefined; +} + +export namespace DisassociateApiRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisassociateApiRequest): any => ({ + ...obj, + }); +} + +export interface DisassociateApiResponse {} + +export namespace DisassociateApiResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DisassociateApiResponse): any => ({ + ...obj, + }); +} + /** *Represents the input of a FlushApiCache
operation.
The domain name.
+ */ + domainName: string | undefined; +} + +export namespace GetApiAssociationRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetApiAssociationRequest): any => ({ + ...obj, + }); +} + +export interface GetApiAssociationResponse { + /** + *The ApiAssociation
object.
Represents the input of a GetApiCache
operation.
The domain name.
+ */ + domainName: string | undefined; +} + +export namespace GetDomainNameRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetDomainNameRequest): any => ({ + ...obj, + }); +} + +export interface GetDomainNameResponse { + /** + *The configuration for the DomainName
.
The GraphQL API ID.
@@ -2752,13 +3055,13 @@ export interface ListApiKeysRequest { apiId: string | undefined; /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -2779,8 +3082,8 @@ export interface ListApiKeysResponse { apiKeys?: ApiKey[]; /** - *An identifier to be passed in the next request to this operation to return the next set - * of items in the list.
+ *An identifier to pass in the next request to this operation to return the next set of + * items in the list.
*/ nextToken?: string; } @@ -2801,13 +3104,13 @@ export interface ListDataSourcesRequest { apiId: string | undefined; /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -2828,8 +3131,8 @@ export interface ListDataSourcesResponse { dataSources?: DataSource[]; /** - *An identifier to be passed in the next request to this operation to return the next set - * of items in the list.
+ *An identifier to pass in the next request to this operation to return the next set of + * items in the list.
*/ nextToken?: string; } @@ -2843,6 +3146,48 @@ export namespace ListDataSourcesResponse { }); } +export interface ListDomainNamesRequest { + /** + *The API token.
+ */ + nextToken?: string; + + /** + *The maximum number of results that you want the request to return.
+ */ + maxResults?: number; +} + +export namespace ListDomainNamesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDomainNamesRequest): any => ({ + ...obj, + }); +} + +export interface ListDomainNamesResponse { + /** + *Lists configurations for multiple domain names.
+ */ + domainNameConfigs?: DomainNameConfig[]; + + /** + *The API token.
+ */ + nextToken?: string; +} + +export namespace ListDomainNamesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDomainNamesResponse): any => ({ + ...obj, + }); +} + export interface ListFunctionsRequest { /** *The GraphQL API ID.
@@ -2850,13 +3195,13 @@ export interface ListFunctionsRequest { apiId: string | undefined; /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -2877,8 +3222,8 @@ export interface ListFunctionsResponse { functions?: FunctionConfiguration[]; /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; } @@ -2894,13 +3239,13 @@ export namespace ListFunctionsResponse { export interface ListGraphqlApisRequest { /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -2921,8 +3266,8 @@ export interface ListGraphqlApisResponse { graphqlApis?: GraphqlApi[]; /** - *An identifier to be passed in the next request to this operation to return the next set - * of items in the list.
+ *An identifier to pass in the next request to this operation to return the next set of + * items in the list.
*/ nextToken?: string; } @@ -2948,13 +3293,13 @@ export interface ListResolversRequest { typeName: string | undefined; /** - *An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -2975,8 +3320,8 @@ export interface ListResolversResponse { resolvers?: Resolver[]; /** - *An identifier to be passed in the next request to this operation to return the next set - * of items in the list.
+ *An identifier to pass in the next request to this operation to return the next set of + * items in the list.
*/ nextToken?: string; } @@ -2997,7 +3342,7 @@ export interface ListResolversByFunctionRequest { apiId: string | undefined; /** - *The Function ID.
+ *The function ID.
*/ functionId: string | undefined; @@ -3008,7 +3353,7 @@ export interface ListResolversByFunctionRequest { nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -3029,7 +3374,7 @@ export interface ListResolversByFunctionResponse { resolvers?: Resolver[]; /** - *An identifier that can be used to return the next set of items in the list.
+ *An identifier that you can use to return the next set of items in the list.
*/ nextToken?: string; } @@ -3045,7 +3390,7 @@ export namespace ListResolversByFunctionResponse { export interface ListTagsForResourceRequest { /** - *The GraphqlApi
ARN.
The GraphqlApi
Amazon Resource Name (ARN).
An identifier that was returned from the previous call to this operation, which can be - * used to return the next set of items in the list.
+ *An identifier that was returned from the previous call to this operation, which you can + * use to return the next set of items in the list.
*/ nextToken?: string; /** - *The maximum number of results you want the request to return.
+ *The maximum number of results that you want the request to return.
*/ maxResults?: number; } @@ -3114,8 +3459,8 @@ export interface ListTypesResponse { types?: Type[]; /** - *An identifier to be passed in the next request to this operation to return the next set - * of items in the list.
+ *An identifier to pass in the next request to this operation to return the next set of + * items in the list.
*/ nextToken?: string; } @@ -3169,7 +3514,7 @@ export namespace StartSchemaCreationResponse { export interface TagResourceRequest { /** - *The GraphqlApi
ARN.
The GraphqlApi
Amazon Resource Name (ARN).
The GraphqlApi
ARN.
The GraphqlApi
Amazon Resource Name (ARN).
The GraphQL API Id.
+ *The GraphQL API ID.
*/ apiId: string | undefined; /** *TTL in seconds for cache entries.
- *Valid values are between 1 and 3600 seconds.
+ *Valid values are 1–3,600 seconds.
*/ ttl: number | undefined; @@ -3387,8 +3732,8 @@ export interface UpdateApiKeyRequest { description?: string; /** - *The time from update time after which the API key expires. The date is represented as - * seconds since the epoch. For more information, see .
+ *From the update time, the time after which the API key expires. The date is represented + * as seconds since the epoch. For more information, see .
*/ expires?: number; } @@ -3440,7 +3785,7 @@ export interface UpdateDataSourceRequest { type: DataSourceType | string | undefined; /** - *The new service role ARN for the data source.
+ *The new service role Amazon Resource Name (ARN) for the data source.
*/ serviceRoleArn?: string; @@ -3450,7 +3795,7 @@ export interface UpdateDataSourceRequest { dynamodbConfig?: DynamodbDataSourceConfig; /** - *The new Amazon Web Services Lambda configuration.
+ *The new Lambda configuration.
*/ lambdaConfig?: LambdaDataSourceConfig; @@ -3502,6 +3847,43 @@ export namespace UpdateDataSourceResponse { }); } +export interface UpdateDomainNameRequest { + /** + *The domain name.
+ */ + domainName: string | undefined; + + /** + *A description of the DomainName
.
The configuration for the DomainName
.
The GraphQL API ID.
@@ -3536,20 +3918,20 @@ export interface UpdateFunctionRequest { requestMappingTemplate?: string; /** - *The Function
request mapping template.
The Function
request mapping template.
The version
of the request mapping template. Currently the supported value
- * is 2018-05-29.
The version
of the request mapping template. Currently, the supported value
+ * is 2018-05-29.
Describes a Sync configuration for a resolver.
- *Contains information on which Conflict Detection as well as Resolution strategy should - * be performed when the resolver is invoked.
+ *Specifies which Conflict Detection strategy and Resolution strategy to use when the + * resolver is invoked.
*/ syncConfig?: SyncConfig; } @@ -3601,7 +3983,7 @@ export interface UpdateGraphqlApiRequest { authenticationType?: AuthenticationType | string; /** - *The new Amazon Cognito user pool configuration for the GraphqlApi
+ *
The new Amazon Cognito user pool configuration for the ~GraphqlApi
* object.
A flag indicating whether to enable X-Ray tracing for the
- * GraphqlApi
.
A flag indicating whether to use X-Ray tracing for the
+ * GraphqlApi
.
Configuration for Amazon Web Services Lambda function authorization.
+ *Configuration for Lambda function authorization.
*/ lambdaAuthorizerConfig?: LambdaAuthorizerConfig; } @@ -3680,8 +4062,9 @@ export interface UpdateResolverRequest { *A resolver uses a request mapping template to convert a GraphQL expression into a format * that a data source can understand. Mapping templates are written in Apache Velocity * Template Language (VTL).
- *VTL request mapping templates are optional when using a Lambda data source. For all - * other data sources, VTL request and response mapping templates are required.
+ *VTL request mapping templates are optional when using an Lambda data + * source. For all other data sources, VTL request and response mapping templates are + * required.
*/ requestMappingTemplate?: string; @@ -3696,15 +4079,15 @@ export interface UpdateResolverRequest { ** UNIT: A UNIT resolver type. A UNIT resolver is - * the default resolver type. A UNIT resolver enables you to execute a GraphQL query - * against a single data source.
+ * the default resolver type. You can use a UNIT resolver to run a GraphQL query against + * a single data source. *
- * PIPELINE: A PIPELINE resolver type. A PIPELINE
- * resolver enables you to execute a series of Function
in a serial manner.
- * You can use a pipeline resolver to execute a GraphQL query against multiple data
- * sources.
Function
objects in a
+ * serial manner. You can use a pipeline resolver to run a GraphQL query against
+ * multiple data sources.
* The SyncConfig
for a resolver attached to a versioned datasource.
The SyncConfig
for a resolver attached to a versioned data source.
A list of message attribute values.
+ */ +export interface MessageAttributeValue { + /** + *The strings in a message attribute value.
+ */ + StringValues?: string[]; +} + +export namespace MessageAttributeValue { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({ + ...obj, + ...(obj.StringValues && { StringValues: SENSITIVE_STRING }), + }); +} + +export enum PushNotificationType { + DEFAULT = "DEFAULT", + VOIP = "VOIP", +} + +/** + *The push notification configuration of the message.
+ */ +export interface PushNotificationConfiguration { + /** + *The title of the push notification.
+ */ + Title?: string; + + /** + *The body of the push notification.
+ */ + Body?: string; + + /** + *Enum value that indicates the type of the push notification for a message.
+ * DEFAULT
: Normal mobile push notification.
+ * VOIP
: VOIP mobile push notification.
Stores information about a callback.
*/ @@ -707,6 +765,16 @@ export interface ChannelMessageCallback { *The message metadata.
*/ Metadata?: string; + + /** + *The push notification configuration of the message.
+ */ + PushNotification?: PushNotificationConfiguration; + + /** + *The attributes for the message, used for message filtering along with a FilterRule
defined in the PushNotificationPreferences
.
A list of message attribute values.
- */ -export interface MessageAttributeValue { - /** - *The strings in a message attribute value.
- */ - StringValues?: string[]; -} - -export namespace MessageAttributeValue { - /** - * @internal - */ - export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({ - ...obj, - ...(obj.StringValues && { StringValues: SENSITIVE_STRING }), - }); -} - export enum ChannelMessagePersistenceType { NON_PERSISTENT = "NON_PERSISTENT", PERSISTENT = "PERSISTENT", @@ -2390,9 +2450,9 @@ export interface ListChannelMembershipsRequest { /** *The membership type of a user, DEFAULT
or HIDDEN
. Default
- * members are always returned as part of ListChannelMemberships
. Hidden members
+ * members are returned as part of ListChannelMemberships
if no type is specified. Hidden members
* are only returned if the type filter in ListChannelMemberships
equals
- * HIDDEN
. Otherwise hidden members are not returned.
HIDDEN
.
*/
Type?: ChannelMembershipType | string;
@@ -2975,44 +3035,6 @@ export namespace RedactChannelMessageResponse {
});
}
-export enum PushNotificationType {
- DEFAULT = "DEFAULT",
- VOIP = "VOIP",
-}
-
-/**
- * The push notification configuration of the message.
- */ -export interface PushNotificationConfiguration { - /** - *The title of the push notification.
- */ - Title: string | undefined; - - /** - *The body of the push notification.
- */ - Body: string | undefined; - - /** - *Enum value that indicates the type of the push notification for a message.
- * DEFAULT
: Normal mobile push notification.
- * VOIP
: VOIP mobile push notification.
The ARN of the channel.
diff --git a/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts b/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts index 93f7ea6aaa03..291f5c98884b 100644 --- a/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts +++ b/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts @@ -6577,8 +6577,16 @@ const serializeAws_restJson1ChannelMembershipPreferences = ( const serializeAws_restJson1ChannelMessageCallback = (input: ChannelMessageCallback, context: __SerdeContext): any => { return { ...(input.Content !== undefined && input.Content !== null && { Content: input.Content }), + ...(input.MessageAttributes !== undefined && + input.MessageAttributes !== null && { + MessageAttributes: serializeAws_restJson1MessageAttributeMap(input.MessageAttributes, context), + }), ...(input.MessageId !== undefined && input.MessageId !== null && { MessageId: input.MessageId }), ...(input.Metadata !== undefined && input.Metadata !== null && { Metadata: input.Metadata }), + ...(input.PushNotification !== undefined && + input.PushNotification !== null && { + PushNotification: serializeAws_restJson1PushNotificationConfiguration(input.PushNotification, context), + }), }; }; diff --git a/clients/client-chime/src/endpoints.ts b/clients/client-chime/src/endpoints.ts index 13d2fde15bce..6a383b7f669e 100644 --- a/clients/client-chime/src/endpoints.ts +++ b/clients/client-chime/src/endpoints.ts @@ -24,6 +24,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "aws-global", "ca-central-1", "eu-central-1", diff --git a/clients/client-cloud9/src/endpoints.ts b/clients/client-cloud9/src/endpoints.ts index 79fccd9484d9..37083cefd817 100644 --- a/clients/client-cloud9/src/endpoints.ts +++ b/clients/client-cloud9/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudcontrol/src/endpoints.ts b/clients/client-cloudcontrol/src/endpoints.ts index 5c69b9342078..6248a38729e7 100644 --- a/clients/client-cloudcontrol/src/endpoints.ts +++ b/clients/client-cloudcontrol/src/endpoints.ts @@ -99,6 +99,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-clouddirectory/src/endpoints.ts b/clients/client-clouddirectory/src/endpoints.ts index 27fcfeb622fe..179ddc4214d1 100644 --- a/clients/client-clouddirectory/src/endpoints.ts +++ b/clients/client-clouddirectory/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudformation/src/endpoints.ts b/clients/client-cloudformation/src/endpoints.ts index 87ccdcddc5f9..78018ca1b0ee 100644 --- a/clients/client-cloudformation/src/endpoints.ts +++ b/clients/client-cloudformation/src/endpoints.ts @@ -81,6 +81,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudfront/src/endpoints.ts b/clients/client-cloudfront/src/endpoints.ts index 3fc0c810e127..1c1a3a9aa21f 100644 --- a/clients/client-cloudfront/src/endpoints.ts +++ b/clients/client-cloudfront/src/endpoints.ts @@ -33,6 +33,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "aws-global", "ca-central-1", "eu-central-1", diff --git a/clients/client-cloudhsm-v2/src/endpoints.ts b/clients/client-cloudhsm-v2/src/endpoints.ts index 5e8335282c6c..e84277a7d88d 100644 --- a/clients/client-cloudhsm-v2/src/endpoints.ts +++ b/clients/client-cloudhsm-v2/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudhsm/src/endpoints.ts b/clients/client-cloudhsm/src/endpoints.ts index 3bb15adb87ac..1ebd8ee6ea75 100644 --- a/clients/client-cloudhsm/src/endpoints.ts +++ b/clients/client-cloudhsm/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudsearch-domain/src/endpoints.ts b/clients/client-cloudsearch-domain/src/endpoints.ts index 443abfab7a87..3f18711c4048 100644 --- a/clients/client-cloudsearch-domain/src/endpoints.ts +++ b/clients/client-cloudsearch-domain/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudsearch/src/endpoints.ts b/clients/client-cloudsearch/src/endpoints.ts index 05298ba35ce3..bc5df1423ad4 100644 --- a/clients/client-cloudsearch/src/endpoints.ts +++ b/clients/client-cloudsearch/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudtrail/src/endpoints.ts b/clients/client-cloudtrail/src/endpoints.ts index e41684e3bcc6..638b77fde8cc 100644 --- a/clients/client-cloudtrail/src/endpoints.ts +++ b/clients/client-cloudtrail/src/endpoints.ts @@ -81,6 +81,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudwatch-events/src/endpoints.ts b/clients/client-cloudwatch-events/src/endpoints.ts index 6e6b75d81970..f85979f649db 100644 --- a/clients/client-cloudwatch-events/src/endpoints.ts +++ b/clients/client-cloudwatch-events/src/endpoints.ts @@ -81,6 +81,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudwatch-logs/src/endpoints.ts b/clients/client-cloudwatch-logs/src/endpoints.ts index 9ba7ab1dad84..129d656be98b 100644 --- a/clients/client-cloudwatch-logs/src/endpoints.ts +++ b/clients/client-cloudwatch-logs/src/endpoints.ts @@ -81,6 +81,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cloudwatch-logs/src/models/models_0.ts b/clients/client-cloudwatch-logs/src/models/models_0.ts index 8d9ca28d9e6d..4b2b6db07a98 100644 --- a/clients/client-cloudwatch-logs/src/models/models_0.ts +++ b/clients/client-cloudwatch-logs/src/models/models_0.ts @@ -2199,6 +2199,21 @@ export interface PutDestinationPolicyRequest { * to the associated destination. This can be up to 5120 bytes. */ accessPolicy: string | undefined; + + /** + *Specify true if you are updating an existing destination policy to grant permission to
+ * an organization ID instead of granting permission to individual AWS accounts. Before
+ * you update a destination policy this way, you must first update the subscription
+ * filters in the accounts that send logs to this destination. If you do not, the subscription
+ * filters might stop working. By specifying true
+ * for forceUpdate
, you are affirming that you have already updated the subscription
+ * filters.
+ * For more information, see
+ * Updating an existing cross-account subscription
+ *
If you omit this parameter, the default of false
is used.
In the example resource policy, you would replace the value of SourceArn
with the resource making the
- * call from Route 53 to CloudWatch Logs and replace the value of SourceAccount
with
+ * call from Route 53 to CloudWatch Logs and replace the value of SourceAccount
with
* the Amazon Web Services account ID making that call.
diff --git a/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts b/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts index 80efe6a66b3b..3a9624e5391f 100644 --- a/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts +++ b/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts @@ -3176,6 +3176,14 @@ const deserializeAws_json1_1PutQueryDefinitionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "LimitExceededException": + case "com.amazonaws.cloudwatchlogs#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ResourceNotFoundException": case "com.amazonaws.cloudwatchlogs#ResourceNotFoundException": response = { @@ -4307,6 +4315,7 @@ const serializeAws_json1_1PutDestinationPolicyRequest = ( ...(input.accessPolicy !== undefined && input.accessPolicy !== null && { accessPolicy: input.accessPolicy }), ...(input.destinationName !== undefined && input.destinationName !== null && { destinationName: input.destinationName }), + ...(input.forceUpdate !== undefined && input.forceUpdate !== null && { forceUpdate: input.forceUpdate }), }; }; diff --git a/clients/client-cloudwatch/src/endpoints.ts b/clients/client-cloudwatch/src/endpoints.ts index f081937f7016..0c29e917194a 100644 --- a/clients/client-cloudwatch/src/endpoints.ts +++ b/clients/client-cloudwatch/src/endpoints.ts @@ -87,6 +87,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codeartifact/src/endpoints.ts b/clients/client-codeartifact/src/endpoints.ts index acf0ba344620..f24db8064c6f 100644 --- a/clients/client-codeartifact/src/endpoints.ts +++ b/clients/client-codeartifact/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codebuild/src/endpoints.ts b/clients/client-codebuild/src/endpoints.ts index b836396bb7d3..286dbbc30703 100644 --- a/clients/client-codebuild/src/endpoints.ts +++ b/clients/client-codebuild/src/endpoints.ts @@ -87,6 +87,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codecommit/src/endpoints.ts b/clients/client-codecommit/src/endpoints.ts index 47562436bc27..53df24c75ffb 100644 --- a/clients/client-codecommit/src/endpoints.ts +++ b/clients/client-codecommit/src/endpoints.ts @@ -99,6 +99,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "ca-central-1-fips", "eu-central-1", diff --git a/clients/client-codedeploy/src/endpoints.ts b/clients/client-codedeploy/src/endpoints.ts index a199fbc4ff96..ae57b09e90d0 100644 --- a/clients/client-codedeploy/src/endpoints.ts +++ b/clients/client-codedeploy/src/endpoints.ts @@ -87,6 +87,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codeguru-reviewer/src/endpoints.ts b/clients/client-codeguru-reviewer/src/endpoints.ts index 56dcb7086005..55511032f041 100644 --- a/clients/client-codeguru-reviewer/src/endpoints.ts +++ b/clients/client-codeguru-reviewer/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codeguruprofiler/src/endpoints.ts b/clients/client-codeguruprofiler/src/endpoints.ts index 9d6ed831d35a..efd5a0b40531 100644 --- a/clients/client-codeguruprofiler/src/endpoints.ts +++ b/clients/client-codeguruprofiler/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codepipeline/src/endpoints.ts b/clients/client-codepipeline/src/endpoints.ts index da53af5180c8..88d499da6f8e 100644 --- a/clients/client-codepipeline/src/endpoints.ts +++ b/clients/client-codepipeline/src/endpoints.ts @@ -87,6 +87,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codestar-connections/src/endpoints.ts b/clients/client-codestar-connections/src/endpoints.ts index 3e91df53562b..276632329497 100644 --- a/clients/client-codestar-connections/src/endpoints.ts +++ b/clients/client-codestar-connections/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codestar-notifications/src/endpoints.ts b/clients/client-codestar-notifications/src/endpoints.ts index d8f713e30a16..6c934f147754 100644 --- a/clients/client-codestar-notifications/src/endpoints.ts +++ b/clients/client-codestar-notifications/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-codestar/src/endpoints.ts b/clients/client-codestar/src/endpoints.ts index ac8900730901..ba1475fa8744 100644 --- a/clients/client-codestar/src/endpoints.ts +++ b/clients/client-codestar/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cognito-identity-provider/src/endpoints.ts b/clients/client-cognito-identity-provider/src/endpoints.ts index 777a1d37fb4c..40af52e0fe70 100644 --- a/clients/client-cognito-identity-provider/src/endpoints.ts +++ b/clients/client-cognito-identity-provider/src/endpoints.ts @@ -75,6 +75,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cognito-identity/src/endpoints.ts b/clients/client-cognito-identity/src/endpoints.ts index cca77de59905..ac48eb7a1019 100644 --- a/clients/client-cognito-identity/src/endpoints.ts +++ b/clients/client-cognito-identity/src/endpoints.ts @@ -63,6 +63,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-cognito-sync/src/endpoints.ts b/clients/client-cognito-sync/src/endpoints.ts index f32afdd272d3..055c731130d0 100644 --- a/clients/client-cognito-sync/src/endpoints.ts +++ b/clients/client-cognito-sync/src/endpoints.ts @@ -14,6 +14,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-comprehend/src/endpoints.ts b/clients/client-comprehend/src/endpoints.ts index c4c4b3d5f6ac..ee0277a3fc4a 100644 --- a/clients/client-comprehend/src/endpoints.ts +++ b/clients/client-comprehend/src/endpoints.ts @@ -63,6 +63,7 @@ const partitionHash: PartitionHash = { "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ap-southeast-3", "ca-central-1", "eu-central-1", "eu-north-1", diff --git a/clients/client-comprehendmedical/README.md b/clients/client-comprehendmedical/README.md index afcc3cb53b00..3d5398d4db18 100644 --- a/clients/client-comprehendmedical/README.md +++ b/clients/client-comprehendmedical/README.md @@ -7,7 +7,7 @@ AWS SDK for JavaScript ComprehendMedical Client for Node.js, Browser and React Native. -
Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions +
Comprehend Medical; extracts structured information from unstructured clinical text. Use these actions to gain insight in your documents.
## Installing diff --git a/clients/client-comprehendmedical/src/ComprehendMedical.ts b/clients/client-comprehendmedical/src/ComprehendMedical.ts index 2c30487bd330..a5b9e6ca9e4d 100644 --- a/clients/client-comprehendmedical/src/ComprehendMedical.ts +++ b/clients/client-comprehendmedical/src/ComprehendMedical.ts @@ -20,6 +20,11 @@ import { DescribeRxNormInferenceJobCommandInput, DescribeRxNormInferenceJobCommandOutput, } from "./commands/DescribeRxNormInferenceJobCommand"; +import { + DescribeSNOMEDCTInferenceJobCommand, + DescribeSNOMEDCTInferenceJobCommandInput, + DescribeSNOMEDCTInferenceJobCommandOutput, +} from "./commands/DescribeSNOMEDCTInferenceJobCommand"; import { DetectEntitiesCommand, DetectEntitiesCommandInput, @@ -37,6 +42,11 @@ import { InferICD10CMCommandOutput, } from "./commands/InferICD10CMCommand"; import { InferRxNormCommand, InferRxNormCommandInput, InferRxNormCommandOutput } from "./commands/InferRxNormCommand"; +import { + InferSNOMEDCTCommand, + InferSNOMEDCTCommandInput, + InferSNOMEDCTCommandOutput, +} from "./commands/InferSNOMEDCTCommand"; import { ListEntitiesDetectionV2JobsCommand, ListEntitiesDetectionV2JobsCommandInput, @@ -57,6 +67,11 @@ import { ListRxNormInferenceJobsCommandInput, ListRxNormInferenceJobsCommandOutput, } from "./commands/ListRxNormInferenceJobsCommand"; +import { + ListSNOMEDCTInferenceJobsCommand, + ListSNOMEDCTInferenceJobsCommandInput, + ListSNOMEDCTInferenceJobsCommandOutput, +} from "./commands/ListSNOMEDCTInferenceJobsCommand"; import { StartEntitiesDetectionV2JobCommand, StartEntitiesDetectionV2JobCommandInput, @@ -77,6 +92,11 @@ import { StartRxNormInferenceJobCommandInput, StartRxNormInferenceJobCommandOutput, } from "./commands/StartRxNormInferenceJobCommand"; +import { + StartSNOMEDCTInferenceJobCommand, + StartSNOMEDCTInferenceJobCommandInput, + StartSNOMEDCTInferenceJobCommandOutput, +} from "./commands/StartSNOMEDCTInferenceJobCommand"; import { StopEntitiesDetectionV2JobCommand, StopEntitiesDetectionV2JobCommandInput, @@ -97,10 +117,15 @@ import { StopRxNormInferenceJobCommandInput, StopRxNormInferenceJobCommandOutput, } from "./commands/StopRxNormInferenceJobCommand"; +import { + StopSNOMEDCTInferenceJobCommand, + StopSNOMEDCTInferenceJobCommandInput, + StopSNOMEDCTInferenceJobCommandOutput, +} from "./commands/StopSNOMEDCTInferenceJobCommand"; import { ComprehendMedicalClient } from "./ComprehendMedicalClient"; /** - *Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions + *
Comprehend Medical; extracts structured information from unstructured clinical text. Use these actions * to gain insight in your documents.
*/ export class ComprehendMedical extends ComprehendMedicalClient { @@ -236,6 +261,40 @@ export class ComprehendMedical extends ComprehendMedicalClient { } } + /** + *+ * Gets the properties associated with an InferSNOMEDCT job. Use this operation to get the status of an inference job. + *
+ */ + public describeSNOMEDCTInferenceJob( + args: DescribeSNOMEDCTInferenceJobCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * InferSNOMEDCT detects possible medical concepts as entities and links them to codes from the Systematized Nomenclature of Medicine, Clinical Terms (SNOMED-CT) ontology
+ */ + public inferSNOMEDCT( + args: InferSNOMEDCTCommandInput, + options?: __HttpHandlerOptions + ): PromiseGets a list of medical entity detection jobs that you have submitted.
*/ @@ -531,6 +623,40 @@ export class ComprehendMedical extends ComprehendMedicalClient { } } + /** + *+ * Gets a list of InferSNOMEDCT jobs a user has submitted. + *
+ */ + public listSNOMEDCTInferenceJobs( + args: ListSNOMEDCTInferenceJobsCommandInput, + options?: __HttpHandlerOptions + ): PromiseStarts an asynchronous medical entity detection job for a collection of documents. Use the
* DescribeEntitiesDetectionV2Job
operation to track the status of a job.
+ * Starts an asynchronous job to detect medical concepts and link them to the SNOMED-CT ontology. Use the DescribeSNOMEDCTInferenceJob operation to track the status of a job. + *
+ */ + public startSNOMEDCTInferenceJob( + args: StartSNOMEDCTInferenceJobCommandInput, + options?: __HttpHandlerOptions + ): PromiseStops a medical entities detection job in progress.
*/ @@ -792,4 +952,38 @@ export class ComprehendMedical extends ComprehendMedicalClient { return this.send(command, optionsOrCb); } } + + /** + *+ * Stops an InferSNOMEDCT inference job in progress. + *
+ */ + public stopSNOMEDCTInferenceJob( + args: StopSNOMEDCTInferenceJobCommandInput, + options?: __HttpHandlerOptions + ): PromiseAmazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions + *
Comprehend Medical; extracts structured information from unstructured clinical text. Use these actions * to gain insight in your documents.
*/ export class ComprehendMedicalClient extends __Client< diff --git a/clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.ts b/clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.ts new file mode 100644 index 000000000000..e94d6b3a3c13 --- /dev/null +++ b/clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.ts @@ -0,0 +1,106 @@ +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + ComprehendMedicalClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../ComprehendMedicalClient"; +import { DescribeSNOMEDCTInferenceJobRequest, DescribeSNOMEDCTInferenceJobResponse } from "../models/models_0"; +import { + deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand, + serializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand, +} from "../protocols/Aws_json1_1"; + +export interface DescribeSNOMEDCTInferenceJobCommandInput extends DescribeSNOMEDCTInferenceJobRequest {} +export interface DescribeSNOMEDCTInferenceJobCommandOutput + extends DescribeSNOMEDCTInferenceJobResponse, + __MetadataBearer {} + +/** + *+ * Gets the properties associated with an InferSNOMEDCT job. Use this operation to get the status of an inference job. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ComprehendMedicalClient, DescribeSNOMEDCTInferenceJobCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import + * // const { ComprehendMedicalClient, DescribeSNOMEDCTInferenceJobCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import + * const client = new ComprehendMedicalClient(config); + * const command = new DescribeSNOMEDCTInferenceJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeSNOMEDCTInferenceJobCommandInput} for command's `input` shape. + * @see {@link DescribeSNOMEDCTInferenceJobCommandOutput} for command's `response` shape. + * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape. + * + */ +export class DescribeSNOMEDCTInferenceJobCommand extends $Command< + DescribeSNOMEDCTInferenceJobCommandInput, + DescribeSNOMEDCTInferenceJobCommandOutput, + ComprehendMedicalClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeSNOMEDCTInferenceJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * InferSNOMEDCT detects possible medical concepts as entities and links them to codes from the Systematized Nomenclature of Medicine, Clinical Terms (SNOMED-CT) ontology
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ComprehendMedicalClient, InferSNOMEDCTCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import + * // const { ComprehendMedicalClient, InferSNOMEDCTCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import + * const client = new ComprehendMedicalClient(config); + * const command = new InferSNOMEDCTCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link InferSNOMEDCTCommandInput} for command's `input` shape. + * @see {@link InferSNOMEDCTCommandOutput} for command's `response` shape. + * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape. + * + */ +export class InferSNOMEDCTCommand extends $Command< + InferSNOMEDCTCommandInput, + InferSNOMEDCTCommandOutput, + ComprehendMedicalClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: InferSNOMEDCTCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Gets a list of InferSNOMEDCT jobs a user has submitted. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ComprehendMedicalClient, ListSNOMEDCTInferenceJobsCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import + * // const { ComprehendMedicalClient, ListSNOMEDCTInferenceJobsCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import + * const client = new ComprehendMedicalClient(config); + * const command = new ListSNOMEDCTInferenceJobsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListSNOMEDCTInferenceJobsCommandInput} for command's `input` shape. + * @see {@link ListSNOMEDCTInferenceJobsCommandOutput} for command's `response` shape. + * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape. + * + */ +export class ListSNOMEDCTInferenceJobsCommand extends $Command< + ListSNOMEDCTInferenceJobsCommandInput, + ListSNOMEDCTInferenceJobsCommandOutput, + ComprehendMedicalClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListSNOMEDCTInferenceJobsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Starts an asynchronous job to detect medical concepts and link them to the SNOMED-CT ontology. Use the DescribeSNOMEDCTInferenceJob operation to track the status of a job. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ComprehendMedicalClient, StartSNOMEDCTInferenceJobCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import + * // const { ComprehendMedicalClient, StartSNOMEDCTInferenceJobCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import + * const client = new ComprehendMedicalClient(config); + * const command = new StartSNOMEDCTInferenceJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartSNOMEDCTInferenceJobCommandInput} for command's `input` shape. + * @see {@link StartSNOMEDCTInferenceJobCommandOutput} for command's `response` shape. + * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape. + * + */ +export class StartSNOMEDCTInferenceJobCommand extends $Command< + StartSNOMEDCTInferenceJobCommandInput, + StartSNOMEDCTInferenceJobCommandOutput, + ComprehendMedicalClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartSNOMEDCTInferenceJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Stops an InferSNOMEDCT inference job in progress. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ComprehendMedicalClient, StopSNOMEDCTInferenceJobCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import + * // const { ComprehendMedicalClient, StopSNOMEDCTInferenceJobCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import + * const client = new ComprehendMedicalClient(config); + * const command = new StopSNOMEDCTInferenceJobCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StopSNOMEDCTInferenceJobCommandInput} for command's `input` shape. + * @see {@link StopSNOMEDCTInferenceJobCommandOutput} for command's `response` shape. + * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape. + * + */ +export class StopSNOMEDCTInferenceJobCommand extends $Command< + StopSNOMEDCTInferenceJobCommandInput, + StopSNOMEDCTInferenceJobCommandOutput, + ComprehendMedicalClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopSNOMEDCTInferenceJobCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackThe level of confidence that Amazon Comprehend Medical has in the accuracy of this trait.
+ *The level of confidence that Comprehend Medical; has in the accuracy of this trait.
*/ Score?: number; } @@ -71,12 +72,15 @@ export enum EntitySubType { DIRECTION = "DIRECTION", DOSAGE = "DOSAGE", DURATION = "DURATION", + DX_NAME = "DX_NAME", EMAIL = "EMAIL", FORM = "FORM", FREQUENCY = "FREQUENCY", GENERIC_NAME = "GENERIC_NAME", + ID = "ID", IDENTIFIER = "IDENTIFIER", NAME = "NAME", + PHONE_OR_FAX = "PHONE_OR_FAX", PROCEDURE_NAME = "PROCEDURE_NAME", PROFESSION = "PROFESSION", QUALITY = "QUALITY", @@ -86,6 +90,7 @@ export enum EntitySubType { STRENGTH = "STRENGTH", SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE", TEST_NAME = "TEST_NAME", + TEST_UNIT = "TEST_UNIT", TEST_UNITS = "TEST_UNITS", TEST_VALUE = "TEST_VALUE", TIME_EXPRESSION = "TIME_EXPRESSION", @@ -111,13 +116,13 @@ export interface Attribute { Type?: EntitySubType | string; /** - *The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized + *
The level of confidence that Comprehend Medical; has that the segment of text is correctly recognized * as an attribute.
*/ Score?: number; /** - *The level of confidence that Amazon Comprehend Medical has that this attribute is correctly related to this + *
The level of confidence that Comprehend Medical; has that this attribute is correctly related to this * entity.
*/ RelationshipScore?: number; @@ -172,9 +177,32 @@ export namespace Attribute { }); } +/** + *+ * The number of characters in the input text to be analyzed. + *
+ */ +export interface Characters { + /** + *+ * The number of characters present in the input text document as processed by Comprehend Medical. + *
+ */ + OriginalTextCharacters?: number; +} + +export namespace Characters { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Characters): any => ({ + ...obj, + }); +} + export interface DescribeEntitiesDetectionV2JobRequest { /** - *The identifier that Amazon Comprehend Medical generated for the job. The + *
The identifier that Comprehend Medical; generated for the job. The
* StartEntitiesDetectionV2Job
operation returns this identifier in its
* response.
The path to the output data files in the S3 bucket. Amazon Comprehend Medical creates an output directory + *
The path to the output data files in the S3 bucket. Comprehend Medical; creates an output directory * using the job ID so that the output from one job does not overwrite the output of * another.
*/ @@ -320,7 +348,7 @@ export interface ComprehendMedicalAsyncJobProperties { LanguageCode?: LanguageCode | string; /** - *The Amazon Resource Name (ARN) that gives Amazon Comprehend Medical read access to your input data.
+ *The Amazon Resource Name (ARN) that gives Comprehend Medical; read access to your input data.
*/ DataAccessRoleArn?: string; @@ -478,7 +506,7 @@ export namespace DescribeICD10CMInferenceJobResponse { export interface DescribePHIDetectionJobRequest { /** - *The identifier that Amazon Comprehend Medical generated for the job. The StartPHIDetectionJob
+ *
The identifier that Comprehend Medical; generated for the job. The StartPHIDetectionJob
* operation returns this identifier in its response.
+ * The identifier that Amazon Comprehend Medical generated for the job. The StartSNOMEDCTInferenceJob operation returns this identifier in its response. + *
+ */ + JobId: string | undefined; +} + +export namespace DescribeSNOMEDCTInferenceJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSNOMEDCTInferenceJobRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSNOMEDCTInferenceJobResponse { + /** + *Provides information about a detection job.
+ */ + ComprehendMedicalAsyncJobProperties?: ComprehendMedicalAsyncJobProperties; +} + +export namespace DescribeSNOMEDCTInferenceJobResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSNOMEDCTInferenceJobResponse): any => ({ + ...obj, + }); +} + export interface DetectEntitiesRequest { /** *A UTF-8 text string containing the clinical content being examined for entities. Each @@ -582,7 +644,7 @@ export interface Entity { EndOffset?: number; /** - *
The level of confidence that Amazon Comprehend Medical has in the accuracy of the detection.
+ *The level of confidence that Comprehend Medical; has in the accuracy of the detection.
*/ Score?: number; @@ -622,11 +684,11 @@ export namespace Entity { } /** - *An attribute that we extracted, but were unable to relate to an entity.
+ *An attribute that was extracted, but Comprehend Medical; was unable to relate to an entity.
*/ export interface UnmappedAttribute { /** - *The type of the attribute, could be one of the following values: "MEDICATION", + *
The type of the unmapped attribute, could be one of the following values: "MEDICATION", * "MEDICAL_CONDITION", "ANATOMY", "TEST_AND_TREATMENT_PROCEDURE" or * "PROTECTED_HEALTH_INFORMATION".
*/ @@ -651,7 +713,7 @@ export interface DetectEntitiesResponse { /** *The collection of medical entities extracted from the input text and their associated * information. For each entity, the response provides the entity text, the entity category, - * where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the + * where the entity text begins and ends, and the level of confidence that Comprehend Medical; has in the * detection and analysis. Attributes and traits of the entity are also returned.
*/ Entities: Entity[] | undefined; @@ -705,7 +767,7 @@ export namespace InvalidEncodingException { } /** - *The Amazon Comprehend Medical service is temporarily unavailable. Please wait and then retry your request. + *
The Comprehend Medical; service is temporarily unavailable. Please wait and then retry your request. *
*/ export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { @@ -817,7 +879,7 @@ export interface DetectPHIResponse { /** *The collection of PHI entities extracted from the input text and their associated * information. For each entity, the response provides the entity text, the entity category, - * where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in its + * where the entity text begins and ends, and the level of confidence that Comprehend Medical; has in its * detection.
*/ Entities: Entity[] | undefined; @@ -891,7 +953,7 @@ export interface ICD10CMTrait { Name?: ICD10CMTraitName | string; /** - *The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized + *
The level of confidence that Comprehend Medical; has that the segment of text is correctly recognized * as a trait.
*/ Score?: number; @@ -1410,6 +1472,391 @@ export namespace InferRxNormResponse { }); } +export interface InferSNOMEDCTRequest { + /** + *+ * The input text to be analyzed using InferSNOMEDCT. The text should be a string with 1 to 10000 characters. + *
+ */ + Text: string | undefined; +} + +export namespace InferSNOMEDCTRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InferSNOMEDCTRequest): any => ({ + ...obj, + }); +} + +export enum SNOMEDCTEntityCategory { + ANATOMY = "ANATOMY", + MEDICAL_CONDITION = "MEDICAL_CONDITION", + TEST_TREATMENT_PROCEDURE = "TEST_TREATMENT_PROCEDURE", +} + +export enum SNOMEDCTRelationshipType { + ACUITY = "ACUITY", + DIRECTION = "DIRECTION", + QUALITY = "QUALITY", + SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE", + TEST_UNITS = "TEST_UNITS", + TEST_VALUE = "TEST_VALUE", +} + +/** + *+ * The SNOMED-CT concepts that the entity could refer to, along with a score indicating the likelihood of the match. + *
+ */ +export interface SNOMEDCTConcept { + /** + *+ * The description of the SNOMED-CT concept. + *
+ */ + Description?: string; + + /** + *+ * The numeric ID for the SNOMED-CT concept. + *
+ */ + Code?: string; + + /** + *+ * The level of confidence Comprehend Medical has that the entity should be linked to the identified SNOMED-CT concept. + *
+ */ + Score?: number; +} + +export namespace SNOMEDCTConcept { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SNOMEDCTConcept): any => ({ + ...obj, + }); +} + +export enum SNOMEDCTTraitName { + DIAGNOSIS = "DIAGNOSIS", + NEGATION = "NEGATION", + SIGN = "SIGN", + SYMPTOM = "SYMPTOM", +} + +/** + *+ * Contextual information for an entity. + *
+ */ +export interface SNOMEDCTTrait { + /** + *+ * The name or contextual description of a detected trait. + *
+ */ + Name?: SNOMEDCTTraitName | string; + + /** + *+ * The level of confidence that Comprehend Medical has in the accuracy of a detected trait. + *
+ */ + Score?: number; +} + +export namespace SNOMEDCTTrait { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SNOMEDCTTrait): any => ({ + ...obj, + }); +} + +export enum SNOMEDCTAttributeType { + ACUITY = "ACUITY", + DIRECTION = "DIRECTION", + QUALITY = "QUALITY", + SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE", + TEST_UNIT = "TEST_UNIT", + TEST_VALUE = "TEST_VALUE", +} + +/** + *+ * The extracted attributes that relate to an entity. An extracted segment of the text that is an attribute of an entity, or otherwise related to an entity, such as the dosage of a medication taken. + *
+ */ +export interface SNOMEDCTAttribute { + /** + *+ * The category of the detected attribute. Possible categories include MEDICAL_CONDITION, ANATOMY, and TEST_TREATMENT_PROCEDURE. + *
+ */ + Category?: SNOMEDCTEntityCategory | string; + + /** + *+ * The type of attribute. Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE,TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, and TREATMENT_NAME. + *
+ */ + Type?: SNOMEDCTAttributeType | string; + + /** + *+ * The level of confidence that Comprehend Medical has that the segment of text is correctly recognized as an attribute. + *
+ */ + Score?: number; + + /** + *+ * The level of confidence that Comprehend Medical has that this attribute is correctly related to this entity. + *
+ */ + RelationshipScore?: number; + + /** + *+ * The type of relationship that exists between the entity and the related attribute. + *
+ */ + RelationshipType?: SNOMEDCTRelationshipType | string; + + /** + *+ * The numeric identifier for this attribute. This is a monotonically increasing id unique within this response rather than a global unique identifier. + *
+ */ + Id?: number; + + /** + *+ * The 0-based character offset in the input text that shows where the attribute begins. The offset returns the UTF-8 code point in the string. + *
+ */ + BeginOffset?: number; + + /** + *+ * The 0-based character offset in the input text that shows where the attribute ends. The offset returns the UTF-8 code point in the string. + *
+ */ + EndOffset?: number; + + /** + *+ * The segment of input text extracted as this attribute. + *
+ */ + Text?: string; + + /** + *+ * Contextual information for an attribute. Examples include signs, symptoms, diagnosis, and negation. + *
+ */ + Traits?: SNOMEDCTTrait[]; + + /** + *+ * The SNOMED-CT concepts specific to an attribute, along with a score indicating the likelihood of the match. + *
+ */ + SNOMEDCTConcepts?: SNOMEDCTConcept[]; +} + +export namespace SNOMEDCTAttribute { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SNOMEDCTAttribute): any => ({ + ...obj, + }); +} + +export enum SNOMEDCTEntityType { + DX_NAME = "DX_NAME", + PROCEDURE_NAME = "PROCEDURE_NAME", + TEST_NAME = "TEST_NAME", + TREATMENT_NAME = "TREATMENT_NAME", +} + +/** + *+ * The collection of medical entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned. + *
+ */ +export interface SNOMEDCTEntity { + /** + *+ * The numeric identifier for the entity. This is a monotonically increasing id unique within this response rather than a global unique identifier. + *
+ */ + Id?: number; + + /** + *+ * The segment of input text extracted as this entity. + *
+ */ + Text?: string; + + /** + *+ * The category of the detected entity. Possible categories are MEDICAL_CONDITION, ANATOMY, or TEST_TREATMENT_PROCEDURE. + *
+ */ + Category?: SNOMEDCTEntityCategory | string; + + /** + *+ * Describes the specific type of entity with category of entities. Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE, TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, or TREATMENT_NAME. + *
+ */ + Type?: SNOMEDCTEntityType | string; + + /** + *+ * The level of confidence that Comprehend Medical has in the accuracy of the detected entity. + *
+ */ + Score?: number; + + /** + *+ * The 0-based character offset in the input text that shows where the entity begins. The offset returns the UTF-8 code point in the string. + *
+ */ + BeginOffset?: number; + + /** + *+ * The 0-based character offset in the input text that shows where the entity ends. The offset returns the UTF-8 code point in the string. + *
+ */ + EndOffset?: number; + + /** + *+ * An extracted segment of the text that is an attribute of an entity, or otherwise related to an entity, such as the dosage of a medication taken. + *
+ */ + Attributes?: SNOMEDCTAttribute[]; + + /** + *+ * Contextual information for the entity. + *
+ */ + Traits?: SNOMEDCTTrait[]; + + /** + *+ * The SNOMED concepts that the entity could refer to, along with a score indicating the likelihood of the match. + *
+ */ + SNOMEDCTConcepts?: SNOMEDCTConcept[]; +} + +export namespace SNOMEDCTEntity { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SNOMEDCTEntity): any => ({ + ...obj, + }); +} + +/** + *+ * The information about the revision of the SNOMED-CT ontology in the response. Specifically, the details include the SNOMED-CT edition, language, and version date. + *
+ */ +export interface SNOMEDCTDetails { + /** + *+ * The edition of SNOMED-CT used. The edition used for the InferSNOMEDCT editions is the US edition. + *
+ */ + Edition?: string; + + /** + *+ * The language used in the SNOMED-CT ontology. All Amazon Comprehend Medical operations are US English (en). + *
+ */ + Language?: string; + + /** + *+ * The version date of the SNOMED-CT ontology used. + *
+ */ + VersionDate?: string; +} + +export namespace SNOMEDCTDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SNOMEDCTDetails): any => ({ + ...obj, + }); +} + +export interface InferSNOMEDCTResponse { + /** + *+ * The collection of medical concept entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned. + *
+ */ + Entities: SNOMEDCTEntity[] | undefined; + + /** + *+ * If the result of the request is truncated, the pagination token can be used to fetch the next page of entities. + *
+ */ + PaginationToken?: string; + + /** + *+ * The version of the model used to analyze the documents, in the format n.n.n You can use this information to track the model used for a particular batch of documents. + *
+ */ + ModelVersion?: string; + + /** + *+ * The details of the SNOMED-CT revision, including the edition, language, and version date. + *
+ */ + SNOMEDCTDetails?: SNOMEDCTDetails; + + /** + *+ * The number of characters in the input request documentation. + *
+ */ + Characters?: Characters; +} + +export namespace InferSNOMEDCTResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InferSNOMEDCTResponse): any => ({ + ...obj, + }); +} + /** *Provides information for filtering a list of detection jobs.
*/ @@ -1660,20 +2107,75 @@ export namespace ListRxNormInferenceJobsResponse { }); } +export interface ListSNOMEDCTInferenceJobsRequest { + /** + *Provides information for filtering a list of detection jobs.
+ */ + Filter?: ComprehendMedicalAsyncJobFilter; + + /** + *+ * Identifies the next page of InferSNOMEDCT results to return. + *
+ */ + NextToken?: string; + + /** + *+ * The maximum number of results to return in each page. The default is 100. + *
+ */ + MaxResults?: number; +} + +export namespace ListSNOMEDCTInferenceJobsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListSNOMEDCTInferenceJobsRequest): any => ({ + ...obj, + }); +} + +export interface ListSNOMEDCTInferenceJobsResponse { + /** + *+ * A list containing the properties of each job that is returned. + *
+ */ + ComprehendMedicalAsyncJobPropertiesList?: ComprehendMedicalAsyncJobProperties[]; + + /** + *+ * Identifies the next page of results to return. + *
+ */ + NextToken?: string; +} + +export namespace ListSNOMEDCTInferenceJobsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListSNOMEDCTInferenceJobsResponse): any => ({ + ...obj, + }); +} + export interface StartEntitiesDetectionV2JobRequest { /** - *Specifies the format and location of the input data for the job.
+ *The input configuration that specifies the format and location of the input data for the job.
*/ InputDataConfig: InputDataConfig | undefined; /** - *Specifies where to send the output files.
+ *The output configuration that specifies where to send the output files.
*/ OutputDataConfig: OutputDataConfig | undefined; /** *The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations. */ DataAccessRoleArn: string | undefined; @@ -1683,8 +2185,8 @@ export interface StartEntitiesDetectionV2JobRequest { JobName?: string; /** - *A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical - * generates one.
+ *A unique identifier for the request. If you don't set the client request token, Comprehend Medical; + * generates one for you.
*/ ClientRequestToken?: string; @@ -1695,7 +2197,7 @@ export interface StartEntitiesDetectionV2JobRequest { KMSKey?: string; /** - *The language of the input documents. All documents must be in the same language.
+ *The language of the input documents. All documents must be in the same language. Comprehend Medical; processes files in US English (en).
*/ LanguageCode: LanguageCode | string | undefined; } @@ -1739,7 +2241,7 @@ export interface StartICD10CMInferenceJobRequest { /** *The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations. */ DataAccessRoleArn: string | undefined; @@ -1749,7 +2251,7 @@ export interface StartICD10CMInferenceJobRequest { JobName?: string; /** - *A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical + *
A unique identifier for the request. If you don't set the client request token, Comprehend Medical; * generates one.
*/ ClientRequestToken?: string; @@ -1805,7 +2307,7 @@ export interface StartPHIDetectionJobRequest { /** *The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations. */ DataAccessRoleArn: string | undefined; @@ -1815,7 +2317,7 @@ export interface StartPHIDetectionJobRequest { JobName?: string; /** - *A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical + *
A unique identifier for the request. If you don't set the client request token, Comprehend Medical; * generates one.
*/ ClientRequestToken?: string; @@ -1871,7 +2373,7 @@ export interface StartRxNormInferenceJobRequest { /** *The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that - * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations. */ DataAccessRoleArn: string | undefined; @@ -1881,7 +2383,7 @@ export interface StartRxNormInferenceJobRequest { JobName?: string; /** - *A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical + *
A unique identifier for the request. If you don't set the client request token, Comprehend Medical; * generates one.
*/ ClientRequestToken?: string; @@ -1923,6 +2425,81 @@ export namespace StartRxNormInferenceJobResponse { }); } +export interface StartSNOMEDCTInferenceJobRequest { + /** + *The input properties for an entities detection job. This includes the name of the S3 + * bucket and the path to the files to be analyzed.
+ */ + InputDataConfig: InputDataConfig | undefined; + + /** + *The output properties for a detection job.
+ */ + OutputDataConfig: OutputDataConfig | undefined; + + /** + *+ * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. + *
+ */ + DataAccessRoleArn: string | undefined; + + /** + *+ * The user generated name the asynchronous InferSNOMEDCT job. + *
+ */ + JobName?: string; + + /** + *+ * A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one. + *
+ */ + ClientRequestToken?: string; + + /** + *+ * An AWS Key Management Service key used to encrypt your output files. If you do not specify a key, the files are written in plain text. + *
+ */ + KMSKey?: string; + + /** + *+ * The language of the input documents. All documents must be in the same language. + *
+ */ + LanguageCode: LanguageCode | string | undefined; +} + +export namespace StartSNOMEDCTInferenceJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartSNOMEDCTInferenceJobRequest): any => ({ + ...obj, + }); +} + +export interface StartSNOMEDCTInferenceJobResponse { + /** + *+ * The identifier generated for the job. To get the status of a job, use this identifier with the StartSNOMEDCTInferenceJob operation. + *
+ */ + JobId?: string; +} + +export namespace StartSNOMEDCTInferenceJobResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartSNOMEDCTInferenceJobResponse): any => ({ + ...obj, + }); +} + export interface StopEntitiesDetectionV2JobRequest { /** *The identifier of the medical entities job to stop.
@@ -2052,3 +2629,39 @@ export namespace StopRxNormInferenceJobResponse { ...obj, }); } + +export interface StopSNOMEDCTInferenceJobRequest { + /** + *+ * The job id of the asynchronous InferSNOMEDCT job to be stopped. + *
+ */ + JobId: string | undefined; +} + +export namespace StopSNOMEDCTInferenceJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopSNOMEDCTInferenceJobRequest): any => ({ + ...obj, + }); +} + +export interface StopSNOMEDCTInferenceJobResponse { + /** + *+ * The identifier generated for the job. To get the status of job, use this identifier with the DescribeSNOMEDCTInferenceJob operation. + *
+ */ + JobId?: string; +} + +export namespace StopSNOMEDCTInferenceJobResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopSNOMEDCTInferenceJobResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts b/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts index 15090a3b81ec..90c0ed373716 100644 --- a/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts +++ b/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts @@ -33,11 +33,16 @@ import { DescribeRxNormInferenceJobCommandInput, DescribeRxNormInferenceJobCommandOutput, } from "../commands/DescribeRxNormInferenceJobCommand"; +import { + DescribeSNOMEDCTInferenceJobCommandInput, + DescribeSNOMEDCTInferenceJobCommandOutput, +} from "../commands/DescribeSNOMEDCTInferenceJobCommand"; import { DetectEntitiesCommandInput, DetectEntitiesCommandOutput } from "../commands/DetectEntitiesCommand"; import { DetectEntitiesV2CommandInput, DetectEntitiesV2CommandOutput } from "../commands/DetectEntitiesV2Command"; import { DetectPHICommandInput, DetectPHICommandOutput } from "../commands/DetectPHICommand"; import { InferICD10CMCommandInput, InferICD10CMCommandOutput } from "../commands/InferICD10CMCommand"; import { InferRxNormCommandInput, InferRxNormCommandOutput } from "../commands/InferRxNormCommand"; +import { InferSNOMEDCTCommandInput, InferSNOMEDCTCommandOutput } from "../commands/InferSNOMEDCTCommand"; import { ListEntitiesDetectionV2JobsCommandInput, ListEntitiesDetectionV2JobsCommandOutput, @@ -54,6 +59,10 @@ import { ListRxNormInferenceJobsCommandInput, ListRxNormInferenceJobsCommandOutput, } from "../commands/ListRxNormInferenceJobsCommand"; +import { + ListSNOMEDCTInferenceJobsCommandInput, + ListSNOMEDCTInferenceJobsCommandOutput, +} from "../commands/ListSNOMEDCTInferenceJobsCommand"; import { StartEntitiesDetectionV2JobCommandInput, StartEntitiesDetectionV2JobCommandOutput, @@ -70,6 +79,10 @@ import { StartRxNormInferenceJobCommandInput, StartRxNormInferenceJobCommandOutput, } from "../commands/StartRxNormInferenceJobCommand"; +import { + StartSNOMEDCTInferenceJobCommandInput, + StartSNOMEDCTInferenceJobCommandOutput, +} from "../commands/StartSNOMEDCTInferenceJobCommand"; import { StopEntitiesDetectionV2JobCommandInput, StopEntitiesDetectionV2JobCommandOutput, @@ -86,8 +99,13 @@ import { StopRxNormInferenceJobCommandInput, StopRxNormInferenceJobCommandOutput, } from "../commands/StopRxNormInferenceJobCommand"; +import { + StopSNOMEDCTInferenceJobCommandInput, + StopSNOMEDCTInferenceJobCommandOutput, +} from "../commands/StopSNOMEDCTInferenceJobCommand"; import { Attribute, + Characters, ComprehendMedicalAsyncJobFilter, ComprehendMedicalAsyncJobProperties, DescribeEntitiesDetectionV2JobRequest, @@ -98,6 +116,8 @@ import { DescribePHIDetectionJobResponse, DescribeRxNormInferenceJobRequest, DescribeRxNormInferenceJobResponse, + DescribeSNOMEDCTInferenceJobRequest, + DescribeSNOMEDCTInferenceJobResponse, DetectEntitiesRequest, DetectEntitiesResponse, DetectEntitiesV2Request, @@ -113,6 +133,8 @@ import { InferICD10CMResponse, InferRxNormRequest, InferRxNormResponse, + InferSNOMEDCTRequest, + InferSNOMEDCTResponse, InputDataConfig, InternalServerException, InvalidEncodingException, @@ -125,6 +147,8 @@ import { ListPHIDetectionJobsResponse, ListRxNormInferenceJobsRequest, ListRxNormInferenceJobsResponse, + ListSNOMEDCTInferenceJobsRequest, + ListSNOMEDCTInferenceJobsResponse, OutputDataConfig, ResourceNotFoundException, RxNormAttribute, @@ -132,6 +156,11 @@ import { RxNormEntity, RxNormTrait, ServiceUnavailableException, + SNOMEDCTAttribute, + SNOMEDCTConcept, + SNOMEDCTDetails, + SNOMEDCTEntity, + SNOMEDCTTrait, StartEntitiesDetectionV2JobRequest, StartEntitiesDetectionV2JobResponse, StartICD10CMInferenceJobRequest, @@ -140,6 +169,8 @@ import { StartPHIDetectionJobResponse, StartRxNormInferenceJobRequest, StartRxNormInferenceJobResponse, + StartSNOMEDCTInferenceJobRequest, + StartSNOMEDCTInferenceJobResponse, StopEntitiesDetectionV2JobRequest, StopEntitiesDetectionV2JobResponse, StopICD10CMInferenceJobRequest, @@ -148,6 +179,8 @@ import { StopPHIDetectionJobResponse, StopRxNormInferenceJobRequest, StopRxNormInferenceJobResponse, + StopSNOMEDCTInferenceJobRequest, + StopSNOMEDCTInferenceJobResponse, TextSizeLimitExceededException, TooManyRequestsException, Trait, @@ -207,6 +240,19 @@ export const serializeAws_json1_1DescribeRxNormInferenceJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand = async ( + input: DescribeSNOMEDCTInferenceJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "ComprehendMedical_20181030.DescribeSNOMEDCTInferenceJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1DescribeSNOMEDCTInferenceJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1DetectEntitiesCommand = async ( input: DetectEntitiesCommandInput, context: __SerdeContext @@ -272,6 +318,19 @@ export const serializeAws_json1_1InferRxNormCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1InferSNOMEDCTCommand = async ( + input: InferSNOMEDCTCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "ComprehendMedical_20181030.InferSNOMEDCT", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1InferSNOMEDCTRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListEntitiesDetectionV2JobsCommand = async ( input: ListEntitiesDetectionV2JobsCommandInput, context: __SerdeContext @@ -324,6 +383,19 @@ export const serializeAws_json1_1ListRxNormInferenceJobsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListSNOMEDCTInferenceJobsCommand = async ( + input: ListSNOMEDCTInferenceJobsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "ComprehendMedical_20181030.ListSNOMEDCTInferenceJobs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListSNOMEDCTInferenceJobsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StartEntitiesDetectionV2JobCommand = async ( input: StartEntitiesDetectionV2JobCommandInput, context: __SerdeContext @@ -376,6 +448,19 @@ export const serializeAws_json1_1StartRxNormInferenceJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartSNOMEDCTInferenceJobCommand = async ( + input: StartSNOMEDCTInferenceJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "ComprehendMedical_20181030.StartSNOMEDCTInferenceJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartSNOMEDCTInferenceJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StopEntitiesDetectionV2JobCommand = async ( input: StopEntitiesDetectionV2JobCommandInput, context: __SerdeContext @@ -428,6 +513,19 @@ export const serializeAws_json1_1StopRxNormInferenceJobCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StopSNOMEDCTInferenceJobCommand = async ( + input: StopSNOMEDCTInferenceJobCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "ComprehendMedical_20181030.StopSNOMEDCTInferenceJob", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StopSNOMEDCTInferenceJobRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_1DescribeEntitiesDetectionV2JobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -740,6 +838,84 @@ const deserializeAws_json1_1DescribeRxNormInferenceJobCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise