From f5ecc3147035a1f3d2d74cfed147999927ea8256 Mon Sep 17 00:00:00 2001
From: AllanZhengYP Describes the status of the application. The name of the resource group.
@@ -325,6 +338,9 @@ export interface CreateApplicationRequest {
* characters. Describes a problem that is detected by correlating observations. Feedback provided by the user about the problem. The token to request the next page of results.
The Amazon Chime SDK meetings APIs in this section allow software developers to create Amazon Chime SDK meetings, set the AWS Regions for meetings, create and manage users, and send and +receive meeting notifications. For more information +about the meeting APIs, see Amazon Chime SDK meetings.
+ +## Installing + +To install the this package, simply type add or install @aws-sdk/client-chime-sdk-meetings +using your favorite package manager: + +- `npm install @aws-sdk/client-chime-sdk-meetings` +- `yarn add @aws-sdk/client-chime-sdk-meetings` +- `pnpm add @aws-sdk/client-chime-sdk-meetings` + +## Getting Started + +### Import + +The AWS SDK is modulized by clients and commands. +To send a request, you only need to import the `ChimeSDKMeetingsClient` and +the commands you need, for example `BatchCreateAttendeeCommand`: + +```js +// ES5 example +const { ChimeSDKMeetingsClient, BatchCreateAttendeeCommand } = require("@aws-sdk/client-chime-sdk-meetings"); +``` + +```ts +// ES6+ example +import { ChimeSDKMeetingsClient, BatchCreateAttendeeCommand } from "@aws-sdk/client-chime-sdk-meetings"; +``` + +### 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 ChimeSDKMeetingsClient({ region: "REGION" }); + +const params = { + /** input parameters */ +}; +const command = new BatchCreateAttendeeCommand(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-chime-sdk-meetings"; +const client = new AWS.ChimeSDKMeetings({ region: "REGION" }); + +// async/await. +try { + const data = await client.batchCreateAttendee(params); + // process data. +} catch (error) { + // error handling. +} + +// Promises. +client + .batchCreateAttendee(params) + .then((data) => { + // process data. + }) + .catch((error) => { + // error handling. + }); + +// callbacks. +client.batchCreateAttendee(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-chime-sdk-meetings` 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-chime-sdk-meetings/jest.config.js b/clients/client-chime-sdk-meetings/jest.config.js new file mode 100644 index 000000000000..02eed352c6a8 --- /dev/null +++ b/clients/client-chime-sdk-meetings/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-chime-sdk-meetings/package.json b/clients/client-chime-sdk-meetings/package.json new file mode 100644 index 000000000000..aaaf70b589e1 --- /dev/null +++ b/clients/client-chime-sdk-meetings/package.json @@ -0,0 +1,96 @@ +{ + "name": "@aws-sdk/client-chime-sdk-meetings", + "description": "AWS SDK for JavaScript Chime Sdk Meetings 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.39.0", + "@aws-sdk/config-resolver": "3.39.0", + "@aws-sdk/credential-provider-node": "3.39.0", + "@aws-sdk/fetch-http-handler": "3.38.0", + "@aws-sdk/hash-node": "3.38.0", + "@aws-sdk/invalid-dependency": "3.38.0", + "@aws-sdk/middleware-content-length": "3.38.0", + "@aws-sdk/middleware-host-header": "3.38.0", + "@aws-sdk/middleware-logger": "3.38.0", + "@aws-sdk/middleware-retry": "3.39.0", + "@aws-sdk/middleware-serde": "3.38.0", + "@aws-sdk/middleware-signing": "3.39.0", + "@aws-sdk/middleware-stack": "3.38.0", + "@aws-sdk/middleware-user-agent": "3.38.0", + "@aws-sdk/node-config-provider": "3.39.0", + "@aws-sdk/node-http-handler": "3.38.0", + "@aws-sdk/protocol-http": "3.38.0", + "@aws-sdk/smithy-client": "3.38.0", + "@aws-sdk/types": "3.38.0", + "@aws-sdk/url-parser": "3.38.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.38.0", + "@aws-sdk/util-user-agent-node": "3.39.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-chime-sdk-meetings", + "repository": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-js-v3.git", + "directory": "clients/client-chime-sdk-meetings" + } +} diff --git a/clients/client-chime-sdk-meetings/src/ChimeSDKMeetings.ts b/clients/client-chime-sdk-meetings/src/ChimeSDKMeetings.ts new file mode 100644 index 000000000000..89bfed6bf5b6 --- /dev/null +++ b/clients/client-chime-sdk-meetings/src/ChimeSDKMeetings.ts @@ -0,0 +1,430 @@ +import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types"; + +import { ChimeSDKMeetingsClient } from "./ChimeSDKMeetingsClient"; +import { + BatchCreateAttendeeCommand, + BatchCreateAttendeeCommandInput, + BatchCreateAttendeeCommandOutput, +} from "./commands/BatchCreateAttendeeCommand"; +import { + CreateAttendeeCommand, + CreateAttendeeCommandInput, + CreateAttendeeCommandOutput, +} from "./commands/CreateAttendeeCommand"; +import { + CreateMeetingCommand, + CreateMeetingCommandInput, + CreateMeetingCommandOutput, +} from "./commands/CreateMeetingCommand"; +import { + CreateMeetingWithAttendeesCommand, + CreateMeetingWithAttendeesCommandInput, + CreateMeetingWithAttendeesCommandOutput, +} from "./commands/CreateMeetingWithAttendeesCommand"; +import { + DeleteAttendeeCommand, + DeleteAttendeeCommandInput, + DeleteAttendeeCommandOutput, +} from "./commands/DeleteAttendeeCommand"; +import { + DeleteMeetingCommand, + DeleteMeetingCommandInput, + DeleteMeetingCommandOutput, +} from "./commands/DeleteMeetingCommand"; +import { GetAttendeeCommand, GetAttendeeCommandInput, GetAttendeeCommandOutput } from "./commands/GetAttendeeCommand"; +import { GetMeetingCommand, GetMeetingCommandInput, GetMeetingCommandOutput } from "./commands/GetMeetingCommand"; +import { + ListAttendeesCommand, + ListAttendeesCommandInput, + ListAttendeesCommandOutput, +} from "./commands/ListAttendeesCommand"; +import { + StartMeetingTranscriptionCommand, + StartMeetingTranscriptionCommandInput, + StartMeetingTranscriptionCommandOutput, +} from "./commands/StartMeetingTranscriptionCommand"; +import { + StopMeetingTranscriptionCommand, + StopMeetingTranscriptionCommandInput, + StopMeetingTranscriptionCommandOutput, +} from "./commands/StopMeetingTranscriptionCommand"; + +/** + *The Amazon Chime SDK meetings APIs in this section allow software developers to create Amazon Chime SDK meetings, set the AWS Regions for meetings, create and manage users, and send and + * receive meeting notifications. For more information + * about the meeting APIs, see Amazon Chime SDK meetings.
+ */ +export class ChimeSDKMeetings extends ChimeSDKMeetingsClient { + /** + *Creates a group of meeting attendees.
+ */ + public batchCreateAttendee( + args: BatchCreateAttendeeCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the + * Amazon Chime Developer Guide. + *
+ */ + public createAttendee( + args: CreateAttendeeCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about specifying media Regions, see + * Amazon Chime SDK Media Regions + * in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the + * Amazon Chime Developer Guide. + *
+ */ + public createMeeting( + args: CreateMeetingCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Creates a new Amazon Chime SDK meeting in the specified media Region, with attendees. For more information about specifying media Regions, see + * Amazon Chime SDK Media Regions + * in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide. + *
+ */ + public createMeetingWithAttendees( + args: CreateMeetingWithAttendeesCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes an attendee from the specified Amazon Chime SDK meeting and deletes their
+ * JoinToken
. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see
+ * Using the Amazon Chime SDK
+ * in the Amazon Chime Developer Guide.
Deletes the specified Amazon Chime SDK meeting. The operation deletes all attendees, disconnects all clients, and prevents new clients from + * joining the meeting. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK in the + * Amazon Chime Developer Guide.
+ */ + public deleteMeeting( + args: DeleteMeetingCommandInput, + options?: __HttpHandlerOptions + ): Promise+ * Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide. + *
+ */ + public getAttendee(args: GetAttendeeCommandInput, options?: __HttpHandlerOptions): PromiseGets the Amazon Chime SDK meeting details for the specified meeting ID. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide.
+ */ + public getMeeting(args: GetMeetingCommandInput, options?: __HttpHandlerOptions): Promise+ * Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide. + *
+ */ + public listAttendees( + args: ListAttendeesCommandInput, + options?: __HttpHandlerOptions + ): PromiseStarts transcription for the specified meetingId
.
Stops transcription for the specified meetingId
.
The Amazon Chime SDK meetings APIs in this section allow software developers to create Amazon Chime SDK meetings, set the AWS Regions for meetings, create and manage users, and send and + * receive meeting notifications. For more information + * about the meeting APIs, see Amazon Chime SDK meetings.
+ */ +export class ChimeSDKMeetingsClient extends __Client< + __HttpHandlerOptions, + ServiceInputTypes, + ServiceOutputTypes, + ChimeSDKMeetingsClientResolvedConfig +> { + /** + * The resolved configuration of ChimeSDKMeetingsClient class. This is resolved and normalized from the {@link ChimeSDKMeetingsClientConfig | constructor configuration interface}. + */ + readonly config: ChimeSDKMeetingsClientResolvedConfig; + + constructor(configuration: ChimeSDKMeetingsClientConfig) { + 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-chime-sdk-meetings/src/commands/BatchCreateAttendeeCommand.ts b/clients/client-chime-sdk-meetings/src/commands/BatchCreateAttendeeCommand.ts new file mode 100644 index 000000000000..8d3a0a6495dc --- /dev/null +++ b/clients/client-chime-sdk-meetings/src/commands/BatchCreateAttendeeCommand.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 { ChimeSDKMeetingsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKMeetingsClient"; +import { BatchCreateAttendeeRequest, BatchCreateAttendeeResponse } from "../models/models_0"; +import { + deserializeAws_restJson1BatchCreateAttendeeCommand, + serializeAws_restJson1BatchCreateAttendeeCommand, +} from "../protocols/Aws_restJson1"; + +export interface BatchCreateAttendeeCommandInput extends BatchCreateAttendeeRequest {} +export interface BatchCreateAttendeeCommandOutput extends BatchCreateAttendeeResponse, __MetadataBearer {} + +/** + *Creates a group of meeting attendees.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, BatchCreateAttendeeCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, BatchCreateAttendeeCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new BatchCreateAttendeeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link BatchCreateAttendeeCommandInput} for command's `input` shape. + * @see {@link BatchCreateAttendeeCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class BatchCreateAttendeeCommand extends $Command< + BatchCreateAttendeeCommandInput, + BatchCreateAttendeeCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchCreateAttendeeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the + * Amazon Chime Developer Guide. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, CreateAttendeeCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, CreateAttendeeCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new CreateAttendeeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateAttendeeCommandInput} for command's `input` shape. + * @see {@link CreateAttendeeCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateAttendeeCommand extends $Command< + CreateAttendeeCommandInput, + CreateAttendeeCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateAttendeeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackCreates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about specifying media Regions, see + * Amazon Chime SDK Media Regions + * in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the + * Amazon Chime Developer Guide. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, CreateMeetingCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, CreateMeetingCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new CreateMeetingCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateMeetingCommandInput} for command's `input` shape. + * @see {@link CreateMeetingCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateMeetingCommand extends $Command< + CreateMeetingCommandInput, + CreateMeetingCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateMeetingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Creates a new Amazon Chime SDK meeting in the specified media Region, with attendees. For more information about specifying media Regions, see + * Amazon Chime SDK Media Regions + * in the Amazon Chime Developer Guide. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, CreateMeetingWithAttendeesCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, CreateMeetingWithAttendeesCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new CreateMeetingWithAttendeesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateMeetingWithAttendeesCommandInput} for command's `input` shape. + * @see {@link CreateMeetingWithAttendeesCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateMeetingWithAttendeesCommand extends $Command< + CreateMeetingWithAttendeesCommandInput, + CreateMeetingWithAttendeesCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateMeetingWithAttendeesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackDeletes an attendee from the specified Amazon Chime SDK meeting and deletes their
+ * JoinToken
. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see
+ * Using the Amazon Chime SDK
+ * in the Amazon Chime Developer Guide.
Deletes the specified Amazon Chime SDK meeting. The operation deletes all attendees, disconnects all clients, and prevents new clients from + * joining the meeting. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK in the + * Amazon Chime Developer Guide.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, DeleteMeetingCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, DeleteMeetingCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new DeleteMeetingCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteMeetingCommandInput} for command's `input` shape. + * @see {@link DeleteMeetingCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteMeetingCommand extends $Command< + DeleteMeetingCommandInput, + DeleteMeetingCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteMeetingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, GetAttendeeCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, GetAttendeeCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new GetAttendeeCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetAttendeeCommandInput} for command's `input` shape. + * @see {@link GetAttendeeCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetAttendeeCommand extends $Command< + GetAttendeeCommandInput, + GetAttendeeCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetAttendeeCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackGets the Amazon Chime SDK meeting details for the specified meeting ID. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, GetMeetingCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, GetMeetingCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new GetMeetingCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetMeetingCommandInput} for command's `input` shape. + * @see {@link GetMeetingCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetMeetingCommand extends $Command< + GetMeetingCommandInput, + GetMeetingCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetMeetingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack+ * Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see + * Using the Amazon Chime SDK + * in the Amazon Chime Developer Guide. + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMeetingsClient, ListAttendeesCommand } from "@aws-sdk/client-chime-sdk-meetings"; // ES Modules import + * // const { ChimeSDKMeetingsClient, ListAttendeesCommand } = require("@aws-sdk/client-chime-sdk-meetings"); // CommonJS import + * const client = new ChimeSDKMeetingsClient(config); + * const command = new ListAttendeesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListAttendeesCommandInput} for command's `input` shape. + * @see {@link ListAttendeesCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMeetingsClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListAttendeesCommand extends $Command< + ListAttendeesCommandInput, + ListAttendeesCommandOutput, + ChimeSDKMeetingsClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAttendeesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackStarts transcription for the specified meetingId
.
Stops transcription for the specified meetingId
.
An Amazon Chime SDK meeting attendee. Includes a unique
+ * AttendeeId
and JoinToken
. The
+ * JoinToken
+ * allows a client to authenticate and join as the specified attendee. The
+ * JoinToken
+ * expires when the meeting ends, or when
+ * DeleteAttendee
+ * is called. After that, the attendee is unable to join the meeting.
+ *
We recommend securely transferring each JoinToken
from your server application
+ * to the client so that no other client has access to the token except for the one
+ * authorized to represent the attendee.
The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.
+ */ + ExternalUserId?: string; + + /** + *The Amazon Chime SDK attendee ID.
+ */ + AttendeeId?: string; + + /** + *The join token used by the Amazon Chime SDK attendee.
+ */ + JoinToken?: string; +} + +export namespace Attendee { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Attendee): any => ({ + ...obj, + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), + ...(obj.JoinToken && { JoinToken: SENSITIVE_STRING }), + }); +} + +/** + *The input parameters don't match the service's restrictions.
+ */ +export interface BadRequestException extends __SmithyException, $MetadataBearer { + name: "BadRequestException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; +} + +export namespace BadRequestException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BadRequestException): any => ({ + ...obj, + }); +} + +/** + *The Amazon Chime SDK attendee fields to create, used with the BatchCreateAttendee action.
+ */ +export interface CreateAttendeeRequestItem { + /** + *The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.
+ */ + ExternalUserId: string | undefined; +} + +export namespace CreateAttendeeRequestItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateAttendeeRequestItem): any => ({ + ...obj, + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), + }); +} + +export interface BatchCreateAttendeeRequest { + /** + *The Amazon Chime SDK ID of the meeting to which you're adding attendees.
+ */ + MeetingId: string | undefined; + + /** + *The attendee information, including attendees' IDs and join tokens.
+ */ + Attendees: CreateAttendeeRequestItem[] | undefined; +} + +export namespace BatchCreateAttendeeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BatchCreateAttendeeRequest): any => ({ + ...obj, + ...(obj.Attendees && { + Attendees: obj.Attendees.map((item) => CreateAttendeeRequestItem.filterSensitiveLog(item)), + }), + }); +} + +/** + *The list of errors returned when errors are encountered during the BatchCreateAttendee and CreateAttendee actions. This includes external user IDs, error codes, and error messages.
+ */ +export interface CreateAttendeeError { + /** + *The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.
+ */ + ExternalUserId?: string; + + /** + *The error code.
+ */ + ErrorCode?: string; + + /** + *The error message.
+ */ + ErrorMessage?: string; +} + +export namespace CreateAttendeeError { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateAttendeeError): any => ({ + ...obj, + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), + }); +} + +export interface BatchCreateAttendeeResponse { + /** + *The attendee information, including attendees' IDs and join tokens.
+ */ + Attendees?: Attendee[]; + + /** + *If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.
+ */ + Errors?: CreateAttendeeError[]; +} + +export namespace BatchCreateAttendeeResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BatchCreateAttendeeResponse): any => ({ + ...obj, + ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), + ...(obj.Errors && { Errors: obj.Errors.map((item) => CreateAttendeeError.filterSensitiveLog(item)) }), + }); +} + +/** + *The client is permanently forbidden from making the request.
+ */ +export interface ForbiddenException extends __SmithyException, $MetadataBearer { + name: "ForbiddenException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; +} + +export namespace ForbiddenException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ForbiddenException): any => ({ + ...obj, + }); +} + +/** + *The request exceeds the resource limit.
+ */ +export interface LimitExceededException extends __SmithyException, $MetadataBearer { + name: "LimitExceededException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; +} + +export namespace LimitExceededException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LimitExceededException): any => ({ + ...obj, + }); +} + +/** + *One or more of the resources in the request does not exist in the system.
+ */ +export interface NotFoundException extends __SmithyException, $MetadataBearer { + name: "NotFoundException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; +} + +export namespace NotFoundException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NotFoundException): any => ({ + ...obj, + }); +} + +/** + *The service is currently unavailable.
+ */ +export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer { + name: "ServiceUnavailableException"; + $fault: "server"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; + + /** + *The number of seconds the caller should wait before retrying.
+ */ + RetryAfterSeconds?: string; +} + +export namespace ServiceUnavailableException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceUnavailableException): any => ({ + ...obj, + }); +} + +/** + *The user isn't authorized to request a resource.
+ */ +export interface UnauthorizedException extends __SmithyException, $MetadataBearer { + name: "UnauthorizedException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; +} + +export namespace UnauthorizedException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnauthorizedException): any => ({ + ...obj, + }); +} + +export interface CreateAttendeeRequest { + /** + *The unique ID of the meeting.
+ */ + MeetingId: string | undefined; + + /** + *The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a builder application.
+ */ + ExternalUserId: string | undefined; +} + +export namespace CreateAttendeeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateAttendeeRequest): any => ({ + ...obj, + ...(obj.ExternalUserId && { ExternalUserId: SENSITIVE_STRING }), + }); +} + +export interface CreateAttendeeResponse { + /** + *The attendee information, including attendee ID and join token.
+ */ + Attendee?: Attendee; +} + +export namespace CreateAttendeeResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateAttendeeResponse): any => ({ + ...obj, + ...(obj.Attendee && { Attendee: Attendee.filterSensitiveLog(obj.Attendee) }), + }); +} + +/** + *The request was well-formed but was unable to be followed due to semantic errors.
+ */ +export interface UnprocessableEntityException extends __SmithyException, $MetadataBearer { + name: "UnprocessableEntityException"; + $fault: "client"; + Code?: string; + Message?: string; + /** + *The request id associated with the call responsible for the exception.
+ */ + RequestId?: string; +} + +export namespace UnprocessableEntityException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnprocessableEntityException): any => ({ + ...obj, + }); +} + +/** + *The configuration for resource targets to receive notifications when meeting and attendee events occur.
+ */ +export interface NotificationsConfiguration { + /** + *The ARN of the AWS Lambda function in the notifications configuration.
+ */ + LambdaFunctionArn?: string; + + /** + *The ARN of the SNS topic.
+ */ + SnsTopicArn?: string; + + /** + *The ARN of the SQS queue.
+ */ + SqsQueueArn?: string; +} + +export namespace NotificationsConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NotificationsConfiguration): any => ({ + ...obj, + ...(obj.LambdaFunctionArn && { LambdaFunctionArn: SENSITIVE_STRING }), + ...(obj.SnsTopicArn && { SnsTopicArn: SENSITIVE_STRING }), + ...(obj.SqsQueueArn && { SqsQueueArn: SENSITIVE_STRING }), + }); +} + +export interface CreateMeetingRequest { + /** + *The unique identifier for the client request. Use a different token for different meetings.
+ */ + ClientRequestToken?: string; + + /** + *The Region in which to create the meeting. Default: us-east-1
.
+ * Available values:
+ * af-south-1
+ * ,
+ * ap-northeast-1
+ * ,
+ * ap-northeast-2
+ * ,
+ * ap-south-1
+ * ,
+ * ap-southeast-1
+ * ,
+ * ap-southeast-2
+ * ,
+ * ca-central-1
+ * ,
+ * eu-central-1
+ * ,
+ * eu-north-1
+ * ,
+ * eu-south-1
+ * ,
+ * eu-west-1
+ * ,
+ * eu-west-2
+ * ,
+ * eu-west-3
+ * ,
+ * sa-east-1
+ * ,
+ * us-east-1
+ * ,
+ * us-east-2
+ * ,
+ * us-west-1
+ * ,
+ * us-west-2
+ * .
+ *
Reserved.
+ */ + MeetingHostId?: string; + + /** + *The external meeting ID.
+ */ + ExternalMeetingId: string | undefined; + + /** + *The configuration for resource targets to receive notifications when meeting and attendee events occur.
+ */ + NotificationsConfiguration?: NotificationsConfiguration; +} + +export namespace CreateMeetingRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateMeetingRequest): any => ({ + ...obj, + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + ...(obj.NotificationsConfiguration && { + NotificationsConfiguration: NotificationsConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), + }), + }); +} + +/** + *A set of endpoints used by clients to connect to the media service group for an Amazon Chime SDK meeting.
+ */ +export interface MediaPlacement { + /** + *The audio host URL.
+ */ + AudioHostUrl?: string; + + /** + *The audio fallback URL.
+ */ + AudioFallbackUrl?: string; + + /** + *The signaling URL.
+ */ + SignalingUrl?: string; + + /** + *The turn control URL.
+ */ + TurnControlUrl?: string; + + /** + *The screen data URL.
+ */ + ScreenDataUrl?: string; + + /** + *The screen viewing URL.
+ */ + ScreenViewingUrl?: string; + + /** + *The screen sharing URL.
+ */ + ScreenSharingUrl?: string; + + /** + *The event ingestion URL.
+ */ + EventIngestionUrl?: string; +} + +export namespace MediaPlacement { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MediaPlacement): any => ({ + ...obj, + }); +} + +/** + *A meeting created using the Amazon Chime SDK.
+ */ +export interface Meeting { + /** + *The Amazon Chime SDK meeting ID.
+ */ + MeetingId?: string; + + /** + *Reserved.
+ */ + MeetingHostId?: string; + + /** + *The external meeting ID.
+ */ + ExternalMeetingId?: string; + + /** + *The Region in which you create the meeting. Available values: af-south-1
, ap-northeast-1
,
+ * ap-northeast-2
, ap-south-1
, ap-southeast-1
, ap-southeast-2
, ca-central-1
,
+ * eu-central-1
, eu-north-1
, eu-south-1
,
+ * eu-west-1
, eu-west-2
, eu-west-3
,
+ * sa-east-1
, us-east-1
, us-east-2
,
+ * us-west-1
, us-west-2
.
The media placement for the meeting.
+ */ + MediaPlacement?: MediaPlacement; +} + +export namespace Meeting { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Meeting): any => ({ + ...obj, + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + }); +} + +export interface CreateMeetingResponse { + /** + *The meeting information, including the meeting ID and
+ * MediaPlacement
.
The unique identifier for the client request. Use a different token for different meetings.
+ */ + ClientRequestToken?: string; + + /** + *The Region in which to create the meeting. Default: us-east-1
.
Reserved.
+ */ + MeetingHostId?: string; + + /** + *The external meeting ID.
+ */ + ExternalMeetingId: string | undefined; + + /** + *The configuration for resource targets to receive notifications when meeting and attendee events occur.
+ */ + NotificationsConfiguration?: NotificationsConfiguration; + + /** + *The attendee information, including attendees' IDs and join tokens.
+ */ + Attendees: CreateAttendeeRequestItem[] | undefined; +} + +export namespace CreateMeetingWithAttendeesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateMeetingWithAttendeesRequest): any => ({ + ...obj, + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.MeetingHostId && { MeetingHostId: SENSITIVE_STRING }), + ...(obj.ExternalMeetingId && { ExternalMeetingId: SENSITIVE_STRING }), + ...(obj.NotificationsConfiguration && { + NotificationsConfiguration: NotificationsConfiguration.filterSensitiveLog(obj.NotificationsConfiguration), + }), + ...(obj.Attendees && { + Attendees: obj.Attendees.map((item) => CreateAttendeeRequestItem.filterSensitiveLog(item)), + }), + }); +} + +export interface CreateMeetingWithAttendeesResponse { + /** + *The meeting information, including the meeting ID and
+ * MediaPlacement
.
The attendee information, including attendees' IDs and join tokens.
+ */ + Attendees?: Attendee[]; + + /** + *If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.
+ */ + Errors?: CreateAttendeeError[]; +} + +export namespace CreateMeetingWithAttendeesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateMeetingWithAttendeesResponse): any => ({ + ...obj, + ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), + ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), + ...(obj.Errors && { Errors: obj.Errors.map((item) => CreateAttendeeError.filterSensitiveLog(item)) }), + }); +} + +export interface DeleteAttendeeRequest { + /** + *The Amazon Chime SDK meeting ID.
+ */ + MeetingId: string | undefined; + + /** + *The Amazon Chime SDK attendee ID.
+ */ + AttendeeId: string | undefined; +} + +export namespace DeleteAttendeeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteAttendeeRequest): any => ({ + ...obj, + }); +} + +export interface DeleteMeetingRequest { + /** + *The Amazon Chime SDK meeting ID.
+ */ + MeetingId: string | undefined; +} + +export namespace DeleteMeetingRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteMeetingRequest): any => ({ + ...obj, + }); +} + +export interface GetAttendeeRequest { + /** + *The Amazon Chime SDK meeting ID.
+ */ + MeetingId: string | undefined; + + /** + *The Amazon Chime SDK attendee ID.
+ */ + AttendeeId: string | undefined; +} + +export namespace GetAttendeeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetAttendeeRequest): any => ({ + ...obj, + }); +} + +export interface GetAttendeeResponse { + /** + *The Amazon Chime SDK attendee information.
+ */ + Attendee?: Attendee; +} + +export namespace GetAttendeeResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetAttendeeResponse): any => ({ + ...obj, + ...(obj.Attendee && { Attendee: Attendee.filterSensitiveLog(obj.Attendee) }), + }); +} + +export interface GetMeetingRequest { + /** + *The Amazon Chime SDK meeting ID.
+ */ + MeetingId: string | undefined; +} + +export namespace GetMeetingRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetMeetingRequest): any => ({ + ...obj, + }); +} + +export interface GetMeetingResponse { + /** + *The Amazon Chime SDK meeting information.
+ */ + Meeting?: Meeting; +} + +export namespace GetMeetingResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetMeetingResponse): any => ({ + ...obj, + ...(obj.Meeting && { Meeting: Meeting.filterSensitiveLog(obj.Meeting) }), + }); +} + +export interface ListAttendeesRequest { + /** + *The Amazon Chime SDK meeting ID.
+ */ + MeetingId: string | undefined; + + /** + *The token to use to retrieve the next page of results.
+ */ + NextToken?: string; + + /** + *The maximum number of results to return in a single call.
+ */ + MaxResults?: number; +} + +export namespace ListAttendeesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAttendeesRequest): any => ({ + ...obj, + }); +} + +export interface ListAttendeesResponse { + /** + *The Amazon Chime SDK attendee information.
+ */ + Attendees?: Attendee[]; + + /** + *The token to use to retrieve the next page of results.
+ */ + NextToken?: string; +} + +export namespace ListAttendeesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAttendeesResponse): any => ({ + ...obj, + ...(obj.Attendees && { Attendees: obj.Attendees.map((item) => Attendee.filterSensitiveLog(item)) }), + }); +} + +export enum TranscribeMedicalLanguageCode { + EN_US = "en-US", +} + +export enum TranscribeMedicalRegion { + AP_SOUTHEAST_2 = "ap-southeast-2", + AUTO = "auto", + CA_CENTRAL_1 = "ca-central-1", + EU_WEST_1 = "eu-west-1", + US_EAST_1 = "us-east-1", + US_EAST_2 = "us-east-2", + US_WEST_2 = "us-west-2", +} + +export enum TranscribeMedicalSpecialty { + CARDIOLOGY = "CARDIOLOGY", + NEUROLOGY = "NEUROLOGY", + ONCOLOGY = "ONCOLOGY", + PRIMARYCARE = "PRIMARYCARE", + RADIOLOGY = "RADIOLOGY", + UROLOGY = "UROLOGY", +} + +export enum TranscribeMedicalType { + CONVERSATION = "CONVERSATION", + DICTATION = "DICTATION", +} + +/** + *Settings specific to the Amazon Transcribe Medical engine.
+ */ +export interface EngineTranscribeMedicalSettings { + /** + *The language code specified for the Amazon Transcribe Medical engine.
+ */ + LanguageCode: TranscribeMedicalLanguageCode | string | undefined; + + /** + *The specialty specified for the Amazon Transcribe Medical engine.
+ */ + Specialty: TranscribeMedicalSpecialty | string | undefined; + + /** + *The type of transcription.
+ */ + Type: TranscribeMedicalType | string | undefined; + + /** + *The name of the vocabulary passed to Amazon Transcribe Medical.
+ */ + VocabularyName?: string; + + /** + *The AWS Region passed to Amazon Transcribe Medical. If you don't specify a Region, Amazon Chime uses the meeting's Region.
+ */ + Region?: TranscribeMedicalRegion | string; +} + +export namespace EngineTranscribeMedicalSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EngineTranscribeMedicalSettings): any => ({ + ...obj, + }); +} + +export enum TranscribeLanguageCode { + DE_DE = "de-DE", + EN_AU = "en-AU", + EN_GB = "en-GB", + EN_US = "en-US", + ES_US = "es-US", + FR_CA = "fr-CA", + FR_FR = "fr-FR", + IT_IT = "it-IT", + JA_JP = "ja-JP", + KO_KR = "ko-KR", + PT_BR = "pt-BR", + ZH_CN = "zh-CN", +} + +export enum TranscribeRegion { + AP_NORTHEAST_1 = "ap-northeast-1", + AP_NORTHEAST_2 = "ap-northeast-2", + AP_SOUTHEAST_2 = "ap-southeast-2", + AUTO = "auto", + CA_CENTRAL_1 = "ca-central-1", + EU_CENTRAL_1 = "eu-central-1", + EU_WEST_1 = "eu-west-1", + EU_WEST_2 = "eu-west-2", + SA_EAST_1 = "sa-east-1", + US_EAST_1 = "us-east-1", + US_EAST_2 = "us-east-2", + US_WEST_2 = "us-west-2", +} + +export enum TranscribeVocabularyFilterMethod { + MASK = "mask", + REMOVE = "remove", + TAG = "tag", +} + +/** + *Settings specific to the Amazon Transcribe engine.
+ */ +export interface EngineTranscribeSettings { + /** + *The language code specified for the Amazon Transcribe engine.
+ */ + LanguageCode: TranscribeLanguageCode | string | undefined; + + /** + *The filtering method passed to Amazon Transcribe.
+ */ + VocabularyFilterMethod?: TranscribeVocabularyFilterMethod | string; + + /** + *The name of the vocabulary filter passed to Amazon Transcribe.
+ */ + VocabularyFilterName?: string; + + /** + *The name of the vocabulary passed to Amazon Transcribe.
+ */ + VocabularyName?: string; + + /** + *The AWS Region passed to Amazon Transcribe. If you don't specify a Region, Amazon Chime uses the meeting's Region.
+ */ + Region?: TranscribeRegion | string; +} + +export namespace EngineTranscribeSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EngineTranscribeSettings): any => ({ + ...obj, + }); +} + +/** + *The configuration for the current transcription operation. Must contain EngineTranscribeSettings
or EngineTranscribeMedicalSettings
.
The transcription configuration settings passed to Amazon Transcribe.
+ */ + EngineTranscribeSettings?: EngineTranscribeSettings; + + /** + *The transcription configuration settings passed to Amazon Transcribe Medical.
+ */ + EngineTranscribeMedicalSettings?: EngineTranscribeMedicalSettings; +} + +export namespace TranscriptionConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TranscriptionConfiguration): any => ({ + ...obj, + }); +} + +export interface StartMeetingTranscriptionRequest { + /** + *The unique ID of the meeting being transcribed.
+ */ + MeetingId: string | undefined; + + /** + *The configuration for the current transcription operation. Must contain EngineTranscribeSettings
or
+ * EngineTranscribeMedicalSettings
.
The unique ID of the meeting for which you stop transcription.
+ */ + MeetingId: string | undefined; +} + +export namespace StopMeetingTranscriptionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopMeetingTranscriptionRequest): any => ({ + ...obj, + }); +} diff --git a/clients/client-chime-sdk-meetings/src/pagination/Interfaces.ts b/clients/client-chime-sdk-meetings/src/pagination/Interfaces.ts new file mode 100644 index 000000000000..12cc595d82b5 --- /dev/null +++ b/clients/client-chime-sdk-meetings/src/pagination/Interfaces.ts @@ -0,0 +1,8 @@ +import { PaginationConfiguration } from "@aws-sdk/types"; + +import { ChimeSDKMeetings } from "../ChimeSDKMeetings"; +import { ChimeSDKMeetingsClient } from "../ChimeSDKMeetingsClient"; + +export interface ChimeSDKMeetingsPaginationConfiguration extends PaginationConfiguration { + client: ChimeSDKMeetings | ChimeSDKMeetingsClient; +} diff --git a/clients/client-chime-sdk-meetings/src/pagination/ListAttendeesPaginator.ts b/clients/client-chime-sdk-meetings/src/pagination/ListAttendeesPaginator.ts new file mode 100644 index 000000000000..ba0f449ae9fa --- /dev/null +++ b/clients/client-chime-sdk-meetings/src/pagination/ListAttendeesPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { ChimeSDKMeetings } from "../ChimeSDKMeetings"; +import { ChimeSDKMeetingsClient } from "../ChimeSDKMeetingsClient"; +import { + ListAttendeesCommand, + ListAttendeesCommandInput, + ListAttendeesCommandOutput, +} from "../commands/ListAttendeesCommand"; +import { ChimeSDKMeetingsPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: ChimeSDKMeetingsClient, + input: ListAttendeesCommandInput, + ...args: any +): PromiseCreates a response headers policy.
+ *A response headers policy contains information about a set of HTTP response headers + * and their values. To create a response headers policy, you provide some metadata about + * the policy, and a set of configurations that specify the response headers.
+ *After you create a response headers policy, you can use its ID to attach it to one or more + * cache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront + * adds the headers in the policy to HTTP responses that it sends for requests that match + * the cache behavior.
+ */ + public createResponseHeadersPolicy( + args: CreateResponseHeadersPolicyCommandInput, + options?: __HttpHandlerOptions + ): PromiseThis API is deprecated. * Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on December 31, 2020. @@ -1412,6 +1486,44 @@ export class CloudFront extends CloudFrontClient { } } + /** + *
Deletes a response headers policy.
+ *You cannot delete a response headers policy if it’s attached to a cache behavior. + * First update your distributions to remove the response headers policy from all cache + * behaviors, then delete the response headers policy.
+ *To delete a response headers policy, you must provide the policy’s identifier and
+ * version. To get these values, you can use ListResponseHeadersPolicies
or
+ * GetResponseHeadersPolicy
.
Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, * perform the following steps.
@@ -2208,6 +2320,83 @@ export class CloudFront extends CloudFrontClient { } } + /** + *Gets a response headers policy, including metadata (the policy’s identifier and the date and + * time when the policy was last modified).
+ *To get a response headers policy, you must provide the policy’s identifier. If the
+ * response headers policy is attached to a distribution’s cache behavior, you can get the
+ * policy’s identifier using ListDistributions
or
+ * GetDistribution
. If the response headers policy is not attached to a cache
+ * behavior, you can get the identifier using
+ * ListResponseHeadersPolicies
.
Gets a response headers policy configuration.
+ *To get a response headers policy configuration, you must provide the policy’s
+ * identifier. If the response headers policy is attached to a distribution’s cache
+ * behavior, you can get the policy’s identifier using ListDistributions
or
+ * GetDistribution
. If the response headers policy is not attached to a
+ * cache behavior, you can get the identifier using
+ * ListResponseHeadersPolicies
.
Gets information about a specified RTMP distribution, including the distribution configuration.
*/ @@ -2275,7 +2464,7 @@ export class CloudFront extends CloudFrontClient { /** *Gets a list of cache policies.
*You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or - * only the custom policies created in your account.
+ * only the custom policies created in your Amazon Web Services account. *You can optionally specify the maximum number of items to receive in the response. If * the total number of items in the list exceeds the maximum that you specify, or the * default maximum, the response is paginated. To get the next page of items, send a @@ -2586,6 +2775,46 @@ export class CloudFront extends CloudFrontClient { } } + /** + *
Gets a list of distribution IDs for distributions that have a cache behavior that’s + * associated with the specified response headers policy.
+ *You can optionally specify the maximum number of items to receive in the response. If
+ * the total number of items in the list exceeds the maximum that you specify, or the
+ * default maximum, the response is paginated. To get the next page of items, send a
+ * subsequent request that specifies the NextMarker
value from the current
+ * response as the Marker
value in the subsequent request.
List the distributions that are associated with a specified WAF web ACL.
*/ @@ -2683,7 +2912,7 @@ export class CloudFront extends CloudFrontClient { } /** - *Gets a list of all CloudFront functions in your account.
+ *Gets a list of all CloudFront functions in your Amazon Web Services account.
*You can optionally apply a filter to return only the functions that are in the
* specified stage, either DEVELOPMENT
or LIVE
.
You can optionally specify the maximum number of items to receive in the response. If @@ -2793,7 +3022,7 @@ export class CloudFront extends CloudFrontClient { /** *
Gets a list of origin request policies.
*You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or - * only the custom policies created in your account.
+ * only the custom policies created in your Amazon Web Services account. *You can optionally specify the maximum number of items to receive in the response. If * the total number of items in the list exceeds the maximum that you specify, or the * default maximum, the response is paginated. To get the next page of items, send a @@ -2898,6 +3127,45 @@ export class CloudFront extends CloudFrontClient { } } + /** + *
Gets a list of response headers policies.
+ *You can optionally apply a filter to get only the managed policies created by Amazon Web Services, + * or only the custom policies created in your Amazon Web Services account.
+ *You can optionally specify the maximum number of items to receive in the response. If
+ * the total number of items in the list exceeds the maximum that you specify, or the
+ * default maximum, the response is paginated. To get the next page of items, send a
+ * subsequent request that specifies the NextMarker
value from the current
+ * response as the Marker
value in the subsequent request.
List streaming distributions.
*/ @@ -3572,6 +3840,56 @@ export class CloudFront extends CloudFrontClient { } } + /** + *Updates a response headers policy.
+ *When you update a response headers policy, the entire policy is replaced. You cannot + * update some policy fields independent of others. To update a response headers policy + * configuration:
+ *Use GetResponseHeadersPolicyConfig
to get the current policy’s
+ * configuration.
Modify the fields in the response headers policy configuration that you want + * to update.
+ *Call UpdateResponseHeadersPolicy
, providing the entire response
+ * headers policy configuration, including the fields that you modified and those
+ * that you didn’t.
Update a streaming distribution.
*/ diff --git a/clients/client-cloudfront/src/CloudFrontClient.ts b/clients/client-cloudfront/src/CloudFrontClient.ts index 10e4cb9ceb9a..4e7acfb6887c 100644 --- a/clients/client-cloudfront/src/CloudFrontClient.ts +++ b/clients/client-cloudfront/src/CloudFrontClient.ts @@ -84,6 +84,10 @@ import { CreateRealtimeLogConfigCommandInput, CreateRealtimeLogConfigCommandOutput, } from "./commands/CreateRealtimeLogConfigCommand"; +import { + CreateResponseHeadersPolicyCommandInput, + CreateResponseHeadersPolicyCommandOutput, +} from "./commands/CreateResponseHeadersPolicyCommand"; import { CreateStreamingDistributionCommandInput, CreateStreamingDistributionCommandOutput, @@ -121,6 +125,10 @@ import { DeleteRealtimeLogConfigCommandInput, DeleteRealtimeLogConfigCommandOutput, } from "./commands/DeleteRealtimeLogConfigCommand"; +import { + DeleteResponseHeadersPolicyCommandInput, + DeleteResponseHeadersPolicyCommandOutput, +} from "./commands/DeleteResponseHeadersPolicyCommand"; import { DeleteStreamingDistributionCommandInput, DeleteStreamingDistributionCommandOutput, @@ -182,6 +190,14 @@ import { GetRealtimeLogConfigCommandInput, GetRealtimeLogConfigCommandOutput, } from "./commands/GetRealtimeLogConfigCommand"; +import { + GetResponseHeadersPolicyCommandInput, + GetResponseHeadersPolicyCommandOutput, +} from "./commands/GetResponseHeadersPolicyCommand"; +import { + GetResponseHeadersPolicyConfigCommandInput, + GetResponseHeadersPolicyConfigCommandOutput, +} from "./commands/GetResponseHeadersPolicyConfigCommand"; import { GetStreamingDistributionCommandInput, GetStreamingDistributionCommandOutput, @@ -215,6 +231,10 @@ import { ListDistributionsByRealtimeLogConfigCommandInput, ListDistributionsByRealtimeLogConfigCommandOutput, } from "./commands/ListDistributionsByRealtimeLogConfigCommand"; +import { + ListDistributionsByResponseHeadersPolicyIdCommandInput, + ListDistributionsByResponseHeadersPolicyIdCommandOutput, +} from "./commands/ListDistributionsByResponseHeadersPolicyIdCommand"; import { ListDistributionsByWebACLIdCommandInput, ListDistributionsByWebACLIdCommandOutput, @@ -240,6 +260,10 @@ import { ListRealtimeLogConfigsCommandInput, ListRealtimeLogConfigsCommandOutput, } from "./commands/ListRealtimeLogConfigsCommand"; +import { + ListResponseHeadersPoliciesCommandInput, + ListResponseHeadersPoliciesCommandOutput, +} from "./commands/ListResponseHeadersPoliciesCommand"; import { ListStreamingDistributionsCommandInput, ListStreamingDistributionsCommandOutput, @@ -277,6 +301,10 @@ import { UpdateRealtimeLogConfigCommandInput, UpdateRealtimeLogConfigCommandOutput, } from "./commands/UpdateRealtimeLogConfigCommand"; +import { + UpdateResponseHeadersPolicyCommandInput, + UpdateResponseHeadersPolicyCommandOutput, +} from "./commands/UpdateResponseHeadersPolicyCommand"; import { UpdateStreamingDistributionCommandInput, UpdateStreamingDistributionCommandOutput, @@ -298,6 +326,7 @@ export type ServiceInputTypes = | CreateOriginRequestPolicyCommandInput | CreatePublicKeyCommandInput | CreateRealtimeLogConfigCommandInput + | CreateResponseHeadersPolicyCommandInput | CreateStreamingDistributionCommandInput | CreateStreamingDistributionWithTagsCommandInput | DeleteCachePolicyCommandInput @@ -311,6 +340,7 @@ export type ServiceInputTypes = | DeleteOriginRequestPolicyCommandInput | DeletePublicKeyCommandInput | DeleteRealtimeLogConfigCommandInput + | DeleteResponseHeadersPolicyCommandInput | DeleteStreamingDistributionCommandInput | DescribeFunctionCommandInput | GetCachePolicyCommandInput @@ -333,6 +363,8 @@ export type ServiceInputTypes = | GetPublicKeyCommandInput | GetPublicKeyConfigCommandInput | GetRealtimeLogConfigCommandInput + | GetResponseHeadersPolicyCommandInput + | GetResponseHeadersPolicyConfigCommandInput | GetStreamingDistributionCommandInput | GetStreamingDistributionConfigCommandInput | ListCachePoliciesCommandInput @@ -342,6 +374,7 @@ export type ServiceInputTypes = | ListDistributionsByKeyGroupCommandInput | ListDistributionsByOriginRequestPolicyIdCommandInput | ListDistributionsByRealtimeLogConfigCommandInput + | ListDistributionsByResponseHeadersPolicyIdCommandInput | ListDistributionsByWebACLIdCommandInput | ListDistributionsCommandInput | ListFieldLevelEncryptionConfigsCommandInput @@ -352,6 +385,7 @@ export type ServiceInputTypes = | ListOriginRequestPoliciesCommandInput | ListPublicKeysCommandInput | ListRealtimeLogConfigsCommandInput + | ListResponseHeadersPoliciesCommandInput | ListStreamingDistributionsCommandInput | ListTagsForResourceCommandInput | PublishFunctionCommandInput @@ -368,6 +402,7 @@ export type ServiceInputTypes = | UpdateOriginRequestPolicyCommandInput | UpdatePublicKeyCommandInput | UpdateRealtimeLogConfigCommandInput + | UpdateResponseHeadersPolicyCommandInput | UpdateStreamingDistributionCommandInput; export type ServiceOutputTypes = @@ -385,6 +420,7 @@ export type ServiceOutputTypes = | CreateOriginRequestPolicyCommandOutput | CreatePublicKeyCommandOutput | CreateRealtimeLogConfigCommandOutput + | CreateResponseHeadersPolicyCommandOutput | CreateStreamingDistributionCommandOutput | CreateStreamingDistributionWithTagsCommandOutput | DeleteCachePolicyCommandOutput @@ -398,6 +434,7 @@ export type ServiceOutputTypes = | DeleteOriginRequestPolicyCommandOutput | DeletePublicKeyCommandOutput | DeleteRealtimeLogConfigCommandOutput + | DeleteResponseHeadersPolicyCommandOutput | DeleteStreamingDistributionCommandOutput | DescribeFunctionCommandOutput | GetCachePolicyCommandOutput @@ -420,6 +457,8 @@ export type ServiceOutputTypes = | GetPublicKeyCommandOutput | GetPublicKeyConfigCommandOutput | GetRealtimeLogConfigCommandOutput + | GetResponseHeadersPolicyCommandOutput + | GetResponseHeadersPolicyConfigCommandOutput | GetStreamingDistributionCommandOutput | GetStreamingDistributionConfigCommandOutput | ListCachePoliciesCommandOutput @@ -429,6 +468,7 @@ export type ServiceOutputTypes = | ListDistributionsByKeyGroupCommandOutput | ListDistributionsByOriginRequestPolicyIdCommandOutput | ListDistributionsByRealtimeLogConfigCommandOutput + | ListDistributionsByResponseHeadersPolicyIdCommandOutput | ListDistributionsByWebACLIdCommandOutput | ListDistributionsCommandOutput | ListFieldLevelEncryptionConfigsCommandOutput @@ -439,6 +479,7 @@ export type ServiceOutputTypes = | ListOriginRequestPoliciesCommandOutput | ListPublicKeysCommandOutput | ListRealtimeLogConfigsCommandOutput + | ListResponseHeadersPoliciesCommandOutput | ListStreamingDistributionsCommandOutput | ListTagsForResourceCommandOutput | PublishFunctionCommandOutput @@ -455,6 +496,7 @@ export type ServiceOutputTypes = | UpdateOriginRequestPolicyCommandOutput | UpdatePublicKeyCommandOutput | UpdateRealtimeLogConfigCommandOutput + | UpdateResponseHeadersPolicyCommandOutput | UpdateStreamingDistributionCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { diff --git a/clients/client-cloudfront/src/commands/CreateResponseHeadersPolicyCommand.ts b/clients/client-cloudfront/src/commands/CreateResponseHeadersPolicyCommand.ts new file mode 100644 index 000000000000..49d8c510a44e --- /dev/null +++ b/clients/client-cloudfront/src/commands/CreateResponseHeadersPolicyCommand.ts @@ -0,0 +1,105 @@ +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 { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { CreateResponseHeadersPolicyRequest, CreateResponseHeadersPolicyResult } from "../models/models_0"; +import { + deserializeAws_restXmlCreateResponseHeadersPolicyCommand, + serializeAws_restXmlCreateResponseHeadersPolicyCommand, +} from "../protocols/Aws_restXml"; + +export interface CreateResponseHeadersPolicyCommandInput extends CreateResponseHeadersPolicyRequest {} +export interface CreateResponseHeadersPolicyCommandOutput extends CreateResponseHeadersPolicyResult, __MetadataBearer {} + +/** + *Creates a response headers policy.
+ *A response headers policy contains information about a set of HTTP response headers + * and their values. To create a response headers policy, you provide some metadata about + * the policy, and a set of configurations that specify the response headers.
+ *After you create a response headers policy, you can use its ID to attach it to one or more + * cache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront + * adds the headers in the policy to HTTP responses that it sends for requests that match + * the cache behavior.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { CloudFrontClient, CreateResponseHeadersPolicyCommand } from "@aws-sdk/client-cloudfront"; // ES Modules import + * // const { CloudFrontClient, CreateResponseHeadersPolicyCommand } = require("@aws-sdk/client-cloudfront"); // CommonJS import + * const client = new CloudFrontClient(config); + * const command = new CreateResponseHeadersPolicyCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateResponseHeadersPolicyCommandInput} for command's `input` shape. + * @see {@link CreateResponseHeadersPolicyCommandOutput} for command's `response` shape. + * @see {@link CloudFrontClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateResponseHeadersPolicyCommand extends $Command< + CreateResponseHeadersPolicyCommandInput, + CreateResponseHeadersPolicyCommandOutput, + CloudFrontClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateResponseHeadersPolicyCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackDeletes a response headers policy.
+ *You cannot delete a response headers policy if it’s attached to a cache behavior. + * First update your distributions to remove the response headers policy from all cache + * behaviors, then delete the response headers policy.
+ *To delete a response headers policy, you must provide the policy’s identifier and
+ * version. To get these values, you can use ListResponseHeadersPolicies
or
+ * GetResponseHeadersPolicy
.
Gets a response headers policy, including metadata (the policy’s identifier and the date and + * time when the policy was last modified).
+ *To get a response headers policy, you must provide the policy’s identifier. If the
+ * response headers policy is attached to a distribution’s cache behavior, you can get the
+ * policy’s identifier using ListDistributions
or
+ * GetDistribution
. If the response headers policy is not attached to a cache
+ * behavior, you can get the identifier using
+ * ListResponseHeadersPolicies
.
Gets a response headers policy configuration.
+ *To get a response headers policy configuration, you must provide the policy’s
+ * identifier. If the response headers policy is attached to a distribution’s cache
+ * behavior, you can get the policy’s identifier using ListDistributions
or
+ * GetDistribution
. If the response headers policy is not attached to a
+ * cache behavior, you can get the identifier using
+ * ListResponseHeadersPolicies
.
Gets a list of cache policies.
*You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or - * only the custom policies created in your account.
+ * only the custom policies created in your Amazon Web Services account. *You can optionally specify the maximum number of items to receive in the response. If * the total number of items in the list exceeds the maximum that you specify, or the * default maximum, the response is paginated. To get the next page of items, send a diff --git a/clients/client-cloudfront/src/commands/ListDistributionsByResponseHeadersPolicyIdCommand.ts b/clients/client-cloudfront/src/commands/ListDistributionsByResponseHeadersPolicyIdCommand.ts new file mode 100644 index 000000000000..283e5947f2f8 --- /dev/null +++ b/clients/client-cloudfront/src/commands/ListDistributionsByResponseHeadersPolicyIdCommand.ts @@ -0,0 +1,116 @@ +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 { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { + ListDistributionsByResponseHeadersPolicyIdRequest, + ListDistributionsByResponseHeadersPolicyIdResult, +} from "../models/models_1"; +import { + deserializeAws_restXmlListDistributionsByResponseHeadersPolicyIdCommand, + serializeAws_restXmlListDistributionsByResponseHeadersPolicyIdCommand, +} from "../protocols/Aws_restXml"; + +export interface ListDistributionsByResponseHeadersPolicyIdCommandInput + extends ListDistributionsByResponseHeadersPolicyIdRequest {} +export interface ListDistributionsByResponseHeadersPolicyIdCommandOutput + extends ListDistributionsByResponseHeadersPolicyIdResult, + __MetadataBearer {} + +/** + *
Gets a list of distribution IDs for distributions that have a cache behavior that’s + * associated with the specified response headers policy.
+ *You can optionally specify the maximum number of items to receive in the response. If
+ * the total number of items in the list exceeds the maximum that you specify, or the
+ * default maximum, the response is paginated. To get the next page of items, send a
+ * subsequent request that specifies the NextMarker
value from the current
+ * response as the Marker
value in the subsequent request.
Gets a list of all CloudFront functions in your account.
+ *Gets a list of all CloudFront functions in your Amazon Web Services account.
*You can optionally apply a filter to return only the functions that are in the
* specified stage, either DEVELOPMENT
or LIVE
.
You can optionally specify the maximum number of items to receive in the response. If diff --git a/clients/client-cloudfront/src/commands/ListOriginRequestPoliciesCommand.ts b/clients/client-cloudfront/src/commands/ListOriginRequestPoliciesCommand.ts index 116c584bca28..046c59476170 100644 --- a/clients/client-cloudfront/src/commands/ListOriginRequestPoliciesCommand.ts +++ b/clients/client-cloudfront/src/commands/ListOriginRequestPoliciesCommand.ts @@ -24,7 +24,7 @@ export interface ListOriginRequestPoliciesCommandOutput extends ListOriginReques /** *
Gets a list of origin request policies.
*You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or - * only the custom policies created in your account.
+ * only the custom policies created in your Amazon Web Services account. *You can optionally specify the maximum number of items to receive in the response. If * the total number of items in the list exceeds the maximum that you specify, or the * default maximum, the response is paginated. To get the next page of items, send a diff --git a/clients/client-cloudfront/src/commands/ListResponseHeadersPoliciesCommand.ts b/clients/client-cloudfront/src/commands/ListResponseHeadersPoliciesCommand.ts new file mode 100644 index 000000000000..be9d0c61da24 --- /dev/null +++ b/clients/client-cloudfront/src/commands/ListResponseHeadersPoliciesCommand.ts @@ -0,0 +1,105 @@ +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 { CloudFrontClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../CloudFrontClient"; +import { ListResponseHeadersPoliciesRequest, ListResponseHeadersPoliciesResult } from "../models/models_1"; +import { + deserializeAws_restXmlListResponseHeadersPoliciesCommand, + serializeAws_restXmlListResponseHeadersPoliciesCommand, +} from "../protocols/Aws_restXml"; + +export interface ListResponseHeadersPoliciesCommandInput extends ListResponseHeadersPoliciesRequest {} +export interface ListResponseHeadersPoliciesCommandOutput extends ListResponseHeadersPoliciesResult, __MetadataBearer {} + +/** + *
Gets a list of response headers policies.
+ *You can optionally apply a filter to get only the managed policies created by Amazon Web Services, + * or only the custom policies created in your Amazon Web Services account.
+ *You can optionally specify the maximum number of items to receive in the response. If
+ * the total number of items in the list exceeds the maximum that you specify, or the
+ * default maximum, the response is paginated. To get the next page of items, send a
+ * subsequent request that specifies the NextMarker
value from the current
+ * response as the Marker
value in the subsequent request.
Updates a response headers policy.
+ *When you update a response headers policy, the entire policy is replaced. You cannot + * update some policy fields independent of others. To update a response headers policy + * configuration:
+ *Use GetResponseHeadersPolicyConfig
to get the current policy’s
+ * configuration.
Modify the fields in the response headers policy configuration that you want + * to update.
+ *Call UpdateResponseHeadersPolicy
, providing the entire response
+ * headers policy configuration, including the fields that you modified and those
+ * that you didn’t.
Access denied.
*/ @@ -102,13 +113,13 @@ export namespace ActiveTrustedKeyGroups { } /** - *A list of accounts and the active CloudFront key pairs in each account that CloudFront can use to + *
A list of Amazon Web Services accounts and the active CloudFront key pairs in each account that CloudFront can use to * verify the signatures of signed URLs and signed cookies.
*/ export interface Signer { /** - *An account number that contains active CloudFront key pairs that CloudFront can use to verify the - * signatures of signed URLs and signed cookies. If the account that owns the key pairs + *
An Amazon Web Services account number that contains active CloudFront key pairs that CloudFront can use to verify the
+ * signatures of signed URLs and signed cookies. If the Amazon Web Services account that owns the key pairs
* is the same account that owns the CloudFront distribution, the value of this field is
* self
.
A list of accounts and the active CloudFront key pairs in each account that CloudFront can use + *
A list of Amazon Web Services accounts and the active CloudFront key pairs in each account that CloudFront can use * to verify the signatures of signed URLs and signed cookies.
*/ export interface ActiveTrustedSigners { /** - *This field is true
if any of the accounts in the list have active CloudFront
+ *
This field is true
if any of the Amazon Web Services accounts in the list have active CloudFront
* key pairs that CloudFront can use to verify the signatures of signed URLs and signed cookies.
* If not, this field is false
.
The number of accounts in the list.
+ *The number of Amazon Web Services accounts in the list.
*/ Quantity: number | undefined; /** - *A list of accounts and the identifiers of active CloudFront key pairs in each account that + *
A list of Amazon Web Services accounts and the identifiers of active CloudFront key pairs in each account that * CloudFront can use to verify the signatures of signed URLs and signed cookies.
*/ Items?: Signer[]; @@ -883,24 +894,24 @@ export namespace TrustedKeyGroups { } /** - *A list of accounts whose public keys CloudFront can use to verify the signatures of signed + *
A list of Amazon Web Services accounts whose public keys CloudFront can use to verify the signatures of signed * URLs and signed cookies.
*/ export interface TrustedSigners { /** - *This field is true
if any of the accounts have public keys that CloudFront can
+ *
This field is true
if any of the Amazon Web Services accounts have public keys that CloudFront can
* use to verify the signatures of signed URLs and signed cookies. If not, this field is
* false
.
The number of accounts in the list.
+ *The number of Amazon Web Services accounts in the list.
*/ Quantity: number | undefined; /** - *A list of account identifiers.
+ *A list of Amazon Web Services account identifiers.
*/ Items?: string[]; } @@ -965,11 +976,11 @@ export interface CacheBehavior { *We recommend using TrustedKeyGroups
instead of
* TrustedSigners
.
A list of account IDs whose public keys CloudFront can use to validate signed URLs or signed + *
A list of Amazon Web Services account IDs whose public keys CloudFront can use to validate signed URLs or signed * cookies.
*When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies * for all requests that match the cache behavior. The URLs or cookies must be signed with - * the private key of a CloudFront key pair in the trusted signer’s account. The signed URL + * the private key of a CloudFront key pair in the trusted signer’s Amazon Web Services account. The signed URL * or cookie contains information about which public key CloudFront should use to verify the * signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
*/ @@ -1101,6 +1112,11 @@ export interface CacheBehavior { */ OriginRequestPolicyId?: string; + /** + *The identifier for a response headers policy.
+ */ + ResponseHeadersPolicyId?: string; + /** * @deprecated * @@ -1692,7 +1708,7 @@ export type CachePolicyType = "custom" | "managed"; export interface CachePolicySummary { /** *The type of cache policy, either managed
(created by Amazon Web Services) or
- * custom
(created in this account).
custom
(created in this Amazon Web Services account).
*/
Type: CachePolicyType | string | undefined;
@@ -1828,7 +1844,7 @@ export namespace InconsistentQuantities {
}
/**
- * You have reached the maximum number of cache policies for this account. For more + *
You have reached the maximum number of cache policies for this Amazon Web Services account. For more * information, see Quotas (formerly known as limits) in the * Amazon CloudFront Developer Guide.
*/ @@ -2252,11 +2268,11 @@ export interface DefaultCacheBehavior { *We recommend using TrustedKeyGroups
instead of
* TrustedSigners
.
A list of account IDs whose public keys CloudFront can use to validate signed URLs or signed + *
A list of Amazon Web Services account IDs whose public keys CloudFront can use to validate signed URLs or signed * cookies.
*When a cache behavior contains trusted signers, CloudFront requires signed URLs or signed cookies * for all requests that match the cache behavior. The URLs or cookies must be signed with - * the private key of a CloudFront key pair in a trusted signer’s account. The signed URL or + * the private key of a CloudFront key pair in a trusted signer’s Amazon Web Services account. The signed URL or * cookie contains information about which public key CloudFront should use to verify the * signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.
*/ @@ -2390,6 +2406,11 @@ export interface DefaultCacheBehavior { */ OriginRequestPolicyId?: string; + /** + *The identifier for a response headers policy.
+ */ + ResponseHeadersPolicyId?: string; + /** * @deprecated * @@ -2686,6 +2707,7 @@ export namespace OriginCustomHeader { */ export const filterSensitiveLog = (obj: OriginCustomHeader): any => ({ ...obj, + ...(obj.HeaderValue && { HeaderValue: SENSITIVE_STRING }), }); } @@ -2713,6 +2735,7 @@ export namespace CustomHeaders { */ export const filterSensitiveLog = (obj: CustomHeaders): any => ({ ...obj, + ...(obj.Items && { Items: obj.Items.map((item) => OriginCustomHeader.filterSensitiveLog(item)) }), }); } @@ -2841,13 +2864,13 @@ export interface OriginShield { Enabled: boolean | undefined; /** - *The Region for Origin Shield.
- *Specify the Region that has the lowest latency to your origin. + *
The Amazon Web Services Region for Origin Shield.
+ *Specify the Amazon Web Services Region that has the lowest latency to your origin.
* To specify a region, use the region code, not the region name.
* For example, specify the US East (Ohio) region as us-east-2
.
When you enable CloudFront Origin Shield, you must specify the Region for Origin - * Shield. For the list of Regions that you can specify, and for help choosing the best - * Region for your origin, see Choosing the Region for Origin Shield in the + *
When you enable CloudFront Origin Shield, you must specify the Amazon Web Services Region for Origin + * Shield. For the list of Amazon Web Services Regions that you can specify, and for help choosing the best + * Region for your origin, see Choosing the Amazon Web Services Region for Origin Shield in the * Amazon CloudFront Developer Guide.
*/ OriginShieldRegion?: string; @@ -3017,6 +3040,7 @@ export namespace Origin { */ export const filterSensitiveLog = (obj: Origin): any => ({ ...obj, + ...(obj.CustomHeaders && { CustomHeaders: CustomHeaders.filterSensitiveLog(obj.CustomHeaders) }), }); } @@ -3538,7 +3562,7 @@ export interface DistributionConfig { * content (or restrict access but not by IP address), you can create two distributions. For more * information, see * Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide. - *If you're using an Route 53 Amazon Web Services Integration alias resource record set to route traffic to your CloudFront + *
If you're using an Route 53 Amazon Web Services Integration alias resource record set to route traffic to your CloudFront * distribution, you need to create a second alias resource record set when both of the following * are true:
*For more information, see Routing Traffic - * to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Route 53 Amazon Web Services Integration + * to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Route 53 Amazon Web Services Integration * Developer Guide.
- *If you created a CNAME resource record set, either with Route 53 Amazon Web Services Integration or with another DNS + *
If you created a CNAME resource record set, either with Route 53 Amazon Web Services Integration or with another DNS * service, you don't need to make any changes. A CNAME record will route traffic to your * distribution regardless of the IP address format of the viewer request.
*/ @@ -3605,7 +3629,7 @@ export interface Distribution { /** *The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
- * 123456789012
is your account ID.
123456789012
is your Amazon Web Services account ID.
*/
ARN: string | undefined;
@@ -3638,7 +3662,7 @@ export interface Distribution {
*
* CloudFront automatically adds this field to the response if you’ve configured a cache behavior in * this distribution to serve private content using trusted signers. This field contains a - * list of account IDs and the active CloudFront key pairs in each account that CloudFront can use + * list of Amazon Web Services account IDs and the active CloudFront key pairs in each account that CloudFront can use * to verify the signatures of signed URLs or signed cookies.
*/ ActiveTrustedSigners?: ActiveTrustedSigners; @@ -4224,7 +4248,25 @@ export namespace NoSuchRealtimeLogConfig { } /** - *The specified real-time log configuration belongs to a different account.
+ *The response headers policy does not exist.
+ */ +export interface NoSuchResponseHeadersPolicy extends __SmithyException, $MetadataBearer { + name: "NoSuchResponseHeadersPolicy"; + $fault: "client"; + Message?: string; +} + +export namespace NoSuchResponseHeadersPolicy { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NoSuchResponseHeadersPolicy): any => ({ + ...obj, + }); +} + +/** + *The specified real-time log configuration belongs to a different Amazon Web Services account.
*/ export interface RealtimeLogConfigOwnerMismatch extends __SmithyException, $MetadataBearer { name: "RealtimeLogConfigOwnerMismatch"; @@ -4391,6 +4433,27 @@ export namespace TooManyDistributionsAssociatedToOriginRequestPolicy { }); } +/** + *The maximum number of distributions have been associated with the specified response headers + * policy.
+ *For more information, see Quotas (formerly known as limits) in the + * Amazon CloudFront Developer Guide.
+ */ +export interface TooManyDistributionsAssociatedToResponseHeadersPolicy extends __SmithyException, $MetadataBearer { + name: "TooManyDistributionsAssociatedToResponseHeadersPolicy"; + $fault: "client"; + Message?: string; +} + +export namespace TooManyDistributionsAssociatedToResponseHeadersPolicy { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TooManyDistributionsAssociatedToResponseHeadersPolicy): any => ({ + ...obj, + }); +} + /** *You have reached the maximum number of distributions that are associated with a CloudFront * function. For more information, see Quotas (formerly known as limits) in the @@ -5632,7 +5695,7 @@ export namespace CreateFunctionResult { } /** - *
A function with the same name already exists in this account. To create a + *
A function with the same name already exists in this Amazon Web Services account. To create a
* function, you must provide a unique name. To update an existing function, use
* UpdateFunction
.
You have reached the maximum number of CloudFront functions for this account. For more + *
You have reached the maximum number of CloudFront functions for this Amazon Web Services account. For more * information, see Quotas (formerly known as limits) in the * Amazon CloudFront Developer Guide.
*/ @@ -5998,7 +6061,7 @@ export namespace KeyGroupAlreadyExists { } /** - *You have reached the maximum number of key groups for this account. For more + *
You have reached the maximum number of key groups for this Amazon Web Services account. For more * information, see Quotas (formerly known as limits) in the * Amazon CloudFront Developer Guide.
*/ @@ -6490,7 +6553,7 @@ export namespace TooManyHeadersInOriginRequestPolicy { } /** - *You have reached the maximum number of origin request policies for this account. + *
You have reached the maximum number of origin request policies for this Amazon Web Services account. * For more information, see Quotas (formerly known as limits) in the * Amazon CloudFront Developer Guide.
*/ @@ -6847,7 +6910,7 @@ export namespace RealtimeLogConfigAlreadyExists { } /** - *You have reached the maximum number of real-time log configurations for this account. + *
You have reached the maximum number of real-time log configurations for this Amazon Web Services account. * For more information, see Quotas (formerly known as limits) in the * Amazon CloudFront Developer Guide.
*/ @@ -6867,1367 +6930,1633 @@ export namespace TooManyRealtimeLogConfigs { } /** - *A complex type that controls whether access logs are written for this streaming distribution.
+ *A list of HTTP header names that CloudFront includes as values for the
+ * Access-Control-Allow-Headers
HTTP response header.
For more information about the Access-Control-Allow-Headers
HTTP response
+ * header, see Access-Control-Allow-Headers in the MDN Web Docs.
Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't
- * want to enable logging when you create a streaming distribution or if you want to disable
- * logging for an existing streaming distribution, specify false
for
- * Enabled
, and specify empty Bucket
and Prefix
- * elements. If you specify false
for Enabled
but you specify values
- * for Bucket
and Prefix
, the values are automatically deleted.
- *
The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com
.
The number of HTTP header names in the list.
*/ - Bucket: string | undefined; + Quantity: number | undefined; /** - *An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example,
- * myprefix/
. If you want to enable logging, but you don't want to specify a prefix, you still must include
- * an empty Prefix
element in the Logging
element.
The list of HTTP header names. You can specify *
to allow all headers.
A complex type that contains information about the Amazon S3 bucket from which you want - * CloudFront to get your media files for distribution.
+ *A list of HTTP methods that CloudFront includes as values for the
+ * Access-Control-Allow-Methods
HTTP response header.
For more information about the Access-Control-Allow-Methods
HTTP response
+ * header, see Access-Control-Allow-Methods in the MDN Web Docs.
The DNS name of the Amazon S3 origin.
+ *The number of HTTP methods in the list.
*/ - DomainName: string | undefined; + Quantity: number | undefined; /** - *The CloudFront origin access identity to associate with the distribution. Use an origin - * access identity to configure the distribution so that end users can only access objects in an - * Amazon S3 bucket through CloudFront.
- *If you want end users to be able to access objects using either the CloudFront URL or the
- * Amazon S3 URL, specify an empty OriginAccessIdentity
element.
To delete the origin access identity from an existing distribution, update the
- * distribution configuration and include an empty OriginAccessIdentity
- * element.
To replace the origin access identity, update the distribution configuration and - * specify the new origin access identity.
- *For more information, see Using an Origin Access - * Identity to Restrict Access to Your Amazon S3 Content in the - * Amazon CloudFront Developer Guide.
+ *The list of HTTP methods. Valid values are:
+ *
+ * GET
+ *
+ * DELETE
+ *
+ * HEAD
+ *
+ * OPTIONS
+ *
+ * PATCH
+ *
+ * POST
+ *
+ * PUT
+ *
+ * ALL
+ *
+ * ALL
is a special value that includes all of the listed HTTP
+ * methods.
The RTMP distribution's configuration information.
+ *A list of origins (domain names) that CloudFront can use as the value for the
+ * Access-Control-Allow-Origin
HTTP response header.
For more information about the Access-Control-Allow-Origin
HTTP response
+ * header, see Access-Control-Allow-Origin in the MDN Web Docs.
A unique value (for example, a date-time stamp) that ensures that the request can't be - * replayed.
- *If the value of CallerReference
is new (regardless of the content of the
- * StreamingDistributionConfig
object), CloudFront creates a new distribution.
If CallerReference
is a value that you already sent in a previous request to
- * create a distribution, CloudFront returns a DistributionAlreadyExists
error.
A complex type that contains information about the Amazon S3 bucket from which you want - * CloudFront to get your media files for distribution.
- */ - S3Origin: S3Origin | undefined; - - /** - *A complex type that contains information about CNAMEs (alternate domain names), if any, - * for this streaming distribution.
- */ - Aliases?: Aliases; - - /** - *Any comments you want to include about the streaming distribution.
- */ - Comment: string | undefined; - - /** - *A complex type that controls whether access logs are written for the streaming - * distribution.
- */ - Logging?: StreamingLoggingConfig; - - /** - *A complex type that specifies any accounts that you want to permit to create signed - * URLs for private content. If you want the distribution to use signed URLs, include this - * element; if you want the distribution to use public URLs, remove this element. For more - * information, see Serving Private Content through - * CloudFront in the Amazon CloudFront Developer Guide.
- */ - TrustedSigners: TrustedSigners | undefined; - +export interface ResponseHeadersPolicyAccessControlAllowOrigins { /** - *A complex type that contains information about price class for this streaming - * distribution.
+ *The number of origins in the list.
*/ - PriceClass?: PriceClass | string; + Quantity: number | undefined; /** - *Whether the streaming distribution is enabled to accept user requests for - * content.
+ *The list of origins (domain names). You can specify *
to allow all
+ * origins.
The request to create a new streaming distribution.
+ *A list of HTTP headers that CloudFront includes as values for the
+ * Access-Control-Expose-Headers
HTTP response header.
For more information about the Access-Control-Expose-Headers
HTTP
+ * response header, see Access-Control-Expose-Headers in the MDN Web Docs.
The streaming distribution's configuration information.
+ *The number of HTTP headers in the list.
*/ - StreamingDistributionConfig: StreamingDistributionConfig | undefined; + Quantity: number | undefined; + + /** + *The list of HTTP headers. You can specify *
to expose all headers.
A streaming distribution tells CloudFront where you want RTMP content to be delivered from, and the details about how to - * track and manage content delivery.
+ *A configuration for a set of HTTP response headers that are used for cross-origin resource + * sharing (CORS). CloudFront adds these headers to HTTP responses that it sends for CORS + * requests that match a cache behavior associated with this response headers + * policy.
+ *For more information about CORS, see Cross-Origin Resource + * Sharing (CORS) in the MDN Web Docs.
*/ -export interface StreamingDistribution { +export interface ResponseHeadersPolicyCorsConfig { /** - *The identifier for the RTMP distribution. For example:
- * EGTXBD79EXAMPLE
.
A list of origins (domain names) that CloudFront can use as the value for the
+ * Access-Control-Allow-Origin
HTTP response header.
For more information about the Access-Control-Allow-Origin
HTTP response
+ * header, see Access-Control-Allow-Origin in the MDN Web Docs.
The ARN (Amazon Resource Name) for the distribution. For example:
- * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
- * 123456789012
is your account ID.
A list of HTTP header names that CloudFront includes as values for the
+ * Access-Control-Allow-Headers
HTTP response header.
For more information about the Access-Control-Allow-Headers
HTTP response
+ * header, see Access-Control-Allow-Headers in the MDN Web Docs.
The current status of the RTMP distribution. When the status is Deployed
,
- * the distribution's information is propagated to all CloudFront edge locations.
A list of HTTP methods that CloudFront includes as values for the
+ * Access-Control-Allow-Methods
HTTP response header.
For more information about the Access-Control-Allow-Methods
HTTP response
+ * header, see Access-Control-Allow-Methods in the MDN Web Docs.
The date and time that the distribution was last modified.
+ *A Boolean that CloudFront uses as the value for the Access-Control-Allow-Credentials
+ * HTTP response header.
For more information about the Access-Control-Allow-Credentials
HTTP
+ * response header, see Access-Control-Allow-Credentials in the MDN Web Docs.
The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net
.
A list of HTTP headers that CloudFront includes as values for the
+ * Access-Control-Expose-Headers
HTTP response header.
For more information about the Access-Control-Expose-Headers
HTTP
+ * response header, see Access-Control-Expose-Headers in the MDN Web Docs.
A complex type that lists the accounts, if any, that you included in the
- * TrustedSigners
complex type for this distribution. These are the accounts that
- * you want to allow to create signed URLs for private content.
The Signer
complex type lists the account number of the trusted
- * signer or self
if the signer is the account that created the distribution.
- * The Signer
element also includes the IDs of any active CloudFront key pairs that are
- * associated with the trusted signer's account. If no KeyPairId
element
- * appears for a Signer
, that signer can't create signed URLs.
For more information, see Serving Private - * Content through CloudFront in the Amazon CloudFront Developer Guide.
+ *A number that CloudFront uses as the value for the Access-Control-Max-Age
HTTP
+ * response header.
For more information about the Access-Control-Max-Age
HTTP response
+ * header, see Access-Control-Max-Age in the MDN Web Docs.
The current configuration information for the RTMP distribution.
+ *A Boolean that determines whether CloudFront overrides HTTP response headers received from the + * origin with the ones specified in this response headers policy.
*/ - StreamingDistributionConfig: StreamingDistributionConfig | undefined; + OriginOverride: boolean | undefined; } -export namespace StreamingDistribution { +export namespace ResponseHeadersPolicyCorsConfig { /** * @internal */ - export const filterSensitiveLog = (obj: StreamingDistribution): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyCorsConfig): any => ({ ...obj, }); } /** - *The returned result of the corresponding request.
+ *An HTTP response header name and its value. CloudFront includes this header in HTTP responses that + * it sends for requests that match a cache behavior that’s associated with this response + * headers policy.
*/ -export interface CreateStreamingDistributionResult { +export interface ResponseHeadersPolicyCustomHeader { /** - *The streaming distribution's information.
+ *The HTTP response header name.
*/ - StreamingDistribution?: StreamingDistribution; + Header: string | undefined; /** - *The fully qualified URI of the new streaming distribution resource just created.
+ *The value for the HTTP response header.
*/ - Location?: string; + Value: string | undefined; /** - *The current version of the streaming distribution created.
+ *A Boolean that determines whether CloudFront overrides a response header with the same name + * received from the origin with the header specified here.
*/ - ETag?: string; + Override: boolean | undefined; } -export namespace CreateStreamingDistributionResult { +export namespace ResponseHeadersPolicyCustomHeader { /** * @internal */ - export const filterSensitiveLog = (obj: CreateStreamingDistributionResult): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyCustomHeader): any => ({ ...obj, }); } /** - *The caller reference you attempted to create the streaming distribution with - * is associated with another distribution
+ *A list of HTTP response header names and their values. CloudFront includes these headers in HTTP + * responses that it sends for requests that match a cache behavior that’s associated with + * this response headers policy.
*/ -export interface StreamingDistributionAlreadyExists extends __SmithyException, $MetadataBearer { - name: "StreamingDistributionAlreadyExists"; - $fault: "client"; - Message?: string; +export interface ResponseHeadersPolicyCustomHeadersConfig { + /** + *The number of HTTP response headers in the list.
+ */ + Quantity: number | undefined; + + /** + *The list of HTTP response headers and their values.
+ */ + Items?: ResponseHeadersPolicyCustomHeader[]; } -export namespace StreamingDistributionAlreadyExists { +export namespace ResponseHeadersPolicyCustomHeadersConfig { /** * @internal */ - export const filterSensitiveLog = (obj: StreamingDistributionAlreadyExists): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyCustomHeadersConfig): any => ({ ...obj, }); } /** - *Your request contains more CNAMEs than are allowed per distribution.
+ *The policy directives and their values that CloudFront includes as values for the
+ * Content-Security-Policy
HTTP response header.
For more information about the Content-Security-Policy
HTTP response
+ * header, see Content-Security-Policy in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the Content-Security-Policy
+ * HTTP response header received from the origin with the one specified in this response
+ * headers policy.
The policy directives and their values that CloudFront includes as values for the
+ * Content-Security-Policy
HTTP response header.
Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
+ *Determines whether CloudFront includes the X-Content-Type-Options
HTTP response
+ * header with its value set to nosniff
.
For more information about the X-Content-Type-Options
HTTP response
+ * header, see X-Content-Type-Options in the MDN Web Docs.
A Boolean that determines whether CloudFront overrides the X-Content-Type-Options
+ * HTTP response header received from the origin with the one specified in this response
+ * headers policy.
A streaming distribution Configuration and a list of tags to be associated with the - * streaming distribution.
+ *Determines whether CloudFront includes the X-Frame-Options
HTTP response header and
+ * the header’s value.
For more information about the X-Frame-Options
HTTP response header, see
+ * X-Frame-Options in the MDN Web Docs.
A streaming distribution Configuration.
+ *A Boolean that determines whether CloudFront overrides the X-Frame-Options
HTTP
+ * response header received from the origin with the one specified in this response headers
+ * policy.
A complex type that contains zero or more Tag
elements.
The value of the X-Frame-Options
HTTP response header. Valid values are
+ * DENY
and SAMEORIGIN
.
For more information about these values, see X-Frame-Options in the MDN Web Docs.
*/ - Tags: Tags | undefined; + FrameOption: FrameOptionsList | string | undefined; } -export namespace StreamingDistributionConfigWithTags { +export namespace ResponseHeadersPolicyFrameOptions { /** * @internal */ - export const filterSensitiveLog = (obj: StreamingDistributionConfigWithTags): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyFrameOptions): any => ({ ...obj, }); } +export enum ReferrerPolicyList { + no_referrer = "no-referrer", + no_referrer_when_downgrade = "no-referrer-when-downgrade", + origin = "origin", + origin_when_cross_origin = "origin-when-cross-origin", + same_origin = "same-origin", + strict_origin = "strict-origin", + strict_origin_when_cross_origin = "strict-origin-when-cross-origin", + unsafe_url = "unsafe-url", +} + /** - *The request to create a new streaming distribution with tags.
+ *Determines whether CloudFront includes the Referrer-Policy
HTTP response header and
+ * the header’s value.
For more information about the Referrer-Policy
HTTP response header, see
+ * Referrer-Policy in the MDN Web Docs.
The streaming distribution's configuration information.
+ *A Boolean that determines whether CloudFront overrides the Referrer-Policy
HTTP
+ * response header received from the origin with the one specified in this response headers
+ * policy.
The value of the Referrer-Policy
HTTP response header. Valid values
+ * are:
+ * no-referrer
+ *
+ * no-referrer-when-downgrade
+ *
+ * origin
+ *
+ * origin-when-cross-origin
+ *
+ * same-origin
+ *
+ * strict-origin
+ *
+ * strict-origin-when-cross-origin
+ *
+ * unsafe-url
+ *
For more information about these values, see Referrer-Policy in the MDN Web Docs.
+ */ + ReferrerPolicy: ReferrerPolicyList | string | undefined; } -export namespace CreateStreamingDistributionWithTagsRequest { +export namespace ResponseHeadersPolicyReferrerPolicy { /** * @internal */ - export const filterSensitiveLog = (obj: CreateStreamingDistributionWithTagsRequest): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyReferrerPolicy): any => ({ ...obj, }); } /** - *The returned result of the corresponding request.
+ *Determines whether CloudFront includes the Strict-Transport-Security
HTTP response
+ * header and the header’s value.
For more information about the Strict-Transport-Security
HTTP response
+ * header, see Strict-Transport-Security in the MDN Web Docs.
The streaming distribution's information.
+ *A Boolean that determines whether CloudFront overrides the Strict-Transport-Security
+ * HTTP response header received from the origin with the one specified in this response
+ * headers policy.
The fully qualified URI of the new streaming distribution resource just created.
+ *A Boolean that determines whether CloudFront includes the includeSubDomains
directive
+ * in the Strict-Transport-Security
HTTP response header.
The current version of the distribution created.
+ *A Boolean that determines whether CloudFront includes the preload
directive in the
+ * Strict-Transport-Security
HTTP response header.
A number that CloudFront uses as the value for the max-age
directive in the
+ * Strict-Transport-Security
HTTP response header.
Determines whether CloudFront includes the X-XSS-Protection
HTTP response header and
+ * the header’s value.
For more information about the X-XSS-Protection
HTTP response header, see
+ * X-XSS-Protection in the MDN Web Docs.
The unique identifier for the cache policy that you are deleting. To get the
- * identifier, you can use ListCachePolicies
.
A Boolean that determines whether CloudFront overrides the X-XSS-Protection
HTTP
+ * response header received from the origin with the one specified in this response headers
+ * policy.
The version of the cache policy that you are deleting. The version is the cache
- * policy’s ETag
value, which you can get using
- * ListCachePolicies
, GetCachePolicy
, or
- * GetCachePolicyConfig
.
A Boolean that determines the value of the X-XSS-Protection
HTTP response
+ * header. When this setting is true
, the value of the
+ * X-XSS-Protection
header is 1
. When this setting is
+ * false
, the value of the X-XSS-Protection
header is
+ * 0
.
For more information about these settings, see X-XSS-Protection in the MDN Web Docs.
*/ - IfMatch?: string; + Protection: boolean | undefined; + + /** + *A Boolean that determines whether CloudFront includes the mode=block
directive in the
+ * X-XSS-Protection
header.
For more information about this directive, see X-XSS-Protection in the MDN Web Docs.
+ */ + ModeBlock?: boolean; + + /** + *A reporting URI, which CloudFront uses as the value of the report
directive in the
+ * X-XSS-Protection
header.
You cannot specify a ReportUri
when ModeBlock
is
+ * true
.
For more information about using a reporting URL, see X-XSS-Protection in the MDN Web Docs.
+ */ + ReportUri?: string; } -export namespace DeleteCachePolicyRequest { +export namespace ResponseHeadersPolicyXSSProtection { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteCachePolicyRequest): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyXSSProtection): any => ({ ...obj, }); } /** - *You cannot delete a managed policy.
+ *A configuration for a set of security-related HTTP response headers. CloudFront adds these headers + * to HTTP responses that it sends for requests that match a cache behavior associated with + * this response headers policy.
*/ -export interface IllegalDelete extends __SmithyException, $MetadataBearer { - name: "IllegalDelete"; - $fault: "client"; - Message?: string; +export interface ResponseHeadersPolicySecurityHeadersConfig { + /** + *Determines whether CloudFront includes the X-XSS-Protection
HTTP response header and
+ * the header’s value.
For more information about the X-XSS-Protection
HTTP response header, see
+ * X-XSS-Protection in the MDN Web Docs.
Determines whether CloudFront includes the X-Frame-Options
HTTP response header and
+ * the header’s value.
For more information about the X-Frame-Options
HTTP response header, see
+ * X-Frame-Options in the MDN Web Docs.
Determines whether CloudFront includes the Referrer-Policy
HTTP response header and
+ * the header’s value.
For more information about the Referrer-Policy
HTTP response header, see
+ * Referrer-Policy in the MDN Web Docs.
The policy directives and their values that CloudFront includes as values for the
+ * Content-Security-Policy
HTTP response header.
For more information about the Content-Security-Policy
HTTP response
+ * header, see Content-Security-Policy in the MDN Web Docs.
Determines whether CloudFront includes the X-Content-Type-Options
HTTP response
+ * header with its value set to nosniff
.
For more information about the X-Content-Type-Options
HTTP response
+ * header, see X-Content-Type-Options in the MDN Web Docs.
Determines whether CloudFront includes the Strict-Transport-Security
HTTP response
+ * header and the header’s value.
For more information about the Strict-Transport-Security
HTTP response
+ * header, see Strict-Transport-Security in the MDN Web Docs.
The If-Match
version is missing or not valid.
A response headers policy configuration.
+ *A response headers policy configuration contains metadata about the response headers policy, + * and configurations for sets of HTTP response headers and their values. CloudFront adds the + * headers in the policy to HTTP responses that it sends for requests that match a cache + * behavior associated with the policy.
*/ -export interface InvalidIfMatchVersion extends __SmithyException, $MetadataBearer { - name: "InvalidIfMatchVersion"; - $fault: "client"; - Message?: string; +export interface ResponseHeadersPolicyConfig { + /** + *A comment to describe the response headers policy.
+ *The comment cannot be longer than 128 characters.
+ */ + Comment?: string; + + /** + *A name to identify the response headers policy.
+ *The name must be unique for response headers policies in this Amazon Web Services account.
+ */ + Name: string | undefined; + + /** + *A configuration for a set of HTTP response headers that are used for cross-origin + * resource sharing (CORS).
+ */ + CorsConfig?: ResponseHeadersPolicyCorsConfig; + + /** + *A configuration for a set of security-related HTTP response headers.
+ */ + SecurityHeadersConfig?: ResponseHeadersPolicySecurityHeadersConfig; + + /** + *A configuration for a set of custom HTTP response headers.
+ */ + CustomHeadersConfig?: ResponseHeadersPolicyCustomHeadersConfig; } -export namespace InvalidIfMatchVersion { +export namespace ResponseHeadersPolicyConfig { /** * @internal */ - export const filterSensitiveLog = (obj: InvalidIfMatchVersion): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyConfig): any => ({ ...obj, }); } -/** - *The precondition in one or more of the request fields evaluated to
- * false
.
Contains metadata about the response headers policy, and a set of configurations that + * specify the response headers.
+ */ + ResponseHeadersPolicyConfig: ResponseHeadersPolicyConfig | undefined; } -export namespace PreconditionFailed { +export namespace CreateResponseHeadersPolicyRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PreconditionFailed): any => ({ + export const filterSensitiveLog = (obj: CreateResponseHeadersPolicyRequest): any => ({ ...obj, }); } /** - *The Origin Access Identity specified is already in use.
+ *A response headers policy.
+ *A response headers policy contains information about a set of HTTP response headers + * and their values.
+ *After you create a response headers policy, you can use its ID to attach it to one or more + * cache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront + * adds the headers in the policy to HTTP responses that it sends for requests that match + * the cache behavior.
+ *For more information, see Adding HTTP headers to CloudFront responses in the + * Amazon CloudFront Developer Guide.
*/ -export interface CloudFrontOriginAccessIdentityInUse extends __SmithyException, $MetadataBearer { - name: "CloudFrontOriginAccessIdentityInUse"; - $fault: "client"; - Message?: string; +export interface ResponseHeadersPolicy { + /** + *The identifier for the response headers policy.
+ */ + Id: string | undefined; + + /** + *The date and time when the response headers policy was last modified.
+ */ + LastModifiedTime: Date | undefined; + + /** + *A response headers policy configuration.
+ *A response headers policy contains information about a set of HTTP response headers and + * their values. CloudFront adds the headers in the policy to HTTP responses that it sends for + * requests that match a cache behavior that’s associated with the policy.
+ */ + ResponseHeadersPolicyConfig: ResponseHeadersPolicyConfig | undefined; } -export namespace CloudFrontOriginAccessIdentityInUse { +export namespace ResponseHeadersPolicy { /** * @internal */ - export const filterSensitiveLog = (obj: CloudFrontOriginAccessIdentityInUse): any => ({ + export const filterSensitiveLog = (obj: ResponseHeadersPolicy): any => ({ ...obj, }); } -/** - *Deletes a origin access identity.
- */ -export interface DeleteCloudFrontOriginAccessIdentityRequest { +export interface CreateResponseHeadersPolicyResult { /** - *The origin access identity's ID.
+ *Contains a response headers policy.
*/ - Id: string | undefined; + ResponseHeadersPolicy?: ResponseHeadersPolicy; /** - *The value of the ETag
header you received from a previous GET
- * or PUT
request. For example: E2QWRUHAPOMQZL
.
The URL of the response headers policy.
*/ - IfMatch?: string; + Location?: string; + + /** + *The version identifier for the current version of the response headers policy.
+ */ + ETag?: string; } -export namespace DeleteCloudFrontOriginAccessIdentityRequest { +export namespace CreateResponseHeadersPolicyResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteCloudFrontOriginAccessIdentityRequest): any => ({ + export const filterSensitiveLog = (obj: CreateResponseHeadersPolicyResult): any => ({ ...obj, }); } /** - *The specified origin access identity does not exist.
+ *A response headers policy with this name already exists. You must provide a unique name. To
+ * modify an existing response headers policy, use
+ * UpdateResponseHeadersPolicy
.
This action deletes a web distribution. To delete a web distribution using the CloudFront - * API, perform the following steps.
- *- * To delete a web distribution using the CloudFront API: - *
- *Disable the web distribution
- *Submit a GET Distribution Config
request to get the current
- * configuration and the Etag
header for the distribution.
Update the XML document that was returned in the response to your GET
- * Distribution Config
request to change the value of Enabled
to
- * false
.
Submit a PUT Distribution Config
request to update the configuration
- * for your distribution. In the request body, include the XML document that you updated in
- * Step 3. Set the value of the HTTP If-Match
header to the value of the
- * ETag
header that CloudFront returned when you submitted the GET
- * Distribution Config
request in Step 2.
Review the response to the PUT Distribution Config
request to confirm
- * that the distribution was successfully disabled.
Submit a GET Distribution
request to confirm that your changes have
- * propagated. When propagation is complete, the value of Status
is
- * Deployed
.
Submit a DELETE Distribution
request. Set the value of the HTTP
- * If-Match
header to the value of the ETag
header that CloudFront
- * returned when you submitted the GET Distribution Config
request in Step
- * 6.
Review the response to your DELETE Distribution
request to confirm
- * that the distribution was successfully deleted.
For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the + *
The number of custom headers in the response headers policy exceeds the maximum.
+ *For more information, see Quotas (formerly known as limits) in the * Amazon CloudFront Developer Guide.
*/ -export interface DeleteDistributionRequest { - /** - *The distribution ID.
- */ - Id: string | undefined; - - /** - *The value of the ETag
header that you received when you disabled the
- * distribution. For example: E2QWRUHAPOMQZL
.
The specified CloudFront distribution is not disabled. You must disable - * the distribution before you can delete it.
+ *You have reached the maximum number of response headers policies for this + * Amazon Web Services account.
+ *For more information, see Quotas (formerly known as limits) in the + * Amazon CloudFront Developer Guide.
*/ -export interface DistributionNotDisabled extends __SmithyException, $MetadataBearer { - name: "DistributionNotDisabled"; +export interface TooManyResponseHeadersPolicies extends __SmithyException, $MetadataBearer { + name: "TooManyResponseHeadersPolicies"; $fault: "client"; Message?: string; } -export namespace DistributionNotDisabled { +export namespace TooManyResponseHeadersPolicies { /** * @internal */ - export const filterSensitiveLog = (obj: DistributionNotDisabled): any => ({ + export const filterSensitiveLog = (obj: TooManyResponseHeadersPolicies): any => ({ ...obj, }); } -export interface DeleteFieldLevelEncryptionConfigRequest { +/** + *A complex type that controls whether access logs are written for this streaming distribution.
+ */ +export interface StreamingLoggingConfig { /** - *The ID of the configuration you want to delete from CloudFront.
+ *Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't
+ * want to enable logging when you create a streaming distribution or if you want to disable
+ * logging for an existing streaming distribution, specify false
for
+ * Enabled
, and specify empty Bucket
and Prefix
+ * elements. If you specify false
for Enabled
but you specify values
+ * for Bucket
and Prefix
, the values are automatically deleted.
+ *
The value of the ETag
header that you received when retrieving the
- * configuration identity to delete. For example: E2QWRUHAPOMQZL
.
The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com
.
An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example,
+ * myprefix/
. If you want to enable logging, but you don't want to specify a prefix, you still must include
+ * an empty Prefix
element in the Logging
element.
The specified configuration for field-level encryption is in use.
+ *A complex type that contains information about the Amazon S3 bucket from which you want + * CloudFront to get your media files for distribution.
*/ -export interface FieldLevelEncryptionConfigInUse extends __SmithyException, $MetadataBearer { - name: "FieldLevelEncryptionConfigInUse"; - $fault: "client"; - Message?: string; +export interface S3Origin { + /** + *The DNS name of the Amazon S3 origin.
+ */ + DomainName: string | undefined; + + /** + *The CloudFront origin access identity to associate with the distribution. Use an origin + * access identity to configure the distribution so that end users can only access objects in an + * Amazon S3 bucket through CloudFront.
+ *If you want end users to be able to access objects using either the CloudFront URL or the
+ * Amazon S3 URL, specify an empty OriginAccessIdentity
element.
To delete the origin access identity from an existing distribution, update the
+ * distribution configuration and include an empty OriginAccessIdentity
+ * element.
To replace the origin access identity, update the distribution configuration and + * specify the new origin access identity.
+ *For more information, see Using an Origin Access + * Identity to Restrict Access to Your Amazon S3 Content in the + * Amazon CloudFront Developer Guide.
+ */ + OriginAccessIdentity: string | undefined; } -export namespace FieldLevelEncryptionConfigInUse { +export namespace S3Origin { /** * @internal */ - export const filterSensitiveLog = (obj: FieldLevelEncryptionConfigInUse): any => ({ + export const filterSensitiveLog = (obj: S3Origin): any => ({ ...obj, }); } -export interface DeleteFieldLevelEncryptionProfileRequest { +/** + *The RTMP distribution's configuration information.
+ */ +export interface StreamingDistributionConfig { /** - *Request the ID of the profile you want to delete from CloudFront.
+ *A unique value (for example, a date-time stamp) that ensures that the request can't be + * replayed.
+ *If the value of CallerReference
is new (regardless of the content of the
+ * StreamingDistributionConfig
object), CloudFront creates a new distribution.
If CallerReference
is a value that you already sent in a previous request to
+ * create a distribution, CloudFront returns a DistributionAlreadyExists
error.
The value of the ETag
header that you received when retrieving the
- * profile to delete. For example: E2QWRUHAPOMQZL
.
A complex type that contains information about the Amazon S3 bucket from which you want + * CloudFront to get your media files for distribution.
*/ - IfMatch?: string; -} + S3Origin: S3Origin | undefined; -export namespace DeleteFieldLevelEncryptionProfileRequest { /** - * @internal + *A complex type that contains information about CNAMEs (alternate domain names), if any, + * for this streaming distribution.
*/ - export const filterSensitiveLog = (obj: DeleteFieldLevelEncryptionProfileRequest): any => ({ - ...obj, - }); -} + Aliases?: Aliases; -/** - *The specified profile for field-level encryption is in use.
- */ -export interface FieldLevelEncryptionProfileInUse extends __SmithyException, $MetadataBearer { - name: "FieldLevelEncryptionProfileInUse"; - $fault: "client"; - Message?: string; -} + /** + *Any comments you want to include about the streaming distribution.
+ */ + Comment: string | undefined; -export namespace FieldLevelEncryptionProfileInUse { /** - * @internal + *A complex type that controls whether access logs are written for the streaming + * distribution.
+ */ + Logging?: StreamingLoggingConfig; + + /** + *A complex type that specifies any Amazon Web Services accounts that you want to permit to create signed + * URLs for private content. If you want the distribution to use signed URLs, include this + * element; if you want the distribution to use public URLs, remove this element. For more + * information, see Serving Private Content through + * CloudFront in the Amazon CloudFront Developer Guide.
*/ - export const filterSensitiveLog = (obj: FieldLevelEncryptionProfileInUse): any => ({ - ...obj, - }); -} + TrustedSigners: TrustedSigners | undefined; -export interface DeleteFunctionRequest { /** - *The name of the function that you are deleting.
+ *A complex type that contains information about price class for this streaming + * distribution.
*/ - Name: string | undefined; + PriceClass?: PriceClass | string; /** - *The current version (ETag
value) of the function that you are deleting, which
- * you can get using DescribeFunction
.
Whether the streaming distribution is enabled to accept user requests for + * content.
*/ - IfMatch: string | undefined; + Enabled: boolean | undefined; } -export namespace DeleteFunctionRequest { +export namespace StreamingDistributionConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFunctionRequest): any => ({ + export const filterSensitiveLog = (obj: StreamingDistributionConfig): any => ({ ...obj, }); } /** - *Cannot delete the function because it’s attached to one or more cache - * behaviors.
+ *The request to create a new streaming distribution.
*/ -export interface FunctionInUse extends __SmithyException, $MetadataBearer { - name: "FunctionInUse"; - $fault: "client"; - Message?: string; +export interface CreateStreamingDistributionRequest { + /** + *The streaming distribution's configuration information.
+ */ + StreamingDistributionConfig: StreamingDistributionConfig | undefined; } -export namespace FunctionInUse { +export namespace CreateStreamingDistributionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FunctionInUse): any => ({ + export const filterSensitiveLog = (obj: CreateStreamingDistributionRequest): any => ({ ...obj, }); } /** - *The function does not exist.
+ *A streaming distribution tells CloudFront where you want RTMP content to be delivered from, and the details about how to + * track and manage content delivery.
*/ -export interface NoSuchFunctionExists extends __SmithyException, $MetadataBearer { - name: "NoSuchFunctionExists"; - $fault: "client"; - Message?: string; -} +export interface StreamingDistribution { + /** + *The identifier for the RTMP distribution. For example:
+ * EGTXBD79EXAMPLE
.
The ARN (Amazon Resource Name) for the distribution. For example:
+ * arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
+ * 123456789012
is your Amazon Web Services account ID.
The identifier of the key group that you are deleting. To get the identifier, use
- * ListKeyGroups
.
The current status of the RTMP distribution. When the status is Deployed
,
+ * the distribution's information is propagated to all CloudFront edge locations.
The version of the key group that you are deleting. The version is the key group’s
- * ETag
value. To get the ETag
, use GetKeyGroup
or
- * GetKeyGroupConfig
.
The date and time that the distribution was last modified.
*/ - IfMatch?: string; -} + LastModifiedTime?: Date; -export namespace DeleteKeyGroupRequest { /** - * @internal + *The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net
.
A resource that was specified is not valid.
- */ -export interface NoSuchResource extends __SmithyException, $MetadataBearer { - name: "NoSuchResource"; - $fault: "client"; - Message?: string; + /** + *A complex type that lists the Amazon Web Services accounts, if any, that you included in the
+ * TrustedSigners
complex type for this distribution. These are the accounts that
+ * you want to allow to create signed URLs for private content.
The Signer
complex type lists the Amazon Web Services account number of the trusted
+ * signer or self
if the signer is the Amazon Web Services account that created the distribution.
+ * The Signer
element also includes the IDs of any active CloudFront key pairs that are
+ * associated with the trusted signer's Amazon Web Services account. If no KeyPairId
element
+ * appears for a Signer
, that signer can't create signed URLs.
For more information, see Serving Private + * Content through CloudFront in the Amazon CloudFront Developer Guide.
+ */ + ActiveTrustedSigners: ActiveTrustedSigners | undefined; + + /** + *The current configuration information for the RTMP distribution.
+ */ + StreamingDistributionConfig: StreamingDistributionConfig | undefined; } -export namespace NoSuchResource { +export namespace StreamingDistribution { /** * @internal */ - export const filterSensitiveLog = (obj: NoSuchResource): any => ({ + export const filterSensitiveLog = (obj: StreamingDistribution): any => ({ ...obj, }); } /** - *Cannot delete this resource because it is in use.
+ *The returned result of the corresponding request.
*/ -export interface ResourceInUse extends __SmithyException, $MetadataBearer { - name: "ResourceInUse"; - $fault: "client"; - Message?: string; -} +export interface CreateStreamingDistributionResult { + /** + *The streaming distribution's information.
+ */ + StreamingDistribution?: StreamingDistribution; -export namespace ResourceInUse { /** - * @internal + *The fully qualified URI of the new streaming distribution resource just created.
*/ - export const filterSensitiveLog = (obj: ResourceInUse): any => ({ - ...obj, - }); -} + Location?: string; -export interface DeleteMonitoringSubscriptionRequest { /** - *The ID of the distribution that you are disabling metrics for.
+ *The current version of the streaming distribution created.
*/ - DistributionId: string | undefined; + ETag?: string; } -export namespace DeleteMonitoringSubscriptionRequest { +export namespace CreateStreamingDistributionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteMonitoringSubscriptionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateStreamingDistributionResult): any => ({ ...obj, }); } -export interface DeleteMonitoringSubscriptionResult {} +/** + *The caller reference you attempted to create the streaming distribution with + * is associated with another distribution
+ */ +export interface StreamingDistributionAlreadyExists extends __SmithyException, $MetadataBearer { + name: "StreamingDistributionAlreadyExists"; + $fault: "client"; + Message?: string; +} -export namespace DeleteMonitoringSubscriptionResult { +export namespace StreamingDistributionAlreadyExists { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteMonitoringSubscriptionResult): any => ({ + export const filterSensitiveLog = (obj: StreamingDistributionAlreadyExists): any => ({ ...obj, }); } -export interface DeleteOriginRequestPolicyRequest { - /** - *The unique identifier for the origin request policy that you are deleting. To get the
- * identifier, you can use ListOriginRequestPolicies
.
The version of the origin request policy that you are deleting. The version is the origin
- * request policy’s ETag
value, which you can get using
- * ListOriginRequestPolicies
, GetOriginRequestPolicy
, or
- * GetOriginRequestPolicyConfig
.
Your request contains more CNAMEs than are allowed per distribution.
+ */ +export interface TooManyStreamingDistributionCNAMEs extends __SmithyException, $MetadataBearer { + name: "TooManyStreamingDistributionCNAMEs"; + $fault: "client"; + Message?: string; } -export namespace DeleteOriginRequestPolicyRequest { +export namespace TooManyStreamingDistributionCNAMEs { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteOriginRequestPolicyRequest): any => ({ + export const filterSensitiveLog = (obj: TooManyStreamingDistributionCNAMEs): any => ({ ...obj, }); } /** - *Cannot delete the origin request policy because it is attached to one or more cache - * behaviors.
+ *Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
*/ -export interface OriginRequestPolicyInUse extends __SmithyException, $MetadataBearer { - name: "OriginRequestPolicyInUse"; +export interface TooManyStreamingDistributions extends __SmithyException, $MetadataBearer { + name: "TooManyStreamingDistributions"; $fault: "client"; Message?: string; } -export namespace OriginRequestPolicyInUse { +export namespace TooManyStreamingDistributions { /** * @internal */ - export const filterSensitiveLog = (obj: OriginRequestPolicyInUse): any => ({ + export const filterSensitiveLog = (obj: TooManyStreamingDistributions): any => ({ ...obj, }); } -export interface DeletePublicKeyRequest { +/** + *A streaming distribution Configuration and a list of tags to be associated with the + * streaming distribution.
+ */ +export interface StreamingDistributionConfigWithTags { /** - *The ID of the public key you want to remove from CloudFront.
+ *A streaming distribution Configuration.
*/ - Id: string | undefined; + StreamingDistributionConfig: StreamingDistributionConfig | undefined; /** - *The value of the ETag
header that you received when retrieving the
- * public key identity to delete. For example: E2QWRUHAPOMQZL
.
A complex type that contains zero or more Tag
elements.
The specified public key is in use.
+ *The request to create a new streaming distribution with tags.
*/ -export interface PublicKeyInUse extends __SmithyException, $MetadataBearer { - name: "PublicKeyInUse"; - $fault: "client"; - Message?: string; +export interface CreateStreamingDistributionWithTagsRequest { + /** + *The streaming distribution's configuration information.
+ */ + StreamingDistributionConfigWithTags: StreamingDistributionConfigWithTags | undefined; } -export namespace PublicKeyInUse { +export namespace CreateStreamingDistributionWithTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PublicKeyInUse): any => ({ + export const filterSensitiveLog = (obj: CreateStreamingDistributionWithTagsRequest): any => ({ ...obj, }); } -export interface DeleteRealtimeLogConfigRequest { +/** + *The returned result of the corresponding request.
+ */ +export interface CreateStreamingDistributionWithTagsResult { /** - *The name of the real-time log configuration to delete.
+ *The streaming distribution's information.
*/ - Name?: string; + StreamingDistribution?: StreamingDistribution; /** - *The Amazon Resource Name (ARN) of the real-time log configuration to delete.
+ *The fully qualified URI of the new streaming distribution resource just created.
*/ - ARN?: string; -} + Location?: string; -export namespace DeleteRealtimeLogConfigRequest { /** - * @internal + *The current version of the distribution created.
*/ - export const filterSensitiveLog = (obj: DeleteRealtimeLogConfigRequest): any => ({ - ...obj, - }); -} - -/** - *Cannot delete the real-time log configuration because it is attached to one or more cache - * behaviors.
- */ -export interface RealtimeLogConfigInUse extends __SmithyException, $MetadataBearer { - name: "RealtimeLogConfigInUse"; - $fault: "client"; - Message?: string; + ETag?: string; } -export namespace RealtimeLogConfigInUse { +export namespace CreateStreamingDistributionWithTagsResult { /** * @internal */ - export const filterSensitiveLog = (obj: RealtimeLogConfigInUse): any => ({ + export const filterSensitiveLog = (obj: CreateStreamingDistributionWithTagsResult): any => ({ ...obj, }); } -/** - *The request to delete a streaming distribution.
- */ -export interface DeleteStreamingDistributionRequest { +export interface DeleteCachePolicyRequest { /** - *The distribution ID.
+ *The unique identifier for the cache policy that you are deleting. To get the
+ * identifier, you can use ListCachePolicies
.
The value of the ETag
header that you received when you disabled the
- * streaming distribution. For example: E2QWRUHAPOMQZL
.
The version of the cache policy that you are deleting. The version is the cache
+ * policy’s ETag
value, which you can get using
+ * ListCachePolicies
, GetCachePolicy
, or
+ * GetCachePolicyConfig
.
The specified streaming distribution does not exist.
+ *You cannot delete a managed policy.
*/ -export interface NoSuchStreamingDistribution extends __SmithyException, $MetadataBearer { - name: "NoSuchStreamingDistribution"; +export interface IllegalDelete extends __SmithyException, $MetadataBearer { + name: "IllegalDelete"; $fault: "client"; Message?: string; } -export namespace NoSuchStreamingDistribution { +export namespace IllegalDelete { /** * @internal */ - export const filterSensitiveLog = (obj: NoSuchStreamingDistribution): any => ({ + export const filterSensitiveLog = (obj: IllegalDelete): any => ({ ...obj, }); } /** - *The specified CloudFront distribution is not disabled. You must disable - * the distribution before you can delete it.
+ *The If-Match
version is missing or not valid.
The precondition in one or more of the request fields evaluated to
+ * false
.
The name of the function that you are getting information about.
+ * @internal */ - Name: string | undefined; + export const filterSensitiveLog = (obj: PreconditionFailed): any => ({ + ...obj, + }); +} - /** - *The function’s stage, either DEVELOPMENT
or LIVE
.
The Origin Access Identity specified is already in use.
+ */ +export interface CloudFrontOriginAccessIdentityInUse extends __SmithyException, $MetadataBearer { + name: "CloudFrontOriginAccessIdentityInUse"; + $fault: "client"; + Message?: string; } -export namespace DescribeFunctionRequest { +export namespace CloudFrontOriginAccessIdentityInUse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFunctionRequest): any => ({ + export const filterSensitiveLog = (obj: CloudFrontOriginAccessIdentityInUse): any => ({ ...obj, }); } -export interface DescribeFunctionResult { +/** + *Deletes a origin access identity.
+ */ +export interface DeleteCloudFrontOriginAccessIdentityRequest { /** - *Contains configuration information and metadata about a CloudFront function.
+ *The origin access identity's ID.
*/ - FunctionSummary?: FunctionSummary; + Id: string | undefined; /** - *The version identifier for the current version of the CloudFront function.
+ *The value of the ETag
header you received from a previous GET
+ * or PUT
request. For example: E2QWRUHAPOMQZL
.
The unique identifier for the cache policy. If the cache policy is attached to a
- * distribution’s cache behavior, you can get the policy’s identifier using
- * ListDistributions
or GetDistribution
. If the cache policy is
- * not attached to a cache behavior, you can get the identifier using
- * ListCachePolicies
.
The specified origin access identity does not exist.
+ */ +export interface NoSuchCloudFrontOriginAccessIdentity extends __SmithyException, $MetadataBearer { + name: "NoSuchCloudFrontOriginAccessIdentity"; + $fault: "client"; + Message?: string; } -export namespace GetCachePolicyRequest { +export namespace NoSuchCloudFrontOriginAccessIdentity { /** * @internal */ - export const filterSensitiveLog = (obj: GetCachePolicyRequest): any => ({ + export const filterSensitiveLog = (obj: NoSuchCloudFrontOriginAccessIdentity): any => ({ ...obj, }); } -export interface GetCachePolicyResult { +/** + *This action deletes a web distribution. To delete a web distribution using the CloudFront + * API, perform the following steps.
+ *+ * To delete a web distribution using the CloudFront API: + *
+ *Disable the web distribution
+ *Submit a GET Distribution Config
request to get the current
+ * configuration and the Etag
header for the distribution.
Update the XML document that was returned in the response to your GET
+ * Distribution Config
request to change the value of Enabled
to
+ * false
.
Submit a PUT Distribution Config
request to update the configuration
+ * for your distribution. In the request body, include the XML document that you updated in
+ * Step 3. Set the value of the HTTP If-Match
header to the value of the
+ * ETag
header that CloudFront returned when you submitted the GET
+ * Distribution Config
request in Step 2.
Review the response to the PUT Distribution Config
request to confirm
+ * that the distribution was successfully disabled.
Submit a GET Distribution
request to confirm that your changes have
+ * propagated. When propagation is complete, the value of Status
is
+ * Deployed
.
Submit a DELETE Distribution
request. Set the value of the HTTP
+ * If-Match
header to the value of the ETag
header that CloudFront
+ * returned when you submitted the GET Distribution Config
request in Step
+ * 6.
Review the response to your DELETE Distribution
request to confirm
+ * that the distribution was successfully deleted.
For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the + * Amazon CloudFront Developer Guide.
+ */ +export interface DeleteDistributionRequest { /** - *The cache policy.
+ *The distribution ID.
*/ - CachePolicy?: CachePolicy; + Id: string | undefined; /** - *The current version of the cache policy.
+ *The value of the ETag
header that you received when you disabled the
+ * distribution. For example: E2QWRUHAPOMQZL
.
The unique identifier for the cache policy. If the cache policy is attached to a
- * distribution’s cache behavior, you can get the policy’s identifier using
- * ListDistributions
or GetDistribution
. If the cache policy is
- * not attached to a cache behavior, you can get the identifier using
- * ListCachePolicies
.
The specified CloudFront distribution is not disabled. You must disable + * the distribution before you can delete it.
+ */ +export interface DistributionNotDisabled extends __SmithyException, $MetadataBearer { + name: "DistributionNotDisabled"; + $fault: "client"; + Message?: string; } -export namespace GetCachePolicyConfigRequest { +export namespace DistributionNotDisabled { /** * @internal */ - export const filterSensitiveLog = (obj: GetCachePolicyConfigRequest): any => ({ + export const filterSensitiveLog = (obj: DistributionNotDisabled): any => ({ ...obj, }); } -export interface GetCachePolicyConfigResult { +export interface DeleteFieldLevelEncryptionConfigRequest { /** - *The cache policy configuration.
+ *The ID of the configuration you want to delete from CloudFront.
*/ - CachePolicyConfig?: CachePolicyConfig; + Id: string | undefined; /** - *The current version of the cache policy.
+ *The value of the ETag
header that you received when retrieving the
+ * configuration identity to delete. For example: E2QWRUHAPOMQZL
.
The request to get an origin access identity's information.
+ *The specified configuration for field-level encryption is in use.
*/ -export interface GetCloudFrontOriginAccessIdentityRequest { - /** - *The identity's ID.
- */ - Id: string | undefined; +export interface FieldLevelEncryptionConfigInUse extends __SmithyException, $MetadataBearer { + name: "FieldLevelEncryptionConfigInUse"; + $fault: "client"; + Message?: string; } -export namespace GetCloudFrontOriginAccessIdentityRequest { +export namespace FieldLevelEncryptionConfigInUse { /** * @internal */ - export const filterSensitiveLog = (obj: GetCloudFrontOriginAccessIdentityRequest): any => ({ + export const filterSensitiveLog = (obj: FieldLevelEncryptionConfigInUse): any => ({ ...obj, }); } -/** - *The returned result of the corresponding request.
- */ -export interface GetCloudFrontOriginAccessIdentityResult { +export interface DeleteFieldLevelEncryptionProfileRequest { /** - *The origin access identity's information.
+ *Request the ID of the profile you want to delete from CloudFront.
*/ - CloudFrontOriginAccessIdentity?: CloudFrontOriginAccessIdentity; + Id: string | undefined; /** - *The current version of the origin access identity's information. For example:
- * E2QWRUHAPOMQZL
.
The value of the ETag
header that you received when retrieving the
+ * profile to delete. For example: E2QWRUHAPOMQZL
.
The origin access identity's configuration information. For more information, see - * CloudFrontOriginAccessIdentityConfig.
+ *The specified profile for field-level encryption is in use.
*/ -export interface GetCloudFrontOriginAccessIdentityConfigRequest { - /** - *The identity's ID.
- */ - Id: string | undefined; +export interface FieldLevelEncryptionProfileInUse extends __SmithyException, $MetadataBearer { + name: "FieldLevelEncryptionProfileInUse"; + $fault: "client"; + Message?: string; } -export namespace GetCloudFrontOriginAccessIdentityConfigRequest { +export namespace FieldLevelEncryptionProfileInUse { /** * @internal */ - export const filterSensitiveLog = (obj: GetCloudFrontOriginAccessIdentityConfigRequest): any => ({ + export const filterSensitiveLog = (obj: FieldLevelEncryptionProfileInUse): any => ({ ...obj, }); } -/** - *The returned result of the corresponding request.
- */ -export interface GetCloudFrontOriginAccessIdentityConfigResult { +export interface DeleteFunctionRequest { /** - *The origin access identity's configuration information.
+ *The name of the function that you are deleting.
*/ - CloudFrontOriginAccessIdentityConfig?: CloudFrontOriginAccessIdentityConfig; + Name: string | undefined; /** - *The current version of the configuration. For example:
- * E2QWRUHAPOMQZL
.
The current version (ETag
value) of the function that you are deleting, which
+ * you can get using DescribeFunction
.
The request to get a distribution's information.
+ *Cannot delete the function because it’s attached to one or more cache + * behaviors.
*/ -export interface GetDistributionRequest { - /** - *The distribution's ID. If the ID is empty, an empty distribution configuration is returned.
- */ - Id: string | undefined; +export interface FunctionInUse extends __SmithyException, $MetadataBearer { + name: "FunctionInUse"; + $fault: "client"; + Message?: string; } -export namespace GetDistributionRequest { +export namespace FunctionInUse { /** * @internal */ - export const filterSensitiveLog = (obj: GetDistributionRequest): any => ({ + export const filterSensitiveLog = (obj: FunctionInUse): any => ({ ...obj, }); } /** - *The returned result of the corresponding request.
+ *The function does not exist.
*/ -export interface GetDistributionResult { - /** - *The distribution's information.
- */ - Distribution?: Distribution; - - /** - *The current version of the distribution's information. For example:
- * E2QWRUHAPOMQZL
.
The request to get a distribution configuration.
- */ -export interface GetDistributionConfigRequest { +export interface DeleteKeyGroupRequest { /** - *The distribution's ID. If the ID is empty, an empty distribution configuration is returned.
+ *The identifier of the key group that you are deleting. To get the identifier, use
+ * ListKeyGroups
.
The version of the key group that you are deleting. The version is the key group’s
+ * ETag
value. To get the ETag
, use GetKeyGroup
or
+ * GetKeyGroupConfig
.
The returned result of the corresponding request.
+ *A resource that was specified is not valid.
*/ -export interface GetDistributionConfigResult { - /** - *The distribution's configuration information.
- */ - DistributionConfig?: DistributionConfig; - - /** - *The current version of the configuration. For example:
- * E2QWRUHAPOMQZL
.
Request the ID for the field-level encryption configuration information.
- */ - Id: string | undefined; +/** + *Cannot delete this resource because it is in use.
+ */ +export interface ResourceInUse extends __SmithyException, $MetadataBearer { + name: "ResourceInUse"; + $fault: "client"; + Message?: string; } -export namespace GetFieldLevelEncryptionRequest { +export namespace ResourceInUse { /** * @internal */ - export const filterSensitiveLog = (obj: GetFieldLevelEncryptionRequest): any => ({ + export const filterSensitiveLog = (obj: ResourceInUse): any => ({ ...obj, }); } -export interface GetFieldLevelEncryptionResult { - /** - *Return the field-level encryption configuration information.
- */ - FieldLevelEncryption?: FieldLevelEncryption; - +export interface DeleteMonitoringSubscriptionRequest { /** - *The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL
.
The ID of the distribution that you are disabling metrics for.
*/ - ETag?: string; + DistributionId: string | undefined; } -export namespace GetFieldLevelEncryptionResult { +export namespace DeleteMonitoringSubscriptionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetFieldLevelEncryptionResult): any => ({ + export const filterSensitiveLog = (obj: DeleteMonitoringSubscriptionRequest): any => ({ ...obj, }); } diff --git a/clients/client-cloudfront/src/models/models_1.ts b/clients/client-cloudfront/src/models/models_1.ts index a49835affe58..208a6f6dcd64 100644 --- a/clients/client-cloudfront/src/models/models_1.ts +++ b/clients/client-cloudfront/src/models/models_1.ts @@ -39,6 +39,8 @@ import { PublicKeyConfig, QueryArgProfileConfig, RealtimeLogConfig, + ResponseHeadersPolicy, + ResponseHeadersPolicyConfig, Restrictions, S3Origin, StreamingDistribution, @@ -48,6 +50,590 @@ import { ViewerCertificate, } from "./models_0"; +export interface DeleteMonitoringSubscriptionResult {} + +export namespace DeleteMonitoringSubscriptionResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteMonitoringSubscriptionResult): any => ({ + ...obj, + }); +} + +export interface DeleteOriginRequestPolicyRequest { + /** + *The unique identifier for the origin request policy that you are deleting. To get the
+ * identifier, you can use ListOriginRequestPolicies
.
The version of the origin request policy that you are deleting. The version is the origin
+ * request policy’s ETag
value, which you can get using
+ * ListOriginRequestPolicies
, GetOriginRequestPolicy
, or
+ * GetOriginRequestPolicyConfig
.
Cannot delete the origin request policy because it is attached to one or more cache + * behaviors.
+ */ +export interface OriginRequestPolicyInUse extends __SmithyException, $MetadataBearer { + name: "OriginRequestPolicyInUse"; + $fault: "client"; + Message?: string; +} + +export namespace OriginRequestPolicyInUse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OriginRequestPolicyInUse): any => ({ + ...obj, + }); +} + +export interface DeletePublicKeyRequest { + /** + *The ID of the public key you want to remove from CloudFront.
+ */ + Id: string | undefined; + + /** + *The value of the ETag
header that you received when retrieving the
+ * public key identity to delete. For example: E2QWRUHAPOMQZL
.
The specified public key is in use.
+ */ +export interface PublicKeyInUse extends __SmithyException, $MetadataBearer { + name: "PublicKeyInUse"; + $fault: "client"; + Message?: string; +} + +export namespace PublicKeyInUse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PublicKeyInUse): any => ({ + ...obj, + }); +} + +export interface DeleteRealtimeLogConfigRequest { + /** + *The name of the real-time log configuration to delete.
+ */ + Name?: string; + + /** + *The Amazon Resource Name (ARN) of the real-time log configuration to delete.
+ */ + ARN?: string; +} + +export namespace DeleteRealtimeLogConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteRealtimeLogConfigRequest): any => ({ + ...obj, + }); +} + +/** + *Cannot delete the real-time log configuration because it is attached to one or more cache + * behaviors.
+ */ +export interface RealtimeLogConfigInUse extends __SmithyException, $MetadataBearer { + name: "RealtimeLogConfigInUse"; + $fault: "client"; + Message?: string; +} + +export namespace RealtimeLogConfigInUse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RealtimeLogConfigInUse): any => ({ + ...obj, + }); +} + +export interface DeleteResponseHeadersPolicyRequest { + /** + *The identifier for the response headers policy that you are deleting.
+ *To get the identifier, you can use ListResponseHeadersPolicies
.
The version of the response headers policy that you are deleting.
+ *The version is the response headers policy’s ETag
value, which you can
+ * get using ListResponseHeadersPolicies
,
+ * GetResponseHeadersPolicy
, or
+ * GetResponseHeadersPolicyConfig
.
Cannot delete the response headers policy because it is attached to one or more cache + * behaviors in a CloudFront distribution.
+ */ +export interface ResponseHeadersPolicyInUse extends __SmithyException, $MetadataBearer { + name: "ResponseHeadersPolicyInUse"; + $fault: "client"; + Message?: string; +} + +export namespace ResponseHeadersPolicyInUse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyInUse): any => ({ + ...obj, + }); +} + +/** + *The request to delete a streaming distribution.
+ */ +export interface DeleteStreamingDistributionRequest { + /** + *The distribution ID.
+ */ + Id: string | undefined; + + /** + *The value of the ETag
header that you received when you disabled the
+ * streaming distribution. For example: E2QWRUHAPOMQZL
.
The specified streaming distribution does not exist.
+ */ +export interface NoSuchStreamingDistribution extends __SmithyException, $MetadataBearer { + name: "NoSuchStreamingDistribution"; + $fault: "client"; + Message?: string; +} + +export namespace NoSuchStreamingDistribution { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NoSuchStreamingDistribution): any => ({ + ...obj, + }); +} + +/** + *The specified CloudFront distribution is not disabled. You must disable + * the distribution before you can delete it.
+ */ +export interface StreamingDistributionNotDisabled extends __SmithyException, $MetadataBearer { + name: "StreamingDistributionNotDisabled"; + $fault: "client"; + Message?: string; +} + +export namespace StreamingDistributionNotDisabled { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StreamingDistributionNotDisabled): any => ({ + ...obj, + }); +} + +export interface DescribeFunctionRequest { + /** + *The name of the function that you are getting information about.
+ */ + Name: string | undefined; + + /** + *The function’s stage, either DEVELOPMENT
or LIVE
.
Contains configuration information and metadata about a CloudFront function.
+ */ + FunctionSummary?: FunctionSummary; + + /** + *The version identifier for the current version of the CloudFront function.
+ */ + ETag?: string; +} + +export namespace DescribeFunctionResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeFunctionResult): any => ({ + ...obj, + }); +} + +export interface GetCachePolicyRequest { + /** + *The unique identifier for the cache policy. If the cache policy is attached to a
+ * distribution’s cache behavior, you can get the policy’s identifier using
+ * ListDistributions
or GetDistribution
. If the cache policy is
+ * not attached to a cache behavior, you can get the identifier using
+ * ListCachePolicies
.
The cache policy.
+ */ + CachePolicy?: CachePolicy; + + /** + *The current version of the cache policy.
+ */ + ETag?: string; +} + +export namespace GetCachePolicyResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetCachePolicyResult): any => ({ + ...obj, + }); +} + +export interface GetCachePolicyConfigRequest { + /** + *The unique identifier for the cache policy. If the cache policy is attached to a
+ * distribution’s cache behavior, you can get the policy’s identifier using
+ * ListDistributions
or GetDistribution
. If the cache policy is
+ * not attached to a cache behavior, you can get the identifier using
+ * ListCachePolicies
.
The cache policy configuration.
+ */ + CachePolicyConfig?: CachePolicyConfig; + + /** + *The current version of the cache policy.
+ */ + ETag?: string; +} + +export namespace GetCachePolicyConfigResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetCachePolicyConfigResult): any => ({ + ...obj, + }); +} + +/** + *The request to get an origin access identity's information.
+ */ +export interface GetCloudFrontOriginAccessIdentityRequest { + /** + *The identity's ID.
+ */ + Id: string | undefined; +} + +export namespace GetCloudFrontOriginAccessIdentityRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetCloudFrontOriginAccessIdentityRequest): any => ({ + ...obj, + }); +} + +/** + *The returned result of the corresponding request.
+ */ +export interface GetCloudFrontOriginAccessIdentityResult { + /** + *The origin access identity's information.
+ */ + CloudFrontOriginAccessIdentity?: CloudFrontOriginAccessIdentity; + + /** + *The current version of the origin access identity's information. For example:
+ * E2QWRUHAPOMQZL
.
The origin access identity's configuration information. For more information, see + * CloudFrontOriginAccessIdentityConfig.
+ */ +export interface GetCloudFrontOriginAccessIdentityConfigRequest { + /** + *The identity's ID.
+ */ + Id: string | undefined; +} + +export namespace GetCloudFrontOriginAccessIdentityConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetCloudFrontOriginAccessIdentityConfigRequest): any => ({ + ...obj, + }); +} + +/** + *The returned result of the corresponding request.
+ */ +export interface GetCloudFrontOriginAccessIdentityConfigResult { + /** + *The origin access identity's configuration information.
+ */ + CloudFrontOriginAccessIdentityConfig?: CloudFrontOriginAccessIdentityConfig; + + /** + *The current version of the configuration. For example:
+ * E2QWRUHAPOMQZL
.
The request to get a distribution's information.
+ */ +export interface GetDistributionRequest { + /** + *The distribution's ID. If the ID is empty, an empty distribution configuration is returned.
+ */ + Id: string | undefined; +} + +export namespace GetDistributionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetDistributionRequest): any => ({ + ...obj, + }); +} + +/** + *The returned result of the corresponding request.
+ */ +export interface GetDistributionResult { + /** + *The distribution's information.
+ */ + Distribution?: Distribution; + + /** + *The current version of the distribution's information. For example:
+ * E2QWRUHAPOMQZL
.
The request to get a distribution configuration.
+ */ +export interface GetDistributionConfigRequest { + /** + *The distribution's ID. If the ID is empty, an empty distribution configuration is returned.
+ */ + Id: string | undefined; +} + +export namespace GetDistributionConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetDistributionConfigRequest): any => ({ + ...obj, + }); +} + +/** + *The returned result of the corresponding request.
+ */ +export interface GetDistributionConfigResult { + /** + *The distribution's configuration information.
+ */ + DistributionConfig?: DistributionConfig; + + /** + *The current version of the configuration. For example:
+ * E2QWRUHAPOMQZL
.
Request the ID for the field-level encryption configuration information.
+ */ + Id: string | undefined; +} + +export namespace GetFieldLevelEncryptionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetFieldLevelEncryptionRequest): any => ({ + ...obj, + }); +} + +export interface GetFieldLevelEncryptionResult { + /** + *Return the field-level encryption configuration information.
+ */ + FieldLevelEncryption?: FieldLevelEncryption; + + /** + *The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL
.
Request the ID for the field-level encryption configuration information.
@@ -546,27 +1132,111 @@ export interface GetRealtimeLogConfigRequest { ARN?: string; } -export namespace GetRealtimeLogConfigRequest { +export namespace GetRealtimeLogConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetRealtimeLogConfigRequest): any => ({ + ...obj, + }); +} + +export interface GetRealtimeLogConfigResult { + /** + *A real-time log configuration.
+ */ + RealtimeLogConfig?: RealtimeLogConfig; +} + +export namespace GetRealtimeLogConfigResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetRealtimeLogConfigResult): any => ({ + ...obj, + }); +} + +export interface GetResponseHeadersPolicyRequest { + /** + *The identifier for the response headers policy.
+ *If the response headers policy is attached to a distribution’s cache behavior, you can
+ * get the policy’s identifier using ListDistributions
or
+ * GetDistribution
. If the response headers policy is not attached to a
+ * cache behavior, you can get the identifier using
+ * ListResponseHeadersPolicies
.
Contains a response headers policy.
+ */ + ResponseHeadersPolicy?: ResponseHeadersPolicy; + + /** + *The version identifier for the current version of the response headers policy.
+ */ + ETag?: string; +} + +export namespace GetResponseHeadersPolicyResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetResponseHeadersPolicyResult): any => ({ + ...obj, + }); +} + +export interface GetResponseHeadersPolicyConfigRequest { + /** + *The identifier for the response headers policy.
+ *If the response headers policy is attached to a distribution’s cache behavior, you can
+ * get the policy’s identifier using ListDistributions
or
+ * GetDistribution
. If the response headers policy is not attached to a
+ * cache behavior, you can get the identifier using
+ * ListResponseHeadersPolicies
.
A real-time log configuration.
+ *Contains a response headers policy.
*/ - RealtimeLogConfig?: RealtimeLogConfig; + ResponseHeadersPolicyConfig?: ResponseHeadersPolicyConfig; + + /** + *The version identifier for the current version of the response headers policy.
+ */ + ETag?: string; } -export namespace GetRealtimeLogConfigResult { +export namespace GetResponseHeadersPolicyConfigResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetRealtimeLogConfigResult): any => ({ + export const filterSensitiveLog = (obj: GetResponseHeadersPolicyConfigResult): any => ({ ...obj, }); } @@ -670,7 +1340,7 @@ export interface ListCachePoliciesRequest { * *
- * custom
– Returns only the custom policies created in your account.
custom
– Returns only the custom policies created in your Amazon Web Services account.
* The number of CloudFront origin access identities that were created by the current account.
+ *The number of CloudFront origin access identities that were created by the current Amazon Web Services account.
*/ Quantity: number | undefined; /** *A complex type that contains one CloudFrontOriginAccessIdentitySummary
- * element for each origin access identity that was created by the current account.
The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
- * 123456789012
is your account ID.
123456789012
is your Amazon Web Services account ID.
*/
ARN: string | undefined;
@@ -1170,13 +1840,13 @@ export interface DistributionList {
IsTruncated: boolean | undefined;
/**
- * The number of distributions that were created by the current account.
+ *The number of distributions that were created by the current Amazon Web Services account.
*/ Quantity: number | undefined; /** *A complex type that contains one DistributionSummary
element for each
- * distribution that was created by the current account.
Use this field when paginating results to indicate where to begin in your list of
+ * distribution IDs. The response includes distribution IDs in the list that occur after
+ * the marker. To get the next page of the list, set this field’s value to the value of
+ * NextMarker
from the current page’s response.
The maximum number of distribution IDs that you want to get in the response.
+ */ + MaxItems?: number; + + /** + *The ID of the response headers policy whose associated distribution IDs you want to + * list.
+ */ + ResponseHeadersPolicyId: string | undefined; +} + +export namespace ListDistributionsByResponseHeadersPolicyIdRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDistributionsByResponseHeadersPolicyIdRequest): any => ({ + ...obj, + }); +} + +export interface ListDistributionsByResponseHeadersPolicyIdResult { + /** + *A list of distribution IDs.
+ */ + DistributionIdList?: DistributionIdList; +} + +export namespace ListDistributionsByResponseHeadersPolicyIdResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListDistributionsByResponseHeadersPolicyIdResult): any => ({ + ...obj, + }); +} + /** *The request to list distributions that are associated with a specified WAF web * ACL.
@@ -1914,14 +2630,14 @@ export interface InvalidationList { IsTruncated: boolean | undefined; /** - *The number of invalidation batches that were created by the current account. + *
The number of invalidation batches that were created by the current Amazon Web Services account. *
*/ Quantity: number | undefined; /** *A complex type that contains one InvalidationSummary
element for each
- * invalidation batch created by the current account.
- * custom
– Returns only the custom policies created in your account.
custom
– Returns only the custom policies created in your Amazon Web Services account.
* The type of origin request policy, either managed
(created by Amazon Web Services) or
- * custom
(created in this account).
custom
(created in this Amazon Web Services account).
*/
Type: OriginRequestPolicyType | string | undefined;
@@ -2367,6 +3083,129 @@ export namespace ListRealtimeLogConfigsResult {
});
}
+export enum ResponseHeadersPolicyType {
+ custom = "custom",
+ managed = "managed",
+}
+
+export interface ListResponseHeadersPoliciesRequest {
+ /**
+ * A filter to get only the specified kind of response headers policies. Valid values + * are:
+ *
+ * managed
– Gets only the managed policies created by Amazon Web Services.
+ * custom
– Gets only the custom policies created in your
+ * Amazon Web Services account.
Use this field when paginating results to indicate where to begin in your list of response
+ * headers policies. The response includes response headers policies in the list that occur
+ * after the marker. To get the next page of the list, set this field’s value to the value
+ * of NextMarker
from the current page’s response.
The maximum number of response headers policies that you want to get in the response.
+ */ + MaxItems?: number; +} + +export namespace ListResponseHeadersPoliciesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListResponseHeadersPoliciesRequest): any => ({ + ...obj, + }); +} + +/** + *Contains a response headers policy.
+ */ +export interface ResponseHeadersPolicySummary { + /** + *The type of response headers policy, either managed
(created by Amazon Web Services) or
+ * custom
(created in this Amazon Web Services account).
The response headers policy.
+ */ + ResponseHeadersPolicy: ResponseHeadersPolicy | undefined; +} + +export namespace ResponseHeadersPolicySummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResponseHeadersPolicySummary): any => ({ + ...obj, + }); +} + +/** + *A list of response headers policies.
+ */ +export interface ResponseHeadersPolicyList { + /** + *If there are more items in the list than are in this response, this element is present. It
+ * contains the value that you should use in the Marker
field of a subsequent
+ * request to continue listing response headers policies where you left off.
The maximum number of response headers policies requested.
+ */ + MaxItems: number | undefined; + + /** + *The number of response headers policies returned.
+ */ + Quantity: number | undefined; + + /** + *The response headers policies in the list.
+ */ + Items?: ResponseHeadersPolicySummary[]; +} + +export namespace ResponseHeadersPolicyList { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResponseHeadersPolicyList): any => ({ + ...obj, + }); +} + +export interface ListResponseHeadersPoliciesResult { + /** + *A list of response headers policies.
+ */ + ResponseHeadersPolicyList?: ResponseHeadersPolicyList; +} + +export namespace ListResponseHeadersPoliciesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListResponseHeadersPoliciesResult): any => ({ + ...obj, + }); +} + /** *The request to list your streaming distributions.
*/ @@ -2403,7 +3242,7 @@ export interface StreamingDistributionSummary { /** * The ARN (Amazon Resource Name) for the streaming distribution. For example:
* arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5
, where
- * 123456789012
is your account ID.
123456789012
is your Amazon Web Services account ID.
*/
ARN: string | undefined;
@@ -2437,7 +3276,7 @@ export interface StreamingDistributionSummary {
Aliases: Aliases | undefined;
/**
- * A complex type that specifies the accounts, if any, that you want to allow to + *
A complex type that specifies the Amazon Web Services accounts, if any, that you want to allow to
* create signed URLs for private content. If you want to require signed URLs in requests for
* objects in the target origin that match the PathPattern
for this cache behavior,
* specify true
for Enabled
, and specify the applicable values for
@@ -2508,14 +3347,14 @@ export interface StreamingDistributionList {
IsTruncated: boolean | undefined;
/**
- *
The number of streaming distributions that were created by the current account. + *
The number of streaming distributions that were created by the current Amazon Web Services account. *
*/ Quantity: number | undefined; /** *A complex type that contains one StreamingDistributionSummary
element for
- * each distribution that was created by the current account.
A cache policy configuration.
+ */ + CachePolicyConfig: CachePolicyConfig | undefined; + /** *The unique identifier for the cache policy that you are updating. The identifier is returned
* in a cache behavior’s CachePolicyId
field in the response to
@@ -2820,11 +3668,6 @@ export interface UpdateCachePolicyRequest {
* GetCachePolicyConfig
.
A cache policy configuration.
- */ - CachePolicyConfig: CachePolicyConfig | undefined; } export namespace UpdateCachePolicyRequest { @@ -2861,6 +3704,11 @@ export namespace UpdateCachePolicyResult { *The request to update an origin access identity.
*/ export interface UpdateCloudFrontOriginAccessIdentityRequest { + /** + *The identity's configuration information.
+ */ + CloudFrontOriginAccessIdentityConfig: CloudFrontOriginAccessIdentityConfig | undefined; + /** *The identity's id.
*/ @@ -2871,11 +3719,6 @@ export interface UpdateCloudFrontOriginAccessIdentityRequest { * identity's configuration. For example:E2QWRUHAPOMQZL
.
*/
IfMatch?: string;
-
- /**
- * The identity's configuration information.
- */ - CloudFrontOriginAccessIdentityConfig: CloudFrontOriginAccessIdentityConfig | undefined; } export namespace UpdateCloudFrontOriginAccessIdentityRequest { @@ -2916,6 +3759,11 @@ export namespace UpdateCloudFrontOriginAccessIdentityResult { *The request to update a distribution.
*/ export interface UpdateDistributionRequest { + /** + *The distribution's configuration information.
+ */ + DistributionConfig: DistributionConfig | undefined; + /** *The distribution's id.
*/ @@ -2926,11 +3774,6 @@ export interface UpdateDistributionRequest { * distribution's configuration. For example:E2QWRUHAPOMQZL
.
*/
IfMatch?: string;
-
- /**
- * The distribution's configuration information.
- */ - DistributionConfig: DistributionConfig | undefined; } export namespace UpdateDistributionRequest { @@ -2972,6 +3815,11 @@ export namespace UpdateDistributionResult { } export interface UpdateFieldLevelEncryptionConfigRequest { + /** + *Request to update a field-level encryption configuration.
+ */ + FieldLevelEncryptionConfig: FieldLevelEncryptionConfig | undefined; + /** *The ID of the configuration you want to update.
*/ @@ -2982,11 +3830,6 @@ export interface UpdateFieldLevelEncryptionConfigRequest { * For example:E2QWRUHAPOMQZL
.
*/
IfMatch?: string;
-
- /**
- * Request to update a field-level encryption configuration.
- */ - FieldLevelEncryptionConfig: FieldLevelEncryptionConfig | undefined; } export namespace UpdateFieldLevelEncryptionConfigRequest { @@ -3021,6 +3864,11 @@ export namespace UpdateFieldLevelEncryptionConfigResult { } export interface UpdateFieldLevelEncryptionProfileRequest { + /** + *Request to update a field-level encryption profile.
+ */ + FieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig | undefined; + /** *The ID of the field-level encryption profile request.
*/ @@ -3031,11 +3879,6 @@ export interface UpdateFieldLevelEncryptionProfileRequest { * For example:E2QWRUHAPOMQZL
.
*/
IfMatch?: string;
-
- /**
- * Request to update a field-level encryption profile.
- */ - FieldLevelEncryptionProfileConfig: FieldLevelEncryptionProfileConfig | undefined; } export namespace UpdateFieldLevelEncryptionProfileRequest { @@ -3124,6 +3967,11 @@ export namespace UpdateFunctionResult { } export interface UpdateKeyGroupRequest { + /** + *The key group configuration.
+ */ + KeyGroupConfig: KeyGroupConfig | undefined; + /** *The identifier of the key group that you are updating.
*/ @@ -3134,11 +3982,6 @@ export interface UpdateKeyGroupRequest { *ETag
value.
*/
IfMatch?: string;
-
- /**
- * The key group configuration.
- */ - KeyGroupConfig: KeyGroupConfig | undefined; } export namespace UpdateKeyGroupRequest { @@ -3172,6 +4015,11 @@ export namespace UpdateKeyGroupResult { } export interface UpdateOriginRequestPolicyRequest { + /** + *An origin request policy configuration.
+ */ + OriginRequestPolicyConfig: OriginRequestPolicyConfig | undefined; + /** *The unique identifier for the origin request policy that you are updating. The identifier is
* returned in a cache behavior’s OriginRequestPolicyId
field in the response
@@ -3185,11 +4033,6 @@ export interface UpdateOriginRequestPolicyRequest {
* GetOriginRequestPolicyConfig
.
An origin request policy configuration.
- */ - OriginRequestPolicyConfig: OriginRequestPolicyConfig | undefined; } export namespace UpdateOriginRequestPolicyRequest { @@ -3223,6 +4066,11 @@ export namespace UpdateOriginRequestPolicyResult { } export interface UpdatePublicKeyRequest { + /** + *A public key configuration.
+ */ + PublicKeyConfig: PublicKeyConfig | undefined; + /** *The identifier of the public key that you are updating.
*/ @@ -3233,11 +4081,6 @@ export interface UpdatePublicKeyRequest { * For example:E2QWRUHAPOMQZL
.
*/
IfMatch?: string;
-
- /**
- * A public key configuration.
- */ - PublicKeyConfig: PublicKeyConfig | undefined; } export namespace UpdatePublicKeyRequest { @@ -3327,10 +4170,64 @@ export namespace UpdateRealtimeLogConfigResult { }); } +export interface UpdateResponseHeadersPolicyRequest { + /** + *A response headers policy configuration.
+ */ + ResponseHeadersPolicyConfig: ResponseHeadersPolicyConfig | undefined; + + /** + *The identifier for the response headers policy that you are updating.
+ */ + Id: string | undefined; + + /** + *The version of the response headers policy that you are updating.
+ *The version is returned in the cache policy’s ETag
field in the response
+ * to GetResponseHeadersPolicyConfig
.
A response headers policy.
+ */ + ResponseHeadersPolicy?: ResponseHeadersPolicy; + + /** + *The current version of the response headers policy.
+ */ + ETag?: string; +} + +export namespace UpdateResponseHeadersPolicyResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateResponseHeadersPolicyResult): any => ({ + ...obj, + }); +} + /** *The request to update a streaming distribution.
*/ export interface UpdateStreamingDistributionRequest { + /** + *The streaming distribution's configuration information.
+ */ + StreamingDistributionConfig: StreamingDistributionConfig | undefined; + /** *The streaming distribution's id.
*/ @@ -3341,11 +4238,6 @@ export interface UpdateStreamingDistributionRequest { * streaming distribution's configuration. For example:E2QWRUHAPOMQZL
.
*/
IfMatch?: string;
-
- /**
- * The streaming distribution's configuration information.
- */ - StreamingDistributionConfig: StreamingDistributionConfig | undefined; } export namespace UpdateStreamingDistributionRequest { diff --git a/clients/client-cloudfront/src/protocols/Aws_restXml.ts b/clients/client-cloudfront/src/protocols/Aws_restXml.ts index 2c2fe6ee3b83..e1ded2a56277 100644 --- a/clients/client-cloudfront/src/protocols/Aws_restXml.ts +++ b/clients/client-cloudfront/src/protocols/Aws_restXml.ts @@ -57,6 +57,10 @@ import { CreateRealtimeLogConfigCommandInput, CreateRealtimeLogConfigCommandOutput, } from "../commands/CreateRealtimeLogConfigCommand"; +import { + CreateResponseHeadersPolicyCommandInput, + CreateResponseHeadersPolicyCommandOutput, +} from "../commands/CreateResponseHeadersPolicyCommand"; import { CreateStreamingDistributionCommandInput, CreateStreamingDistributionCommandOutput, @@ -94,6 +98,10 @@ import { DeleteRealtimeLogConfigCommandInput, DeleteRealtimeLogConfigCommandOutput, } from "../commands/DeleteRealtimeLogConfigCommand"; +import { + DeleteResponseHeadersPolicyCommandInput, + DeleteResponseHeadersPolicyCommandOutput, +} from "../commands/DeleteResponseHeadersPolicyCommand"; import { DeleteStreamingDistributionCommandInput, DeleteStreamingDistributionCommandOutput, @@ -155,6 +163,14 @@ import { GetRealtimeLogConfigCommandInput, GetRealtimeLogConfigCommandOutput, } from "../commands/GetRealtimeLogConfigCommand"; +import { + GetResponseHeadersPolicyCommandInput, + GetResponseHeadersPolicyCommandOutput, +} from "../commands/GetResponseHeadersPolicyCommand"; +import { + GetResponseHeadersPolicyConfigCommandInput, + GetResponseHeadersPolicyConfigCommandOutput, +} from "../commands/GetResponseHeadersPolicyConfigCommand"; import { GetStreamingDistributionCommandInput, GetStreamingDistributionCommandOutput, @@ -188,6 +204,10 @@ import { ListDistributionsByRealtimeLogConfigCommandInput, ListDistributionsByRealtimeLogConfigCommandOutput, } from "../commands/ListDistributionsByRealtimeLogConfigCommand"; +import { + ListDistributionsByResponseHeadersPolicyIdCommandInput, + ListDistributionsByResponseHeadersPolicyIdCommandOutput, +} from "../commands/ListDistributionsByResponseHeadersPolicyIdCommand"; import { ListDistributionsByWebACLIdCommandInput, ListDistributionsByWebACLIdCommandOutput, @@ -213,6 +233,10 @@ import { ListRealtimeLogConfigsCommandInput, ListRealtimeLogConfigsCommandOutput, } from "../commands/ListRealtimeLogConfigsCommand"; +import { + ListResponseHeadersPoliciesCommandInput, + ListResponseHeadersPoliciesCommandOutput, +} from "../commands/ListResponseHeadersPoliciesCommand"; import { ListStreamingDistributionsCommandInput, ListStreamingDistributionsCommandOutput, @@ -250,6 +274,10 @@ import { UpdateRealtimeLogConfigCommandInput, UpdateRealtimeLogConfigCommandOutput, } from "../commands/UpdateRealtimeLogConfigCommand"; +import { + UpdateResponseHeadersPolicyCommandInput, + UpdateResponseHeadersPolicyCommandOutput, +} from "../commands/UpdateResponseHeadersPolicyCommand"; import { UpdateStreamingDistributionCommandInput, UpdateStreamingDistributionCommandOutput, @@ -372,7 +400,7 @@ import { NoSuchPublicKey, NoSuchRealtimeLogConfig, NoSuchResource, - NoSuchStreamingDistribution, + NoSuchResponseHeadersPolicy, Origin, OriginCustomHeader, OriginGroup, @@ -385,7 +413,6 @@ import { OriginRequestPolicyConfig, OriginRequestPolicyCookiesConfig, OriginRequestPolicyHeadersConfig, - OriginRequestPolicyInUse, OriginRequestPolicyQueryStringsConfig, Origins, OriginShield, @@ -396,7 +423,6 @@ import { PublicKey, PublicKeyAlreadyExists, PublicKeyConfig, - PublicKeyInUse, QueryArgProfile, QueryArgProfileConfig, QueryArgProfileEmpty, @@ -405,10 +431,27 @@ import { QueryStringNames, RealtimeLogConfig, RealtimeLogConfigAlreadyExists, - RealtimeLogConfigInUse, RealtimeLogConfigOwnerMismatch, RealtimeMetricsSubscriptionConfig, ResourceInUse, + ResponseHeadersPolicy, + ResponseHeadersPolicyAccessControlAllowHeaders, + ResponseHeadersPolicyAccessControlAllowMethods, + ResponseHeadersPolicyAccessControlAllowMethodsValues, + ResponseHeadersPolicyAccessControlAllowOrigins, + ResponseHeadersPolicyAccessControlExposeHeaders, + ResponseHeadersPolicyAlreadyExists, + ResponseHeadersPolicyConfig, + ResponseHeadersPolicyContentSecurityPolicy, + ResponseHeadersPolicyContentTypeOptions, + ResponseHeadersPolicyCorsConfig, + ResponseHeadersPolicyCustomHeader, + ResponseHeadersPolicyCustomHeadersConfig, + ResponseHeadersPolicyFrameOptions, + ResponseHeadersPolicyReferrerPolicy, + ResponseHeadersPolicySecurityHeadersConfig, + ResponseHeadersPolicyStrictTransportSecurity, + ResponseHeadersPolicyXSSProtection, Restrictions, S3Origin, S3OriginConfig, @@ -419,7 +462,6 @@ import { StreamingDistributionAlreadyExists, StreamingDistributionConfig, StreamingDistributionConfigWithTags, - StreamingDistributionNotDisabled, StreamingLoggingConfig, Tag, Tags, @@ -430,12 +472,14 @@ import { TooManyCookieNamesInWhiteList, TooManyCookiesInCachePolicy, TooManyCookiesInOriginRequestPolicy, + TooManyCustomHeadersInResponseHeadersPolicy, TooManyDistributionCNAMEs, TooManyDistributions, TooManyDistributionsAssociatedToCachePolicy, TooManyDistributionsAssociatedToFieldLevelEncryptionConfig, TooManyDistributionsAssociatedToKeyGroup, TooManyDistributionsAssociatedToOriginRequestPolicy, + TooManyDistributionsAssociatedToResponseHeadersPolicy, TooManyDistributionsWithFunctionAssociations, TooManyDistributionsWithLambdaAssociations, TooManyDistributionsWithSingleFunctionARN, @@ -464,6 +508,7 @@ import { TooManyQueryStringsInCachePolicy, TooManyQueryStringsInOriginRequestPolicy, TooManyRealtimeLogConfigs, + TooManyResponseHeadersPolicies, TooManyStreamingDistributionCNAMEs, TooManyStreamingDistributions, TooManyTrustedSigners, @@ -492,12 +537,20 @@ import { KeyGroupList, KeyGroupSummary, NoSuchInvalidation, + NoSuchStreamingDistribution, + OriginRequestPolicyInUse, OriginRequestPolicyList, OriginRequestPolicySummary, + PublicKeyInUse, PublicKeyList, PublicKeySummary, + RealtimeLogConfigInUse, RealtimeLogConfigs, + ResponseHeadersPolicyInUse, + ResponseHeadersPolicyList, + ResponseHeadersPolicySummary, StreamingDistributionList, + StreamingDistributionNotDisabled, StreamingDistributionSummary, TagKeys, TestFunctionFailed, @@ -1009,6 +1062,38 @@ export const serializeAws_restXmlCreateRealtimeLogConfigCommand = async ( }); }; +export const serializeAws_restXmlCreateResponseHeadersPolicyCommand = async ( + input: CreateResponseHeadersPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/xml", + }; + const resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2020-05-31/response-headers-policy"; + let body: any; + if (input.ResponseHeadersPolicyConfig !== undefined) { + body = serializeAws_restXmlResponseHeadersPolicyConfig(input.ResponseHeadersPolicyConfig, context); + } + let contents: any; + if (input.ResponseHeadersPolicyConfig !== undefined) { + contents = serializeAws_restXmlResponseHeadersPolicyConfig(input.ResponseHeadersPolicyConfig, context); + body = ''; + contents.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + body += contents.toString(); + } + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlCreateStreamingDistributionCommand = async ( input: CreateStreamingDistributionCommandInput, context: __SerdeContext @@ -1425,6 +1510,37 @@ export const serializeAws_restXmlDeleteRealtimeLogConfigCommand = async ( }); }; +export const serializeAws_restXmlDeleteResponseHeadersPolicyCommand = async ( + input: DeleteResponseHeadersPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + ...(isSerializableHeaderValue(input.IfMatch) && { "if-match": input.IfMatch! }), + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2020-05-31/response-headers-policy/{Id}"; + if (input.Id !== undefined) { + const labelValue: string = input.Id; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Id."); + } + resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Id."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlDeleteStreamingDistributionCommand = async ( input: DeleteStreamingDistributionCommandInput, context: __SerdeContext @@ -2095,6 +2211,65 @@ export const serializeAws_restXmlGetRealtimeLogConfigCommand = async ( }); }; +export const serializeAws_restXmlGetResponseHeadersPolicyCommand = async ( + input: GetResponseHeadersPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2020-05-31/response-headers-policy/{Id}"; + if (input.Id !== undefined) { + const labelValue: string = input.Id; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Id."); + } + resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Id."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restXmlGetResponseHeadersPolicyConfigCommand = async ( + input: GetResponseHeadersPolicyConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2020-05-31/response-headers-policy/{Id}/config"; + if (input.Id !== undefined) { + const labelValue: string = input.Id; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Id."); + } + resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Id."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlGetStreamingDistributionCommand = async ( input: GetStreamingDistributionCommandInput, context: __SerdeContext @@ -2410,6 +2585,41 @@ export const serializeAws_restXmlListDistributionsByRealtimeLogConfigCommand = a }); }; +export const serializeAws_restXmlListDistributionsByResponseHeadersPolicyIdCommand = async ( + input: ListDistributionsByResponseHeadersPolicyIdCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/2020-05-31/distributionsByResponseHeadersPolicyId/{ResponseHeadersPolicyId}"; + if (input.ResponseHeadersPolicyId !== undefined) { + const labelValue: string = input.ResponseHeadersPolicyId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ResponseHeadersPolicyId."); + } + resolvedPath = resolvedPath.replace("{ResponseHeadersPolicyId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ResponseHeadersPolicyId."); + } + const query: any = { + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restXmlListDistributionsByWebACLIdCommand = async ( input: ListDistributionsByWebACLIdCommandInput, context: __SerdeContext @@ -2655,6 +2865,32 @@ export const serializeAws_restXmlListRealtimeLogConfigsCommand = async ( }); }; +export const serializeAws_restXmlListResponseHeadersPoliciesCommand = async ( + input: ListResponseHeadersPoliciesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + const resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2020-05-31/response-headers-policy"; + const query: any = { + ...(input.Type !== undefined && { Type: input.Type }), + ...(input.Marker !== undefined && { Marker: input.Marker }), + ...(input.MaxItems !== undefined && { MaxItems: input.MaxItems.toString() }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restXmlListStreamingDistributionsCommand = async ( input: ListStreamingDistributionsCommandInput, context: __SerdeContext @@ -3297,6 +3533,48 @@ export const serializeAws_restXmlUpdateRealtimeLogConfigCommand = async ( }); }; +export const serializeAws_restXmlUpdateResponseHeadersPolicyCommand = async ( + input: UpdateResponseHeadersPolicyCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/xml", + ...(isSerializableHeaderValue(input.IfMatch) && { "if-match": input.IfMatch! }), + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/2020-05-31/response-headers-policy/{Id}"; + if (input.Id !== undefined) { + const labelValue: string = input.Id; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: Id."); + } + resolvedPath = resolvedPath.replace("{Id}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: Id."); + } + let body: any; + if (input.ResponseHeadersPolicyConfig !== undefined) { + body = serializeAws_restXmlResponseHeadersPolicyConfig(input.ResponseHeadersPolicyConfig, context); + } + let contents: any; + if (input.ResponseHeadersPolicyConfig !== undefined) { + contents = serializeAws_restXmlResponseHeadersPolicyConfig(input.ResponseHeadersPolicyConfig, context); + body = ''; + contents.addAttribute("xmlns", "http://cloudfront.amazonaws.com/doc/2020-05-31/"); + body += contents.toString(); + } + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restXmlUpdateStreamingDistributionCommand = async ( input: UpdateStreamingDistributionCommandInput, context: __SerdeContext @@ -3936,6 +4214,14 @@ const deserializeAws_restXmlCreateDistributionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NoSuchResponseHeadersPolicy": + case "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy": + response = { + ...(await deserializeAws_restXmlNoSuchResponseHeadersPolicyResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "RealtimeLogConfigOwnerMismatch": case "com.amazonaws.cloudfront#RealtimeLogConfigOwnerMismatch": response = { @@ -4022,6 +4308,17 @@ const deserializeAws_restXmlCreateDistributionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyDistributionsAssociatedToResponseHeadersPolicy": + case "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToResponseHeadersPolicy": + response = { + ...(await deserializeAws_restXmlTooManyDistributionsAssociatedToResponseHeadersPolicyResponse( + parsedOutput, + context + )), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyDistributionsWithFunctionAssociations": case "com.amazonaws.cloudfront#TooManyDistributionsWithFunctionAssociations": response = { @@ -4462,6 +4759,14 @@ const deserializeAws_restXmlCreateDistributionWithTagsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "NoSuchResponseHeadersPolicy": + case "com.amazonaws.cloudfront#NoSuchResponseHeadersPolicy": + response = { + ...(await deserializeAws_restXmlNoSuchResponseHeadersPolicyResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "RealtimeLogConfigOwnerMismatch": case "com.amazonaws.cloudfront#RealtimeLogConfigOwnerMismatch": response = { @@ -4548,6 +4853,17 @@ const deserializeAws_restXmlCreateDistributionWithTagsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "TooManyDistributionsAssociatedToResponseHeadersPolicy": + case "com.amazonaws.cloudfront#TooManyDistributionsAssociatedToResponseHeadersPolicy": + response = { + ...(await deserializeAws_restXmlTooManyDistributionsAssociatedToResponseHeadersPolicyResponse( + parsedOutput, + context + )), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "TooManyDistributionsWithFunctionAssociations": case "com.amazonaws.cloudfront#TooManyDistributionsWithFunctionAssociations": response = { @@ -5536,18 +5852,18 @@ const deserializeAws_restXmlCreateRealtimeLogConfigCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restXmlCreateStreamingDistributionCommand = async ( +export const deserializeAws_restXmlCreateResponseHeadersPolicyCommand = async ( output: __HttpResponse, context: __SerdeContext -): PromiseYou can connect -programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see +programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.
You can * connect - * programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see + * programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see * Amazon Connect * Endpoints.
*Creates an AWS resource association with an Amazon Connect instance.
+ *Creates an Amazon Web Services resource association with an Amazon Connect instance.
*/ public createIntegrationAssociation( args: CreateIntegrationAssociationCommandInput, @@ -1051,6 +1086,39 @@ export class Connect extends ConnectClient { } } + /** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Creates a security profile.
+ */ + public createSecurityProfile( + args: CreateSecurityProfileCommandInput, + options?: __HttpHandlerOptions + ): PromiseCreates a use case for an integration association.
*/ @@ -1212,7 +1280,7 @@ export class Connect extends ConnectClient { } /** - *Deletes an AWS resource association from an Amazon Connect instance. The association must not have + *
Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have * any use cases associated with it.
*/ public deleteIntegrationAssociation( @@ -1276,6 +1344,39 @@ export class Connect extends ConnectClient { } } + /** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Deletes a security profile.
+ */ + public deleteSecurityProfile( + args: DeleteSecurityProfileCommandInput, + options?: __HttpHandlerOptions + ): PromiseDeletes a use case from an integration association.
*/ @@ -1670,6 +1771,39 @@ export class Connect extends ConnectClient { } } + /** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Gets basic information about the security profle.
+ */ + public describeSecurityProfile( + args: DescribeSecurityProfileCommandInput, + options?: __HttpHandlerOptions + ): PromiseDescribes the specified user account. You can find the instance ID in the console (it’s the * final part of the ARN). The console does not display the user IDs. Instead, list the users and @@ -2440,7 +2574,7 @@ export class Connect extends ConnectClient { } /** - *
Provides summary information about the AWS resource associations for the specified Amazon Connect + *
Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect * instance.
*/ public listIntegrationAssociations( @@ -2792,7 +2926,41 @@ export class Connect extends ConnectClient { } /** - *Provides summary information about the security profiles for the specified Amazon Connect + *
This API is in preview release for Amazon Connect and is subject to change.
+ *Lists the permissions granted to a security profile.
+ */ + public listSecurityProfilePermissions( + args: ListSecurityProfilePermissionsCommandInput, + options?: __HttpHandlerOptions + ): PromiseThis API is in preview release for Amazon Connect and is subject to change.
+ *Provides summary information about the security profiles for the specified Amazon Connect * instance.
*For more information about security profiles, see Security Profiles in the * Amazon Connect Administrator Guide.
@@ -3076,6 +3244,40 @@ export class Connect extends ConnectClient { } } + /** + *Initiates real-time message streaming for a new chat contact.
+ *For more information about message streaming, see Enable real-time chat message + * streaming in the Amazon Connect Administrator Guide.
+ */ + public startContactStreaming( + args: StartContactStreamingCommandInput, + options?: __HttpHandlerOptions + ): PromisePlaces an outbound call to a contact, and then initiates the contact flow. It performs the
* actions in the contact flow that's specified (in ContactFlowId
).
Ends message streaming on a specified contact. To restart message streaming on that + * contact, call the StartContactStreaming + * API.
+ */ + public stopContactStreaming( + args: StopContactStreamingCommandInput, + options?: __HttpHandlerOptions + ): PromiseWhen a contact is being recorded, this API suspends recording the call. For example, you * might suspend the call recording while collecting sensitive information, such as a credit card @@ -3934,6 +4170,39 @@ export class Connect extends ConnectClient { } } + /** + *
This API is in preview release for Amazon Connect and is subject to change.
+ *Updates a security profile.
+ */ + public updateSecurityProfile( + args: UpdateSecurityProfileCommandInput, + options?: __HttpHandlerOptions + ): PromiseAssigns the specified hierarchy group to the specified user.
*/ diff --git a/clients/client-connect/src/ConnectClient.ts b/clients/client-connect/src/ConnectClient.ts index 26ac34e7d3d5..ea94233daf79 100644 --- a/clients/client-connect/src/ConnectClient.ts +++ b/clients/client-connect/src/ConnectClient.ts @@ -92,6 +92,10 @@ import { CreateRoutingProfileCommandInput, CreateRoutingProfileCommandOutput, } from "./commands/CreateRoutingProfileCommand"; +import { + CreateSecurityProfileCommandInput, + CreateSecurityProfileCommandOutput, +} from "./commands/CreateSecurityProfileCommand"; import { CreateUseCaseCommandInput, CreateUseCaseCommandOutput } from "./commands/CreateUseCaseCommand"; import { CreateUserCommandInput, CreateUserCommandOutput } from "./commands/CreateUserCommand"; import { @@ -108,6 +112,10 @@ import { DeleteIntegrationAssociationCommandOutput, } from "./commands/DeleteIntegrationAssociationCommand"; import { DeleteQuickConnectCommandInput, DeleteQuickConnectCommandOutput } from "./commands/DeleteQuickConnectCommand"; +import { + DeleteSecurityProfileCommandInput, + DeleteSecurityProfileCommandOutput, +} from "./commands/DeleteSecurityProfileCommand"; import { DeleteUseCaseCommandInput, DeleteUseCaseCommandOutput } from "./commands/DeleteUseCaseCommand"; import { DeleteUserCommandInput, DeleteUserCommandOutput } from "./commands/DeleteUserCommand"; import { @@ -144,6 +152,10 @@ import { DescribeRoutingProfileCommandInput, DescribeRoutingProfileCommandOutput, } from "./commands/DescribeRoutingProfileCommand"; +import { + DescribeSecurityProfileCommandInput, + DescribeSecurityProfileCommandOutput, +} from "./commands/DescribeSecurityProfileCommand"; import { DescribeUserCommandInput, DescribeUserCommandOutput } from "./commands/DescribeUserCommand"; import { DescribeUserHierarchyGroupCommandInput, @@ -235,6 +247,10 @@ import { ListRoutingProfilesCommandOutput, } from "./commands/ListRoutingProfilesCommand"; import { ListSecurityKeysCommandInput, ListSecurityKeysCommandOutput } from "./commands/ListSecurityKeysCommand"; +import { + ListSecurityProfilePermissionsCommandInput, + ListSecurityProfilePermissionsCommandOutput, +} from "./commands/ListSecurityProfilePermissionsCommand"; import { ListSecurityProfilesCommandInput, ListSecurityProfilesCommandOutput, @@ -258,6 +274,10 @@ import { StartContactRecordingCommandInput, StartContactRecordingCommandOutput, } from "./commands/StartContactRecordingCommand"; +import { + StartContactStreamingCommandInput, + StartContactStreamingCommandOutput, +} from "./commands/StartContactStreamingCommand"; import { StartOutboundVoiceContactCommandInput, StartOutboundVoiceContactCommandOutput, @@ -268,6 +288,10 @@ import { StopContactRecordingCommandInput, StopContactRecordingCommandOutput, } from "./commands/StopContactRecordingCommand"; +import { + StopContactStreamingCommandInput, + StopContactStreamingCommandOutput, +} from "./commands/StopContactStreamingCommand"; import { SuspendContactRecordingCommandInput, SuspendContactRecordingCommandOutput, @@ -337,6 +361,10 @@ import { UpdateRoutingProfileQueuesCommandInput, UpdateRoutingProfileQueuesCommandOutput, } from "./commands/UpdateRoutingProfileQueuesCommand"; +import { + UpdateSecurityProfileCommandInput, + UpdateSecurityProfileCommandOutput, +} from "./commands/UpdateSecurityProfileCommand"; import { UpdateUserHierarchyCommandInput, UpdateUserHierarchyCommandOutput, @@ -384,6 +412,7 @@ export type ServiceInputTypes = | CreateQueueCommandInput | CreateQuickConnectCommandInput | CreateRoutingProfileCommandInput + | CreateSecurityProfileCommandInput | CreateUseCaseCommandInput | CreateUserCommandInput | CreateUserHierarchyGroupCommandInput @@ -391,6 +420,7 @@ export type ServiceInputTypes = | DeleteInstanceCommandInput | DeleteIntegrationAssociationCommandInput | DeleteQuickConnectCommandInput + | DeleteSecurityProfileCommandInput | DeleteUseCaseCommandInput | DeleteUserCommandInput | DeleteUserHierarchyGroupCommandInput @@ -403,6 +433,7 @@ export type ServiceInputTypes = | DescribeQueueCommandInput | DescribeQuickConnectCommandInput | DescribeRoutingProfileCommandInput + | DescribeSecurityProfileCommandInput | DescribeUserCommandInput | DescribeUserHierarchyGroupCommandInput | DescribeUserHierarchyStructureCommandInput @@ -437,6 +468,7 @@ export type ServiceInputTypes = | ListRoutingProfileQueuesCommandInput | ListRoutingProfilesCommandInput | ListSecurityKeysCommandInput + | ListSecurityProfilePermissionsCommandInput | ListSecurityProfilesCommandInput | ListTagsForResourceCommandInput | ListUseCasesCommandInput @@ -445,10 +477,12 @@ export type ServiceInputTypes = | ResumeContactRecordingCommandInput | StartChatContactCommandInput | StartContactRecordingCommandInput + | StartContactStreamingCommandInput | StartOutboundVoiceContactCommandInput | StartTaskContactCommandInput | StopContactCommandInput | StopContactRecordingCommandInput + | StopContactStreamingCommandInput | SuspendContactRecordingCommandInput | TagResourceCommandInput | UntagResourceCommandInput @@ -470,6 +504,7 @@ export type ServiceInputTypes = | UpdateRoutingProfileDefaultOutboundQueueCommandInput | UpdateRoutingProfileNameCommandInput | UpdateRoutingProfileQueuesCommandInput + | UpdateSecurityProfileCommandInput | UpdateUserHierarchyCommandInput | UpdateUserHierarchyGroupNameCommandInput | UpdateUserHierarchyStructureCommandInput @@ -495,6 +530,7 @@ export type ServiceOutputTypes = | CreateQueueCommandOutput | CreateQuickConnectCommandOutput | CreateRoutingProfileCommandOutput + | CreateSecurityProfileCommandOutput | CreateUseCaseCommandOutput | CreateUserCommandOutput | CreateUserHierarchyGroupCommandOutput @@ -502,6 +538,7 @@ export type ServiceOutputTypes = | DeleteInstanceCommandOutput | DeleteIntegrationAssociationCommandOutput | DeleteQuickConnectCommandOutput + | DeleteSecurityProfileCommandOutput | DeleteUseCaseCommandOutput | DeleteUserCommandOutput | DeleteUserHierarchyGroupCommandOutput @@ -514,6 +551,7 @@ export type ServiceOutputTypes = | DescribeQueueCommandOutput | DescribeQuickConnectCommandOutput | DescribeRoutingProfileCommandOutput + | DescribeSecurityProfileCommandOutput | DescribeUserCommandOutput | DescribeUserHierarchyGroupCommandOutput | DescribeUserHierarchyStructureCommandOutput @@ -548,6 +586,7 @@ export type ServiceOutputTypes = | ListRoutingProfileQueuesCommandOutput | ListRoutingProfilesCommandOutput | ListSecurityKeysCommandOutput + | ListSecurityProfilePermissionsCommandOutput | ListSecurityProfilesCommandOutput | ListTagsForResourceCommandOutput | ListUseCasesCommandOutput @@ -556,10 +595,12 @@ export type ServiceOutputTypes = | ResumeContactRecordingCommandOutput | StartChatContactCommandOutput | StartContactRecordingCommandOutput + | StartContactStreamingCommandOutput | StartOutboundVoiceContactCommandOutput | StartTaskContactCommandOutput | StopContactCommandOutput | StopContactRecordingCommandOutput + | StopContactStreamingCommandOutput | SuspendContactRecordingCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput @@ -581,6 +622,7 @@ export type ServiceOutputTypes = | UpdateRoutingProfileDefaultOutboundQueueCommandOutput | UpdateRoutingProfileNameCommandOutput | UpdateRoutingProfileQueuesCommandOutput + | UpdateSecurityProfileCommandOutput | UpdateUserHierarchyCommandOutput | UpdateUserHierarchyGroupNameCommandOutput | UpdateUserHierarchyStructureCommandOutput @@ -748,7 +790,7 @@ export interface ConnectClientResolvedConfig extends ConnectClientResolvedConfig * Service Quotas in the Amazon Connect Administrator Guide. *You can * connect - * programmatically to an AWS service by using an endpoint. For a list of Amazon Connect endpoints, see + * programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see * Amazon Connect * Endpoints.
*Creates an AWS resource association with an Amazon Connect instance.
+ *Creates an Amazon Web Services resource association with an Amazon Connect instance.
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts b/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts new file mode 100644 index 000000000000..385773437c5f --- /dev/null +++ b/clients/client-connect/src/commands/CreateSecurityProfileCommand.ts @@ -0,0 +1,96 @@ +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 { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { CreateSecurityProfileRequest, CreateSecurityProfileResponse } from "../models/models_0"; +import { + deserializeAws_restJson1CreateSecurityProfileCommand, + serializeAws_restJson1CreateSecurityProfileCommand, +} from "../protocols/Aws_restJson1"; + +export interface CreateSecurityProfileCommandInput extends CreateSecurityProfileRequest {} +export interface CreateSecurityProfileCommandOutput extends CreateSecurityProfileResponse, __MetadataBearer {} + +/** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Creates a security profile.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, CreateSecurityProfileCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, CreateSecurityProfileCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new CreateSecurityProfileCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateSecurityProfileCommandInput} for command's `input` shape. + * @see {@link CreateSecurityProfileCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateSecurityProfileCommand extends $Command< + CreateSecurityProfileCommandInput, + CreateSecurityProfileCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateSecurityProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackDeletes an AWS resource association from an Amazon Connect instance. The association must not have + *
Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have * any use cases associated with it.
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-connect/src/commands/DeleteSecurityProfileCommand.ts b/clients/client-connect/src/commands/DeleteSecurityProfileCommand.ts new file mode 100644 index 000000000000..f0469ff08718 --- /dev/null +++ b/clients/client-connect/src/commands/DeleteSecurityProfileCommand.ts @@ -0,0 +1,96 @@ +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 { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { DeleteSecurityProfileRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteSecurityProfileCommand, + serializeAws_restJson1DeleteSecurityProfileCommand, +} from "../protocols/Aws_restJson1"; + +export interface DeleteSecurityProfileCommandInput extends DeleteSecurityProfileRequest {} +export interface DeleteSecurityProfileCommandOutput extends __MetadataBearer {} + +/** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Deletes a security profile.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DeleteSecurityProfileCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DeleteSecurityProfileCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new DeleteSecurityProfileCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteSecurityProfileCommandInput} for command's `input` shape. + * @see {@link DeleteSecurityProfileCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteSecurityProfileCommand extends $Command< + DeleteSecurityProfileCommandInput, + DeleteSecurityProfileCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteSecurityProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackThis API is in preview release for Amazon Connect and is subject to change.
+ *Gets basic information about the security profle.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, DescribeSecurityProfileCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, DescribeSecurityProfileCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new DescribeSecurityProfileCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeSecurityProfileCommandInput} for command's `input` shape. + * @see {@link DescribeSecurityProfileCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeSecurityProfileCommand extends $Command< + DescribeSecurityProfileCommandInput, + DescribeSecurityProfileCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeSecurityProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackProvides summary information about the AWS resource associations for the specified Amazon Connect + *
Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect * instance.
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts b/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts new file mode 100644 index 000000000000..9ff6bf55e8c2 --- /dev/null +++ b/clients/client-connect/src/commands/ListSecurityProfilePermissionsCommand.ts @@ -0,0 +1,104 @@ +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 { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { ListSecurityProfilePermissionsRequest, ListSecurityProfilePermissionsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListSecurityProfilePermissionsCommand, + serializeAws_restJson1ListSecurityProfilePermissionsCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListSecurityProfilePermissionsCommandInput extends ListSecurityProfilePermissionsRequest {} +export interface ListSecurityProfilePermissionsCommandOutput + extends ListSecurityProfilePermissionsResponse, + __MetadataBearer {} + +/** + *This API is in preview release for Amazon Connect and is subject to change.
+ *Lists the permissions granted to a security profile.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, ListSecurityProfilePermissionsCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, ListSecurityProfilePermissionsCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new ListSecurityProfilePermissionsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListSecurityProfilePermissionsCommandInput} for command's `input` shape. + * @see {@link ListSecurityProfilePermissionsCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListSecurityProfilePermissionsCommand extends $Command< + ListSecurityProfilePermissionsCommandInput, + ListSecurityProfilePermissionsCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListSecurityProfilePermissionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackProvides summary information about the security profiles for the specified Amazon Connect + *
This API is in preview release for Amazon Connect and is subject to change.
+ *Provides summary information about the security profiles for the specified Amazon Connect * instance.
*For more information about security profiles, see Security Profiles in the * Amazon Connect Administrator Guide.
diff --git a/clients/client-connect/src/commands/StartContactStreamingCommand.ts b/clients/client-connect/src/commands/StartContactStreamingCommand.ts new file mode 100644 index 000000000000..e82ffe87c08d --- /dev/null +++ b/clients/client-connect/src/commands/StartContactStreamingCommand.ts @@ -0,0 +1,97 @@ +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 { ConnectClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ConnectClient"; +import { StartContactStreamingRequest, StartContactStreamingResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StartContactStreamingCommand, + serializeAws_restJson1StartContactStreamingCommand, +} from "../protocols/Aws_restJson1"; + +export interface StartContactStreamingCommandInput extends StartContactStreamingRequest {} +export interface StartContactStreamingCommandOutput extends StartContactStreamingResponse, __MetadataBearer {} + +/** + *Initiates real-time message streaming for a new chat contact.
+ *For more information about message streaming, see Enable real-time chat message + * streaming in the Amazon Connect Administrator Guide.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, StartContactStreamingCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, StartContactStreamingCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new StartContactStreamingCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartContactStreamingCommandInput} for command's `input` shape. + * @see {@link StartContactStreamingCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class StartContactStreamingCommand extends $Command< + StartContactStreamingCommandInput, + StartContactStreamingCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartContactStreamingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackEnds message streaming on a specified contact. To restart message streaming on that + * contact, call the StartContactStreaming + * API.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, StopContactStreamingCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, StopContactStreamingCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new StopContactStreamingCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StopContactStreamingCommandInput} for command's `input` shape. + * @see {@link StopContactStreamingCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class StopContactStreamingCommand extends $Command< + StopContactStreamingCommandInput, + StopContactStreamingCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StopContactStreamingCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackThis API is in preview release for Amazon Connect and is subject to change.
+ *Updates a security profile.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ConnectClient, UpdateSecurityProfileCommand } from "@aws-sdk/client-connect"; // ES Modules import + * // const { ConnectClient, UpdateSecurityProfileCommand } = require("@aws-sdk/client-connect"); // CommonJS import + * const client = new ConnectClient(config); + * const command = new UpdateSecurityProfileCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateSecurityProfileCommandInput} for command's `input` shape. + * @see {@link UpdateSecurityProfileCommandOutput} for command's `response` shape. + * @see {@link ConnectClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateSecurityProfileCommand extends $Command< + UpdateSecurityProfileCommandInput, + UpdateSecurityProfileCommandOutput, + ConnectClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateSecurityProfileCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStackYou do not have sufficient access to perform this action.
+ */ +export interface AccessDeniedException extends __SmithyException, $MetadataBearer { + name: "AccessDeniedException"; + $fault: "client"; + Message?: string; +} + +export namespace AccessDeniedException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AccessDeniedException): any => ({ + ...obj, + }); +} + export enum AgentStatusState { DISABLED = "DISABLED", ENABLED = "ENABLED", @@ -52,7 +70,7 @@ export interface AgentStatus { State?: AgentStatusState | string; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -805,7 +823,7 @@ export interface CreateAgentStatusRequest { DisplayOrder?: number; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -1063,7 +1081,7 @@ export interface CreateHoursOfOperationRequest { Config: HoursOfOperationConfig[] | undefined; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -1212,7 +1230,7 @@ export interface CreateIntegrationAssociationRequest { SourceType?: SourceType | string; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -1313,7 +1331,7 @@ export interface CreateQueueRequest { QuickConnectIds?: string[]; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -1480,7 +1498,7 @@ export interface CreateQuickConnectRequest { QuickConnectConfig: QuickConnectConfig | undefined; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -1613,6 +1631,63 @@ export namespace CreateRoutingProfileResponse { }); } +export interface CreateSecurityProfileRequest { + /** + *The name of the security profile.
+ */ + SecurityProfileName: string | undefined; + + /** + *The description of the security profile.
+ */ + Description?: string; + + /** + *Permissions assigned to the security profile.
+ */ + Permissions?: string[]; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; + + /** + *The tags used to organize, track, or control access for this resource.
+ */ + Tags?: { [key: string]: string }; +} + +export namespace CreateSecurityProfileRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateSecurityProfileRequest): any => ({ + ...obj, + }); +} + +export interface CreateSecurityProfileResponse { + /** + *The identifier for the security profle.
+ */ + SecurityProfileId?: string; + + /** + *The Amazon Resource Name (ARN) for the security profile.
+ */ + SecurityProfileArn?: string; +} + +export namespace CreateSecurityProfileResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateSecurityProfileResponse): any => ({ + ...obj, + }); +} + export enum UseCaseType { CONNECT_CAMPAIGNS = "CONNECT_CAMPAIGNS", RULES_EVALUATION = "RULES_EVALUATION", @@ -1636,7 +1711,7 @@ export interface CreateUseCaseRequest { UseCaseType: UseCaseType | string | undefined; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -1960,6 +2035,64 @@ export namespace DeleteQuickConnectRequest { }); } +export interface DeleteSecurityProfileRequest { + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; + + /** + *The identifier for the security profle.
+ */ + SecurityProfileId: string | undefined; +} + +export namespace DeleteSecurityProfileRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteSecurityProfileRequest): any => ({ + ...obj, + }); +} + +export enum ResourceType { + CONTACT = "CONTACT", + CONTACT_FLOW = "CONTACT_FLOW", + HIERARCHY_GROUP = "HIERARCHY_GROUP", + HIERARCHY_LEVEL = "HIERARCHY_LEVEL", + INSTANCE = "INSTANCE", + PARTICIPANT = "PARTICIPANT", + USER = "USER", +} + +/** + *That resource is already in use. Please try another.
+ */ +export interface ResourceInUseException extends __SmithyException, $MetadataBearer { + name: "ResourceInUseException"; + $fault: "client"; + Message?: string; + /** + *The type of resource.
+ */ + ResourceType?: ResourceType | string; + + /** + *The identifier for the resource.
+ */ + ResourceId?: string; +} + +export namespace ResourceInUseException { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResourceInUseException): any => ({ + ...obj, + }); +} + export interface DeleteUseCaseRequest { /** *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
@@ -2028,43 +2161,6 @@ export namespace DeleteUserHierarchyGroupRequest { }); } -export enum ResourceType { - CONTACT = "CONTACT", - CONTACT_FLOW = "CONTACT_FLOW", - HIERARCHY_GROUP = "HIERARCHY_GROUP", - HIERARCHY_LEVEL = "HIERARCHY_LEVEL", - INSTANCE = "INSTANCE", - PARTICIPANT = "PARTICIPANT", - USER = "USER", -} - -/** - *That resource is already in use. Please try another.
- */ -export interface ResourceInUseException extends __SmithyException, $MetadataBearer { - name: "ResourceInUseException"; - $fault: "client"; - Message?: string; - /** - *The type of resource.
- */ - ResourceType?: ResourceType | string; - - /** - *The identifier for the resource.
- */ - ResourceId?: string; -} - -export namespace ResourceInUseException { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ResourceInUseException): any => ({ - ...obj, - }); -} - export interface DescribeAgentStatusRequest { /** *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
@@ -2263,7 +2359,7 @@ export interface HoursOfOperation { Config?: HoursOfOperationConfig[]; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -2604,7 +2700,7 @@ export interface Queue { Status?: QueueStatus | string; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -2685,7 +2781,7 @@ export interface QuickConnect { QuickConnectConfig?: QuickConnectConfig; /** - *One or more tags.
+ *The tags used to organize, track, or control access for this resource.
*/ Tags?: { [key: string]: string }; } @@ -2807,6 +2903,87 @@ export namespace DescribeRoutingProfileResponse { }); } +export interface DescribeSecurityProfileRequest { + /** + *The identifier for the security profle.
+ */ + SecurityProfileId: string | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; +} + +export namespace DescribeSecurityProfileRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSecurityProfileRequest): any => ({ + ...obj, + }); +} + +/** + *Contains information about a security profile.
+ */ +export interface SecurityProfile { + /** + *The identifier for the security profile.
+ */ + Id?: string; + + /** + *The organization resource identifier for the security profile.
+ */ + OrganizationResourceId?: string; + + /** + *The Amazon Resource Name (ARN) for the secruity profile.
+ */ + Arn?: string; + + /** + *The name for the security profile.
+ */ + SecurityProfileName?: string; + + /** + *The description of the security profile.
+ */ + Description?: string; + + /** + *The tags used to organize, track, or control access for this resource.
+ */ + Tags?: { [key: string]: string }; +} + +export namespace SecurityProfile { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityProfile): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityProfileResponse { + /** + *The security profile.
+ */ + SecurityProfile?: SecurityProfile; +} + +export namespace DescribeSecurityProfileResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSecurityProfileResponse): any => ({ + ...obj, + }); +} + export interface DescribeUserRequest { /** *The identifier of the user account.
@@ -4757,7 +4934,7 @@ export interface ListIntegrationAssociationsRequest { InstanceId: string | undefined; /** - * + *The type of integration.
*/ IntegrationType?: IntegrationType | string; @@ -4886,7 +5063,7 @@ export namespace ListLambdaFunctionsRequest { export interface ListLambdaFunctionsResponse { /** - *The Lambdafunction ARNs associated with the specified instance.
+ *The Lambda function ARNs associated with the specified instance.
*/ LambdaFunctions?: string[]; @@ -5861,6 +6038,59 @@ export namespace ListSecurityKeysResponse { }); } +export interface ListSecurityProfilePermissionsRequest { + /** + *The identifier for the security profle.
+ */ + SecurityProfileId: string | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; + + /** + *The token for the next set of results. Use the value returned in the previous + * response in the next request to retrieve the next set of results.
+ */ + NextToken?: string; + + /** + *The maximum number of results to return per page.
+ */ + MaxResults?: number; +} + +export namespace ListSecurityProfilePermissionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListSecurityProfilePermissionsRequest): any => ({ + ...obj, + }); +} + +export interface ListSecurityProfilePermissionsResponse { + /** + *The permissions granted to the security profile.
+ */ + Permissions?: string[]; + + /** + *If there are additional results, this is the token for the next set of results.
+ */ + NextToken?: string; +} + +export namespace ListSecurityProfilePermissionsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListSecurityProfilePermissionsResponse): any => ({ + ...obj, + }); +} + export interface ListSecurityProfilesRequest { /** *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
@@ -6412,6 +6642,75 @@ export namespace StartContactRecordingResponse { }); } +/** + *The streaming configuration, such as the Amazon SNS streaming endpoint.
+ */ +export interface ChatStreamingConfiguration { + /** + *The Amazon Resource Name (ARN) of the standard Amazon SNS topic. The Amazon Resource Name (ARN) of the streaming endpoint that is used + * to publish real-time message streaming for chat conversations.
+ */ + StreamingEndpointArn: string | undefined; +} + +export namespace ChatStreamingConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ChatStreamingConfiguration): any => ({ + ...obj, + }); +} + +export interface StartContactStreamingRequest { + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; + + /** + *The identifier of the contact. This is the identifier of the contact associated with the + * first interaction with the contact center.
+ */ + ContactId: string | undefined; + + /** + *The streaming configuration, such as the Amazon SNS streaming endpoint.
+ */ + ChatStreamingConfiguration: ChatStreamingConfiguration | undefined; + + /** + *A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.
+ */ + ClientToken?: string; +} + +export namespace StartContactStreamingRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartContactStreamingRequest): any => ({ + ...obj, + }); +} + +export interface StartContactStreamingResponse { + /** + *The identifier of the streaming configuration enabled.
+ */ + StreamingId: string | undefined; +} + +export namespace StartContactStreamingResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartContactStreamingResponse): any => ({ + ...obj, + }); +} + /** *Outbound calls to the destination number are not allowed.
*/ @@ -6781,6 +7080,44 @@ export namespace StopContactRecordingResponse { }); } +export interface StopContactStreamingRequest { + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; + + /** + *The identifier of the contact. This is the identifier of the contact that is associated with + * the first interaction with the contact center.
+ */ + ContactId: string | undefined; + + /** + *The identifier of the streaming configuration enabled.
+ */ + StreamingId: string | undefined; +} + +export namespace StopContactStreamingRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopContactStreamingRequest): any => ({ + ...obj, + }); +} + +export interface StopContactStreamingResponse {} + +export namespace StopContactStreamingResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopContactStreamingResponse): any => ({ + ...obj, + }); +} + export interface SuspendContactRecordingRequest { /** *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
@@ -7057,7 +7394,7 @@ export interface UpdateInstanceAttributeRequest { /** *The type of attribute.
*Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact AWS Support for allowlisting.
+ *Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web Services Support for allowlisting.
*The description of the security profile.
+ */ + Description?: string; + + /** + *The permissions granted to a security profile.
+ */ + Permissions?: string[]; + + /** + *The identifier for the security profle.
+ */ + SecurityProfileId: string | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; +} + +export namespace UpdateSecurityProfileRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateSecurityProfileRequest): any => ({ + ...obj, + }); +} + export interface UpdateUserHierarchyRequest { /** *The identifier of the hierarchy group.
@@ -7569,81 +7937,3 @@ export namespace UpdateUserIdentityInfoRequest { ...obj, }); } - -export interface UpdateUserPhoneConfigRequest { - /** - *Information about phone configuration settings for the user.
- */ - PhoneConfig: UserPhoneConfig | undefined; - - /** - *The identifier of the user account.
- */ - UserId: string | undefined; - - /** - *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
- */ - InstanceId: string | undefined; -} - -export namespace UpdateUserPhoneConfigRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserPhoneConfigRequest): any => ({ - ...obj, - }); -} - -export interface UpdateUserRoutingProfileRequest { - /** - *The identifier of the routing profile for the user.
- */ - RoutingProfileId: string | undefined; - - /** - *The identifier of the user account.
- */ - UserId: string | undefined; - - /** - *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
- */ - InstanceId: string | undefined; -} - -export namespace UpdateUserRoutingProfileRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserRoutingProfileRequest): any => ({ - ...obj, - }); -} - -export interface UpdateUserSecurityProfilesRequest { - /** - *The identifiers of the security profiles for the user.
- */ - SecurityProfileIds: string[] | undefined; - - /** - *The identifier of the user account.
- */ - UserId: string | undefined; - - /** - *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
- */ - InstanceId: string | undefined; -} - -export namespace UpdateUserSecurityProfilesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateUserSecurityProfilesRequest): any => ({ - ...obj, - }); -} diff --git a/clients/client-connect/src/models/models_1.ts b/clients/client-connect/src/models/models_1.ts new file mode 100644 index 000000000000..86a3d5522d3c --- /dev/null +++ b/clients/client-connect/src/models/models_1.ts @@ -0,0 +1,79 @@ +import { UserPhoneConfig } from "./models_0"; + +export interface UpdateUserPhoneConfigRequest { + /** + *Information about phone configuration settings for the user.
+ */ + PhoneConfig: UserPhoneConfig | undefined; + + /** + *The identifier of the user account.
+ */ + UserId: string | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; +} + +export namespace UpdateUserPhoneConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserPhoneConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateUserRoutingProfileRequest { + /** + *The identifier of the routing profile for the user.
+ */ + RoutingProfileId: string | undefined; + + /** + *The identifier of the user account.
+ */ + UserId: string | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; +} + +export namespace UpdateUserRoutingProfileRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserRoutingProfileRequest): any => ({ + ...obj, + }); +} + +export interface UpdateUserSecurityProfilesRequest { + /** + *The identifiers of the security profiles for the user.
+ */ + SecurityProfileIds: string[] | undefined; + + /** + *The identifier of the user account.
+ */ + UserId: string | undefined; + + /** + *The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.
+ */ + InstanceId: string | undefined; +} + +export namespace UpdateUserSecurityProfilesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateUserSecurityProfilesRequest): any => ({ + ...obj, + }); +} diff --git a/clients/client-connect/src/pagination/ListSecurityProfilePermissionsPaginator.ts b/clients/client-connect/src/pagination/ListSecurityProfilePermissionsPaginator.ts new file mode 100644 index 000000000000..612959e6c1e9 --- /dev/null +++ b/clients/client-connect/src/pagination/ListSecurityProfilePermissionsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListSecurityProfilePermissionsCommand, + ListSecurityProfilePermissionsCommandInput, + ListSecurityProfilePermissionsCommandOutput, +} from "../commands/ListSecurityProfilePermissionsCommand"; +import { Connect } from "../Connect"; +import { ConnectClient } from "../ConnectClient"; +import { ConnectPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: ConnectClient, + input: ListSecurityProfilePermissionsCommandInput, + ...args: any +): Promise